From c1b991244c20ebb9528e0b64d731c41137f34737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Ruz=20Nieto?= <40019177+aruznieto@users.noreply.github.com> Date: Sun, 3 Sep 2023 11:01:54 +0200 Subject: [PATCH] Update translations (#204) New languages and edit script --- chameleonultragui/lib/l10n/README.md | 6 +- chameleonultragui/lib/l10n/app_da.arb | 21 ------- chameleonultragui/lib/l10n/app_de.arb | 11 +++- chameleonultragui/lib/l10n/app_de_AT.arb | 15 +++-- chameleonultragui/lib/l10n/app_en.arb | 5 +- chameleonultragui/lib/l10n/app_es.arb | 7 ++- chameleonultragui/lib/l10n/app_fr.arb | 15 +++-- chameleonultragui/lib/l10n/app_it.arb | 19 ------- chameleonultragui/lib/l10n/app_ko.arb | 8 --- chameleonultragui/lib/l10n/app_nl.arb | 19 ------- chameleonultragui/lib/l10n/app_pl.arb | 3 - chameleonultragui/lib/l10n/app_ro.arb | 23 +------- chameleonultragui/lib/l10n/app_ru.arb | 4 +- chameleonultragui/lib/l10n/update.py | 10 ++-- .../lib/sharedprefsprovider.dart | 56 +++++++++++++++++-- 15 files changed, 103 insertions(+), 119 deletions(-) delete mode 100644 chameleonultragui/lib/l10n/app_it.arb delete mode 100644 chameleonultragui/lib/l10n/app_nl.arb delete mode 100644 chameleonultragui/lib/l10n/app_pl.arb diff --git a/chameleonultragui/lib/l10n/README.md b/chameleonultragui/lib/l10n/README.md index 1a3e9b69..9a1eb3f4 100644 --- a/chameleonultragui/lib/l10n/README.md +++ b/chameleonultragui/lib/l10n/README.md @@ -1,3 +1,7 @@ # Translations -If you want to collaborate by adding your language to the application, you can do it through [our Crowdin project](https://crowdin.com/project/chameleonultragui). Do not contribute files into `chameleonultragui/lib/l100n/app_*.arb`. All translations should be added only to Crowdin. If your language is missing, you can create issue and ask to enable it. "Chameleon Ultra GUI", "Chameleon" and other trademarks should not be translated. +If you want to collaborate by adding your language to the application, you can do it through [our Crowdin project](https://crowdin.com/project/chameleonultragui). + +Do not contribute files into `chameleonultragui/lib/l100n/app_*.arb`. All translations should be added only to Crowdin. If your language is missing, you can create issue and ask to enable it. "Chameleon Ultra GUI", "Chameleon" and other trademarks should not be translated. + +Languages that are **70%** or more translated will be automatically deployed in the application. diff --git a/chameleonultragui/lib/l10n/app_da.arb b/chameleonultragui/lib/l10n/app_da.arb index d3d9bc63..15d4026f 100644 --- a/chameleonultragui/lib/l10n/app_da.arb +++ b/chameleonultragui/lib/l10n/app_da.arb @@ -1,6 +1,5 @@ { "@@locale": "da", - "ok": "OK", "cancel": "Afbryd", "close": "Luk", "save": "Gem", @@ -16,15 +15,12 @@ "cards": "Kort", "dictionary": "Ordbog", "dictionaries": "Ordb\u00f8ger", - "slot": "Slot", - "slots": "Slots", "slot_manager": "Slot Administration", "saved_cards": "Gemte kort", "read_card": "L\u00e6s kort", "write_card": "Skriv til kort", "settings": "Indstillinger", "theme": "Tema", - "system": "System", "light": "Lys", "dark": "M\u00f8rk", "color_scheme": "Farveskema", @@ -32,7 +28,6 @@ "purple": "Lilla", "blue": "Bl\u00e5", "green": "Gr\u00f8n", - "indigo": "Indigo", "lime": "Citron", "red": "R\u00f8d", "yellow": "Gul", @@ -43,8 +38,6 @@ "debug": "Fejlfinde", "debug_page_warning": "Brug af denne menu kan mure din Chameleon PERMANENT.", "warned": "Du er blevet advaret.", - "platform": "Platform", - "android": "Android", "serial_protocol": "Seriel protokol", "chameleon_connected": "Chameleon forbundet", "chameleon_device_type": "Chameleon enhedstype", @@ -61,12 +54,10 @@ "error": "Fejl", "chameleon_is_dfu": "Chameleon er i DFU tilstand.", "flash": "Blink", - "dfu": " (DFU)", "keys": "N\u00f8gler", "found_keys": "Fundne n\u00f8gler", "please_wait": "Vent et \u00f8jeblik", "used_slots": "Brugte Slots", - "firmware_version": "Firmware version", "update_error": "Opdateringsfejl", "downloading_fw": "Henter og forbereder ny Chameleon {model} firmware...", "check_updates": "S\u00f8g efter opdateringer", @@ -84,7 +75,6 @@ "auto": "Automatisk", "restart_now": "Genstart nu", "about_text": "Et v\u00e6rkt\u00f8j til grafisk at administrere og konfigurere din Chameleon Ultra, skrevet i Flutter og k\u00f8rer p\u00e5 Desktop og Mobile.", - "version": "Version", "developed_by": "Udviklet af", "license": "Licens", "thanks_for_support": "Tak til alle, der st\u00f8tter os p\u00e5 Open Collective!", @@ -100,9 +90,6 @@ "pick_color": "V\u00e6lg en farve", "reset_default": "Genetabler standard indstillinger", "please_enter_something": "Indtast {name}", - "uid": "UID", - "sak": "SAK", - "atqa": "ATQA", "enter_something": "Indtast {name}", "must_or": "{name} skal v\u00e6re {a} eller {b} bytes lang.", "must_be": "{name} skal v\u00e6re {a} bytes lang.", @@ -124,7 +111,6 @@ "factory_reset": "Fabriksindstillinger", "factory_sure": "Er du sikker p\u00e5 du vil nulstille din Chameleon?", "full": "Fuld", - "mini": "Mini", "none": "Ingen", "edit_dictionary": "Editer ordbog", "enter_dict_name": "Indtast navn p\u00e5 ordborg", @@ -132,16 +118,11 @@ "empty": "Tom", "slot_settings": "Slot indstillinger", "slot_status": "Slot status", - "hf": "HF", - "lf": "LF", - "mode_gen1a": "Gen1A Magic Mode", - "mode_gen2": "Gen2 Magic Mode", "use_from_block": "Brug UID/SAK/ATQA fra blok 0", "collect_nonces": "Hent flere nonces ({type})", "present_cham_reader_keys": "Hold Chameleon til l\u00e6ser for at genetablere n\u00f8gler", "ena_coll_recover_keys": "Aktiver hentning af gendannelsesn\u00f8gler", "write_mode": "Skrivetilstand", - "normal": "Normal", "decline": "Afvis", "deceive": "Bedrage", "shadow": "Skygge", @@ -158,7 +139,6 @@ "read": "L\u00e6s", "write": "Skriv", "save_only_uid": "Gem kun UID", - "letter_space": "{letter} ", "dump_partial_data": "Gem delvise data", "additional_key_dict": "Ekstra n\u00f8gleordbog", "check_keys_dict": "Indtast n\u00f8glerne i ordbogen", @@ -166,7 +146,6 @@ "save_as": "Gem som {name}", "correct_tag_data": "Korrig\u00e9r tag-detaljer", "uid_len": "UID {len} byte-l\u00e6ngde", - "tag_type": "Tag type", "select_save_format": "V\u00e6lg filformat", "key_count": "Antal n\u00f8gler", "all": "Alle", diff --git a/chameleonultragui/lib/l10n/app_de.arb b/chameleonultragui/lib/l10n/app_de.arb index 00d46499..53de7cdb 100644 --- a/chameleonultragui/lib/l10n/app_de.arb +++ b/chameleonultragui/lib/l10n/app_de.arb @@ -16,7 +16,6 @@ "cards": "Karten", "dictionary": "W\u00f6rterbuch", "dictionaries": "W\u00f6rterb\u00fccher", - "slot": "Slot", "slots": "Slots", "slot_manager": "Slot Manager", "saved_cards": "Gespeicherte Karten", @@ -40,6 +39,7 @@ "activate": "Aktivieren", "deactivate": "Deaktivieren", "debug_mode": "Debug-Modus", + "debug_mode_confirmation": "Sind sie sicher, dass die den Debugmodus {mode} m\u00f6chten? Er ist f\u00fcr Entwickler um spezifische Funktionen auf nicht unterst\u00fctzten Plattformen zu testen.", "debug": "Debug", "debug_page_warning": "Wenn Sie dieses Men\u00fc benutzen, k\u00f6nnen Sie ihr Chameleon PERMANENT zerst\u00f6ren.", "warned": "Sie wurden gewarnt.", @@ -60,6 +60,7 @@ "restart_chameleon": "Chameleon neu starten", "error": "Fehler", "chameleon_is_dfu": "Chameleon ist im DFU-Modus.", + "firmware_is_corrupted": "Dies bedeutet wahrscheinlich, dass Ihre Firmware besch\u00e4digt ist. M\u00f6chten Sie die neueste FW flashen?", "flash": "Flash", "dfu": " (DFU)", "keys": "Schl\u00fcssel", @@ -68,6 +69,7 @@ "used_slots": "Benutzte Slots", "firmware_version": "Firmware Version", "update_error": "Aktualisierung fehlerhaft", + "up_to_date": "Ihre Chameleon-{model} Firmware ist aktuell", "downloading_fw": "Herunterladen und vorbereiten neuer Chameleon-{model} Firmware...", "check_updates": "Nach Updates suchen", "emulator_mode": "Gehe zum Emulator-Modus", @@ -134,6 +136,7 @@ "slot_status": "Slot-Status", "hf": "HF", "lf": "LF", + "mifare_classic_emulator_settings": "Mifare Classic Emulator Einstellungen", "mode_gen1a": "Gen1A Magic Modus", "mode_gen2": "Gen2 Magic Modus", "use_from_block": "Benutze UID/SAK/ATQA aus 0 Block", @@ -147,12 +150,14 @@ "shadow": "Schatten", "outdated_fw": "Veraltete FW", "unknown": "Unbekannt", + "recovery_error_no_supported": "Schl\u00fcsselwiederherstellung von dieser Karte wird noch nicht unterst\u00fctzt", "recovery_error_no_keys_darkside": "Keine Schl\u00fcssel und nicht anf\u00e4llig f\u00fcr Darkside Angriff", "recovery_error_dict": "Bei der W\u00f6rterbuchpr\u00fcfung ist etwas schief gelaufen", "recovery_error_dump_data": "Beim Kopieren von Daten ist etwas schiefgelaufen", "output_file": "Bitte w\u00e4hlen Sie eine Ausgabe-Datei aus", "hf_tag_info": "HF Tag Info", "lf_tag_info": "LF Tag Info", + "no_card_found": "Keine Karte gefunden. Versuchen Sie, Chameleon auf eine Karte zu verschieben", "no_supported": "Nicht unterst\u00fctzte Aktion", "lite_no_read": "Chameleon Lite unterst\u00fctzt keine Lesen von Karten", "read": "Lesen", @@ -173,5 +178,7 @@ "no_name": "Kein Name", "connecting_to_ble": "Verbinde mit Bluetooth Ger\u00e4t...", "default_ble_password": "Der Standard BLE Kopplungspin ist 123456", - "connection_might_take_some_time": "Erste Verbindung kann einige Zeit dauern" + "connection_might_take_some_time": "Erste Verbindung kann einige Zeit dauern", + "too_long_name": "Der Name ist zu lang", + "slot": "Slot" } \ No newline at end of file diff --git a/chameleonultragui/lib/l10n/app_de_AT.arb b/chameleonultragui/lib/l10n/app_de_AT.arb index cf7c7673..11f6e253 100644 --- a/chameleonultragui/lib/l10n/app_de_AT.arb +++ b/chameleonultragui/lib/l10n/app_de_AT.arb @@ -16,7 +16,6 @@ "cards": "Koardn", "dictionary": "W\u00e4rdabuach", "dictionaries": "W\u00e4rdabiacher", - "slot": "Slot", "slots": "Slots", "slot_manager": "Slot verwoiter", "saved_cards": "Gepeicherte Koarten", @@ -40,10 +39,11 @@ "activate": "Actviern", "deactivate": "Deactviern", "debug_mode": "k\u00e4fa Modus", + "debug_mode_confirmation": "Sind sie sicher, dass die den Debugmodus {mode} m\u00f6chten? Er ist f\u00fcr Entwickler um spezifische Funktionen auf nicht unterst\u00fctzten Plattformen zu testen.", "debug": "Entk\u00e4fa", "debug_page_warning": "Des Men\u00fc zu verwendn kinad dei Chameleon permanent runiern.", "warned": "Du wurdst gwarnt.", - "platform": "Platform", + "platform": "Plattform", "android": "Android", "serial_protocol": "Seriels Protokoll", "chameleon_connected": "Chameleon verbundn", @@ -60,14 +60,16 @@ "restart_chameleon": "Chameleon neich startn", "error": "F\u00e4la", "chameleon_is_dfu": "Chameleon is im DFU modus.", + "firmware_is_corrupted": "Dies bedeutet wahrscheinlich, dass Ihre Firmware besch\u00e4digt ist. M\u00f6chten Sie die neueste FW flashen?", "flash": "Flash", "dfu": " (DFU)", "keys": "Schliasl", "found_keys": "Gfundene Schliasl", "please_wait": "Bitte woardn", "used_slots": "Verwendte Slots", - "firmware_version": "Firmware version", + "firmware_version": "Firmware Version", "update_error": "Update f\u00e4la", + "up_to_date": "Ihre Chameleon-{model} Firmware ist aktuell", "downloading_fw": "Runterladn und vorbreiten neuer Chameleon {model} firmware...", "check_updates": "Auf updates priafn", "emulator_mode": "Zum emulator mode w\u00e4chsln", @@ -134,6 +136,7 @@ "slot_status": "Slot-Status", "hf": "HF", "lf": "LF", + "mifare_classic_emulator_settings": "Mifare Classic Emulator Einstellungen", "mode_gen1a": "Gen1A Magic Modus", "mode_gen2": "Gen2 Magic Modus", "use_from_block": "Nimm UID/SAK/ATQA aus Block Nui", @@ -147,12 +150,14 @@ "shadow": "Schotten", "outdated_fw": "Veroutete FW", "unknown": "Unbekannt", + "recovery_error_no_supported": "Schl\u00fcsselwiederherstellung von dieser Karte wird noch nicht unterst\u00fctzt", "recovery_error_no_keys_darkside": "Keine Schliassl und ned anf\u00e4llig f\u00fcr Darkside Angriff", "recovery_error_dict": "Bei der W\u00f6arterbuachpriafung ist wos schief glaufn", "recovery_error_dump_data": "Beim Kopieren von Dotn ist wos schiefgelaufn", "output_file": "Bitte w\u00e4hlen a Ausgabe-Datei aus", "hf_tag_info": "HF Tag Info", "lf_tag_info": "LF Tag Info", + "no_card_found": "Keine Karte gefunden. Versuchen Sie, Chameleon auf eine Karte zu verschieben", "no_supported": "Ned unterstitzte Aktion", "lite_no_read": "Chameleon Lite unterstitzt ka Lesen vo Koartn", "read": "Lesen", @@ -173,5 +178,7 @@ "no_name": "Kei Nam", "connecting_to_ble": "Verbindn mit Bluetooth Gr\u00e4t...", "default_ble_password": "Des stondard password is 123456", - "connection_might_take_some_time": "Erste moi verbindn kon a bisl dauan" + "connection_might_take_some_time": "Erste moi verbindn kon a bisl dauan", + "too_long_name": "Der Name ist zu lang", + "slot": "Slot" } \ No newline at end of file diff --git a/chameleonultragui/lib/l10n/app_en.arb b/chameleonultragui/lib/l10n/app_en.arb index 0f0cdf55..16010a92 100644 --- a/chameleonultragui/lib/l10n/app_en.arb +++ b/chameleonultragui/lib/l10n/app_en.arb @@ -16,7 +16,6 @@ "cards": "Cards", "dictionary": "Dictionary", "dictionaries": "Dictionaries", - "slot": "Slot", "slots": "Slots", "slot_manager": "Slot Manager", "saved_cards": "Saved Cards", @@ -179,5 +178,7 @@ "no_name": "No name", "connecting_to_ble": "Connecting to BLE device...", "default_ble_password": "Default BLE connection password is 123456", - "connection_might_take_some_time": "First connection might take some time" + "connection_might_take_some_time": "First connection might take some time", + "too_long_name": "The name is too long", + "slot": "Slot" } \ No newline at end of file diff --git a/chameleonultragui/lib/l10n/app_es.arb b/chameleonultragui/lib/l10n/app_es.arb index bde01b5a..06fd2854 100644 --- a/chameleonultragui/lib/l10n/app_es.arb +++ b/chameleonultragui/lib/l10n/app_es.arb @@ -16,7 +16,6 @@ "cards": "Tarjetas", "dictionary": "Diccionario", "dictionaries": "Diccionarios", - "slot": "Ranura", "slots": "Ranuras", "slot_manager": "Gestor de ranuras", "saved_cards": "Tarjetas guardadas", @@ -62,7 +61,7 @@ "error": "Error", "chameleon_is_dfu": "Chameleon est\u00e1 en modo DFU.", "firmware_is_corrupted": "Esto probablemente significa que su firmware est\u00e1 da\u00f1ado. \u00bfQuieres flashear el \u00faltimo firmware?", - "flash": "Flash", + "flash": "Flashear", "dfu": " (DFU)", "keys": "Claves", "found_keys": "Claves encontradas", @@ -179,5 +178,7 @@ "no_name": "Sin nombre", "connecting_to_ble": "Conectando con el dispositivo BLE...", "default_ble_password": "La contrase\u00f1a de conexi\u00f3n BLE predeterminada es 123456", - "connection_might_take_some_time": "La primera conexi\u00f3n puede tardar alg\u00fan tiempo" + "connection_might_take_some_time": "La primera conexi\u00f3n puede tardar alg\u00fan tiempo", + "too_long_name": "El nombre es demasiado largo", + "slot": "Ranura" } \ No newline at end of file diff --git a/chameleonultragui/lib/l10n/app_fr.arb b/chameleonultragui/lib/l10n/app_fr.arb index 41749b1c..4429dcc5 100644 --- a/chameleonultragui/lib/l10n/app_fr.arb +++ b/chameleonultragui/lib/l10n/app_fr.arb @@ -16,7 +16,6 @@ "cards": "Cartes", "dictionary": "Dictionnaire", "dictionaries": "Dictionnaires", - "slot": "Emplacement", "slots": "Emplacements", "slot_manager": "Gestion Emplacement", "saved_cards": "Cartes Enregistr\u00e9es", @@ -40,6 +39,7 @@ "activate": "Activer", "deactivate": "D\u00e9sactiver", "debug_mode": "Mode D\u00e9bogage", + "debug_mode_confirmation": "Etes-vous s\u00fbr de vouloir passer en mode d\u00e9bogage {mode}\u00a0? Il est cr\u00e9\u00e9 sp\u00e9cifiquement pour que les d\u00e9veloppeurs puissent tester des fonctions d'application sp\u00e9cifiques sur des plates-formes NON PRISES EN CHARGE.", "debug": "D\u00e9bogage", "debug_page_warning": "L'utilisation de ce menu peut bloquer votre Chameleon de fa\u00e7on PERMANENTE.", "warned": "Vous \u00eates pr\u00e9venu .", @@ -60,6 +60,7 @@ "restart_chameleon": "Red\u00e9marrer Chameleon", "error": "Erreur", "chameleon_is_dfu": "Chameleon est en mode DFU.", + "firmware_is_corrupted": "Cela signifie probablement que votre firmware est corrompu. Voulez-vous installer la derni\u00e8re version du FW ?", "flash": "Flash", "dfu": " (DFU)", "keys": "Cl\u00e9s", @@ -68,6 +69,7 @@ "used_slots": "Emplacements utilis\u00e9s", "firmware_version": "Version Firmware", "update_error": "Erreur de mise \u00e0 jour", + "up_to_date": "Le firmware de votre Chameleon {model} est \u00e0 jour", "downloading_fw": "T\u00e9l\u00e9chargement et pr\u00e9paration du nouveau firmware Chameleon {model}...", "check_updates": "V\u00e9rifier les mises \u00e0 jour", "emulator_mode": "Passer en mode \u00e9mulateur", @@ -110,7 +112,7 @@ "firmware_management": "Gestion du firmware", "enter_dfu": "Passer en mode DFU", "flash_via_dfu": "Flasher le dernier FW via DFU", - "flash_zip_dfu": "Flash .zip FW via DFU", + "flash_zip_dfu": "Flasher .zip FW via DFU", "animations": "Animations", "button_config": "Configuration des boutons", "button_x": "bouton {x}", @@ -118,7 +120,7 @@ "disable": "D\u00e9sactiver", "forward": "Suivant", "backward": "Pr\u00e9c\u00e9dent", - "clone_uid": "Clone UID", + "clone_uid": "Cloner UID", "other": "Autre", "reset_settings": "R\u00e9initialiser param\u00e8tres", "factory_reset": "R\u00e9initialisation d'usine", @@ -134,6 +136,7 @@ "slot_status": "Statut de l'emplacement", "hf": "HF", "lf": "LF", + "mifare_classic_emulator_settings": "Mifare Classic param\u00e8tres de l'\u00e9mulateur", "mode_gen1a": "Gen1A Magic Mode", "mode_gen2": "Gen2 Magic Mode", "use_from_block": "Utiliser UID/SAK/ATQA \u00e0 partir de 0 bloc", @@ -147,12 +150,14 @@ "shadow": "Ombre", "outdated_fw": "FW obsol\u00e8te", "unknown": "Inconnu", + "recovery_error_no_supported": "La r\u00e9cup\u00e9ration de cl\u00e9 \u00e0 partir de cette carte n'est pas encore prise en charge", "recovery_error_no_keys_darkside": "Aucune cl\u00e9 et pas vuln\u00e9rable \u00e0 une attaque Darkside", "recovery_error_dict": "Une erreur s'est produite lors de la v\u00e9rification du dictionnaire", "recovery_error_dump_data": "Une erreur s'est produite lors du chargement des donn\u00e9es", "output_file": "Veuillez choisir un fichier de sortie", "hf_tag_info": "HF Tag Info", "lf_tag_info": "LF Tag Info", + "no_card_found": "Aucune carte trouv\u00e9e. Essayez de d\u00e9placer Chameleon sur la carte", "no_supported": "Action non prise en charge", "lite_no_read": "Chameleon Lite ne prend pas en charge la lecture des cartes", "read": "Lire", @@ -173,5 +178,7 @@ "no_name": "Aucun nom", "connecting_to_ble": "Connexion \u00e0 l'appareil BLE...", "default_ble_password": "Le mot de passe de connexion BLE par d\u00e9faut est 123456", - "connection_might_take_some_time": "La premi\u00e8re connexion peut prendre un certain temps" + "connection_might_take_some_time": "La premi\u00e8re connexion peut prendre un certain temps", + "too_long_name": "Le nom est trop long", + "slot": "Emplacement" } \ No newline at end of file diff --git a/chameleonultragui/lib/l10n/app_it.arb b/chameleonultragui/lib/l10n/app_it.arb deleted file mode 100644 index 23b02eca..00000000 --- a/chameleonultragui/lib/l10n/app_it.arb +++ /dev/null @@ -1,19 +0,0 @@ -{ - "@@locale": "it", - "ok": "OK", - "cancel": "Annulla", - "close": "Chiudi", - "save": "Salva", - "no": "No", - "yes": "Si", - "enabled": "Abilitato", - "disabled": "Disabilitato", - "available": "Disponibile", - "connect": "Connetti", - "home": "Homepage", - "dictionary": "Dizionario", - "dictionaries": "Dizionari", - "slot": "Slot", - "slots": "Slots", - "slot_manager": "Gestore Slot" -} \ No newline at end of file diff --git a/chameleonultragui/lib/l10n/app_ko.arb b/chameleonultragui/lib/l10n/app_ko.arb index 49b9567d..a1a7f4c1 100644 --- a/chameleonultragui/lib/l10n/app_ko.arb +++ b/chameleonultragui/lib/l10n/app_ko.arb @@ -16,7 +16,6 @@ "cards": "\uce74\ub4dc\ub4e4", "dictionary": "\uc0ac\uc804", "dictionaries": "\uc0ac\uc804", - "slot": "\uc2ac\ub86f", "slots": "\uc2ac\ub86f\ub4e4", "slot_manager": "\uc2ac\ub86f \uad00\ub9ac\uc790", "saved_cards": "\uc800\uc7a5\ub41c \uce74\ub4dc", @@ -61,7 +60,6 @@ "error": "\uc624\ub958", "chameleon_is_dfu": "Chameleon\uc740 DFU \ubaa8\ub4dc\uc785\ub2c8\ub2e4.", "flash": "\ud50c\ub798\uc2dc", - "dfu": " (DFU)", "keys": "\ud0a4", "found_keys": "\ucc3e\uc740 \ud0a4", "please_wait": "\uc7a0\uc2dc\ub9cc \uae30\ub2e4\ub824 \uc8fc\uc138\uc694.", @@ -100,9 +98,6 @@ "pick_color": "\uc0c9\uc0c1 \uc120\ud0dd", "reset_default": "\uae30\ubcf8\uac12\uc73c\ub85c \uc7ac\uc124\uc815", "please_enter_something": "{name} \uc744(\ub97c) \uc785\ub825\ud558\uc138\uc694", - "uid": "UID", - "sak": "SAK", - "atqa": "ATQA", "enter_something": "{name} \uc785\ub825", "must_or": "{name} \uae38\uc774\ub294 {a} \ub610\ub294 {b} \ubc14\uc774\ud2b8\uc5ec\uc57c \ud569\ub2c8\ub2e4.", "must_be": "{name} \uc740 \uae38\uc774\uac00 {a} \ubc14\uc774\ud2b8\uc5ec\uc57c \ud569\ub2c8\ub2e4.", @@ -132,8 +127,6 @@ "empty": "\ube44\uc5b4 \uc788\uc74c", "slot_settings": "\uc2ac\ub86f \uc124\uc815", "slot_status": "\uc2ac\ub86f \uc0c1\ud0dc", - "hf": "HF", - "lf": "LF", "mode_gen1a": "Gen1A \ub9e4\uc9c1 \ubaa8\ub4dc", "mode_gen2": "Gen2 \ub9e4\uc9c1 \ubaa8\ub4dc", "use_from_block": "0 \ube14\ub85d\uc758 UID/SAK/ATQA \uc0ac\uc6a9", @@ -158,7 +151,6 @@ "read": "\uc77d\uae30", "write": "\uc4f0\uae30", "save_only_uid": "UID\ub9cc \uc800\uc7a5", - "letter_space": "{letter} ", "dump_partial_data": "\uc77c\ubd80 \ub370\uc774\ud130 \ub364\ud504", "additional_key_dict": "\ud0a4 \uc0ac\uc804 \ucd94\uac00", "check_keys_dict": "\uc0ac\uc804\uc5d0\uc11c \ud0a4 \ud655\uc778", diff --git a/chameleonultragui/lib/l10n/app_nl.arb b/chameleonultragui/lib/l10n/app_nl.arb deleted file mode 100644 index fe5dfc93..00000000 --- a/chameleonultragui/lib/l10n/app_nl.arb +++ /dev/null @@ -1,19 +0,0 @@ -{ - "@@locale": "nl", - "ok": "OK", - "cancel": "Annuleeren", - "close": "Afsluiten", - "save": "Opslaan", - "no": "Nee", - "yes": "Ja", - "enabled": "Ingeschakeld", - "disabled": "Uitgeschakeld", - "available": "Voorhanden", - "unavailable": "Onbereikbaar", - "connect": "Verbinden", - "home": "Home", - "card": "Kaart", - "cards": "Kaarten", - "dictionary": "Woordenboek", - "dictionaries": "Woordenboeken" -} \ No newline at end of file diff --git a/chameleonultragui/lib/l10n/app_pl.arb b/chameleonultragui/lib/l10n/app_pl.arb deleted file mode 100644 index 4181fa23..00000000 --- a/chameleonultragui/lib/l10n/app_pl.arb +++ /dev/null @@ -1,3 +0,0 @@ -{ - "@@locale": "pl" -} \ No newline at end of file diff --git a/chameleonultragui/lib/l10n/app_ro.arb b/chameleonultragui/lib/l10n/app_ro.arb index d56733ad..4e487827 100644 --- a/chameleonultragui/lib/l10n/app_ro.arb +++ b/chameleonultragui/lib/l10n/app_ro.arb @@ -1,6 +1,5 @@ { "@@locale": "ro", - "ok": "OK", "cancel": "Anuleaz\u0103", "close": "\u00cenchide", "save": "Salveaz\u0103", @@ -12,11 +11,9 @@ "unavailable": "Indisponibil", "connect": "Conecteaz\u0103-te", "home": "Acas\u0103", - "card": "Card", "cards": "Carduri", "dictionary": "Dic\u021bionar", "dictionaries": "Dic\u021bionare", - "slot": "Slot-ul", "slots": "Sloturi", "slot_manager": "Manager de sloturi", "saved_cards": "Carduri Salvate", @@ -32,7 +29,6 @@ "purple": "Violet", "blue": "Albastru", "green": "Verde", - "indigo": "Indigo", "lime": "L\u0103m\u00e2ie verde", "red": "Ro\u0219u", "yellow": "Galben", @@ -44,7 +40,6 @@ "debug_page_warning": "Folosind acest meniu \u00ee\u021bi poate strica Chameleon-ul PERMANENT.", "warned": "Ai fost avertizat.", "platform": "Platform\u0103", - "android": "Android", "serial_protocol": "Protocol serial", "chameleon_connected": "Chameleon Conectat", "chameleon_device_type": "Tip dispozitiv Chameleon", @@ -54,14 +49,11 @@ "test_naming": "Testare nume", "test_nested_lib": "Testeaz\u0103 biblioteca Nested", "test_darkside_lib": "Testeaz\u0103 biblioteca Darkside", - "dfu_flash_ultra": "DFU Flash Ultra FW", - "dfu_flash_lite": "DFU Flash Lite FW", "safe_option": "Op\u021biune sigur\u0103", "restart_chameleon": "Reporne\u0219te Chameleon", "error": "Eroare", "chameleon_is_dfu": "Chameleon este \u00een modul DFU.", "flash": "Instaleaz\u0103", - "dfu": " (DFU)", "keys": "Chei", "found_keys": "Chei g\u0103site", "please_wait": "A\u0219tepta\u021bi", @@ -81,7 +73,6 @@ "sidebar_expansion": "Extindere bar\u0103 lateral\u0103", "expand": "Extinde", "retract": "Retragere", - "auto": "Auto", "restart_now": "Reporni\u021bi acum", "about_text": "Un instrument pentru a gestiona grafic \u0219i configura Chameleon Ultra, scris \u00een Flutter \u0219i rul\u00e2nd pe Desktop \u0219i Mobile.", "version": "Versiune", @@ -92,7 +83,6 @@ "not_implemented": "Neimplementat", "edit_data": "Editare date", "enter_data": "Introducere date", - "sector": "Sector", "edit_card": "Editare card", "please_enter_name": "Introduce\u021bi un nume", "name": "Nume", @@ -100,9 +90,6 @@ "pick_color": "Alege\u021bi o culoare", "reset_default": "Resetare la mod implicit", "please_enter_something": "V\u0103 rug\u0103m s\u0103 introduce\u021bi {name}", - "uid": "UID", - "sak": "SAK", - "atqa": "ATQA", "enter_something": "Introduce\u021bi {name}", "must_or": "{name} trebuie s\u0103 fie {a} sau {b} octe\u021bi lungime.", "must_be": "{name} trebuie s\u0103 fie {a} octe\u021bi lungi.", @@ -124,7 +111,6 @@ "factory_reset": "Set\u0103rile din fabric\u0103", "factory_sure": "Sunte\u021bi sigur c\u0103 dori\u021bi s\u0103 reseta\u021bi Chameleon-ul la set\u0103rile din fabrica?", "full": "Complet", - "mini": "Mini", "none": "Niciuna", "edit_dictionary": "Editeaz\u0103 dic\u021bionarul", "enter_dict_name": "Introduce\u021bi numele dic\u021bionarului", @@ -132,8 +118,6 @@ "empty": "Gol", "slot_settings": "Set\u0103ri Slot", "slot_status": "Stare Slot", - "hf": "HF", - "lf": "LF", "mode_gen1a": "Mod Magic Gen1A", "mode_gen2": "Mod Magic Gen2", "use_from_block": "Utilizeaz\u0103 UID/SAK/ATQA de la blocul 0", @@ -141,10 +125,7 @@ "present_cham_reader_keys": "Prezint\u0103 Chameleon-ul la cititor pentru a recupera cheile", "ena_coll_recover_keys": "Activeaz\u0103 colectarea pentru a recupera cheile", "write_mode": "Mod scriere", - "normal": "Normal", "decline": "Refuza\u021bi", - "deceive": "Deceive", - "shadow": "Shadow", "outdated_fw": "FW \u00eenvechit", "unknown": "Necunoscut", "recovery_error_no_keys_darkside": "Nicio cheie \u0219i nu este vulnerabil\u0103 la atacul Darkside", @@ -158,7 +139,6 @@ "read": "Citeste", "write": "Scrie", "save_only_uid": "Salveaz\u0103 doar UID", - "letter_space": "{letter} ", "dump_partial_data": "Copie date par\u021biale", "additional_key_dict": "Dic\u021bionar suplimentar de chei", "check_keys_dict": "Verific\u0103 cheile din dic\u021bionar", @@ -173,5 +153,6 @@ "no_name": "F\u0103r\u0103 nume", "connecting_to_ble": "Conectare la dispozitiv...", "default_ble_password": "Parola de conexiune BLE implicit\u0103 este 123456", - "connection_might_take_some_time": "Prima conexiune ar putea dura ceva timp" + "connection_might_take_some_time": "Prima conexiune ar putea dura ceva timp", + "too_long_name": "Numele este prea lung" } \ No newline at end of file diff --git a/chameleonultragui/lib/l10n/app_ru.arb b/chameleonultragui/lib/l10n/app_ru.arb index 665fa7d2..c71f1af4 100644 --- a/chameleonultragui/lib/l10n/app_ru.arb +++ b/chameleonultragui/lib/l10n/app_ru.arb @@ -16,7 +16,6 @@ "cards": "\u041a\u0430\u0440\u0442\u044b", "dictionary": "\u0421\u043b\u043e\u0432\u0430\u0440\u044c", "dictionaries": "\u0421\u043b\u043e\u0432\u0430\u0440\u0438", - "slot": "\u0421\u043b\u043e\u0442", "slots": "\u0421\u043b\u043e\u0442\u044b", "slot_manager": "\u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0441\u043b\u043e\u0442\u043e\u0432", "saved_cards": "\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u043a\u0430\u0440\u0442\u044b", @@ -179,5 +178,6 @@ "no_name": "\u0411\u0435\u0437 \u0438\u043c\u0435\u043d\u0438", "connecting_to_ble": "\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a BLE \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443...", "default_ble_password": "123456 - \u043f\u0430\u0440\u043e\u043b\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 BLE", - "connection_might_take_some_time": "\u041f\u0435\u0440\u0432\u043e\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u044f\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f" + "connection_might_take_some_time": "\u041f\u0435\u0440\u0432\u043e\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u044f\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f", + "slot": "\u0421\u043b\u043e\u0442" } \ No newline at end of file diff --git a/chameleonultragui/lib/l10n/update.py b/chameleonultragui/lib/l10n/update.py index 97a824d1..45d5edd5 100644 --- a/chameleonultragui/lib/l10n/update.py +++ b/chameleonultragui/lib/l10n/update.py @@ -31,16 +31,16 @@ def request(method, url, data=None): LANGUAGES = request('GET', 'https://crowdin.com/api/v2/languages?limit=500')['data'] for language in progressbar( - request('GET', 'https://crowdin.com/api/v2/projects/610545/files/9/languages/progress?limit=500')['data']): + request('GET', 'https://crowdin.com/api/v2/projects/611911/files/33/languages/progress?limit=500')['data']): try: progress = request('GET', - f"https://crowdin.com/api/v2/projects/610545/languages/{language['data']['languageId']}/progress") + f"https://crowdin.com/api/v2/projects/611911/languages/{language['data']['languageId']}/progress") except urllib.error.HTTPError: continue - if progress['data'][0]['data']['words']['translated']: - translation = request('POST', 'https://crowdin.com/api/v2/projects/610545/translations/exports', + if progress['data'][0]['data']['words']['translated']/progress['data'][0]['data']['words']['total'] >= 0.7: + translation = request('POST', 'https://crowdin.com/api/v2/projects/611911/translations/exports', {'targetLanguageId': language['data']['languageId'], 'format': 'arb-export', - 'skipUntranslatedStrings': True, 'fileIds': [9]}) + 'skipUntranslatedStrings': True, 'fileIds': [33]}) export = urlopen(Request(translation['data']['url'], method='GET')).read() translations = json.loads(export.decode()) locale = None diff --git a/chameleonultragui/lib/sharedprefsprovider.dart b/chameleonultragui/lib/sharedprefsprovider.dart index cde9d0e5..7e2ea2a3 100644 --- a/chameleonultragui/lib/sharedprefsprovider.dart +++ b/chameleonultragui/lib/sharedprefsprovider.dart @@ -304,24 +304,70 @@ class SharedPreferencesProvider extends ChangeNotifier { String getFlag(Locale loc) { switch (loc.toLanguageTag()) { + case 'en': + return 'English'; + case 'zh': + return '中文'; case 'es': return 'Español'; + case 'fr': + return 'Français'; case 'de': return 'Deutsch'; case 'de-AT': return 'Deutsch (Österreich)'; + case 'pt': + return 'Português'; case 'ru': return 'Русский'; - case 'fr': - return 'Français'; + case 'it': + return 'Italiano'; + case 'ja': + return '日本語'; case 'ko': return '한국어'; - case 'en': - return 'English'; + case 'nl': + return 'Dutch'; + case 'ar': + return 'العربية '; + case 'tr': + return 'Türkçe'; + case 'pl': + return 'Polski'; + case 'sv': + return 'Svenska'; case 'da': return 'Dansk'; + case 'no': + return 'Norsk'; + case 'fi': + return 'Suomi'; + case 'cs': + return 'Čeština'; + case 'hu': + return 'Magyar'; + case 'el': + return 'Ελληνικά'; + case 'he': + return 'עברית '; + case 'th': + return 'ไทย '; + case 'id': + return 'Bahasa Indonesia'; + case 'uk': + return 'Українська'; + case 'ro': + return 'Română'; + case 'ms': + return 'Bahasa Melayu'; + case 'hi': + return 'हिन्दी'; + case 'vi': + return 'Tiếng Việt'; + case 'ca': + return 'Català'; default: - return '------'; + return 'Unknown'; } }