From 35d2c5f3e359bc016268db0342d122fb7c2d8a45 Mon Sep 17 00:00:00 2001 From: Alexandra Date: Tue, 27 May 2025 20:12:30 -0600 Subject: [PATCH] update translations make new/old pages based on url parameter so that link sharing is consistent --- config/locales/ar.json | 3 ++- config/locales/bn.json | 3 ++- config/locales/de.json | 3 ++- config/locales/en.json | 3 ++- config/locales/es.json | 5 +++-- config/locales/hi.json | 3 ++- config/locales/it.json | 3 ++- config/locales/pl.json | 3 ++- config/locales/ru.json | 3 ++- config/locales/tr.json | 3 ++- server.js | 5 +++-- views/pages/index.ejs | 9 +++++++++ views/pages/info.ejs | 2 +- views/pages/resultsold.ejs | 2 +- views/pages/search.ejs | 1 + views/pages/settings.ejs | 3 --- views/partials/result.ejs | 2 +- views/public/js/navbar.js | 3 +++ views/public/js/settings.js | 3 --- 19 files changed, 40 insertions(+), 22 deletions(-) diff --git a/config/locales/ar.json b/config/locales/ar.json index b71ccba..44b8085 100644 --- a/config/locales/ar.json +++ b/config/locales/ar.json @@ -32,7 +32,7 @@ "published": "الناشر:", "developed": "المطور:", "modes": "أنماط اللعب:", - "download": "تحميل:", + "download": "تحميل", "filename": "اسم الملف:", "release_group": "مجموعة الإصدار:", "upload_date": "تاريخ الرفع:", @@ -129,6 +129,7 @@ "download": "تنزيل", "play": "تشغيل", "not_available": "----", + "not_available_tooltip": "المحاكاة عبر الويب غير متوفرة لهذا العنوان إما لأنه ليس لعبة أو لأن المنصة غير مدعومة.", "disclaimer": "يقوم هذا المحاكي بتحميل الألعاب مباشرة من {{link}}. تعرف على المزيد في صفحة {{about}}." }, "results": { diff --git a/config/locales/bn.json b/config/locales/bn.json index f23a564..fa98f31 100644 --- a/config/locales/bn.json +++ b/config/locales/bn.json @@ -32,7 +32,7 @@ "published": "প্রকাশক:", "developed": "ডেভেলপার:", "modes": "গেমপ্লে মোড:", - "download": "ডাউনলোড:", + "download": "ডাউনলোড", "filename": "ফাইলের নাম:", "release_group": "রিলিজ গ্রুপ:", "upload_date": "আপলোডের তারিখ:", @@ -129,6 +129,7 @@ "download": "ডাউনলোড", "play": "প্লে", "not_available": "----", + "not_available_tooltip": "এই টাইটেলের জন্য ওয়েব এমুলেশন উপলব্ধ নয় কারণ এটি হয় একটি গেম নয় অথবা প্ল্যাটফর্মটি সমর্থিত নয়।", "disclaimer": "এই এমুলেটর {{link}} থেকে সরাসরি গেম লোড করে। {{about}} পৃষ্ঠায় আরও জানুন।" }, "results": { diff --git a/config/locales/de.json b/config/locales/de.json index cf7eed1..838a966 100644 --- a/config/locales/de.json +++ b/config/locales/de.json @@ -32,7 +32,7 @@ "published": "Veröffentlicht von:", "developed": "Entwickelt von:", "modes": "Spielmodi:", - "download": "Herunterladen:", + "download": "Herunterladen", "filename": "Dateiname:", "release_group": "Release-Gruppe:", "upload_date": "Upload-Datum:", @@ -129,6 +129,7 @@ "download": "Herunterladen", "play": "Spielen", "not_available": "----", + "not_available_tooltip": "Web-Emulation ist für diesen Titel nicht verfügbar, da es sich entweder nicht um ein Spiel handelt oder die Plattform nicht unterstützt wird.", "disclaimer": "Dieser Emulator lädt Spiele direkt von {{link}}. Mehr dazu auf der {{about}}-Seite." }, "results": { diff --git a/config/locales/en.json b/config/locales/en.json index 82dd372..b58161e 100644 --- a/config/locales/en.json +++ b/config/locales/en.json @@ -32,7 +32,7 @@ "published": "Published by:", "developed": "Developed by:", "modes": "Gameplay modes:", - "download": "Download:", + "download": "Download", "filename": "Filename:", "release_group": "Release group:", "upload_date": "Upload date:", @@ -129,6 +129,7 @@ "download": "Download", "play": "Play", "not_available": "----", + "not_available_tooltip": "Web emulation is unavailable for this title as it's either not a game or the platform is unsupported.", "disclaimer": "This emulator loads games directly from {{link}}. Learn more on the {{about}} page." }, "results": { diff --git a/config/locales/es.json b/config/locales/es.json index 48f5e88..268476f 100644 --- a/config/locales/es.json +++ b/config/locales/es.json @@ -32,7 +32,7 @@ "published": "Publicado por:", "developed": "Desarrollado por:", "modes": "Modos de juego:", - "download": "Descargar:", + "download": "Descargar", "filename": "Nombre del archivo:", "release_group": "Grupo de lanzamiento:", "upload_date": "Fecha de subida:", @@ -129,7 +129,8 @@ "download": "Descargar", "play": "Jugar", "not_available": "----", - "disclaimer": "Este emulador carga juegos directamente desde {{link}}. Más información en la página de {{about}}." + "not_available_tooltip": "La emulación web no está disponible para este título ya que no es un juego o la plataforma no es compatible.", + "disclaimer": "Este emulador carga juegos directamente desde {{link}}. Más información en la página {{about}}." }, "results": { "table": { diff --git a/config/locales/hi.json b/config/locales/hi.json index 58bbc5f..333fbae 100644 --- a/config/locales/hi.json +++ b/config/locales/hi.json @@ -32,7 +32,7 @@ "published": "प्रकाशक:", "developed": "डेवलपर:", "modes": "गेमप्ले मोड:", - "download": "डाउनलोड:", + "download": "डाउनलोड", "filename": "फ़ाइल का नाम:", "release_group": "रिलीज़ ग्रुप:", "upload_date": "अपलोड की तारीख:", @@ -128,6 +128,7 @@ "recommended": "अनुशंसित एमुलेटर्स", "play": "खेलें", "not_available": "----", + "not_available_tooltip": "इस शीर्षक के लिए वेब एमुलेशन उपलब्ध नहीं है क्योंकि यह या तो एक गेम नहीं है या प्लेटफ़ॉर्म समर्थित नहीं है।", "disclaimer": "यह एमुलेटर {{link}} से सीधे गेम लोड करता है। {{about}} पृष्ठ पर अधिक जानें।" }, "results": { diff --git a/config/locales/it.json b/config/locales/it.json index 2e8f5bd..98dfc78 100644 --- a/config/locales/it.json +++ b/config/locales/it.json @@ -32,7 +32,7 @@ "published": "Pubblicato da:", "developed": "Sviluppato da:", "modes": "Modalità di gioco:", - "download": "Scarica:", + "download": "Scarica", "filename": "Nome file:", "release_group": "Gruppo di release:", "upload_date": "Data di caricamento:", @@ -129,6 +129,7 @@ "download": "Scarica", "play": "Gioca", "not_available": "----", + "not_available_tooltip": "L'emulazione web non è disponibile per questo titolo poiché non è un gioco o la piattaforma non è supportata.", "disclaimer": "Questo emulatore carica i giochi direttamente da {{link}}. Maggiori informazioni nella pagina {{about}}." }, "results": { diff --git a/config/locales/pl.json b/config/locales/pl.json index d94792d..1284ad7 100644 --- a/config/locales/pl.json +++ b/config/locales/pl.json @@ -32,7 +32,7 @@ "published": "Wydawca:", "developed": "Deweloper:", "modes": "Tryby gry:", - "download": "Pobierz:", + "download": "Pobierz", "filename": "Nazwa pliku:", "release_group": "Grupa wydania:", "upload_date": "Data przesłania:", @@ -128,6 +128,7 @@ "recommended": "Polecane emulatory", "play": "Graj", "not_available": "----", + "not_available_tooltip": "Emulacja internetowa nie jest dostępna dla tego tytułu, ponieważ nie jest to gra lub platforma nie jest obsługiwana.", "disclaimer": "Ten emulator ładuje gry bezpośrednio z {{link}}. Dowiedz się więcej na stronie {{about}}." }, "results": { diff --git a/config/locales/ru.json b/config/locales/ru.json index 8e807ab..330aac6 100644 --- a/config/locales/ru.json +++ b/config/locales/ru.json @@ -32,7 +32,7 @@ "published": "Издатель:", "developed": "Разработчик:", "modes": "Режимы игры:", - "download": "Скачать:", + "download": "Скачать", "filename": "Имя файла:", "release_group": "Релиз-группа:", "upload_date": "Дата загрузки:", @@ -128,6 +128,7 @@ "recommended": "Рекомендуемые эмуляторы", "play": "Играть", "not_available": "----", + "not_available_tooltip": "Веб-эмуляция недоступна для этого заголовка, так как это либо не игра, либо платформа не поддерживается.", "disclaimer": "Этот эмулятор загружает игры напрямую из {{link}}. Узнайте больше на странице {{about}}." }, "results": { diff --git a/config/locales/tr.json b/config/locales/tr.json index 8b40185..4f9a19f 100644 --- a/config/locales/tr.json +++ b/config/locales/tr.json @@ -32,7 +32,7 @@ "published": "Yayıncı:", "developed": "Geliştirici:", "modes": "Oyun modları:", - "download": "İndir:", + "download": "İndir", "filename": "Dosya adı:", "release_group": "Yayın grubu:", "upload_date": "Yükleme tarihi:", @@ -129,6 +129,7 @@ "download": "İndir", "play": "Oyna", "not_available": "----", + "not_available_tooltip": "Bu başlık için web emülasyonu kullanılamıyor çünkü ya bir oyun değil ya da platform desteklenmiyor.", "disclaimer": "Bu emülatör oyunları doğrudan {{link}} adresinden yükler. {{about}} sayfasında daha fazla bilgi edinin." }, "results": { diff --git a/server.js b/server.js index a8acf59..60f42a8 100644 --- a/server.js +++ b/server.js @@ -200,13 +200,14 @@ app.get("/search", async function (req, res) { if (settings.combineWith != "AND") { delete settings.combineWith; } + let loadOldResults = req.query.old === "true" ? true : false settings.pageSize = settings.useOldResults ? 100 : 10; settings.page = pageNum - 1; settings.sort = req.query.o || ""; let results = await search.findAllMatches(query, settings); debugPrint(results); let metas = []; - if (!settings.useOldResults) { + if (!loadOldResults) { metas = await metadataSearch.queueGetGamesMetadata(results.db); } if (results.count && pageNum == 1) { @@ -225,7 +226,7 @@ app.get("/search", async function (req, res) { urlPrefix: urlPrefix, settings: settings, }; - let page = settings.useOldResults ? "resultsold" : "results"; + let page = loadOldResults ? "resultsold" : "results"; options = buildOptions(page, options); res.render(indexPage, options); }); diff --git a/views/pages/index.ejs b/views/pages/index.ejs index 6120571..e282313 100644 --- a/views/pages/index.ejs +++ b/views/pages/index.ejs @@ -25,6 +25,15 @@ settingsElem.value = btoa(settingStore) } } + if(typeof settingStore == 'string' && window.location.href){ + oldResultElem = document.getElementById('oldResults') + if(oldResultElem){ + oldResultElem.value = JSON.parse(settingStore).useOldResults.toString() + } + } } + + + \ No newline at end of file diff --git a/views/pages/info.ejs b/views/pages/info.ejs index 5a55932..d8e3844 100644 --- a/views/pages/info.ejs +++ b/views/pages/info.ejs @@ -90,7 +90,7 @@ <% if (process.env.EMULATOR_ENABLED === 'true') { %> <% if (isEmulatorCompatible(file.category)) { %> <%= __('emulator.play')%> <% } else { %> - + <% } }%> diff --git a/views/pages/resultsold.ejs b/views/pages/resultsold.ejs index a436ef2..43c0de9 100644 --- a/views/pages/resultsold.ejs +++ b/views/pages/resultsold.ejs @@ -90,7 +90,7 @@ <% if (isEmulatorCompatible(results[x].category)) { %> <%= __('emulator.play') %> <% } else { %> - + <% } %> <% } %> diff --git a/views/pages/search.ejs b/views/pages/search.ejs index 227c3b8..e544eb3 100644 --- a/views/pages/search.ejs +++ b/views/pages/search.ejs @@ -7,6 +7,7 @@
+
    diff --git a/views/pages/settings.ejs b/views/pages/settings.ejs index 17959cf..37be852 100644 --- a/views/pages/settings.ejs +++ b/views/pages/settings.ejs @@ -1,6 +1,3 @@ - - -
    diff --git a/views/partials/result.ejs b/views/partials/result.ejs
    index ac17b6b..ba46e6d 100644
    --- a/views/partials/result.ejs
    +++ b/views/partials/result.ejs
    @@ -31,7 +31,7 @@
           <% if (process.env.EMULATOR_ENABLED === 'true') { %>
           <% if (isEmulatorCompatible(file.category)) { %>
           <%= __('emulator.play')%> <% } else { %>
    -      
    +      
           <% } 
         }%>
     
    diff --git a/views/public/js/navbar.js b/views/public/js/navbar.js
    index ff5ffdb..e9f1a99 100644
    --- a/views/public/js/navbar.js
    +++ b/views/public/js/navbar.js
    @@ -1,6 +1,9 @@
       $(document).ready(function() {
         // Make sure Bootstrap dropdown is properly initialized
         $('.dropdown-toggle').dropdown();
    +    $(function () {
    +      $('[data-toggle="tooltip"]').tooltip()
    +    })
       });
     
       const aTags = document.querySelectorAll('a')
    diff --git a/views/public/js/settings.js b/views/public/js/settings.js
    index 61ca2b8..871cedd 100644
    --- a/views/public/js/settings.js
    +++ b/views/public/js/settings.js
    @@ -58,9 +58,6 @@
       }
     
       function loadSettings(){
    -      $(function () {
    -        $('[data-toggle="tooltip"]').tooltip()
    -      })
         if(!settingStore) {
           settings = structuredClone(defaults)
           settingStore = JSON.stringify(settings)