diff --git a/i18n/translations/en-US.json b/i18n/translations/en-US.json deleted file mode 100644 index 216ac411c..000000000 --- a/i18n/translations/en-US.json +++ /dev/null @@ -1,242 +0,0 @@ -{ - "%d of %d multisig": "%d of %d multisig", - "%d. Change: \n\n%s\n\n": "%d. Change: \n\n%s\n\n", - "%d. Self-transfer: \n\n%s\n\n": "%d. Self-transfer: \n\n%s\n\n", - "%d. Spend: \n\n%s\n\n": "%d. Spend: \n\n%s\n\n", - "%s\n\nis a valid change address!": "%s\n\nis a valid change address!", - "%s\n\nis a valid receive address!": "%s\n\nis a valid receive address!", - "%s\n\nwas NOT FOUND in the first %d change addresses": "%s\n\nwas NOT FOUND in the first %d change addresses", - "%s\n\nwas NOT FOUND in the first %d receive addresses": "%s\n\nwas NOT FOUND in the first %d receive addresses", - "12 words": "12 words", - "24 words": "24 words", - "ABC": "ABC", - "About": "About", - "Adafruit": "Adafruit", - "Address": "Address", - "Aditional entropy from camera required for AES-CBC mode": "Additional entropy from camera required for AES-CBC mode", - "Align camera and Tiny Seed properly.": "Align camera and Tiny Seed properly.", - "Anti-glare disabled": "Anti-glare disabled", - "Anti-glare enabled": "Anti-glare enabled", - "Are you sure?": "Are you sure?", - "BIP39 Mnemonic": "BIP39 Mnemonic", - "Back": "Back", - "Backing up bootloader..\n\n%d%%": "Backing up bootloader..\n\n%d%%", - "Bad signature": "Bad signature", - "Baudrate": "Baudrate", - "Bitcoin": "Bitcoin", - "Border Padding": "Border Padding", - "CNC": "CNC", - "Change": "Change", - "Change Addresses": "Change Addresses", - "Change theme and reboot?": "Change theme and reboot?", - "Changes persisted to SD card!": "Changes persisted to SD card!", - "Changes will last until shutdown.": "Changes will last until shutdown.", - "Check SD Card": "Check SD Card", - "Check that address belongs to this wallet?": "Check that address belongs to this wallet?", - "Checked %d change addresses with no matches.": "Checked %d change addresses with no matches.", - "Checked %d receive addresses with no matches.": "Checked %d receive addresses with no matches.", - "Checking change address %d for match..": "Checking change address %d for match..", - "Checking for SD card..": "Checking for SD card..", - "Checking receive address %d for match..": "Checking receive address %d for match..", - "Compact SeedQR": "Compact SeedQR", - "Continue?": "Continue?", - "Create QR Code": "Create QR Code", - "Create QR code from text?": "Create QR code from text?", - "Created: ": "Created:", - "Cut Depth": "Cut Depth", - "Cut Method": "Cut Method", - "Decimal": "Decimal", - "Decrypt?": "Decrypt?", - "Delete File?": "Delete File?", - "Delete Mnemonic": "Delete Mnemonic", - "Depth Per Pass": "Depth Per Pass", - "Derivation: %s": "Derivation: %s", - "Device flash storage not detected.": "Device flash storage not detected.", - "Done?": "Done?", - "Driver": "Driver", - "Encoder": "Encoder", - "Encoder Debounce": "Encoder Debounce", - "Encrypt Mnemonic": "Encrypt Mnemonic", - "Encrypted QR Code": "Encrypted QR Code", - "Encrypted mnemonic was not stored": "Encrypted mnemonic was not stored", - "Encrypted mnemonic was stored with ID: ": "Encrypted mnemonic was stored with ID: ", - "Encryption": "Encryption", - "Encryption Mode": "Encryption Mode", - "Enter each word of your BIP-39 mnemonic as a number from 1 to 2048.": "Enter each word of your BIP-39 mnemonic as a number from 1 to 2048.", - "Enter each word of your BIP-39 mnemonic as a number in hexadecimal from 1 to 800.": "Enter each word of your BIP-39 mnemonic as a number in hexadecimal from 1 to 800.", - "Enter each word of your BIP-39 mnemonic as a number in octal from 1 to 4000.": "Enter each word of your BIP-39 mnemonic as a number in octal from 1 to 4000.", - "Enter each word of your BIP-39 mnemonic.": "Enter each word of your BIP-39 mnemonic.", - "Error:\n%s": "Error:\n%s", - "Esc": "Esc", - "Explore files?": "Explore files?", - "Exporting to SD card..": "Exporting to SD card..", - "Extended Public Key": "Extended Public Key", - "Failed to decrypt": "Failed to decrypt", - "Failed to load PSBT": "Failed to load PSBT", - "Failed to load address": "Failed to load address", - "Failed to load key": "Failed to load key", - "Failed to load message": "Failed to load message", - "Failed to load mnemonic": "Failed to load mnemonic", - "Failed to load output descriptor": "Failed to load output descriptor", - "Failed to load passphrase": "Failed to load passphrase", - "Failed to store mnemonic": "Failed to store mnemonic", - "Fee: ": "Fee: ", - "Feed Rate": "Feed Rate", - "Filename": "Filename", - "Filename %s exists on SD card, overwrite?": "Filename %s exists on SD card, overwrite?", - "Fingerprint: %s": "Fingerprint: %s", - "Firmware exceeds max size: %d": "Firmware exceeds max size: %d", - "Flute Diameter": "Flute Diameter", - "Free: ": "Free: ", - "From Storage": "From Storage", - "GRBL": "GRBL", - "Give this mnemonic a custom ID? Otherwise current fingerprint will be used": "Give this mnemonic a custom ID? Otherwise current fingerprint will be used", - "Go": "Go", - "Heat Interval": "Heat Interval", - "Heat Time": "Heat Time", - "Hex Public Key": "Hex Public Key", - "Hexadecimal": "Hexadecimal", - "ID already exists\n": "ID already exists\n", - "Inputs (%d): ": "Inputs (%d): ", - "Invalid address": "Invalid address", - "Invalid bootloader": "Invalid bootloader", - "Invalid mnemonic length": "Invalid mnemonic length", - "Invalid public key": "Invalid public key", - "Invalid wallet:\n%s": "Invalid wallet:\n%s", - "Invert": "Invert", - "Key": "Key", - "Key: ": "Key:", - "Krux\n\n\nVersion\n%s": "Krux\n\n\nVersion\n%s", - "Krux Printer Test QR": "Krux Printer Test QR", - "Language": "Language", - "Line Delay": "Line Delay", - "Line: ": "Line: ", - "Load Mnemonic": "Load Mnemonic", - "Load from SD card?": "Load from SD card?", - "Load one?": "Load one?", - "Load?": "Load?", - "Loading Camera..": "Loading Camera..", - "Loading change address %d..": "Loading change address %d..", - "Loading printer..": "Loading printer..", - "Loading receive address %d..": "Loading receive address %d..", - "Loading..": "Loading..", - "Locale": "Locale", - "Location": "Location", - "Log Level": "Log Level", - "Logging": "Logging", - "Maximum length exceeded (%s)": "Maximum length exceeded (%s)", - "Message": "Message", - "Missing signature file": "Missing signature file", - "Mnemonic": "Mnemonic", - "Mnemonic ID": "Mnemonic ID", - "Mnemonic Storage ID": "Mnemonic Storage ID", - "Mnemonic was not decrypted": "Mnemonic was not decrypted", - "Mnemonic was not encrypted": "Mnemonic was not encrypted", - "Modified: ": "Modified:", - "Multisig": "Multisig", - "Network": "Network", - "New Mnemonic": "New Mnemonic", - "New firmware detected.\n\nSHA256:\n%s\n\n\n\nInstall?": "New firmware detected.\n\nSHA256:\n%s\n\n\n\nInstall?", - "No": "No", - "No BIP39 passphrase": "No BIP39 passphrase", - "Not enough rolls!": "Not enough rolls!", - "Octal": "Octal", - "PBKDF2 Iter.": "PBKDF2 Iter.", - "PSBT": "PSBT", - "Paint punched dots black so they can be detected.": "Paint punched dots black so they can be detected.", - "Paper Width": "Paper Width", - "Part\n%d / %d": "Part\n%d / %d", - "Part Size": "Part Size", - "Passphrase": "Passphrase", - "Passphrase: ": "Passphrase:", - "Persist": "Persist", - "Plaintext QR": "Plaintext QR", - "Please load a wallet output descriptor": "Please load a wallet output descriptor", - "Plunge Rate": "Plunge Rate", - "Print Test QR": "Print Test QR", - "Print to QR?\n\n%s\n\n": "Print to QR?\n\n%s\n\n", - "Print?\n\n%s\n\n": "Print?\n\n%s\n\n", - "Printer": "Printer", - "Printer Driver not set!": "Printer Driver not set!", - "Printing\n%d / %d": "Printing\n%d / %d", - "Printing ...": "Printing ...", - "Proceed?": "Proceed?", - "Processing ...": "Processing ...", - "QR Code": "QR Code", - "RX Pin": "RX Pin", - "Receive": "Receive", - "Receive Addresses": "Receive Addresses", - "Region: ": "Region: ", - "Review scanned data, edit if necessary": "Review scanned data, edit if necessary", - "Roll dice at least %d times to generate a mnemonic.": "Roll dice at least %d times to generate a mnemonic.", - "Rolls:\n\n%s": "Rolls:\n\n%s", - "Rolls: %d\n": "Rolls: %d\n", - "SD card": "SD card", - "SD card not detected": "SD card not detected", - "SD card not detected.": "SD card not detected.", - "SHA256 of rolls:\n\n%s": "SHA256 of rolls:\n\n%s", - "SHA256 of snapshot:\n\n%s": "SHA256 of snapshot:\n\n%s", - "SHA256:\n%s": "SHA256:\n%s", - "Save to SD card?": "Save to SD card?", - "Saved to SD card:\n%s": "Saved to SD card:\n%s", - "Scale": "Scale", - "Scan Address": "Scan Address", - "Scan BIP39 passphrase": "Scan BIP39 passphrase", - "Scan Key QR code": "Scan Key QR code", - "Scanning words 1-12 again": "Scanning words 1-12 again", - "Scanning words 13-24": "Scanning words 13-24", - "SeedQR": "SeedQR", - "Self-transfer or Change (%d): ": "Self-transfer or Change (%d): ", - "Settings": "Settings", - "Shutdown": "Shutdown", - "Shutting down..": "Shutting down..", - "Sign": "Sign", - "Sign?": "Sign?", - "Signature": "Signature", - "Signed Message": "Signed Message", - "Signed PSBT": "Signed PSBT", - "Single-sig": "Single-sig", - "Size: ": "Size: ", - "Spend (%d): ": "Spend (%d): ", - "Stackbit 1248": "Stackbit 1248", - "Store on Flash": "Store on Flash", - "Store on SD Card": "Store on SD Card", - "Swipe to change mode": "Swipe to change mode", - "TOUCH or ENTER to capture": "TOUCH or ENTER to capture", - "TX Pin": "TX Pin", - "Text": "Text", - "Theme": "Theme", - "Thermal": "Thermal", - "Tiny Seed": "Tiny Seed", - "Tiny Seed (Bits)": "Tiny Seed (Bits)", - "Tools": "Tools", - "Touch Threshold": "Touch Threshold", - "Touchscreen": "Touchscreen", - "Try more?": "Try more?", - "Type BIP39 passphrase": "Type BIP39 passphrase", - "Type Key": "Type Key", - "Unit": "Unit", - "Updating bootloader..\n\n%d%%": "Updating bootloader..\n\n%d%%", - "Upgrade complete.\n\nShutting down..": "Upgrade complete.\n\nShutting down..", - "Upgrading firmware..\n\n%d%%": "Upgrading firmware..\n\n%d%%", - "Use a black background surface.": "Use a black background surface.", - "Use camera's entropy to create a new mnemonic": "Use camera's entropy to create a new mnemonic", - "Used: ": "Used: ", - "Value %s out of range: [%s, %s]": "Value %s out of range: [%s, %s]", - "Via Camera": "Via Camera", - "Via D20": "Via D20", - "Via D6": "Via D6", - "Via Manual Input": "Via Manual Input", - "Wait for the capture": "Wait for the capture", - "Wallet Descriptor": "Wallet Descriptor", - "Wallet output descriptor": "Wallet output descriptor", - "Wallet output descriptor loaded!": "Wallet output descriptor loaded!", - "Wallet output descriptor not found.": "Wallet output descriptor not found.", - "Warning:\nIncomplete output descriptor": "Warning:\nIncomplete output descriptor", - "Word %d": "Word %d", - "Word Numbers": "Word Numbers", - "Words": "Words", - "Yes": "Yes", - "Your changes will be kept on device flash storage.": "Your changes will be kept on device flash storage.", - "Your changes will be kept on the SD card.": "Your changes will be kept on the SD card." -} \ No newline at end of file diff --git a/src/krux/krux_settings.py b/src/krux/krux_settings.py index 8c895e1b5..b10ff5729 100644 --- a/src/krux/krux_settings.py +++ b/src/krux/krux_settings.py @@ -120,7 +120,10 @@ class I18nSettings(SettingsNamespace): """I18n-specific settings""" namespace = "settings.i18n" - locale = CategorySetting("locale", "en-US", list(translation_table.keys())) + DEFAULT_LOCALE = "en-US" + locale = CategorySetting( + "locale", DEFAULT_LOCALE, list(translation_table.keys()) + [DEFAULT_LOCALE] + ) def label(self, attr): """Returns a label for UI when given a setting name or namespace""" diff --git a/src/krux/translations.py b/src/krux/translations.py index 7b73002ea..e26b56d85 100644 --- a/src/krux/translations.py +++ b/src/krux/translations.py @@ -263,248 +263,6 @@ 771968845: "Änderungen werden im Flash-Speicher des Geräts gespeichert.", 2569054451: "Änderungen werden auf der SD-Karte gespeichert.", }, - "en-US": { - 1185266064: "%d of %d multisig", - 2004520398: "%d. Change: \n\n%s\n\n", - 3862364126: "%d. Self-transfer: \n\n%s\n\n", - 3264377309: "%d. Spend: \n\n%s\n\n", - 2399232215: "%s\n\nis a valid change address!", - 3921290840: "%s\n\nis a valid receive address!", - 1808355833: "%s\n\nwas NOT FOUND in the first %d change addresses", - 1306127065: "%s\n\nwas NOT FOUND in the first %d receive addresses", - 2739590230: "12 words", - 1310058127: "24 words", - 2743272264: "ABC", - 1949634023: "About", - 1517128857: "Adafruit", - 3270727197: "Address", - 2574498267: "Additional entropy from camera required for AES-CBC mode", - 283202181: "Align camera and Tiny Seed properly.", - 88746165: "Anti-glare disabled", - 1521033296: "Anti-glare enabled", - 1056821534: "Are you sure?", - 3247612282: "BIP39 Mnemonic", - 3455872521: "Back", - 2541860807: "Backing up bootloader..\n\n%d%%", - 2256777600: "Bad signature", - 3937333362: "Baudrate", - 427617266: "Bitcoin", - 928727036: "Border Padding", - 213030954: "CNC", - 1207696150: "Change", - 3126552510: "Change Addresses", - 1583186953: "Change theme and reboot?", - 2697733395: "Changes persisted to SD card!", - 388908871: "Changes will last until shutdown.", - 3442025874: "Check SD Card", - 3119547911: "Check that address belongs to this wallet?", - 2856261511: "Checked %d change addresses with no matches.", - 2788541416: "Checked %d receive addresses with no matches.", - 2446472910: "Checking change address %d for match..", - 2470115694: "Checking for SD card..", - 3655273987: "Checking receive address %d for match..", - 2407028014: "Compact SeedQR", - 4041895036: "Continue?", - 4094072796: "Create QR Code", - 167798282: "Create QR code from text?", - 2767642191: "Created:", - 124617190: "Cut Depth", - 597912140: "Cut Method", - 2504034831: "Decimal", - 2751113454: "Decrypt?", - 1016609898: "Delete File?", - 1364509700: "Delete Mnemonic", - 4102535566: "Depth Per Pass", - 2791699253: "Derivation: %s", - 1230133196: "Device flash storage not detected.", - 3836852788: "Done?", - 382368239: "Driver", - 3978947916: "Encoder", - 4090746898: "Encoder Debounce", - 374684711: "Encrypt Mnemonic", - 1244124409: "Encrypted QR Code", - 2968548114: "Encrypted mnemonic was not stored", - 3315319371: "Encrypted mnemonic was stored with ID: ", - 350279787: "Encryption", - 2601598799: "Encryption Mode", - 3504179008: "Enter each word of your BIP-39 mnemonic as a number from 1 to 2048.", - 1100685007: "Enter each word of your BIP-39 mnemonic as a number in hexadecimal from 1 to 800.", - 4090266642: "Enter each word of your BIP-39 mnemonic as a number in octal from 1 to 4000.", - 2780625730: "Enter each word of your BIP-39 mnemonic.", - 784361051: "Error:\n%s", - 1505332462: "Esc", - 3838465623: "Explore files?", - 4170881190: "Exporting to SD card..", - 1711312434: "Extended Public Key", - 383371114: "Failed to decrypt", - 3048830188: "Failed to load PSBT", - 4192663412: "Failed to load address", - 1996021743: "Failed to load key", - 1108715658: "Failed to load message", - 1081425878: "Failed to load mnemonic", - 928667220: "Failed to load output descriptor", - 1620572516: "Failed to load passphrase", - 2946146830: "Failed to store mnemonic", - 1303554751: "Fee: ", - 104500973: "Feed Rate", - 3313339187: "Filename", - 1982637349: "Filename %s exists on SD card, overwrite?", - 3737729752: "Fingerprint: %s", - 2542772894: "Firmware exceeds max size: %d", - 1406590538: "Flute Diameter", - 3086093110: "Free: ", - 1893243331: "From Storage", - 4120536442: "GRBL", - 299338213: "Give this mnemonic a custom ID? Otherwise current fingerprint will be used", - 602716148: "Go", - 831562513: "Heat Interval", - 2300171403: "Heat Time", - 3580020863: "Hex Public Key", - 2691246967: "Hexadecimal", - 2736309107: "ID already exists\n", - 631342955: "Inputs (%d): ", - 2585599782: "Invalid address", - 2874529150: "Invalid bootloader", - 4093416954: "Invalid mnemonic length", - 1422874211: "Invalid public key", - 2443867979: "Invalid wallet:\n%s", - 4122897393: "Invert", - 3000888649: "Key", - 2686333978: "Key:", - 4123798664: "Krux\n\n\nVersion\n%s", - 3835918229: "Krux Printer Test QR", - 766317539: "Language", - 972436696: "Line Delay", - 3596093890: "Line: ", - 2820726296: "Load Mnemonic", - 879727077: "Load from SD card?", - 669106195: "Load one?", - 3330705289: "Load?", - 2596531078: "Loading Camera..", - 596389387: "Loading change address %d..", - 336702608: "Loading printer..", - 2538883522: "Loading receive address %d..", - 3159494909: "Loading..", - 1177338798: "Locale", - 2817059741: "Location", - 63976957: "Log Level", - 86530918: "Logging", - 2917810189: "Maximum length exceeded (%s)", - 2030045667: "Message", - 3928301843: "Missing signature file", - 1948316555: "Mnemonic", - 2123991188: "Mnemonic ID", - 3911073154: "Mnemonic Storage ID", - 570639842: "Mnemonic was not decrypted", - 1746030071: "Mnemonic was not encrypted", - 1458925155: "Modified:", - 1845376098: "Multisig", - 2939797024: "Network", - 73574491: "New Mnemonic", - 2792272353: "New firmware detected.\n\nSHA256:\n%s\n\n\n\nInstall?", - 4063104189: "No", - 3927838899: "No BIP39 passphrase", - 4092516657: "Not enough rolls!", - 1577637745: "Octal", - 3312581301: "PBKDF2 Iter.", - 721090621: "PSBT", - 995862913: "Paint punched dots black so they can be detected.", - 2987800462: "Paper Width", - 3050763890: "Part\n%d / %d", - 3559456868: "Part Size", - 4249903283: "Passphrase", - 3712257341: "Passphrase:", - 140802882: "Persist", - 1703779997: "Plaintext QR", - 3561756278: "Please load a wallet output descriptor", - 784609464: "Plunge Rate", - 3037062877: "Print Test QR", - 4278257699: "Print to QR?\n\n%s\n\n", - 516488026: "Print?\n\n%s\n\n", - 1123106929: "Printer", - 3903571079: "Printer Driver not set!", - 2609799302: "Printing\n%d / %d", - 844861889: "Printing ...", - 2580599003: "Proceed?", - 556126964: "Processing ...", - 1848310591: "QR Code", - 710709610: "RX Pin", - 2697857197: "Receive", - 1746677167: "Receive Addresses", - 364354944: "Region: ", - 1662254634: "Review scanned data, edit if necessary", - 770350922: "Roll dice at least %d times to generate a mnemonic.", - 856795528: "Rolls:\n\n%s", - 255086803: "Rolls: %d\n", - 3976793317: "SD card", - 2827687530: "SD card not detected", - 2736513298: "SD card not detected.", - 3593785196: "SHA256 of rolls:\n\n%s", - 1143278725: "SHA256 of snapshot:\n\n%s", - 3338679392: "SHA256:\n%s", - 3531742595: "Save to SD card?", - 810036588: "Saved to SD card:\n%s", - 763824768: "Scale", - 4117455079: "Scan Address", - 3219991109: "Scan BIP39 passphrase", - 2537207336: "Scan Key QR code", - 4006316572: "Scanning words 1-12 again", - 2736506158: "Scanning words 13-24", - 266935239: "SeedQR", - 1698829144: "Self-transfer or Change (%d): ", - 473154195: "Settings", - 1825881236: "Shutdown", - 2120776272: "Shutting down..", - 1061961408: "Sign", - 4282338366: "Sign?", - 746161122: "Signature", - 1988416729: "Signed Message", - 3672006076: "Signed PSBT", - 2281377987: "Single-sig", - 4221794628: "Size: ", - 2309020186: "Spend (%d): ", - 3355862324: "Stackbit 1248", - 3303592908: "Store on Flash", - 720041451: "Store on SD Card", - 3514476519: "Swipe to change mode", - 1898550184: "TOUCH or ENTER to capture", - 4228215415: "TX Pin", - 2612594937: "Text", - 1454688268: "Theme", - 1180180513: "Thermal", - 4119292117: "Tiny Seed", - 1732872974: "Tiny Seed (Bits)", - 725348723: "Tools", - 3684696112: "Touch Threshold", - 2978718564: "Touchscreen", - 2732611775: "Try more?", - 1487826746: "Type BIP39 passphrase", - 2061556020: "Type Key", - 2089395053: "Unit", - 2845607430: "Updating bootloader..\n\n%d%%", - 4164597446: "Upgrade complete.\n\nShutting down..", - 2736001501: "Upgrading firmware..\n\n%d%%", - 2674953168: "Use a black background surface.", - 2402455261: "Use camera's entropy to create a new mnemonic", - 236075140: "Used: ", - 4003084591: "Value %s out of range: [%s, %s]", - 4191058607: "Via Camera", - 1254681955: "Via D20", - 525309547: "Via D6", - 590330112: "Via Manual Input", - 2504354847: "Wait for the capture", - 2297028319: "Wallet Descriptor", - 4232654916: "Wallet output descriptor", - 2587172867: "Wallet output descriptor loaded!", - 2499782468: "Wallet output descriptor not found.", - 1831109430: "Warning:\nIncomplete output descriptor", - 797660533: "Word %d", - 3742424146: "Word Numbers", - 2965123464: "Words", - 1303016265: "Yes", - 771968845: "Your changes will be kept on device flash storage.", - 2569054451: "Your changes will be kept on the SD card.", - }, "es-MX": { 1185266064: "%d de %d multisig", 2004520398: "%d. Cambio: \n\n%s\n\n",