From 6e112569759712f786cd986042b5920fdbb4d352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Sacrist=C3=A1n?= Date: Mon, 24 Apr 2023 01:10:24 +0200 Subject: [PATCH] feat: localization in es, fr, de, it, zh, ar --- lingui.config.js | 2 +- src/locales/ar/messages.js | 1 + src/locales/ar/messages.po | 138 +++++++++++++++++++++++++ src/locales/de/messages.js | 1 + src/locales/de/messages.po | 138 +++++++++++++++++++++++++ src/locales/en/messages.js | 2 +- src/locales/en/messages.po | 92 ++++++++++++++++- src/locales/es/messages.js | 2 +- src/locales/es/messages.po | 94 ++++++++++++++++- src/locales/fr/messages.js | 1 + src/locales/fr/messages.po | 138 +++++++++++++++++++++++++ src/locales/it/messages.js | 1 + src/locales/it/messages.po | 138 +++++++++++++++++++++++++ src/locales/zh/messages.js | 1 + src/locales/zh/messages.po | 138 +++++++++++++++++++++++++ src/providers/LocalizationProvider.tsx | 27 ++++- src/types.ts | 2 +- 17 files changed, 899 insertions(+), 17 deletions(-) create mode 100644 src/locales/ar/messages.js create mode 100644 src/locales/ar/messages.po create mode 100644 src/locales/de/messages.js create mode 100644 src/locales/de/messages.po create mode 100644 src/locales/fr/messages.js create mode 100644 src/locales/fr/messages.po create mode 100644 src/locales/it/messages.js create mode 100644 src/locales/it/messages.po create mode 100644 src/locales/zh/messages.js create mode 100644 src/locales/zh/messages.po diff --git a/lingui.config.js b/lingui.config.js index e881c19..6bf3267 100644 --- a/lingui.config.js +++ b/lingui.config.js @@ -1,6 +1,6 @@ /** @type {import('@lingui/conf').LinguiConfig} */ module.exports = { - locales: ['en', 'es'], + locales: ['en', 'es', 'fr', 'it', 'de', 'zh', 'ar'], catalogs: [ { path: 'src/locales/{locale}/messages', diff --git a/src/locales/ar/messages.js b/src/locales/ar/messages.js new file mode 100644 index 0000000..2b5af93 --- /dev/null +++ b/src/locales/ar/messages.js @@ -0,0 +1 @@ +/*eslint-disable*/module.exports={messages:JSON.parse("{\"Add a new site\":\"أضف موقعًا جديدًا\",\"Add site\":\"Add site\",\"Backup your data\":\"النسخ الاحتياطي لبياناتك\",\"Cancel\":\"إلغاء\",\"Completed\":\"مكتمل\",\"Confirm deletion\":\"تأكيد الحذف\",\"Delete\":\"حذف\",\"Enable\":\"تمكين\",\"Everything is prepared for you to add your sites\":\"كل شيء جاهز لإضافة مواقعك\",\"Fingerprint authentication\":\"مصادقة بصمات الأصابع\",\"Generate file\":\"إنشاء ملف\",\"If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced\":\"إذا كنت ترغب في استعادة المواقع المحفوظة من نسخة احتياطية ، يمكنك تحميل الملف المخزن على جهازك. من المهم ملاحظة أن المواقع الحالية ستبقى دون تغيير ولن يتم استبدالها\",\"Load backup sites\":\"تحميل مواقع النسخ الاحتياطي\",\"Login\":\"Login\",\"Login with your fingerprint\":\"تسجيل الدخول ببصمة إصبعك\",\"No access to camera\":\"لا يمكن الوصول إلى الكاميرا\",\"No results matching your search\":\"لا توجد نتائج مطابقة لبحثك\",\"No sites have been added yet\":\"No sites have been added yet\",\"Processing\":\"معالجة\",\"Requesting for camera permission\":\"طلب إذن الكاميرا\",\"Restore sites\":\"استعادة المواقع\",\"Scan QR code\":\"مسح رمز QR\",\"Scan another code\":\"مسح رمز آخر\",\"Scan your website's 2FA QR code using your device's camera\":\"امسح رمز QR 2FA لموقع الويب الخاص بك باستخدام كاميرا جهازك\",\"Search...\":\"بحث...\",\"Secure the access to your stored 2FA using your device fingerprint authentication\":\"تأمين الوصول إلى 2FA المخزن باستخدام مصادقة بصمات جهازك\",\"The QR code can be easily recognized by simply pointing your device's camera at it\":\"يمكن التعرف على رمز الاستجابة السريعة بسهولة بمجرد توجيه كاميرا جهازك إليه\",\"To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time\":\"للتأكد من عدم فقدان البيانات المحفوظة ، يمكنك تنزيل ملف من المواقع واستعادتها في وقت لاحق\",\"Token copied to clipboard\":\"تم نسخ الرمز المميز إلى الحافظة\",\"{sitesProcessed, plural, one {Processed 1 site of {numberOfSites}} other {Processed # sites of {numberOfSites}}}\":[[\"sitesProcessed\",\"plural\",{\"one\":[\"موقع 1 معالج لـ \",[\"numberOfSites\"]],\"other\":[\"المواقع \",\"#\",\" المجهزة لـ \",[\"numberOfSites\"]]}]]}")}; \ No newline at end of file diff --git a/src/locales/ar/messages.po b/src/locales/ar/messages.po new file mode 100644 index 0000000..ead9326 --- /dev/null +++ b/src/locales/ar/messages.po @@ -0,0 +1,138 @@ +msgid "" +msgstr "" +"POT-Creation-Date: 2023-02-26 23:06+0100\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: @lingui/cli\n" +"Language: en\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Plural-Forms: \n" + +#: app/qr/index.tsx:57 +#: src/components/AddSite.tsx:14 +msgid "Add a new site" +msgstr "أضف موقعًا جديدًا" + +#: src/components/AddSite.tsx:14 +#~ msgid "Add site" +#~ msgstr "" + +#: app/settings/export.tsx:58 +#: src/components/TopBar.tsx:36 +msgid "Backup your data" +msgstr "النسخ الاحتياطي لبياناتك" + +#: src/components/SiteInfo.tsx:79 +#: src/providers/FingerprintAuthProvider.tsx:39 +msgid "Cancel" +msgstr "إلغاء" + +#: app/settings/import.tsx:78 +msgid "Completed" +msgstr "مكتمل" + +#: src/components/SiteInfo.tsx:101 +msgid "Confirm deletion" +msgstr "تأكيد الحذف" + +#: src/components/SiteInfo.tsx:91 +msgid "Delete" +msgstr "حذف" + +#: src/providers/FingerprintAuthProvider.tsx:107 +msgid "Enable" +msgstr "تمكين" + +#: src/components/SitesList.tsx:63 +msgid "Everything is prepared for you to add your sites" +msgstr "كل شيء جاهز لإضافة مواقعك" + +#: src/providers/FingerprintAuthProvider.tsx:97 +msgid "Fingerprint authentication" +msgstr "مصادقة بصمات الأصابع" + +#: app/settings/export.tsx:73 +msgid "Generate file" +msgstr "إنشاء ملف" + +#: app/settings/import.tsx:63 +msgid "If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced" +msgstr "إذا كنت ترغب في استعادة المواقع المحفوظة من نسخة احتياطية ، يمكنك تحميل الملف المخزن على جهازك. من المهم ملاحظة أن المواقع الحالية ستبقى دون تغيير ولن يتم استبدالها" + +#: app/settings/import.tsx:99 +msgid "Load backup sites" +msgstr "تحميل مواقع النسخ الاحتياطي" + +#: src/providers/FingerprintAuthProvider.tsx:87 +#~ msgid "Login" +#~ msgstr "" + +#: src/providers/FingerprintAuthProvider.tsx:37 +msgid "Login with your fingerprint" +msgstr "تسجيل الدخول ببصمة إصبعك" + +#: app/qr/index.tsx:48 +msgid "No access to camera" +msgstr "لا يمكن الوصول إلى الكاميرا" + +#: src/components/SitesList.tsx:93 +msgid "No results matching your search" +msgstr "لا توجد نتائج مطابقة لبحثك" + +#: app/(home)/index.tsx:45 +#~ msgid "No sites have been added yet" +#~ msgstr "" + +#: app/settings/import.tsx:77 +msgid "Processing" +msgstr "معالجة" + +#: app/qr/index.tsx:41 +msgid "Requesting for camera permission" +msgstr "طلب إذن الكاميرا" + +#: app/settings/import.tsx:60 +#: src/components/TopBar.tsx:41 +msgid "Restore sites" +msgstr "استعادة المواقع" + +#: app/qr/index.tsx:88 +msgid "Scan QR code" +msgstr "مسح رمز QR" + +#: app/qr/info.tsx:62 +msgid "Scan another code" +msgstr "مسح رمز آخر" + +#: app/qr/index.tsx:60 +msgid "Scan your website's 2FA QR code using your device's camera" +msgstr "امسح رمز QR 2FA لموقع الويب الخاص بك باستخدام كاميرا جهازك" + +#: src/components/SitesList.tsx:80 +msgid "Search..." +msgstr "بحث..." + +#: src/providers/FingerprintAuthProvider.tsx:100 +msgid "Secure the access to your stored 2FA using your device fingerprint authentication" +msgstr "تأمين الوصول إلى 2FA المخزن باستخدام مصادقة بصمات جهازك" + +#: app/qr/index.tsx:74 +msgid "The QR code can be easily recognized by simply pointing your device's camera at it" +msgstr "يمكن التعرف على رمز الاستجابة السريعة بسهولة بمجرد توجيه كاميرا جهازك إليه" + +#: app/settings/export.tsx:61 +msgid "To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time" +msgstr "للتأكد من عدم فقدان البيانات المحفوظة ، يمكنك تنزيل ملف من المواقع واستعادتها في وقت لاحق" + +#: src/components/CopyToClipboard.tsx:19 +msgid "Token copied to clipboard" +msgstr "تم نسخ الرمز المميز إلى الحافظة" + +#: app/settings/import.tsx:84 +msgid "{sitesProcessed, plural, one {Processed 1 site of {numberOfSites}} other {Processed # sites of {numberOfSites}}}" +msgstr "{sitesProcessed, plural, one {موقع 1 معالج لـ {numberOfSites}} other {المواقع # المجهزة لـ {numberOfSites}}}" diff --git a/src/locales/de/messages.js b/src/locales/de/messages.js new file mode 100644 index 0000000..2e8d824 --- /dev/null +++ b/src/locales/de/messages.js @@ -0,0 +1 @@ +/*eslint-disable*/module.exports={messages:JSON.parse("{\"Add a new site\":\"Neue Seite hinzufügen\",\"Add site\":\"Add site\",\"Backup your data\":\"Sichern Sie Ihre Daten\",\"Cancel\":\"Stornieren\",\"Completed\":\"Abgeschlossen\",\"Confirm deletion\":\"Löschung bestätigen\",\"Delete\":\"Löschen\",\"Enable\":\"Aktivieren\",\"Everything is prepared for you to add your sites\":\"Alles ist darauf vorbereitet, dass Sie Ihre Websites hinzufügen\",\"Fingerprint authentication\":\"Fingerabdruckauthentifizierung\",\"Generate file\":\"Datei generieren\",\"If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced\":\"Wenn Sie Ihre gespeicherten Websites aus einer Sicherung wiederherstellen möchten, können Sie die auf Ihrem Gerät gespeicherte Datei laden. Es ist wichtig zu beachten, dass die vorhandenen Websites unverändert bleiben und nicht ersetzt werden\",\"Load backup sites\":\"Backup-Sites laden\",\"Login\":\"Login\",\"Login with your fingerprint\":\"Melden Sie sich mit Ihrem Fingerabdruck an\",\"No access to camera\":\"Kein Zugang zur Kamera\",\"No results matching your search\":\"Keine Ergebnisse, die zu Ihrer Suche passen\",\"No sites have been added yet\":\"No sites have been added yet\",\"Processing\":\"Verarbeitung\",\"Requesting for camera permission\":\"Bitte um Kameraperlaubnis\",\"Restore sites\":\"Websites wiederherstellen\",\"Scan QR code\":\"QR-Code scannen\",\"Scan another code\":\"Scannen Sie einen anderen Code\",\"Scan your website's 2FA QR code using your device's camera\":\"Scannen Sie den 2FA-QR-Code Ihrer Website mit der Kamera Ihres Geräts\",\"Search...\":\"Suche...\",\"Secure the access to your stored 2FA using your device fingerprint authentication\":\"Sichern Sie den Zugriff auf Ihre gespeicherte 2FA mithilfe der Fingerabdruckauthentifizierung Ihres Geräts\",\"The QR code can be easily recognized by simply pointing your device's camera at it\":\"Der QR-Code kann leicht erkannt werden, indem einfach die Kamera Ihres Geräts darauf gerichtet wird\",\"To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time\":\"Um sicherzustellen, dass Sie Ihre gespeicherten Daten nicht verlieren, können Sie eine Datei der Websites herunterladen und zu einem späteren Zeitpunkt wiederherstellen\",\"Token copied to clipboard\":\"Token in Zwischenablage kopiert\",\"{sitesProcessed, plural, one {Processed 1 site of {numberOfSites}} other {Processed # sites of {numberOfSites}}}\":[[\"sitesProcessed\",\"plural\",{\"one\":[\"Processed 1-Site von \",[\"numberOfSites\"]],\"other\":[\"Processed \",\"#\",\" Sites von \",[\"numberOfSites\"]]}]]}")}; \ No newline at end of file diff --git a/src/locales/de/messages.po b/src/locales/de/messages.po new file mode 100644 index 0000000..39ad6c6 --- /dev/null +++ b/src/locales/de/messages.po @@ -0,0 +1,138 @@ +msgid "" +msgstr "" +"POT-Creation-Date: 2023-02-26 23:06+0100\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: @lingui/cli\n" +"Language: en\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Plural-Forms: \n" + +#: app/qr/index.tsx:57 +#: src/components/AddSite.tsx:14 +msgid "Add a new site" +msgstr "Neue Seite hinzufügen" + +#: src/components/AddSite.tsx:14 +#~ msgid "Add site" +#~ msgstr "" + +#: app/settings/export.tsx:58 +#: src/components/TopBar.tsx:36 +msgid "Backup your data" +msgstr "Sichern Sie Ihre Daten" + +#: src/components/SiteInfo.tsx:79 +#: src/providers/FingerprintAuthProvider.tsx:39 +msgid "Cancel" +msgstr "Stornieren" + +#: app/settings/import.tsx:78 +msgid "Completed" +msgstr "Abgeschlossen" + +#: src/components/SiteInfo.tsx:101 +msgid "Confirm deletion" +msgstr "Löschung bestätigen" + +#: src/components/SiteInfo.tsx:91 +msgid "Delete" +msgstr "Löschen" + +#: src/providers/FingerprintAuthProvider.tsx:107 +msgid "Enable" +msgstr "Aktivieren" + +#: src/components/SitesList.tsx:63 +msgid "Everything is prepared for you to add your sites" +msgstr "Alles ist darauf vorbereitet, dass Sie Ihre Websites hinzufügen" + +#: src/providers/FingerprintAuthProvider.tsx:97 +msgid "Fingerprint authentication" +msgstr "Fingerabdruckauthentifizierung" + +#: app/settings/export.tsx:73 +msgid "Generate file" +msgstr "Datei generieren" + +#: app/settings/import.tsx:63 +msgid "If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced" +msgstr "Wenn Sie Ihre gespeicherten Websites aus einer Sicherung wiederherstellen möchten, können Sie die auf Ihrem Gerät gespeicherte Datei laden. Es ist wichtig zu beachten, dass die vorhandenen Websites unverändert bleiben und nicht ersetzt werden" + +#: app/settings/import.tsx:99 +msgid "Load backup sites" +msgstr "Backup-Sites laden" + +#: src/providers/FingerprintAuthProvider.tsx:87 +#~ msgid "Login" +#~ msgstr "" + +#: src/providers/FingerprintAuthProvider.tsx:37 +msgid "Login with your fingerprint" +msgstr "Melden Sie sich mit Ihrem Fingerabdruck an" + +#: app/qr/index.tsx:48 +msgid "No access to camera" +msgstr "Kein Zugang zur Kamera" + +#: src/components/SitesList.tsx:93 +msgid "No results matching your search" +msgstr "Keine Ergebnisse, die zu Ihrer Suche passen" + +#: app/(home)/index.tsx:45 +#~ msgid "No sites have been added yet" +#~ msgstr "" + +#: app/settings/import.tsx:77 +msgid "Processing" +msgstr "Verarbeitung" + +#: app/qr/index.tsx:41 +msgid "Requesting for camera permission" +msgstr "Bitte um Kameraperlaubnis" + +#: app/settings/import.tsx:60 +#: src/components/TopBar.tsx:41 +msgid "Restore sites" +msgstr "Websites wiederherstellen" + +#: app/qr/index.tsx:88 +msgid "Scan QR code" +msgstr "QR-Code scannen" + +#: app/qr/info.tsx:62 +msgid "Scan another code" +msgstr "Scannen Sie einen anderen Code" + +#: app/qr/index.tsx:60 +msgid "Scan your website's 2FA QR code using your device's camera" +msgstr "Scannen Sie den 2FA-QR-Code Ihrer Website mit der Kamera Ihres Geräts" + +#: src/components/SitesList.tsx:80 +msgid "Search..." +msgstr "Suche..." + +#: src/providers/FingerprintAuthProvider.tsx:100 +msgid "Secure the access to your stored 2FA using your device fingerprint authentication" +msgstr "Sichern Sie den Zugriff auf Ihre gespeicherte 2FA mithilfe der Fingerabdruckauthentifizierung Ihres Geräts" + +#: app/qr/index.tsx:74 +msgid "The QR code can be easily recognized by simply pointing your device's camera at it" +msgstr "Der QR-Code kann leicht erkannt werden, indem einfach die Kamera Ihres Geräts darauf gerichtet wird" + +#: app/settings/export.tsx:61 +msgid "To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time" +msgstr "Um sicherzustellen, dass Sie Ihre gespeicherten Daten nicht verlieren, können Sie eine Datei der Websites herunterladen und zu einem späteren Zeitpunkt wiederherstellen" + +#: src/components/CopyToClipboard.tsx:19 +msgid "Token copied to clipboard" +msgstr "Token in Zwischenablage kopiert" + +#: app/settings/import.tsx:84 +msgid "{sitesProcessed, plural, one {Processed 1 site of {numberOfSites}} other {Processed # sites of {numberOfSites}}}" +msgstr "{sitesProcessed, plural, one {Processed 1-Site von {numberOfSites}} other {Processed # Sites von {numberOfSites}}}" diff --git a/src/locales/en/messages.js b/src/locales/en/messages.js index f336063..52f4f73 100644 --- a/src/locales/en/messages.js +++ b/src/locales/en/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"Add site\":\"Add site\",\"Cancel\":\"Cancel\",\"Enable\":\"Enable\",\"Fingerprint authentication\":\"Fingerprint authentication\",\"Login\":\"Login\",\"Login with your fingerprint\":\"Login with your fingerprint\",\"No results matching your search\":\"No results matching your search\",\"No sites have been added yet\":\"No sites have been added yet\",\"Search...\":\"Search...\",\"Secure the access to your stored 2FA using your device fingerprint authentication\":\"Secure the access to your stored 2FA using your device fingerprint authentication\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"Add a new site\":\"Add a new site\",\"Add site\":\"Add site\",\"Backup your data\":\"Backup your data\",\"Cancel\":\"Cancel\",\"Completed\":\"Completed\",\"Confirm deletion\":\"Confirm deletion\",\"Delete\":\"Delete\",\"Enable\":\"Enable\",\"Everything is prepared for you to add your sites\":\"Everything is prepared for you to add your sites\",\"Fingerprint authentication\":\"Fingerprint authentication\",\"Generate file\":\"Generate file\",\"If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced\":\"If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced\",\"Load backup sites\":\"Load backup sites\",\"Login\":\"Login\",\"Login with your fingerprint\":\"Login with your fingerprint\",\"No access to camera\":\"No access to camera\",\"No results matching your search\":\"No results matching your search\",\"No sites have been added yet\":\"No sites have been added yet\",\"Processing\":\"Processing\",\"Requesting for camera permission\":\"Requesting for camera permission\",\"Restore sites\":\"Restore sites\",\"Scan QR code\":\"Scan QR code\",\"Scan another code\":\"Scan another code\",\"Scan your website's 2FA QR code using your device's camera\":\"Scan your website's 2FA QR code using your device's camera\",\"Search...\":\"Search...\",\"Secure the access to your stored 2FA using your device fingerprint authentication\":\"Secure the access to your stored 2FA using your device fingerprint authentication\",\"The QR code can be easily recognized by simply pointing your device's camera at it\":\"The QR code can be easily recognized by simply pointing your device's camera at it\",\"To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time\":\"To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time\",\"Token copied to clipboard\":\"Token copied to clipboard\",\"{sitesProcessed, plural, one {Processed 1 site of {numberOfSites}} other {Processed # sites of {numberOfSites}}}\":[[\"sitesProcessed\",\"plural\",{\"one\":[\"Processed 1 site of \",[\"numberOfSites\"]],\"other\":[\"Processed \",\"#\",\" sites of \",[\"numberOfSites\"]]}]]}")}; \ No newline at end of file diff --git a/src/locales/en/messages.po b/src/locales/en/messages.po index 0d235a3..7d4e899 100644 --- a/src/locales/en/messages.po +++ b/src/locales/en/messages.po @@ -13,22 +13,61 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" +#: app/qr/index.tsx:57 #: src/components/AddSite.tsx:14 -msgid "Add site" +msgid "Add a new site" msgstr "" +#: src/components/AddSite.tsx:14 +#~ msgid "Add site" +#~ msgstr "" + +#: app/settings/export.tsx:58 +#: src/components/TopBar.tsx:36 +msgid "Backup your data" +msgstr "" + +#: src/components/SiteInfo.tsx:79 #: src/providers/FingerprintAuthProvider.tsx:39 msgid "Cancel" msgstr "" +#: app/settings/import.tsx:78 +msgid "Completed" +msgstr "" + +#: src/components/SiteInfo.tsx:101 +msgid "Confirm deletion" +msgstr "" + +#: src/components/SiteInfo.tsx:91 +msgid "Delete" +msgstr "" + #: src/providers/FingerprintAuthProvider.tsx:107 msgid "Enable" msgstr "" +#: src/components/SitesList.tsx:63 +msgid "Everything is prepared for you to add your sites" +msgstr "" + #: src/providers/FingerprintAuthProvider.tsx:97 msgid "Fingerprint authentication" msgstr "" +#: app/settings/export.tsx:73 +msgid "Generate file" +msgstr "" + +#: app/settings/import.tsx:63 +msgid "If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced" +msgstr "" + +#: app/settings/import.tsx:99 +msgid "Load backup sites" +msgstr "" + #: src/providers/FingerprintAuthProvider.tsx:87 #~ msgid "Login" #~ msgstr "" @@ -37,18 +76,63 @@ msgstr "" msgid "Login with your fingerprint" msgstr "" -#: app/(home)/index.tsx:70 +#: app/qr/index.tsx:48 +msgid "No access to camera" +msgstr "" + +#: src/components/SitesList.tsx:93 msgid "No results matching your search" msgstr "" #: app/(home)/index.tsx:45 -msgid "No sites have been added yet" +#~ msgid "No sites have been added yet" +#~ msgstr "" + +#: app/settings/import.tsx:77 +msgid "Processing" +msgstr "" + +#: app/qr/index.tsx:41 +msgid "Requesting for camera permission" +msgstr "" + +#: app/settings/import.tsx:60 +#: src/components/TopBar.tsx:41 +msgid "Restore sites" +msgstr "" + +#: app/qr/index.tsx:88 +msgid "Scan QR code" +msgstr "" + +#: app/qr/info.tsx:62 +msgid "Scan another code" msgstr "" -#: app/(home)/index.tsx:57 +#: app/qr/index.tsx:60 +msgid "Scan your website's 2FA QR code using your device's camera" +msgstr "" + +#: src/components/SitesList.tsx:80 msgid "Search..." msgstr "" #: src/providers/FingerprintAuthProvider.tsx:100 msgid "Secure the access to your stored 2FA using your device fingerprint authentication" msgstr "" + +#: app/qr/index.tsx:74 +msgid "The QR code can be easily recognized by simply pointing your device's camera at it" +msgstr "" + +#: app/settings/export.tsx:61 +msgid "To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time" +msgstr "" + +#: src/components/CopyToClipboard.tsx:19 +msgid "Token copied to clipboard" +msgstr "" + +#: app/settings/import.tsx:84 +msgid "{sitesProcessed, plural, one {Processed 1 site of {numberOfSites}} other {Processed # sites of {numberOfSites}}}" +msgstr "" diff --git a/src/locales/es/messages.js b/src/locales/es/messages.js index 6fb20e8..58dc9e8 100644 --- a/src/locales/es/messages.js +++ b/src/locales/es/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"Add site\":\"Añadir sitio\",\"Cancel\":\"Cancelar\",\"Enable\":\"Activar\",\"Fingerprint authentication\":\"Autenticación por huella dactilar\",\"Login\":\"Acceder\",\"Login with your fingerprint\":\"Accede mediante tu huella dactilar\",\"No results matching your search\":\"No hay resultados para tu búsqueda\",\"No sites have been added yet\":\"Aún no se ha añadido ningún sitio\",\"Search...\":\"Buscar...\",\"Secure the access to your stored 2FA using your device fingerprint authentication\":\"Segura el acceso a tus claves 2FA usando la autenticación por huella dactilar de tu dispositivo\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"Add a new site\":\"Añadir sitio\",\"Add site\":\"Añadir sitio\",\"Backup your data\":\"Copia de seguridad\",\"Cancel\":\"Cancelar\",\"Completed\":\"Completado\",\"Confirm deletion\":\"Confirmar borrado\",\"Delete\":\"Borrar\",\"Enable\":\"Activar\",\"Everything is prepared for you to add your sites\":\"Todo está listo para que añadas tus sitios\",\"Fingerprint authentication\":\"Autenticación por huella dactilar\",\"Generate file\":\"Generar fichero\",\"If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced\":\"Si quieres recuperar tu copia de seguridad, puedes cargar el fichero guardado en tu dispositivo. Es importante que sepas que los sitios existentes no serán reemplazados por los importados\",\"Load backup sites\":\"Cargar copia de seguridad\",\"Login\":\"Acceder\",\"Login with your fingerprint\":\"Accede mediante tu huella dactilar\",\"No access to camera\":\"No se puede acceder a la cámara\",\"No results matching your search\":\"No hay resultados para tu búsqueda\",\"No sites have been added yet\":\"Aún no se ha añadido ningún sitio\",\"Processing\":\"Procesando\",\"Requesting for camera permission\":\"Solicitando permiso de la cámara\",\"Restore sites\":\"Recuperar datos\",\"Scan QR code\":\"Escanear código QR\",\"Scan another code\":\"Escanear otro código\",\"Scan your website's 2FA QR code using your device's camera\":\"Escanea el código QR 2FA de tu web usando la cámara\",\"Search...\":\"Buscar...\",\"Secure the access to your stored 2FA using your device fingerprint authentication\":\"Segura el acceso a tus claves 2FA usando la autenticación por huella dactilar de tu dispositivo\",\"The QR code can be easily recognized by simply pointing your device's camera at it\":\"El código QR se puede reconocer simplemente apuntado a él la camara\",\"To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time\":\"Para asegurarse de que no pierdas tus datos guardados, puedes descargarte un fichero con los sitios y recuperarlos más tarde\",\"Token copied to clipboard\":\"Tolen copiado\",\"{sitesProcessed, plural, one {Processed 1 site of {numberOfSites}} other {Processed # sites of {numberOfSites}}}\":[[\"sitesProcessed\",\"plural\",{\"one\":[\"Procesado 1 sitio de \",[\"numberOfSites\"]],\"other\":[\"Procesados \",\"#\",\" sitios de \",[\"numberOfSites\"]]}]]}")}; \ No newline at end of file diff --git a/src/locales/es/messages.po b/src/locales/es/messages.po index 4c3e51a..b95e6f6 100644 --- a/src/locales/es/messages.po +++ b/src/locales/es/messages.po @@ -13,22 +13,61 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" +#: app/qr/index.tsx:57 #: src/components/AddSite.tsx:14 -msgid "Add site" +msgid "Add a new site" msgstr "Añadir sitio" +#: src/components/AddSite.tsx:14 +#~ msgid "Add site" +#~ msgstr "Añadir sitio" + +#: app/settings/export.tsx:58 +#: src/components/TopBar.tsx:36 +msgid "Backup your data" +msgstr "Copia de seguridad" + +#: src/components/SiteInfo.tsx:79 #: src/providers/FingerprintAuthProvider.tsx:39 msgid "Cancel" msgstr "Cancelar" +#: app/settings/import.tsx:78 +msgid "Completed" +msgstr "Completado" + +#: src/components/SiteInfo.tsx:101 +msgid "Confirm deletion" +msgstr "Confirmar borrado" + +#: src/components/SiteInfo.tsx:91 +msgid "Delete" +msgstr "Borrar" + #: src/providers/FingerprintAuthProvider.tsx:107 msgid "Enable" msgstr "Activar" +#: src/components/SitesList.tsx:63 +msgid "Everything is prepared for you to add your sites" +msgstr "Todo está listo para que añadas tus sitios" + #: src/providers/FingerprintAuthProvider.tsx:97 msgid "Fingerprint authentication" msgstr "Autenticación por huella dactilar" +#: app/settings/export.tsx:73 +msgid "Generate file" +msgstr "Generar fichero" + +#: app/settings/import.tsx:63 +msgid "If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced" +msgstr "Si quieres recuperar tu copia de seguridad, puedes cargar el fichero guardado en tu dispositivo. Es importante que sepas que los sitios existentes no serán reemplazados por los importados" + +#: app/settings/import.tsx:99 +msgid "Load backup sites" +msgstr "Cargar copia de seguridad" + #: src/providers/FingerprintAuthProvider.tsx:87 #~ msgid "Login" #~ msgstr "Acceder" @@ -37,18 +76,63 @@ msgstr "Autenticación por huella dactilar" msgid "Login with your fingerprint" msgstr "Accede mediante tu huella dactilar" -#: app/(home)/index.tsx:70 +#: app/qr/index.tsx:48 +msgid "No access to camera" +msgstr "No se puede acceder a la cámara" + +#: src/components/SitesList.tsx:93 msgid "No results matching your search" msgstr "No hay resultados para tu búsqueda" #: app/(home)/index.tsx:45 -msgid "No sites have been added yet" -msgstr "Aún no se ha añadido ningún sitio" +#~ msgid "No sites have been added yet" +#~ msgstr "Aún no se ha añadido ningún sitio" -#: app/(home)/index.tsx:57 +#: app/settings/import.tsx:77 +msgid "Processing" +msgstr "Procesando" + +#: app/qr/index.tsx:41 +msgid "Requesting for camera permission" +msgstr "Solicitando permiso de la cámara" + +#: app/settings/import.tsx:60 +#: src/components/TopBar.tsx:41 +msgid "Restore sites" +msgstr "Recuperar datos" + +#: app/qr/index.tsx:88 +msgid "Scan QR code" +msgstr "Escanear código QR" + +#: app/qr/info.tsx:62 +msgid "Scan another code" +msgstr "Escanear otro código" + +#: app/qr/index.tsx:60 +msgid "Scan your website's 2FA QR code using your device's camera" +msgstr "Escanea el código QR 2FA de tu web usando la cámara" + +#: src/components/SitesList.tsx:80 msgid "Search..." msgstr "Buscar..." #: src/providers/FingerprintAuthProvider.tsx:100 msgid "Secure the access to your stored 2FA using your device fingerprint authentication" msgstr "Segura el acceso a tus claves 2FA usando la autenticación por huella dactilar de tu dispositivo" + +#: app/qr/index.tsx:74 +msgid "The QR code can be easily recognized by simply pointing your device's camera at it" +msgstr "El código QR se puede reconocer simplemente apuntado a él la camara" + +#: app/settings/export.tsx:61 +msgid "To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time" +msgstr "Para asegurarse de que no pierdas tus datos guardados, puedes descargarte un fichero con los sitios y recuperarlos más tarde" + +#: src/components/CopyToClipboard.tsx:19 +msgid "Token copied to clipboard" +msgstr "Tolen copiado" + +#: app/settings/import.tsx:84 +msgid "{sitesProcessed, plural, one {Processed 1 site of {numberOfSites}} other {Processed # sites of {numberOfSites}}}" +msgstr "{sitesProcessed, plural, one {Procesado 1 sitio de {numberOfSites}} other {Procesados # sitios de {numberOfSites}}}" diff --git a/src/locales/fr/messages.js b/src/locales/fr/messages.js new file mode 100644 index 0000000..da96562 --- /dev/null +++ b/src/locales/fr/messages.js @@ -0,0 +1 @@ +/*eslint-disable*/module.exports={messages:JSON.parse("{\"Add a new site\":\"Ajouter un nouveau site\",\"Add site\":\"Add site\",\"Backup your data\":\"Sauvegardez vos données\",\"Cancel\":\"Annuler\",\"Completed\":\"Terminé\",\"Confirm deletion\":\"Confirmer la suppression\",\"Delete\":\"Supprimer\",\"Enable\":\"Activer\",\"Everything is prepared for you to add your sites\":\"Tout est préparé pour que vous ajoutiez vos sites\",\"Fingerprint authentication\":\"Authentification des empreintes digitales\",\"Generate file\":\"Générer un fichier\",\"If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced\":\"Si vous souhaitez restaurer vos sites enregistrés à partir d'une sauvegarde, vous pouvez charger le fichier stocké sur votre appareil. Il est important de noter que les sites existants resteront inchangés et ne seront pas remplacés\",\"Load backup sites\":\"Charger des sites de sauvegarde\",\"Login\":\"Login\",\"Login with your fingerprint\":\"Connectez-vous avec votre empreinte digitale\",\"No access to camera\":\"Pas d'accès à la caméra\",\"No results matching your search\":\"Aucun résultat correspondant à votre recherche\",\"No sites have been added yet\":\"No sites have been added yet\",\"Processing\":\"Traitement\",\"Requesting for camera permission\":\"Demande d'autorisation de caméra\",\"Restore sites\":\"Restaurer des sites\",\"Scan QR code\":\"Numériser le code QR\",\"Scan another code\":\"Analyser un autre code\",\"Scan your website's 2FA QR code using your device's camera\":\"Analysez le code QR 2FA de votre site Web à l'aide de la caméra de votre appareil\",\"Search...\":\"Recherche...\",\"Secure the access to your stored 2FA using your device fingerprint authentication\":\"Fixez l'accès à votre 2FA stocké à l'aide de l'authentification des empreintes digitales de votre appareil\",\"The QR code can be easily recognized by simply pointing your device's camera at it\":\"Le code QR peut être facilement reconnu en pointant simplement la caméra de votre appareil vers celui-ci\",\"To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time\":\"Pour vous assurer de ne pas perdre vos données enregistrées, vous pouvez télécharger un fichier des sites et les restaurer ultérieurement\",\"Token copied to clipboard\":\"Jeton copié dans le presse-papiers\",\"{sitesProcessed, plural, one {Processed 1 site of {numberOfSites}} other {Processed # sites of {numberOfSites}}}\":[[\"sitesProcessed\",\"plural\",{\"one\":[\"Site traité 1 de \",[\"numberOfSites\"]],\"other\":[\"Sites transformés \",\"#\",\" de \",[\"numberOfSites\"]]}]]}")}; \ No newline at end of file diff --git a/src/locales/fr/messages.po b/src/locales/fr/messages.po new file mode 100644 index 0000000..f75e69f --- /dev/null +++ b/src/locales/fr/messages.po @@ -0,0 +1,138 @@ +msgid "" +msgstr "" +"POT-Creation-Date: 2023-02-26 23:06+0100\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: @lingui/cli\n" +"Language: en\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Plural-Forms: \n" + +#: app/qr/index.tsx:57 +#: src/components/AddSite.tsx:14 +msgid "Add a new site" +msgstr "Ajouter un nouveau site" + +#: src/components/AddSite.tsx:14 +#~ msgid "Add site" +#~ msgstr "" + +#: app/settings/export.tsx:58 +#: src/components/TopBar.tsx:36 +msgid "Backup your data" +msgstr "Sauvegardez vos données" + +#: src/components/SiteInfo.tsx:79 +#: src/providers/FingerprintAuthProvider.tsx:39 +msgid "Cancel" +msgstr "Annuler" + +#: app/settings/import.tsx:78 +msgid "Completed" +msgstr "Terminé" + +#: src/components/SiteInfo.tsx:101 +msgid "Confirm deletion" +msgstr "Confirmer la suppression" + +#: src/components/SiteInfo.tsx:91 +msgid "Delete" +msgstr "Supprimer" + +#: src/providers/FingerprintAuthProvider.tsx:107 +msgid "Enable" +msgstr "Activer" + +#: src/components/SitesList.tsx:63 +msgid "Everything is prepared for you to add your sites" +msgstr "Tout est préparé pour que vous ajoutiez vos sites" + +#: src/providers/FingerprintAuthProvider.tsx:97 +msgid "Fingerprint authentication" +msgstr "Authentification des empreintes digitales" + +#: app/settings/export.tsx:73 +msgid "Generate file" +msgstr "Générer un fichier" + +#: app/settings/import.tsx:63 +msgid "If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced" +msgstr "Si vous souhaitez restaurer vos sites enregistrés à partir d'une sauvegarde, vous pouvez charger le fichier stocké sur votre appareil. Il est important de noter que les sites existants resteront inchangés et ne seront pas remplacés" + +#: app/settings/import.tsx:99 +msgid "Load backup sites" +msgstr "Charger des sites de sauvegarde" + +#: src/providers/FingerprintAuthProvider.tsx:87 +#~ msgid "Login" +#~ msgstr "" + +#: src/providers/FingerprintAuthProvider.tsx:37 +msgid "Login with your fingerprint" +msgstr "Connectez-vous avec votre empreinte digitale" + +#: app/qr/index.tsx:48 +msgid "No access to camera" +msgstr "Pas d'accès à la caméra" + +#: src/components/SitesList.tsx:93 +msgid "No results matching your search" +msgstr "Aucun résultat correspondant à votre recherche" + +#: app/(home)/index.tsx:45 +#~ msgid "No sites have been added yet" +#~ msgstr "" + +#: app/settings/import.tsx:77 +msgid "Processing" +msgstr "Traitement" + +#: app/qr/index.tsx:41 +msgid "Requesting for camera permission" +msgstr "Demande d'autorisation de caméra" + +#: app/settings/import.tsx:60 +#: src/components/TopBar.tsx:41 +msgid "Restore sites" +msgstr "Restaurer des sites" + +#: app/qr/index.tsx:88 +msgid "Scan QR code" +msgstr "Numériser le code QR" + +#: app/qr/info.tsx:62 +msgid "Scan another code" +msgstr "Analyser un autre code" + +#: app/qr/index.tsx:60 +msgid "Scan your website's 2FA QR code using your device's camera" +msgstr "Analysez le code QR 2FA de votre site Web à l'aide de la caméra de votre appareil" + +#: src/components/SitesList.tsx:80 +msgid "Search..." +msgstr "Recherche..." + +#: src/providers/FingerprintAuthProvider.tsx:100 +msgid "Secure the access to your stored 2FA using your device fingerprint authentication" +msgstr "Fixez l'accès à votre 2FA stocké à l'aide de l'authentification des empreintes digitales de votre appareil" + +#: app/qr/index.tsx:74 +msgid "The QR code can be easily recognized by simply pointing your device's camera at it" +msgstr "Le code QR peut être facilement reconnu en pointant simplement la caméra de votre appareil vers celui-ci" + +#: app/settings/export.tsx:61 +msgid "To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time" +msgstr "Pour vous assurer de ne pas perdre vos données enregistrées, vous pouvez télécharger un fichier des sites et les restaurer ultérieurement" + +#: src/components/CopyToClipboard.tsx:19 +msgid "Token copied to clipboard" +msgstr "Jeton copié dans le presse-papiers" + +#: app/settings/import.tsx:84 +msgid "{sitesProcessed, plural, one {Processed 1 site of {numberOfSites}} other {Processed # sites of {numberOfSites}}}" +msgstr "{sitesProcessed, plural, one {Site traité 1 de {numberOfSites}} other {Sites transformés # de {numberOfSites}}}" diff --git a/src/locales/it/messages.js b/src/locales/it/messages.js new file mode 100644 index 0000000..5621ad4 --- /dev/null +++ b/src/locales/it/messages.js @@ -0,0 +1 @@ +/*eslint-disable*/module.exports={messages:JSON.parse("{\"Add a new site\":\"Nuovo sito\",\"Add site\":\"Add site\",\"Backup your data\":\"Eseguire il backup dei dati\",\"Cancel\":\"Annulla\",\"Completed\":\"Completato\",\"Confirm deletion\":\"Conferma l'eliminazione\",\"Delete\":\"Elimina\",\"Enable\":\"Abilitare\",\"Everything is prepared for you to add your sites\":\"Tutto è pronto per aggiungere i tuoi siti\",\"Fingerprint authentication\":\"Autenticazione delle impronte digitali\",\"Generate file\":\"Genera file\",\"If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced\":\"Se si desidera ripristinare i siti salvati da un backup, è possibile caricare il file memorizzato sul dispositivo. È importante notare che i siti esistenti rimarranno invariati e non verranno sostituiti\",\"Load backup sites\":\"Carica siti di backup\",\"Login\":\"Login\",\"Login with your fingerprint\":\"Accedi con la tua impronta digitale\",\"No access to camera\":\"Nessun accesso alla fotocamera\",\"No results matching your search\":\"Nessun risultato corrispondente alla tua ricerca\",\"No sites have been added yet\":\"No sites have been added yet\",\"Processing\":\"Elaborazione\",\"Requesting for camera permission\":\"Richiesta di autorizzazione della fotocamera\",\"Restore sites\":\"Ripristina siti\",\"Scan QR code\":\"Scansione codice QR\",\"Scan another code\":\"Scansiona un altro codice\",\"Scan your website's 2FA QR code using your device's camera\":\"Scansiona il codice QR 2FA del tuo sito Web utilizzando la fotocamera del tuo dispositivo\",\"Search...\":\"Ricerca...\",\"Secure the access to your stored 2FA using your device fingerprint authentication\":\"Proteggi l'accesso al 2FA memorizzato utilizzando l'autenticazione delle impronte digitali del dispositivo\",\"The QR code can be easily recognized by simply pointing your device's camera at it\":\"Il codice QR può essere facilmente riconosciuto semplicemente puntando la fotocamera del dispositivo verso di esso\",\"To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time\":\"Per assicurarti di non perdere i dati salvati, puoi scaricare un file dei siti e ripristinarli in un secondo momento\",\"Token copied to clipboard\":\"Token copiato negli Appunti\",\"{sitesProcessed, plural, one {Processed 1 site of {numberOfSites}} other {Processed # sites of {numberOfSites}}}\":[[\"sitesProcessed\",\"plural\",{\"one\":[\"1 sito elaborato di \",[\"numberOfSites\"]],\"other\":[\"#\",\" siti trasformati di \",[\"numberOfSites\"]]}]]}")}; \ No newline at end of file diff --git a/src/locales/it/messages.po b/src/locales/it/messages.po new file mode 100644 index 0000000..14cbfaa --- /dev/null +++ b/src/locales/it/messages.po @@ -0,0 +1,138 @@ +msgid "" +msgstr "" +"POT-Creation-Date: 2023-02-26 23:06+0100\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: @lingui/cli\n" +"Language: en\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Plural-Forms: \n" + +#: app/qr/index.tsx:57 +#: src/components/AddSite.tsx:14 +msgid "Add a new site" +msgstr "Nuovo sito" + +#: src/components/AddSite.tsx:14 +#~ msgid "Add site" +#~ msgstr "" + +#: app/settings/export.tsx:58 +#: src/components/TopBar.tsx:36 +msgid "Backup your data" +msgstr "Eseguire il backup dei dati" + +#: src/components/SiteInfo.tsx:79 +#: src/providers/FingerprintAuthProvider.tsx:39 +msgid "Cancel" +msgstr "Annulla" + +#: app/settings/import.tsx:78 +msgid "Completed" +msgstr "Completato" + +#: src/components/SiteInfo.tsx:101 +msgid "Confirm deletion" +msgstr "Conferma l'eliminazione" + +#: src/components/SiteInfo.tsx:91 +msgid "Delete" +msgstr "Elimina" + +#: src/providers/FingerprintAuthProvider.tsx:107 +msgid "Enable" +msgstr "Abilitare" + +#: src/components/SitesList.tsx:63 +msgid "Everything is prepared for you to add your sites" +msgstr "Tutto è pronto per aggiungere i tuoi siti" + +#: src/providers/FingerprintAuthProvider.tsx:97 +msgid "Fingerprint authentication" +msgstr "Autenticazione delle impronte digitali" + +#: app/settings/export.tsx:73 +msgid "Generate file" +msgstr "Genera file" + +#: app/settings/import.tsx:63 +msgid "If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced" +msgstr "Se si desidera ripristinare i siti salvati da un backup, è possibile caricare il file memorizzato sul dispositivo. È importante notare che i siti esistenti rimarranno invariati e non verranno sostituiti" + +#: app/settings/import.tsx:99 +msgid "Load backup sites" +msgstr "Carica siti di backup" + +#: src/providers/FingerprintAuthProvider.tsx:87 +#~ msgid "Login" +#~ msgstr "" + +#: src/providers/FingerprintAuthProvider.tsx:37 +msgid "Login with your fingerprint" +msgstr "Accedi con la tua impronta digitale" + +#: app/qr/index.tsx:48 +msgid "No access to camera" +msgstr "Nessun accesso alla fotocamera" + +#: src/components/SitesList.tsx:93 +msgid "No results matching your search" +msgstr "Nessun risultato corrispondente alla tua ricerca" + +#: app/(home)/index.tsx:45 +#~ msgid "No sites have been added yet" +#~ msgstr "" + +#: app/settings/import.tsx:77 +msgid "Processing" +msgstr "Elaborazione" + +#: app/qr/index.tsx:41 +msgid "Requesting for camera permission" +msgstr "Richiesta di autorizzazione della fotocamera" + +#: app/settings/import.tsx:60 +#: src/components/TopBar.tsx:41 +msgid "Restore sites" +msgstr "Ripristina siti" + +#: app/qr/index.tsx:88 +msgid "Scan QR code" +msgstr "Scansione codice QR" + +#: app/qr/info.tsx:62 +msgid "Scan another code" +msgstr "Scansiona un altro codice" + +#: app/qr/index.tsx:60 +msgid "Scan your website's 2FA QR code using your device's camera" +msgstr "Scansiona il codice QR 2FA del tuo sito Web utilizzando la fotocamera del tuo dispositivo" + +#: src/components/SitesList.tsx:80 +msgid "Search..." +msgstr "Ricerca..." + +#: src/providers/FingerprintAuthProvider.tsx:100 +msgid "Secure the access to your stored 2FA using your device fingerprint authentication" +msgstr "Proteggi l'accesso al 2FA memorizzato utilizzando l'autenticazione delle impronte digitali del dispositivo" + +#: app/qr/index.tsx:74 +msgid "The QR code can be easily recognized by simply pointing your device's camera at it" +msgstr "Il codice QR può essere facilmente riconosciuto semplicemente puntando la fotocamera del dispositivo verso di esso" + +#: app/settings/export.tsx:61 +msgid "To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time" +msgstr "Per assicurarti di non perdere i dati salvati, puoi scaricare un file dei siti e ripristinarli in un secondo momento" + +#: src/components/CopyToClipboard.tsx:19 +msgid "Token copied to clipboard" +msgstr "Token copiato negli Appunti" + +#: app/settings/import.tsx:84 +msgid "{sitesProcessed, plural, one {Processed 1 site of {numberOfSites}} other {Processed # sites of {numberOfSites}}}" +msgstr "{sitesProcessed, plural, one {1 sito elaborato di {numberOfSites}} other {# siti trasformati di {numberOfSites}}}" diff --git a/src/locales/zh/messages.js b/src/locales/zh/messages.js new file mode 100644 index 0000000..47c4ef1 --- /dev/null +++ b/src/locales/zh/messages.js @@ -0,0 +1 @@ +/*eslint-disable*/module.exports={messages:JSON.parse("{\"Add a new site\":\"添加新网站\",\"Add site\":\"Add site\",\"Backup your data\":\"备份数据\",\"Cancel\":\"取消\",\"Completed\":\"已完成\",\"Confirm deletion\":\"确认删除\",\"Delete\":\"删除\",\"Enable\":\"启用\",\"Everything is prepared for you to add your sites\":\"一切准备就绪,您可以添加网站\",\"Fingerprint authentication\":\"指纹认证\",\"Generate file\":\"生成文件\",\"If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced\":\"如果要从备份还原保存的站点,则可以加载存储在设备上的文件。重要的是要注意,现有站点将保持不变并且不会被替换\",\"Load backup sites\":\"加载备份站点\",\"Login\":\"Login\",\"Login with your fingerprint\":\"用指纹登录\",\"No access to camera\":\"无法使用相机\",\"No results matching your search\":\"没有符合您搜索结果的结果\",\"No sites have been added yet\":\"No sites have been added yet\",\"Processing\":\"处理\",\"Requesting for camera permission\":\"要求相机许可\",\"Restore sites\":\"恢复网站\",\"Scan QR code\":\"扫描QR码\",\"Scan another code\":\"扫描另一个代码\",\"Scan your website's 2FA QR code using your device's camera\":\"使用设备的相机扫描网站的2FA QR码\",\"Search...\":\"搜索...\",\"Secure the access to your stored 2FA using your device fingerprint authentication\":\"使用设备指纹身份验证确保对存储的2FA的访问\",\"The QR code can be easily recognized by simply pointing your device's camera at it\":\"只需将设备的相机对准它,即可轻松识别QR码\",\"To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time\":\"为确保您不会丢失保存的数据,您可以下载站点文件并在以后还原它们\",\"Token copied to clipboard\":\"令牌复制到剪贴板\",\"{sitesProcessed, plural, one {Processed 1 site of {numberOfSites}} other {Processed # sites of {numberOfSites}}}\":[[\"sitesProcessed\",\"plural\",{\"one\":[\"处理了 \",[\"numberOfSites\"],\" 个网站\"],\"other\":[\"处理了 \",[\"numberOfSites\"],\" 个网站\"]}]]}")}; \ No newline at end of file diff --git a/src/locales/zh/messages.po b/src/locales/zh/messages.po new file mode 100644 index 0000000..cfae72b --- /dev/null +++ b/src/locales/zh/messages.po @@ -0,0 +1,138 @@ +msgid "" +msgstr "" +"POT-Creation-Date: 2023-02-26 23:06+0100\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: @lingui/cli\n" +"Language: en\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Plural-Forms: \n" + +#: app/qr/index.tsx:57 +#: src/components/AddSite.tsx:14 +msgid "Add a new site" +msgstr "添加新网站" + +#: src/components/AddSite.tsx:14 +#~ msgid "Add site" +#~ msgstr "" + +#: app/settings/export.tsx:58 +#: src/components/TopBar.tsx:36 +msgid "Backup your data" +msgstr "备份数据" + +#: src/components/SiteInfo.tsx:79 +#: src/providers/FingerprintAuthProvider.tsx:39 +msgid "Cancel" +msgstr "取消" + +#: app/settings/import.tsx:78 +msgid "Completed" +msgstr "已完成" + +#: src/components/SiteInfo.tsx:101 +msgid "Confirm deletion" +msgstr "确认删除" + +#: src/components/SiteInfo.tsx:91 +msgid "Delete" +msgstr "删除" + +#: src/providers/FingerprintAuthProvider.tsx:107 +msgid "Enable" +msgstr "启用" + +#: src/components/SitesList.tsx:63 +msgid "Everything is prepared for you to add your sites" +msgstr "一切准备就绪,您可以添加网站" + +#: src/providers/FingerprintAuthProvider.tsx:97 +msgid "Fingerprint authentication" +msgstr "指纹认证" + +#: app/settings/export.tsx:73 +msgid "Generate file" +msgstr "生成文件" + +#: app/settings/import.tsx:63 +msgid "If you want to restore your saved sites from a backup, you can load the file stored on your device. It's important to note that the existing sites will remain unchanged and won't be replaced" +msgstr "如果要从备份还原保存的站点,则可以加载存储在设备上的文件。重要的是要注意,现有站点将保持不变并且不会被替换" + +#: app/settings/import.tsx:99 +msgid "Load backup sites" +msgstr "加载备份站点" + +#: src/providers/FingerprintAuthProvider.tsx:87 +#~ msgid "Login" +#~ msgstr "" + +#: src/providers/FingerprintAuthProvider.tsx:37 +msgid "Login with your fingerprint" +msgstr "用指纹登录" + +#: app/qr/index.tsx:48 +msgid "No access to camera" +msgstr "无法使用相机" + +#: src/components/SitesList.tsx:93 +msgid "No results matching your search" +msgstr "没有符合您搜索结果的结果" + +#: app/(home)/index.tsx:45 +#~ msgid "No sites have been added yet" +#~ msgstr "" + +#: app/settings/import.tsx:77 +msgid "Processing" +msgstr "处理" + +#: app/qr/index.tsx:41 +msgid "Requesting for camera permission" +msgstr "要求相机许可" + +#: app/settings/import.tsx:60 +#: src/components/TopBar.tsx:41 +msgid "Restore sites" +msgstr "恢复网站" + +#: app/qr/index.tsx:88 +msgid "Scan QR code" +msgstr "扫描QR码" + +#: app/qr/info.tsx:62 +msgid "Scan another code" +msgstr "扫描另一个代码" + +#: app/qr/index.tsx:60 +msgid "Scan your website's 2FA QR code using your device's camera" +msgstr "使用设备的相机扫描网站的2FA QR码" + +#: src/components/SitesList.tsx:80 +msgid "Search..." +msgstr "搜索..." + +#: src/providers/FingerprintAuthProvider.tsx:100 +msgid "Secure the access to your stored 2FA using your device fingerprint authentication" +msgstr "使用设备指纹身份验证确保对存储的2FA的访问" + +#: app/qr/index.tsx:74 +msgid "The QR code can be easily recognized by simply pointing your device's camera at it" +msgstr "只需将设备的相机对准它,即可轻松识别QR码" + +#: app/settings/export.tsx:61 +msgid "To ensure that you don't lose your saved data, you can download a file of the sites and restore them at a later time" +msgstr "为确保您不会丢失保存的数据,您可以下载站点文件并在以后还原它们" + +#: src/components/CopyToClipboard.tsx:19 +msgid "Token copied to clipboard" +msgstr "令牌复制到剪贴板" + +#: app/settings/import.tsx:84 +msgid "{sitesProcessed, plural, one {Processed 1 site of {numberOfSites}} other {Processed # sites of {numberOfSites}}}" +msgstr "{sitesProcessed, plural, one {处理了 {numberOfSites} 个网站} other {处理了 {numberOfSites} 个网站}}" diff --git a/src/providers/LocalizationProvider.tsx b/src/providers/LocalizationProvider.tsx index 4d9060d..7e2d003 100644 --- a/src/providers/LocalizationProvider.tsx +++ b/src/providers/LocalizationProvider.tsx @@ -1,7 +1,7 @@ import { LocaleData, i18n } from '@lingui/core'; import { I18nProvider } from '@lingui/react'; import { getLocales } from 'expo-localization'; -import { en, es } from 'make-plural'; +import { en, es, ar, zh, it, de, fr } from 'make-plural'; import React, { FC, createContext, @@ -11,6 +11,11 @@ import React, { } from 'react'; import { messages as messagesEn } from '../locales/en/messages'; import { messages as messagesEs } from '../locales/es/messages'; +import { messages as messagesFr } from '../locales/fr/messages'; +import { messages as messagesDe } from '../locales/de/messages'; +import { messages as messagesIt } from '../locales/it/messages'; +import { messages as messagesAr } from '../locales/ar/messages'; +import { messages as messagesZh } from '../locales/zh/messages'; import { ComponentWithChildren, Locale, Locales } from '../types'; export interface LocaleContextInterface { @@ -22,16 +27,29 @@ export const defaultLocale: Locale = 'en'; export const messages: Record = { en: messagesEn, es: messagesEs, + fr: messagesFr, + ar: messagesAr, + it: messagesIt, + de: messagesDe, + zh: messagesZh, }; const localeData: Record = { en: { plurals: en }, es: { plurals: es }, + ar: { plurals: ar }, + zh: { plurals: zh }, + fr: { plurals: fr }, + it: { plurals: it }, + de: { plurals: de }, }; -i18n.loadLocaleData(defaultLocale, localeData[defaultLocale]); -i18n.load(defaultLocale, messages[defaultLocale]); -i18n.activate(defaultLocale); +const loadLanguage = (locale: Locale) => { + i18n.loadLocaleData(locale, localeData[locale]); + i18n.load(locale, messages[locale]); + i18n.activate(locale); +}; +loadLanguage(defaultLocale); const initialLocaleContext = { locale: defaultLocale, @@ -53,6 +71,7 @@ const LocalizationProvider: FC = ({ children }) => { Locales.includes(l.languageCode as Locale), )?.languageCode as Locale; setLocale(locale); + loadLanguage(locale); }, []); return ( diff --git a/src/types.ts b/src/types.ts index f83c68e..d59d7f9 100644 --- a/src/types.ts +++ b/src/types.ts @@ -10,7 +10,7 @@ export type OtpRecord = { issuer?: string; }; -export const Locales = ['en', 'es'] as const; +export const Locales = ['en', 'es', 'fr', 'it', 'de', 'zh', 'ar'] as const; export type Locale = (typeof Locales)[number]; export type LocaleData = { plurals: (n: number | string, ord?: boolean) => string;