From 502fc8b696f0466f3c892a4059e4571db151d157 Mon Sep 17 00:00:00 2001 From: Yash Sancheti <32770175+Onyx2406@users.noreply.github.com> Date: Sun, 10 Mar 2024 18:52:57 +0530 Subject: [PATCH 01/48] Add Vue I18n related dependencies for internationalization support --- ui/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/package.json b/ui/package.json index f0e1f8b..e1ee5a2 100644 --- a/ui/package.json +++ b/ui/package.json @@ -17,6 +17,7 @@ "moment": "^2.29.1", "sugar": "^2.0.6", "vue": "^2.6.12", + "vue-i18n": "^8.0.0", "vue-matomo": "^3.14.0-0", "vue-router": "^3.4.9", "vuex": "^3.5.1" From d3c9e011747a98543bf1a671c75eeee9c5b60675 Mon Sep 17 00:00:00 2001 From: Yash Sancheti <32770175+Onyx2406@users.noreply.github.com> Date: Sun, 10 Mar 2024 18:57:18 +0530 Subject: [PATCH 02/48] Update Vue components to support i18n --- ui/src/components/Faq.vue | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/ui/src/components/Faq.vue b/ui/src/components/Faq.vue index 1c22e97..7949e05 100644 --- a/ui/src/components/Faq.vue +++ b/ui/src/components/Faq.vue @@ -2,40 +2,44 @@
- The Zim file format stores website content for offline usage. It assembles the normal constituent of a website into a single archive, and compresses it so as to make it easier to save, share, and store. + :title="$t('faq.whatIsZim')" + :content="$t('faq.whatIsZimDesc')"> - You will need a Zim file reader. This usually means Kiwix, which is available on desktop computers, mobile devices, and more. Currently only Kiwix-serve and Kiwix-Android can read all Zimit-generated files. If using Kiwix-Desktop for Microsoft Windows and GNU/Linux, then you will need to configure it as a Kiwix-serve instance in the settings. We expect most platforms to be upgraded by the end of 2021. + :title="$t('faq.howToRead')" + :content="$t('faq.howToReadDesc')"> - Because of the very nature of this tool, we can’t leave it open for unlimited requests towards any website. That could be harmful both for our infrastructure, but also for the target websites. We currently enforce two limits: {{ human_size_limit }} file size and {{ human_time_limit }}. + :title="$t('faq.missingContent')" + :content="$t('faq.missingContentDesc', { human_size_limit: human_size_limit, human_time_limit: human_time_limit })"> - Triple-check the URL you entered, and if it is still not working then open a bug ticket on github. Indicate the target website, the request number (it’s in the email you received), and the device you tried to open your zim file on. + :title="$t('faq.gotError')" + :content="$t('faq.gotErrorDesc')">
From 586958eea6f66b617fec579445ae254c03d69110 Mon Sep 17 00:00:00 2001 From: Yash Sancheti <32770175+Onyx2406@users.noreply.github.com> Date: Sun, 10 Mar 2024 18:57:47 +0530 Subject: [PATCH 03/48] Update Vue components to support i18n --- ui/src/components/Loading.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/components/Loading.vue b/ui/src/components/Loading.vue index 5a82ccb..3c0790a 100644 --- a/ui/src/components/Loading.vue +++ b/ui/src/components/Loading.vue @@ -19,7 +19,7 @@ return this.$store.getters.loadingStatus.should_display; }, loading_text() { - return this.$store.getters.loadingStatus.text; + return this.$store.getters.loadingStatus.text || this.$t('loading.loading'); } } } From ca66949cbf4db944531d932c7de678d4d9757331 Mon Sep 17 00:00:00 2001 From: Yash Sancheti <32770175+Onyx2406@users.noreply.github.com> Date: Sun, 10 Mar 2024 18:58:02 +0530 Subject: [PATCH 04/48] Update Vue components to support i18n --- ui/src/components/NavBar.vue | 57 +++++++++++++++++++++++++++--------- 1 file changed, 43 insertions(+), 14 deletions(-) diff --git a/ui/src/components/NavBar.vue b/ui/src/components/NavBar.vue index 377592b..963d597 100644 --- a/ui/src/components/NavBar.vue +++ b/ui/src/components/NavBar.vue @@ -1,24 +1,53 @@ From 6f5ebb94beb1c2874399ae7a589625af92451a99 Mon Sep 17 00:00:00 2001 From: Yash Sancheti <32770175+Onyx2406@users.noreply.github.com> Date: Sun, 10 Mar 2024 18:58:22 +0530 Subject: [PATCH 05/48] Update Vue components to support i18n --- ui/src/components/NewRequest.vue | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/ui/src/components/NewRequest.vue b/ui/src/components/NewRequest.vue index e8199a5..966fbd2 100644 --- a/ui/src/components/NewRequest.vue +++ b/ui/src/components/NewRequest.vue @@ -1,13 +1,13 @@ @@ -35,11 +43,13 @@ export default { components: { FaqEntry }, computed: { human_size_limit() { - return `${parseInt(Constants.zimit_size_limit / 1073741824)} GiB`; + const sizeInGiB = parseInt(Constants.zimit_size_limit / 1073741824); + return this.$t('units.sizeLimit', { value: sizeInGiB }); }, human_time_limit() { - return `${parseInt(Constants.zimit_time_limit / 3600)} hours`; + const timeInHours = parseInt(Constants.zimit_time_limit / 3600); + return this.$t('units.timeLimit', { value: timeInHours }); }, } } - + \ No newline at end of file diff --git a/ui/src/locales/en.json b/ui/src/locales/en.json index 228e799..2cbda4e 100644 --- a/ui/src/locales/en.json +++ b/ui/src/locales/en.json @@ -5,10 +5,14 @@ "howToRead": "How do I read my Zim files?", "howToReadDesc": "You will need a Zim file reader. This usually means Kiwix, which is available on desktop computers, mobile devices, and more. Currently only Kiwix-serve and Kiwix-Android can read all Zimit-generated files. If using Kiwix-Desktop for Microsoft Windows and GNU/Linux, then you will need to configure it as a Kiwix-serve instance in the settings. We expect most platforms to be upgraded by the end of 2021.", "missingContent": "The Zim file is incomplete or smaller than the original website", - "missingContentDesc": "Because of the very nature of this tool, we can’t leave it open for unlimited requests towards any website. That could be harmful both for our infrastructure, but also for the target websites. We currently enforce two limits: file size and time.", + "missingContentDesc": "Because of the very nature of this tool, we can’t leave it open for unlimited requests towards any website. That could be harmful both for our infrastructure, but also for the target websites. We currently enforce two limits: {human_size_limit} file size and {human_time_limit}.", "gotError": "I got an error message (no zim) or could not read a zim file", "gotErrorDesc": "Triple-check the URL you entered, and if it is still not working then open a bug ticket on github. Indicate the target website, the request number (it’s in the email you received), and the device you tried to open your zim file on." }, + "units": { + "sizeLimit": "{value} GiB", + "timeLimit": "{value} hours" + }, "app": { "poweredByKiwix": "Powered by", "kiwix": "Kiwix", diff --git a/ui/src/locales/far.json b/ui/src/locales/far.json index 3ea0a87..a8f45a2 100644 --- a/ui/src/locales/far.json +++ b/ui/src/locales/far.json @@ -5,10 +5,14 @@ "howToRead": "چگونه فایل‌های زیم خود را بخوانم؟", "howToReadDesc": "شما به یک خواننده فایل زیم نیاز دارید. این معمولا به معنای Kiwix است که بر روی رایانه‌های رومیزی، دستگاه‌های تلفن همراه و غیره قابل دسترسی است. در حال حاضر فقط Kiwix-serve و Kiwix-Android می‌توانند تمامی فایل‌های تولید شده توسط Zimit را بخوانند. اگر از Kiwix-Desktop برای Microsoft Windows و GNU/Linux استفاده می‌کنید، آنگاه باید آن را به عنوان یک نمونه Kiwix-serve در تنظیمات پیکربندی کنید. ما انتظار داریم تا پایان سال 2021 بیشتر پلتفرم‌ها ارتقاء یابند.", "missingContent": "فایل زیم ناقص یا کوچکتر از وب‌سایت اصلی است", - "missingContentDesc": "به دلیل طبیعت این ابزار، نمی‌توانیم آن را برای درخواست‌های نامحدود به هر وب‌سایتی باز گذاریم. این می‌تواند هم برای زیرساخت ما مضر باشد و هم برای وب‌سایت‌های هدف. در حال حاضر دو محدودیت را اعمال می‌کنیم: اندازه فایل و زمان.", + "missingContentDesc": "به دلیل طبیعت خاص این ابزار، نمی‌توانیم آن را برای درخواست‌های نامحدود از هر وب‌سایتی باز بگذاریم. این امر می‌تواند هم برای زیرساخت ما و هم برای وب‌سایت‌های هدف مضر باشد. ما در حال حاضر دو محدودیت را اعمال می‌کنیم: {human_size_limit} اندازه فایل و {human_time_limit}.", "gotError": "یک پیام خطا دریافت کردم (بدون فایل زیم) یا نتوانستم فایل زیم را بخوانم", "gotErrorDesc": "URL وارد شده را سه بار بررسی کنید، و اگر هنوز هم کار نمی‌کند، یک تیکت اشکال در گیت‌هاب باز کنید. وب‌سایت مقصد، شماره درخواست (در ایمیلی که دریافت کرده‌اید است) و دستگاهی را که سعی کرده‌اید فایل زیم خود را باز کنید، مشخص کنید." }, + "units": { + "sizeLimit": "{value} گیبی‌بایت", + "timeLimit": "{value} ساعت" + }, "app": { "poweredByKiwix": "توسط", "kiwix": "Kiwix", diff --git a/ui/src/locales/fr.json b/ui/src/locales/fr.json index 8ec2d6f..ec1b66c 100644 --- a/ui/src/locales/fr.json +++ b/ui/src/locales/fr.json @@ -5,10 +5,14 @@ "howToRead": "Comment lire mes fichiers Zim ?", "howToReadDesc": "Vous aurez besoin d'un lecteur de fichiers Zim. Cela signifie généralement Kiwix, qui est disponible sur les ordinateurs de bureau, les appareils mobiles, et plus encore. Actuellement, seul Kiwix-serve et Kiwix-Android peuvent lire tous les fichiers générés par Zimit. Si vous utilisez Kiwix-Desktop pour Microsoft Windows et GNU/Linux, alors vous devrez le configurer comme une instance Kiwix-serve dans les paramètres. Nous nous attendons à ce que la plupart des plateformes soient mises à niveau d'ici la fin de 2021.", "missingContent": "Le fichier Zim est incomplet ou plus petit que le site web original", - "missingContentDesc": "En raison de la nature même de cet outil, nous ne pouvons pas le laisser ouvert aux demandes illimitées vers n'importe quel site web. Cela pourrait être préjudiciable à la fois pour notre infrastructure, mais aussi pour les sites web ciblés. Nous imposons actuellement deux limites : taille de fichier et temps.", + "missingContentDesc": "En raison de la nature même de cet outil, nous ne pouvons pas le laisser ouvert à des demandes illimitées envers n'importe quel site web. Cela pourrait être nuisible à la fois pour notre infrastructure, mais aussi pour les sites web ciblés. Nous appliquons actuellement deux limites : {human_size_limit} de taille de fichier et {human_time_limit}.", "gotError": "J'ai reçu un message d'erreur (pas de zim) ou je ne peux pas lire un fichier zim", "gotErrorDesc": "Vérifiez trois fois l'URL que vous avez entrée, et si cela ne fonctionne toujours pas, ouvrez un ticket sur github. Indiquez le site web cible, le numéro de la demande (il est dans l'email que vous avez reçu), et l'appareil sur lequel vous avez essayé d'ouvrir votre fichier zim." }, + "units": { + "sizeLimit": "{value} Gio", + "timeLimit": "{value} heures" + }, "loading": { "loading": "Chargement en cours…" }, @@ -49,5 +53,4 @@ "serverConverting": "L'un de nos serveurs convertit actuellement cette URL en un joli fichier ZIM. Selon le nombre de pages et de ressources disponibles, cela peut prendre quelques minutes, heures ou même jours ! Veuillez être patient.", "emailNotification": "Vous pouvez fermer cette fenêtre. Vous recevrez une notification par e-mail lorsque la tâche sera terminée." } -} - \ No newline at end of file +} \ No newline at end of file From c393a5e41a534117af21dc0720bb90e8fdefab9e Mon Sep 17 00:00:00 2001 From: Onyx2406 Date: Tue, 12 Mar 2024 23:42:16 +0530 Subject: [PATCH 23/48] Change far.json to fa.json --- ui/src/App.vue | 2 +- ui/src/locales/{far.json => fa.json} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename ui/src/locales/{far.json => fa.json} (100%) diff --git a/ui/src/App.vue b/ui/src/App.vue index 30dcdf7..ce63be9 100644 --- a/ui/src/App.vue +++ b/ui/src/App.vue @@ -1,5 +1,5 @@ diff --git a/ui/src/locales/en.json b/ui/src/locales/en.json index de22deb..7fbc73e 100644 --- a/ui/src/locales/en.json +++ b/ui/src/locales/en.json @@ -12,7 +12,9 @@ "missingContentDesc": "Because of the very nature of this tool, we can’t leave it open for unlimited requests towards any website. That could be harmful both for our infrastructure, but also for the target websites. We currently enforce two limits: {human_size_limit} file size and {human_time_limit}.", "gotError": "I got an error message (no zim) or could not read a zim file", "gotErrorDesc1": "Triple-check the URL you entered, and if it is still not working then open a bug ticket on", - "gotErrorDesc2": ". Indicate the target website, the request number (it’s in the email you received), and the device you tried to open your zim file on." + "gotErrorDesc2": ". Indicate the target website, the request number (it’s in the email you received), and the device you tried to open your zim file on.", + "desktopMobileAndMore": "desktop computers, mobile devices, and more", + "offline": "offline" }, "errorMessages": { diff --git a/ui/src/locales/fa.json b/ui/src/locales/fa.json index 96e4969..967d3c2 100644 --- a/ui/src/locales/fa.json +++ b/ui/src/locales/fa.json @@ -12,7 +12,9 @@ "missingContentDesc": "به دلیل ماهیت این ابزار، نمی‌توانیم آن را برای درخواست‌های نامحدود به هر وب‌سایتی باز بگذاریم. این می‌تواند هم برای زیرساخت ما و هم برای وب‌سایت‌های هدف مضر باشد. ما در حال حاضر دو محدودیت را اعمال می‌کنیم: {human_size_limit} اندازه فایل و {human_time_limit}.", "gotError": "پیام خطایی دریافت کردم (بدون زیم) یا نتوانستم فایل زیم را بخوانم", "gotErrorDesc1": "URL وارد شده را سه بار بررسی کنید، و اگر همچنان کار نکرد سپس یک تیکت باگ در ", - "gotErrorDesc2": "باز کنید. وب‌سایت هدف، شماره درخواست (در ایمیلی که دریافت کرده‌اید است)، و دستگاهی که سعی کرده‌اید فایل زیم خود را روی آن باز کنید را ذکر کنید." + "gotErrorDesc2": "باز کنید. وب‌سایت هدف، شماره درخواست (در ایمیلی که دریافت کرده‌اید است)، و دستگاهی که سعی کرده‌اید فایل زیم خود را روی آن باز کنید را ذکر کنید.", + "desktopMobileAndMore": "رایانه‌های دسکتاپ، دستگاه‌های موبایل و بیشتر", + "offline": "آفلاین" }, "errorMessages": { diff --git a/ui/src/locales/fr.json b/ui/src/locales/fr.json index 1d0bf3a..026c903 100644 --- a/ui/src/locales/fr.json +++ b/ui/src/locales/fr.json @@ -12,7 +12,9 @@ "missingContentDesc": "En raison de la nature même de cet outil, nous ne pouvons pas le laisser ouvert aux demandes illimitées vers n'importe quel site Web. Cela pourrait être nuisible à la fois pour notre infrastructure et pour les sites Web ciblés. Nous appliquons actuellement deux limites : {human_size_limit} pour la taille de fichier et {human_time_limit}.", "gotError": "J'ai reçu un message d'erreur (pas de zim) ou je n'ai pas pu lire un fichier zim", "gotErrorDesc1": "Vérifiez trois fois l'URL que vous avez saisie, et si cela ne fonctionne toujours pas, ouvrez un ticket de bug sur ", - "gotErrorDesc2": "Indiquez le site Web cible, le numéro de la demande (il est dans l'e-mail que vous avez reçu), et l'appareil sur lequel vous avez essayé d'ouvrir votre fichier zim." + "gotErrorDesc2": "Indiquez le site Web cible, le numéro de la demande (il est dans l'e-mail que vous avez reçu), et l'appareil sur lequel vous avez essayé d'ouvrir votre fichier zim.", + "desktopMobileAndMore": "ordinateurs de bureau, appareils mobiles et plus encore", + "offline": "hors ligne" }, "errorMessages": { From 6343c26b18cc089a2f1bb3948486f2ac20d1b679 Mon Sep 17 00:00:00 2001 From: Onyx2406 Date: Mon, 8 Apr 2024 23:54:10 +0530 Subject: [PATCH 38/48] Updated en.json, including qqq.json. Standardized HTML code placement within translation strings for better clarity and ease of translation. Properly handled limits and implemented pluralization in Request.vue. Fixed missing localized strings in Request.vue and NewRequest.vue --- ui/src/App.vue | 9 +---- ui/src/components/Faq.vue | 14 ++----- ui/src/components/Request.vue | 14 +++++-- ui/src/locales/en.json | 76 ++++++++++++++++------------------- ui/src/locales/fa.json | 30 +++++--------- ui/src/locales/fr.json | 30 +++++--------- ui/src/locales/qqq.json | 42 ++++++++++++++----- 7 files changed, 101 insertions(+), 114 deletions(-) diff --git a/ui/src/App.vue b/ui/src/App.vue index 59852bf..9c10892 100644 --- a/ui/src/App.vue +++ b/ui/src/App.vue @@ -3,14 +3,7 @@ - +
diff --git a/ui/src/components/Faq.vue b/ui/src/components/Faq.vue index ce7edb5..ef61c9a 100644 --- a/ui/src/components/Faq.vue +++ b/ui/src/components/Faq.vue @@ -2,19 +2,13 @@
@@ -29,9 +23,7 @@
diff --git a/ui/src/components/Request.vue b/ui/src/components/Request.vue index 1a4a112..e110dd9 100644 --- a/ui/src/components/Request.vue +++ b/ui/src/components/Request.vue @@ -115,11 +115,17 @@ export default { !(key === "time_limit" && val >= Constants.zimit_time_limit)) .reduce((obj, [key, val]) => ({ ...obj, [key]: val }), {}); }, - human_size_limit() { - return this.$t('request.humanSizeLimit', { size: `${parseInt(Constants.zimit_size_limit / 1073741824)}` }); + human_size_limit() { + const sizeInGiB = parseInt(Constants.zimit_size_limit / 1073741824); + return this.$t('request.humanSizeLimit', { size: sizeInGiB }); }, - human_time_limit() { - return this.$t('request.humanTimeLimit', { hours: `${parseInt(Constants.zimit_time_limit / 3600)}` }); + human_time_limit() { + const timeInHours = parseInt(Constants.zimit_time_limit / 3600); + const unitKey = `units.timeLimit.${timeInHours === 1 ? 'hour' : 'hours'}`; + return this.$t('request.humanTimeLimit', { + hours: timeInHours, + unit: this.$t(unitKey) + }); }, limit_hit() { return this.task.container && this.task.container.progress && this.task.container.progress.limit && this.task.container.progress.limit.hit; diff --git a/ui/src/locales/en.json b/ui/src/locales/en.json index 7fbc73e..0a39c23 100644 --- a/ui/src/locales/en.json +++ b/ui/src/locales/en.json @@ -1,79 +1,73 @@ { - "faq": - { + "faq": { "whatIsZim": "What is a Zim file?", - "whatIsZimDesc1": "The Zim file format stores website content for ", - "whatIsZimDesc2": " usage. It assembles the normal constituent of a website into a single archive, and compresses it so as to make it easier to save, share, and store.", + "whatIsZimDesc": "The Zim file format stores website content for offline usage. It assembles the normal constituent of a website into a single archive, and compresses it so as to make it easier to save, share, and store.", "howToRead": "How do I read my Zim files?", - "howToReadDesc1": "You will need a Zim file reader. This usually means ", - "howToReadDesc2": ", which is available on ", - "howToReadDesc3": "Currently only Kiwix-serve and Kiwix-Android can read all Zimit-generated files. If using Kiwix-Desktop for Microsoft Windows and GNU/Linux, then you will need to configure it as a Kiwix-serve instance in the settings. We expect most platforms to be upgraded by the end of 2021.", + "howToReadDesc": "You will need a Zim file reader. This usually means Kiwix, which is available on desktop computers, mobile devices, and more. Currently only Kiwix-serve and Kiwix-Android can read all Zimit-generated files. If using Kiwix-Desktop for Microsoft Windows and GNU/Linux, then you will need to configure it as a Kiwix-serve instance in the settings. We expect most platforms to be upgraded by the end of 2021.", "missingContent": "The Zim file is incomplete or smaller than the original website", "missingContentDesc": "Because of the very nature of this tool, we can’t leave it open for unlimited requests towards any website. That could be harmful both for our infrastructure, but also for the target websites. We currently enforce two limits: {human_size_limit} file size and {human_time_limit}.", "gotError": "I got an error message (no zim) or could not read a zim file", - "gotErrorDesc1": "Triple-check the URL you entered, and if it is still not working then open a bug ticket on", - "gotErrorDesc2": ". Indicate the target website, the request number (it’s in the email you received), and the device you tried to open your zim file on.", - "desktopMobileAndMore": "desktop computers, mobile devices, and more", - "offline": "offline" - }, - "errorMessages": - { + "gotErrorDesc": "Triple-check the URL you entered, and if it is still not working then open a bug ticket on github. Indicate the target website, the request number (it’s in the email you received), and the device you tried to open your zim file on." + }, + "errorMessages": { "unableToRequestZIMCreation": "Unable to request ZIM creation:" }, - "units": - { - "timeLimit": - { + "units": { + "timeLimit":{ "singular": "hour", "plural": "hours" } }, - "app": - { - "poweredBy": "Powered by", - "kiwix": "Kiwix", - "kiwixLink": "https://kiwix.org", - "and": "and", - "webrecorder": "Webrecorder", - "webrecorderLink": "https://webrecorder.net", - "thanksToMozilla": "thanks to a Mozilla Open-Source Support Award " + "footer": { + "str": "Powered by Kiwix and Webrecorder, thanks to a Mozilla Open-Source Support Award ❤️" }, - "loading": - { + "loading": { "loading": "Loading…" }, - "navbar": - { + "navbar": { "logoAlt": "Youzim.it logo" }, - "newRequest": - { + "newRequest": { "heading": "Want an offline version of a website? Just", "boldZim": "Zim it", "urlPlaceholder": "Full URL of the website to convert", "emailPlaceholder": "Your e-mail to receive a download link. Address not kept", "submit": "Let's Zim it!", - "advancedOptions": "advanced options" + "advancedOptions": "advanced options", + "notSet": "Not set", + "fetchingDefinition": "fetching definition…", + "standardHTTPError": "Unable to request ZIM creation:
%{error}", + "creatingSchedule": "Creating schedule…", + "noTaskIdReceived": "Didn't receive task_id", + "unableToRequestZIM": "Unable to request ZIM creation:
%{error}" }, - "notFound": - { + "notFound": { "heading": "Not Found", "description": "Sorry, this content was not found. Maybe you'd like to go back." }, - "request": - { - "requestingSlot": "Requesting slot", + "request": { "zimingOf": "Ziming of ", + "requestingSlot": "Requesting slot", "requestRecorded": "Your request has been recorded and is awaiting a slot on our infrastructure to run.", "requestFailed": "Your request has failed! We are sorry about that.", "failureReasons": "A number of reasons can lead to a ziming failure. Most of the time, it's an inadequate URL… Please triple check it and create a new request. If that doesn't work, open a ticket in github.", + "openTicket": "open a ticket in github", "success": "Success!", "linkExpires": "The link below will expire and the file will be deleted after a week.", "download": "Download", "limitHit": "You have reached the maximum file size or duration allowed for free crawling. Contact us to help us purchase additional server space for you.", "beingProcessed": "Your request is being processed", - "serverConverting": "One of our servers is currently converting that URL into a nice ZIM file. Depending on the number of pages and resources available, it can be a matter of minutes, hours or even days! Please be patient.", - "emailNotification": "You can close this window. You will get an email notification when the task is completed." + "serverConverting": "One of our servers is currently converting that URL into a nice ZIM file. Depending on the number of pages and resources available, it can be a matter of minutes, hours, or even days! Please be patient.", + "emailNotification": "You can close this window. You will get an email notification when the task is completed.", + "pending": "pending", + "inProgress": "in progress", + "humanSizeLimit": "You have reached the maximum file size of {size} GiB.", + "humanTimeLimit": "You have reached the maximum duration of {hours} {unit}.", + "loadingTask": "Retrieving task…", + "noDataReceived": "Didn't receive task data.", + "taskNotFound": "No task found with this ID. It probably has expired.", + "taskRetrieveError": "Unable to retrieve task: {error}", + "title": "Settings" } } \ No newline at end of file diff --git a/ui/src/locales/fa.json b/ui/src/locales/fa.json index 967d3c2..2f83acd 100644 --- a/ui/src/locales/fa.json +++ b/ui/src/locales/fa.json @@ -1,6 +1,5 @@ { - "faq": - { + "faq":{ "whatIsZim": "فایل زیم چیست؟", "whatIsZimDesc1": "فرمت فایل زیم محتوای وب‌سایت را برای ", "whatIsZimDesc2": "استفاده ذخیره می‌کند. این فرمت اجزای اصلی یک وب‌سایت را در یک آرشیو واحد جمع‌آوری و فشرده‌سازی می‌کند تا ذخیره‌سازی، به اشتراک‌گذاری، و نگهداری آن آسان‌تر شود.", @@ -16,20 +15,16 @@ "desktopMobileAndMore": "رایانه‌های دسکتاپ، دستگاه‌های موبایل و بیشتر", "offline": "آفلاین" }, - "errorMessages": - { + "errorMessages":{ "unableToRequestZIMCreation": "درخواست ایجاد ZIM ممکن نیست:" }, - "units": - { - "timeLimit": - { + "units":{ + "timeLimit":{ "singular": "ساعت", "plural": "ساعت" } }, - "app": - { + "app":{ "poweredBy": "به قدرت از", "kiwix": "کیویکس", "kiwixLink": "https://kiwix.org", @@ -38,16 +33,13 @@ "webrecorderLink": "https://webrecorder.net", "thanksToMozilla": "با تشکر از جایزه پشتیبانی منبع‌باز موزیلا " }, - "loading": - { + "loading":{ "loading": "در حال بارگذاری..." }, - "navbar": - { + "navbar":{ "logoAlt": "لوگوی Youzim.it" }, - "newRequest": - { + "newRequest":{ "heading": "می‌خواهید یک نسخه آفلاین از یک وب‌سایت داشته باشید؟ فقط", "boldZim": "زیم کنید", "urlPlaceholder": "آدرس URL کامل وب‌سایت برای تبدیل", @@ -55,13 +47,11 @@ "submit": "بیایید آن را زیم کنیم!", "advancedOptions": "گزینه‌های پیشرفته" }, - "notFound": - { + "notFound":{ "heading": "یافت نشد", "description": "متاسفیم، این محتوا پیدا نشد. شاید دوست داشته باشید به عقب بروید." }, - "request": - { + "request":{ "requestingSlot": "درخواست اسلات", "zimingOf": "تبدیل شدن به فایل زیم از ", "requestRecorded": "درخواست شما ثبت شده است و منتظر یک اسلات در زیرساخت ما برای اجرا می‌باشد.", diff --git a/ui/src/locales/fr.json b/ui/src/locales/fr.json index 026c903..cae03b5 100644 --- a/ui/src/locales/fr.json +++ b/ui/src/locales/fr.json @@ -1,6 +1,5 @@ { - "faq": - { + "faq":{ "whatIsZim": "Qu'est-ce qu'un fichier Zim ?", "whatIsZimDesc1": "Le format de fichier Zim stocke le contenu d'un site Web pour ", "whatIsZimDesc2": "l'utilisation. Il assemble les constituants normaux d'un site Web dans une seule archive et le compresse pour faciliter l'enregistrement, le partage et le stockage.", @@ -16,28 +15,22 @@ "desktopMobileAndMore": "ordinateurs de bureau, appareils mobiles et plus encore", "offline": "hors ligne" }, - "errorMessages": - { + "errorMessages":{ "unableToRequestZIMCreation": "Impossible de demander la création de ZIM :" }, - "units": - { - "timeLimit": - { + "units":{ + "timeLimit":{ "singular": "heure", "plural": "heures" } }, - "loading": - { + "loading":{ "loading": "Chargement en cours…" }, - "navbar": - { + "navbar":{ "logoAlt": "Logo de Youzim.it" }, - "app": - { + "app":{ "poweredBy": "Propulsé par", "kiwix": "Kiwix", "kiwixLink": "https://kiwix.org", @@ -46,8 +39,7 @@ "webrecorderLink": "https://webrecorder.net", "thanksToMozilla": "grâce à un Prix du soutien à l'open-source de Mozilla " }, - "newRequest": - { + "newRequest":{ "heading": "Vous voulez une version hors ligne d'un site web ? Juste", "boldZim": "Zimmez-le", "urlPlaceholder": "URL complète du site web à convertir", @@ -55,13 +47,11 @@ "submit": "Zimmons-le !", "advancedOptions": "options avancées" }, - "notFound": - { + "notFound":{ "heading": "Non trouvé", "description": "Désolé, ce contenu n'a pas été trouvé. Peut-être souhaitez-vous revenir en arrière." }, - "request": - { + "request":{ "requestingSlot": "Demande d'emplacement", "requestRecorded": "Votre demande a été enregistrée et est en attente d'un emplacement sur notre infrastructure pour être exécutée.", "requestFailed": "Votre demande a échoué ! Nous en sommes désolés.", diff --git a/ui/src/locales/qqq.json b/ui/src/locales/qqq.json index 5d00936..8008063 100644 --- a/ui/src/locales/qqq.json +++ b/ui/src/locales/qqq.json @@ -1,18 +1,25 @@ { "faq": { "whatIsZim": "This is the question asking about the Zim file format.", - "whatIsZimDesc": "This provides a brief description of what a Zim file is.", + "whatIsZimDesc": "This provides the description of what a Zim file is.", "howToRead": "This is the question asking how to read Zim files.", - "howToReadDesc": "This provides instructions on how to read Zim files using Kiwix.", + "howToReadDesc": "This provides the instructions on how to read Zim files.", "missingContent": "This is the question about incomplete or missing content in Zim files.", "missingContentDesc": "This provides an explanation for why some content may be missing or incomplete in Zim files.", "gotError": "This is the question about encountering error messages when using Zim files.", - "gotErrorDesc": "This provides instructions on what to do if errors are encountered when using Zim files." + "gotErrorDesc": "This provides the instructions on what to do if errors are encountered when using Zim files." }, - "app": { - "poweredByKiwix": "This indicates that the application is powered by Kiwix.", - "poweredByWebrecorder": "This indicates that the application is powered by Webrecorder.", - "thanksToMozilla": "This acknowledges support from Mozilla through an Open-Source Support Award." + "errorMessages": { + "unableToRequestZIMCreation": "This indicates an error message when unable to request ZIM creation." + }, + "units": { + "timeLimit": { + "singular": "This indicates the singular form of the time unit.", + "plural": "This indicates the plural form of the time unit." + } + }, + "footer": { + "str": "This indicates the footer message." }, "loading": { "loading": "This is the loading message displayed during data loading." @@ -26,24 +33,39 @@ "urlPlaceholder": "This is the placeholder text for entering a website URL.", "emailPlaceholder": "This is the placeholder text for entering an email address.", "submit": "This is the label for the submit button.", - "advancedOptions": "This indicates a link to advanced options." + "advancedOptions": "This indicates a link to advanced options.", + "notSet": "This indicates that a value is not set.", + "fetchingDefinition": "This indicates the message while fetching the definition.", + "standardHTTPError": "This indicates an error message for standard HTTP errors.", + "creatingSchedule": "This indicates the message while creating a schedule.", + "noTaskIdReceived": "This indicates that the task ID was not received.", + "unableToRequestZIM": "This indicates an error message when unable to request ZIM creation." }, "notFound": { "heading": "This is the heading displayed when content is not found.", "description": "This is the description explaining the 404 error." }, "request": { - "requestingSlot": "This indicates the process of requesting a slot on the server.", "zimingOf": "This indicates the process of converting a website into a ZIM file.", + "requestingSlot": "This indicates the process of requesting a slot on the server.", "requestRecorded": "This confirms that a user's request has been recorded.", "requestFailed": "This indicates that a request has failed.", "failureReasons": "This provides reasons for why a request might fail.", + "openTicket": "This indicates to open a ticket in GitHub.", "success": "This indicates a successful operation.", "linkExpires": "This explains that the download link will expire after a week.", "download": "This is the label for the download button.", "limitHit": "This indicates that a user has reached a limit.", "beingProcessed": "This indicates that a request is currently being processed.", "serverConverting": "This indicates that a server is converting a URL into a ZIM file.", - "emailNotification": "This informs the user about receiving an email notification." + "emailNotification": "This informs the user about receiving an email notification.", + "pending": "This indicates that a task is pending.", + "inProgress": "This indicates that a task is in progress.", + "humanSizeLimit": "This indicates the maximum file size limit in human-readable form.", + "humanTimeLimit": "This indicates the maximum time limit in human-readable form.", + "loadingTask": "This indicates the message while retrieving a task.", + "noDataReceived": "This indicates that no data was received for the task.", + "taskNotFound": "This indicates that the task was not found.", + "taskRetrieveError": "This indicates an error while retrieving the task." } } From ac1bb17488c4001e12bcf104af2c3b661bc11285 Mon Sep 17 00:00:00 2001 From: Onyx2406 Date: Tue, 9 Apr 2024 00:32:25 +0530 Subject: [PATCH 39/48] RTL Support for buttons of the FAQ --- ui/src/components/FaqEntry.vue | 55 +++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/ui/src/components/FaqEntry.vue b/ui/src/components/FaqEntry.vue index 92e101f..5aeaa50 100644 --- a/ui/src/components/FaqEntry.vue +++ b/ui/src/components/FaqEntry.vue @@ -1,41 +1,54 @@ + .language-selector { + padding: .5rem 1rem; + border-radius: .25rem; + border: 1px solid #ced4da; + appearance: none; /* Remove default styling */ + background-color: #fff; + background-image: url('data:image/svg+xml;charset=UTF8,'); /* Add a custom dropdown arrow */ + background-repeat: no-repeat; + background-position: right .75rem center; + background-size: 16px 12px; + } + \ No newline at end of file diff --git a/ui/src/components/NewRequest.vue b/ui/src/components/NewRequest.vue index e6bb321..3216e8e 100644 --- a/ui/src/components/NewRequest.vue +++ b/ui/src/components/NewRequest.vue @@ -1,6 +1,6 @@