From f853b549eed1a8235574878603cccc3f87b15460 Mon Sep 17 00:00:00 2001 From: tadeubas Date: Wed, 14 Aug 2024 15:44:26 -0300 Subject: [PATCH 01/11] Simplified translations for firmware.py --- i18n/translations/de-DE.json | 4 ---- i18n/translations/es-MX.json | 4 ---- i18n/translations/fr-FR.json | 4 ---- i18n/translations/nl-NL.json | 4 ---- i18n/translations/pl-PL.json | 4 ---- i18n/translations/pt-BR.json | 4 ---- i18n/translations/ru-RU.json | 4 ---- i18n/translations/tr-TR.json | 4 ---- i18n/translations/vi-VN.json | 4 ---- src/krux/firmware.py | 11 +++++------ src/krux/translations.py | 36 ------------------------------------ 11 files changed, 5 insertions(+), 78 deletions(-) diff --git a/i18n/translations/de-DE.json b/i18n/translations/de-DE.json index c885f5cb7..bc4bd0c74 100644 --- a/i18n/translations/de-DE.json +++ b/i18n/translations/de-DE.json @@ -27,7 +27,6 @@ "BGR Colors": "BGR-Farben", "Back": "Zurück", "Back to Menu": "Zurück zum Menü", - "Backing up bootloader..": "Bootloader wird gesichert..", "Backup Mnemonic": "Mnemonik-Backup", "Bad signature": "Ungültige Signatur", "Baudrate": "Baudrate", @@ -166,7 +165,6 @@ "Native Segwit - 84 would be assumed": "Native Segwit - 84 würde angenommen", "Network": "Netzwerk", "New Mnemonic": "Neue Mnemonic", - "New firmware detected on SD card.": "Neue Firmware auf SD-Karte erkannt.", "New firmware detected.": "Neue Firmware erkannt.", "No": "Nein", "No Passphrase": "Keine Passphrase", @@ -273,9 +271,7 @@ "Type Key": "Schlüssel eingeben", "Unexpected error saving to Flash.": "Unerwarteter Fehler beim Speichern auf dem Flash-Speicher.", "Unit": "Einheit", - "Updating bootloader..": "Bootloader wird aktualisiert..", "Upgrade complete.": "Upgrade abgeschlossen.", - "Upgrading firmware..": "Firmware wird aktualisiert..", "Use a black background surface.": "Verwende eine schwarze Hintergrundfläche.", "Use camera's entropy to create a new mnemonic": "Verwende die Entropie der Kamera, um eine neue Mnemonic zu erstellen", "Used:": "Belegt:", diff --git a/i18n/translations/es-MX.json b/i18n/translations/es-MX.json index 3e3c06404..0c7e946f4 100644 --- a/i18n/translations/es-MX.json +++ b/i18n/translations/es-MX.json @@ -27,7 +27,6 @@ "BGR Colors": "Colores BGR", "Back": "Atrás", "Back to Menu": "Volver al Menú", - "Backing up bootloader..": "Copia de seguridad del bootloader..", "Backup Mnemonic": "Backup del Mnemónico", "Bad signature": "Firma incorrecta", "Baudrate": "Baudrate", @@ -166,7 +165,6 @@ "Native Segwit - 84 would be assumed": "Segwit nativo - 84 se supondría", "Network": "Red", "New Mnemonic": "Nuevo Mnemónico", - "New firmware detected on SD card.": "Nuevo firmware detectado en la tarjeta SD.", "New firmware detected.": "Nuevo firmware detectado.", "No": "No", "No Passphrase": "Sin Passphrase", @@ -273,9 +271,7 @@ "Type Key": "Introduce la clave", "Unexpected error saving to Flash.": "Error inesperado al guardar en Flash.", "Unit": "Unidad", - "Updating bootloader..": "Actualización de Bootloader..", "Upgrade complete.": "Actualización completa.", - "Upgrading firmware..": "Actualización de firmware..", "Use a black background surface.": "Usa una superficie de fondo negra.", "Use camera's entropy to create a new mnemonic": "Usa la entropía de la cámara para crear una nueva mnemónica", "Used:": "Usado:", diff --git a/i18n/translations/fr-FR.json b/i18n/translations/fr-FR.json index ddd7349b1..c5ffd0daa 100644 --- a/i18n/translations/fr-FR.json +++ b/i18n/translations/fr-FR.json @@ -27,7 +27,6 @@ "BGR Colors": "Couleurs BGR", "Back": "Retour", "Back to Menu": "Retour au menu", - "Backing up bootloader..": "Sauvegarde du chargeur de démarrage..", "Backup Mnemonic": "Sauvegarde mnémonique", "Bad signature": "Mauvaise signature", "Baudrate": "Débit en bauds", @@ -166,7 +165,6 @@ "Native Segwit - 84 would be assumed": "Native Segwit - 84 serait supposé", "Network": "Réseau", "New Mnemonic": "Nouveau mnémonique", - "New firmware detected on SD card.": "Nouveau micrologiciel détecté sur la carte SD.", "New firmware detected.": "Nouveau micrologiciel détecté.", "No": "Non", "No Passphrase": "Pas de phrase secrète", @@ -273,9 +271,7 @@ "Type Key": "Clé de type", "Unexpected error saving to Flash.": "Erreur inattendue lors de l'enregistrement dans le Flash.", "Unit": "Unité", - "Updating bootloader..": "Mise à jour du chargeur de démarrage..", "Upgrade complete.": "Mise à niveau complète.", - "Upgrading firmware..": "Mise à niveau du micrologiciel..", "Use a black background surface.": "Utilisez une surface de fond noire.", "Use camera's entropy to create a new mnemonic": "Utilisez l'entropie de la caméra pour créer un nouveau mnémonique", "Used:": "Utilisé:", diff --git a/i18n/translations/nl-NL.json b/i18n/translations/nl-NL.json index c9a384508..75536c173 100644 --- a/i18n/translations/nl-NL.json +++ b/i18n/translations/nl-NL.json @@ -27,7 +27,6 @@ "BGR Colors": "BGR-kleuren", "Back": "Terug", "Back to Menu": "Terug naar menu", - "Backing up bootloader..": "Backup van de bootloader...", "Backup Mnemonic": "Backup geheugensteun", "Bad signature": "Ongeldige handtekening", "Baudrate": "Baudratio", @@ -166,7 +165,6 @@ "Native Segwit - 84 would be assumed": "Native Segwit - 84 zal worden gebruikt", "Network": "Netwerk", "New Mnemonic": "Geheugensteun aanmaken", - "New firmware detected on SD card.": "Nieuwe firmware gedetecteerd op SD kaart.", "New firmware detected.": "Nieuwe firmware gevonden.", "No": "Nee", "No Passphrase": "Geen wachtwoordzin", @@ -273,9 +271,7 @@ "Type Key": "Voer sleutel in", "Unexpected error saving to Flash.": "Onverwachte fout bij het opslaan naar flashgeheugen.", "Unit": "Eenheid", - "Updating bootloader..": "Bootloader updaten...", "Upgrade complete.": "Upgrade afgerond.", - "Upgrading firmware..": "Firmware upgraden...", "Use a black background surface.": "Gebruik een donker achergrond.", "Use camera's entropy to create a new mnemonic": "Gebruik de camera als entropie voor het aanmaken van een nieuwe geheugensteun", "Used:": "Gebruikt:", diff --git a/i18n/translations/pl-PL.json b/i18n/translations/pl-PL.json index 1694902f1..c95d132e9 100644 --- a/i18n/translations/pl-PL.json +++ b/i18n/translations/pl-PL.json @@ -27,7 +27,6 @@ "BGR Colors": "Kolory BGR", "Back": "Z powrotem", "Back to Menu": "Powrót do menu", - "Backing up bootloader..": "Kopie zapasowe bootloader..", "Backup Mnemonic": "Kopia zapasowa mnemonika", "Bad signature": "zły podpis", "Baudrate": "Baudrate", @@ -166,7 +165,6 @@ "Native Segwit - 84 would be assumed": "Przyjmuje się, że Segwit natywny - 84", "Network": "Sieć", "New Mnemonic": "Nowy Mnemonic", - "New firmware detected on SD card.": "Wykryto nowe oprogramowanie na karcie SD.", "New firmware detected.": "Wykryto nowe oprogramowanie.", "No": "NIE", "No Passphrase": "Brak Passphrase", @@ -273,9 +271,7 @@ "Type Key": "Klucz typu", "Unexpected error saving to Flash.": "Nieoczekiwany błąd podczas zapisywania do Flash.", "Unit": "Jednostka", - "Updating bootloader..": "Aktualizacja bootloader..", "Upgrade complete.": "Uaktualnienie zakończone.", - "Upgrading firmware..": "Aktualizacja oprogramowania układowego..", "Use a black background surface.": "Użyj czarnej powierzchni tła.", "Use camera's entropy to create a new mnemonic": "Użyj entropii aparatu, aby stworzyć nowy mnemonik", "Used:": "Używany:", diff --git a/i18n/translations/pt-BR.json b/i18n/translations/pt-BR.json index ba247659a..9cbdce1a7 100644 --- a/i18n/translations/pt-BR.json +++ b/i18n/translations/pt-BR.json @@ -27,7 +27,6 @@ "BGR Colors": "Cores BGR", "Back": "Voltar", "Back to Menu": "Voltar ao Menu", - "Backing up bootloader..": "Backing up bootloader..", "Backup Mnemonic": "Backup de Mnemônico", "Bad signature": "Assinatura Inválida", "Baudrate": "Baudrate", @@ -166,7 +165,6 @@ "Native Segwit - 84 would be assumed": "Segwit nativo - 84 seria assumido", "Network": "Rede", "New Mnemonic": "Novo Mnemônico", - "New firmware detected on SD card.": "Novo firmware detectado no cartão SD.", "New firmware detected.": "Novo firmware detectado.", "No": "Não", "No Passphrase": "Sem Senha", @@ -273,9 +271,7 @@ "Type Key": "Digite a Chave", "Unexpected error saving to Flash.": "Erro inesperado ao salvar na memória flash.", "Unit": "Unidade", - "Updating bootloader..": "Atualizando bootloader..", "Upgrade complete.": "Atualização completa.", - "Upgrading firmware..": "Atualizando firmware..", "Use a black background surface.": "Use uma superfície de fundo preta.", "Use camera's entropy to create a new mnemonic": "Use a entropia da câmera para criar um novo mnemônico", "Used:": "Usado:", diff --git a/i18n/translations/ru-RU.json b/i18n/translations/ru-RU.json index 79c1a713c..eb8e0c5c9 100644 --- a/i18n/translations/ru-RU.json +++ b/i18n/translations/ru-RU.json @@ -27,7 +27,6 @@ "BGR Colors": "Цвета BGR", "Back": "Назад", "Back to Menu": "Назад в Mеню", - "Backing up bootloader..": "Резервное копирование загрузчика..", "Backup Mnemonic": "Резервная мнемоника", "Bad signature": "Плохая подпись", "Baudrate": "Скорость Передачи Данных", @@ -166,7 +165,6 @@ "Native Segwit - 84 would be assumed": "Native Segwit - 84 будет принято", "Network": "Сеть", "New Mnemonic": "Новая Мнемоника", - "New firmware detected on SD card.": "На SD-карте обнаружена новая прошивка.", "New firmware detected.": "Обнаружена новая прошивка.", "No": "Нет", "No Passphrase": "Нет Фраза-пароль", @@ -273,9 +271,7 @@ "Type Key": "Ввести Ключ", "Unexpected error saving to Flash.": "Неожиданная ошибка во время сохранения на флеш-память.", "Unit": "Единица Измерения", - "Updating bootloader..": "Обновление загрузчика..", "Upgrade complete.": "Обновление завершено.", - "Upgrading firmware..": "Обновление прошивки..", "Use a black background surface.": "Использовать черную фоновую поверхность.", "Use camera's entropy to create a new mnemonic": "Использовать энтропию камеры, чтобы создать новую мнемонику", "Used:": "Использовано:", diff --git a/i18n/translations/tr-TR.json b/i18n/translations/tr-TR.json index 51d8059aa..3cabaed28 100644 --- a/i18n/translations/tr-TR.json +++ b/i18n/translations/tr-TR.json @@ -27,7 +27,6 @@ "BGR Colors": "BGR Renkleri", "Back": "Geri", "Back to Menu": "Menüye Dön", - "Backing up bootloader..": "Önyükleyici yedekleniyor..", "Backup Mnemonic": "Yedek Mnemonic", "Bad signature": "Geçersiz imza", "Baudrate": "Baud Hızı", @@ -166,7 +165,6 @@ "Native Segwit - 84 would be assumed": "Yerel Segwit - 84 varsayılacaktır", "Network": "Ağ", "New Mnemonic": "Yeni Mnemonic", - "New firmware detected on SD card.": "SD kartta yeni donanım yazılımı tespit edildi.", "New firmware detected.": "Yeni donanım yazılımı tespit edildi.", "No": "Hayır", "No Passphrase": "Parola Yok", @@ -273,9 +271,7 @@ "Type Key": "Anahtar Yaz", "Unexpected error saving to Flash.": "Flash'a kaydederken beklenmedik hata.", "Unit": "Birim", - "Updating bootloader..": "Önyükleyici güncelleniyor..", "Upgrade complete.": "Güncelleme tamamlandı.", - "Upgrading firmware..": "Donanım Yazılımı güncelleniyor..", "Use a black background surface.": "Siyah bir arka plan yüzeyi kullanın.", "Use camera's entropy to create a new mnemonic": "Yeni bir mnemonic oluşturmak için kameranın entropisini kullanın", "Used:": "Kullanılan:", diff --git a/i18n/translations/vi-VN.json b/i18n/translations/vi-VN.json index bb075b0c5..aa65acd22 100644 --- a/i18n/translations/vi-VN.json +++ b/i18n/translations/vi-VN.json @@ -27,7 +27,6 @@ "BGR Colors": "Màu BGR", "Back": "Trở lại", "Back to Menu": "Quay lại Menu", - "Backing up bootloader..": "Sao lưu bộ tải khởi động..", "Backup Mnemonic": "Sao lưu Mnemonic", "Bad signature": "Chữ ký xấu", "Baudrate": "Tốc độ baud", @@ -166,7 +165,6 @@ "Native Segwit - 84 would be assumed": "Native Segwit - 84 sẽ được giả định", "Network": "Mạng lưới", "New Mnemonic": "Mnemonic mới", - "New firmware detected on SD card.": "Đã phát hiện firmware mới trên thẻ SD.", "New firmware detected.": "Phát hiện phần sụn mới.", "No": "Không", "No Passphrase": "Không có cụm mật khẩu", @@ -273,9 +271,7 @@ "Type Key": "Nhập khóa", "Unexpected error saving to Flash.": "Lỗi bất ngờ khi lưu vào Flash.", "Unit": "Đơn vị", - "Updating bootloader..": "Đang cập nhật bộ tải khởi động..", "Upgrade complete.": "Nâng cấp hoàn tất.", - "Upgrading firmware..": "Đang nâng cấp firmware..", "Use a black background surface.": "Sử dụng bề mặt nền đen.", "Use camera's entropy to create a new mnemonic": "Sử dụng sự ngẫu nhiên của máy ảnh để tạo ra một Mnemonic mới", "Used:": "Đã sử dụng:", diff --git a/src/krux/firmware.py b/src/krux/firmware.py index 44e43df52..456405681 100644 --- a/src/krux/firmware.py +++ b/src/krux/firmware.py @@ -194,9 +194,7 @@ def upgrade(): inp = Input() display.clear() - display.draw_centered_text( - t("New firmware detected on SD card.") + "\n\n" + t("Verifying..") - ) + display.draw_centered_text(t("New firmware detected.") + "\n\n" + t("Verifying..")) new_size = fsize(firmware_path) firmware_hash = sha256(firmware_path) @@ -213,6 +211,7 @@ def upgrade(): ) inp.buttons_active = True if inp.wait_for_button() in (BUTTON_PAGE, BUTTON_PAGE_PREV): + display.clear() return False if new_size > MAX_FIRMWARE_SIZE: @@ -261,7 +260,7 @@ def status_text(text): write_data( lambda pct: status_text( - t("Upgrading firmware..") + "\n\n%d%%" % int(pct * 100) + t("Processing ...") + "1/3" + "\n\n%d%%" % int(pct * 100) ), new_address, open(firmware_path, "rb", buffering=0), @@ -273,7 +272,7 @@ def status_text(text): write_data( lambda pct: status_text( - t("Backing up bootloader..") + "\n\n%d%%" % int(pct * 100) + t("Processing ...") + "2/3" + "\n\n%d%%" % int(pct * 100) ), BACKUP_BOOT_CONFIG_SECTOR_ADDRESS, io.BytesIO(boot_config_sector), @@ -286,7 +285,7 @@ def status_text(text): ) write_data( lambda pct: status_text( - t("Updating bootloader..") + "\n\n%d%%" % int(pct * 100) + t("Processing ...") + "3/3" + "\n\n%d%%" % int(pct * 100) ), MAIN_BOOT_CONFIG_SECTOR_ADDRESS, io.BytesIO(new_boot_config_sector), diff --git a/src/krux/translations.py b/src/krux/translations.py index bcc0d8d93..d2b4c0221 100644 --- a/src/krux/translations.py +++ b/src/krux/translations.py @@ -50,7 +50,6 @@ 1868069640: "BGR-Farben", 3455872521: "Zurück", 4151330982: "Zurück zum Menü", - 4210412874: "Bootloader wird gesichert..", 2756316330: "Mnemonik-Backup", 2256777600: "Ungültige Signatur", 3937333362: "Baudrate", @@ -189,7 +188,6 @@ 4265479636: "Native Segwit - 84 würde angenommen", 2939797024: "Netzwerk", 73574491: "Neue Mnemonic", - 241763017: "Neue Firmware auf SD-Karte erkannt.", 3634967631: "Neue Firmware erkannt.", 4063104189: "Nein", 2325721074: "Keine Passphrase", @@ -296,9 +294,7 @@ 2061556020: "Schlüssel eingeben", 760733724: "Unerwarteter Fehler beim Speichern auf dem Flash-Speicher.", 2089395053: "Einheit", - 1663209632: "Bootloader wird aktualisiert..", 2786714360: "Upgrade abgeschlossen.", - 2931954669: "Firmware wird aktualisiert..", 2674953168: "Verwende eine schwarze Hintergrundfläche.", 2402455261: "Verwende die Entropie der Kamera, um eine neue Mnemonic zu erstellen", 3336226318: "Belegt:", @@ -360,7 +356,6 @@ 1868069640: "Colores BGR", 3455872521: "Atrás", 4151330982: "Volver al Menú", - 4210412874: "Copia de seguridad del bootloader..", 2756316330: "Backup del Mnemónico", 2256777600: "Firma incorrecta", 3937333362: "Baudrate", @@ -499,7 +494,6 @@ 4265479636: "Segwit nativo - 84 se supondría", 2939797024: "Red", 73574491: "Nuevo Mnemónico", - 241763017: "Nuevo firmware detectado en la tarjeta SD.", 3634967631: "Nuevo firmware detectado.", 4063104189: "No", 2325721074: "Sin Passphrase", @@ -606,9 +600,7 @@ 2061556020: "Introduce la clave", 760733724: "Error inesperado al guardar en Flash.", 2089395053: "Unidad", - 1663209632: "Actualización de Bootloader..", 2786714360: "Actualización completa.", - 2931954669: "Actualización de firmware..", 2674953168: "Usa una superficie de fondo negra.", 2402455261: "Usa la entropía de la cámara para crear una nueva mnemónica", 3336226318: "Usado:", @@ -670,7 +662,6 @@ 1868069640: "Couleurs BGR", 3455872521: "Retour", 4151330982: "Retour au menu", - 4210412874: "Sauvegarde du chargeur de démarrage..", 2756316330: "Sauvegarde mnémonique", 2256777600: "Mauvaise signature", 3937333362: "Débit en bauds", @@ -809,7 +800,6 @@ 4265479636: "Native Segwit - 84 serait supposé", 2939797024: "Réseau", 73574491: "Nouveau mnémonique", - 241763017: "Nouveau micrologiciel détecté sur la carte SD.", 3634967631: "Nouveau micrologiciel détecté.", 4063104189: "Non", 2325721074: "Pas de phrase secrète", @@ -916,9 +906,7 @@ 2061556020: "Clé de type", 760733724: "Erreur inattendue lors de l'enregistrement dans le Flash.", 2089395053: "Unité", - 1663209632: "Mise à jour du chargeur de démarrage..", 2786714360: "Mise à niveau complète.", - 2931954669: "Mise à niveau du micrologiciel..", 2674953168: "Utilisez une surface de fond noire.", 2402455261: "Utilisez l'entropie de la caméra pour créer un nouveau mnémonique", 3336226318: "Utilisé:", @@ -980,7 +968,6 @@ 1868069640: "BGR-kleuren", 3455872521: "Terug", 4151330982: "Terug naar menu", - 4210412874: "Backup van de bootloader...", 2756316330: "Backup geheugensteun", 2256777600: "Ongeldige handtekening", 3937333362: "Baudratio", @@ -1119,7 +1106,6 @@ 4265479636: "Native Segwit - 84 zal worden gebruikt", 2939797024: "Netwerk", 73574491: "Geheugensteun aanmaken", - 241763017: "Nieuwe firmware gedetecteerd op SD kaart.", 3634967631: "Nieuwe firmware gevonden.", 4063104189: "Nee", 2325721074: "Geen wachtwoordzin", @@ -1226,9 +1212,7 @@ 2061556020: "Voer sleutel in", 760733724: "Onverwachte fout bij het opslaan naar flashgeheugen.", 2089395053: "Eenheid", - 1663209632: "Bootloader updaten...", 2786714360: "Upgrade afgerond.", - 2931954669: "Firmware upgraden...", 2674953168: "Gebruik een donker achergrond.", 2402455261: "Gebruik de camera als entropie voor het aanmaken van een nieuwe geheugensteun", 3336226318: "Gebruikt:", @@ -1290,7 +1274,6 @@ 1868069640: "Kolory BGR", 3455872521: "Z powrotem", 4151330982: "Powrót do menu", - 4210412874: "Kopie zapasowe bootloader..", 2756316330: "Kopia zapasowa mnemonika", 2256777600: "zły podpis", 3937333362: "Baudrate", @@ -1429,7 +1412,6 @@ 4265479636: "Przyjmuje się, że Segwit natywny - 84", 2939797024: "Sieć", 73574491: "Nowy Mnemonic", - 241763017: "Wykryto nowe oprogramowanie na karcie SD.", 3634967631: "Wykryto nowe oprogramowanie.", 4063104189: "NIE", 2325721074: "Brak Passphrase", @@ -1536,9 +1518,7 @@ 2061556020: "Klucz typu", 760733724: "Nieoczekiwany błąd podczas zapisywania do Flash.", 2089395053: "Jednostka", - 1663209632: "Aktualizacja bootloader..", 2786714360: "Uaktualnienie zakończone.", - 2931954669: "Aktualizacja oprogramowania układowego..", 2674953168: "Użyj czarnej powierzchni tła.", 2402455261: "Użyj entropii aparatu, aby stworzyć nowy mnemonik", 3336226318: "Używany:", @@ -1600,7 +1580,6 @@ 1868069640: "Cores BGR", 3455872521: "Voltar", 4151330982: "Voltar ao Menu", - 4210412874: "Backing up bootloader..", 2756316330: "Backup de Mnemônico", 2256777600: "Assinatura Inválida", 3937333362: "Baudrate", @@ -1739,7 +1718,6 @@ 4265479636: "Segwit nativo - 84 seria assumido", 2939797024: "Rede", 73574491: "Novo Mnemônico", - 241763017: "Novo firmware detectado no cartão SD.", 3634967631: "Novo firmware detectado.", 4063104189: "Não", 2325721074: "Sem Senha", @@ -1846,9 +1824,7 @@ 2061556020: "Digite a Chave", 760733724: "Erro inesperado ao salvar na memória flash.", 2089395053: "Unidade", - 1663209632: "Atualizando bootloader..", 2786714360: "Atualização completa.", - 2931954669: "Atualizando firmware..", 2674953168: "Use uma superfície de fundo preta.", 2402455261: "Use a entropia da câmera para criar um novo mnemônico", 3336226318: "Usado:", @@ -1910,7 +1886,6 @@ 1868069640: "Цвета BGR", 3455872521: "Назад", 4151330982: "Назад в Mеню", - 4210412874: "Резервное копирование загрузчика..", 2756316330: "Резервная мнемоника", 2256777600: "Плохая подпись", 3937333362: "Скорость Передачи Данных", @@ -2049,7 +2024,6 @@ 4265479636: "Native Segwit - 84 будет принято", 2939797024: "Сеть", 73574491: "Новая Мнемоника", - 241763017: "На SD-карте обнаружена новая прошивка.", 3634967631: "Обнаружена новая прошивка.", 4063104189: "Нет", 2325721074: "Нет Фраза-пароль", @@ -2156,9 +2130,7 @@ 2061556020: "Ввести Ключ", 760733724: "Неожиданная ошибка во время сохранения на флеш-память.", 2089395053: "Единица Измерения", - 1663209632: "Обновление загрузчика..", 2786714360: "Обновление завершено.", - 2931954669: "Обновление прошивки..", 2674953168: "Использовать черную фоновую поверхность.", 2402455261: "Использовать энтропию камеры, чтобы создать новую мнемонику", 3336226318: "Использовано:", @@ -2220,7 +2192,6 @@ 1868069640: "BGR Renkleri", 3455872521: "Geri", 4151330982: "Menüye Dön", - 4210412874: "Önyükleyici yedekleniyor..", 2756316330: "Yedek Mnemonic", 2256777600: "Geçersiz imza", 3937333362: "Baud Hızı", @@ -2359,7 +2330,6 @@ 4265479636: "Yerel Segwit - 84 varsayılacaktır", 2939797024: "Ağ", 73574491: "Yeni Mnemonic", - 241763017: "SD kartta yeni donanım yazılımı tespit edildi.", 3634967631: "Yeni donanım yazılımı tespit edildi.", 4063104189: "Hayır", 2325721074: "Parola Yok", @@ -2466,9 +2436,7 @@ 2061556020: "Anahtar Yaz", 760733724: "Flash'a kaydederken beklenmedik hata.", 2089395053: "Birim", - 1663209632: "Önyükleyici güncelleniyor..", 2786714360: "Güncelleme tamamlandı.", - 2931954669: "Donanım Yazılımı güncelleniyor..", 2674953168: "Siyah bir arka plan yüzeyi kullanın.", 2402455261: "Yeni bir mnemonic oluşturmak için kameranın entropisini kullanın", 3336226318: "Kullanılan:", @@ -2530,7 +2498,6 @@ 1868069640: "Màu BGR", 3455872521: "Trở lại", 4151330982: "Quay lại Menu", - 4210412874: "Sao lưu bộ tải khởi động..", 2756316330: "Sao lưu Mnemonic", 2256777600: "Chữ ký xấu", 3937333362: "Tốc độ baud", @@ -2669,7 +2636,6 @@ 4265479636: "Native Segwit - 84 sẽ được giả định", 2939797024: "Mạng lưới", 73574491: "Mnemonic mới", - 241763017: "Đã phát hiện firmware mới trên thẻ SD.", 3634967631: "Phát hiện phần sụn mới.", 4063104189: "Không", 2325721074: "Không có cụm mật khẩu", @@ -2776,9 +2742,7 @@ 2061556020: "Nhập khóa", 760733724: "Lỗi bất ngờ khi lưu vào Flash.", 2089395053: "Đơn vị", - 1663209632: "Đang cập nhật bộ tải khởi động..", 2786714360: "Nâng cấp hoàn tất.", - 2931954669: "Đang nâng cấp firmware..", 2674953168: "Sử dụng bề mặt nền đen.", 2402455261: "Sử dụng sự ngẫu nhiên của máy ảnh để tạo ra một Mnemonic mới", 3336226318: "Đã sử dụng:", From 85a95a61049046c495524518344d98a3ca8dda11 Mon Sep 17 00:00:00 2001 From: tadeubas Date: Wed, 14 Aug 2024 18:58:05 -0300 Subject: [PATCH 02/11] Processing with 2 dots --- src/krux/firmware.py | 6 +++--- src/krux/pages/capture_entropy.py | 2 +- src/krux/pages/encryption_ui.py | 6 +++--- src/krux/pages/home_pages/home.py | 2 +- src/krux/pages/login.py | 2 +- src/krux/pages/qr_view.py | 2 +- tests/pages/home_pages/test_home.py | 6 +++--- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/krux/firmware.py b/src/krux/firmware.py index 456405681..3d99ca09c 100644 --- a/src/krux/firmware.py +++ b/src/krux/firmware.py @@ -260,7 +260,7 @@ def status_text(text): write_data( lambda pct: status_text( - t("Processing ...") + "1/3" + "\n\n%d%%" % int(pct * 100) + t("Processing..") + "1/3" + "\n\n%d%%" % int(pct * 100) ), new_address, open(firmware_path, "rb", buffering=0), @@ -272,7 +272,7 @@ def status_text(text): write_data( lambda pct: status_text( - t("Processing ...") + "2/3" + "\n\n%d%%" % int(pct * 100) + t("Processing..") + "2/3" + "\n\n%d%%" % int(pct * 100) ), BACKUP_BOOT_CONFIG_SECTOR_ADDRESS, io.BytesIO(boot_config_sector), @@ -285,7 +285,7 @@ def status_text(text): ) write_data( lambda pct: status_text( - t("Processing ...") + "3/3" + "\n\n%d%%" % int(pct * 100) + t("Processing..") + "3/3" + "\n\n%d%%" % int(pct * 100) ), MAIN_BOOT_CONFIG_SECTOR_ADDRESS, io.BytesIO(new_boot_config_sector), diff --git a/src/krux/pages/capture_entropy.py b/src/krux/pages/capture_entropy.py index 362aec691..a0031094b 100644 --- a/src/krux/pages/capture_entropy.py +++ b/src/krux/pages/capture_entropy.py @@ -173,7 +173,7 @@ def capture(self, show_entropy_details=True): self.flash_text(t("Capture cancelled")) return None - self.ctx.display.draw_centered_text(t("Processing ...")) + self.ctx.display.draw_centered_text(t("Processing..")) self.entropy_measurement_update(img, all_at_once=True) diff --git a/src/krux/pages/encryption_ui.py b/src/krux/pages/encryption_ui.py index 125e1a0bd..f4601b04d 100644 --- a/src/krux/pages/encryption_ui.py +++ b/src/krux/pages/encryption_ui.py @@ -183,7 +183,7 @@ def store_mnemonic_on_memory(self, sd_card=False): return self.ctx.display.clear() - self.ctx.display.draw_centered_text(t("Processing ...")) + self.ctx.display.draw_centered_text(t("Processing..")) words = self.ctx.wallet.key.mnemonic if mnemonic_storage.store_encrypted(key, mnemonic_id, words, sd_card, i_vector): self.ctx.display.clear() @@ -205,7 +205,7 @@ def encrypted_qr_code(self): key, mnemonic_id, i_vector = user_inputs self.ctx.display.clear() - self.ctx.display.draw_centered_text(t("Processing ...")) + self.ctx.display.draw_centered_text(t("Processing..")) from ..encryption import EncryptedQRCode @@ -275,7 +275,7 @@ def _load_encrypted_mnemonic(self, mnemonic_id, sd_card=False): self.flash_error(t("Key was not provided")) return MENU_CONTINUE self.ctx.display.clear() - self.ctx.display.draw_centered_text(t("Processing ...")) + self.ctx.display.draw_centered_text(t("Processing..")) mnemonic_storage = MnemonicStorage() try: words = mnemonic_storage.decrypt(key, mnemonic_id, sd_card).split() diff --git a/src/krux/pages/home_pages/home.py b/src/krux/pages/home_pages/home.py index ed8d115e5..8152c80a9 100644 --- a/src/krux/pages/home_pages/home.py +++ b/src/krux/pages/home_pages/home.py @@ -353,7 +353,7 @@ def sign_psbt(self): return MENU_CONTINUE self.ctx.display.clear() - self.ctx.display.draw_centered_text(t("Processing ...")) + self.ctx.display.draw_centered_text(t("Processing..")) outputs, fee_percent = signer.outputs() # Warn if fees greater than 10% of what is spent diff --git a/src/krux/pages/login.py b/src/krux/pages/login.py index 0ec146baa..81a565593 100644 --- a/src/krux/pages/login.py +++ b/src/krux/pages/login.py @@ -296,7 +296,7 @@ def _encrypted_qr_code(self, data): self.flash_error(t("Key was not provided")) return MENU_CONTINUE self.ctx.display.clear() - self.ctx.display.draw_centered_text(t("Processing ...")) + self.ctx.display.draw_centered_text(t("Processing..")) word_bytes = encrypted_qr.decrypt(key) if word_bytes is None: self.flash_error(t("Failed to decrypt")) diff --git a/src/krux/pages/qr_view.py b/src/krux/pages/qr_view.py index 2673cc02d..4b9bd81c0 100644 --- a/src/krux/pages/qr_view.py +++ b/src/krux/pages/qr_view.py @@ -373,7 +373,7 @@ def save_bmp_image(self, file_name, resolution): return self.ctx.display.clear() - self.ctx.display.draw_centered_text(t("Saving ...")) + self.ctx.display.draw_centered_text(t("Processing..")) bmp_img.save("/sd/" + file_name) self.flash_text(t("Saved to SD card") + ":\n%s" % file_name) diff --git a/tests/pages/home_pages/test_home.py b/tests/pages/home_pages/test_home.py index ac84a0b44..72944f0d0 100644 --- a/tests/pages/home_pages/test_home.py +++ b/tests/pages/home_pages/test_home.py @@ -1032,7 +1032,7 @@ def test_sign_high_fee(mocker, m5stickv, tdata): mocker.call( "Warning: Path mismatch\nWallet: m/84'/0'/0'\nPSBT: m/84'/1'/0'" ), - mocker.call("Processing ..."), + mocker.call("Processing.."), mocker.call("Warning: High fees!\n799.7% of the amount."), ] ) @@ -1082,7 +1082,7 @@ def test_sign_self(mocker, m5stickv, tdata): mocker.call( "Warning: Path mismatch\nWallet: m/84'/0'/0'\nPSBT: m/84'/1'/0'" ), - mocker.call("Processing ..."), + mocker.call("Processing.."), mocker.call("Warning: High fees!\n799.7% of the amount."), ] ) @@ -1133,7 +1133,7 @@ def test_sign_spent_and_self(mocker, m5stickv, tdata): mocker.call( "Warning: Path mismatch\nWallet: m/84'/0'/0'\nPSBT: m/84'/1'/0'" ), - mocker.call("Processing ..."), + mocker.call("Processing.."), mocker.call("Warning: High fees!\n235.9% of the amount."), ] ) From 996f6f2c7b9357f52f0d138da14c609b56fdb4fb Mon Sep 17 00:00:00 2001 From: tadeubas Date: Wed, 14 Aug 2024 19:02:00 -0300 Subject: [PATCH 03/11] Printing.. with two dots --- src/krux/pages/print_page.py | 2 +- src/krux/pages/tiny_seed.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/krux/pages/print_page.py b/src/krux/pages/print_page.py index 32c1bde82..cf9d5edea 100644 --- a/src/krux/pages/print_page.py +++ b/src/krux/pages/print_page.py @@ -71,7 +71,7 @@ def print_mnemonic_text(self, mnemonic, suffix=""): """Prints Mnemonics words as text""" self.ctx.display.clear() self.ctx.display.draw_hcentered_text( - t("Printing") + " ...", self.ctx.display.height() // 2 + t("Printing") + "..", self.ctx.display.height() // 2 ) self.printer.print_string("BIP39" + " " + suffix + "\n\n") words = mnemonic.split(" ") diff --git a/src/krux/pages/tiny_seed.py b/src/krux/pages/tiny_seed.py index 135587cd9..3ade45134 100644 --- a/src/krux/pages/tiny_seed.py +++ b/src/krux/pages/tiny_seed.py @@ -179,7 +179,7 @@ def print_tiny_seed(self): pad_y = 8 # 2mm*8px self.ctx.display.clear() self.ctx.display.draw_hcentered_text( - t("Printing") + " ...", self.ctx.display.height() // 2 + t("Printing") + "..", self.ctx.display.height() // 2 ) self.printer.print_string("Tiny Seed\n\n") for page in range(len(words) // 12): From 0641e153d71f7611878125f7912e728a6116e695 Mon Sep 17 00:00:00 2001 From: tadeubas Date: Wed, 14 Aug 2024 19:02:46 -0300 Subject: [PATCH 04/11] Settings sotred on Flash / SD --- src/krux/pages/settings_page.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/krux/pages/settings_page.py b/src/krux/pages/settings_page.py index b42a06181..352ddd8ba 100644 --- a/src/krux/pages/settings_page.py +++ b/src/krux/pages/settings_page.py @@ -174,7 +174,7 @@ def _settings_exit_check(self): with SDHandler(): if store.save_settings(): self.flash_text( - t("Changes persisted to SD card!"), + t("Settings stored on SD card."), duration=PERSIST_MSG_TIME, ) except OSError: @@ -189,7 +189,7 @@ def _settings_exit_check(self): try: if store.save_settings(): self.flash_text( - t("Changes persisted to Flash!"), + t("Settings stored on Flash."), duration=PERSIST_MSG_TIME, ) except: From 00b879b75f7063b9d29e6686da1044d3fee20da8 Mon Sep 17 00:00:00 2001 From: tadeubas Date: Wed, 14 Aug 2024 19:11:18 -0300 Subject: [PATCH 05/11] removing numeration format char from translations --- src/krux/psbt.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/krux/psbt.py b/src/krux/psbt.py index fff82c01e..31f5327a9 100644 --- a/src/krux/psbt.py +++ b/src/krux/psbt.py @@ -396,21 +396,21 @@ def outputs(self): # sequence of spend for i, out in enumerate(spend_list): messages.append( - ((t("%d. Spend:") + " \n\n%s\n\n") % (i + 1, out[0])) + (("%d. " + t("Spend:") + " \n\n%s\n\n") % (i + 1, out[0])) + (BTC_SYMBOL + THIN_SPACE + "%s" % format_btc(out[1])) ) # sequence of self_transfer for i, out in enumerate(self_transfer_list): messages.append( - ((t("%d. Self-transfer:") + " \n\n%s\n\n") % (i + 1, out[0])) + (("%d. " + t("Self-transfer:") + " \n\n%s\n\n") % (i + 1, out[0])) + (BTC_SYMBOL + THIN_SPACE + "%s" % format_btc(out[1])) ) # sequence of change for i, out in enumerate(change_list): messages.append( - ((t("%d. Change:") + " \n\n%s\n\n") % (i + 1, out[0])) + (("%d. " + t("Change:") + " \n\n%s\n\n") % (i + 1, out[0])) + (BTC_SYMBOL + THIN_SPACE + "%s" % format_btc(out[1])) ) From ce482117c6a8f25ab693b7fd11a8ea94150f56b3 Mon Sep 17 00:00:00 2001 From: tadeubas Date: Wed, 14 Aug 2024 19:20:04 -0300 Subject: [PATCH 06/11] Replace Continue with Proceed --- src/krux/pages/encryption_ui.py | 2 +- src/krux/pages/login.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/krux/pages/encryption_ui.py b/src/krux/pages/encryption_ui.py index f4601b04d..4ea7a5248 100644 --- a/src/krux/pages/encryption_ui.py +++ b/src/krux/pages/encryption_ui.py @@ -61,7 +61,7 @@ def encryption_key(self): if key: self.ctx.display.clear() continue_string = t("Key") + ": " + key + "\n\n" - continue_string += t("Continue?") + continue_string += t("Proceed?") if self.prompt( continue_string, self.ctx.display.height() // 2, diff --git a/src/krux/pages/login.py b/src/krux/pages/login.py index 81a565593..681aa99fa 100644 --- a/src/krux/pages/login.py +++ b/src/krux/pages/login.py @@ -205,12 +205,12 @@ def _load_key_from_words(self, words, charset=LETTERS): } numbers_str = Utils.get_mnemonic_numbers(mnemonic, charset_type[charset]) self.display_mnemonic(numbers_str, suffix_dict[charset]) - if not self.prompt(t("Continue?"), BOTTOM_PROMPT_LINE): + if not self.prompt(t("Proceed?"), BOTTOM_PROMPT_LINE): return MENU_CONTINUE self.ctx.display.clear() self.display_mnemonic(mnemonic, t("Mnemonic")) - if not self.prompt(t("Continue?"), BOTTOM_PROMPT_LINE): + if not self.prompt(t("Proceed?"), BOTTOM_PROMPT_LINE): return MENU_CONTINUE self.ctx.display.clear() From 2db1ac8597cd69ba92def4b44224fb4046e8b797 Mon Sep 17 00:00:00 2001 From: tadeubas Date: Fri, 16 Aug 2024 20:15:07 -0300 Subject: [PATCH 07/11] More translations simplifications --- i18n/translations/de-DE.json | 34 +-- i18n/translations/es-MX.json | 34 +-- i18n/translations/fr-FR.json | 82 +++-- i18n/translations/nl-NL.json | 46 ++- i18n/translations/pl-PL.json | 38 +-- i18n/translations/pt-BR.json | 34 +-- i18n/translations/ru-RU.json | 34 +-- i18n/translations/tr-TR.json | 34 +-- i18n/translations/vi-VN.json | 34 +-- src/krux/pages/encryption_ui.py | 8 +- src/krux/pages/home_pages/addresses.py | 19 +- src/krux/pages/settings_page.py | 42 +-- src/krux/pages/tools.py | 2 +- src/krux/translations.py | 370 ++++++++--------------- tests/pages/home_pages/test_addresses.py | 6 +- tests/pages/test_settings_page.py | 17 +- tests/pages/test_tools.py | 2 +- 17 files changed, 279 insertions(+), 557 deletions(-) diff --git a/i18n/translations/de-DE.json b/i18n/translations/de-DE.json index bc4bd0c74..379378191 100644 --- a/i18n/translations/de-DE.json +++ b/i18n/translations/de-DE.json @@ -1,11 +1,8 @@ { "% of the amount.": "% des Betrags.", "%d of %d multisig": "%d von %d Multisig", - "%d. Change:": "%d. Change:", - "%d. Self-transfer:": "%d. Selbstübertragung:", - "%d. Spend:": "%d. Ausgaben:", - "%s was removed from SD card": "%s wurde von der SD-Karte gelöscht", - "%s was removed from flash": "%s wurde aus dem Flash-Speicher gelöscht", + "%d to %d": "%d bis %d ", + "%s removed.": "%s wurde entfernt.", "(%d total)": "(%d insgesamt)", "(Experimental)": "(Experimental)", "(watch-only)": "(nur zur Betrachtung)", @@ -39,18 +36,13 @@ "Change": "Change Adresse", "Change Addresses": "Change Adressen", "Change theme and reboot?": "Thema ändern und neu starten?", - "Changes persisted to Flash!": "Änderungen auf dem Flash-Speicher gespeichert!", - "Changes persisted to SD card!": "Änderungen auf SD-Karte gespeichert!", + "Change:": "Change:", "Changes will last until shutdown.": "Änderungen bleiben bis zum Herunterfahren bestehen.", "Check SD Card": "Prüfe SD-Karte", "Check that address belongs to this wallet?": "Überprüfen, ob diese Adresse zu dieser Wallet gehört?", - "Checked %d change addresses with no matches.": "Überprüfte %d Change Adresse ohne Übereinstimmungen.", - "Checked %d receive addresses with no matches.": "Überprüfte %d Empfangsadressen ohne Übereinstimmungen.", - "Checking change address from %d to %d for match..": "Überprüfung der Change Adresse von %d bis %d auf Übereinstimmung..", + "Checked %d addresses with no matches.": "Überprüfte %d Adresse ohne Übereinstimmungen.", "Checking for SD card..": "Suche nach SD-Karte..", - "Checking receive address from %d to %d for match..": "Überprüfung der Empfangsadresse von %d bis %d auf Übereinstimmung..", "Child Index": "Untergeordneter Index", - "Continue?": "Weiter?", "Create QR Code": "Erstelle QR-Code", "Create QR code from text?": "QR-Code aus Text erzeugen?", "Created:": "Erstellt:", @@ -64,7 +56,6 @@ "Default Wallet": "Standard-Wallet", "Depth Per Pass": "Tiefe pro Durchgang", "Descriptor Addresses": "Deskriptor-Adressen", - "Device flash storage not detected.": "Geräte-Flash-Speicher nicht erkannt.", "Display": "Bildschirm", "Do not power off, it may take a while to complete.": "Schalten Sie das Gerät nicht aus, es kann eine Weile dauern.", "Done?": "Fertig?", @@ -198,7 +189,7 @@ "Printing": "Wird gedruckt", "Proceed anyway?": "Trotzdem fortfahren?", "Proceed?": "Weiter?", - "Processing ...": "Wird bearbeitet ...", + "Processing..": "Wird bearbeitet..", "QR Code": "QR-Code", "RX Pin": "RX Pin", "Receive": "Empfangen", @@ -216,7 +207,6 @@ "Rolls distribution:": "Rollenverteilung:", "Rolls:": "Würfe:", "SD card": "SD-Karte", - "SD card not detected": "SD-Karte nicht erkannt", "SD card not detected.": "SD-Karte nicht erkannt.", "SHA256 of rolls:": "SHA256 der Würfe:", "SHA256 of snapshot:": "SHA256 des Snapshots:", @@ -224,7 +214,6 @@ "Save to SD card": "Auf SD-Karte speichern?", "Save to SD card?": "Auf SD-Karte speichern?", "Saved to SD card": "Auf SD-Karte gespeichert", - "Saving ...": "Wird gespeichert …", "Scale": "Skala", "Scan Address": "Adresse\nscannen", "Scan BIP39 Passphrase": "Scan BIP39 Passphrase", @@ -235,7 +224,10 @@ "Script Type": "Script-Art", "Security": "Sicherheit", "Self-transfer or Change (%d):": "Selbstübertragung oder Change (%d):", + "Self-transfer:": "Selbstübertragung:", "Settings": "Einstellungen", + "Settings stored internally on flash.": "Die Einstellungen werden intern auf Flash gespeichert.", + "Settings stored on SD card.": "Einstellungen auf SD-Karte gespeichert.", "Shannon's Entropy:": "Shannons Entropie:", "Shutdown": "Ausschalten", "Shutdown Time": "Abschaltzeit:", @@ -252,6 +244,7 @@ "Size:": "Größe:", "Some checks cannot be performed.": "Einige Schecks können nicht durchgeführt werden.", "Spend (%d):": "Ausgabe (%d):", + "Spend:": "Ausgaben:", "Stats for Nerds": "Statistiken für Nerds", "Store on Flash": "Auf Flash speichern", "Store on SD Card": "Auf der SD-Karte speichern", @@ -269,7 +262,6 @@ "Try more?": "Weiter versuchen?", "Type BIP39 Passphrase": "BIP39 Passphrase eingeben", "Type Key": "Schlüssel eingeben", - "Unexpected error saving to Flash.": "Unerwarteter Fehler beim Speichern auf dem Flash-Speicher.", "Unit": "Einheit", "Upgrade complete.": "Upgrade abgeschlossen.", "Use a black background surface.": "Verwende eine schwarze Hintergrundfläche.", @@ -297,10 +289,6 @@ "Word Numbers": "Wortnummern", "Words": "Wörter", "Yes": "Ja", - "Your changes will be kept on device flash storage.": "Änderungen werden im Flash-Speicher des Geräts gespeichert.", - "Your changes will be kept on the SD card.": "Änderungen werden auf der SD-Karte gespeichert.", - "is a valid change address!": "ist eine gültige Change Adresse!", - "is a valid receive address!": "ist eine gültige Empfangsadresse!", - "was NOT FOUND in the first %d change addresses": " wurde in den ersten %d Change Adressen NICHT GEFUNDEN", - "was NOT FOUND in the first %d receive addresses": "wurde in den ersten %d Empfangsadressen NICHT GEFUNDEN" + "is a valid address!": "ist eine gültige Adresse!", + "was NOT FOUND in the first %d addresses": "wurde in den ersten %d Adressen nicht gefunden" } \ No newline at end of file diff --git a/i18n/translations/es-MX.json b/i18n/translations/es-MX.json index 0c7e946f4..d908a0bb7 100644 --- a/i18n/translations/es-MX.json +++ b/i18n/translations/es-MX.json @@ -1,11 +1,8 @@ { "% of the amount.": "% del monto.", "%d of %d multisig": "%d de %d multisig", - "%d. Change:": "%d. Cambio:", - "%d. Self-transfer:": "%d. Autotransferencia:", - "%d. Spend:": "%d. Gasto:", - "%s was removed from SD card": "%s se eliminó de la tarjeta SD", - "%s was removed from flash": "%s se eliminó del flash", + "%d to %d": "%d a %d", + "%s removed.": "%s eliminado.", "(%d total)": "(%d total)", "(Experimental)": "(Experimental)", "(watch-only)": "(Solo para observación)", @@ -39,18 +36,13 @@ "Change": "Cambio", "Change Addresses": "Direcciones de Cambio", "Change theme and reboot?": "¿Cambiar de tema y reiniciar?", - "Changes persisted to Flash!": "¡Cambios guardados en Flash!", - "Changes persisted to SD card!": "¡Cambios guardados en la tarjeta SD!", + "Change:": "Cambio:", "Changes will last until shutdown.": "Los cambios durarán hasta que el dispositivo se apague.", "Check SD Card": "Verifica Tarjeta SD", "Check that address belongs to this wallet?": "¿Verificar que la dirección pertenece a esta cartera?", - "Checked %d change addresses with no matches.": "Comprobado %d direcciones de cambio sin coincidencias.", - "Checked %d receive addresses with no matches.": "Comprobado %d direcciones de depósito sin coincidencias.", - "Checking change address from %d to %d for match..": "Comprobando la dirección de cambio desde %d hasta %d para alguna coincidencia..", + "Checked %d addresses with no matches.": "Comprobado %d direcciones sin coincidencias.", "Checking for SD card..": "Comprobación de la tarjeta SD..", - "Checking receive address from %d to %d for match..": "Comprobando la dirección de depósito desde %d hasta %d para alguna coincidencia..", "Child Index": "Índice Derivado", - "Continue?": "¿Continuar?", "Create QR Code": "Crear Código QR", "Create QR code from text?": "¿Crear código QR desde texto?", "Created:": "Creado:", @@ -64,7 +56,6 @@ "Default Wallet": "Cartera Predeterminada", "Depth Per Pass": "Profundidad por Pasada", "Descriptor Addresses": "Direcciones del descriptor", - "Device flash storage not detected.": "Almacenamiento flash del dispositivo no detectado.", "Display": "Pantalla", "Do not power off, it may take a while to complete.": "No apagues el dispositivo, puede tardar un tiempo en completarse.", "Done?": "¿Listo?", @@ -198,7 +189,7 @@ "Printing": "Imprimiendo", "Proceed anyway?": "¿Proceder de todas maneras?", "Proceed?": "¿Continuar?", - "Processing ...": "Procesando ...", + "Processing..": "Procesando..", "QR Code": "Código QR", "RX Pin": "RX Pin", "Receive": "Recepción", @@ -216,7 +207,6 @@ "Rolls distribution:": "Distribución de tiradas:", "Rolls:": "Tiradas:", "SD card": "Tarjeta SD", - "SD card not detected": "Tarjeta SD no detectada", "SD card not detected.": "Tarjeta SD no detectada.", "SHA256 of rolls:": "SHA256 de las tiradas:", "SHA256 of snapshot:": "SHA256 de la instantánea:", @@ -224,7 +214,6 @@ "Save to SD card": "Guardar en tarjeta SD", "Save to SD card?": "¿Guardar en la tarjeta SD?", "Saved to SD card": "Guardado en la tarjeta SD", - "Saving ...": "Guardando ...", "Scale": "Escala", "Scan Address": "Escanear Dirección", "Scan BIP39 Passphrase": "Escanear Passphrase BIP39", @@ -235,7 +224,10 @@ "Script Type": "Tipo de Script", "Security": "Seguridad", "Self-transfer or Change (%d):": "Autotransferencia o Cambio (%d):", + "Self-transfer:": "Autotransferencia:", "Settings": "Ajustes", + "Settings stored internally on flash.": "Ajustes almacenados internamente en flash.", + "Settings stored on SD card.": "Configuración almacenada en la tarjeta SD.", "Shannon's Entropy:": "Entropía de Shannon:", "Shutdown": "Apagar", "Shutdown Time": "Tiempo de Apagado", @@ -252,6 +244,7 @@ "Size:": "Tamaño:", "Some checks cannot be performed.": "Algunas comprobaciones no se pueden realizar.", "Spend (%d):": "Gastos (%d):", + "Spend:": "Gasto:", "Stats for Nerds": "Estadísticas para Entendidos", "Store on Flash": "Almacenar en Flash", "Store on SD Card": "Almacenar en la Tarjeta SD", @@ -269,7 +262,6 @@ "Try more?": "¿Intentar con mas?", "Type BIP39 Passphrase": "Escribe la Passphrase BIP39", "Type Key": "Introduce la clave", - "Unexpected error saving to Flash.": "Error inesperado al guardar en Flash.", "Unit": "Unidad", "Upgrade complete.": "Actualización completa.", "Use a black background surface.": "Usa una superficie de fondo negra.", @@ -297,10 +289,6 @@ "Word Numbers": "Números de Palabra", "Words": "Palabras", "Yes": "Sí", - "Your changes will be kept on device flash storage.": "Tus cambios se guardarán en el almacenamiento flash del dispositivo.", - "Your changes will be kept on the SD card.": "Tus cambios se guardarán en la tarjeta SD.", - "is a valid change address!": "es una dirección de cambio válida!", - "is a valid receive address!": "es una dirección de recepción válida!", - "was NOT FOUND in the first %d change addresses": "NO FUE ENCONTRADO en las primeras %d direcciones de cambio", - "was NOT FOUND in the first %d receive addresses": "NO FUE ENCONTRADO en las primeras %d direcciones de recepción" + "is a valid address!": "es una dirección válida!", + "was NOT FOUND in the first %d addresses": "NO FUE ENCONTRADO en las primeras %d direcciones" } \ No newline at end of file diff --git a/i18n/translations/fr-FR.json b/i18n/translations/fr-FR.json index c5ffd0daa..3ae503297 100644 --- a/i18n/translations/fr-FR.json +++ b/i18n/translations/fr-FR.json @@ -1,11 +1,8 @@ { "% of the amount.": "% du montant.", "%d of %d multisig": "%d de %d multisignature", - "%d. Change:": "%d. La monnaie:", - "%d. Self-transfer:": "%d. Auto-transfert :", - "%d. Spend:": "%d. Dépense :", - "%s was removed from SD card": "%s a été supprimé de la carte SD", - "%s was removed from flash": "%s a été supprimé du flash", + "%d to %d": "%d à %d", + "%s removed.": "%s supprimé.", "(%d total)": "(%d au total)", "(Experimental)": "(Expérimental)", "(watch-only)": "(consultation)", @@ -39,21 +36,16 @@ "Change": "Changement", "Change Addresses": "Adresses de Changement", "Change theme and reboot?": "Changer de thème et redémarrer ?", - "Changes persisted to Flash!": "Les modifications ont été enregistrées dans le Flash !", - "Changes persisted to SD card!": "Modifications enregistrées sur la carte SD !", + "Change:": "La monnaie :", "Changes will last until shutdown.": "Les modifications dureront jusqu'à l'arrêt.", "Check SD Card": "Vérifiez la carte SD", "Check that address belongs to this wallet?": "Vérifiez que l'adresse appartient à cette portefeuille ?", - "Checked %d change addresses with no matches.": "Adresses %d de monnaie revenues sans correspondance.", - "Checked %d receive addresses with no matches.": "Adresses %d de reception revenues sans correspondance.", - "Checking change address from %d to %d for match..": "Vérification de l'adresse monnaie de %d à %d pour correspondance..", + "Checked %d addresses with no matches.": "%d adresses vérifiées sans correspondance.", "Checking for SD card..": "Vérification de la carte SD..", - "Checking receive address from %d to %d for match..": "Vérification de l'adresse de reception de %d à %d pour correspondance..", "Child Index": "Indice enfant", - "Continue?": "Continuer ?", "Create QR Code": "Créer du code QR", "Create QR code from text?": "Créer du code QR à partir du texte ?", - "Created:": "Créé:", + "Created:": "Créé :", "Custom QR Code": "Code QR personnalisé", "Customize": "Personnaliser", "Customizing your wallet will generate a new Key.": "La personnalisation de votre portefeuille générera une nouvelle clé.", @@ -64,7 +56,6 @@ "Default Wallet": "Portefeuille par défaut", "Depth Per Pass": "Profondeur par passage", "Descriptor Addresses": "Adresses des descripteurs", - "Device flash storage not detected.": "Stockage flash de l'appareil non détecté.", "Display": "Affichage", "Do not power off, it may take a while to complete.": "Ne pas éteindre, cela peut prendre un certain temps.", "Done?": "Terminé ?", @@ -72,7 +63,7 @@ "Encrypted": "Chiffré", "Encrypted QR Code": "Code QR crypté", "Encrypted mnemonic was not stored": "Le mnémonique crypté n'a pas été stocké", - "Encrypted mnemonic was stored with ID:": "Mnémonique cryptée a été stockée avec ID:", + "Encrypted mnemonic was stored with ID:": "Mnémonique cryptée a été stockée avec ID :", "Encryption": "Chiffrement", "Encryption Mode": "Mode de chiffrement", "Enter %d BIP-39 words.": "Entrez %d mots BIP-39.", @@ -80,7 +71,7 @@ "Enter each word of your BIP-39 mnemonic as a number in hexadecimal from 1 to 800.": "Entrez chaque mot de votre mnémonique BIP-39 sous la forme d'un nombre en hexadécimal de 1 à 800.", "Enter each word of your BIP-39 mnemonic as a number in octal from 1 to 4000.": "Entrez chaque mot de votre mnémonique BIP-39 sous la forme d'un nombre en octal de 1 à 4000.", "Enter each word of your BIP-39 mnemonic.": "Entrez chaque mot de votre mnémonique BIP-39.", - "Error:": "Erreur:", + "Error:": "Erreur :", "Esc": "Esc", "Explore files?": "Explorer des fichiers ?", "Exporting to SD card..": "Exportation vers la carte SD..", @@ -95,15 +86,15 @@ "Failed to load output descriptor": "Échec du chargement du descripteur de sortie", "Failed to load passphrase": "Échec du chargement de la phrase secrète", "Failed to store mnemonic": "Échec de stocker mnémonique", - "Fee:": "Frais:", + "Fee:": "Frais :", "Feed Rate": "Taux d'alimentation", "Filename": "Nom de fichier", "Filename %s exists on SD card, overwrite?": "Le nom de fichier %s existe sur la carte SD, écraser ?", "Fingerprint unset in PSBT": "Empreinte digitale manquante dans PSBT", - "Firmware exceeds max size: %d": "Le micrologiciel dépasse la taille maximale: %d", + "Firmware exceeds max size: %d": "Le micrologiciel dépasse la taille maximale : %d", "Flipped X Coordinates": "Coordonnées X inversées", "Flute Diameter": "Diamètre de flûte", - "Free:": "Libre:", + "Free:": "Libre :", "From Storage": "Du stockage", "Fully erase your SD card in another device to ensure data is unrecoverable": "Effacez complètement votre carte SD dans un autre appareil pour assurer que les données soient irrécupérables", "Generate Mnemonic": "Générer une mnémonique", @@ -117,7 +108,7 @@ "Hide Mnemonics": "Masquer les mnémoniques", "High fees!": "Frais élevés !", "ID already exists": "Id existe déjà", - "Inputs (%d):": "Entrées (%d):", + "Inputs (%d):": "Entrées (%d) :", "Install?": "Installer ?", "Insufficient Entropy!": "Entropie insuffisante !", "Insufficient entropy": "Entropie insuffisante", @@ -125,7 +116,7 @@ "Invalid bootloader": "Chargeur de démarrage invalide", "Invalid mnemonic length": "Longueur mnémonique invalide", "Invalid public key": "Clé publique non valide", - "Invalid wallet:": "Portefeuille invalide:", + "Invalid wallet:": "Portefeuille invalide :", "Invert": "Inverser", "Inverted Colors": "Couleurs inversées", "Key": "Clé", @@ -136,7 +127,7 @@ "Leave blank if you'd like Krux to pick a valid final word": "Laissez vide si vous souhaitez que Krux choisisse un dernier mot valide", "Left": "Gauche", "Line Delay": "Délai de Ligne", - "Line:": "Ligne:", + "Line:": "Ligne :", "Load Mnemonic": "Charger mnémonique", "Load Wallet": "Charger le portefeuille", "Load a trusted wallet descriptor to view addresses?": "Charger un descripteur de portefeuille de confiance pour afficher les adresses ?", @@ -154,13 +145,13 @@ "Location": "Emplacement", "Maximum length exceeded (%s)": "Longueur maximale dépassée (%s)", "Message": "Message", - "Message:": "Message :", + "Message:": "Message :", "Missing signature file": "Fichier de signature manquant", "Mnemonic": "Mnémonique", "Mnemonic ID": "ID mnémonique", "Mnemonic and passphrase will be kept.": "Mnémonique et phrase secrète seront conservés.", "Mnemonic was not encrypted": "Mnémonique n'était pas cryptée", - "Modified:": "Modifié:", + "Modified:": "Modifié :", "Multisig": "Multi\nsignature", "Native Segwit - 84 would be assumed": "Native Segwit - 84 serait supposé", "Network": "Réseau", @@ -182,7 +173,7 @@ "Pattern detected!": "Structure détecté !", "Permanently remove all stored encrypted mnemonics and settings from flash?": "Supprimer définitivement tous les mnémoniques et paramètres chiffrés stockés dans le flash ?", "Persist": "Persister", - "Pixels deviation index:": "Indice de déviation des pixels:", + "Pixels deviation index:": "Indice de déviation des pixels :", "Plaintext QR": "QR en Texte Brut", "Please load a wallet output descriptor": "Veuillez charger un descripteur de sortie de portefeuille", "Plunge Rate": "Taux de plongée", @@ -198,12 +189,12 @@ "Printing": "Impression", "Proceed anyway?": "Procéder quand même ?", "Proceed?": "Procéder ?", - "Processing ...": "Traitement ...", + "Processing..": "Traitement..", "QR Code": "QR Code", "RX Pin": "RX Fiche", "Receive": "Recevoir", "Receive Addresses": "Adresses de Réception", - "Region:": "Région:", + "Region:": "Région :", "Remove %s?": "Supprimer %s ?", "Remove Mnemonic": "Supprimer mnémonique", "Remove firmware files from SD Card?": "Supprimer les fichiers micrologiciel de la carte SD ?", @@ -213,18 +204,16 @@ "Review scanned data, edit if necessary": "Examinez les données numérisées, modifiez-les si nécessaire", "Right": "À droite", "Roll dice at least %d times to generate a mnemonic.": "Lancez le dé au moins %d fois pour générer un mnémonique.", - "Rolls distribution:": "Distribution des jets:", - "Rolls:": "Jets:", + "Rolls distribution:": "Distribution des jets :", + "Rolls:": "Jets :", "SD card": "Carte SD", - "SD card not detected": "Carte SD non détectée", "SD card not detected.": "Carte SD non détectée.", - "SHA256 of rolls:": "SHA256 de jets:", - "SHA256 of snapshot:": "SHA256 de snapshot:", + "SHA256 of rolls:": "SHA256 de jets :", + "SHA256 of snapshot:": "SHA256 de snapshot :", "Save QR Image to SD Card": "Enregistrer l'image QR sur la carte SD", "Save to SD card": "Enregistrer sur la carte SD", "Save to SD card?": "Enregistrer sur la carte SD ?", "Saved to SD card": "Enregistré sur la carte SD", - "Saving ...": "Enregistrement en cours...", "Scale": "L'échelle", "Scan Address": "Scannez l'adresse", "Scan BIP39 Passphrase": "Scannez la phrase secrète BIP-39", @@ -234,9 +223,12 @@ "Screensaver Time": "Delai d'Inactivité", "Script Type": "Type de Script", "Security": "Sécurité", - "Self-transfer or Change (%d):": "Auto-transfert ou monnaie (%d):", + "Self-transfer or Change (%d):": "Auto-transfert ou monnaie (%d) :", + "Self-transfer:": "Auto-transfert :", "Settings": "Paramètres", - "Shannon's Entropy:": "Entropie de Shannon:", + "Settings stored internally on flash.": "Paramètres stockés en interne sur flash.", + "Settings stored on SD card.": "Paramètres stockés sur la carte SD.", + "Shannon's Entropy:": "Entropie de Shannon :", "Shutdown": "Fermer", "Shutdown Time": "Delai d'Arrêt", "Shutting down..": "Éteindre..", @@ -249,9 +241,10 @@ "Signed PSBT": "PSBT signé", "Signing..": "Signature..", "Single-sig": "Clé unique", - "Size:": "Capacité:", + "Size:": "Capacité :", "Some checks cannot be performed.": "Certains chèques ne peuvent pas être effectués.", - "Spend (%d):": "Dépense (%d):", + "Spend (%d):": "Dépense (%d) :", + "Spend:": "Dépense :", "Stats for Nerds": "Statistiques pour les geeks", "Store on Flash": "Stocker sur flash", "Store on SD Card": "Stocker sur la carte SD", @@ -269,12 +262,11 @@ "Try more?": "Réessayer ?", "Type BIP39 Passphrase": "Entrez la phrase secrète BIP-39", "Type Key": "Clé de type", - "Unexpected error saving to Flash.": "Erreur inattendue lors de l'enregistrement dans le Flash.", "Unit": "Unité", "Upgrade complete.": "Mise à niveau complète.", "Use a black background surface.": "Utilisez une surface de fond noire.", "Use camera's entropy to create a new mnemonic": "Utilisez l'entropie de la caméra pour créer un nouveau mnémonique", - "Used:": "Utilisé:", + "Used:": "Utilisé :", "Value %s out of range: [%s, %s]": "Valeur %s hors de portée: [%s, %s]", "Value must be multiple of %s": "La valeur doit être un multiple de %s", "Verifying..": "Vérification..", @@ -290,17 +282,13 @@ "Wallet output descriptor": "Descripteur de sortie du portefeuille", "Wallet output descriptor loaded!": "Descripteur de sortie du portefeuille chargé !", "Wallet output descriptor not found.": "Descripteur de sortie du portefeuille introuvable.", - "Warning:": "Avertissement:", + "Warning:": "Avertissement :", "Wipe Device": "Effacer l'appareil", - "Wiping Device..": "Effacement de l'appareil en cours...", + "Wiping Device..": "Effacement de l'appareil en cours..", "Word %d": "Mot %d", "Word Numbers": "Numéros de mots", "Words": "Mots", "Yes": "Oui", - "Your changes will be kept on device flash storage.": "Vos modifications seront stockées sur le stockage flash de l'appareil.", - "Your changes will be kept on the SD card.": "Vos modifications seront stockées sur la carte SD.", - "is a valid change address!": "est une adresse de monnaie valide !", - "is a valid receive address!": "est une adresse de reception valide !", - "was NOT FOUND in the first %d change addresses": "INTROUVABLE dans les premières %d adresses de monnaie", - "was NOT FOUND in the first %d receive addresses": "INTROUVABLE dans les premières %d adresses de reception" + "is a valid address!": "Adresse non valide !", + "was NOT FOUND in the first %d addresses": "n'A PAS ÉTÉ TROUVÉ dans les %d premières adresses" } \ No newline at end of file diff --git a/i18n/translations/nl-NL.json b/i18n/translations/nl-NL.json index 75536c173..0e4e56e50 100644 --- a/i18n/translations/nl-NL.json +++ b/i18n/translations/nl-NL.json @@ -1,11 +1,8 @@ { "% of the amount.": "% van het bedrag.", "%d of %d multisig": "%d van %d multisig", - "%d. Change:": "%d. Wisselgeld:", - "%d. Self-transfer:": "%d. Zelf overschrijving:", - "%d. Spend:": "%d. Uitgaven:", - "%s was removed from SD card": "%s verwijderd van SD kaart", - "%s was removed from flash": "%s verwijderd van flashgeheugen", + "%d to %d": "%d tot %d", + "%s removed.": "%s verwijderd.", "(%d total)": "(%d totaal)", "(Experimental)": "(Experimenteel)", "(watch-only)": "(alleen inzien)", @@ -39,18 +36,13 @@ "Change": "Change", "Change Addresses": "Wisselgeldadres", "Change theme and reboot?": "Thema veranderen en opnieuw opstarten?", - "Changes persisted to Flash!": "Wijzigingen opgeslagen in Flash!", - "Changes persisted to SD card!": "Wijzigingen aanhouden op SD kaart!", + "Change:": "Wisselgeld:", "Changes will last until shutdown.": "Wijzigingen blijven van kracht tot afsluiten.", "Check SD Card": "Controleer SD kaart", "Check that address belongs to this wallet?": "Controleer of dit adres bij deze portemonnee hoort?", - "Checked %d change addresses with no matches.": "Na %d geen wisselgeld adressen gevonden.", - "Checked %d receive addresses with no matches.": "Na %d geen ontvangst adressen gevonden.", - "Checking change address from %d to %d for match..": "Wisselgeldadres van %d tot %d controleren...", - "Checking for SD card..": "SD kaart controleren...", - "Checking receive address from %d to %d for match..": "Ontvangstadres van %d tot %d controleren...", + "Checked %d addresses with no matches.": "%d adressen gecontroleerd zonder overeenkomsten.", + "Checking for SD card..": "SD kaart controleren..", "Child Index": "Onderliggende index", - "Continue?": "Doorgaan?", "Create QR Code": "QR code maken", "Create QR code from text?": "QR code maken van tekst?", "Created:": "Aangemaakt:", @@ -64,7 +56,6 @@ "Default Wallet": "Standaard portemonnee", "Depth Per Pass": "Diepte per pas", "Descriptor Addresses": "Descriptoradressen", - "Device flash storage not detected.": "Opslag op apparaat is niet gedetecteerd.", "Display": "Weergave", "Do not power off, it may take a while to complete.": "Schakel het apparaat niet uit, het kan even duren voordat het klaar is.", "Done?": "Klaar?", @@ -145,11 +136,11 @@ "Load from camera": "Laden van camera", "Load one?": "Laden?", "Load?": "Laden?", - "Loading Camera..": "Camera laden...", + "Loading Camera..": "Camera laden..", "Loading change addresses..": "Wijzigingsadressen laden..", "Loading printer..": "Laadprinter..", "Loading receive addresses..": "Ontvangstadressen laden..", - "Loading..": "Laden...", + "Loading..": "Laden..", "Locale": "Taal", "Location": "Opslaglocatie", "Maximum length exceeded (%s)": "Maximale lengte overschreden (%s)", @@ -198,7 +189,7 @@ "Printing": "Afdrukken", "Proceed anyway?": "Toch doorgaan?", "Proceed?": "Doorgaan?", - "Processing ...": "Verwerken...", + "Processing..": "Verwerken..", "QR Code": "QR code", "RX Pin": "RX pin", "Receive": "Ontvangen", @@ -216,7 +207,6 @@ "Rolls distribution:": "Roldistributie:", "Rolls:": "Gedobbeld:", "SD card": "SD kaart", - "SD card not detected": "SD kaart niet gedetecteerd", "SD card not detected.": "SD kaart niet gedetecteerd.", "SHA256 of rolls:": "Gedobbelde SHA256:", "SHA256 of snapshot:": "Momentopname van SHA256:", @@ -224,7 +214,6 @@ "Save to SD card": "Opslaan op SD kaart", "Save to SD card?": "Opslaan op SD kaart?", "Saved to SD card": "Opgeslagen op SD kaart", - "Saving ...": "Opslaan bezig...", "Scale": "Schaal", "Scan Address": "Adres scannen", "Scan BIP39 Passphrase": "BIP-39 Wachtwoord Scannen", @@ -235,11 +224,14 @@ "Script Type": "Scripttype", "Security": "Beveiliging", "Self-transfer or Change (%d):": "Overschrijving naar jezelf, of wisselgeld (%d):", + "Self-transfer:": "Zelf overschrijving:", "Settings": "Instellingen", + "Settings stored internally on flash.": "Instellingen intern opgeslagen op flitser.", + "Settings stored on SD card.": "Instellingen opgeslagen op SD kaart.", "Shannon's Entropy:": "Shannon's entropie:", "Shutdown": "Afsluiten", "Shutdown Time": "Uitschakelingstijd:", - "Shutting down..": "Bezig met afsluiten...", + "Shutting down..": "Bezig met afsluiten..", "Sign": "Ondertekenen", "Sign to QR code": "Teken op QR-code", "Sign to SD card": "Teken op SD kaart", @@ -247,11 +239,12 @@ "Signature": "Handtekening", "Signed Message": "Bericht ondertekend", "Signed PSBT": "PSBT ondertekend", - "Signing..": "Ondertekenen...", + "Signing..": "Ondertekenen..", "Single-sig": "Enkele sleutel", "Size:": "Grootte:", "Some checks cannot be performed.": "Sommige controles kunnen niet worden uitgevoerd.", "Spend (%d):": "Uitgaven (%d):", + "Spend:": "Uitgaven:", "Stats for Nerds": "Statistieken voor nerds", "Store on Flash": "Opslaan op apparaat", "Store on SD Card": "Opslaan op SD kaart", @@ -269,7 +262,6 @@ "Try more?": "Meer proberen?", "Type BIP39 Passphrase": "Voer een BIP-39 wachtwoord in", "Type Key": "Voer sleutel in", - "Unexpected error saving to Flash.": "Onverwachte fout bij het opslaan naar flashgeheugen.", "Unit": "Eenheid", "Upgrade complete.": "Upgrade afgerond.", "Use a black background surface.": "Gebruik een donker achergrond.", @@ -292,15 +284,11 @@ "Wallet output descriptor not found.": "Portemonnee descriptor niet gevonden.", "Warning:": "Waarschuwing:", "Wipe Device": "Apparaat wissen", - "Wiping Device..": "Apparaat wissen...", + "Wiping Device..": "Apparaat wissen..", "Word %d": "Woord %d", "Word Numbers": "Woord nummers", "Words": "Woorden", "Yes": "Yes", - "Your changes will be kept on device flash storage.": "Veranderingen worden opgeslagen in opslag van apparaat.", - "Your changes will be kept on the SD card.": "Veranderingen worden opgeslagen op SD kaart.", - "is a valid change address!": "is een valide wisselgeld adres!", - "is a valid receive address!": "is een valide ontvangst adres!", - "was NOT FOUND in the first %d change addresses": "werd NIET GEVONDEN in de eerste %d wisselgeld adressen", - "was NOT FOUND in the first %d receive addresses": "werd NIET GEVONDEN in de eerste %d ontvangst adressen" + "is a valid address!": "is geen geldig adres", + "was NOT FOUND in the first %d addresses": "werd NIET GEVONDEN in de eerste %d adressen" } \ No newline at end of file diff --git a/i18n/translations/pl-PL.json b/i18n/translations/pl-PL.json index c95d132e9..0f86e52b3 100644 --- a/i18n/translations/pl-PL.json +++ b/i18n/translations/pl-PL.json @@ -1,11 +1,8 @@ { "% of the amount.": "% kwoty.", "%d of %d multisig": "%d z %d multisig", - "%d. Change:": "%D.Zmiana:", - "%d. Self-transfer:": "%D.Samo-transfer:", - "%d. Spend:": "%D.Wydać:", - "%s was removed from SD card": "%s usunięto z karty SD", - "%s was removed from flash": "%s usunięto z pamięci flash", + "%d to %d": "%d do %d", + "%s removed.": "%s usunięto.", "(%d total)": "(łącznie %d)", "(Experimental)": "(Eksperymentalny)", "(watch-only)": "(tylko zegarek)", @@ -39,18 +36,13 @@ "Change": "Zmiana", "Change Addresses": "Zmień adresy", "Change theme and reboot?": "Zmienić motyw i ponownie uruchomić?", - "Changes persisted to Flash!": "Zmiany zachowane w pamięci Flash!", - "Changes persisted to SD card!": "Zmiany utrzymywały się na karcie SD!", + "Change:": "Zmiana:", "Changes will last until shutdown.": "Zmiany będą trwać do zamknięcia.", "Check SD Card": "Sprawdź kartę SD", "Check that address belongs to this wallet?": "Sprawdź, czy adres należy do tego portfela?", - "Checked %d change addresses with no matches.": "Sprawdzone %d adresy zmiany bez dopasowań.", - "Checked %d receive addresses with no matches.": "Sprawdzone %D Otrzymuj adresy bez zapałek.", - "Checking change address from %d to %d for match..": "Sprawdzanie Zmieniania Adres od %d do %d dla dopasowania.", + "Checked %d addresses with no matches.": "Sprawdzono %d adresów bez dopasowań.", "Checking for SD card..": "Sprawdzanie karty SD ..", - "Checking receive address from %d to %d for match..": "Sprawdzanie adresu Otrzymaj od %d do %d dla meczu.", "Child Index": "Indeks podrzędny", - "Continue?": "Kontynuować?", "Create QR Code": "Utwórz kod QR", "Create QR code from text?": "Utwórz kod QR z tekstu?", "Created:": "Utworzony:", @@ -64,7 +56,6 @@ "Default Wallet": "Domyślny portfel", "Depth Per Pass": "Głębokość na przepustkę", "Descriptor Addresses": "Adresy deskryptora", - "Device flash storage not detected.": "Nie wykryto pamięci flash urządzenia.", "Display": "Wyświetlacz", "Do not power off, it may take a while to complete.": "Nie wyłączaj zasilania, może to chwilę potrwać.", "Done?": "Zrobione?", @@ -100,7 +91,7 @@ "Filename": "Nazwa pliku", "Filename %s exists on SD card, overwrite?": "Nazwa pliku %s istnieje na karcie SD, zastąp?", "Fingerprint unset in PSBT": "Odcisk palca nie jest ustawiony w PSBT", - "Firmware exceeds max size: %d": "Oprogramowanie układowe przekracza maksymalny rozmiar: %D", + "Firmware exceeds max size: %d": "Oprogramowanie układowe przekracza maksymalny rozmiar: %d", "Flipped X Coordinates": "Odwrócone współrzędne X", "Flute Diameter": "Średnica fletu", "Free:": "Bezpłatny:", @@ -198,7 +189,7 @@ "Printing": "Drukowanie", "Proceed anyway?": "Kontynuować mimo to?", "Proceed?": "Przystępować?", - "Processing ...": "Przetwarzanie ...", + "Processing..": "Przetwarzanie..", "QR Code": "Kod QR", "RX Pin": "Pin Rx", "Receive": "Odbierać", @@ -216,7 +207,6 @@ "Rolls distribution:": "Rozkład rolek:", "Rolls:": "Rolls:", "SD card": "karta SD", - "SD card not detected": "Karta SD nie została wykryta", "SD card not detected.": "Karta SD nie została wykryta.", "SHA256 of rolls:": "SHA256 Rolls:", "SHA256 of snapshot:": "SHA256 migawki:", @@ -224,7 +214,6 @@ "Save to SD card": "Zapisz na karcie SD", "Save to SD card?": "Zapisz na karcie SD?", "Saved to SD card": "Zapisano na karcie SD", - "Saving ...": "Zapisywanie...", "Scale": "Skala", "Scan Address": "Adres skanowania", "Scan BIP39 Passphrase": "Scan BIP39 Passphrase", @@ -235,7 +224,10 @@ "Script Type": "Typ skryptu", "Security": "zabezpieczenie", "Self-transfer or Change (%d):": "Samo-transfer lub zmiana (%d):", + "Self-transfer:": "Samo-transfer:", "Settings": "Ustawienia", + "Settings stored internally on flash.": "Ustawienia przechowywane wewnętrznie w pamięci błyskowej.", + "Settings stored on SD card.": "Ustawienia zapisane na karcie SD.", "Shannon's Entropy:": "Entropia Shannona:", "Shutdown": "Zamknięcie", "Shutdown Time": "Czas wyłączenia z ruchu", @@ -252,6 +244,7 @@ "Size:": "Rozmiar:", "Some checks cannot be performed.": "Nie można wykonać niektórych kontroli.", "Spend (%d):": "Wydać (%d):", + "Spend:": "Wydać:", "Stats for Nerds": "Statystyki dla nerdów", "Store on Flash": "Przechowuj na Flash", "Store on SD Card": "Przechowuj na karcie SD", @@ -269,7 +262,6 @@ "Try more?": "Próbuj bardziej?", "Type BIP39 Passphrase": "Wpisz Passphrase BIP39", "Type Key": "Klucz typu", - "Unexpected error saving to Flash.": "Nieoczekiwany błąd podczas zapisywania do Flash.", "Unit": "Jednostka", "Upgrade complete.": "Uaktualnienie zakończone.", "Use a black background surface.": "Użyj czarnej powierzchni tła.", @@ -292,15 +284,11 @@ "Wallet output descriptor not found.": "Nie znaleziono deskryptora wyjściowego portfela.", "Warning:": "Ostrzeżenie:", "Wipe Device": "Wyczyść urządzenie", - "Wiping Device..": "Czyszczenie urządzenia...", + "Wiping Device..": "Czyszczenie urządzenia..", "Word %d": "Słowo %d", "Word Numbers": "Numery słów", "Words": "Słowa", "Yes": "Tak", - "Your changes will be kept on device flash storage.": "Twoje zmiany będą przechowywane w pamięci flash urządzenia.", - "Your changes will be kept on the SD card.": "Twoje zmiany będą przechowywane na karcie SD.", - "is a valid change address!": "is prawidłowy adres zmiany!", - "is a valid receive address!": "is ważny adres odbierania!", - "was NOT FOUND in the first %d change addresses": "was nie znaleziono w pierwszych adresach zmiany", - "was NOT FOUND in the first %d receive addresses": "was nie znaleziono w pierwszych %D Otrzymuj adresy" + "is a valid address!": "jest prawidłowym adresem!", + "was NOT FOUND in the first %d addresses": "NIE ZNALEZIONO w pierwszych %d adresach" } \ No newline at end of file diff --git a/i18n/translations/pt-BR.json b/i18n/translations/pt-BR.json index 9cbdce1a7..ecdd87c01 100644 --- a/i18n/translations/pt-BR.json +++ b/i18n/translations/pt-BR.json @@ -1,11 +1,8 @@ { "% of the amount.": "% do valor.", "%d of %d multisig": "%d da %d multisig", - "%d. Change:": "%d. Troco:", - "%d. Self-transfer:": "%d. Autotransferência:", - "%d. Spend:": "%d. Gasto:", - "%s was removed from SD card": "%s foi excluído do cartão SD", - "%s was removed from flash": "%s foi excluído da memória flash", + "%d to %d": "%d a %d", + "%s removed.": "removido.", "(%d total)": "(%d total)", "(Experimental)": "(Experimental)", "(watch-only)": "(Somente visualização)", @@ -39,18 +36,13 @@ "Change": "Troco", "Change Addresses": "Endereços de Troco", "Change theme and reboot?": "Mudar o tema e reiniciar?", - "Changes persisted to Flash!": "As alterações foram salvas na memória flash!", - "Changes persisted to SD card!": "Mudanças salvas no cartão SD!", + "Change:": "Troco:", "Changes will last until shutdown.": "Alterações só durarão até o desligamento.", "Check SD Card": "Verifique o cartão SD", "Check that address belongs to this wallet?": "Verificar se este endereço pertence a carteira?", - "Checked %d change addresses with no matches.": "%d endereços de troco verificados sem correspondência.", - "Checked %d receive addresses with no matches.": "%d endereços de recebimento verificados sem correspondência.", - "Checking change address from %d to %d for match..": "Verificando correspondência do endereço de troco de %d a %d..", + "Checked %d addresses with no matches.": "Verificado %d endereços sem correspondências.", "Checking for SD card..": "Verificando o cartão SD..", - "Checking receive address from %d to %d for match..": "Verificando correspondência do endereço de recebimento de %d a %d..", "Child Index": "Índice Derivado", - "Continue?": "Continuar?", "Create QR Code": "Gerar Código QR", "Create QR code from text?": "Gerar código QR do texto?", "Created:": "Criado:", @@ -64,7 +56,6 @@ "Default Wallet": "Carteira Padrão", "Depth Per Pass": "Profundidade da Passagem", "Descriptor Addresses": "Endereços do Descritor", - "Device flash storage not detected.": "Armazenamento flash do dispositivo não detectado.", "Display": "Display", "Do not power off, it may take a while to complete.": "Não desligue, pode demorar um pouco para concluir.", "Done?": "Feito?", @@ -198,7 +189,7 @@ "Printing": "Imprimindo", "Proceed anyway?": "Continuar mesmo assim?", "Proceed?": "Seguir?", - "Processing ...": "Processando ...", + "Processing..": "Processando..", "QR Code": "Código QR", "RX Pin": "Pino RX", "Receive": "Recebimento", @@ -216,7 +207,6 @@ "Rolls distribution:": "Distribuição de jogadas:", "Rolls:": "Jogadas:", "SD card": "Cartão SD", - "SD card not detected": "Cartão SD não detectado", "SD card not detected.": "Cartão SD não detectado.", "SHA256 of rolls:": "SHA256 de jogadas:", "SHA256 of snapshot:": "Sha256 da imagem:", @@ -224,7 +214,6 @@ "Save to SD card": "Salvar no cartão SD", "Save to SD card?": "Salvar no cartão SD?", "Saved to SD card": "Salvo no cartão SD", - "Saving ...": "Salvando...", "Scale": "Escala", "Scan Address": "Escanear Endereço", "Scan BIP39 Passphrase": "Escanear a senha BIP39", @@ -235,7 +224,10 @@ "Script Type": "Tipo de Script", "Security": "Segurança", "Self-transfer or Change (%d):": "Autotransferência ou Troco (%d):", + "Self-transfer:": "Autotransferência:", "Settings": "Configurações", + "Settings stored internally on flash.": "Configurações armazenadas internamente no flash.", + "Settings stored on SD card.": "Configurações armazenadas no cartão SD.", "Shannon's Entropy:": "Entropia de Shannon:", "Shutdown": "Desligar", "Shutdown Time": "Tempo de desligamento", @@ -252,6 +244,7 @@ "Size:": "Total:", "Some checks cannot be performed.": "Algumas verificações não podem ser realizadas.", "Spend (%d):": "Gastos (%d):", + "Spend:": "Gasto:", "Stats for Nerds": "Estatísticas para Nerds", "Store on Flash": "Armazene na Flash", "Store on SD Card": "Armazene no Cartão SD", @@ -269,7 +262,6 @@ "Try more?": "Tentar mais?", "Type BIP39 Passphrase": "Digitar a senha BIP39", "Type Key": "Digite a Chave", - "Unexpected error saving to Flash.": "Erro inesperado ao salvar na memória flash.", "Unit": "Unidade", "Upgrade complete.": "Atualização completa.", "Use a black background surface.": "Use uma superfície de fundo preta.", @@ -297,10 +289,6 @@ "Word Numbers": "Números das Palavras", "Words": "Palavras", "Yes": "Sim", - "Your changes will be kept on device flash storage.": "Suas alterações serão mantidas no armazenamento flash do dispositivo.", - "Your changes will be kept on the SD card.": "Suas alterações serão mantidas no cartão SD.", - "is a valid change address!": "é um endereço de troco válido!", - "is a valid receive address!": "é um endereço de recebimento válido!", - "was NOT FOUND in the first %d change addresses": "NÃO FOI ENCONTRADO nos primeiros %d endereços de troco", - "was NOT FOUND in the first %d receive addresses": "NÃO FOI ENCONTRADO nos primeiros %d endereços de recebimento" + "is a valid address!": "é um endereço válido!", + "was NOT FOUND in the first %d addresses": "NÃO FOI ENCONTRADO nos primeiros %d endereços" } \ No newline at end of file diff --git a/i18n/translations/ru-RU.json b/i18n/translations/ru-RU.json index eb8e0c5c9..aadeb872d 100644 --- a/i18n/translations/ru-RU.json +++ b/i18n/translations/ru-RU.json @@ -1,11 +1,8 @@ { "% of the amount.": "% от суммы.", "%d of %d multisig": "%d из %d мультиподпись", - "%d. Change:": "%d. Сдача:", - "%d. Self-transfer:": "%d. Перевод самому себе:", - "%d. Spend:": "%d. Расход:", - "%s was removed from SD card": "%s удален с SD-карты", - "%s was removed from flash": "%s удален с флеш-памяти", + "%d to %d": "%d к %d", + "%s removed.": "%s удален.", "(%d total)": "(%d всего)", "(Experimental)": "(Эксперементальный)", "(watch-only)": "(Только часы)", @@ -39,18 +36,13 @@ "Change": "Сдача", "Change Addresses": "Адрес Сдачи", "Change theme and reboot?": "Сменить тему и перезагрузить?", - "Changes persisted to Flash!": "Изменения сохранены во флеш-памяти!", - "Changes persisted to SD card!": "Изменения сохранены на SD карте!", + "Change:": "Сдача:", "Changes will last until shutdown.": "Изменения будут храниться до выключения.", "Check SD Card": "Проверить SD Карту", "Check that address belongs to this wallet?": "Проверить, что адрес принадлежит этому кошельку?", - "Checked %d change addresses with no matches.": "Проверено %d адресов сдачи без совпадений.", - "Checked %d receive addresses with no matches.": "Проверено %d адресов получения без совпадений.", - "Checking change address from %d to %d for match..": "Проверяем адрес сдачи с %d по %d на совпадение..", + "Checked %d addresses with no matches.": "Проверено %d адресов без совпадений.", "Checking for SD card..": "Проверка SD карты..", - "Checking receive address from %d to %d for match..": "Проверяем адрес получения с %d по %d на совпадение..", "Child Index": "Дочерний индекс", - "Continue?": "Продолжить?", "Create QR Code": "Создать QR Код", "Create QR code from text?": "Создать QR код из текста?", "Created:": "Создано:", @@ -64,7 +56,6 @@ "Default Wallet": "Кошелек по умолчанию", "Depth Per Pass": "Глубина за Проход", "Descriptor Addresses": "Адреса дескрипторов", - "Device flash storage not detected.": "Флэш память устройства не обнаружена.", "Display": "Дисплеи", "Do not power off, it may take a while to complete.": "Не выключайте питание, это может занять некоторое время.", "Done?": "Готово?", @@ -198,7 +189,7 @@ "Printing": "Идет печать", "Proceed anyway?": "Все равно продолжить?", "Proceed?": "Продолжить?", - "Processing ...": "Обработка ...", + "Processing..": "Обработка..", "QR Code": "QR Код", "RX Pin": "RX Пин", "Receive": "Получить", @@ -216,7 +207,6 @@ "Rolls distribution:": "Распределение бросков:", "Rolls:": "Броски:", "SD card": "SD карта", - "SD card not detected": "SD карта не обнаружена", "SD card not detected.": "SD карта не обнаружена.", "SHA256 of rolls:": "SHA256 бросков:", "SHA256 of snapshot:": "SHA256 снэпшота:", @@ -224,7 +214,6 @@ "Save to SD card": "Сохранить на SD-карту", "Save to SD card?": "Сохранить на SD карту?", "Saved to SD card": "Сохранено на SD карту", - "Saving ...": "Сохранение...", "Scale": "Шкала", "Scan Address": "Отсканировать Адрес", "Scan BIP39 Passphrase": "Отсканировать BIP39 фразу-пароль", @@ -235,7 +224,10 @@ "Script Type": "Тип скрипта", "Security": "Охрана", "Self-transfer or Change (%d):": "Трансфер самому себе или Сдача (%d):", + "Self-transfer:": "Перевод самому себе:", "Settings": "Настройки", + "Settings stored internally on flash.": "Настройки хранятся во флэш-памяти.", + "Settings stored on SD card.": "Настройки сохранены на SD-карте.", "Shannon's Entropy:": "Энтропия Шеннона:", "Shutdown": "Выключить", "Shutdown Time": "Время выключения", @@ -252,6 +244,7 @@ "Size:": "Размер:", "Some checks cannot be performed.": "Некоторые проверки не могут быть выполнены.", "Spend (%d):": "Расход (%d):", + "Spend:": "Расход:", "Stats for Nerds": "Статистика для Гиков", "Store on Flash": "Сохранить на Флэш Память", "Store on SD Card": "Сохранить на SD Карту", @@ -269,7 +262,6 @@ "Try more?": "Попробовать ещё?", "Type BIP39 Passphrase": "Ввести BIP39 фразу-пароль", "Type Key": "Ввести Ключ", - "Unexpected error saving to Flash.": "Неожиданная ошибка во время сохранения на флеш-память.", "Unit": "Единица Измерения", "Upgrade complete.": "Обновление завершено.", "Use a black background surface.": "Использовать черную фоновую поверхность.", @@ -297,10 +289,6 @@ "Word Numbers": "Числа Слов", "Words": "Слова", "Yes": "Да", - "Your changes will be kept on device flash storage.": "Ваши изменения будут сохранены на флэш памяти устройства.", - "Your changes will be kept on the SD card.": "Ваши изменения будут сохранены на SD карте.", - "is a valid change address!": "валидный адрес сдачи!", - "is a valid receive address!": "валидный адрес получения!", - "was NOT FOUND in the first %d change addresses": "НЕ НАЙДЕН в первых %d адресах сдачи", - "was NOT FOUND in the first %d receive addresses": "НЕ НАЙДЕН в первых %d адресах получения" + "is a valid address!": "некорректный адрес", + "was NOT FOUND in the first %d addresses": "нЕ НАЙДЕНО в первых %d адресах" } \ No newline at end of file diff --git a/i18n/translations/tr-TR.json b/i18n/translations/tr-TR.json index 3cabaed28..850f49cf7 100644 --- a/i18n/translations/tr-TR.json +++ b/i18n/translations/tr-TR.json @@ -1,11 +1,8 @@ { "% of the amount.": "tutarın %'si.", "%d of %d multisig": "%d / %d çoklu imza", - "%d. Change:": "%d. Para Üstü:", - "%d. Self-transfer:": "%d. Kendine-transfer:", - "%d. Spend:": "%d. Harcama:", - "%s was removed from SD card": "%s SD karttan kaldırıldı", - "%s was removed from flash": "%s flash'tan kaldırıldı", + "%d to %d": "%d to %d", + "%s removed.": "%s kaldırıldı.", "(%d total)": "(toplam %d)", "(Experimental)": "(Deneysel)", "(watch-only)": "(sadece izle)", @@ -39,18 +36,13 @@ "Change": "Para Üstü", "Change Addresses": "Para Üstü Adresleri", "Change theme and reboot?": "Temayı değiştir ve yeniden başlat?", - "Changes persisted to Flash!": "Değişiklikler Flash'a kaydedildi!", - "Changes persisted to SD card!": "Değişiklikler SD karta kaydedildi!", + "Change:": "Para Üstü:", "Changes will last until shutdown.": "Değişiklikler kapanışa kadar devam edecek.", "Check SD Card": "SD Kartı Kontrol Et", "Check that address belongs to this wallet?": "Bu adresin, bu cüzdana ait olduğunu kontrol et?", - "Checked %d change addresses with no matches.": "Eşleşme olmadan %d para üstü adresi kontrol edildi.", - "Checked %d receive addresses with no matches.": "Eşleşme olmadan %d alım adresi kontrol edildi.", - "Checking change address from %d to %d for match..": "Eşleşme için %d ile %d arasındaki para üstü adresi kontrol ediliyor..", + "Checked %d addresses with no matches.": "Eşleşmeyen %d adres kontrol edildi.", "Checking for SD card..": "SD kart kontrol ediliyor..", - "Checking receive address from %d to %d for match..": "Eşleşme için %d ile %d arasındaki alım adresi kontrol ediliyor..", "Child Index": "Türev Dizini", - "Continue?": "Devam et?", "Create QR Code": "QR Kodu Oluştur", "Create QR code from text?": "Metinden QR kodu oluşturulsun mu?", "Created:": "Oluşturuldu:", @@ -64,7 +56,6 @@ "Default Wallet": "Varsayılan Cüzdan", "Depth Per Pass": "Geçiş Başına Derinlik", "Descriptor Addresses": "Tanımlayıcı Adresler", - "Device flash storage not detected.": "Cihaz flash depolaması algılanmadı.", "Display": "Ekran", "Do not power off, it may take a while to complete.": "Kapatmayın, tamamlanması biraz zaman alabilir.", "Done?": "Tamamlandı mı?", @@ -198,7 +189,7 @@ "Printing": "Yazdırılıyor", "Proceed anyway?": "Yine de devam edilsin mi?", "Proceed?": "Devam edilsin mi?", - "Processing ...": "İşleniyor ...", + "Processing..": "İşleniyor..", "QR Code": "QR Kodu", "RX Pin": "RX Pini", "Receive": "Al", @@ -216,7 +207,6 @@ "Rolls distribution:": "Zar atış dağılımı:", "Rolls:": "Zar atışları:", "SD card": "SD kart", - "SD card not detected": "SD kart algılanmadı", "SD card not detected.": "SD kart algılanmadı.", "SHA256 of rolls:": "Zar atışlarının SHA256'sı:", "SHA256 of snapshot:": "Snapshot'ın SHA256'sı:", @@ -224,7 +214,6 @@ "Save to SD card": "SD karta kaydet", "Save to SD card?": "SD karta kaydedilsin mi?", "Saved to SD card": "SD karta kaydedildi", - "Saving ...": "Kaydediliyor ...", "Scale": "Ölçek", "Scan Address": "Adresi Tara", "Scan BIP39 Passphrase": "BIP39 Parolasını Tara", @@ -235,7 +224,10 @@ "Script Type": "Betik Türü", "Security": "Güvenlik", "Self-transfer or Change (%d):": "Kendine-transfer veya Para Üstü (%d):", + "Self-transfer:": "Kendine-transfer:", "Settings": "Ayarlar", + "Settings stored internally on flash.": "Ayarlar dahili olarak flaşta saklanır.", + "Settings stored on SD card.": "Ayarlar SD karta kaydedildi.", "Shannon's Entropy:": "Shannon Entropisi:", "Shutdown": "Kapat", "Shutdown Time": "Kapanma Süresi", @@ -252,6 +244,7 @@ "Size:": "Boyut:", "Some checks cannot be performed.": "Bazı kontroller yerine getirilemedi.", "Spend (%d):": "Harcama (%d):", + "Spend:": "Harcama:", "Stats for Nerds": "İnekler İçin İstatistikler", "Store on Flash": "Flash'ta Sakla", "Store on SD Card": "SD Kartta Sakla", @@ -269,7 +262,6 @@ "Try more?": "Daha fazla kez denensin mi?", "Type BIP39 Passphrase": "BIP39 parolasını yazın", "Type Key": "Anahtar Yaz", - "Unexpected error saving to Flash.": "Flash'a kaydederken beklenmedik hata.", "Unit": "Birim", "Upgrade complete.": "Güncelleme tamamlandı.", "Use a black background surface.": "Siyah bir arka plan yüzeyi kullanın.", @@ -297,10 +289,6 @@ "Word Numbers": "Kelime Numaraları", "Words": "Kelimeler", "Yes": "Evet", - "Your changes will be kept on device flash storage.": "Değişiklikleriniz cihazın flash depolamasında saklanacak.", - "Your changes will be kept on the SD card.": "Değişiklikleriniz SD kartta saklanacak.", - "is a valid change address!": "geçerli bir para üstü adresi!", - "is a valid receive address!": "geçerli bir alım adresidir!", - "was NOT FOUND in the first %d change addresses": "ilk %d para üstü adresinde BULUNAMADI", - "was NOT FOUND in the first %d receive addresses": "ilk %d alım adresinde BULUNAMADI" + "is a valid address!": "geçerli bir adres!", + "was NOT FOUND in the first %d addresses": "ilk %d adreste BULUNAMADI" } \ No newline at end of file diff --git a/i18n/translations/vi-VN.json b/i18n/translations/vi-VN.json index aa65acd22..4ba201aa1 100644 --- a/i18n/translations/vi-VN.json +++ b/i18n/translations/vi-VN.json @@ -1,11 +1,8 @@ { "% of the amount.": "% của số tiền.", "%d of %d multisig": "%d của %d đa chữ kí", - "%d. Change:": "%d. Thay đổi:", - "%d. Self-transfer:": "%d. Tự chuyển nhượng:", - "%d. Spend:": "%d. Chi tiêu:", - "%s was removed from SD card": "%s đã được xóa khỏi thẻ SD", - "%s was removed from flash": "%s đã bị xóa khỏi bộ nhớ flash", + "%d to %d": "%d đến %d", + "%s removed.": "%s Đã bỏ.", "(%d total)": "(tổng cộng %d)", "(Experimental)": "(Thực nghiệm)", "(watch-only)": "(chỉ xem)", @@ -39,18 +36,13 @@ "Change": "Thay đổi", "Change Addresses": "Các địa chỉ tiền thối", "Change theme and reboot?": "Thay đổi giao diện và khởi động lại?", - "Changes persisted to Flash!": "Thay đổi được lưu lại trên Flash!", - "Changes persisted to SD card!": "Thay đổi được lưu trên thẻ SD!", + "Change:": "Thay đổi:", "Changes will last until shutdown.": "Thay đổi sẽ kéo dài cho đến khi tắt máy.", "Check SD Card": "Kiểm tra thẻ SD", "Check that address belongs to this wallet?": "Kiểm tra địa chỉ đó có thuộc về ví này không?", - "Checked %d change addresses with no matches.": "Đã kiểm tra %d địa chỉ tiền thối không có kết quả phù hợp.", - "Checked %d receive addresses with no matches.": "Đã kiểm tra %d địa chỉ nhận được và không tìm thấy tương thích.", - "Checking change address from %d to %d for match..": "Đang kiểm tra địa chỉ thay đổi từ %d đến %d để khớp..", + "Checked %d addresses with no matches.": "Đã kiểm tra %d địa chỉ không khớp.", "Checking for SD card..": "Kiểm tra thẻ SD..", - "Checking receive address from %d to %d for match..": "Đang kiểm tra từ %d đến %d địa chỉ..", "Child Index": "Chỉ mục phụ", - "Continue?": "Tiếp tục?", "Create QR Code": "Tạo mã QR", "Create QR code from text?": "Tạo mã QR từ văn bản?", "Created:": "Tạo:", @@ -64,7 +56,6 @@ "Default Wallet": "Ví mặc định", "Depth Per Pass": "Độ sâu mỗi lần cắt CNC", "Descriptor Addresses": "Địa chỉ người mô tả", - "Device flash storage not detected.": "Không tìm được bộ lưu trữ flash của thiết bị.", "Display": "Hiển thị", "Do not power off, it may take a while to complete.": "Không được tắt máy, có thể mất một lúc để hoàn thành.", "Done?": "Hoàn tất?", @@ -198,7 +189,7 @@ "Printing": "Đang in", "Proceed anyway?": "Vẫn tiếp tục?", "Proceed?": "Thực hiện?", - "Processing ...": "Đang xử lý ...", + "Processing..": "Đang xử lý..", "QR Code": "Mã QR", "RX Pin": "RX Pin", "Receive": "Nhận được", @@ -216,7 +207,6 @@ "Rolls distribution:": "Phân bổ xúc xắc:", "Rolls:": "Tổng số lần quay xúc xắc:", "SD card": "Thẻ SD", - "SD card not detected": "Thẻ SD không được phát hiện", "SD card not detected.": "Thẻ SD không được phát hiện.", "SHA256 of rolls:": "SHA256 của xúc xắc:", "SHA256 of snapshot:": "Sha256 của ảnh chụp:", @@ -224,7 +214,6 @@ "Save to SD card": "Lưu vào thẻ SD", "Save to SD card?": "Lưu vào thẻ SD?", "Saved to SD card": "Đã lưu vào thẻ SD", - "Saving ...": "Đang lưu...", "Scale": "Tỉ lệ", "Scan Address": "Quét địa chỉ", "Scan BIP39 Passphrase": "Quét cụm mật khẩu BIP39", @@ -235,7 +224,10 @@ "Script Type": "Kiểu văn lệnh", "Security": "Bảo mật", "Self-transfer or Change (%d):": "Tự chuyển nhượng hoặc giao dịch (%d):", + "Self-transfer:": "Tự chuyển nhượng:", "Settings": "Cài đặt", + "Settings stored internally on flash.": "Cài đặt được lưu trữ nội bộ trên đèn flash.", + "Settings stored on SD card.": "Cài đặt được lưu trên thẻ SD.", "Shannon's Entropy:": "Entropy của Shannon:", "Shutdown": "Tắt máy", "Shutdown Time": "Thời gian tắt máy", @@ -252,6 +244,7 @@ "Size:": "Dung lượng:", "Some checks cannot be performed.": "Một số kiểm tra không thể được thực hiện.", "Spend (%d):": "Chi tiêu (%d):", + "Spend:": "Chi tiêu:", "Stats for Nerds": "Số liệu thống kê cho Mọt sách", "Store on Flash": "Lưu trữ trên flash", "Store on SD Card": "Lưu trữ trên thẻ SD", @@ -269,7 +262,6 @@ "Try more?": "Thử thêm nữa?", "Type BIP39 Passphrase": "Nhập cụm mật khẩu BIP39", "Type Key": "Nhập khóa", - "Unexpected error saving to Flash.": "Lỗi bất ngờ khi lưu vào Flash.", "Unit": "Đơn vị", "Upgrade complete.": "Nâng cấp hoàn tất.", "Use a black background surface.": "Sử dụng bề mặt nền đen.", @@ -297,10 +289,6 @@ "Word Numbers": "Từ số", "Words": "Từ ngữ", "Yes": "Đúng", - "Your changes will be kept on device flash storage.": "Các thay đổi của bạn sẽ được lưu trên bộ nhớ flash của thiết bị.", - "Your changes will be kept on the SD card.": "Các thay đổi của bạn sẽ được lưu trên thẻ SD.", - "is a valid change address!": "is một địa chỉ thay đổi hợp lệ!", - "is a valid receive address!": "là một địa chỉ khả dụng!", - "was NOT FOUND in the first %d change addresses": "KHÔNG TÌM ĐƯỢC trong địa chỉ %d tiền thối đầu tiên", - "was NOT FOUND in the first %d receive addresses": "KHÔNG TÌM ĐƯỢC trong địa chỉ %d nhận đầu tiên" + "is a valid address!": "là một địa chỉ hợp lệ!", + "was NOT FOUND in the first %d addresses": "kHÔNG TÌM THẤY trong %d địa chỉ đầu tiên" } \ No newline at end of file diff --git a/src/krux/pages/encryption_ui.py b/src/krux/pages/encryption_ui.py index 4ea7a5248..5b06b1360 100644 --- a/src/krux/pages/encryption_ui.py +++ b/src/krux/pages/encryption_ui.py @@ -297,17 +297,15 @@ def _remove_encrypted_mnemonic(self, mnemonic_id, sd_card=False): self.ctx.display.clear() if self.prompt(t("Remove %s?") % mnemonic_id, self.ctx.display.height() // 2): mnemonic_storage.del_mnemonic(mnemonic_id, sd_card) - self.ctx.display.clear() + message = t("%s removed.") % mnemonic_id + message += "\n\n" if sd_card: - message = t("%s was removed from SD card") % mnemonic_id - message += "\n\n" message += t( "Fully erase your SD card in another device to ensure data is unrecoverable" ) else: - message = t("%s was removed from flash") % mnemonic_id - message += "\n\n" message += t("To ensure data is unrecoverable use Wipe Device feature") + self.ctx.display.clear() self.ctx.display.draw_centered_text(message) self.ctx.input.wait_for_button() del mnemonic_storage diff --git a/src/krux/pages/home_pages/addresses.py b/src/krux/pages/home_pages/addresses.py index c0807cd4b..c3882d0ac 100644 --- a/src/krux/pages/home_pages/addresses.py +++ b/src/krux/pages/home_pages/addresses.py @@ -169,21 +169,10 @@ def scan_address(self, addr_type=0): ): return MENU_CONTINUE - checking_match_txt = t("Checking receive address from %d to %d for match..") - checked_no_match_txt = t("Checked %d receive addresses with no matches.") - is_valid_txt = "%s\n\n" + t("is a valid receive address!") - not_found_txt = "%s\n\n" + t( - "was NOT FOUND in the first %d receive addresses" - ) - if addr_type == 1: - checking_match_txt = t( - "Checking change address from %d to %d for match.." - ) - checked_no_match_txt = t("Checked %d change addresses with no matches.") - is_valid_txt = "%s\n\n" + t("is a valid change address!") - not_found_txt = "%s\n\n" + t( - "was NOT FOUND in the first %d change addresses" - ) + checking_match_txt = t("Verifying..") + " " + t("%d to %d") + checked_no_match_txt = t("Checked %d addresses with no matches.") + is_valid_txt = "%s\n\n" + t("is a valid address!") + not_found_txt = "%s\n\n" + t("was NOT FOUND in the first %d addresses") found = False num_checked = 0 diff --git a/src/krux/pages/settings_page.py b/src/krux/pages/settings_page.py index 352ddd8ba..8540e582e 100644 --- a/src/krux/pages/settings_page.py +++ b/src/krux/pages/settings_page.py @@ -74,36 +74,6 @@ def __init__(self, ctx): def settings(self): """Handler for the settings""" - location = Settings().persist.location - if location == SD_PATH: - if self.has_sd_card(): - self.flash_text( - t("Your changes will be kept on the SD card."), - duration=PERSIST_MSG_TIME, - ) - else: - self.flash_text( - t("SD card not detected.") - + "\n\n" - + t("Changes will last until shutdown."), - duration=PERSIST_MSG_TIME, - ) - else: - try: - # Check for flash - os.listdir("/" + FLASH_PATH + "/.") - self.flash_text( - t("Your changes will be kept on device flash storage."), - duration=PERSIST_MSG_TIME, - ) - except OSError: - self.flash_text( - t("Device flash storage not detected.") - + "\n\n" - + t("Changes will last until shutdown."), - duration=PERSIST_MSG_TIME, - ) - return self.namespace(Settings())() def _draw_settings_pad(self): @@ -186,17 +156,9 @@ def _settings_exit_check(self): ) else: self.ctx.display.clear() - try: - if store.save_settings(): - self.flash_text( - t("Settings stored on Flash."), - duration=PERSIST_MSG_TIME, - ) - except: + if store.save_settings(): self.flash_text( - t("Unexpected error saving to Flash.") - + "\n\n" - + t("Changes will last until shutdown."), + t("Settings stored internally on flash."), duration=PERSIST_MSG_TIME, ) diff --git a/src/krux/pages/tools.py b/src/krux/pages/tools.py index 4507d4166..dc1c5c1cd 100644 --- a/src/krux/pages/tools.py +++ b/src/krux/pages/tools.py @@ -97,7 +97,7 @@ def sd_check(self): select_file_handler=file_manager.show_file_details ) except OSError: - self.flash_error(t("SD card not detected")) + self.flash_error(t("SD card not detected.")) return MENU_CONTINUE diff --git a/src/krux/translations.py b/src/krux/translations.py index d2b4c0221..6f6bb90ff 100644 --- a/src/krux/translations.py +++ b/src/krux/translations.py @@ -24,11 +24,8 @@ "de-DE": { 232475068: "% des Betrags.", 1185266064: "%d von %d Multisig", - 2331290367: "%d. Change:", - 1866298120: "%d. Selbstübertragung:", - 2463380782: "%d. Ausgaben:", - 175571694: "%s wurde von der SD-Karte gelöscht", - 2149311289: "%s wurde aus dem Flash-Speicher gelöscht", + 1503087751: "%d bis %d ", + 1178563089: "%s wurde entfernt.", 1092222515: "(%d insgesamt)", 3348584292: "(Experimental)", 1099786887: "(nur zur Betrachtung)", @@ -62,18 +59,13 @@ 1207696150: "Change Adresse", 3126552510: "Change Adressen", 1583186953: "Thema ändern und neu starten?", - 282444275: "Änderungen auf dem Flash-Speicher gespeichert!", - 2697733395: "Änderungen auf SD-Karte gespeichert!", + 3768416405: "Change:", 388908871: "Änderungen bleiben bis zum Herunterfahren bestehen.", 3442025874: "Prüfe SD-Karte", 3119547911: "Überprüfen, ob diese Adresse zu dieser Wallet gehört?", - 2856261511: "Überprüfte %d Change Adresse ohne Übereinstimmungen.", - 2788541416: "Überprüfte %d Empfangsadressen ohne Übereinstimmungen.", - 3377973275: "Überprüfung der Change Adresse von %d bis %d auf Übereinstimmung..", + 1187826970: "Überprüfte %d Adresse ohne Übereinstimmungen.", 2470115694: "Suche nach SD-Karte..", - 3547944367: "Überprüfung der Empfangsadresse von %d bis %d auf Übereinstimmung..", 1851578965: "Untergeordneter Index", - 4041895036: "Weiter?", 4094072796: "Erstelle QR-Code", 167798282: "QR-Code aus Text erzeugen?", 678449760: "Erstellt:", @@ -87,7 +79,6 @@ 1272005728: "Standard-Wallet", 4102535566: "Tiefe pro Durchgang", 1712856005: "Deskriptor-Adressen", - 1230133196: "Geräte-Flash-Speicher nicht erkannt.", 3278654271: "Bildschirm", 3895447625: "Schalten Sie das Gerät nicht aus, es kann eine Weile dauern.", 3836852788: "Fertig?", @@ -221,7 +212,7 @@ 3388542885: "Wird gedruckt", 3593149291: "Trotzdem fortfahren?", 2580599003: "Weiter?", - 556126964: "Wird bearbeitet ...", + 3108881025: "Wird bearbeitet..", 1848310591: "QR-Code", 710709610: "RX Pin", 2697857197: "Empfangen", @@ -239,7 +230,6 @@ 3271055013: "Rollenverteilung:", 432366011: "Würfe:", 3976793317: "SD-Karte", - 2827687530: "SD-Karte nicht erkannt", 2736513298: "SD-Karte nicht erkannt.", 1166743226: "SHA256 der Würfe:", 817419367: "SHA256 des Snapshots:", @@ -247,7 +237,6 @@ 2163347007: "Auf SD-Karte speichern?", 3531742595: "Auf SD-Karte speichern?", 2940025484: "Auf SD-Karte gespeichert", - 3531363515: "Wird gespeichert …", 763824768: "Skala", 4117455079: "Adresse\nscannen", 4038076821: "Scan BIP39 Passphrase", @@ -258,7 +247,10 @@ 289960586: "Script-Art", 1022211991: "Sicherheit", 4255182430: "Selbstübertragung oder Change (%d):", + 3753172956: "Selbstübertragung:", 473154195: "Einstellungen", + 563836138: "Die Einstellungen werden intern auf Flash gespeichert.", + 712533907: "Einstellungen auf SD-Karte gespeichert.", 2377955518: "Shannons Entropie:", 1825881236: "Ausschalten", 3656120779: "Abschaltzeit:", @@ -275,6 +267,7 @@ 2019512665: "Größe:", 2344747135: "Einige Schecks können nicht durchgeführt werden.", 2090568351: "Ausgabe (%d):", + 1260825919: "Ausgaben:", 1232757391: "Statistiken für Nerds", 3303592908: "Auf Flash speichern", 720041451: "Auf der SD-Karte speichern", @@ -292,7 +285,6 @@ 2732611775: "Weiter versuchen?", 401829098: "BIP39 Passphrase eingeben", 2061556020: "Schlüssel eingeben", - 760733724: "Unerwarteter Fehler beim Speichern auf dem Flash-Speicher.", 2089395053: "Einheit", 2786714360: "Upgrade abgeschlossen.", 2674953168: "Verwende eine schwarze Hintergrundfläche.", @@ -320,21 +312,14 @@ 3742424146: "Wortnummern", 2965123464: "Wörter", 1303016265: "Ja", - 771968845: "Änderungen werden im Flash-Speicher des Geräts gespeichert.", - 2569054451: "Änderungen werden auf der SD-Karte gespeichert.", - 2652750163: "ist eine gültige Change Adresse!", - 58621376: "ist eine gültige Empfangsadresse!", - 2265949116: " wurde in den ersten %d Change Adressen NICHT GEFUNDEN", - 1266915636: "wurde in den ersten %d Empfangsadressen NICHT GEFUNDEN", + 2171149824: "ist eine gültige Adresse!", + 1875891934: "wurde in den ersten %d Adressen nicht gefunden", }, "es-MX": { 232475068: "% del monto.", 1185266064: "%d de %d multisig", - 2331290367: "%d. Cambio:", - 1866298120: "%d. Autotransferencia:", - 2463380782: "%d. Gasto:", - 175571694: "%s se eliminó de la tarjeta SD", - 2149311289: "%s se eliminó del flash", + 1503087751: "%d a %d", + 1178563089: "%s eliminado.", 1092222515: "(%d total)", 3348584292: "(Experimental)", 1099786887: "(Solo para observación)", @@ -368,18 +353,13 @@ 1207696150: "Cambio", 3126552510: "Direcciones de Cambio", 1583186953: "¿Cambiar de tema y reiniciar?", - 282444275: "¡Cambios guardados en Flash!", - 2697733395: "¡Cambios guardados en la tarjeta SD!", + 3768416405: "Cambio:", 388908871: "Los cambios durarán hasta que el dispositivo se apague.", 3442025874: "Verifica Tarjeta SD", 3119547911: "¿Verificar que la dirección pertenece a esta cartera?", - 2856261511: "Comprobado %d direcciones de cambio sin coincidencias.", - 2788541416: "Comprobado %d direcciones de depósito sin coincidencias.", - 3377973275: "Comprobando la dirección de cambio desde %d hasta %d para alguna coincidencia..", + 1187826970: "Comprobado %d direcciones sin coincidencias.", 2470115694: "Comprobación de la tarjeta SD..", - 3547944367: "Comprobando la dirección de depósito desde %d hasta %d para alguna coincidencia..", 1851578965: "Índice Derivado", - 4041895036: "¿Continuar?", 4094072796: "Crear Código QR", 167798282: "¿Crear código QR desde texto?", 678449760: "Creado:", @@ -393,7 +373,6 @@ 1272005728: "Cartera Predeterminada", 4102535566: "Profundidad por Pasada", 1712856005: "Direcciones del descriptor", - 1230133196: "Almacenamiento flash del dispositivo no detectado.", 3278654271: "Pantalla", 3895447625: "No apagues el dispositivo, puede tardar un tiempo en completarse.", 3836852788: "¿Listo?", @@ -527,7 +506,7 @@ 3388542885: "Imprimiendo", 3593149291: "¿Proceder de todas maneras?", 2580599003: "¿Continuar?", - 556126964: "Procesando ...", + 3108881025: "Procesando..", 1848310591: "Código QR", 710709610: "RX Pin", 2697857197: "Recepción", @@ -545,7 +524,6 @@ 3271055013: "Distribución de tiradas:", 432366011: "Tiradas:", 3976793317: "Tarjeta SD", - 2827687530: "Tarjeta SD no detectada", 2736513298: "Tarjeta SD no detectada.", 1166743226: "SHA256 de las tiradas:", 817419367: "SHA256 de la instantánea:", @@ -553,7 +531,6 @@ 2163347007: "Guardar en tarjeta SD", 3531742595: "¿Guardar en la tarjeta SD?", 2940025484: "Guardado en la tarjeta SD", - 3531363515: "Guardando ...", 763824768: "Escala", 4117455079: "Escanear Dirección", 4038076821: "Escanear Passphrase BIP39", @@ -564,7 +541,10 @@ 289960586: "Tipo de Script", 1022211991: "Seguridad", 4255182430: "Autotransferencia o Cambio (%d):", + 3753172956: "Autotransferencia:", 473154195: "Ajustes", + 563836138: "Ajustes almacenados internamente en flash.", + 712533907: "Configuración almacenada en la tarjeta SD.", 2377955518: "Entropía de Shannon:", 1825881236: "Apagar", 3656120779: "Tiempo de Apagado", @@ -581,6 +561,7 @@ 2019512665: "Tamaño:", 2344747135: "Algunas comprobaciones no se pueden realizar.", 2090568351: "Gastos (%d):", + 1260825919: "Gasto:", 1232757391: "Estadísticas para Entendidos", 3303592908: "Almacenar en Flash", 720041451: "Almacenar en la Tarjeta SD", @@ -598,7 +579,6 @@ 2732611775: "¿Intentar con mas?", 401829098: "Escribe la Passphrase BIP39", 2061556020: "Introduce la clave", - 760733724: "Error inesperado al guardar en Flash.", 2089395053: "Unidad", 2786714360: "Actualización completa.", 2674953168: "Usa una superficie de fondo negra.", @@ -626,21 +606,14 @@ 3742424146: "Números de Palabra", 2965123464: "Palabras", 1303016265: "Sí", - 771968845: "Tus cambios se guardarán en el almacenamiento flash del dispositivo.", - 2569054451: "Tus cambios se guardarán en la tarjeta SD.", - 2652750163: "es una dirección de cambio válida!", - 58621376: "es una dirección de recepción válida!", - 2265949116: "NO FUE ENCONTRADO en las primeras %d direcciones de cambio", - 1266915636: "NO FUE ENCONTRADO en las primeras %d direcciones de recepción", + 2171149824: "es una dirección válida!", + 1875891934: "NO FUE ENCONTRADO en las primeras %d direcciones", }, "fr-FR": { 232475068: "% du montant.", 1185266064: "%d de %d multisignature", - 2331290367: "%d. La monnaie:", - 1866298120: "%d. Auto-transfert :", - 2463380782: "%d. Dépense :", - 175571694: "%s a été supprimé de la carte SD", - 2149311289: "%s a été supprimé du flash", + 1503087751: "%d à %d", + 1178563089: "%s supprimé.", 1092222515: "(%d au total)", 3348584292: "(Expérimental)", 1099786887: "(consultation)", @@ -674,21 +647,16 @@ 1207696150: "Changement", 3126552510: "Adresses de Changement", 1583186953: "Changer de thème et redémarrer\u2009?", - 282444275: "Les modifications ont été enregistrées dans le Flash\u2009!", - 2697733395: "Modifications enregistrées sur la carte SD\u2009!", + 3768416405: "La monnaie\u2009:", 388908871: "Les modifications dureront jusqu'à l'arrêt.", 3442025874: "Vérifiez la carte SD", 3119547911: "Vérifiez que l'adresse appartient à cette portefeuille\u2009?", - 2856261511: "Adresses %d de monnaie revenues sans correspondance.", - 2788541416: "Adresses %d de reception revenues sans correspondance.", - 3377973275: "Vérification de l'adresse monnaie de %d à %d pour correspondance..", + 1187826970: "%d adresses vérifiées sans correspondance.", 2470115694: "Vérification de la carte SD..", - 3547944367: "Vérification de l'adresse de reception de %d à %d pour correspondance..", 1851578965: "Indice enfant", - 4041895036: "Continuer\u2009?", 4094072796: "Créer du code QR", 167798282: "Créer du code QR à partir du texte\u2009?", - 678449760: "Créé:", + 678449760: "Créé\u2009:", 3513215254: "Code QR personnalisé", 3585411775: "Personnaliser", 534274978: "La personnalisation de votre portefeuille générera une nouvelle clé.", @@ -699,7 +667,6 @@ 1272005728: "Portefeuille par défaut", 4102535566: "Profondeur par passage", 1712856005: "Adresses des descripteurs", - 1230133196: "Stockage flash de l'appareil non détecté.", 3278654271: "Affichage", 3895447625: "Ne pas éteindre, cela peut prendre un certain temps.", 3836852788: "Terminé\u2009?", @@ -707,7 +674,7 @@ 3582575312: "Chiffré", 1244124409: "Code QR crypté", 2968548114: "Le mnémonique crypté n'a pas été stocké", - 781419966: "Mnémonique cryptée a été stockée avec ID:", + 781419966: "Mnémonique cryptée a été stockée avec ID\u2009:", 350279787: "Chiffrement", 2601598799: "Mode de chiffrement", 1821513079: "Entrez %d mots BIP-39.", @@ -715,7 +682,7 @@ 1100685007: "Entrez chaque mot de votre mnémonique BIP-39 sous la forme d'un nombre en hexadécimal de 1 à 800.", 4090266642: "Entrez chaque mot de votre mnémonique BIP-39 sous la forme d'un nombre en octal de 1 à 4000.", 2780625730: "Entrez chaque mot de votre mnémonique BIP-39.", - 889040671: "Erreur:", + 889040671: "Erreur\u2009:", 1505332462: "Esc", 3838465623: "Explorer des fichiers\u2009?", 4170881190: "Exportation vers la carte SD..", @@ -730,15 +697,15 @@ 928667220: "Échec du chargement du descripteur de sortie", 1620572516: "Échec du chargement de la phrase secrète", 2946146830: "Échec de stocker mnémonique", - 262248294: "Frais:", + 262248294: "Frais\u2009:", 104500973: "Taux d'alimentation", 3313339187: "Nom de fichier", 1982637349: "Le nom de fichier %s existe sur la carte SD, écraser\u2009?", 4006602858: "Empreinte digitale manquante dans PSBT", - 2542772894: "Le micrologiciel dépasse la taille maximale: %d", + 2542772894: "Le micrologiciel dépasse la taille maximale\u2009: %d", 3748840176: "Coordonnées X inversées", 1406590538: "Diamètre de flûte", - 1077771640: "Libre:", + 1077771640: "Libre\u2009:", 1893243331: "Du stockage", 1871146425: "Effacez complètement votre carte SD dans un autre appareil pour assurer que les données soient irrécupérables", 3549015533: "Générer une mnémonique", @@ -752,7 +719,7 @@ 3903754133: "Masquer les mnémoniques", 3876651191: "Frais élevés\u2009!", 2880010062: "Id existe déjà", - 3242179508: "Entrées (%d):", + 3242179508: "Entrées (%d)\u2009:", 3034883011: "Installer\u2009?", 3755547839: "Entropie insuffisante\u2009!", 2032416055: "Entropie insuffisante", @@ -760,7 +727,7 @@ 2874529150: "Chargeur de démarrage invalide", 4093416954: "Longueur mnémonique invalide", 1422874211: "Clé publique non valide", - 237577215: "Portefeuille invalide:", + 237577215: "Portefeuille invalide\u2009:", 4122897393: "Inverser", 640219121: "Couleurs inversées", 3000888649: "Clé", @@ -771,7 +738,7 @@ 4180141032: "Laissez vide si vous souhaitez que Krux choisisse un dernier mot valide", 3663022166: "Gauche", 972436696: "Délai de Ligne", - 2176866982: "Ligne:", + 2176866982: "Ligne\u2009:", 2820726296: "Charger mnémonique", 2369474953: "Charger le portefeuille", 2256441194: "Charger un descripteur de portefeuille de confiance pour afficher les adresses\u2009?", @@ -789,13 +756,13 @@ 2817059741: "Emplacement", 2917810189: "Longueur maximale dépassée (%s)", 2030045667: "Message", - 762611188: "Message :", + 762611188: "Message\u2009:", 3928301843: "Fichier de signature manquant", 1948316555: "Mnémonique", 2123991188: "ID mnémonique", 1443208255: "Mnémonique et phrase secrète seront conservés.", 1746030071: "Mnémonique n'était pas cryptée", - 1237332019: "Modifié:", + 1237332019: "Modifié\u2009:", 1845376098: "Multi\nsignature", 4265479636: "Native Segwit - 84 serait supposé", 2939797024: "Réseau", @@ -817,7 +784,7 @@ 500286397: "Structure détecté\u2009!", 3040011773: "Supprimer définitivement tous les mnémoniques et paramètres chiffrés stockés dans le flash\u2009?", 140802882: "Persister", - 2578106186: "Indice de déviation des pixels:", + 2578106186: "Indice de déviation des pixels\u2009:", 1703779997: "QR en Texte Brut", 3561756278: "Veuillez charger un descripteur de sortie de portefeuille", 784609464: "Taux de plongée", @@ -833,12 +800,12 @@ 3388542885: "Impression", 3593149291: "Procéder quand même\u2009?", 2580599003: "Procéder\u2009?", - 556126964: "Traitement ...", + 3108881025: "Traitement..", 1848310591: "QR Code", 710709610: "RX Fiche", 2697857197: "Recevoir", 1746677167: "Adresses de Réception", - 1658501467: "Région:", + 1658501467: "Région\u2009:", 3739634002: "Supprimer %s\u2009?", 1476462492: "Supprimer mnémonique", 1557093280: "Supprimer les fichiers micrologiciel de la carte SD\u2009?", @@ -848,18 +815,16 @@ 1662254634: "Examinez les données numérisées, modifiez-les si nécessaire", 1963678224: "À droite", 770350922: "Lancez le dé au moins %d fois pour générer un mnémonique.", - 3271055013: "Distribution des jets:", - 432366011: "Jets:", + 3271055013: "Distribution des jets\u2009:", + 432366011: "Jets\u2009:", 3976793317: "Carte SD", - 2827687530: "Carte SD non détectée", 2736513298: "Carte SD non détectée.", - 1166743226: "SHA256 de jets:", - 817419367: "SHA256 de snapshot:", + 1166743226: "SHA256 de jets\u2009:", + 817419367: "SHA256 de snapshot\u2009:", 699906428: "Enregistrer l'image QR sur la carte SD", 2163347007: "Enregistrer sur la carte SD", 3531742595: "Enregistrer sur la carte SD\u2009?", 2940025484: "Enregistré sur la carte SD", - 3531363515: "Enregistrement en cours...", 763824768: "L'échelle", 4117455079: "Scannez l'adresse", 4038076821: "Scannez la phrase secrète BIP-39", @@ -869,9 +834,12 @@ 2029624154: "Delai d'Inactivité", 289960586: "Type de Script", 1022211991: "Sécurité", - 4255182430: "Auto-transfert ou monnaie (%d):", + 4255182430: "Auto-transfert ou monnaie (%d)\u2009:", + 3753172956: "Auto-transfert\u2009:", 473154195: "Paramètres", - 2377955518: "Entropie de Shannon:", + 563836138: "Paramètres stockés en interne sur flash.", + 712533907: "Paramètres stockés sur la carte SD.", + 2377955518: "Entropie de Shannon\u2009:", 1825881236: "Fermer", 3656120779: "Delai d'Arrêt", 2120776272: "Éteindre..", @@ -884,9 +852,10 @@ 3672006076: "PSBT signé", 3406791302: "Signature..", 2281377987: "Clé unique", - 2019512665: "Capacité:", + 2019512665: "Capacité\u2009:", 2344747135: "Certains chèques ne peuvent pas être effectués.", - 2090568351: "Dépense (%d):", + 2090568351: "Dépense (%d)\u2009:", + 1260825919: "Dépense\u2009:", 1232757391: "Statistiques pour les geeks", 3303592908: "Stocker sur flash", 720041451: "Stocker sur la carte SD", @@ -904,12 +873,11 @@ 2732611775: "Réessayer\u2009?", 401829098: "Entrez la phrase secrète BIP-39", 2061556020: "Clé de type", - 760733724: "Erreur inattendue lors de l'enregistrement dans le Flash.", 2089395053: "Unité", 2786714360: "Mise à niveau complète.", 2674953168: "Utilisez une surface de fond noire.", 2402455261: "Utilisez l'entropie de la caméra pour créer un nouveau mnémonique", - 3336226318: "Utilisé:", + 3336226318: "Utilisé\u2009:", 4003084591: "Valeur %s hors de portée: [%s, %s]", 989428076: "La valeur doit être un multiple de %s", 3429519584: "Vérification..", @@ -925,28 +893,21 @@ 4232654916: "Descripteur de sortie du portefeuille", 2587172867: "Descripteur de sortie du portefeuille chargé\u2009!", 2499782468: "Descripteur de sortie du portefeuille introuvable.", - 2671738224: "Avertissement:", + 2671738224: "Avertissement\u2009:", 262410364: "Effacer l'appareil", - 3522794335: "Effacement de l'appareil en cours...", + 3522794335: "Effacement de l'appareil en cours..", 797660533: "Mot %d", 3742424146: "Numéros de mots", 2965123464: "Mots", 1303016265: "Oui", - 771968845: "Vos modifications seront stockées sur le stockage flash de l'appareil.", - 2569054451: "Vos modifications seront stockées sur la carte SD.", - 2652750163: "est une adresse de monnaie valide\u2009!", - 58621376: "est une adresse de reception valide\u2009!", - 2265949116: "INTROUVABLE dans les premières %d adresses de monnaie", - 1266915636: "INTROUVABLE dans les premières %d adresses de reception", + 2171149824: "Adresse non valide\xa0!", + 1875891934: "n'A PAS ÉTÉ TROUVÉ dans les %d premières adresses", }, "nl-NL": { 232475068: "% van het bedrag.", 1185266064: "%d van %d multisig", - 2331290367: "%d. Wisselgeld:", - 1866298120: "%d. Zelf overschrijving:", - 2463380782: "%d. Uitgaven:", - 175571694: "%s verwijderd van SD kaart", - 2149311289: "%s verwijderd van flashgeheugen", + 1503087751: "%d tot %d", + 1178563089: "%s verwijderd.", 1092222515: "(%d totaal)", 3348584292: "(Experimenteel)", 1099786887: "(alleen inzien)", @@ -980,18 +941,13 @@ 1207696150: "Change", 3126552510: "Wisselgeldadres", 1583186953: "Thema veranderen en opnieuw opstarten?", - 282444275: "Wijzigingen opgeslagen in Flash!", - 2697733395: "Wijzigingen aanhouden op SD kaart!", + 3768416405: "Wisselgeld:", 388908871: "Wijzigingen blijven van kracht tot afsluiten.", 3442025874: "Controleer SD kaart", 3119547911: "Controleer of dit adres bij deze portemonnee hoort?", - 2856261511: "Na %d geen wisselgeld adressen gevonden.", - 2788541416: "Na %d geen ontvangst adressen gevonden.", - 3377973275: "Wisselgeldadres van %d tot %d controleren...", - 2470115694: "SD kaart controleren...", - 3547944367: "Ontvangstadres van %d tot %d controleren...", + 1187826970: "%d adressen gecontroleerd zonder overeenkomsten.", + 2470115694: "SD kaart controleren..", 1851578965: "Onderliggende index", - 4041895036: "Doorgaan?", 4094072796: "QR code maken", 167798282: "QR code maken van tekst?", 678449760: "Aangemaakt:", @@ -1005,7 +961,6 @@ 1272005728: "Standaard portemonnee", 4102535566: "Diepte per pas", 1712856005: "Descriptoradressen", - 1230133196: "Opslag op apparaat is niet gedetecteerd.", 3278654271: "Weergave", 3895447625: "Schakel het apparaat niet uit, het kan even duren voordat het klaar is.", 3836852788: "Klaar?", @@ -1086,11 +1041,11 @@ 1936877965: "Laden van camera", 669106195: "Laden?", 3330705289: "Laden?", - 2596531078: "Camera laden...", + 2596531078: "Camera laden..", 2488179069: "Wijzigingsadressen laden..", 336702608: "Laadprinter..", 1201104769: "Ontvangstadressen laden..", - 3159494909: "Laden...", + 3159494909: "Laden..", 1177338798: "Taal", 2817059741: "Opslaglocatie", 2917810189: "Maximale lengte overschreden (%s)", @@ -1139,7 +1094,7 @@ 3388542885: "Afdrukken", 3593149291: "Toch doorgaan?", 2580599003: "Doorgaan?", - 556126964: "Verwerken...", + 3108881025: "Verwerken..", 1848310591: "QR code", 710709610: "RX pin", 2697857197: "Ontvangen", @@ -1157,7 +1112,6 @@ 3271055013: "Roldistributie:", 432366011: "Gedobbeld:", 3976793317: "SD kaart", - 2827687530: "SD kaart niet gedetecteerd", 2736513298: "SD kaart niet gedetecteerd.", 1166743226: "Gedobbelde SHA256:", 817419367: "Momentopname van SHA256:", @@ -1165,7 +1119,6 @@ 2163347007: "Opslaan op SD kaart", 3531742595: "Opslaan op SD kaart?", 2940025484: "Opgeslagen op SD kaart", - 3531363515: "Opslaan bezig...", 763824768: "Schaal", 4117455079: "Adres scannen", 4038076821: "BIP-39 Wachtwoord Scannen", @@ -1176,11 +1129,14 @@ 289960586: "Scripttype", 1022211991: "Beveiliging", 4255182430: "Overschrijving naar jezelf, of wisselgeld (%d):", + 3753172956: "Zelf overschrijving:", 473154195: "Instellingen", + 563836138: "Instellingen intern opgeslagen op flitser.", + 712533907: "Instellingen opgeslagen op SD kaart.", 2377955518: "Shannon's entropie:", 1825881236: "Afsluiten", 3656120779: "Uitschakelingstijd:", - 2120776272: "Bezig met afsluiten...", + 2120776272: "Bezig met afsluiten..", 1061961408: "Ondertekenen", 2293863356: "Teken op QR-code", 2879966040: "Teken op SD kaart", @@ -1188,11 +1144,12 @@ 746161122: "Handtekening", 1988416729: "Bericht ondertekend", 3672006076: "PSBT ondertekend", - 3406791302: "Ondertekenen...", + 3406791302: "Ondertekenen..", 2281377987: "Enkele sleutel", 2019512665: "Grootte:", 2344747135: "Sommige controles kunnen niet worden uitgevoerd.", 2090568351: "Uitgaven (%d):", + 1260825919: "Uitgaven:", 1232757391: "Statistieken voor nerds", 3303592908: "Opslaan op apparaat", 720041451: "Opslaan op SD kaart", @@ -1210,7 +1167,6 @@ 2732611775: "Meer proberen?", 401829098: "Voer een BIP-39 wachtwoord in", 2061556020: "Voer sleutel in", - 760733724: "Onverwachte fout bij het opslaan naar flashgeheugen.", 2089395053: "Eenheid", 2786714360: "Upgrade afgerond.", 2674953168: "Gebruik een donker achergrond.", @@ -1233,26 +1189,19 @@ 2499782468: "Portemonnee descriptor niet gevonden.", 2671738224: "Waarschuwing:", 262410364: "Apparaat wissen", - 3522794335: "Apparaat wissen...", + 3522794335: "Apparaat wissen..", 797660533: "Woord %d", 3742424146: "Woord nummers", 2965123464: "Woorden", 1303016265: "Yes", - 771968845: "Veranderingen worden opgeslagen in opslag van apparaat.", - 2569054451: "Veranderingen worden opgeslagen op SD kaart.", - 2652750163: "is een valide wisselgeld adres!", - 58621376: "is een valide ontvangst adres!", - 2265949116: "werd NIET GEVONDEN in de eerste %d wisselgeld adressen", - 1266915636: "werd NIET GEVONDEN in de eerste %d ontvangst adressen", + 2171149824: "is geen geldig adres", + 1875891934: "werd NIET GEVONDEN in de eerste %d adressen", }, "pl-PL": { 232475068: "% kwoty.", 1185266064: "%d z %d multisig", - 2331290367: "%D.Zmiana:", - 1866298120: "%D.Samo-transfer:", - 2463380782: "%D.Wydać:", - 175571694: "%s usunięto z karty SD", - 2149311289: "%s usunięto z pamięci flash", + 1503087751: "%d do %d", + 1178563089: "%s usunięto.", 1092222515: "(łącznie %d)", 3348584292: "(Eksperymentalny)", 1099786887: "(tylko zegarek)", @@ -1286,18 +1235,13 @@ 1207696150: "Zmiana", 3126552510: "Zmień adresy", 1583186953: "Zmienić motyw i ponownie uruchomić?", - 282444275: "Zmiany zachowane w pamięci Flash!", - 2697733395: "Zmiany utrzymywały się na karcie SD!", + 3768416405: "Zmiana:", 388908871: "Zmiany będą trwać do zamknięcia.", 3442025874: "Sprawdź kartę SD", 3119547911: "Sprawdź, czy adres należy do tego portfela?", - 2856261511: "Sprawdzone %d adresy zmiany bez dopasowań.", - 2788541416: "Sprawdzone %D Otrzymuj adresy bez zapałek.", - 3377973275: "Sprawdzanie Zmieniania Adres od %d do %d dla dopasowania.", + 1187826970: "Sprawdzono %d adresów bez dopasowań.", 2470115694: "Sprawdzanie karty SD ..", - 3547944367: "Sprawdzanie adresu Otrzymaj od %d do %d dla meczu.", 1851578965: "Indeks podrzędny", - 4041895036: "Kontynuować?", 4094072796: "Utwórz kod QR", 167798282: "Utwórz kod QR z tekstu?", 678449760: "Utworzony:", @@ -1311,7 +1255,6 @@ 1272005728: "Domyślny portfel", 4102535566: "Głębokość na przepustkę", 1712856005: "Adresy deskryptora", - 1230133196: "Nie wykryto pamięci flash urządzenia.", 3278654271: "Wyświetlacz", 3895447625: "Nie wyłączaj zasilania, może to chwilę potrwać.", 3836852788: "Zrobione?", @@ -1347,7 +1290,7 @@ 3313339187: "Nazwa pliku", 1982637349: "Nazwa pliku %s istnieje na karcie SD, zastąp?", 4006602858: "Odcisk palca nie jest ustawiony w PSBT", - 2542772894: "Oprogramowanie układowe przekracza maksymalny rozmiar: %D", + 2542772894: "Oprogramowanie układowe przekracza maksymalny rozmiar: %d", 3748840176: "Odwrócone współrzędne X", 1406590538: "Średnica fletu", 1077771640: "Bezpłatny:", @@ -1445,7 +1388,7 @@ 3388542885: "Drukowanie", 3593149291: "Kontynuować mimo to?", 2580599003: "Przystępować?", - 556126964: "Przetwarzanie ...", + 3108881025: "Przetwarzanie..", 1848310591: "Kod QR", 710709610: "Pin Rx", 2697857197: "Odbierać", @@ -1463,7 +1406,6 @@ 3271055013: "Rozkład rolek:", 432366011: "Rolls:", 3976793317: "karta SD", - 2827687530: "Karta SD nie została wykryta", 2736513298: "Karta SD nie została wykryta.", 1166743226: "SHA256 Rolls:", 817419367: "SHA256 migawki:", @@ -1471,7 +1413,6 @@ 2163347007: "Zapisz na karcie SD", 3531742595: "Zapisz na karcie SD?", 2940025484: "Zapisano na karcie SD", - 3531363515: "Zapisywanie...", 763824768: "Skala", 4117455079: "Adres skanowania", 4038076821: "Scan BIP39 Passphrase", @@ -1482,7 +1423,10 @@ 289960586: "Typ skryptu", 1022211991: "zabezpieczenie", 4255182430: "Samo-transfer lub zmiana (%d):", + 3753172956: "Samo-transfer:", 473154195: "Ustawienia", + 563836138: "Ustawienia przechowywane wewnętrznie w pamięci błyskowej.", + 712533907: "Ustawienia zapisane na karcie SD.", 2377955518: "Entropia Shannona:", 1825881236: "Zamknięcie", 3656120779: "Czas wyłączenia z ruchu", @@ -1499,6 +1443,7 @@ 2019512665: "Rozmiar:", 2344747135: "Nie można wykonać niektórych kontroli.", 2090568351: "Wydać (%d):", + 1260825919: "Wydać:", 1232757391: "Statystyki dla nerdów", 3303592908: "Przechowuj na Flash", 720041451: "Przechowuj na karcie SD", @@ -1516,7 +1461,6 @@ 2732611775: "Próbuj bardziej?", 401829098: "Wpisz Passphrase BIP39", 2061556020: "Klucz typu", - 760733724: "Nieoczekiwany błąd podczas zapisywania do Flash.", 2089395053: "Jednostka", 2786714360: "Uaktualnienie zakończone.", 2674953168: "Użyj czarnej powierzchni tła.", @@ -1539,26 +1483,19 @@ 2499782468: "Nie znaleziono deskryptora wyjściowego portfela.", 2671738224: "Ostrzeżenie:", 262410364: "Wyczyść urządzenie", - 3522794335: "Czyszczenie urządzenia...", + 3522794335: "Czyszczenie urządzenia..", 797660533: "Słowo %d", 3742424146: "Numery słów", 2965123464: "Słowa", 1303016265: "Tak", - 771968845: "Twoje zmiany będą przechowywane w pamięci flash urządzenia.", - 2569054451: "Twoje zmiany będą przechowywane na karcie SD.", - 2652750163: "is prawidłowy adres zmiany!", - 58621376: "is ważny adres odbierania!", - 2265949116: "was nie znaleziono w pierwszych adresach zmiany", - 1266915636: "was nie znaleziono w pierwszych %D Otrzymuj adresy", + 2171149824: "jest prawidłowym adresem!", + 1875891934: "NIE ZNALEZIONO w pierwszych %d adresach", }, "pt-BR": { 232475068: "% do valor.", 1185266064: "%d da %d multisig", - 2331290367: "%d. Troco:", - 1866298120: "%d. Autotransferência:", - 2463380782: "%d. Gasto:", - 175571694: "%s foi excluído do cartão SD", - 2149311289: "%s foi excluído da memória flash", + 1503087751: "%d a %d", + 1178563089: "removido.", 1092222515: "(%d total)", 3348584292: "(Experimental)", 1099786887: "(Somente visualização)", @@ -1592,18 +1529,13 @@ 1207696150: "Troco", 3126552510: "Endereços de Troco", 1583186953: "Mudar o tema e reiniciar?", - 282444275: "As alterações foram salvas na memória flash!", - 2697733395: "Mudanças salvas no cartão SD!", + 3768416405: "Troco:", 388908871: "Alterações só durarão até o desligamento.", 3442025874: "Verifique o cartão SD", 3119547911: "Verificar se este endereço pertence a carteira?", - 2856261511: "%d endereços de troco verificados sem correspondência.", - 2788541416: "%d endereços de recebimento verificados sem correspondência.", - 3377973275: "Verificando correspondência do endereço de troco de %d a %d..", + 1187826970: "Verificado %d endereços sem correspondências.", 2470115694: "Verificando o cartão SD..", - 3547944367: "Verificando correspondência do endereço de recebimento de %d a %d..", 1851578965: "Índice Derivado", - 4041895036: "Continuar?", 4094072796: "Gerar Código QR", 167798282: "Gerar código QR do texto?", 678449760: "Criado:", @@ -1617,7 +1549,6 @@ 1272005728: "Carteira Padrão", 4102535566: "Profundidade da Passagem", 1712856005: "Endereços do Descritor", - 1230133196: "Armazenamento flash do dispositivo não detectado.", 3278654271: "Display", 3895447625: "Não desligue, pode demorar um pouco para concluir.", 3836852788: "Feito?", @@ -1751,7 +1682,7 @@ 3388542885: "Imprimindo", 3593149291: "Continuar mesmo assim?", 2580599003: "Seguir?", - 556126964: "Processando ...", + 3108881025: "Processando..", 1848310591: "Código QR", 710709610: "Pino RX", 2697857197: "Recebimento", @@ -1769,7 +1700,6 @@ 3271055013: "Distribuição de jogadas:", 432366011: "Jogadas:", 3976793317: "Cartão SD", - 2827687530: "Cartão SD não detectado", 2736513298: "Cartão SD não detectado.", 1166743226: "SHA256 de jogadas:", 817419367: "Sha256 da imagem:", @@ -1777,7 +1707,6 @@ 2163347007: "Salvar no cartão SD", 3531742595: "Salvar no cartão SD?", 2940025484: "Salvo no cartão SD", - 3531363515: "Salvando...", 763824768: "Escala", 4117455079: "Escanear Endereço", 4038076821: "Escanear a senha BIP39", @@ -1788,7 +1717,10 @@ 289960586: "Tipo de Script", 1022211991: "Segurança", 4255182430: "Autotransferência ou Troco (%d):", + 3753172956: "Autotransferência:", 473154195: "Configurações", + 563836138: "Configurações armazenadas internamente no flash.", + 712533907: "Configurações armazenadas no cartão SD.", 2377955518: "Entropia de Shannon:", 1825881236: "Desligar", 3656120779: "Tempo de desligamento", @@ -1805,6 +1737,7 @@ 2019512665: "Total:", 2344747135: "Algumas verificações não podem ser realizadas.", 2090568351: "Gastos (%d):", + 1260825919: "Gasto:", 1232757391: "Estatísticas para Nerds", 3303592908: "Armazene na Flash", 720041451: "Armazene no Cartão SD", @@ -1822,7 +1755,6 @@ 2732611775: "Tentar mais?", 401829098: "Digitar a senha BIP39", 2061556020: "Digite a Chave", - 760733724: "Erro inesperado ao salvar na memória flash.", 2089395053: "Unidade", 2786714360: "Atualização completa.", 2674953168: "Use uma superfície de fundo preta.", @@ -1850,21 +1782,14 @@ 3742424146: "Números das Palavras", 2965123464: "Palavras", 1303016265: "Sim", - 771968845: "Suas alterações serão mantidas no armazenamento flash do dispositivo.", - 2569054451: "Suas alterações serão mantidas no cartão SD.", - 2652750163: "é um endereço de troco válido!", - 58621376: "é um endereço de recebimento válido!", - 2265949116: "NÃO FOI ENCONTRADO nos primeiros %d endereços de troco", - 1266915636: "NÃO FOI ENCONTRADO nos primeiros %d endereços de recebimento", + 2171149824: "é um endereço válido!", + 1875891934: "NÃO FOI ENCONTRADO nos primeiros %d endereços", }, "ru-RU": { 232475068: "% от суммы.", 1185266064: "%d из %d мультиподпись", - 2331290367: "%d. Сдача:", - 1866298120: "%d. Перевод самому себе:", - 2463380782: "%d. Расход:", - 175571694: "%s удален с SD-карты", - 2149311289: "%s удален с флеш-памяти", + 1503087751: "%d к %d", + 1178563089: "%s удален.", 1092222515: "(%d всего)", 3348584292: "(Эксперементальный)", 1099786887: "(Только часы)", @@ -1898,18 +1823,13 @@ 1207696150: "Сдача", 3126552510: "Адрес Сдачи", 1583186953: "Сменить тему и перезагрузить?", - 282444275: "Изменения сохранены во флеш-памяти!", - 2697733395: "Изменения сохранены на SD карте!", + 3768416405: "Сдача:", 388908871: "Изменения будут храниться до выключения.", 3442025874: "Проверить SD Карту", 3119547911: "Проверить, что адрес принадлежит этому кошельку?", - 2856261511: "Проверено %d адресов сдачи без совпадений.", - 2788541416: "Проверено %d адресов получения без совпадений.", - 3377973275: "Проверяем адрес сдачи с %d по %d на совпадение..", + 1187826970: "Проверено %d адресов без совпадений.", 2470115694: "Проверка SD карты..", - 3547944367: "Проверяем адрес получения с %d по %d на совпадение..", 1851578965: "Дочерний индекс", - 4041895036: "Продолжить?", 4094072796: "Создать QR Код", 167798282: "Создать QR код из текста?", 678449760: "Создано:", @@ -1923,7 +1843,6 @@ 1272005728: "Кошелек по умолчанию", 4102535566: "Глубина за Проход", 1712856005: "Адреса дескрипторов", - 1230133196: "Флэш память устройства не обнаружена.", 3278654271: "Дисплеи", 3895447625: "Не выключайте питание, это может занять некоторое время.", 3836852788: "Готово?", @@ -2057,7 +1976,7 @@ 3388542885: "Идет печать", 3593149291: "Все равно продолжить?", 2580599003: "Продолжить?", - 556126964: "Обработка ...", + 3108881025: "Обработка..", 1848310591: "QR Код", 710709610: "RX Пин", 2697857197: "Получить", @@ -2075,7 +1994,6 @@ 3271055013: "Распределение бросков:", 432366011: "Броски:", 3976793317: "SD карта", - 2827687530: "SD карта не обнаружена", 2736513298: "SD карта не обнаружена.", 1166743226: "SHA256 бросков:", 817419367: "SHA256 снэпшота:", @@ -2083,7 +2001,6 @@ 2163347007: "Сохранить на SD-карту", 3531742595: "Сохранить на SD карту?", 2940025484: "Сохранено на SD карту", - 3531363515: "Сохранение...", 763824768: "Шкала", 4117455079: "Отсканировать Адрес", 4038076821: "Отсканировать BIP39 фразу-пароль", @@ -2094,7 +2011,10 @@ 289960586: "Тип скрипта", 1022211991: "Охрана", 4255182430: "Трансфер самому себе или Сдача (%d):", + 3753172956: "Перевод самому себе:", 473154195: "Настройки", + 563836138: "Настройки хранятся во флэш-памяти.", + 712533907: "Настройки сохранены на SD-карте.", 2377955518: "Энтропия Шеннона:", 1825881236: "Выключить", 3656120779: "Время выключения", @@ -2111,6 +2031,7 @@ 2019512665: "Размер:", 2344747135: "Некоторые проверки не могут быть выполнены.", 2090568351: "Расход (%d):", + 1260825919: "Расход:", 1232757391: "Статистика для Гиков", 3303592908: "Сохранить на Флэш Память", 720041451: "Сохранить на SD Карту", @@ -2128,7 +2049,6 @@ 2732611775: "Попробовать ещё?", 401829098: "Ввести BIP39 фразу-пароль", 2061556020: "Ввести Ключ", - 760733724: "Неожиданная ошибка во время сохранения на флеш-память.", 2089395053: "Единица Измерения", 2786714360: "Обновление завершено.", 2674953168: "Использовать черную фоновую поверхность.", @@ -2156,21 +2076,14 @@ 3742424146: "Числа Слов", 2965123464: "Слова", 1303016265: "Да", - 771968845: "Ваши изменения будут сохранены на флэш памяти устройства.", - 2569054451: "Ваши изменения будут сохранены на SD карте.", - 2652750163: "валидный адрес сдачи!", - 58621376: "валидный адрес получения!", - 2265949116: "НЕ НАЙДЕН в первых %d адресах сдачи", - 1266915636: "НЕ НАЙДЕН в первых %d адресах получения", + 2171149824: "некорректный адрес", + 1875891934: "нЕ НАЙДЕНО в первых %d адресах", }, "tr-TR": { 232475068: "tutarın %'si.", 1185266064: "%d / %d çoklu imza", - 2331290367: "%d. Para Üstü:", - 1866298120: "%d. Kendine-transfer:", - 2463380782: "%d. Harcama:", - 175571694: "%s SD karttan kaldırıldı", - 2149311289: "%s flash'tan kaldırıldı", + 1503087751: "%d to %d", + 1178563089: "%s kaldırıldı.", 1092222515: "(toplam %d)", 3348584292: "(Deneysel)", 1099786887: "(sadece izle)", @@ -2204,18 +2117,13 @@ 1207696150: "Para Üstü", 3126552510: "Para Üstü Adresleri", 1583186953: "Temayı değiştir ve yeniden başlat?", - 282444275: "Değişiklikler Flash'a kaydedildi!", - 2697733395: "Değişiklikler SD karta kaydedildi!", + 3768416405: "Para Üstü:", 388908871: "Değişiklikler kapanışa kadar devam edecek.", 3442025874: "SD Kartı Kontrol Et", 3119547911: "Bu adresin, bu cüzdana ait olduğunu kontrol et?", - 2856261511: "Eşleşme olmadan %d para üstü adresi kontrol edildi.", - 2788541416: "Eşleşme olmadan %d alım adresi kontrol edildi.", - 3377973275: "Eşleşme için %d ile %d arasındaki para üstü adresi kontrol ediliyor..", + 1187826970: "Eşleşmeyen %d adres kontrol edildi.", 2470115694: "SD kart kontrol ediliyor..", - 3547944367: "Eşleşme için %d ile %d arasındaki alım adresi kontrol ediliyor..", 1851578965: "Türev Dizini", - 4041895036: "Devam et?", 4094072796: "QR Kodu Oluştur", 167798282: "Metinden QR kodu oluşturulsun mu?", 678449760: "Oluşturuldu:", @@ -2229,7 +2137,6 @@ 1272005728: "Varsayılan Cüzdan", 4102535566: "Geçiş Başına Derinlik", 1712856005: "Tanımlayıcı Adresler", - 1230133196: "Cihaz flash depolaması algılanmadı.", 3278654271: "Ekran", 3895447625: "Kapatmayın, tamamlanması biraz zaman alabilir.", 3836852788: "Tamamlandı mı?", @@ -2363,7 +2270,7 @@ 3388542885: "Yazdırılıyor", 3593149291: "Yine de devam edilsin mi?", 2580599003: "Devam edilsin mi?", - 556126964: "İşleniyor ...", + 3108881025: "İşleniyor..", 1848310591: "QR Kodu", 710709610: "RX Pini", 2697857197: "Al", @@ -2381,7 +2288,6 @@ 3271055013: "Zar atış dağılımı:", 432366011: "Zar atışları:", 3976793317: "SD kart", - 2827687530: "SD kart algılanmadı", 2736513298: "SD kart algılanmadı.", 1166743226: "Zar atışlarının SHA256'sı:", 817419367: "Snapshot'ın SHA256'sı:", @@ -2389,7 +2295,6 @@ 2163347007: "SD karta kaydet", 3531742595: "SD karta kaydedilsin mi?", 2940025484: "SD karta kaydedildi", - 3531363515: "Kaydediliyor ...", 763824768: "Ölçek", 4117455079: "Adresi Tara", 4038076821: "BIP39 Parolasını Tara", @@ -2400,7 +2305,10 @@ 289960586: "Betik Türü", 1022211991: "Güvenlik", 4255182430: "Kendine-transfer veya Para Üstü (%d):", + 3753172956: "Kendine-transfer:", 473154195: "Ayarlar", + 563836138: "Ayarlar dahili olarak flaşta saklanır.", + 712533907: "Ayarlar SD karta kaydedildi.", 2377955518: "Shannon Entropisi:", 1825881236: "Kapat", 3656120779: "Kapanma Süresi", @@ -2417,6 +2325,7 @@ 2019512665: "Boyut:", 2344747135: "Bazı kontroller yerine getirilemedi.", 2090568351: "Harcama (%d):", + 1260825919: "Harcama:", 1232757391: "İnekler İçin İstatistikler", 3303592908: "Flash'ta Sakla", 720041451: "SD Kartta Sakla", @@ -2434,7 +2343,6 @@ 2732611775: "Daha fazla kez denensin mi?", 401829098: "BIP39 parolasını yazın", 2061556020: "Anahtar Yaz", - 760733724: "Flash'a kaydederken beklenmedik hata.", 2089395053: "Birim", 2786714360: "Güncelleme tamamlandı.", 2674953168: "Siyah bir arka plan yüzeyi kullanın.", @@ -2462,21 +2370,14 @@ 3742424146: "Kelime Numaraları", 2965123464: "Kelimeler", 1303016265: "Evet", - 771968845: "Değişiklikleriniz cihazın flash depolamasında saklanacak.", - 2569054451: "Değişiklikleriniz SD kartta saklanacak.", - 2652750163: "geçerli bir para üstü adresi!", - 58621376: "geçerli bir alım adresidir!", - 2265949116: "ilk %d para üstü adresinde BULUNAMADI", - 1266915636: "ilk %d alım adresinde BULUNAMADI", + 2171149824: "geçerli bir adres!", + 1875891934: "ilk %d adreste BULUNAMADI", }, "vi-VN": { 232475068: "% của số tiền.", 1185266064: "%d của %d đa chữ kí", - 2331290367: "%d. Thay đổi:", - 1866298120: "%d. Tự chuyển nhượng:", - 2463380782: "%d. Chi tiêu:", - 175571694: "%s đã được xóa khỏi thẻ SD", - 2149311289: "%s đã bị xóa khỏi bộ nhớ flash", + 1503087751: "%d đến %d", + 1178563089: "%s Đã bỏ.", 1092222515: "(tổng cộng %d)", 3348584292: "(Thực nghiệm)", 1099786887: "(chỉ xem)", @@ -2510,18 +2411,13 @@ 1207696150: "Thay đổi", 3126552510: "Các địa chỉ tiền thối", 1583186953: "Thay đổi giao diện và khởi động lại?", - 282444275: "Thay đổi được lưu lại trên Flash!", - 2697733395: "Thay đổi được lưu trên thẻ SD!", + 3768416405: "Thay đổi:", 388908871: "Thay đổi sẽ kéo dài cho đến khi tắt máy.", 3442025874: "Kiểm tra thẻ SD", 3119547911: "Kiểm tra địa chỉ đó có thuộc về ví này không?", - 2856261511: "Đã kiểm tra %d địa chỉ tiền thối không có kết quả phù hợp.", - 2788541416: "Đã kiểm tra %d địa chỉ nhận được và không tìm thấy tương thích.", - 3377973275: "Đang kiểm tra địa chỉ thay đổi từ %d đến %d để khớp..", + 1187826970: "Đã kiểm tra %d địa chỉ không khớp.", 2470115694: "Kiểm tra thẻ SD..", - 3547944367: "Đang kiểm tra từ %d đến %d địa chỉ..", 1851578965: "Chỉ mục phụ", - 4041895036: "Tiếp tục?", 4094072796: "Tạo mã QR", 167798282: "Tạo mã QR từ văn bản?", 678449760: "Tạo:", @@ -2535,7 +2431,6 @@ 1272005728: "Ví mặc định", 4102535566: "Độ sâu mỗi lần cắt CNC", 1712856005: "Địa chỉ người mô tả", - 1230133196: "Không tìm được bộ lưu trữ flash của thiết bị.", 3278654271: "Hiển thị", 3895447625: "Không được tắt máy, có thể mất một lúc để hoàn thành.", 3836852788: "Hoàn tất?", @@ -2669,7 +2564,7 @@ 3388542885: "Đang in", 3593149291: "Vẫn tiếp tục?", 2580599003: "Thực hiện?", - 556126964: "Đang xử lý ...", + 3108881025: "Đang xử lý..", 1848310591: "Mã QR", 710709610: "RX Pin", 2697857197: "Nhận được", @@ -2687,7 +2582,6 @@ 3271055013: "Phân bổ xúc xắc:", 432366011: "Tổng số lần quay xúc xắc:", 3976793317: "Thẻ SD", - 2827687530: "Thẻ SD không được phát hiện", 2736513298: "Thẻ SD không được phát hiện.", 1166743226: "SHA256 của xúc xắc:", 817419367: "Sha256 của ảnh chụp:", @@ -2695,7 +2589,6 @@ 2163347007: "Lưu vào thẻ SD", 3531742595: "Lưu vào thẻ SD?", 2940025484: "Đã lưu vào thẻ SD", - 3531363515: "Đang lưu...", 763824768: "Tỉ lệ", 4117455079: "Quét địa chỉ", 4038076821: "Quét cụm mật khẩu BIP39", @@ -2706,7 +2599,10 @@ 289960586: "Kiểu văn lệnh", 1022211991: "Bảo mật", 4255182430: "Tự chuyển nhượng hoặc giao dịch (%d):", + 3753172956: "Tự chuyển nhượng:", 473154195: "Cài đặt", + 563836138: "Cài đặt được lưu trữ nội bộ trên đèn flash.", + 712533907: "Cài đặt được lưu trên thẻ SD.", 2377955518: "Entropy của Shannon:", 1825881236: "Tắt máy", 3656120779: "Thời gian tắt máy", @@ -2723,6 +2619,7 @@ 2019512665: "Dung lượng:", 2344747135: "Một số kiểm tra không thể được thực hiện.", 2090568351: "Chi tiêu (%d):", + 1260825919: "Chi tiêu:", 1232757391: "Số liệu thống kê cho Mọt sách", 3303592908: "Lưu trữ trên flash", 720041451: "Lưu trữ trên thẻ SD", @@ -2740,7 +2637,6 @@ 2732611775: "Thử thêm nữa?", 401829098: "Nhập cụm mật khẩu BIP39", 2061556020: "Nhập khóa", - 760733724: "Lỗi bất ngờ khi lưu vào Flash.", 2089395053: "Đơn vị", 2786714360: "Nâng cấp hoàn tất.", 2674953168: "Sử dụng bề mặt nền đen.", @@ -2768,11 +2664,7 @@ 3742424146: "Từ số", 2965123464: "Từ ngữ", 1303016265: "Đúng", - 771968845: "Các thay đổi của bạn sẽ được lưu trên bộ nhớ flash của thiết bị.", - 2569054451: "Các thay đổi của bạn sẽ được lưu trên thẻ SD.", - 2652750163: "is một địa chỉ thay đổi hợp lệ!", - 58621376: "là một địa chỉ khả dụng!", - 2265949116: "KHÔNG TÌM ĐƯỢC trong địa chỉ %d tiền thối đầu tiên", - 1266915636: "KHÔNG TÌM ĐƯỢC trong địa chỉ %d nhận đầu tiên", + 2171149824: "là một địa chỉ hợp lệ!", + 1875891934: "kHÔNG TÌM THẤY trong %d địa chỉ đầu tiên", }, } diff --git a/tests/pages/home_pages/test_addresses.py b/tests/pages/home_pages/test_addresses.py index af6e25c42..5f3b2cb70 100644 --- a/tests/pages/home_pages/test_addresses.py +++ b/tests/pages/home_pages/test_addresses.py @@ -273,12 +273,12 @@ def test_scan_address(mocker, m5stickv, tdata): if can_search: if case[6]: # If search should be successful ctx.display.draw_centered_text.assert_called_with( - "0. \n\n%s\n\nis a valid receive address!" % case[3] + "0. \n\n%s\n\nis a valid address!" % case[3] ) else: attempts = 50 * (len(case[5]) - 3) ctx.display.draw_centered_text.assert_called_with( - "%s\n\nwas NOT FOUND in the first %s receive addresses" + "%s\n\nwas NOT FOUND in the first %s addresses" % (case[3], attempts) ) else: @@ -344,7 +344,7 @@ def test_scan_change_address(mocker, m5stickv, tdata): if can_search: if case[6]: # If search should be successful ctx.display.draw_centered_text.assert_called_with( - "0. \n\n%s\n\nis a valid change address!" % case[3] + "0. \n\n%s\n\nis a valid address!" % case[3] ) else: attempts = 50 * (len(case[5]) - 3) diff --git a/tests/pages/test_settings_page.py b/tests/pages/test_settings_page.py index 8cd410fbe..e6f70fadd 100644 --- a/tests/pages/test_settings_page.py +++ b/tests/pages/test_settings_page.py @@ -419,8 +419,7 @@ def test_save_settings_on_sd(amigo, mocker, mocker_sd_card_ok): settings_page.settings() settings_page.flash_text.assert_has_calls( [ - mocker.call("Your changes will be kept on the SD card.", duration=2500), - mocker.call("Changes persisted to SD card!", duration=2500), + mocker.call("Settings stored on SD card.", duration=2500), ] ) @@ -474,15 +473,8 @@ def test_leave_settings_without_changes(amigo, mocker): settings_page = SettingsPage(ctx) settings_page.flash_text = mocker.MagicMock() settings_page.settings() - settings_page.flash_text.assert_has_calls( - [ - mocker.call( - "Your changes will be kept on device flash storage.", duration=2500 - ), - ] - ) persisted_to_flash_call = mocker.call( - "Changes persisted to Flash!", duration=2500 + "Settings stored internally on flash.", duration=2500 ) assert ctx.input.wait_for_button.call_count == len(btn_sequence) assert persisted_to_flash_call not in settings_page.flash_text.call_args_list @@ -513,10 +505,7 @@ def test_leave_settings_with_changes(amigo, mocker, mocker_sd_card_ok): assert ctx.input.wait_for_button.call_count == len(BTN_SEQUENCE) settings_page.flash_text.assert_has_calls( [ - mocker.call( - "Your changes will be kept on device flash storage.", duration=2500 - ), - mocker.call("Changes persisted to Flash!", duration=2500), + mocker.call("Settings stored internally on flash.", duration=2500), ] ) diff --git a/tests/pages/test_tools.py b/tests/pages/test_tools.py index d5a38ebca..0f8fe5006 100644 --- a/tests/pages/test_tools.py +++ b/tests/pages/test_tools.py @@ -80,7 +80,7 @@ def test_sd_check_no_sd(m5stickv, mocker): tool = Tools(ctx) tool.flash_text = mocker.MagicMock() tool.sd_check() - tool.flash_text.assert_has_calls([mocker.call("SD card not detected", ANY)]) + tool.flash_text.assert_has_calls([mocker.call("SD card not detected.", ANY)]) def test_sd_check(m5stickv, mocker, mock_file_operations): From cf765c6f353a29463d5d30f4e5e82e5479bc60e1 Mon Sep 17 00:00:00 2001 From: tadeubas Date: Sat, 17 Aug 2024 09:00:12 -0300 Subject: [PATCH 08/11] fix printing.. translation --- i18n/translations/de-DE.json | 2 +- i18n/translations/es-MX.json | 2 +- i18n/translations/fr-FR.json | 2 +- i18n/translations/nl-NL.json | 2 +- i18n/translations/pl-PL.json | 2 +- i18n/translations/pt-BR.json | 2 +- i18n/translations/ru-RU.json | 2 +- i18n/translations/tr-TR.json | 2 +- i18n/translations/vi-VN.json | 2 +- src/krux/pages/print_page.py | 4 ++-- src/krux/pages/tiny_seed.py | 2 +- src/krux/translations.py | 18 +++++++++--------- 12 files changed, 21 insertions(+), 21 deletions(-) diff --git a/i18n/translations/de-DE.json b/i18n/translations/de-DE.json index 379378191..a16446f62 100644 --- a/i18n/translations/de-DE.json +++ b/i18n/translations/de-DE.json @@ -186,7 +186,7 @@ "Print?": "Drucken?", "Printer": "Drucker", "Printer Driver not set!": "Druckertreiber nicht gesetzt!", - "Printing": "Wird gedruckt", + "Printing..": "Wird gedruckt..", "Proceed anyway?": "Trotzdem fortfahren?", "Proceed?": "Weiter?", "Processing..": "Wird bearbeitet..", diff --git a/i18n/translations/es-MX.json b/i18n/translations/es-MX.json index d908a0bb7..295b162ca 100644 --- a/i18n/translations/es-MX.json +++ b/i18n/translations/es-MX.json @@ -186,7 +186,7 @@ "Print?": "¿Impresión?", "Printer": "Impresora", "Printer Driver not set!": "¡El controlador de impresora no está configurado!", - "Printing": "Imprimiendo", + "Printing..": "Imprimiendo..", "Proceed anyway?": "¿Proceder de todas maneras?", "Proceed?": "¿Continuar?", "Processing..": "Procesando..", diff --git a/i18n/translations/fr-FR.json b/i18n/translations/fr-FR.json index 3ae503297..c44e3b72b 100644 --- a/i18n/translations/fr-FR.json +++ b/i18n/translations/fr-FR.json @@ -186,7 +186,7 @@ "Print?": "Imprimer ?", "Printer": "Imprimante", "Printer Driver not set!": "Le conducteur d'imprimante n'est pas défini !", - "Printing": "Impression", + "Printing..": "Impression..", "Proceed anyway?": "Procéder quand même ?", "Proceed?": "Procéder ?", "Processing..": "Traitement..", diff --git a/i18n/translations/nl-NL.json b/i18n/translations/nl-NL.json index 0e4e56e50..2307b12de 100644 --- a/i18n/translations/nl-NL.json +++ b/i18n/translations/nl-NL.json @@ -186,7 +186,7 @@ "Print?": "Afdrukken?", "Printer": "Printer", "Printer Driver not set!": "Printer driver niet ingesteld!", - "Printing": "Afdrukken", + "Printing..": "Afdrukken..", "Proceed anyway?": "Toch doorgaan?", "Proceed?": "Doorgaan?", "Processing..": "Verwerken..", diff --git a/i18n/translations/pl-PL.json b/i18n/translations/pl-PL.json index 0f86e52b3..408d05ebd 100644 --- a/i18n/translations/pl-PL.json +++ b/i18n/translations/pl-PL.json @@ -186,7 +186,7 @@ "Print?": "Wydrukować?", "Printer": "Drukarka", "Printer Driver not set!": "Sterownik drukarki nie jest ustawiony!", - "Printing": "Drukowanie", + "Printing..": "Drukowanie..", "Proceed anyway?": "Kontynuować mimo to?", "Proceed?": "Przystępować?", "Processing..": "Przetwarzanie..", diff --git a/i18n/translations/pt-BR.json b/i18n/translations/pt-BR.json index ecdd87c01..7fdd4f011 100644 --- a/i18n/translations/pt-BR.json +++ b/i18n/translations/pt-BR.json @@ -186,7 +186,7 @@ "Print?": "Imprimir?", "Printer": "Impressora", "Printer Driver not set!": "Driver de impressora não está definido!", - "Printing": "Imprimindo", + "Printing..": "Imprimindo..", "Proceed anyway?": "Continuar mesmo assim?", "Proceed?": "Seguir?", "Processing..": "Processando..", diff --git a/i18n/translations/ru-RU.json b/i18n/translations/ru-RU.json index aadeb872d..6cea763ba 100644 --- a/i18n/translations/ru-RU.json +++ b/i18n/translations/ru-RU.json @@ -186,7 +186,7 @@ "Print?": "Печатать?", "Printer": "Принтер", "Printer Driver not set!": "Драйвер Принтера не установлен!", - "Printing": "Идет печать", + "Printing..": "Идет печать..", "Proceed anyway?": "Все равно продолжить?", "Proceed?": "Продолжить?", "Processing..": "Обработка..", diff --git a/i18n/translations/tr-TR.json b/i18n/translations/tr-TR.json index 850f49cf7..3647caff3 100644 --- a/i18n/translations/tr-TR.json +++ b/i18n/translations/tr-TR.json @@ -186,7 +186,7 @@ "Print?": "Yazdırılsın mı?", "Printer": "Yazıcı", "Printer Driver not set!": "Yazıcı Sürücüsü ayarlanmadı!", - "Printing": "Yazdırılıyor", + "Printing..": "Yazdırılıyor..", "Proceed anyway?": "Yine de devam edilsin mi?", "Proceed?": "Devam edilsin mi?", "Processing..": "İşleniyor..", diff --git a/i18n/translations/vi-VN.json b/i18n/translations/vi-VN.json index 4ba201aa1..65100788a 100644 --- a/i18n/translations/vi-VN.json +++ b/i18n/translations/vi-VN.json @@ -186,7 +186,7 @@ "Print?": "In?", "Printer": "Máy in", "Printer Driver not set!": "Trình điều khiển máy in chưa được cài đặt!", - "Printing": "Đang in", + "Printing..": "Đang in..", "Proceed anyway?": "Vẫn tiếp tục?", "Proceed?": "Thực hiện?", "Processing..": "Đang xử lý..", diff --git a/src/krux/pages/print_page.py b/src/krux/pages/print_page.py index cf9d5edea..b3782f19a 100644 --- a/src/krux/pages/print_page.py +++ b/src/krux/pages/print_page.py @@ -42,7 +42,7 @@ def _send_qr_to_printer(self, qr_code, i=0, count=1): self.ctx.display.draw_centered_text(t("Exporting to SD card..")) else: self.ctx.display.draw_centered_text( - t("Printing") + "\n%d / %d" % (i + 1, count) + t("Printing..") + "\n%d / %d" % (i + 1, count) ) self.printer.print_qr_code(qr_code) @@ -71,7 +71,7 @@ def print_mnemonic_text(self, mnemonic, suffix=""): """Prints Mnemonics words as text""" self.ctx.display.clear() self.ctx.display.draw_hcentered_text( - t("Printing") + "..", self.ctx.display.height() // 2 + t("Printing.."), self.ctx.display.height() // 2 ) self.printer.print_string("BIP39" + " " + suffix + "\n\n") words = mnemonic.split(" ") diff --git a/src/krux/pages/tiny_seed.py b/src/krux/pages/tiny_seed.py index 3ade45134..b40e3aa77 100644 --- a/src/krux/pages/tiny_seed.py +++ b/src/krux/pages/tiny_seed.py @@ -179,7 +179,7 @@ def print_tiny_seed(self): pad_y = 8 # 2mm*8px self.ctx.display.clear() self.ctx.display.draw_hcentered_text( - t("Printing") + "..", self.ctx.display.height() // 2 + t("Printing.."), self.ctx.display.height() // 2 ) self.printer.print_string("Tiny Seed\n\n") for page in range(len(words) // 12): diff --git a/src/krux/translations.py b/src/krux/translations.py index 6f6bb90ff..b201de447 100644 --- a/src/krux/translations.py +++ b/src/krux/translations.py @@ -209,7 +209,7 @@ 3339507095: "Drucken?", 1123106929: "Drucker", 3903571079: "Druckertreiber nicht gesetzt!", - 3388542885: "Wird gedruckt", + 3586624216: "Wird gedruckt..", 3593149291: "Trotzdem fortfahren?", 2580599003: "Weiter?", 3108881025: "Wird bearbeitet..", @@ -503,7 +503,7 @@ 3339507095: "¿Impresión?", 1123106929: "Impresora", 3903571079: "¡El controlador de impresora no está configurado!", - 3388542885: "Imprimiendo", + 3586624216: "Imprimiendo..", 3593149291: "¿Proceder de todas maneras?", 2580599003: "¿Continuar?", 3108881025: "Procesando..", @@ -797,7 +797,7 @@ 3339507095: "Imprimer\u2009?", 1123106929: "Imprimante", 3903571079: "Le conducteur d'imprimante n'est pas défini\u2009!", - 3388542885: "Impression", + 3586624216: "Impression..", 3593149291: "Procéder quand même\u2009?", 2580599003: "Procéder\u2009?", 3108881025: "Traitement..", @@ -1091,7 +1091,7 @@ 3339507095: "Afdrukken?", 1123106929: "Printer", 3903571079: "Printer driver niet ingesteld!", - 3388542885: "Afdrukken", + 3586624216: "Afdrukken..", 3593149291: "Toch doorgaan?", 2580599003: "Doorgaan?", 3108881025: "Verwerken..", @@ -1385,7 +1385,7 @@ 3339507095: "Wydrukować?", 1123106929: "Drukarka", 3903571079: "Sterownik drukarki nie jest ustawiony!", - 3388542885: "Drukowanie", + 3586624216: "Drukowanie..", 3593149291: "Kontynuować mimo to?", 2580599003: "Przystępować?", 3108881025: "Przetwarzanie..", @@ -1679,7 +1679,7 @@ 3339507095: "Imprimir?", 1123106929: "Impressora", 3903571079: "Driver de impressora não está definido!", - 3388542885: "Imprimindo", + 3586624216: "Imprimindo..", 3593149291: "Continuar mesmo assim?", 2580599003: "Seguir?", 3108881025: "Processando..", @@ -1973,7 +1973,7 @@ 3339507095: "Печатать?", 1123106929: "Принтер", 3903571079: "Драйвер Принтера не установлен!", - 3388542885: "Идет печать", + 3586624216: "Идет печать..", 3593149291: "Все равно продолжить?", 2580599003: "Продолжить?", 3108881025: "Обработка..", @@ -2267,7 +2267,7 @@ 3339507095: "Yazdırılsın mı?", 1123106929: "Yazıcı", 3903571079: "Yazıcı Sürücüsü ayarlanmadı!", - 3388542885: "Yazdırılıyor", + 3586624216: "Yazdırılıyor..", 3593149291: "Yine de devam edilsin mi?", 2580599003: "Devam edilsin mi?", 3108881025: "İşleniyor..", @@ -2561,7 +2561,7 @@ 3339507095: "In?", 1123106929: "Máy in", 3903571079: "Trình điều khiển máy in chưa được cài đặt!", - 3388542885: "Đang in", + 3586624216: "Đang in..", 3593149291: "Vẫn tiếp tục?", 2580599003: "Thực hiện?", 3108881025: "Đang xử lý..", From 05e0ff76a140c60ea508d5b65895bbb19c4515da Mon Sep 17 00:00:00 2001 From: tadeubas Date: Fri, 23 Aug 2024 04:17:36 -0300 Subject: [PATCH 09/11] reduced bip39 random cases by half --- tests/test_bip39.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_bip39.py b/tests/test_bip39.py index d6fd67800..fd804be52 100644 --- a/tests/test_bip39.py +++ b/tests/test_bip39.py @@ -40,7 +40,7 @@ def test_edge_cases(): def test_random_cases(): - for _ in range(20000): + for _ in range(10000): for size in (16, 20, 24, 28, 32): token_bytes = secrets.token_bytes(size) assert ( From 3c008571ffed3218467f40e13a4b7a5ff1eaed91 Mon Sep 17 00:00:00 2001 From: tadeubas Date: Fri, 23 Aug 2024 09:21:07 -0300 Subject: [PATCH 10/11] coverage report adding context to show what test function executed the specific line of the code --- .coveragerc | 2 ++ pyproject.toml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 .coveragerc diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 000000000..1dc4f3d8c --- /dev/null +++ b/.coveragerc @@ -0,0 +1,2 @@ +[html] +show_contexts = True diff --git a/pyproject.toml b/pyproject.toml index bca3a1e0a..f2d9a1e91 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -84,7 +84,7 @@ lint = ["lint-src", "lint-scripts"] pylint.ref = "lint" # test tasks -test = "pytest --cache-clear --cov src/krux --cov-report html ./tests" +test = "pytest --cache-clear --cov src/krux --cov-report html ./tests --cov-context=test --cov-report term-missing" test-verbose = "pytest --cache-clear --cov src/krux --cov-report html --show-capture all --capture tee-sys -r A ./tests" test-simple = "pytest --cache-clear ./tests" # aliases From 71d8296fe6849259b31540a2057262253c550090 Mon Sep 17 00:00:00 2001 From: tadeubas Date: Fri, 23 Aug 2024 09:41:24 -0300 Subject: [PATCH 11/11] poetry task to ensure htmlcov files are always recreated --- pyproject.toml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f2d9a1e91..0aa1130c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -84,12 +84,14 @@ lint = ["lint-src", "lint-scripts"] pylint.ref = "lint" # test tasks -test = "pytest --cache-clear --cov src/krux --cov-report html ./tests --cov-context=test --cov-report term-missing" +test-clean = """python -c 'import shutil; shutil.rmtree("htmlcov")'""" +test-cov = "pytest --cache-clear --cov src/krux --cov-report html ./tests --cov-context=test --cov-report term-missing" test-verbose = "pytest --cache-clear --cov src/krux --cov-report html --show-capture all --capture tee-sys -r A ./tests" test-simple = "pytest --cache-clear ./tests" # aliases -tests.ref = "test" -pytest.ref = "test" +tests = ["test-clean", "test-cov"] +test.ref = "tests" +pytest.ref = "tests" # pre commit task (do formatting, linting and tests) pre-commit = ["format", "lint", "i18n validate", "test-simple"]