diff --git a/core/embed/rust/librust_qstr.h b/core/embed/rust/librust_qstr.h index bd7a90819..0b682a460 100644 --- a/core/embed/rust/librust_qstr.h +++ b/core/embed/rust/librust_qstr.h @@ -30,8 +30,8 @@ static void _librust_qstrs(void) { MP_QSTR_addr_mismatch__wrong_derivation_path; MP_QSTR_addr_mismatch__xpub_mismatch; MP_QSTR_address; - MP_QSTR_address__public_key; MP_QSTR_address__title_cosigner; + MP_QSTR_address__title_public_key; MP_QSTR_address__title_receive_address; MP_QSTR_address__title_yours; MP_QSTR_address_details__derivation_path; @@ -328,10 +328,10 @@ static void _librust_qstrs(void) { MP_QSTR_progress__loading_transaction; MP_QSTR_progress__locking_device; MP_QSTR_progress__one_second_left; - MP_QSTR_progress__please_wait; MP_QSTR_progress__refreshing; MP_QSTR_progress__signing_transaction; MP_QSTR_progress__syncing; + MP_QSTR_progress__title_please_wait; MP_QSTR_progress__x_seconds_left_template; MP_QSTR_progress_event; MP_QSTR_prompt; @@ -374,7 +374,7 @@ static void _librust_qstrs(void) { MP_QSTR_recovery__wanna_cancel_dry_run; MP_QSTR_recovery__wanna_cancel_recovery; MP_QSTR_recovery__word_count_template; - MP_QSTR_recovery__word_x_of_y_template; + MP_QSTR_recovery__word_x_of_y_title_template; MP_QSTR_recovery__x_more_items_starting_template_plural; MP_QSTR_recovery__x_more_shares_needed_template_plural; MP_QSTR_recovery__x_of_y_entered_template; @@ -421,7 +421,7 @@ static void _librust_qstrs(void) { MP_QSTR_reset__recovery_share_title_template; MP_QSTR_reset__required_number_of_groups; MP_QSTR_reset__select_correct_word; - MP_QSTR_reset__select_word_template; + MP_QSTR_reset__select_word_title_template; MP_QSTR_reset__select_word_x_of_y_template; MP_QSTR_reset__set_it_to_count_template; MP_QSTR_reset__share_checked_successfully_template; @@ -531,16 +531,16 @@ static void _librust_qstrs(void) { MP_QSTR_show_warning; MP_QSTR_sign; MP_QSTR_sign_message__bytes_template; - MP_QSTR_sign_message__confirm_address; - MP_QSTR_sign_message__confirm_message; MP_QSTR_sign_message__message_size; - MP_QSTR_sign_message__verify_address; + MP_QSTR_sign_message__title_confirm_address; + MP_QSTR_sign_message__title_confirm_message; + MP_QSTR_sign_message__title_verify_address; MP_QSTR_skip_first_paint; MP_QSTR_spending_amount; - MP_QSTR_storage_msg__processing; - MP_QSTR_storage_msg__starting; - MP_QSTR_storage_msg__verifying_pin; - MP_QSTR_storage_msg__wrong_pin; + MP_QSTR_storage_msg__title_processing; + MP_QSTR_storage_msg__title_starting; + MP_QSTR_storage_msg__title_verifying_pin; + MP_QSTR_storage_msg__title_wrong_pin; MP_QSTR_subprompt; MP_QSTR_subtitle; MP_QSTR_text_mono; @@ -623,12 +623,12 @@ static void _librust_qstrs(void) { MP_QSTR_words__please_check_again; MP_QSTR_words__please_try_again; MP_QSTR_words__really_wanna; - MP_QSTR_words__recipient; MP_QSTR_words__sign; MP_QSTR_words__signer; MP_QSTR_words__title_check; MP_QSTR_words__title_group; MP_QSTR_words__title_information; + MP_QSTR_words__title_recipient; MP_QSTR_words__title_remember; MP_QSTR_words__title_share; MP_QSTR_words__title_shares; @@ -819,13 +819,13 @@ static void _librust_qstrs(void) { MP_QSTR_ethereum__show_full_message; MP_QSTR_ethereum__show_full_struct; MP_QSTR_ethereum__sign_eip712; - MP_QSTR_ethereum__staking_claim; - MP_QSTR_ethereum__staking_claim_address; MP_QSTR_ethereum__staking_claim_intro; - MP_QSTR_ethereum__staking_stake; - MP_QSTR_ethereum__staking_stake_address; MP_QSTR_ethereum__staking_stake_intro; - MP_QSTR_ethereum__staking_unstake; + MP_QSTR_ethereum__staking_title_claim; + MP_QSTR_ethereum__staking_title_claim_address; + MP_QSTR_ethereum__staking_title_stake; + MP_QSTR_ethereum__staking_title_stake_address; + MP_QSTR_ethereum__staking_title_unstake; MP_QSTR_ethereum__staking_unstake_intro; MP_QSTR_ethereum__title_confirm_data; MP_QSTR_ethereum__title_confirm_domain; diff --git a/core/embed/rust/open_docs.sh b/core/embed/rust/open_docs.sh new file mode 100755 index 000000000..e4ac651a0 --- /dev/null +++ b/core/embed/rust/open_docs.sh @@ -0,0 +1 @@ +cargo doc --features ui,model_mercury,micropython,translations,dma2d,ui_debug,touch --no-default-features --open diff --git a/core/embed/rust/src/translations/generated/mod.rs b/core/embed/rust/src/translations/generated/mod.rs index 6a08560b1..f9c924f9b 100644 --- a/core/embed/rust/src/translations/generated/mod.rs +++ b/core/embed/rust/src/translations/generated/mod.rs @@ -1 +1,9 @@ -pub mod translated_string; +#[cfg(feature = "model_mercury")] +mod translated_string; +#[cfg(feature = "model_mercury")] +pub use translated_string::TranslatedString; + +#[cfg(any(feature = "model_tr", feature = "model_tt"))] +mod translated_string_upper; +#[cfg(any(feature = "model_tr", feature = "model_tt"))] +pub use translated_string_upper::TranslatedString; diff --git a/core/embed/rust/src/translations/generated/translated_string.rs b/core/embed/rust/src/translations/generated/translated_string.rs index 337b403c7..b28717ad7 100644 --- a/core/embed/rust/src/translations/generated/translated_string.rs +++ b/core/embed/rust/src/translations/generated/translated_string.rs @@ -16,25 +16,25 @@ pub enum TranslatedString { addr_mismatch__support_url = 3, // "trezor.io/support" addr_mismatch__wrong_derivation_path = 4, // "Wrong derivation path for selected account." addr_mismatch__xpub_mismatch = 5, // "XPUB mismatch?" - address__public_key = 6, // "Public key" - address__title_cosigner = 7, // "COSIGNER" - address__title_receive_address = 8, // "RECEIVE ADDRESS" - address__title_yours = 9, // "YOURS" + address__title_public_key = 6, // "Public key" + address__title_cosigner = 7, // "Cosigner" + address__title_receive_address = 8, // "Receive address" + address__title_yours = 9, // "Yours" address_details__derivation_path = 10, // "Derivation path:" - address_details__title_receive_address = 11, // "RECEIVE ADDRESS" - address_details__title_receiving_to = 12, // "RECEIVING TO" + address_details__title_receive_address = 11, // "Receive address" + address_details__title_receiving_to = 12, // "Receiving to" authenticate__confirm_template = 13, // "Allow connected computer to confirm your {0} is genuine?" authenticate__header = 14, // "Authenticate device" auto_lock__change_template = 15, // "Auto-lock your Trezor after {0} of inactivity?" - auto_lock__title = 16, // "AUTO-LOCK DELAY" + auto_lock__title = 16, // "Auto-lock delay" backup__can_back_up_anytime = 17, // "You can back up your Trezor once, at any time." backup__it_should_be_backed_up = 18, // "You should back up your new wallet right now." backup__it_should_be_backed_up_now = 19, // "It should be backed up now!" backup__new_wallet_created = 20, // "New wallet created.\n" backup__new_wallet_successfully_created = 21, // "New wallet created successfully." backup__recover_anytime = 22, // "You can use your backup to recover your wallet at any time." - backup__title_backup_wallet = 23, // "BACK UP WALLET" - backup__title_skip = 24, // "SKIP BACKUP" + backup__title_backup_wallet = 23, // "Back up wallet" + backup__title_skip = 24, // "Skip backup" backup__want_to_skip = 25, // "Are you sure you want to skip the backup?" #[cfg(feature = "universal_fw")] binance__buy = 26, // "Buy" @@ -72,59 +72,59 @@ pub enum TranslatedString { bitcoin__new_fee_rate = 47, // "New fee rate:" bitcoin__simple_send_of = 48, // "Simple send of" bitcoin__ticket_amount = 49, // "Ticket amount:" - bitcoin__title_confirm_details = 50, // "CONFIRM DETAILS" - bitcoin__title_finalize_transaction = 51, // "FINALIZE TRANSACTION" - bitcoin__title_high_mining_fee = 52, // "HIGH MINING FEE" - bitcoin__title_meld_transaction = 53, // "MELD TRANSACTIONS" - bitcoin__title_modify_amount = 54, // "MODIFY AMOUNT" - bitcoin__title_payjoin = 55, // "PAYJOIN" - bitcoin__title_proof_of_ownership = 56, // "PROOF OF OWNERSHIP" - bitcoin__title_purchase_ticket = 57, // "PURCHASE TICKET" - bitcoin__title_update_transaction = 58, // "UPDATE TRANSACTION" + bitcoin__title_confirm_details = 50, // "Confirm details" + bitcoin__title_finalize_transaction = 51, // "Finalize transaction" + bitcoin__title_high_mining_fee = 52, // "High mining fee" + bitcoin__title_meld_transaction = 53, // "Meld transactions" + bitcoin__title_modify_amount = 54, // "Modify amount" + bitcoin__title_payjoin = 55, // "Payjoin" + bitcoin__title_proof_of_ownership = 56, // "Proof of ownership" + bitcoin__title_purchase_ticket = 57, // "Purchase ticket" + bitcoin__title_update_transaction = 58, // "Update transaction" bitcoin__unknown_path = 59, // "Unknown path" bitcoin__unknown_transaction = 60, // "Unknown transaction" bitcoin__unusually_high_fee = 61, // "Unusually high fee." bitcoin__unverified_external_inputs = 62, // "The transaction contains unverified external inputs." bitcoin__valid_signature = 63, // "The signature is valid." bitcoin__voting_rights = 64, // "Voting rights to:" - buttons__abort = 65, // "ABORT" - buttons__access = 66, // "ACCESS" - buttons__again = 67, // "AGAIN" - buttons__allow = 68, // "ALLOW" - buttons__back = 69, // "BACK" - buttons__back_up = 70, // "BACK UP" - buttons__cancel = 71, // "CANCEL" - buttons__change = 72, // "CHANGE" - buttons__check = 73, // "CHECK" - buttons__check_again = 74, // "CHECK AGAIN" - buttons__close = 75, // "CLOSE" - buttons__confirm = 76, // "CONFIRM" - buttons__continue = 77, // "CONTINUE" - buttons__details = 78, // "DETAILS" - buttons__enable = 79, // "ENABLE" - buttons__enter = 80, // "ENTER" - buttons__enter_share = 81, // "ENTER SHARE" - buttons__export = 82, // "EXPORT" - buttons__format = 83, // "FORMAT" - buttons__go_back = 84, // "GO BACK" - buttons__hold_to_confirm = 85, // "HOLD TO CONFIRM" - buttons__info = 86, // "INFO" - buttons__install = 87, // "INSTALL" - buttons__more_info = 88, // "MORE INFO" - buttons__ok_i_understand = 89, // "OK, I UNDERSTAND" - buttons__purchase = 90, // "PURCHASE" - buttons__quit = 91, // "QUIT" - buttons__restart = 92, // "RESTART" - buttons__retry = 93, // "RETRY" - buttons__select = 94, // "SELECT" - buttons__set = 95, // "SET" - buttons__show_all = 96, // "SHOW ALL" - buttons__show_details = 97, // "SHOW DETAILS" - buttons__show_words = 98, // "SHOW WORDS" - buttons__skip = 99, // "SKIP" - buttons__try_again = 100, // "TRY AGAIN" - buttons__turn_off = 101, // "TURN OFF" - buttons__turn_on = 102, // "TURN ON" + buttons__abort = 65, // "Abort" + buttons__access = 66, // "Access" + buttons__again = 67, // "Again" + buttons__allow = 68, // "Allow" + buttons__back = 69, // "Back" + buttons__back_up = 70, // "Back up" + buttons__cancel = 71, // "Cancel" + buttons__change = 72, // "Change" + buttons__check = 73, // "Check" + buttons__check_again = 74, // "Check again" + buttons__close = 75, // "Close" + buttons__confirm = 76, // "Confirm" + buttons__continue = 77, // "Continue" + buttons__details = 78, // "Details" + buttons__enable = 79, // "Enable" + buttons__enter = 80, // "Enter" + buttons__enter_share = 81, // "Enter share" + buttons__export = 82, // "Export" + buttons__format = 83, // "Format" + buttons__go_back = 84, // "Go back" + buttons__hold_to_confirm = 85, // "Hold to confirm" + buttons__info = 86, // "Info" + buttons__install = 87, // "Install" + buttons__more_info = 88, // "More info" + buttons__ok_i_understand = 89, // "Ok, i understand" + buttons__purchase = 90, // "Purchase" + buttons__quit = 91, // "Quit" + buttons__restart = 92, // "Restart" + buttons__retry = 93, // "Retry" + buttons__select = 94, // "Select" + buttons__set = 95, // "Set" + buttons__show_all = 96, // "Show all" + buttons__show_details = 97, // "Show details" + buttons__show_words = 98, // "Show words" + buttons__skip = 99, // "Skip" + buttons__try_again = 100, // "Try again" + buttons__turn_off = 101, // "Turn off" + buttons__turn_on = 102, // "Turn on" #[cfg(feature = "universal_fw")] cardano__addr_base = 103, // "Base" #[cfg(feature = "universal_fw")] @@ -347,21 +347,21 @@ pub enum TranslatedString { coinjoin__do_not_disconnect = 213, // "Do not disconnect your Trezor!" coinjoin__max_mining_fee = 214, // "Max mining fee" coinjoin__max_rounds = 215, // "Max rounds" - coinjoin__title = 216, // "AUTHORIZE COINJOIN" - coinjoin__title_do_not_disconnect = 217, // "DO NOT DISCONNECT YOUR TREZOR!" - coinjoin__title_progress = 218, // "COINJOIN IN PROGRESS" + coinjoin__title = 216, // "Authorize coinjoin" + coinjoin__title_do_not_disconnect = 217, // "Do not disconnect your trezor!" + coinjoin__title_progress = 218, // "Coinjoin in progress" coinjoin__waiting_for_others = 219, // "Waiting for others" confirm_total__fee_rate = 220, // "Fee rate:" confirm_total__sending_from_account = 221, // "Sending from account:" - confirm_total__title_fee = 222, // "FEE INFORMATION" - confirm_total__title_sending_from = 223, // "SENDING FROM" + confirm_total__title_fee = 222, // "Fee information" + confirm_total__title_sending_from = 223, // "Sending from" debug__loading_seed = 224, // "Loading seed" debug__loading_seed_not_recommended = 225, // "Loading private seed is not recommended." device_name__change_template = 226, // "Change device name to {0}?" - device_name__title = 227, // "DEVICE NAME" + device_name__title = 227, // "Device name" entropy__send = 228, // "Do you really want to send entropy?" - entropy__title = 229, // "INTERNAL ENTROPY" - entropy__title_confirm = 230, // "CONFIRM ENTROPY" + entropy__title = 229, // "Internal entropy" + entropy__title_confirm = 230, // "Confirm entropy" #[cfg(feature = "universal_fw")] eos__about_to_sign_template = 231, // "You are about to sign {0}." #[cfg(feature = "universal_fw")] @@ -473,17 +473,17 @@ pub enum TranslatedString { #[cfg(feature = "universal_fw")] ethereum__sign_eip712 = 285, // "Really sign EIP-712 typed data?" #[cfg(feature = "universal_fw")] - ethereum__title_confirm_data = 286, // "CONFIRM DATA" + ethereum__title_confirm_data = 286, // "Confirm data" #[cfg(feature = "universal_fw")] - ethereum__title_confirm_domain = 287, // "CONFIRM DOMAIN" + ethereum__title_confirm_domain = 287, // "Confirm domain" #[cfg(feature = "universal_fw")] - ethereum__title_confirm_message = 288, // "CONFIRM MESSAGE" + ethereum__title_confirm_message = 288, // "Confirm message" #[cfg(feature = "universal_fw")] - ethereum__title_confirm_struct = 289, // "CONFIRM STRUCT" + ethereum__title_confirm_struct = 289, // "Confirm struct" #[cfg(feature = "universal_fw")] - ethereum__title_confirm_typed_data = 290, // "CONFIRM TYPED DATA" + ethereum__title_confirm_typed_data = 290, // "Confirm typed data" #[cfg(feature = "universal_fw")] - ethereum__title_signing_address = 291, // "SIGNING ADDRESS" + ethereum__title_signing_address = 291, // "Signing address" #[cfg(feature = "universal_fw")] ethereum__units_template = 292, // "{0} units" #[cfg(feature = "universal_fw")] @@ -492,7 +492,7 @@ pub enum TranslatedString { ethereum__valid_signature = 294, // "The signature is valid." experimental_mode__enable = 295, // "Enable experimental features?" experimental_mode__only_for_dev = 296, // "Only for development and beta testing!" - experimental_mode__title = 297, // "EXPERIMENTAL MODE" + experimental_mode__title = 297, // "Experimental mode" #[cfg(feature = "universal_fw")] fido__already_registered = 298, // "Already registered" #[cfg(feature = "universal_fw")] @@ -514,70 +514,70 @@ pub enum TranslatedString { #[cfg(feature = "universal_fw")] fido__please_enable_pin_protection = 307, // "Please enable PIN protection." #[cfg(feature = "universal_fw")] - fido__title_authenticate = 308, // "FIDO2 AUTHENTICATE" + fido__title_authenticate = 308, // "Fido2 authenticate" #[cfg(feature = "universal_fw")] - fido__title_import_credential = 309, // "IMPORT CREDENTIAL" + fido__title_import_credential = 309, // "Import credential" #[cfg(feature = "universal_fw")] - fido__title_list_credentials = 310, // "LIST CREDENTIALS" + fido__title_list_credentials = 310, // "List credentials" #[cfg(feature = "universal_fw")] - fido__title_register = 311, // "FIDO2 REGISTER" + fido__title_register = 311, // "Fido2 register" #[cfg(feature = "universal_fw")] - fido__title_remove_credential = 312, // "REMOVE CREDENTIAL" + fido__title_remove_credential = 312, // "Remove credential" #[cfg(feature = "universal_fw")] - fido__title_reset = 313, // "FIDO2 RESET" + fido__title_reset = 313, // "FIDO2 reset" #[cfg(feature = "universal_fw")] - fido__title_u2f_auth = 314, // "U2F AUTHENTICATE" + fido__title_u2f_auth = 314, // "U2F authenticate" #[cfg(feature = "universal_fw")] - fido__title_u2f_register = 315, // "U2F REGISTER" + fido__title_u2f_register = 315, // "U2F register" #[cfg(feature = "universal_fw")] - fido__title_verify_user = 316, // "FIDO2 VERIFY USER" + fido__title_verify_user = 316, // "FIDO2 verify user" #[cfg(feature = "universal_fw")] fido__unable_to_verify_user = 317, // "Unable to verify user." #[cfg(feature = "universal_fw")] fido__wanna_erase_credentials = 318, // "Do you really want to erase all credentials?" - firmware_update__title = 319, // "UPDATE FIRMWARE" - firmware_update__title_fingerprint = 320, // "FW FINGERPRINT" + firmware_update__title = 319, // "Update firmware" + firmware_update__title_fingerprint = 320, // "FW fingerprint" homescreen__click_to_connect = 321, // "Click to Connect" homescreen__click_to_unlock = 322, // "Click to Unlock" - homescreen__title_backup_failed = 323, // "BACKUP FAILED" - homescreen__title_backup_needed = 324, // "BACKUP NEEDED" - homescreen__title_coinjoin_authorized = 325, // "COINJOIN AUTHORIZED" - homescreen__title_experimental_mode = 326, // "EXPERIMENTAL MODE" - homescreen__title_no_usb_connection = 327, // "NO USB CONNECTION" - homescreen__title_pin_not_set = 328, // "PIN NOT SET" - homescreen__title_seedless = 329, // "SEEDLESS" - homescreen__title_set = 330, // "CHANGE HOMESCREEN?" - inputs__back = 331, // "BACK" - inputs__cancel = 332, // "CANCEL" - inputs__delete = 333, // "DELETE" - inputs__enter = 334, // "ENTER" - inputs__return = 335, // "RETURN" - inputs__show = 336, // "SHOW" - inputs__space = 337, // "SPACE" - joint__title = 338, // "JOINT TRANSACTION" + homescreen__title_backup_failed = 323, // "Backup failed" + homescreen__title_backup_needed = 324, // "Backup needed" + homescreen__title_coinjoin_authorized = 325, // "Coinjoin authorized" + homescreen__title_experimental_mode = 326, // "Experimental mode" + homescreen__title_no_usb_connection = 327, // "No USB connection" + homescreen__title_pin_not_set = 328, // "PIN not set" + homescreen__title_seedless = 329, // "Seedless" + homescreen__title_set = 330, // "Change homescreen?" + inputs__back = 331, // "Back" + inputs__cancel = 332, // "Cancel" + inputs__delete = 333, // "Delete" + inputs__enter = 334, // "Enter" + inputs__return = 335, // "Return" + inputs__show = 336, // "Show" + inputs__space = 337, // "Space" + joint__title = 338, // "Joint transaction" joint__to_the_total_amount = 339, // "To the total amount:" joint__you_are_contributing = 340, // "You are contributing:" language__change_to_template = 341, // "Change language to {0}?" language__changed = 342, // "Language changed successfully" language__progress = 343, // "Changing language" - language__title = 344, // "LANGUAGE SETTINGS" + language__title = 344, // "Language settings" lockscreen__tap_to_connect = 345, // "Tap to connect" lockscreen__tap_to_unlock = 346, // "Tap to unlock" - lockscreen__title_locked = 347, // "LOCKED" - lockscreen__title_not_connected = 348, // "NOT CONNECTED" + lockscreen__title_locked = 347, // "Locked" + lockscreen__title_not_connected = 348, // "Not connected" misc__decrypt_value = 349, // "Decrypt value" misc__encrypt_value = 350, // "Encrypt value" - misc__title_suite_labeling = 351, // "SUITE LABELING" + misc__title_suite_labeling = 351, // "Suite labeling" modify_amount__decrease_amount = 352, // "Decrease amount by:" modify_amount__increase_amount = 353, // "Increase amount by:" modify_amount__new_amount = 354, // "New amount:" - modify_amount__title = 355, // "MODIFY AMOUNT" + modify_amount__title = 355, // "Modify amount" modify_fee__decrease_fee = 356, // "Decrease fee by:" modify_fee__fee_rate = 357, // "Fee rate:" modify_fee__increase_fee = 358, // "Increase fee by:" modify_fee__new_transaction_fee = 359, // "New transaction fee:" modify_fee__no_change = 360, // "Fee did not change.\n" - modify_fee__title = 361, // "MODIFY FEE" + modify_fee__title = 361, // "Modify fee" modify_fee__transaction_fee = 362, // "Transaction fee:" #[cfg(feature = "universal_fw")] monero__confirm_export = 363, // "Confirm export" @@ -725,11 +725,11 @@ pub enum TranslatedString { passphrase__next_screen_will_show_passphrase = 437, // "Next screen will show the passphrase." passphrase__please_enter = 438, // "Please enter your passphrase." passphrase__revoke_on_device = 439, // "Do you want to revoke the passphrase on device setting?" - passphrase__title_confirm = 440, // "CONFIRM PASSPHRASE" - passphrase__title_enter = 441, // "ENTER PASSPHRASE" - passphrase__title_hide = 442, // "HIDE PASSPHRASE" - passphrase__title_settings = 443, // "PASSPHRASE SETTINGS" - passphrase__title_source = 444, // "PASSPHRASE SOURCE" + passphrase__title_confirm = 440, // "Confirm passphrase" + passphrase__title_enter = 441, // "Enter passphrase" + passphrase__title_hide = 442, // "Hide passphrase" + passphrase__title_settings = 443, // "Passphrase settings" + passphrase__title_source = 444, // "Passphrase source" passphrase__turn_off = 445, // "Turn off passphrase protection?" passphrase__turn_on = 446, // "Turn on passphrase protection?" pin__change = 447, // "Change PIN?" @@ -750,9 +750,9 @@ pub enum TranslatedString { pin__reenter_new = 462, // "Re-enter new PIN" pin__reenter_to_confirm = 463, // "Please re-enter PIN to confirm." pin__should_be_long = 464, // "PIN should be 4-50 digits long." - pin__title_check_pin = 465, // "CHECK PIN" - pin__title_settings = 466, // "PIN SETTINGS" - pin__title_wrong_pin = 467, // "WRONG PIN" + pin__title_check_pin = 465, // "Check PIN" + pin__title_settings = 466, // "PIN settings" + pin__title_wrong_pin = 467, // "Wrong PIN" pin__tries_left = 468, // "tries left" pin__turn_off = 469, // "Are you sure you want to turn off PIN protection?" pin__turn_on = 470, // "Turn on PIN protection?" @@ -771,14 +771,14 @@ pub enum TranslatedString { progress__loading_transaction = 483, // "Loading transaction..." progress__locking_device = 484, // "Locking the device..." progress__one_second_left = 485, // "1 second left" - progress__please_wait = 486, // "PLEASE WAIT" - storage_msg__processing = 487, // "PROCESSING" + progress__title_please_wait = 486, // "Please wait" + storage_msg__title_processing = 487, // "Processing" progress__refreshing = 488, // "Refreshing..." progress__signing_transaction = 489, // "Signing transaction..." progress__syncing = 490, // "Syncing..." progress__x_seconds_left_template = 491, // "{0} seconds left" reboot_to_bootloader__restart = 492, // "Trezor will restart in bootloader mode." - reboot_to_bootloader__title = 493, // "GO TO BOOTLOADER" + reboot_to_bootloader__title = 493, // "Go to bootloader" reboot_to_bootloader__version_by_template = 494, // "Firmware version {0}\nby {1}" recovery__cancel_dry_run = 495, // "Cancel backup check" recovery__check_dry_run = 496, // "Check your backup?" @@ -803,18 +803,18 @@ pub enum TranslatedString { recovery__share_already_entered = 515, // "Share already entered" recovery__share_from_another_shamir = 516, // "You have entered a share from another Shamir Backup." recovery__share_num_template = 517, // "Share {0}" - recovery__title = 518, // "RECOVER WALLET" - recovery__title_cancel_dry_run = 519, // "CANCEL BACKUP CHECK" - recovery__title_cancel_recovery = 520, // "CANCEL RECOVERY" - recovery__title_dry_run = 521, // "BACKUP CHECK" - recovery__title_recover = 522, // "RECOVER WALLET" - recovery__title_remaining_shares = 523, // "REMAINING SHARES" + recovery__title = 518, // "Recover wallet" + recovery__title_cancel_dry_run = 519, // "Cancel backup check" + recovery__title_cancel_recovery = 520, // "Cancel recovery" + recovery__title_dry_run = 521, // "Backup check" + recovery__title_recover = 522, // "Recover wallet" + recovery__title_remaining_shares = 523, // "Remaining shares" recovery__type_word_x_of_y_template = 524, // "Type word {0} of {1}" recovery__wallet_recovered = 525, // "Wallet recovered successfully" recovery__wanna_cancel_dry_run = 526, // "Are you sure you want to cancel the backup check?" recovery__wanna_cancel_recovery = 527, // "Are you sure you want to cancel the recovery process?" recovery__word_count_template = 528, // "({0} words)" - recovery__word_x_of_y_template = 529, // "WORD {0} OF {1}" + recovery__word_x_of_y_title_template = 529, // "Word {0} of {1}" recovery__x_more_items_starting_template_plural = 530, // "{count} more {plural} starting" recovery__x_more_shares_needed_template_plural = 531, // "{count} more {plural} needed." recovery__x_of_y_entered_template = 532, // "{0} of {1} shares entered successfully." @@ -822,13 +822,13 @@ pub enum TranslatedString { reset__advanced_group_threshold_info = 534, // "The group threshold specifies the number of groups required to recover your wallet." reset__all_x_of_y_template = 535, // "all {0} of {1} shares" reset__any_x_of_y_template = 536, // "any {0} of {1} shares" - reset__button_create = 537, // "CREATE WALLET" - reset__button_recover = 538, // "RECOVER WALLET" + reset__button_create = 537, // "Create wallet" + reset__button_recover = 538, // "Recover wallet" reset__by_continuing = 539, // "By continuing you agree to Trezor Company's terms and conditions." - reset__check_backup_title = 540, // "CHECK BACKUP" - reset__check_group_share_title_template = 541, // "CHECK G{0} - SHARE {1}" - reset__check_seed_title = 542, // "CHECK SEED" - reset__check_share_title_template = 543, // "CHECK SHARE #{0}" + reset__check_backup_title = 540, // "Check backup" + reset__check_group_share_title_template = 541, // "Check g{0} - share {1}" + reset__check_seed_title = 542, // "Check seed" + reset__check_share_title_template = 543, // "Check share #{0}" reset__continue_with_next_share = 544, // "Continue with the next share." reset__continue_with_share_template = 545, // "Continue with share #{0}." reset__finished_verifying_group_template = 546, // "You have finished verifying your recovery shares for group {0}." @@ -837,7 +837,7 @@ pub enum TranslatedString { reset__group_description = 549, // "A group is made up of recovery shares." reset__group_info = 550, // "Each group has a set number of shares and its own threshold. In the next steps you will set the numbers of shares and the thresholds." reset__group_share_checked_successfully_template = 551, // "Group {0} - Share {1} checked successfully." - reset__group_share_title_template = 552, // "GROUP {0} - SHARE {1}" + reset__group_share_title_template = 552, // "Group {0} - share {1}" reset__more_info_at = 553, // "More info at" reset__need_all_share_template = 554, // "For recovery you need all {0} of the shares." reset__need_any_share_template = 555, // "For recovery you need any {0} of the shares." @@ -851,15 +851,15 @@ pub enum TranslatedString { reset__number_of_shares_info = 563, // "= total number of unique word lists used for wallet backup." reset__one_share = 564, // "1 share" reset__only_one_share_will_be_created = 565, // "Only one share will be created." - reset__recovery_seed_title = 566, // "RECOVERY SEED" - reset__recovery_share_title_template = 567, // "RECOVERY SHARE #{0}" + reset__recovery_seed_title = 566, // "Recovery seed" + reset__recovery_share_title_template = 567, // "Recovery share #{0}" reset__required_number_of_groups = 568, // "The required number of groups for recovery." reset__select_correct_word = 569, // "Select the correct word for each position." - reset__select_word_template = 570, // "SELECT {0} WORD" + reset__select_word_title_template = 570, // "Select {0} word" reset__select_word_x_of_y_template = 571, // "Select word {0} of {1}:" reset__set_it_to_count_template = 572, // "Set it to {0} and you will need " reset__share_checked_successfully_template = 573, // "Recovery share #{0} checked successfully." - reset__share_words_title = 574, // "STANDARD BACKUP" + reset__share_words_title = 574, // "Standard backup" reset__slip39_checklist_num_groups = 575, // "Number of groups" reset__slip39_checklist_num_shares = 576, // "Number of shares" reset__slip39_checklist_set_num_groups = 577, // "Set number of groups" @@ -867,21 +867,21 @@ pub enum TranslatedString { reset__slip39_checklist_set_sizes = 579, // "Set sizes and thresholds" reset__slip39_checklist_set_sizes_longer = 580, // "Set size and threshold for each group" reset__slip39_checklist_set_threshold = 581, // "Set threshold" - reset__slip39_checklist_title = 582, // "BACKUP CHECKLIST" + reset__slip39_checklist_title = 582, // "Backup checklist" reset__slip39_checklist_write_down = 583, // "Write down and check all shares" reset__slip39_checklist_write_down_recovery = 584, // "Write down and check all recovery shares" reset__the_threshold_sets_the_number_of_shares = 585, // "The threshold sets the number of shares " reset__threshold_info = 586, // "= minimum number of unique word lists used for recovery." - reset__title_backup_is_done = 587, // "BACKUP IS DONE" - reset__title_create_wallet = 588, // "CREATE WALLET" - reset__title_create_wallet_shamir = 589, // "CREATE WALLET (SHAMIR)" - reset__title_group_threshold = 590, // "GROUP THRESHOLD" - reset__title_number_of_groups = 591, // "NUMBER OF GROUPS" - reset__title_number_of_shares = 592, // "NUMBER OF SHARES" - reset__title_set_group_threshold = 593, // "SET GROUP THRESHOLD" - reset__title_set_number_of_groups = 594, // "SET NUMBER OF GROUPS" - reset__title_set_number_of_shares = 595, // "SET NUMBER OF SHARES" - reset__title_set_threshold = 596, // "SET THRESHOLD" + reset__title_backup_is_done = 587, // "Backup is done" + reset__title_create_wallet = 588, // "Create wallet" + reset__title_create_wallet_shamir = 589, // "Create wallet (shamir)" + reset__title_group_threshold = 590, // "Group threshold" + reset__title_number_of_groups = 591, // "Number of groups" + reset__title_number_of_shares = 592, // "Number of shares" + reset__title_set_group_threshold = 593, // "Set group threshold" + reset__title_set_number_of_groups = 594, // "Set number of groups" + reset__title_set_number_of_shares = 595, // "Set number of shares" + reset__title_set_threshold = 596, // "Set threshold" reset__to_form_group_template = 597, // "to form Group {0}." reset__tos_link = 598, // "trezor.io/tos" reset__total_number_of_shares_in_group_template = 599, // "Set the total number of shares in Group {0}." @@ -898,13 +898,13 @@ pub enum TranslatedString { rotation__east = 608, // "east" rotation__north = 609, // "north" rotation__south = 610, // "south" - rotation__title_change = 611, // "CHANGE ROTATION" + rotation__title_change = 611, // "Change rotation" rotation__west = 612, // "west" safety_checks__approve_unsafe_always = 613, // "Trezor will allow you to approve some actions which might be unsafe." safety_checks__approve_unsafe_temporary = 614, // "Trezor will temporarily allow you to approve some actions which might be unsafe." safety_checks__enforce_strict = 615, // "Do you really want to enforce strict safety checks (recommended)?" - safety_checks__title = 616, // "SAFETY CHECKS" - safety_checks__title_safety_override = 617, // "SAFETY OVERRIDE" + safety_checks__title = 616, // "Safety checks" + safety_checks__title_safety_override = 617, // "Safety override" sd_card__all_data_will_be_lost = 618, // "All data on the SD card will be lost." sd_card__card_required = 619, // "SD card required." sd_card__disable = 620, // "Do you really want to remove SD card protection from your device?" @@ -920,25 +920,25 @@ pub enum TranslatedString { sd_card__refresh = 630, // "Do you really want to replace the current SD card secret with a newly generated one?" sd_card__refreshed = 631, // "You have successfully refreshed SD protection." sd_card__restart = 632, // "Do you want to restart Trezor in bootloader mode?" - sd_card__title = 633, // "SD CARD PROTECTION" - sd_card__title_problem = 634, // "SD CARD PROBLEM" + sd_card__title = 633, // "SD card protection" + sd_card__title_problem = 634, // "SD card problem" sd_card__unknown_filesystem = 635, // "Unknown filesystem." sd_card__unplug_and_insert_correct = 636, // "Please unplug the device and insert the correct SD card." sd_card__use_different_card = 637, // "Use a different card or format the SD card to the FAT32 filesystem." sd_card__wanna_format = 638, // "Do you really want to format the SD card?" sd_card__wrong_sd_card = 639, // "Wrong SD card." send__address_path = 640, // "address path" - send__confirm_sending = 641, // "SENDING AMOUNT" + send__confirm_sending = 641, // "Sending amount" send__from_multiple_accounts = 642, // "Sending from multiple accounts." send__including_fee = 643, // "Including fee:" send__maximum_fee = 644, // "Maximum fee:" send__receiving_to_multisig = 645, // "Receiving to a multisig address." - send__title_confirm_sending = 646, // "CONFIRM SENDING" - send__title_joint_transaction = 647, // "JOINT TRANSACTION" - send__title_receiving_to = 648, // "RECEIVING TO" - send__title_sending = 649, // "SENDING" - send__title_sending_amount = 650, // "SENDING AMOUNT" - send__title_sending_to = 651, // "SENDING TO" + send__title_confirm_sending = 646, // "Confirm sending" + send__title_joint_transaction = 647, // "Joint transaction" + send__title_receiving_to = 648, // "Receiving to" + send__title_sending = 649, // "Sending" + send__title_sending_amount = 650, // "Sending amount" + send__title_sending_to = 651, // "Sending to" send__to_the_total_amount = 652, // "To the total amount:" send__total_amount = 653, // "Total amount:" send__transaction_id = 654, // "Transaction ID:" @@ -946,10 +946,10 @@ pub enum TranslatedString { share_words__words_in_order = 656, // " words in order." share_words__wrote_down_all = 657, // "I wrote down all " sign_message__bytes_template = 658, // "{0} Bytes" - sign_message__confirm_address = 659, // "SIGNING ADDRESS" - sign_message__confirm_message = 660, // "CONFIRM MESSAGE" + sign_message__title_confirm_address = 659, // "Signing address" + sign_message__title_confirm_message = 660, // "Confirm message" sign_message__message_size = 661, // "Message size:" - sign_message__verify_address = 662, // "VERIFY ADDRESS" + sign_message__title_verify_address = 662, // "Verify address" #[cfg(feature = "universal_fw")] solana__account_index = 663, // "Account index" #[cfg(feature = "universal_fw")] @@ -1152,11 +1152,11 @@ pub enum TranslatedString { #[cfg(feature = "universal_fw")] u2f__set_template = 768, // "Set the U2F counter to {0}?" #[cfg(feature = "universal_fw")] - u2f__title_get = 769, // "GET U2F COUNTER" + u2f__title_get = 769, // "Get U2F counter" #[cfg(feature = "universal_fw")] - u2f__title_set = 770, // "SET U2F COUNTER" + u2f__title_set = 770, // "Set U2F counter" wipe__info = 771, // "All data will be erased." - wipe__title = 772, // "WIPE DEVICE" + wipe__title = 772, // "Wipe device" wipe__want_to_wipe = 773, // "Do you really want to wipe the device?\n" wipe_code__change = 774, // "Change wipe code?" wipe_code__changed = 775, // "Wipe code changed." @@ -1169,13 +1169,13 @@ pub enum TranslatedString { wipe_code__mismatch = 782, // "The wipe codes you entered do not match." wipe_code__reenter = 783, // "Re-enter wipe code" wipe_code__reenter_to_confirm = 784, // "Please re-enter wipe code to confirm." - wipe_code__title_check = 785, // "CHECK WIPE CODE" - wipe_code__title_invalid = 786, // "INVALID WIPE CODE" - wipe_code__title_settings = 787, // "WIPE CODE SETTINGS" + wipe_code__title_check = 785, // "Check wipe code" + wipe_code__title_invalid = 786, // "Invalid wipe code" + wipe_code__title_settings = 787, // "Wipe code settings" wipe_code__turn_off = 788, // "Turn off wipe code protection?" wipe_code__turn_on = 789, // "Turn on wipe code protection?" wipe_code__wipe_code_mismatch = 790, // "Wipe code mismatch" - word_count__title = 791, // "NUMBER OF WORDS" + word_count__title = 791, // "Number of words" words__account = 792, // "Account" words__account_colon = 793, // "Account:" words__address = 794, // "Address" @@ -1200,43 +1200,43 @@ pub enum TranslatedString { words__please_check_again = 813, // "Please check again" words__please_try_again = 814, // "Please try again" words__really_wanna = 815, // "Do you really want to" - words__recipient = 816, // "Recipient" + words__title_recipient = 816, // "Recipient" words__sign = 817, // "Sign" words__signer = 818, // "Signer" - words__title_check = 819, // "CHECK" - words__title_group = 820, // "GROUP" - words__title_information = 821, // "INFORMATION" - words__title_remember = 822, // "REMEMBER" - words__title_share = 823, // "SHARE" - words__title_shares = 824, // "SHARES" - words__title_success = 825, // "SUCCESS" - words__title_summary = 826, // "SUMMARY" - words__title_threshold = 827, // "THRESHOLD" + words__title_check = 819, // "Check" + words__title_group = 820, // "Group" + words__title_information = 821, // "Information" + words__title_remember = 822, // "Remember" + words__title_share = 823, // "Share" + words__title_shares = 824, // "Shares" + words__title_success = 825, // "Success" + words__title_summary = 826, // "Summary" + words__title_threshold = 827, // "Threshold" words__unknown = 828, // "Unknown" words__warning = 829, // "Warning" words__writable = 830, // "Writable" words__yes = 831, // "Yes" reboot_to_bootloader__just_a_moment = 832, // "Just a moment..." - inputs__previous = 833, // "PREVIOUS" + inputs__previous = 833, // "Previous" #[cfg(feature = "universal_fw")] - ethereum__staking_claim = 834, // "CLAIM" + ethereum__staking_title_claim = 834, // "Claim" #[cfg(feature = "universal_fw")] - ethereum__staking_claim_address = 835, // "CLAIM ADDRESS" + ethereum__staking_title_claim_address = 835, // "Claim address" #[cfg(feature = "universal_fw")] ethereum__staking_claim_intro = 836, // "Claim ETH from Everstake?" #[cfg(feature = "universal_fw")] - ethereum__staking_stake = 837, // "STAKE" + ethereum__staking_title_stake = 837, // "Stake" #[cfg(feature = "universal_fw")] - ethereum__staking_stake_address = 838, // "STAKE ADDRESS" + ethereum__staking_title_stake_address = 838, // "Stake address" #[cfg(feature = "universal_fw")] ethereum__staking_stake_intro = 839, // "Stake ETH on Everstake?" #[cfg(feature = "universal_fw")] - ethereum__staking_unstake = 840, // "UNSTAKE" + ethereum__staking_title_unstake = 840, // "Unstake" #[cfg(feature = "universal_fw")] ethereum__staking_unstake_intro = 841, // "Unstake ETH from Everstake?" - storage_msg__starting = 842, // "STARTING UP" - storage_msg__verifying_pin = 843, // "VERIFYING PIN" - storage_msg__wrong_pin = 844, // "WRONG PIN" + storage_msg__title_starting = 842, // "Starting up" + storage_msg__title_verifying_pin = 843, // "Verifying pin" + storage_msg__title_wrong_pin = 844, // "Wrong pin" } impl TranslatedString { @@ -1248,25 +1248,25 @@ impl TranslatedString { Self::addr_mismatch__support_url => "trezor.io/support", Self::addr_mismatch__wrong_derivation_path => "Wrong derivation path for selected account.", Self::addr_mismatch__xpub_mismatch => "XPUB mismatch?", - Self::address__public_key => "Public key", - Self::address__title_cosigner => "COSIGNER", - Self::address__title_receive_address => "RECEIVE ADDRESS", - Self::address__title_yours => "YOURS", + Self::address__title_public_key => "Public key", + Self::address__title_cosigner => "Cosigner", + Self::address__title_receive_address => "Receive address", + Self::address__title_yours => "Yours", Self::address_details__derivation_path => "Derivation path:", - Self::address_details__title_receive_address => "RECEIVE ADDRESS", - Self::address_details__title_receiving_to => "RECEIVING TO", + Self::address_details__title_receive_address => "Receive address", + Self::address_details__title_receiving_to => "Receiving to", Self::authenticate__confirm_template => "Allow connected computer to confirm your {0} is genuine?", Self::authenticate__header => "Authenticate device", Self::auto_lock__change_template => "Auto-lock your Trezor after {0} of inactivity?", - Self::auto_lock__title => "AUTO-LOCK DELAY", + Self::auto_lock__title => "Auto-lock delay", Self::backup__can_back_up_anytime => "You can back up your Trezor once, at any time.", Self::backup__it_should_be_backed_up => "You should back up your new wallet right now.", Self::backup__it_should_be_backed_up_now => "It should be backed up now!", Self::backup__new_wallet_created => "New wallet created.\n", Self::backup__new_wallet_successfully_created => "New wallet created successfully.", Self::backup__recover_anytime => "You can use your backup to recover your wallet at any time.", - Self::backup__title_backup_wallet => "BACK UP WALLET", - Self::backup__title_skip => "SKIP BACKUP", + Self::backup__title_backup_wallet => "Back up wallet", + Self::backup__title_skip => "Skip backup", Self::backup__want_to_skip => "Are you sure you want to skip the backup?", #[cfg(feature = "universal_fw")] Self::binance__buy => "Buy", @@ -1304,59 +1304,59 @@ impl TranslatedString { Self::bitcoin__new_fee_rate => "New fee rate:", Self::bitcoin__simple_send_of => "Simple send of", Self::bitcoin__ticket_amount => "Ticket amount:", - Self::bitcoin__title_confirm_details => "CONFIRM DETAILS", - Self::bitcoin__title_finalize_transaction => "FINALIZE TRANSACTION", - Self::bitcoin__title_high_mining_fee => "HIGH MINING FEE", - Self::bitcoin__title_meld_transaction => "MELD TRANSACTIONS", - Self::bitcoin__title_modify_amount => "MODIFY AMOUNT", - Self::bitcoin__title_payjoin => "PAYJOIN", - Self::bitcoin__title_proof_of_ownership => "PROOF OF OWNERSHIP", - Self::bitcoin__title_purchase_ticket => "PURCHASE TICKET", - Self::bitcoin__title_update_transaction => "UPDATE TRANSACTION", + Self::bitcoin__title_confirm_details => "Confirm details", + Self::bitcoin__title_finalize_transaction => "Finalize transaction", + Self::bitcoin__title_high_mining_fee => "High mining fee", + Self::bitcoin__title_meld_transaction => "Meld transactions", + Self::bitcoin__title_modify_amount => "Modify amount", + Self::bitcoin__title_payjoin => "Payjoin", + Self::bitcoin__title_proof_of_ownership => "Proof of ownership", + Self::bitcoin__title_purchase_ticket => "Purchase ticket", + Self::bitcoin__title_update_transaction => "Update transaction", Self::bitcoin__unknown_path => "Unknown path", Self::bitcoin__unknown_transaction => "Unknown transaction", Self::bitcoin__unusually_high_fee => "Unusually high fee.", Self::bitcoin__unverified_external_inputs => "The transaction contains unverified external inputs.", Self::bitcoin__valid_signature => "The signature is valid.", Self::bitcoin__voting_rights => "Voting rights to:", - Self::buttons__abort => "ABORT", - Self::buttons__access => "ACCESS", - Self::buttons__again => "AGAIN", - Self::buttons__allow => "ALLOW", - Self::buttons__back => "BACK", - Self::buttons__back_up => "BACK UP", - Self::buttons__cancel => "CANCEL", - Self::buttons__change => "CHANGE", - Self::buttons__check => "CHECK", - Self::buttons__check_again => "CHECK AGAIN", - Self::buttons__close => "CLOSE", - Self::buttons__confirm => "CONFIRM", - Self::buttons__continue => "CONTINUE", - Self::buttons__details => "DETAILS", - Self::buttons__enable => "ENABLE", - Self::buttons__enter => "ENTER", - Self::buttons__enter_share => "ENTER SHARE", - Self::buttons__export => "EXPORT", - Self::buttons__format => "FORMAT", - Self::buttons__go_back => "GO BACK", - Self::buttons__hold_to_confirm => "HOLD TO CONFIRM", - Self::buttons__info => "INFO", - Self::buttons__install => "INSTALL", - Self::buttons__more_info => "MORE INFO", - Self::buttons__ok_i_understand => "OK, I UNDERSTAND", - Self::buttons__purchase => "PURCHASE", - Self::buttons__quit => "QUIT", - Self::buttons__restart => "RESTART", - Self::buttons__retry => "RETRY", - Self::buttons__select => "SELECT", - Self::buttons__set => "SET", - Self::buttons__show_all => "SHOW ALL", - Self::buttons__show_details => "SHOW DETAILS", - Self::buttons__show_words => "SHOW WORDS", - Self::buttons__skip => "SKIP", - Self::buttons__try_again => "TRY AGAIN", - Self::buttons__turn_off => "TURN OFF", - Self::buttons__turn_on => "TURN ON", + Self::buttons__abort => "Abort", + Self::buttons__access => "Access", + Self::buttons__again => "Again", + Self::buttons__allow => "Allow", + Self::buttons__back => "Back", + Self::buttons__back_up => "Back up", + Self::buttons__cancel => "Cancel", + Self::buttons__change => "Change", + Self::buttons__check => "Check", + Self::buttons__check_again => "Check again", + Self::buttons__close => "Close", + Self::buttons__confirm => "Confirm", + Self::buttons__continue => "Continue", + Self::buttons__details => "Details", + Self::buttons__enable => "Enable", + Self::buttons__enter => "Enter", + Self::buttons__enter_share => "Enter share", + Self::buttons__export => "Export", + Self::buttons__format => "Format", + Self::buttons__go_back => "Go back", + Self::buttons__hold_to_confirm => "Hold to confirm", + Self::buttons__info => "Info", + Self::buttons__install => "Install", + Self::buttons__more_info => "More info", + Self::buttons__ok_i_understand => "Ok, i understand", + Self::buttons__purchase => "Purchase", + Self::buttons__quit => "Quit", + Self::buttons__restart => "Restart", + Self::buttons__retry => "Retry", + Self::buttons__select => "Select", + Self::buttons__set => "Set", + Self::buttons__show_all => "Show all", + Self::buttons__show_details => "Show details", + Self::buttons__show_words => "Show words", + Self::buttons__skip => "Skip", + Self::buttons__try_again => "Try again", + Self::buttons__turn_off => "Turn off", + Self::buttons__turn_on => "Turn on", #[cfg(feature = "universal_fw")] Self::cardano__addr_base => "Base", #[cfg(feature = "universal_fw")] @@ -1579,21 +1579,21 @@ impl TranslatedString { Self::coinjoin__do_not_disconnect => "Do not disconnect your Trezor!", Self::coinjoin__max_mining_fee => "Max mining fee", Self::coinjoin__max_rounds => "Max rounds", - Self::coinjoin__title => "AUTHORIZE COINJOIN", - Self::coinjoin__title_do_not_disconnect => "DO NOT DISCONNECT YOUR TREZOR!", - Self::coinjoin__title_progress => "COINJOIN IN PROGRESS", + Self::coinjoin__title => "Authorize coinjoin", + Self::coinjoin__title_do_not_disconnect => "Do not disconnect your trezor!", + Self::coinjoin__title_progress => "Coinjoin in progress", Self::coinjoin__waiting_for_others => "Waiting for others", Self::confirm_total__fee_rate => "Fee rate:", Self::confirm_total__sending_from_account => "Sending from account:", - Self::confirm_total__title_fee => "FEE INFORMATION", - Self::confirm_total__title_sending_from => "SENDING FROM", + Self::confirm_total__title_fee => "Fee information", + Self::confirm_total__title_sending_from => "Sending from", Self::debug__loading_seed => "Loading seed", Self::debug__loading_seed_not_recommended => "Loading private seed is not recommended.", Self::device_name__change_template => "Change device name to {0}?", - Self::device_name__title => "DEVICE NAME", + Self::device_name__title => "Device name", Self::entropy__send => "Do you really want to send entropy?", - Self::entropy__title => "INTERNAL ENTROPY", - Self::entropy__title_confirm => "CONFIRM ENTROPY", + Self::entropy__title => "Internal entropy", + Self::entropy__title_confirm => "Confirm entropy", #[cfg(feature = "universal_fw")] Self::eos__about_to_sign_template => "You are about to sign {0}.", #[cfg(feature = "universal_fw")] @@ -1705,17 +1705,17 @@ impl TranslatedString { #[cfg(feature = "universal_fw")] Self::ethereum__sign_eip712 => "Really sign EIP-712 typed data?", #[cfg(feature = "universal_fw")] - Self::ethereum__title_confirm_data => "CONFIRM DATA", + Self::ethereum__title_confirm_data => "Confirm data", #[cfg(feature = "universal_fw")] - Self::ethereum__title_confirm_domain => "CONFIRM DOMAIN", + Self::ethereum__title_confirm_domain => "Confirm domain", #[cfg(feature = "universal_fw")] - Self::ethereum__title_confirm_message => "CONFIRM MESSAGE", + Self::ethereum__title_confirm_message => "Confirm message", #[cfg(feature = "universal_fw")] - Self::ethereum__title_confirm_struct => "CONFIRM STRUCT", + Self::ethereum__title_confirm_struct => "Confirm struct", #[cfg(feature = "universal_fw")] - Self::ethereum__title_confirm_typed_data => "CONFIRM TYPED DATA", + Self::ethereum__title_confirm_typed_data => "Confirm typed data", #[cfg(feature = "universal_fw")] - Self::ethereum__title_signing_address => "SIGNING ADDRESS", + Self::ethereum__title_signing_address => "Signing address", #[cfg(feature = "universal_fw")] Self::ethereum__units_template => "{0} units", #[cfg(feature = "universal_fw")] @@ -1724,7 +1724,7 @@ impl TranslatedString { Self::ethereum__valid_signature => "The signature is valid.", Self::experimental_mode__enable => "Enable experimental features?", Self::experimental_mode__only_for_dev => "Only for development and beta testing!", - Self::experimental_mode__title => "EXPERIMENTAL MODE", + Self::experimental_mode__title => "Experimental mode", #[cfg(feature = "universal_fw")] Self::fido__already_registered => "Already registered", #[cfg(feature = "universal_fw")] @@ -1746,70 +1746,70 @@ impl TranslatedString { #[cfg(feature = "universal_fw")] Self::fido__please_enable_pin_protection => "Please enable PIN protection.", #[cfg(feature = "universal_fw")] - Self::fido__title_authenticate => "FIDO2 AUTHENTICATE", + Self::fido__title_authenticate => "Fido2 authenticate", #[cfg(feature = "universal_fw")] - Self::fido__title_import_credential => "IMPORT CREDENTIAL", + Self::fido__title_import_credential => "Import credential", #[cfg(feature = "universal_fw")] - Self::fido__title_list_credentials => "LIST CREDENTIALS", + Self::fido__title_list_credentials => "List credentials", #[cfg(feature = "universal_fw")] - Self::fido__title_register => "FIDO2 REGISTER", + Self::fido__title_register => "Fido2 register", #[cfg(feature = "universal_fw")] - Self::fido__title_remove_credential => "REMOVE CREDENTIAL", + Self::fido__title_remove_credential => "Remove credential", #[cfg(feature = "universal_fw")] - Self::fido__title_reset => "FIDO2 RESET", + Self::fido__title_reset => "FIDO2 reset", #[cfg(feature = "universal_fw")] - Self::fido__title_u2f_auth => "U2F AUTHENTICATE", + Self::fido__title_u2f_auth => "U2F authenticate", #[cfg(feature = "universal_fw")] - Self::fido__title_u2f_register => "U2F REGISTER", + Self::fido__title_u2f_register => "U2F register", #[cfg(feature = "universal_fw")] - Self::fido__title_verify_user => "FIDO2 VERIFY USER", + Self::fido__title_verify_user => "FIDO2 verify user", #[cfg(feature = "universal_fw")] Self::fido__unable_to_verify_user => "Unable to verify user.", #[cfg(feature = "universal_fw")] Self::fido__wanna_erase_credentials => "Do you really want to erase all credentials?", - Self::firmware_update__title => "UPDATE FIRMWARE", - Self::firmware_update__title_fingerprint => "FW FINGERPRINT", + Self::firmware_update__title => "Update firmware", + Self::firmware_update__title_fingerprint => "FW fingerprint", Self::homescreen__click_to_connect => "Click to Connect", Self::homescreen__click_to_unlock => "Click to Unlock", - Self::homescreen__title_backup_failed => "BACKUP FAILED", - Self::homescreen__title_backup_needed => "BACKUP NEEDED", - Self::homescreen__title_coinjoin_authorized => "COINJOIN AUTHORIZED", - Self::homescreen__title_experimental_mode => "EXPERIMENTAL MODE", - Self::homescreen__title_no_usb_connection => "NO USB CONNECTION", - Self::homescreen__title_pin_not_set => "PIN NOT SET", - Self::homescreen__title_seedless => "SEEDLESS", - Self::homescreen__title_set => "CHANGE HOMESCREEN?", - Self::inputs__back => "BACK", - Self::inputs__cancel => "CANCEL", - Self::inputs__delete => "DELETE", - Self::inputs__enter => "ENTER", - Self::inputs__return => "RETURN", - Self::inputs__show => "SHOW", - Self::inputs__space => "SPACE", - Self::joint__title => "JOINT TRANSACTION", + Self::homescreen__title_backup_failed => "Backup failed", + Self::homescreen__title_backup_needed => "Backup needed", + Self::homescreen__title_coinjoin_authorized => "Coinjoin authorized", + Self::homescreen__title_experimental_mode => "Experimental mode", + Self::homescreen__title_no_usb_connection => "No USB connection", + Self::homescreen__title_pin_not_set => "PIN not set", + Self::homescreen__title_seedless => "Seedless", + Self::homescreen__title_set => "Change homescreen?", + Self::inputs__back => "Back", + Self::inputs__cancel => "Cancel", + Self::inputs__delete => "Delete", + Self::inputs__enter => "Enter", + Self::inputs__return => "Return", + Self::inputs__show => "Show", + Self::inputs__space => "Space", + Self::joint__title => "Joint transaction", Self::joint__to_the_total_amount => "To the total amount:", Self::joint__you_are_contributing => "You are contributing:", Self::language__change_to_template => "Change language to {0}?", Self::language__changed => "Language changed successfully", Self::language__progress => "Changing language", - Self::language__title => "LANGUAGE SETTINGS", + Self::language__title => "Language settings", Self::lockscreen__tap_to_connect => "Tap to connect", Self::lockscreen__tap_to_unlock => "Tap to unlock", - Self::lockscreen__title_locked => "LOCKED", - Self::lockscreen__title_not_connected => "NOT CONNECTED", + Self::lockscreen__title_locked => "Locked", + Self::lockscreen__title_not_connected => "Not connected", Self::misc__decrypt_value => "Decrypt value", Self::misc__encrypt_value => "Encrypt value", - Self::misc__title_suite_labeling => "SUITE LABELING", + Self::misc__title_suite_labeling => "Suite labeling", Self::modify_amount__decrease_amount => "Decrease amount by:", Self::modify_amount__increase_amount => "Increase amount by:", Self::modify_amount__new_amount => "New amount:", - Self::modify_amount__title => "MODIFY AMOUNT", + Self::modify_amount__title => "Modify amount", Self::modify_fee__decrease_fee => "Decrease fee by:", Self::modify_fee__fee_rate => "Fee rate:", Self::modify_fee__increase_fee => "Increase fee by:", Self::modify_fee__new_transaction_fee => "New transaction fee:", Self::modify_fee__no_change => "Fee did not change.\n", - Self::modify_fee__title => "MODIFY FEE", + Self::modify_fee__title => "Modify fee", Self::modify_fee__transaction_fee => "Transaction fee:", #[cfg(feature = "universal_fw")] Self::monero__confirm_export => "Confirm export", @@ -1957,11 +1957,11 @@ impl TranslatedString { Self::passphrase__next_screen_will_show_passphrase => "Next screen will show the passphrase.", Self::passphrase__please_enter => "Please enter your passphrase.", Self::passphrase__revoke_on_device => "Do you want to revoke the passphrase on device setting?", - Self::passphrase__title_confirm => "CONFIRM PASSPHRASE", - Self::passphrase__title_enter => "ENTER PASSPHRASE", - Self::passphrase__title_hide => "HIDE PASSPHRASE", - Self::passphrase__title_settings => "PASSPHRASE SETTINGS", - Self::passphrase__title_source => "PASSPHRASE SOURCE", + Self::passphrase__title_confirm => "Confirm passphrase", + Self::passphrase__title_enter => "Enter passphrase", + Self::passphrase__title_hide => "Hide passphrase", + Self::passphrase__title_settings => "Passphrase settings", + Self::passphrase__title_source => "Passphrase source", Self::passphrase__turn_off => "Turn off passphrase protection?", Self::passphrase__turn_on => "Turn on passphrase protection?", Self::pin__change => "Change PIN?", @@ -1982,9 +1982,9 @@ impl TranslatedString { Self::pin__reenter_new => "Re-enter new PIN", Self::pin__reenter_to_confirm => "Please re-enter PIN to confirm.", Self::pin__should_be_long => "PIN should be 4-50 digits long.", - Self::pin__title_check_pin => "CHECK PIN", - Self::pin__title_settings => "PIN SETTINGS", - Self::pin__title_wrong_pin => "WRONG PIN", + Self::pin__title_check_pin => "Check PIN", + Self::pin__title_settings => "PIN settings", + Self::pin__title_wrong_pin => "Wrong PIN", Self::pin__tries_left => "tries left", Self::pin__turn_off => "Are you sure you want to turn off PIN protection?", Self::pin__turn_on => "Turn on PIN protection?", @@ -2003,14 +2003,14 @@ impl TranslatedString { Self::progress__loading_transaction => "Loading transaction...", Self::progress__locking_device => "Locking the device...", Self::progress__one_second_left => "1 second left", - Self::progress__please_wait => "PLEASE WAIT", - Self::storage_msg__processing => "PROCESSING", + Self::progress__title_please_wait => "Please wait", + Self::storage_msg__title_processing => "Processing", Self::progress__refreshing => "Refreshing...", Self::progress__signing_transaction => "Signing transaction...", Self::progress__syncing => "Syncing...", Self::progress__x_seconds_left_template => "{0} seconds left", Self::reboot_to_bootloader__restart => "Trezor will restart in bootloader mode.", - Self::reboot_to_bootloader__title => "GO TO BOOTLOADER", + Self::reboot_to_bootloader__title => "Go to bootloader", Self::reboot_to_bootloader__version_by_template => "Firmware version {0}\nby {1}", Self::recovery__cancel_dry_run => "Cancel backup check", Self::recovery__check_dry_run => "Check your backup?", @@ -2035,18 +2035,18 @@ impl TranslatedString { Self::recovery__share_already_entered => "Share already entered", Self::recovery__share_from_another_shamir => "You have entered a share from another Shamir Backup.", Self::recovery__share_num_template => "Share {0}", - Self::recovery__title => "RECOVER WALLET", - Self::recovery__title_cancel_dry_run => "CANCEL BACKUP CHECK", - Self::recovery__title_cancel_recovery => "CANCEL RECOVERY", - Self::recovery__title_dry_run => "BACKUP CHECK", - Self::recovery__title_recover => "RECOVER WALLET", - Self::recovery__title_remaining_shares => "REMAINING SHARES", + Self::recovery__title => "Recover wallet", + Self::recovery__title_cancel_dry_run => "Cancel backup check", + Self::recovery__title_cancel_recovery => "Cancel recovery", + Self::recovery__title_dry_run => "Backup check", + Self::recovery__title_recover => "Recover wallet", + Self::recovery__title_remaining_shares => "Remaining shares", Self::recovery__type_word_x_of_y_template => "Type word {0} of {1}", Self::recovery__wallet_recovered => "Wallet recovered successfully", Self::recovery__wanna_cancel_dry_run => "Are you sure you want to cancel the backup check?", Self::recovery__wanna_cancel_recovery => "Are you sure you want to cancel the recovery process?", Self::recovery__word_count_template => "({0} words)", - Self::recovery__word_x_of_y_template => "WORD {0} OF {1}", + Self::recovery__word_x_of_y_title_template => "Word {0} of {1}", Self::recovery__x_more_items_starting_template_plural => "{count} more {plural} starting", Self::recovery__x_more_shares_needed_template_plural => "{count} more {plural} needed.", Self::recovery__x_of_y_entered_template => "{0} of {1} shares entered successfully.", @@ -2054,13 +2054,13 @@ impl TranslatedString { Self::reset__advanced_group_threshold_info => "The group threshold specifies the number of groups required to recover your wallet.", Self::reset__all_x_of_y_template => "all {0} of {1} shares", Self::reset__any_x_of_y_template => "any {0} of {1} shares", - Self::reset__button_create => "CREATE WALLET", - Self::reset__button_recover => "RECOVER WALLET", + Self::reset__button_create => "Create wallet", + Self::reset__button_recover => "Recover wallet", Self::reset__by_continuing => "By continuing you agree to Trezor Company's terms and conditions.", - Self::reset__check_backup_title => "CHECK BACKUP", - Self::reset__check_group_share_title_template => "CHECK G{0} - SHARE {1}", - Self::reset__check_seed_title => "CHECK SEED", - Self::reset__check_share_title_template => "CHECK SHARE #{0}", + Self::reset__check_backup_title => "Check backup", + Self::reset__check_group_share_title_template => "Check g{0} - share {1}", + Self::reset__check_seed_title => "Check seed", + Self::reset__check_share_title_template => "Check share #{0}", Self::reset__continue_with_next_share => "Continue with the next share.", Self::reset__continue_with_share_template => "Continue with share #{0}.", Self::reset__finished_verifying_group_template => "You have finished verifying your recovery shares for group {0}.", @@ -2069,7 +2069,7 @@ impl TranslatedString { Self::reset__group_description => "A group is made up of recovery shares.", Self::reset__group_info => "Each group has a set number of shares and its own threshold. In the next steps you will set the numbers of shares and the thresholds.", Self::reset__group_share_checked_successfully_template => "Group {0} - Share {1} checked successfully.", - Self::reset__group_share_title_template => "GROUP {0} - SHARE {1}", + Self::reset__group_share_title_template => "Group {0} - share {1}", Self::reset__more_info_at => "More info at", Self::reset__need_all_share_template => "For recovery you need all {0} of the shares.", Self::reset__need_any_share_template => "For recovery you need any {0} of the shares.", @@ -2083,15 +2083,15 @@ impl TranslatedString { Self::reset__number_of_shares_info => "= total number of unique word lists used for wallet backup.", Self::reset__one_share => "1 share", Self::reset__only_one_share_will_be_created => "Only one share will be created.", - Self::reset__recovery_seed_title => "RECOVERY SEED", - Self::reset__recovery_share_title_template => "RECOVERY SHARE #{0}", + Self::reset__recovery_seed_title => "Recovery seed", + Self::reset__recovery_share_title_template => "Recovery share #{0}", Self::reset__required_number_of_groups => "The required number of groups for recovery.", Self::reset__select_correct_word => "Select the correct word for each position.", - Self::reset__select_word_template => "SELECT {0} WORD", + Self::reset__select_word_title_template => "Select {0} word", Self::reset__select_word_x_of_y_template => "Select word {0} of {1}:", Self::reset__set_it_to_count_template => "Set it to {0} and you will need ", Self::reset__share_checked_successfully_template => "Recovery share #{0} checked successfully.", - Self::reset__share_words_title => "STANDARD BACKUP", + Self::reset__share_words_title => "Standard backup", Self::reset__slip39_checklist_num_groups => "Number of groups", Self::reset__slip39_checklist_num_shares => "Number of shares", Self::reset__slip39_checklist_set_num_groups => "Set number of groups", @@ -2099,21 +2099,21 @@ impl TranslatedString { Self::reset__slip39_checklist_set_sizes => "Set sizes and thresholds", Self::reset__slip39_checklist_set_sizes_longer => "Set size and threshold for each group", Self::reset__slip39_checklist_set_threshold => "Set threshold", - Self::reset__slip39_checklist_title => "BACKUP CHECKLIST", + Self::reset__slip39_checklist_title => "Backup checklist", Self::reset__slip39_checklist_write_down => "Write down and check all shares", Self::reset__slip39_checklist_write_down_recovery => "Write down and check all recovery shares", Self::reset__the_threshold_sets_the_number_of_shares => "The threshold sets the number of shares ", Self::reset__threshold_info => "= minimum number of unique word lists used for recovery.", - Self::reset__title_backup_is_done => "BACKUP IS DONE", - Self::reset__title_create_wallet => "CREATE WALLET", - Self::reset__title_create_wallet_shamir => "CREATE WALLET (SHAMIR)", - Self::reset__title_group_threshold => "GROUP THRESHOLD", - Self::reset__title_number_of_groups => "NUMBER OF GROUPS", - Self::reset__title_number_of_shares => "NUMBER OF SHARES", - Self::reset__title_set_group_threshold => "SET GROUP THRESHOLD", - Self::reset__title_set_number_of_groups => "SET NUMBER OF GROUPS", - Self::reset__title_set_number_of_shares => "SET NUMBER OF SHARES", - Self::reset__title_set_threshold => "SET THRESHOLD", + Self::reset__title_backup_is_done => "Backup is done", + Self::reset__title_create_wallet => "Create wallet", + Self::reset__title_create_wallet_shamir => "Create wallet (shamir)", + Self::reset__title_group_threshold => "Group threshold", + Self::reset__title_number_of_groups => "Number of groups", + Self::reset__title_number_of_shares => "Number of shares", + Self::reset__title_set_group_threshold => "Set group threshold", + Self::reset__title_set_number_of_groups => "Set number of groups", + Self::reset__title_set_number_of_shares => "Set number of shares", + Self::reset__title_set_threshold => "Set threshold", Self::reset__to_form_group_template => "to form Group {0}.", Self::reset__tos_link => "trezor.io/tos", Self::reset__total_number_of_shares_in_group_template => "Set the total number of shares in Group {0}.", @@ -2130,13 +2130,13 @@ impl TranslatedString { Self::rotation__east => "east", Self::rotation__north => "north", Self::rotation__south => "south", - Self::rotation__title_change => "CHANGE ROTATION", + Self::rotation__title_change => "Change rotation", Self::rotation__west => "west", Self::safety_checks__approve_unsafe_always => "Trezor will allow you to approve some actions which might be unsafe.", Self::safety_checks__approve_unsafe_temporary => "Trezor will temporarily allow you to approve some actions which might be unsafe.", Self::safety_checks__enforce_strict => "Do you really want to enforce strict safety checks (recommended)?", - Self::safety_checks__title => "SAFETY CHECKS", - Self::safety_checks__title_safety_override => "SAFETY OVERRIDE", + Self::safety_checks__title => "Safety checks", + Self::safety_checks__title_safety_override => "Safety override", Self::sd_card__all_data_will_be_lost => "All data on the SD card will be lost.", Self::sd_card__card_required => "SD card required.", Self::sd_card__disable => "Do you really want to remove SD card protection from your device?", @@ -2152,25 +2152,25 @@ impl TranslatedString { Self::sd_card__refresh => "Do you really want to replace the current SD card secret with a newly generated one?", Self::sd_card__refreshed => "You have successfully refreshed SD protection.", Self::sd_card__restart => "Do you want to restart Trezor in bootloader mode?", - Self::sd_card__title => "SD CARD PROTECTION", - Self::sd_card__title_problem => "SD CARD PROBLEM", + Self::sd_card__title => "SD card protection", + Self::sd_card__title_problem => "SD card problem", Self::sd_card__unknown_filesystem => "Unknown filesystem.", Self::sd_card__unplug_and_insert_correct => "Please unplug the device and insert the correct SD card.", Self::sd_card__use_different_card => "Use a different card or format the SD card to the FAT32 filesystem.", Self::sd_card__wanna_format => "Do you really want to format the SD card?", Self::sd_card__wrong_sd_card => "Wrong SD card.", Self::send__address_path => "address path", - Self::send__confirm_sending => "SENDING AMOUNT", + Self::send__confirm_sending => "Sending amount", Self::send__from_multiple_accounts => "Sending from multiple accounts.", Self::send__including_fee => "Including fee:", Self::send__maximum_fee => "Maximum fee:", Self::send__receiving_to_multisig => "Receiving to a multisig address.", - Self::send__title_confirm_sending => "CONFIRM SENDING", - Self::send__title_joint_transaction => "JOINT TRANSACTION", - Self::send__title_receiving_to => "RECEIVING TO", - Self::send__title_sending => "SENDING", - Self::send__title_sending_amount => "SENDING AMOUNT", - Self::send__title_sending_to => "SENDING TO", + Self::send__title_confirm_sending => "Confirm sending", + Self::send__title_joint_transaction => "Joint transaction", + Self::send__title_receiving_to => "Receiving to", + Self::send__title_sending => "Sending", + Self::send__title_sending_amount => "Sending amount", + Self::send__title_sending_to => "Sending to", Self::send__to_the_total_amount => "To the total amount:", Self::send__total_amount => "Total amount:", Self::send__transaction_id => "Transaction ID:", @@ -2178,10 +2178,10 @@ impl TranslatedString { Self::share_words__words_in_order => " words in order.", Self::share_words__wrote_down_all => "I wrote down all ", Self::sign_message__bytes_template => "{0} Bytes", - Self::sign_message__confirm_address => "SIGNING ADDRESS", - Self::sign_message__confirm_message => "CONFIRM MESSAGE", + Self::sign_message__title_confirm_address => "Signing address", + Self::sign_message__title_confirm_message => "Confirm message", Self::sign_message__message_size => "Message size:", - Self::sign_message__verify_address => "VERIFY ADDRESS", + Self::sign_message__title_verify_address => "Verify address", #[cfg(feature = "universal_fw")] Self::solana__account_index => "Account index", #[cfg(feature = "universal_fw")] @@ -2384,11 +2384,11 @@ impl TranslatedString { #[cfg(feature = "universal_fw")] Self::u2f__set_template => "Set the U2F counter to {0}?", #[cfg(feature = "universal_fw")] - Self::u2f__title_get => "GET U2F COUNTER", + Self::u2f__title_get => "Get U2F counter", #[cfg(feature = "universal_fw")] - Self::u2f__title_set => "SET U2F COUNTER", + Self::u2f__title_set => "Set U2F counter", Self::wipe__info => "All data will be erased.", - Self::wipe__title => "WIPE DEVICE", + Self::wipe__title => "Wipe device", Self::wipe__want_to_wipe => "Do you really want to wipe the device?\n", Self::wipe_code__change => "Change wipe code?", Self::wipe_code__changed => "Wipe code changed.", @@ -2401,13 +2401,13 @@ impl TranslatedString { Self::wipe_code__mismatch => "The wipe codes you entered do not match.", Self::wipe_code__reenter => "Re-enter wipe code", Self::wipe_code__reenter_to_confirm => "Please re-enter wipe code to confirm.", - Self::wipe_code__title_check => "CHECK WIPE CODE", - Self::wipe_code__title_invalid => "INVALID WIPE CODE", - Self::wipe_code__title_settings => "WIPE CODE SETTINGS", + Self::wipe_code__title_check => "Check wipe code", + Self::wipe_code__title_invalid => "Invalid wipe code", + Self::wipe_code__title_settings => "Wipe code settings", Self::wipe_code__turn_off => "Turn off wipe code protection?", Self::wipe_code__turn_on => "Turn on wipe code protection?", Self::wipe_code__wipe_code_mismatch => "Wipe code mismatch", - Self::word_count__title => "NUMBER OF WORDS", + Self::word_count__title => "Number of words", Self::words__account => "Account", Self::words__account_colon => "Account:", Self::words__address => "Address", @@ -2432,43 +2432,43 @@ impl TranslatedString { Self::words__please_check_again => "Please check again", Self::words__please_try_again => "Please try again", Self::words__really_wanna => "Do you really want to", - Self::words__recipient => "Recipient", + Self::words__title_recipient => "Recipient", Self::words__sign => "Sign", Self::words__signer => "Signer", - Self::words__title_check => "CHECK", - Self::words__title_group => "GROUP", - Self::words__title_information => "INFORMATION", - Self::words__title_remember => "REMEMBER", - Self::words__title_share => "SHARE", - Self::words__title_shares => "SHARES", - Self::words__title_success => "SUCCESS", - Self::words__title_summary => "SUMMARY", - Self::words__title_threshold => "THRESHOLD", + Self::words__title_check => "Check", + Self::words__title_group => "Group", + Self::words__title_information => "Information", + Self::words__title_remember => "Remember", + Self::words__title_share => "Share", + Self::words__title_shares => "Shares", + Self::words__title_success => "Success", + Self::words__title_summary => "Summary", + Self::words__title_threshold => "Threshold", Self::words__unknown => "Unknown", Self::words__warning => "Warning", Self::words__writable => "Writable", Self::words__yes => "Yes", Self::reboot_to_bootloader__just_a_moment => "Just a moment...", - Self::inputs__previous => "PREVIOUS", + Self::inputs__previous => "Previous", #[cfg(feature = "universal_fw")] - Self::ethereum__staking_claim => "CLAIM", + Self::ethereum__staking_title_claim => "Claim", #[cfg(feature = "universal_fw")] - Self::ethereum__staking_claim_address => "CLAIM ADDRESS", + Self::ethereum__staking_title_claim_address => "Claim address", #[cfg(feature = "universal_fw")] Self::ethereum__staking_claim_intro => "Claim ETH from Everstake?", #[cfg(feature = "universal_fw")] - Self::ethereum__staking_stake => "STAKE", + Self::ethereum__staking_title_stake => "Stake", #[cfg(feature = "universal_fw")] - Self::ethereum__staking_stake_address => "STAKE ADDRESS", + Self::ethereum__staking_title_stake_address => "Stake address", #[cfg(feature = "universal_fw")] Self::ethereum__staking_stake_intro => "Stake ETH on Everstake?", #[cfg(feature = "universal_fw")] - Self::ethereum__staking_unstake => "UNSTAKE", + Self::ethereum__staking_title_unstake => "Unstake", #[cfg(feature = "universal_fw")] Self::ethereum__staking_unstake_intro => "Unstake ETH from Everstake?", - Self::storage_msg__starting => "STARTING UP", - Self::storage_msg__verifying_pin => "VERIFYING PIN", - Self::storage_msg__wrong_pin => "WRONG PIN", + Self::storage_msg__title_starting => "Starting up", + Self::storage_msg__title_verifying_pin => "Verifying pin", + Self::storage_msg__title_wrong_pin => "Wrong pin", } } @@ -2481,7 +2481,7 @@ impl TranslatedString { Qstr::MP_QSTR_addr_mismatch__support_url => Some(Self::addr_mismatch__support_url), Qstr::MP_QSTR_addr_mismatch__wrong_derivation_path => Some(Self::addr_mismatch__wrong_derivation_path), Qstr::MP_QSTR_addr_mismatch__xpub_mismatch => Some(Self::addr_mismatch__xpub_mismatch), - Qstr::MP_QSTR_address__public_key => Some(Self::address__public_key), + Qstr::MP_QSTR_address__title_public_key => Some(Self::address__title_public_key), Qstr::MP_QSTR_address__title_cosigner => Some(Self::address__title_cosigner), Qstr::MP_QSTR_address__title_receive_address => Some(Self::address__title_receive_address), Qstr::MP_QSTR_address__title_yours => Some(Self::address__title_yours), @@ -3236,8 +3236,8 @@ impl TranslatedString { Qstr::MP_QSTR_progress__loading_transaction => Some(Self::progress__loading_transaction), Qstr::MP_QSTR_progress__locking_device => Some(Self::progress__locking_device), Qstr::MP_QSTR_progress__one_second_left => Some(Self::progress__one_second_left), - Qstr::MP_QSTR_progress__please_wait => Some(Self::progress__please_wait), - Qstr::MP_QSTR_storage_msg__processing => Some(Self::storage_msg__processing), + Qstr::MP_QSTR_progress__title_please_wait => Some(Self::progress__title_please_wait), + Qstr::MP_QSTR_storage_msg__title_processing => Some(Self::storage_msg__title_processing), Qstr::MP_QSTR_progress__refreshing => Some(Self::progress__refreshing), Qstr::MP_QSTR_progress__signing_transaction => Some(Self::progress__signing_transaction), Qstr::MP_QSTR_progress__syncing => Some(Self::progress__syncing), @@ -3279,7 +3279,7 @@ impl TranslatedString { Qstr::MP_QSTR_recovery__wanna_cancel_dry_run => Some(Self::recovery__wanna_cancel_dry_run), Qstr::MP_QSTR_recovery__wanna_cancel_recovery => Some(Self::recovery__wanna_cancel_recovery), Qstr::MP_QSTR_recovery__word_count_template => Some(Self::recovery__word_count_template), - Qstr::MP_QSTR_recovery__word_x_of_y_template => Some(Self::recovery__word_x_of_y_template), + Qstr::MP_QSTR_recovery__word_x_of_y_title_template => Some(Self::recovery__word_x_of_y_title_template), Qstr::MP_QSTR_recovery__x_more_items_starting_template_plural => Some(Self::recovery__x_more_items_starting_template_plural), Qstr::MP_QSTR_recovery__x_more_shares_needed_template_plural => Some(Self::recovery__x_more_shares_needed_template_plural), Qstr::MP_QSTR_recovery__x_of_y_entered_template => Some(Self::recovery__x_of_y_entered_template), @@ -3320,7 +3320,7 @@ impl TranslatedString { Qstr::MP_QSTR_reset__recovery_share_title_template => Some(Self::reset__recovery_share_title_template), Qstr::MP_QSTR_reset__required_number_of_groups => Some(Self::reset__required_number_of_groups), Qstr::MP_QSTR_reset__select_correct_word => Some(Self::reset__select_correct_word), - Qstr::MP_QSTR_reset__select_word_template => Some(Self::reset__select_word_template), + Qstr::MP_QSTR_reset__select_word_title_template => Some(Self::reset__select_word_title_template), Qstr::MP_QSTR_reset__select_word_x_of_y_template => Some(Self::reset__select_word_x_of_y_template), Qstr::MP_QSTR_reset__set_it_to_count_template => Some(Self::reset__set_it_to_count_template), Qstr::MP_QSTR_reset__share_checked_successfully_template => Some(Self::reset__share_checked_successfully_template), @@ -3411,10 +3411,10 @@ impl TranslatedString { Qstr::MP_QSTR_share_words__words_in_order => Some(Self::share_words__words_in_order), Qstr::MP_QSTR_share_words__wrote_down_all => Some(Self::share_words__wrote_down_all), Qstr::MP_QSTR_sign_message__bytes_template => Some(Self::sign_message__bytes_template), - Qstr::MP_QSTR_sign_message__confirm_address => Some(Self::sign_message__confirm_address), - Qstr::MP_QSTR_sign_message__confirm_message => Some(Self::sign_message__confirm_message), + Qstr::MP_QSTR_sign_message__title_confirm_address => Some(Self::sign_message__title_confirm_address), + Qstr::MP_QSTR_sign_message__title_confirm_message => Some(Self::sign_message__title_confirm_message), Qstr::MP_QSTR_sign_message__message_size => Some(Self::sign_message__message_size), - Qstr::MP_QSTR_sign_message__verify_address => Some(Self::sign_message__verify_address), + Qstr::MP_QSTR_sign_message__title_verify_address => Some(Self::sign_message__title_verify_address), #[cfg(feature = "universal_fw")] Qstr::MP_QSTR_solana__account_index => Some(Self::solana__account_index), #[cfg(feature = "universal_fw")] @@ -3665,7 +3665,7 @@ impl TranslatedString { Qstr::MP_QSTR_words__please_check_again => Some(Self::words__please_check_again), Qstr::MP_QSTR_words__please_try_again => Some(Self::words__please_try_again), Qstr::MP_QSTR_words__really_wanna => Some(Self::words__really_wanna), - Qstr::MP_QSTR_words__recipient => Some(Self::words__recipient), + Qstr::MP_QSTR_words__title_recipient => Some(Self::words__title_recipient), Qstr::MP_QSTR_words__sign => Some(Self::words__sign), Qstr::MP_QSTR_words__signer => Some(Self::words__signer), Qstr::MP_QSTR_words__title_check => Some(Self::words__title_check), @@ -3684,24 +3684,24 @@ impl TranslatedString { Qstr::MP_QSTR_reboot_to_bootloader__just_a_moment => Some(Self::reboot_to_bootloader__just_a_moment), Qstr::MP_QSTR_inputs__previous => Some(Self::inputs__previous), #[cfg(feature = "universal_fw")] - Qstr::MP_QSTR_ethereum__staking_claim => Some(Self::ethereum__staking_claim), + Qstr::MP_QSTR_ethereum__staking_title_claim => Some(Self::ethereum__staking_title_claim), #[cfg(feature = "universal_fw")] - Qstr::MP_QSTR_ethereum__staking_claim_address => Some(Self::ethereum__staking_claim_address), + Qstr::MP_QSTR_ethereum__staking_title_claim_address => Some(Self::ethereum__staking_title_claim_address), #[cfg(feature = "universal_fw")] Qstr::MP_QSTR_ethereum__staking_claim_intro => Some(Self::ethereum__staking_claim_intro), #[cfg(feature = "universal_fw")] - Qstr::MP_QSTR_ethereum__staking_stake => Some(Self::ethereum__staking_stake), + Qstr::MP_QSTR_ethereum__staking_title_stake => Some(Self::ethereum__staking_title_stake), #[cfg(feature = "universal_fw")] - Qstr::MP_QSTR_ethereum__staking_stake_address => Some(Self::ethereum__staking_stake_address), + Qstr::MP_QSTR_ethereum__staking_title_stake_address => Some(Self::ethereum__staking_title_stake_address), #[cfg(feature = "universal_fw")] Qstr::MP_QSTR_ethereum__staking_stake_intro => Some(Self::ethereum__staking_stake_intro), #[cfg(feature = "universal_fw")] - Qstr::MP_QSTR_ethereum__staking_unstake => Some(Self::ethereum__staking_unstake), + Qstr::MP_QSTR_ethereum__staking_title_unstake => Some(Self::ethereum__staking_title_unstake), #[cfg(feature = "universal_fw")] Qstr::MP_QSTR_ethereum__staking_unstake_intro => Some(Self::ethereum__staking_unstake_intro), - Qstr::MP_QSTR_storage_msg__starting => Some(Self::storage_msg__starting), - Qstr::MP_QSTR_storage_msg__verifying_pin => Some(Self::storage_msg__verifying_pin), - Qstr::MP_QSTR_storage_msg__wrong_pin => Some(Self::storage_msg__wrong_pin), + Qstr::MP_QSTR_storage_msg__title_starting => Some(Self::storage_msg__title_starting), + Qstr::MP_QSTR_storage_msg__title_verifying_pin => Some(Self::storage_msg__title_verifying_pin), + Qstr::MP_QSTR_storage_msg__title_wrong_pin => Some(Self::storage_msg__title_wrong_pin), _ => None, } } diff --git a/core/embed/rust/src/translations/generated/translated_string_upper.rs b/core/embed/rust/src/translations/generated/translated_string_upper.rs new file mode 100644 index 000000000..55b3eb960 --- /dev/null +++ b/core/embed/rust/src/translations/generated/translated_string_upper.rs @@ -0,0 +1,3708 @@ +//! generated from translated_string_upper.rs.mako +//! (by running `make templates` in `core`) +//! do not edit manually! + +#![cfg_attr(rustfmt, rustfmt_skip)] +#[cfg(feature = "micropython")] +use crate::micropython::qstr::Qstr; + +#[derive(Debug, Copy, Clone, FromPrimitive, PartialEq, Eq)] +#[repr(u16)] +#[allow(non_camel_case_types)] +pub enum TranslatedString { + addr_mismatch__contact_support_at = 0, // "Please contact Trezor support at" + addr_mismatch__key_mismatch = 1, // "Key mismatch?" + addr_mismatch__mismatch = 2, // "Address mismatch?" + addr_mismatch__support_url = 3, // "trezor.io/support" + addr_mismatch__wrong_derivation_path = 4, // "Wrong derivation path for selected account." + addr_mismatch__xpub_mismatch = 5, // "XPUB mismatch?" + address__title_public_key = 6, // "Public key" + address__title_cosigner = 7, // "Cosigner" + address__title_receive_address = 8, // "Receive address" + address__title_yours = 9, // "Yours" + address_details__derivation_path = 10, // "Derivation path:" + address_details__title_receive_address = 11, // "Receive address" + address_details__title_receiving_to = 12, // "Receiving to" + authenticate__confirm_template = 13, // "Allow connected computer to confirm your {0} is genuine?" + authenticate__header = 14, // "Authenticate device" + auto_lock__change_template = 15, // "Auto-lock your Trezor after {0} of inactivity?" + auto_lock__title = 16, // "Auto-lock delay" + backup__can_back_up_anytime = 17, // "You can back up your Trezor once, at any time." + backup__it_should_be_backed_up = 18, // "You should back up your new wallet right now." + backup__it_should_be_backed_up_now = 19, // "It should be backed up now!" + backup__new_wallet_created = 20, // "New wallet created.\n" + backup__new_wallet_successfully_created = 21, // "New wallet created successfully." + backup__recover_anytime = 22, // "You can use your backup to recover your wallet at any time." + backup__title_backup_wallet = 23, // "Back up wallet" + backup__title_skip = 24, // "Skip backup" + backup__want_to_skip = 25, // "Are you sure you want to skip the backup?" + #[cfg(feature = "universal_fw")] + binance__buy = 26, // "Buy" + #[cfg(feature = "universal_fw")] + binance__confirm_cancel = 27, // "Confirm cancel" + #[cfg(feature = "universal_fw")] + binance__confirm_input = 28, // "Confirm input" + #[cfg(feature = "universal_fw")] + binance__confirm_order = 29, // "Confirm order" + #[cfg(feature = "universal_fw")] + binance__confirm_output = 30, // "Confirm output" + #[cfg(feature = "universal_fw")] + binance__order_id = 31, // "Order ID:" + #[cfg(feature = "universal_fw")] + binance__pair = 32, // "Pair:" + #[cfg(feature = "universal_fw")] + binance__price = 33, // "Price:" + #[cfg(feature = "universal_fw")] + binance__quantity = 34, // "Quantity:" + #[cfg(feature = "universal_fw")] + binance__sell = 35, // "Sell" + #[cfg(feature = "universal_fw")] + binance__sender_address = 36, // "Sender address:" + #[cfg(feature = "universal_fw")] + binance__side = 37, // "Side:" + bitcoin__commitment_data = 38, // "Commitment data:" + bitcoin__confirm_locktime = 39, // "Confirm locktime" + bitcoin__create_proof_of_ownership = 40, // "Do you want to create a proof of ownership?" + bitcoin__high_mining_fee_template = 41, // "The mining fee of\n{0}\nis unexpectedly high." + bitcoin__locktime_no_effect = 42, // "Locktime is set but will have no effect." + bitcoin__locktime_set_to = 43, // "Locktime set to:" + bitcoin__locktime_set_to_blockheight = 44, // "Locktime set to blockheight:" + bitcoin__lot_of_change_outputs = 45, // "A lot of change-outputs." + bitcoin__multiple_accounts = 46, // "Multiple accounts" + bitcoin__new_fee_rate = 47, // "New fee rate:" + bitcoin__simple_send_of = 48, // "Simple send of" + bitcoin__ticket_amount = 49, // "Ticket amount:" + bitcoin__title_confirm_details = 50, // "Confirm details" + bitcoin__title_finalize_transaction = 51, // "Finalize transaction" + bitcoin__title_high_mining_fee = 52, // "High mining fee" + bitcoin__title_meld_transaction = 53, // "Meld transactions" + bitcoin__title_modify_amount = 54, // "Modify amount" + bitcoin__title_payjoin = 55, // "Payjoin" + bitcoin__title_proof_of_ownership = 56, // "Proof of ownership" + bitcoin__title_purchase_ticket = 57, // "Purchase ticket" + bitcoin__title_update_transaction = 58, // "Update transaction" + bitcoin__unknown_path = 59, // "Unknown path" + bitcoin__unknown_transaction = 60, // "Unknown transaction" + bitcoin__unusually_high_fee = 61, // "Unusually high fee." + bitcoin__unverified_external_inputs = 62, // "The transaction contains unverified external inputs." + bitcoin__valid_signature = 63, // "The signature is valid." + bitcoin__voting_rights = 64, // "Voting rights to:" + buttons__abort = 65, // "Abort" + buttons__access = 66, // "Access" + buttons__again = 67, // "Again" + buttons__allow = 68, // "Allow" + buttons__back = 69, // "Back" + buttons__back_up = 70, // "Back up" + buttons__cancel = 71, // "Cancel" + buttons__change = 72, // "Change" + buttons__check = 73, // "Check" + buttons__check_again = 74, // "Check again" + buttons__close = 75, // "Close" + buttons__confirm = 76, // "Confirm" + buttons__continue = 77, // "Continue" + buttons__details = 78, // "Details" + buttons__enable = 79, // "Enable" + buttons__enter = 80, // "Enter" + buttons__enter_share = 81, // "Enter share" + buttons__export = 82, // "Export" + buttons__format = 83, // "Format" + buttons__go_back = 84, // "Go back" + buttons__hold_to_confirm = 85, // "Hold to confirm" + buttons__info = 86, // "Info" + buttons__install = 87, // "Install" + buttons__more_info = 88, // "More info" + buttons__ok_i_understand = 89, // "Ok, i understand" + buttons__purchase = 90, // "Purchase" + buttons__quit = 91, // "Quit" + buttons__restart = 92, // "Restart" + buttons__retry = 93, // "Retry" + buttons__select = 94, // "Select" + buttons__set = 95, // "Set" + buttons__show_all = 96, // "Show all" + buttons__show_details = 97, // "Show details" + buttons__show_words = 98, // "Show words" + buttons__skip = 99, // "Skip" + buttons__try_again = 100, // "Try again" + buttons__turn_off = 101, // "Turn off" + buttons__turn_on = 102, // "Turn on" + #[cfg(feature = "universal_fw")] + cardano__addr_base = 103, // "Base" + #[cfg(feature = "universal_fw")] + cardano__addr_enterprise = 104, // "Enterprise" + #[cfg(feature = "universal_fw")] + cardano__addr_legacy = 105, // "Legacy" + #[cfg(feature = "universal_fw")] + cardano__addr_pointer = 106, // "Pointer" + #[cfg(feature = "universal_fw")] + cardano__addr_reward = 107, // "Reward" + #[cfg(feature = "universal_fw")] + cardano__address_no_staking = 108, // "address - no staking rewards." + #[cfg(feature = "universal_fw")] + cardano__amount_burned_decimals_unknown = 109, // "Amount burned (decimals unknown):" + #[cfg(feature = "universal_fw")] + cardano__amount_minted_decimals_unknown = 110, // "Amount minted (decimals unknown):" + #[cfg(feature = "universal_fw")] + cardano__amount_sent_decimals_unknown = 111, // "Amount sent (decimals unknown):" + #[cfg(feature = "universal_fw")] + cardano__anonymous_pool = 112, // "Pool has no metadata (anonymous pool)" + #[cfg(feature = "universal_fw")] + cardano__asset_fingerprint = 113, // "Asset fingerprint:" + #[cfg(feature = "universal_fw")] + cardano__auxiliary_data_hash = 114, // "Auxiliary data hash:" + #[cfg(feature = "universal_fw")] + cardano__block = 115, // "Block" + #[cfg(feature = "universal_fw")] + cardano__catalyst = 116, // "Catalyst" + #[cfg(feature = "universal_fw")] + cardano__certificate = 117, // "Certificate" + #[cfg(feature = "universal_fw")] + cardano__change_output = 118, // "Change output" + #[cfg(feature = "universal_fw")] + cardano__check_all_items = 119, // "Check all items carefully." + #[cfg(feature = "universal_fw")] + cardano__choose_level_of_details = 120, // "Choose level of details:" + #[cfg(feature = "universal_fw")] + cardano__collateral_input_id = 121, // "Collateral input ID:" + #[cfg(feature = "universal_fw")] + cardano__collateral_input_index = 122, // "Collateral input index:" + #[cfg(feature = "universal_fw")] + cardano__collateral_output_contains_tokens = 123, // "The collateral return output contains tokens." + #[cfg(feature = "universal_fw")] + cardano__collateral_return = 124, // "Collateral return" + #[cfg(feature = "universal_fw")] + cardano__confirm = 125, // "Confirm:" + #[cfg(feature = "universal_fw")] + cardano__confirm_signing_stake_pool = 126, // "Confirm signing the stake pool registration as an owner." + #[cfg(feature = "universal_fw")] + cardano__confirm_transaction = 127, // "Confirm transaction" + #[cfg(feature = "universal_fw")] + cardano__confirming_a_multisig_transaction = 128, // "Confirming a multisig transaction." + #[cfg(feature = "universal_fw")] + cardano__confirming_a_plutus_transaction = 129, // "Confirming a Plutus transaction." + #[cfg(feature = "universal_fw")] + cardano__confirming_pool_registration = 130, // "Confirming pool registration as owner." + #[cfg(feature = "universal_fw")] + cardano__confirming_transction = 131, // "Confirming a transaction." + #[cfg(feature = "universal_fw")] + cardano__cost = 132, // "Cost" + #[cfg(feature = "universal_fw")] + cardano__credential_mismatch = 133, // "Credential doesn't match payment credential." + #[cfg(feature = "universal_fw")] + cardano__datum_hash = 134, // "Datum hash:" + #[cfg(feature = "universal_fw")] + cardano__delegating_to = 135, // "Delegating to:" + #[cfg(feature = "universal_fw")] + cardano__for_account_and_index_template = 136, // "for account {0} and index {1}:" + #[cfg(feature = "universal_fw")] + cardano__for_account_template = 137, // "for account {0}:" + #[cfg(feature = "universal_fw")] + cardano__for_key_hash = 138, // "for key hash:" + #[cfg(feature = "universal_fw")] + cardano__for_script = 139, // "for script:" + #[cfg(feature = "universal_fw")] + cardano__inline_datum = 140, // "Inline datum" + #[cfg(feature = "universal_fw")] + cardano__input_id = 141, // "Input ID:" + #[cfg(feature = "universal_fw")] + cardano__input_index = 142, // "Input index:" + #[cfg(feature = "universal_fw")] + cardano__intro_text_change = 143, // "The following address is a change address. Its" + #[cfg(feature = "universal_fw")] + cardano__intro_text_owned_by_device = 144, // "The following address is owned by this device. Its" + #[cfg(feature = "universal_fw")] + cardano__intro_text_registration_payment = 145, // "The vote key registration payment address is owned by this device. Its" + #[cfg(feature = "universal_fw")] + cardano__key_hash = 146, // "key hash" + #[cfg(feature = "universal_fw")] + cardano__margin = 147, // "Margin" + #[cfg(feature = "universal_fw")] + cardano__multisig_path = 148, // "multi-sig path" + #[cfg(feature = "universal_fw")] + cardano__nested_scripts_template = 149, // "Contains {0} nested scripts." + #[cfg(feature = "universal_fw")] + cardano__network = 150, // "Network:" + #[cfg(feature = "universal_fw")] + cardano__no_output_tx = 151, // "Transaction has no outputs, network cannot be verified." + #[cfg(feature = "universal_fw")] + cardano__nonce = 152, // "Nonce:" + #[cfg(feature = "universal_fw")] + cardano__other = 153, // "other" + #[cfg(feature = "universal_fw")] + cardano__path = 154, // "path" + #[cfg(feature = "universal_fw")] + cardano__pledge = 155, // "Pledge" + #[cfg(feature = "universal_fw")] + cardano__pointer = 156, // "pointer" + #[cfg(feature = "universal_fw")] + cardano__policy_id = 157, // "Policy ID:" + #[cfg(feature = "universal_fw")] + cardano__pool_metadata_hash = 158, // "Pool metadata hash:" + #[cfg(feature = "universal_fw")] + cardano__pool_metadata_url = 159, // "Pool metadata url:" + #[cfg(feature = "universal_fw")] + cardano__pool_owner = 160, // "Pool owner:" + #[cfg(feature = "universal_fw")] + cardano__pool_reward_account = 161, // "Pool reward account:" + #[cfg(feature = "universal_fw")] + cardano__reference_input_id = 162, // "Reference input ID:" + #[cfg(feature = "universal_fw")] + cardano__reference_input_index = 163, // "Reference input index:" + #[cfg(feature = "universal_fw")] + cardano__reference_script = 164, // "Reference script" + #[cfg(feature = "universal_fw")] + cardano__required_signer = 165, // "Required signer" + #[cfg(feature = "universal_fw")] + cardano__reward = 166, // "reward" + #[cfg(feature = "universal_fw")] + cardano__reward_address = 167, // "Address is a reward address." + #[cfg(feature = "universal_fw")] + cardano__reward_eligibility_warning = 168, // "Warning: The address is not a payment address, it is not eligible for rewards." + #[cfg(feature = "universal_fw")] + cardano__rewards_go_to = 169, // "Rewards go to:" + #[cfg(feature = "universal_fw")] + cardano__script = 170, // "script" + #[cfg(feature = "universal_fw")] + cardano__script_all = 171, // "All" + #[cfg(feature = "universal_fw")] + cardano__script_any = 172, // "Any" + #[cfg(feature = "universal_fw")] + cardano__script_data_hash = 173, // "Script data hash:" + #[cfg(feature = "universal_fw")] + cardano__script_hash = 174, // "Script hash:" + #[cfg(feature = "universal_fw")] + cardano__script_invalid_before = 175, // "Invalid before" + #[cfg(feature = "universal_fw")] + cardano__script_invalid_hereafter = 176, // "Invalid hereafter" + #[cfg(feature = "universal_fw")] + cardano__script_key = 177, // "Key" + #[cfg(feature = "universal_fw")] + cardano__script_n_of_k = 178, // "N of K" + #[cfg(feature = "universal_fw")] + cardano__script_reward = 179, // "script reward" + #[cfg(feature = "universal_fw")] + cardano__sending = 180, // "Sending" + #[cfg(feature = "universal_fw")] + cardano__show_simple = 181, // "Show Simple" + #[cfg(feature = "universal_fw")] + cardano__sign_tx_path_template = 182, // "Sign transaction with {0}:" + #[cfg(feature = "universal_fw")] + cardano__stake_delegation = 183, // "Stake delegation" + #[cfg(feature = "universal_fw")] + cardano__stake_deregistration = 184, // "Stake key deregistration" + #[cfg(feature = "universal_fw")] + cardano__stake_pool_registration = 185, // "Stakepool registration" + #[cfg(feature = "universal_fw")] + cardano__stake_pool_registration_pool_id = 186, // "Stake pool registration\nPool ID:" + #[cfg(feature = "universal_fw")] + cardano__stake_registration = 187, // "Stake key registration" + #[cfg(feature = "universal_fw")] + cardano__staking_key_for_account = 188, // "Staking key for account" + #[cfg(feature = "universal_fw")] + cardano__to_pool = 189, // "to pool:" + #[cfg(feature = "universal_fw")] + cardano__token_minting_path = 190, // "token minting path" + #[cfg(feature = "universal_fw")] + cardano__total_collateral = 191, // "Total collateral:" + #[cfg(feature = "universal_fw")] + cardano__transaction = 192, // "Transaction" + #[cfg(feature = "universal_fw")] + cardano__transaction_contains_minting_or_burning = 193, // "The transaction contains minting or burning of tokens." + #[cfg(feature = "universal_fw")] + cardano__transaction_contains_script_address_no_datum = 194, // "The following transaction output contains a script address, but does not contain a datum." + #[cfg(feature = "universal_fw")] + cardano__transaction_fee = 195, // "Transaction fee:" + #[cfg(feature = "universal_fw")] + cardano__transaction_id = 196, // "Transaction ID:" + #[cfg(feature = "universal_fw")] + cardano__transaction_no_collateral_input = 197, // "The transaction contains no collateral inputs. Plutus script will not be able to run." + #[cfg(feature = "universal_fw")] + cardano__transaction_no_script_data_hash = 198, // "The transaction contains no script data hash. Plutus script will not be able to run." + #[cfg(feature = "universal_fw")] + cardano__transaction_output_contains_tokens = 199, // "The following transaction output contains tokens." + #[cfg(feature = "universal_fw")] + cardano__ttl = 200, // "TTL:" + #[cfg(feature = "universal_fw")] + cardano__unknown_collateral_amount = 201, // "Unknown collateral amount." + #[cfg(feature = "universal_fw")] + cardano__unusual_path = 202, // "Path is unusual." + #[cfg(feature = "universal_fw")] + cardano__valid_since = 203, // "Valid since:" + #[cfg(feature = "universal_fw")] + cardano__verify_script = 204, // "Verify script" + #[cfg(feature = "universal_fw")] + cardano__vote_key_registration = 205, // "Vote key registration (CIP-36)" + #[cfg(feature = "universal_fw")] + cardano__vote_public_key = 206, // "Vote public key:" + #[cfg(feature = "universal_fw")] + cardano__voting_purpose = 207, // "Voting purpose:" + #[cfg(feature = "universal_fw")] + cardano__warning = 208, // "Warning" + #[cfg(feature = "universal_fw")] + cardano__weight = 209, // "Weight:" + #[cfg(feature = "universal_fw")] + cardano__withdrawal_for_address_template = 210, // "Confirm withdrawal for {0} address:" + #[cfg(feature = "universal_fw")] + cardano__x_of_y_signatures_template = 211, // "Requires {0} out of {1} signatures." + coinjoin__access_account = 212, // "Access your coinjoin account?" + coinjoin__do_not_disconnect = 213, // "Do not disconnect your Trezor!" + coinjoin__max_mining_fee = 214, // "Max mining fee" + coinjoin__max_rounds = 215, // "Max rounds" + coinjoin__title = 216, // "Authorize coinjoin" + coinjoin__title_do_not_disconnect = 217, // "Do not disconnect your trezor!" + coinjoin__title_progress = 218, // "Coinjoin in progress" + coinjoin__waiting_for_others = 219, // "Waiting for others" + confirm_total__fee_rate = 220, // "Fee rate:" + confirm_total__sending_from_account = 221, // "Sending from account:" + confirm_total__title_fee = 222, // "Fee information" + confirm_total__title_sending_from = 223, // "Sending from" + debug__loading_seed = 224, // "Loading seed" + debug__loading_seed_not_recommended = 225, // "Loading private seed is not recommended." + device_name__change_template = 226, // "Change device name to {0}?" + device_name__title = 227, // "Device name" + entropy__send = 228, // "Do you really want to send entropy?" + entropy__title = 229, // "Internal entropy" + entropy__title_confirm = 230, // "Confirm entropy" + #[cfg(feature = "universal_fw")] + eos__about_to_sign_template = 231, // "You are about to sign {0}." + #[cfg(feature = "universal_fw")] + eos__action_name = 232, // "Action Name:" + #[cfg(feature = "universal_fw")] + eos__arbitrary_data = 233, // "Arbitrary data" + #[cfg(feature = "universal_fw")] + eos__buy_ram = 234, // "Buy RAM" + #[cfg(feature = "universal_fw")] + eos__bytes = 235, // "Bytes:" + #[cfg(feature = "universal_fw")] + eos__cancel_vote = 236, // "Cancel vote" + #[cfg(feature = "universal_fw")] + eos__checksum = 237, // "Checksum:" + #[cfg(feature = "universal_fw")] + eos__code = 238, // "Code:" + #[cfg(feature = "universal_fw")] + eos__contract = 239, // "Contract:" + #[cfg(feature = "universal_fw")] + eos__cpu = 240, // "CPU:" + #[cfg(feature = "universal_fw")] + eos__creator = 241, // "Creator:" + #[cfg(feature = "universal_fw")] + eos__delegate = 242, // "Delegate" + #[cfg(feature = "universal_fw")] + eos__delete_auth = 243, // "Delete Auth" + #[cfg(feature = "universal_fw")] + eos__from = 244, // "From:" + #[cfg(feature = "universal_fw")] + eos__link_auth = 245, // "Link Auth" + #[cfg(feature = "universal_fw")] + eos__memo = 246, // "Memo" + #[cfg(feature = "universal_fw")] + eos__name = 247, // "Name:" + #[cfg(feature = "universal_fw")] + eos__net = 248, // "NET:" + #[cfg(feature = "universal_fw")] + eos__new_account = 249, // "New account" + #[cfg(feature = "universal_fw")] + eos__owner = 250, // "Owner:" + #[cfg(feature = "universal_fw")] + eos__parent = 251, // "Parent:" + #[cfg(feature = "universal_fw")] + eos__payer = 252, // "Payer:" + #[cfg(feature = "universal_fw")] + eos__permission = 253, // "Permission:" + #[cfg(feature = "universal_fw")] + eos__proxy = 254, // "Proxy:" + #[cfg(feature = "universal_fw")] + eos__receiver = 255, // "Receiver:" + #[cfg(feature = "universal_fw")] + eos__refund = 256, // "Refund" + #[cfg(feature = "universal_fw")] + eos__requirement = 257, // "Requirement:" + #[cfg(feature = "universal_fw")] + eos__sell_ram = 258, // "Sell RAM" + #[cfg(feature = "universal_fw")] + eos__sender = 259, // "Sender:" + #[cfg(feature = "universal_fw")] + eos__sign_transaction = 260, // "Sign transaction" + #[cfg(feature = "universal_fw")] + eos__threshold = 261, // "Threshold:" + #[cfg(feature = "universal_fw")] + eos__to = 262, // "To:" + #[cfg(feature = "universal_fw")] + eos__transfer = 263, // "Transfer:" + #[cfg(feature = "universal_fw")] + eos__type = 264, // "Type:" + #[cfg(feature = "universal_fw")] + eos__undelegate = 265, // "Undelegate" + #[cfg(feature = "universal_fw")] + eos__unlink_auth = 266, // "Unlink Auth" + #[cfg(feature = "universal_fw")] + eos__update_auth = 267, // "Update Auth" + #[cfg(feature = "universal_fw")] + eos__vote_for_producers = 268, // "Vote for producers" + #[cfg(feature = "universal_fw")] + eos__vote_for_proxy = 269, // "Vote for proxy" + #[cfg(feature = "universal_fw")] + eos__voter = 270, // "Voter:" + #[cfg(feature = "universal_fw")] + ethereum__amount_sent = 271, // "Amount sent:" + #[cfg(feature = "universal_fw")] + ethereum__contract = 272, // "Contract:" + #[cfg(feature = "universal_fw")] + ethereum__data_size_template = 273, // "Size: {0} bytes" + #[cfg(feature = "universal_fw")] + ethereum__gas_limit = 274, // "Gas limit:" + #[cfg(feature = "universal_fw")] + ethereum__gas_price = 275, // "Gas price:" + #[cfg(feature = "universal_fw")] + ethereum__max_gas_price = 276, // "Max gas price:" + #[cfg(feature = "universal_fw")] + ethereum__name_and_version = 277, // "Name and version" + #[cfg(feature = "universal_fw")] + ethereum__new_contract = 278, // "new contract?" + #[cfg(feature = "universal_fw")] + ethereum__no_message_field = 279, // "No message field" + #[cfg(feature = "universal_fw")] + ethereum__priority_fee = 280, // "Priority fee:" + #[cfg(feature = "universal_fw")] + ethereum__show_full_array = 281, // "Show full array" + #[cfg(feature = "universal_fw")] + ethereum__show_full_domain = 282, // "Show full domain" + #[cfg(feature = "universal_fw")] + ethereum__show_full_message = 283, // "Show full message" + #[cfg(feature = "universal_fw")] + ethereum__show_full_struct = 284, // "Show full struct" + #[cfg(feature = "universal_fw")] + ethereum__sign_eip712 = 285, // "Really sign EIP-712 typed data?" + #[cfg(feature = "universal_fw")] + ethereum__title_confirm_data = 286, // "Confirm data" + #[cfg(feature = "universal_fw")] + ethereum__title_confirm_domain = 287, // "Confirm domain" + #[cfg(feature = "universal_fw")] + ethereum__title_confirm_message = 288, // "Confirm message" + #[cfg(feature = "universal_fw")] + ethereum__title_confirm_struct = 289, // "Confirm struct" + #[cfg(feature = "universal_fw")] + ethereum__title_confirm_typed_data = 290, // "Confirm typed data" + #[cfg(feature = "universal_fw")] + ethereum__title_signing_address = 291, // "Signing address" + #[cfg(feature = "universal_fw")] + ethereum__units_template = 292, // "{0} units" + #[cfg(feature = "universal_fw")] + ethereum__unknown_token = 293, // "Unknown token" + #[cfg(feature = "universal_fw")] + ethereum__valid_signature = 294, // "The signature is valid." + experimental_mode__enable = 295, // "Enable experimental features?" + experimental_mode__only_for_dev = 296, // "Only for development and beta testing!" + experimental_mode__title = 297, // "Experimental mode" + #[cfg(feature = "universal_fw")] + fido__already_registered = 298, // "Already registered" + #[cfg(feature = "universal_fw")] + fido__device_already_registered = 299, // "This device is already registered with this application." + #[cfg(feature = "universal_fw")] + fido__device_already_registered_with_template = 300, // "This device is already registered with {0}." + #[cfg(feature = "universal_fw")] + fido__device_not_registered = 301, // "This device is not registered with this application." + #[cfg(feature = "universal_fw")] + fido__does_not_belong = 302, // "The credential you are trying to import does\nnot belong to this authenticator." + #[cfg(feature = "universal_fw")] + fido__erase_credentials = 303, // "erase all credentials?" + #[cfg(feature = "universal_fw")] + fido__export_credentials = 304, // "Export information about the credentials stored on this device?" + #[cfg(feature = "universal_fw")] + fido__not_registered = 305, // "Not registered" + #[cfg(feature = "universal_fw")] + fido__not_registered_with_template = 306, // "This device is not registered with\n{0}." + #[cfg(feature = "universal_fw")] + fido__please_enable_pin_protection = 307, // "Please enable PIN protection." + #[cfg(feature = "universal_fw")] + fido__title_authenticate = 308, // "Fido2 authenticate" + #[cfg(feature = "universal_fw")] + fido__title_import_credential = 309, // "Import credential" + #[cfg(feature = "universal_fw")] + fido__title_list_credentials = 310, // "List credentials" + #[cfg(feature = "universal_fw")] + fido__title_register = 311, // "Fido2 register" + #[cfg(feature = "universal_fw")] + fido__title_remove_credential = 312, // "Remove credential" + #[cfg(feature = "universal_fw")] + fido__title_reset = 313, // "FIDO2 reset" + #[cfg(feature = "universal_fw")] + fido__title_u2f_auth = 314, // "U2F authenticate" + #[cfg(feature = "universal_fw")] + fido__title_u2f_register = 315, // "U2F register" + #[cfg(feature = "universal_fw")] + fido__title_verify_user = 316, // "FIDO2 verify user" + #[cfg(feature = "universal_fw")] + fido__unable_to_verify_user = 317, // "Unable to verify user." + #[cfg(feature = "universal_fw")] + fido__wanna_erase_credentials = 318, // "Do you really want to erase all credentials?" + firmware_update__title = 319, // "Update firmware" + firmware_update__title_fingerprint = 320, // "FW fingerprint" + homescreen__click_to_connect = 321, // "Click to Connect" + homescreen__click_to_unlock = 322, // "Click to Unlock" + homescreen__title_backup_failed = 323, // "Backup failed" + homescreen__title_backup_needed = 324, // "Backup needed" + homescreen__title_coinjoin_authorized = 325, // "Coinjoin authorized" + homescreen__title_experimental_mode = 326, // "Experimental mode" + homescreen__title_no_usb_connection = 327, // "No USB connection" + homescreen__title_pin_not_set = 328, // "PIN not set" + homescreen__title_seedless = 329, // "Seedless" + homescreen__title_set = 330, // "Change homescreen?" + inputs__back = 331, // "Back" + inputs__cancel = 332, // "Cancel" + inputs__delete = 333, // "Delete" + inputs__enter = 334, // "Enter" + inputs__return = 335, // "Return" + inputs__show = 336, // "Show" + inputs__space = 337, // "Space" + joint__title = 338, // "Joint transaction" + joint__to_the_total_amount = 339, // "To the total amount:" + joint__you_are_contributing = 340, // "You are contributing:" + language__change_to_template = 341, // "Change language to {0}?" + language__changed = 342, // "Language changed successfully" + language__progress = 343, // "Changing language" + language__title = 344, // "Language settings" + lockscreen__tap_to_connect = 345, // "Tap to connect" + lockscreen__tap_to_unlock = 346, // "Tap to unlock" + lockscreen__title_locked = 347, // "Locked" + lockscreen__title_not_connected = 348, // "Not connected" + misc__decrypt_value = 349, // "Decrypt value" + misc__encrypt_value = 350, // "Encrypt value" + misc__title_suite_labeling = 351, // "Suite labeling" + modify_amount__decrease_amount = 352, // "Decrease amount by:" + modify_amount__increase_amount = 353, // "Increase amount by:" + modify_amount__new_amount = 354, // "New amount:" + modify_amount__title = 355, // "Modify amount" + modify_fee__decrease_fee = 356, // "Decrease fee by:" + modify_fee__fee_rate = 357, // "Fee rate:" + modify_fee__increase_fee = 358, // "Increase fee by:" + modify_fee__new_transaction_fee = 359, // "New transaction fee:" + modify_fee__no_change = 360, // "Fee did not change.\n" + modify_fee__title = 361, // "Modify fee" + modify_fee__transaction_fee = 362, // "Transaction fee:" + #[cfg(feature = "universal_fw")] + monero__confirm_export = 363, // "Confirm export" + #[cfg(feature = "universal_fw")] + monero__confirm_ki_sync = 364, // "Confirm ki sync" + #[cfg(feature = "universal_fw")] + monero__confirm_refresh = 365, // "Confirm refresh" + #[cfg(feature = "universal_fw")] + monero__confirm_unlock_time = 366, // "Confirm unlock time" + #[cfg(feature = "universal_fw")] + monero__hashing_inputs = 367, // "Hashing inputs" + #[cfg(feature = "universal_fw")] + monero__payment_id = 368, // "Payment ID" + #[cfg(feature = "universal_fw")] + monero__postprocessing = 369, // "Postprocessing..." + #[cfg(feature = "universal_fw")] + monero__processing = 370, // "Processing..." + #[cfg(feature = "universal_fw")] + monero__processing_inputs = 371, // "Processing inputs" + #[cfg(feature = "universal_fw")] + monero__processing_outputs = 372, // "Processing outputs" + #[cfg(feature = "universal_fw")] + monero__signing = 373, // "Signing..." + #[cfg(feature = "universal_fw")] + monero__signing_inputs = 374, // "Signing inputs" + #[cfg(feature = "universal_fw")] + monero__unlock_time_set_template = 375, // "Unlock time for this transaction is set to {0}" + #[cfg(feature = "universal_fw")] + monero__wanna_export_tx_der = 376, // "Do you really want to export tx_der\nfor tx_proof?" + #[cfg(feature = "universal_fw")] + monero__wanna_export_tx_key = 377, // "Do you really want to export tx_key?" + #[cfg(feature = "universal_fw")] + monero__wanna_export_watchkey = 378, // "Do you really want to export watch-only credentials?" + #[cfg(feature = "universal_fw")] + monero__wanna_start_refresh = 379, // "Do you really want to\nstart refresh?" + #[cfg(feature = "universal_fw")] + monero__wanna_sync_key_images = 380, // "Do you really want to\nsync key images?" + #[cfg(feature = "universal_fw")] + nem__absolute = 381, // "absolute" + #[cfg(feature = "universal_fw")] + nem__activate = 382, // "Activate" + #[cfg(feature = "universal_fw")] + nem__add = 383, // "Add" + #[cfg(feature = "universal_fw")] + nem__confirm_action = 384, // "Confirm action" + #[cfg(feature = "universal_fw")] + nem__confirm_address = 385, // "Confirm address" + #[cfg(feature = "universal_fw")] + nem__confirm_creation_fee = 386, // "Confirm creation fee" + #[cfg(feature = "universal_fw")] + nem__confirm_mosaic = 387, // "Confirm mosaic" + #[cfg(feature = "universal_fw")] + nem__confirm_multisig_fee = 388, // "Confirm multisig fee" + #[cfg(feature = "universal_fw")] + nem__confirm_namespace = 389, // "Confirm namespace" + #[cfg(feature = "universal_fw")] + nem__confirm_payload = 390, // "Confirm payload" + #[cfg(feature = "universal_fw")] + nem__confirm_properties = 391, // "Confirm properties" + #[cfg(feature = "universal_fw")] + nem__confirm_rental_fee = 392, // "Confirm rental fee" + #[cfg(feature = "universal_fw")] + nem__confirm_transfer_of = 393, // "Confirm transfer of" + #[cfg(feature = "universal_fw")] + nem__convert_account_to_multisig = 394, // "Convert account to multisig account?" + #[cfg(feature = "universal_fw")] + nem__cosign_transaction_for = 395, // "Cosign transaction for" + #[cfg(feature = "universal_fw")] + nem__cosignatory = 396, // " cosignatory" + #[cfg(feature = "universal_fw")] + nem__create_mosaic = 397, // "Create mosaic" + #[cfg(feature = "universal_fw")] + nem__create_namespace = 398, // "Create namespace" + #[cfg(feature = "universal_fw")] + nem__deactivate = 399, // "Deactivate" + #[cfg(feature = "universal_fw")] + nem__decrease = 400, // "Decrease" + #[cfg(feature = "universal_fw")] + nem__description = 401, // "Description:" + #[cfg(feature = "universal_fw")] + nem__divisibility_and_levy_cannot_be_shown = 402, // "Divisibility and levy cannot be shown for unknown mosaics" + #[cfg(feature = "universal_fw")] + nem__encrypted = 403, // "Encrypted:" + #[cfg(feature = "universal_fw")] + nem__final_confirm = 404, // "Final confirm" + #[cfg(feature = "universal_fw")] + nem__immutable = 405, // "immutable" + #[cfg(feature = "universal_fw")] + nem__increase = 406, // "Increase" + #[cfg(feature = "universal_fw")] + nem__initial_supply = 407, // "Initial supply:" + #[cfg(feature = "universal_fw")] + nem__initiate_transaction_for = 408, // "Initiate transaction for" + #[cfg(feature = "universal_fw")] + nem__levy_divisibility = 409, // "Levy divisibility:" + #[cfg(feature = "universal_fw")] + nem__levy_fee = 410, // "Levy fee:" + #[cfg(feature = "universal_fw")] + nem__levy_fee_of = 411, // "Confirm mosaic levy fee of" + #[cfg(feature = "universal_fw")] + nem__levy_mosaic = 412, // "Levy mosaic:" + #[cfg(feature = "universal_fw")] + nem__levy_namespace = 413, // "Levy namespace:" + #[cfg(feature = "universal_fw")] + nem__levy_recipient = 414, // "Levy recipient:" + #[cfg(feature = "universal_fw")] + nem__levy_type = 415, // "Levy type:" + #[cfg(feature = "universal_fw")] + nem__modify_supply_for = 416, // "Modify supply for" + #[cfg(feature = "universal_fw")] + nem__modify_the_number_of_cosignatories_by = 417, // "Modify the number of cosignatories by " + #[cfg(feature = "universal_fw")] + nem__mutable = 418, // "mutable" + #[cfg(feature = "universal_fw")] + nem__of = 419, // "of" + #[cfg(feature = "universal_fw")] + nem__percentile = 420, // "percentile" + #[cfg(feature = "universal_fw")] + nem__raw_units_template = 421, // "{0} raw units" + #[cfg(feature = "universal_fw")] + nem__remote_harvesting = 422, // " remote harvesting?" + #[cfg(feature = "universal_fw")] + nem__remove = 423, // "Remove" + #[cfg(feature = "universal_fw")] + nem__set_minimum_cosignatories_to = 424, // "Set minimum cosignatories to " + #[cfg(feature = "universal_fw")] + nem__sign_tx_fee_template = 425, // "Sign this transaction\nand pay {0}\nfor network fee?" + #[cfg(feature = "universal_fw")] + nem__supply_change = 426, // "Supply change" + #[cfg(feature = "universal_fw")] + nem__supply_units_template = 427, // "{0} supply by {1} whole units?" + #[cfg(feature = "universal_fw")] + nem__transferable = 428, // "Transferable?" + #[cfg(feature = "universal_fw")] + nem__under_namespace = 429, // "under namespace" + #[cfg(feature = "universal_fw")] + nem__unencrypted = 430, // "Unencrypted:" + #[cfg(feature = "universal_fw")] + nem__unknown_mosaic = 431, // "Unknown mosaic!" + passphrase__access_hidden_wallet = 432, // "Access hidden wallet?" + passphrase__always_on_device = 433, // "Do you really want to enter passphrase always on the device?" + passphrase__from_host_not_shown = 434, // "Passphrase provided by host will be used but will not be displayed due to the device settings." + passphrase__hidden_wallet = 435, // "Hidden wallet" + passphrase__hide = 436, // "Hide passphrase coming from host?" + passphrase__next_screen_will_show_passphrase = 437, // "Next screen will show the passphrase." + passphrase__please_enter = 438, // "Please enter your passphrase." + passphrase__revoke_on_device = 439, // "Do you want to revoke the passphrase on device setting?" + passphrase__title_confirm = 440, // "Confirm passphrase" + passphrase__title_enter = 441, // "Enter passphrase" + passphrase__title_hide = 442, // "Hide passphrase" + passphrase__title_settings = 443, // "Passphrase settings" + passphrase__title_source = 444, // "Passphrase source" + passphrase__turn_off = 445, // "Turn off passphrase protection?" + passphrase__turn_on = 446, // "Turn on passphrase protection?" + pin__change = 447, // "Change PIN?" + pin__changed = 448, // "PIN changed." + pin__cursor_will_change = 449, // "Position of the cursor will change between entries for enhanced security." + pin__diff_from_wipe_code = 450, // "The new PIN must be different from your wipe code." + pin__disabled = 451, // "PIN protection\nturned off." + pin__enabled = 452, // "PIN protection\nturned on." + pin__enter = 453, // "Enter PIN" + pin__enter_new = 454, // "Enter new PIN" + pin__entered_not_valid = 455, // "The PIN you have entered is not valid." + pin__info = 456, // "PIN will be required to access this device." + pin__invalid_pin = 457, // "Invalid PIN" + pin__last_attempt = 458, // "Last attempt" + pin__mismatch = 459, // "Entered PINs do not match!" + pin__pin_mismatch = 460, // "PIN mismatch" + pin__please_check_again = 461, // "Please check again." + pin__reenter_new = 462, // "Re-enter new PIN" + pin__reenter_to_confirm = 463, // "Please re-enter PIN to confirm." + pin__should_be_long = 464, // "PIN should be 4-50 digits long." + pin__title_check_pin = 465, // "Check PIN" + pin__title_settings = 466, // "PIN settings" + pin__title_wrong_pin = 467, // "Wrong PIN" + pin__tries_left = 468, // "tries left" + pin__turn_off = 469, // "Are you sure you want to turn off PIN protection?" + pin__turn_on = 470, // "Turn on PIN protection?" + pin__wrong_pin = 471, // "Wrong PIN" + plurals__contains_x_keys = 472, // "key|keys" + plurals__lock_after_x_hours = 473, // "hour|hours" + plurals__lock_after_x_milliseconds = 474, // "millisecond|milliseconds" + plurals__lock_after_x_minutes = 475, // "minute|minutes" + plurals__lock_after_x_seconds = 476, // "second|seconds" + plurals__sign_x_actions = 477, // "action|actions" + plurals__transaction_of_x_operations = 478, // "operation|operations" + plurals__x_groups_needed = 479, // "group|groups" + plurals__x_shares_needed = 480, // "share|shares" + progress__authenticity_check = 481, // "Checking authenticity..." + progress__done = 482, // "Done" + progress__loading_transaction = 483, // "Loading transaction..." + progress__locking_device = 484, // "Locking the device..." + progress__one_second_left = 485, // "1 second left" + progress__title_please_wait = 486, // "Please wait" + storage_msg__title_processing = 487, // "Processing" + progress__refreshing = 488, // "Refreshing..." + progress__signing_transaction = 489, // "Signing transaction..." + progress__syncing = 490, // "Syncing..." + progress__x_seconds_left_template = 491, // "{0} seconds left" + reboot_to_bootloader__restart = 492, // "Trezor will restart in bootloader mode." + reboot_to_bootloader__title = 493, // "Go to bootloader" + reboot_to_bootloader__version_by_template = 494, // "Firmware version {0}\nby {1}" + recovery__cancel_dry_run = 495, // "Cancel backup check" + recovery__check_dry_run = 496, // "Check your backup?" + recovery__cursor_will_change = 497, // "Position of the cursor will change between entries for enhanced security." + recovery__dry_run_bip39_valid_match = 498, // "The entered recovery seed is valid and matches the one in the device." + recovery__dry_run_bip39_valid_mismatch = 499, // "The entered recovery seed is valid but does not match the one in the device." + recovery__dry_run_slip39_valid_match = 500, // "The entered recovery shares are valid and match what is currently in the device." + recovery__dry_run_slip39_valid_mismatch = 501, // "The entered recovery shares are valid but do not match what is currently in the device." + recovery__enter_any_share = 502, // "Enter any share" + recovery__enter_backup = 503, // "Enter your backup." + recovery__enter_different_share = 504, // "Please enter a different share." + recovery__enter_share_from_diff_group = 505, // "Enter share from a different group." + recovery__group_num_template = 506, // "Group {0}" + recovery__group_threshold_reached = 507, // "Group threshold reached." + recovery__invalid_seed_entered = 508, // "Invalid recovery seed entered." + recovery__invalid_share_entered = 509, // "Invalid recovery share entered." + recovery__more_shares_needed = 510, // "More shares needed" + recovery__num_of_words = 511, // "Select the number of words in your backup." + recovery__only_first_n_letters = 512, // "You'll only have to select the first 2-4 letters of each word." + recovery__progress_will_be_lost = 513, // "All progress will be lost." + recovery__select_num_of_words = 514, // "Select the number of words in your backup." + recovery__share_already_entered = 515, // "Share already entered" + recovery__share_from_another_shamir = 516, // "You have entered a share from another Shamir Backup." + recovery__share_num_template = 517, // "Share {0}" + recovery__title = 518, // "Recover wallet" + recovery__title_cancel_dry_run = 519, // "Cancel backup check" + recovery__title_cancel_recovery = 520, // "Cancel recovery" + recovery__title_dry_run = 521, // "Backup check" + recovery__title_recover = 522, // "Recover wallet" + recovery__title_remaining_shares = 523, // "Remaining shares" + recovery__type_word_x_of_y_template = 524, // "Type word {0} of {1}" + recovery__wallet_recovered = 525, // "Wallet recovered successfully" + recovery__wanna_cancel_dry_run = 526, // "Are you sure you want to cancel the backup check?" + recovery__wanna_cancel_recovery = 527, // "Are you sure you want to cancel the recovery process?" + recovery__word_count_template = 528, // "({0} words)" + recovery__word_x_of_y_title_template = 529, // "Word {0} of {1}" + recovery__x_more_items_starting_template_plural = 530, // "{count} more {plural} starting" + recovery__x_more_shares_needed_template_plural = 531, // "{count} more {plural} needed." + recovery__x_of_y_entered_template = 532, // "{0} of {1} shares entered successfully." + recovery__you_have_entered = 533, // "You have entered" + reset__advanced_group_threshold_info = 534, // "The group threshold specifies the number of groups required to recover your wallet." + reset__all_x_of_y_template = 535, // "all {0} of {1} shares" + reset__any_x_of_y_template = 536, // "any {0} of {1} shares" + reset__button_create = 537, // "Create wallet" + reset__button_recover = 538, // "Recover wallet" + reset__by_continuing = 539, // "By continuing you agree to Trezor Company's terms and conditions." + reset__check_backup_title = 540, // "Check backup" + reset__check_group_share_title_template = 541, // "Check g{0} - share {1}" + reset__check_seed_title = 542, // "Check seed" + reset__check_share_title_template = 543, // "Check share #{0}" + reset__continue_with_next_share = 544, // "Continue with the next share." + reset__continue_with_share_template = 545, // "Continue with share #{0}." + reset__finished_verifying_group_template = 546, // "You have finished verifying your recovery shares for group {0}." + reset__finished_verifying_seed = 547, // "You have finished verifying your recovery seed." + reset__finished_verifying_shares = 548, // "You have finished verifying your recovery shares." + reset__group_description = 549, // "A group is made up of recovery shares." + reset__group_info = 550, // "Each group has a set number of shares and its own threshold. In the next steps you will set the numbers of shares and the thresholds." + reset__group_share_checked_successfully_template = 551, // "Group {0} - Share {1} checked successfully." + reset__group_share_title_template = 552, // "Group {0} - share {1}" + reset__more_info_at = 553, // "More info at" + reset__need_all_share_template = 554, // "For recovery you need all {0} of the shares." + reset__need_any_share_template = 555, // "For recovery you need any {0} of the shares." + reset__needed_to_form_a_group = 556, // "needed to form a group. " + reset__needed_to_recover_your_wallet = 557, // "needed to recover your wallet. " + reset__never_make_digital_copy = 558, // "Never make a digital copy of your backup or upload it online!" + reset__num_of_share_holders_template = 559, // "{0} people or locations will each hold one share." + reset__num_of_shares_advanced_info_template = 560, // "Each recovery share is a sequence of 20 words. Next you will choose the threshold number of shares needed to form Group {0}." + reset__num_of_shares_basic_info = 561, // "Each recovery share is a sequence of 20 words. Next you will choose how many shares you need to recover your wallet." + reset__num_shares_for_group_template = 562, // "The required number of shares to form Group {0}." + reset__number_of_shares_info = 563, // "= total number of unique word lists used for wallet backup." + reset__one_share = 564, // "1 share" + reset__only_one_share_will_be_created = 565, // "Only one share will be created." + reset__recovery_seed_title = 566, // "Recovery seed" + reset__recovery_share_title_template = 567, // "Recovery share #{0}" + reset__required_number_of_groups = 568, // "The required number of groups for recovery." + reset__select_correct_word = 569, // "Select the correct word for each position." + reset__select_word_title_template = 570, // "Select {0} word" + reset__select_word_x_of_y_template = 571, // "Select word {0} of {1}:" + reset__set_it_to_count_template = 572, // "Set it to {0} and you will need " + reset__share_checked_successfully_template = 573, // "Recovery share #{0} checked successfully." + reset__share_words_title = 574, // "Standard backup" + reset__slip39_checklist_num_groups = 575, // "Number of groups" + reset__slip39_checklist_num_shares = 576, // "Number of shares" + reset__slip39_checklist_set_num_groups = 577, // "Set number of groups" + reset__slip39_checklist_set_num_shares = 578, // "Set number of shares" + reset__slip39_checklist_set_sizes = 579, // "Set sizes and thresholds" + reset__slip39_checklist_set_sizes_longer = 580, // "Set size and threshold for each group" + reset__slip39_checklist_set_threshold = 581, // "Set threshold" + reset__slip39_checklist_title = 582, // "Backup checklist" + reset__slip39_checklist_write_down = 583, // "Write down and check all shares" + reset__slip39_checklist_write_down_recovery = 584, // "Write down and check all recovery shares" + reset__the_threshold_sets_the_number_of_shares = 585, // "The threshold sets the number of shares " + reset__threshold_info = 586, // "= minimum number of unique word lists used for recovery." + reset__title_backup_is_done = 587, // "Backup is done" + reset__title_create_wallet = 588, // "Create wallet" + reset__title_create_wallet_shamir = 589, // "Create wallet (shamir)" + reset__title_group_threshold = 590, // "Group threshold" + reset__title_number_of_groups = 591, // "Number of groups" + reset__title_number_of_shares = 592, // "Number of shares" + reset__title_set_group_threshold = 593, // "Set group threshold" + reset__title_set_number_of_groups = 594, // "Set number of groups" + reset__title_set_number_of_shares = 595, // "Set number of shares" + reset__title_set_threshold = 596, // "Set threshold" + reset__to_form_group_template = 597, // "to form Group {0}." + reset__tos_link = 598, // "trezor.io/tos" + reset__total_number_of_shares_in_group_template = 599, // "Set the total number of shares in Group {0}." + reset__use_your_backup = 600, // "Use your backup when you need to recover your wallet." + reset__write_down_words_template = 601, // "Write down all {0} words in order." + reset__wrong_word_selected = 602, // "Wrong word selected!" + reset__you_need_one_share = 603, // "For recovery you need 1 share." + reset__your_backup_is_done = 604, // "Your backup is done." + #[cfg(feature = "universal_fw")] + ripple__confirm_tag = 605, // "Confirm tag" + #[cfg(feature = "universal_fw")] + ripple__destination_tag_template = 606, // "Destination tag:\n{0}" + rotation__change_template = 607, // "Do you want to change device rotation to {0}?" + rotation__east = 608, // "east" + rotation__north = 609, // "north" + rotation__south = 610, // "south" + rotation__title_change = 611, // "Change rotation" + rotation__west = 612, // "west" + safety_checks__approve_unsafe_always = 613, // "Trezor will allow you to approve some actions which might be unsafe." + safety_checks__approve_unsafe_temporary = 614, // "Trezor will temporarily allow you to approve some actions which might be unsafe." + safety_checks__enforce_strict = 615, // "Do you really want to enforce strict safety checks (recommended)?" + safety_checks__title = 616, // "Safety checks" + safety_checks__title_safety_override = 617, // "Safety override" + sd_card__all_data_will_be_lost = 618, // "All data on the SD card will be lost." + sd_card__card_required = 619, // "SD card required." + sd_card__disable = 620, // "Do you really want to remove SD card protection from your device?" + sd_card__disabled = 621, // "You have successfully disabled SD protection." + sd_card__enable = 622, // "Do you really want to secure your device with SD card protection?" + sd_card__enabled = 623, // "You have successfully enabled SD protection." + sd_card__error = 624, // "SD card error" + sd_card__format_card = 625, // "Format SD card" + sd_card__insert_correct_card = 626, // "Please insert the correct SD card for this device." + sd_card__please_insert = 627, // "Please insert your SD card." + sd_card__please_unplug_and_insert = 628, // "Please unplug the device and insert your SD card." + sd_card__problem_accessing = 629, // "There was a problem accessing the SD card." + sd_card__refresh = 630, // "Do you really want to replace the current SD card secret with a newly generated one?" + sd_card__refreshed = 631, // "You have successfully refreshed SD protection." + sd_card__restart = 632, // "Do you want to restart Trezor in bootloader mode?" + sd_card__title = 633, // "SD card protection" + sd_card__title_problem = 634, // "SD card problem" + sd_card__unknown_filesystem = 635, // "Unknown filesystem." + sd_card__unplug_and_insert_correct = 636, // "Please unplug the device and insert the correct SD card." + sd_card__use_different_card = 637, // "Use a different card or format the SD card to the FAT32 filesystem." + sd_card__wanna_format = 638, // "Do you really want to format the SD card?" + sd_card__wrong_sd_card = 639, // "Wrong SD card." + send__address_path = 640, // "address path" + send__confirm_sending = 641, // "Sending amount" + send__from_multiple_accounts = 642, // "Sending from multiple accounts." + send__including_fee = 643, // "Including fee:" + send__maximum_fee = 644, // "Maximum fee:" + send__receiving_to_multisig = 645, // "Receiving to a multisig address." + send__title_confirm_sending = 646, // "Confirm sending" + send__title_joint_transaction = 647, // "Joint transaction" + send__title_receiving_to = 648, // "Receiving to" + send__title_sending = 649, // "Sending" + send__title_sending_amount = 650, // "Sending amount" + send__title_sending_to = 651, // "Sending to" + send__to_the_total_amount = 652, // "To the total amount:" + send__total_amount = 653, // "Total amount:" + send__transaction_id = 654, // "Transaction ID:" + send__you_are_contributing = 655, // "You are contributing:" + share_words__words_in_order = 656, // " words in order." + share_words__wrote_down_all = 657, // "I wrote down all " + sign_message__bytes_template = 658, // "{0} Bytes" + sign_message__title_confirm_address = 659, // "Signing address" + sign_message__title_confirm_message = 660, // "Confirm message" + sign_message__message_size = 661, // "Message size:" + sign_message__title_verify_address = 662, // "Verify address" + #[cfg(feature = "universal_fw")] + solana__account_index = 663, // "Account index" + #[cfg(feature = "universal_fw")] + solana__associated_token_account = 664, // "Associated token account" + #[cfg(feature = "universal_fw")] + solana__confirm_multisig = 665, // "Confirm multisig" + #[cfg(feature = "universal_fw")] + solana__expected_fee = 666, // "Expected fee" + #[cfg(feature = "universal_fw")] + solana__instruction_accounts_template = 667, // "Instruction contains {0} accounts and its data is {1} bytes long." + #[cfg(feature = "universal_fw")] + solana__instruction_data = 668, // "Instruction data" + #[cfg(feature = "universal_fw")] + solana__instruction_is_multisig = 669, // "The following instruction is a multisig instruction." + #[cfg(feature = "universal_fw")] + solana__is_provided_via_lookup_table_template = 670, // "{0} is provided via a lookup table." + #[cfg(feature = "universal_fw")] + solana__lookup_table_address = 671, // "Lookup table address" + #[cfg(feature = "universal_fw")] + solana__multiple_signers = 672, // "Multiple signers" + #[cfg(feature = "universal_fw")] + solana__token_address = 673, // "Token address" + #[cfg(feature = "universal_fw")] + solana__transaction_contains_unknown_instructions = 674, // "Transaction contains unknown instructions." + #[cfg(feature = "universal_fw")] + solana__transaction_requires_x_signers_template = 675, // "Transaction requires {0} signers which increases the fee." + #[cfg(feature = "universal_fw")] + stellar__account_merge = 676, // "Account Merge" + #[cfg(feature = "universal_fw")] + stellar__account_thresholds = 677, // "Account Thresholds" + #[cfg(feature = "universal_fw")] + stellar__add_signer = 678, // "Add Signer" + #[cfg(feature = "universal_fw")] + stellar__add_trust = 679, // "Add trust" + #[cfg(feature = "universal_fw")] + stellar__all_will_be_sent_to = 680, // "All XLM will be sent to:" + #[cfg(feature = "universal_fw")] + stellar__allow_trust = 681, // "Allow trust" + #[cfg(feature = "universal_fw")] + stellar__asset = 682, // "Asset" + #[cfg(feature = "universal_fw")] + stellar__balance_id = 683, // "Balance ID" + #[cfg(feature = "universal_fw")] + stellar__bump_sequence = 684, // "Bump Sequence" + #[cfg(feature = "universal_fw")] + stellar__buying = 685, // "Buying:" + #[cfg(feature = "universal_fw")] + stellar__claim_claimable_balance = 686, // "Claim Claimable Balance" + #[cfg(feature = "universal_fw")] + stellar__clear_data = 687, // "Clear data" + #[cfg(feature = "universal_fw")] + stellar__clear_flags = 688, // "Clear flags" + #[cfg(feature = "universal_fw")] + stellar__confirm_issuer = 689, // "Confirm Issuer" + #[cfg(feature = "universal_fw")] + stellar__confirm_memo = 690, // "Confirm memo" + #[cfg(feature = "universal_fw")] + stellar__confirm_network = 691, // "Confirm network" + #[cfg(feature = "universal_fw")] + stellar__confirm_operation = 692, // "Confirm operation" + #[cfg(feature = "universal_fw")] + stellar__confirm_stellar = 693, // "Confirm Stellar" + #[cfg(feature = "universal_fw")] + stellar__confirm_timebounds = 694, // "Confirm timebounds" + #[cfg(feature = "universal_fw")] + stellar__create_account = 695, // "Create Account" + #[cfg(feature = "universal_fw")] + stellar__debited_amount = 696, // "Debited amount" + #[cfg(feature = "universal_fw")] + stellar__delete = 697, // "Delete" + #[cfg(feature = "universal_fw")] + stellar__delete_passive_offer = 698, // "Delete Passive Offer" + #[cfg(feature = "universal_fw")] + stellar__delete_trust = 699, // "Delete trust" + #[cfg(feature = "universal_fw")] + stellar__destination = 700, // "Destination:" + #[cfg(feature = "universal_fw")] + stellar__exchanges_require_memo = 701, // "Important: Many exchanges require a memo when depositing" + #[cfg(feature = "universal_fw")] + stellar__final_confirm = 702, // "Final confirm" + #[cfg(feature = "universal_fw")] + stellar__hash = 703, // "Hash:" + #[cfg(feature = "universal_fw")] + stellar__high = 704, // "High:" + #[cfg(feature = "universal_fw")] + stellar__home_domain = 705, // "Home Domain" + #[cfg(feature = "universal_fw")] + stellar__inflation = 706, // "Inflation" + #[cfg(feature = "universal_fw")] + stellar__initial_balance = 707, // "Initial Balance" + #[cfg(feature = "universal_fw")] + stellar__initialize_signing_with = 708, // "Initialize signing with" + #[cfg(feature = "universal_fw")] + stellar__issuer_template = 709, // "{0} issuer:" + #[cfg(feature = "universal_fw")] + stellar__key = 710, // "Key:" + #[cfg(feature = "universal_fw")] + stellar__limit = 711, // "Limit:" + #[cfg(feature = "universal_fw")] + stellar__low = 712, // "Low:" + #[cfg(feature = "universal_fw")] + stellar__master_weight = 713, // "Master Weight:" + #[cfg(feature = "universal_fw")] + stellar__medium = 714, // "Medium:" + #[cfg(feature = "universal_fw")] + stellar__new_offer = 715, // "New Offer" + #[cfg(feature = "universal_fw")] + stellar__new_passive_offer = 716, // "New Passive Offer" + #[cfg(feature = "universal_fw")] + stellar__no_memo_set = 717, // "No memo set!" + #[cfg(feature = "universal_fw")] + stellar__no_restriction = 718, // "[no restriction]" + #[cfg(feature = "universal_fw")] + stellar__on_network_template = 719, // "Transaction is on {0}" + #[cfg(feature = "universal_fw")] + stellar__path_pay = 720, // "Path Pay" + #[cfg(feature = "universal_fw")] + stellar__path_pay_at_least = 721, // "Path Pay at least" + #[cfg(feature = "universal_fw")] + stellar__pay = 722, // "Pay:" + #[cfg(feature = "universal_fw")] + stellar__pay_at_most = 723, // "Pay at most:" + #[cfg(feature = "universal_fw")] + stellar__preauth_transaction = 724, // "Pre-auth transaction:" + #[cfg(feature = "universal_fw")] + stellar__price_per_template = 725, // "Price per {0}:" + #[cfg(feature = "universal_fw")] + stellar__private_network = 726, // "private network" + #[cfg(feature = "universal_fw")] + stellar__remove_signer = 727, // "Remove Signer" + #[cfg(feature = "universal_fw")] + stellar__revoke_trust = 728, // "Revoke trust" + #[cfg(feature = "universal_fw")] + stellar__selling = 729, // "Selling:" + #[cfg(feature = "universal_fw")] + stellar__set_data = 730, // "Set data" + #[cfg(feature = "universal_fw")] + stellar__set_flags = 731, // "Set flags" + #[cfg(feature = "universal_fw")] + stellar__set_sequence_to_template = 732, // "Set sequence to {0}?" + #[cfg(feature = "universal_fw")] + stellar__sign_tx_count_template = 733, // "Sign this transaction made up of {0}" + #[cfg(feature = "universal_fw")] + stellar__sign_tx_fee_template = 734, // "and pay {0}\nfor fee?" + #[cfg(feature = "universal_fw")] + stellar__source_account = 735, // "Source account:" + #[cfg(feature = "universal_fw")] + stellar__testnet_network = 736, // "testnet network" + #[cfg(feature = "universal_fw")] + stellar__trusted_account = 737, // "Trusted Account" + #[cfg(feature = "universal_fw")] + stellar__update = 738, // "Update" + #[cfg(feature = "universal_fw")] + stellar__valid_from = 739, // "Valid from (UTC)" + #[cfg(feature = "universal_fw")] + stellar__valid_to = 740, // "Valid to (UTC)" + #[cfg(feature = "universal_fw")] + stellar__value_sha256 = 741, // "Value (SHA-256):" + #[cfg(feature = "universal_fw")] + stellar__wanna_clean_value_key_template = 742, // "Do you want to clear value key {0}?" + #[cfg(feature = "universal_fw")] + stellar__your_account = 743, // " your account" + #[cfg(feature = "universal_fw")] + tezos__baker_address = 744, // "Baker address:" + #[cfg(feature = "universal_fw")] + tezos__balance = 745, // "Balance:" + #[cfg(feature = "universal_fw")] + tezos__ballot = 746, // "Ballot:" + #[cfg(feature = "universal_fw")] + tezos__confirm_delegation = 747, // "Confirm delegation" + #[cfg(feature = "universal_fw")] + tezos__confirm_origination = 748, // "Confirm origination" + #[cfg(feature = "universal_fw")] + tezos__delegator = 749, // "Delegator:" + #[cfg(feature = "universal_fw")] + tezos__proposal = 750, // "Proposal" + #[cfg(feature = "universal_fw")] + tezos__register_delegate = 751, // "Register delegate" + #[cfg(feature = "universal_fw")] + tezos__remove_delegation = 752, // "Remove delegation" + #[cfg(feature = "universal_fw")] + tezos__submit_ballot = 753, // "Submit ballot" + #[cfg(feature = "universal_fw")] + tezos__submit_proposal = 754, // "Submit proposal" + #[cfg(feature = "universal_fw")] + tezos__submit_proposals = 755, // "Submit proposals" + tutorial__middle_click = 756, // "Press both left and right at the same\ntime to confirm." + tutorial__press_and_hold = 757, // "Press and hold the right button to\napprove important operations." + tutorial__ready_to_use = 758, // "You're ready to\nuse Trezor." + tutorial__scroll_down = 759, // "Press right to scroll down to read all content when text doesn't fit on one screen.\n\rPress left to scroll up." + tutorial__sure_you_want_skip = 760, // "Are you sure you\nwant to skip the tutorial?" + tutorial__title_hello = 761, // "HELLO" + tutorial__title_screen_scroll = 762, // "SCREEN SCROLL" + tutorial__title_skip = 763, // "SKIP TUTORIAL" + tutorial__title_tutorial_complete = 764, // "TUTORIAL COMPLETE" + tutorial__use_trezor = 765, // "Use Trezor by\nclicking the left and right buttons.\n\rContinue right." + tutorial__welcome_press_right = 766, // "Welcome to Trezor. Press right to continue." + #[cfg(feature = "universal_fw")] + u2f__get = 767, // "Increase and retrieve the U2F counter?" + #[cfg(feature = "universal_fw")] + u2f__set_template = 768, // "Set the U2F counter to {0}?" + #[cfg(feature = "universal_fw")] + u2f__title_get = 769, // "Get U2F counter" + #[cfg(feature = "universal_fw")] + u2f__title_set = 770, // "Set U2F counter" + wipe__info = 771, // "All data will be erased." + wipe__title = 772, // "Wipe device" + wipe__want_to_wipe = 773, // "Do you really want to wipe the device?\n" + wipe_code__change = 774, // "Change wipe code?" + wipe_code__changed = 775, // "Wipe code changed." + wipe_code__diff_from_pin = 776, // "The wipe code must be different from your PIN." + wipe_code__disabled = 777, // "Wipe code disabled." + wipe_code__enabled = 778, // "Wipe code enabled." + wipe_code__enter_new = 779, // "Enter new wipe code" + wipe_code__info = 780, // "Wipe code can be used to erase all data from this device." + wipe_code__invalid = 781, // "Invalid wipe code" + wipe_code__mismatch = 782, // "The wipe codes you entered do not match." + wipe_code__reenter = 783, // "Re-enter wipe code" + wipe_code__reenter_to_confirm = 784, // "Please re-enter wipe code to confirm." + wipe_code__title_check = 785, // "Check wipe code" + wipe_code__title_invalid = 786, // "Invalid wipe code" + wipe_code__title_settings = 787, // "Wipe code settings" + wipe_code__turn_off = 788, // "Turn off wipe code protection?" + wipe_code__turn_on = 789, // "Turn on wipe code protection?" + wipe_code__wipe_code_mismatch = 790, // "Wipe code mismatch" + word_count__title = 791, // "Number of words" + words__account = 792, // "Account" + words__account_colon = 793, // "Account:" + words__address = 794, // "Address" + words__amount = 795, // "Amount" + words__are_you_sure = 796, // "Are you sure?" + words__array_of = 797, // "Array of" + words__blockhash = 798, // "Blockhash" + words__buying = 799, // "Buying" + words__confirm = 800, // "Confirm" + words__confirm_fee = 801, // "Confirm fee" + words__contains = 802, // "Contains" + words__continue_anyway = 803, // "Continue anyway?" + words__continue_with = 804, // "Continue with" + words__error = 805, // "Error" + words__fee = 806, // "Fee" + words__from = 807, // "from" + words__keep_it_safe = 808, // "Keep it safe!" + words__know_what_your_doing = 809, // "Continue only if you know what you are doing!" + words__my_trezor = 810, // "My Trezor" + words__no = 811, // "No" + words__outputs = 812, // "outputs" + words__please_check_again = 813, // "Please check again" + words__please_try_again = 814, // "Please try again" + words__really_wanna = 815, // "Do you really want to" + words__title_recipient = 816, // "Recipient" + words__sign = 817, // "Sign" + words__signer = 818, // "Signer" + words__title_check = 819, // "Check" + words__title_group = 820, // "Group" + words__title_information = 821, // "Information" + words__title_remember = 822, // "Remember" + words__title_share = 823, // "Share" + words__title_shares = 824, // "Shares" + words__title_success = 825, // "Success" + words__title_summary = 826, // "Summary" + words__title_threshold = 827, // "Threshold" + words__unknown = 828, // "Unknown" + words__warning = 829, // "Warning" + words__writable = 830, // "Writable" + words__yes = 831, // "Yes" + reboot_to_bootloader__just_a_moment = 832, // "Just a moment..." + inputs__previous = 833, // "Previous" + #[cfg(feature = "universal_fw")] + ethereum__staking_title_claim = 834, // "Claim" + #[cfg(feature = "universal_fw")] + ethereum__staking_title_claim_address = 835, // "Claim address" + #[cfg(feature = "universal_fw")] + ethereum__staking_claim_intro = 836, // "Claim ETH from Everstake?" + #[cfg(feature = "universal_fw")] + ethereum__staking_title_stake = 837, // "Stake" + #[cfg(feature = "universal_fw")] + ethereum__staking_title_stake_address = 838, // "Stake address" + #[cfg(feature = "universal_fw")] + ethereum__staking_stake_intro = 839, // "Stake ETH on Everstake?" + #[cfg(feature = "universal_fw")] + ethereum__staking_title_unstake = 840, // "Unstake" + #[cfg(feature = "universal_fw")] + ethereum__staking_unstake_intro = 841, // "Unstake ETH from Everstake?" + storage_msg__title_starting = 842, // "Starting up" + storage_msg__title_verifying_pin = 843, // "Verifying pin" + storage_msg__title_wrong_pin = 844, // "Wrong pin" +} + +impl TranslatedString { + pub fn untranslated(self) -> &'static str { + match self { + Self::addr_mismatch__contact_support_at => "Please contact Trezor support at", + Self::addr_mismatch__key_mismatch => "Key mismatch?", + Self::addr_mismatch__mismatch => "Address mismatch?", + Self::addr_mismatch__support_url => "trezor.io/support", + Self::addr_mismatch__wrong_derivation_path => "Wrong derivation path for selected account.", + Self::addr_mismatch__xpub_mismatch => "XPUB mismatch?", + Self::address__title_public_key => "PUBLIC KEY", + Self::address__title_cosigner => "COSIGNER", + Self::address__title_receive_address => "RECEIVE ADDRESS", + Self::address__title_yours => "YOURS", + Self::address_details__derivation_path => "Derivation path:", + Self::address_details__title_receive_address => "RECEIVE ADDRESS", + Self::address_details__title_receiving_to => "RECEIVING TO", + Self::authenticate__confirm_template => "Allow connected computer to confirm your {0} is genuine?", + Self::authenticate__header => "Authenticate device", + Self::auto_lock__change_template => "Auto-lock your Trezor after {0} of inactivity?", + Self::auto_lock__title => "AUTO-LOCK DELAY", + Self::backup__can_back_up_anytime => "You can back up your Trezor once, at any time.", + Self::backup__it_should_be_backed_up => "You should back up your new wallet right now.", + Self::backup__it_should_be_backed_up_now => "It should be backed up now!", + Self::backup__new_wallet_created => "New wallet created.\n", + Self::backup__new_wallet_successfully_created => "New wallet created successfully.", + Self::backup__recover_anytime => "You can use your backup to recover your wallet at any time.", + Self::backup__title_backup_wallet => "BACK UP WALLET", + Self::backup__title_skip => "SKIP BACKUP", + Self::backup__want_to_skip => "Are you sure you want to skip the backup?", + #[cfg(feature = "universal_fw")] + Self::binance__buy => "Buy", + #[cfg(feature = "universal_fw")] + Self::binance__confirm_cancel => "CONFIRM CANCEL", + #[cfg(feature = "universal_fw")] + Self::binance__confirm_input => "CONFIRM INPUT", + #[cfg(feature = "universal_fw")] + Self::binance__confirm_order => "CONFIRM ORDER", + #[cfg(feature = "universal_fw")] + Self::binance__confirm_output => "CONFIRM OUTPUT", + #[cfg(feature = "universal_fw")] + Self::binance__order_id => "Order ID:", + #[cfg(feature = "universal_fw")] + Self::binance__pair => "Pair:", + #[cfg(feature = "universal_fw")] + Self::binance__price => "Price:", + #[cfg(feature = "universal_fw")] + Self::binance__quantity => "Quantity:", + #[cfg(feature = "universal_fw")] + Self::binance__sell => "Sell", + #[cfg(feature = "universal_fw")] + Self::binance__sender_address => "Sender address:", + #[cfg(feature = "universal_fw")] + Self::binance__side => "Side:", + Self::bitcoin__commitment_data => "Commitment data:", + Self::bitcoin__confirm_locktime => "CONFIRM LOCKTIME", + Self::bitcoin__create_proof_of_ownership => "Do you want to create a proof of ownership?", + Self::bitcoin__high_mining_fee_template => "The mining fee of\n{0}\nis unexpectedly high.", + Self::bitcoin__locktime_no_effect => "Locktime is set but will have no effect.", + Self::bitcoin__locktime_set_to => "Locktime set to:", + Self::bitcoin__locktime_set_to_blockheight => "Locktime set to blockheight:", + Self::bitcoin__lot_of_change_outputs => "A lot of change-outputs.", + Self::bitcoin__multiple_accounts => "Multiple accounts", + Self::bitcoin__new_fee_rate => "New fee rate:", + Self::bitcoin__simple_send_of => "Simple send of", + Self::bitcoin__ticket_amount => "Ticket amount:", + Self::bitcoin__title_confirm_details => "CONFIRM DETAILS", + Self::bitcoin__title_finalize_transaction => "FINALIZE TRANSACTION", + Self::bitcoin__title_high_mining_fee => "HIGH MINING FEE", + Self::bitcoin__title_meld_transaction => "MELD TRANSACTIONS", + Self::bitcoin__title_modify_amount => "MODIFY AMOUNT", + Self::bitcoin__title_payjoin => "PAYJOIN", + Self::bitcoin__title_proof_of_ownership => "PROOF OF OWNERSHIP", + Self::bitcoin__title_purchase_ticket => "PURCHASE TICKET", + Self::bitcoin__title_update_transaction => "UPDATE TRANSACTION", + Self::bitcoin__unknown_path => "Unknown path", + Self::bitcoin__unknown_transaction => "Unknown transaction", + Self::bitcoin__unusually_high_fee => "Unusually high fee.", + Self::bitcoin__unverified_external_inputs => "The transaction contains unverified external inputs.", + Self::bitcoin__valid_signature => "The signature is valid.", + Self::bitcoin__voting_rights => "Voting rights to:", + Self::buttons__abort => "ABORT", + Self::buttons__access => "ACCESS", + Self::buttons__again => "AGAIN", + Self::buttons__allow => "ALLOW", + Self::buttons__back => "BACK", + Self::buttons__back_up => "BACK UP", + Self::buttons__cancel => "CANCEL", + Self::buttons__change => "CHANGE", + Self::buttons__check => "CHECK", + Self::buttons__check_again => "CHECK AGAIN", + Self::buttons__close => "CLOSE", + Self::buttons__confirm => "CONFIRM", + Self::buttons__continue => "CONTINUE", + Self::buttons__details => "DETAILS", + Self::buttons__enable => "ENABLE", + Self::buttons__enter => "ENTER", + Self::buttons__enter_share => "ENTER SHARE", + Self::buttons__export => "EXPORT", + Self::buttons__format => "FORMAT", + Self::buttons__go_back => "GO BACK", + Self::buttons__hold_to_confirm => "HOLD TO CONFIRM", + Self::buttons__info => "INFO", + Self::buttons__install => "INSTALL", + Self::buttons__more_info => "MORE INFO", + Self::buttons__ok_i_understand => "OK, I UNDERSTAND", + Self::buttons__purchase => "PURCHASE", + Self::buttons__quit => "QUIT", + Self::buttons__restart => "RESTART", + Self::buttons__retry => "RETRY", + Self::buttons__select => "SELECT", + Self::buttons__set => "SET", + Self::buttons__show_all => "SHOW ALL", + Self::buttons__show_details => "SHOW DETAILS", + Self::buttons__show_words => "SHOW WORDS", + Self::buttons__skip => "SKIP", + Self::buttons__try_again => "TRY AGAIN", + Self::buttons__turn_off => "TURN OFF", + Self::buttons__turn_on => "TURN ON", + #[cfg(feature = "universal_fw")] + Self::cardano__addr_base => "Base", + #[cfg(feature = "universal_fw")] + Self::cardano__addr_enterprise => "Enterprise", + #[cfg(feature = "universal_fw")] + Self::cardano__addr_legacy => "Legacy", + #[cfg(feature = "universal_fw")] + Self::cardano__addr_pointer => "Pointer", + #[cfg(feature = "universal_fw")] + Self::cardano__addr_reward => "Reward", + #[cfg(feature = "universal_fw")] + Self::cardano__address_no_staking => "address - no staking rewards.", + #[cfg(feature = "universal_fw")] + Self::cardano__amount_burned_decimals_unknown => "Amount burned (decimals unknown):", + #[cfg(feature = "universal_fw")] + Self::cardano__amount_minted_decimals_unknown => "Amount minted (decimals unknown):", + #[cfg(feature = "universal_fw")] + Self::cardano__amount_sent_decimals_unknown => "Amount sent (decimals unknown):", + #[cfg(feature = "universal_fw")] + Self::cardano__anonymous_pool => "Pool has no metadata (anonymous pool)", + #[cfg(feature = "universal_fw")] + Self::cardano__asset_fingerprint => "Asset fingerprint:", + #[cfg(feature = "universal_fw")] + Self::cardano__auxiliary_data_hash => "Auxiliary data hash:", + #[cfg(feature = "universal_fw")] + Self::cardano__block => "Block", + #[cfg(feature = "universal_fw")] + Self::cardano__catalyst => "Catalyst", + #[cfg(feature = "universal_fw")] + Self::cardano__certificate => "Certificate", + #[cfg(feature = "universal_fw")] + Self::cardano__change_output => "Change output", + #[cfg(feature = "universal_fw")] + Self::cardano__check_all_items => "Check all items carefully.", + #[cfg(feature = "universal_fw")] + Self::cardano__choose_level_of_details => "Choose level of details:", + #[cfg(feature = "universal_fw")] + Self::cardano__collateral_input_id => "Collateral input ID:", + #[cfg(feature = "universal_fw")] + Self::cardano__collateral_input_index => "Collateral input index:", + #[cfg(feature = "universal_fw")] + Self::cardano__collateral_output_contains_tokens => "The collateral return output contains tokens.", + #[cfg(feature = "universal_fw")] + Self::cardano__collateral_return => "Collateral return", + #[cfg(feature = "universal_fw")] + Self::cardano__confirm => "Confirm:", + #[cfg(feature = "universal_fw")] + Self::cardano__confirm_signing_stake_pool => "Confirm signing the stake pool registration as an owner.", + #[cfg(feature = "universal_fw")] + Self::cardano__confirm_transaction => "Confirm transaction", + #[cfg(feature = "universal_fw")] + Self::cardano__confirming_a_multisig_transaction => "Confirming a multisig transaction.", + #[cfg(feature = "universal_fw")] + Self::cardano__confirming_a_plutus_transaction => "Confirming a Plutus transaction.", + #[cfg(feature = "universal_fw")] + Self::cardano__confirming_pool_registration => "Confirming pool registration as owner.", + #[cfg(feature = "universal_fw")] + Self::cardano__confirming_transction => "Confirming a transaction.", + #[cfg(feature = "universal_fw")] + Self::cardano__cost => "Cost", + #[cfg(feature = "universal_fw")] + Self::cardano__credential_mismatch => "Credential doesn't match payment credential.", + #[cfg(feature = "universal_fw")] + Self::cardano__datum_hash => "Datum hash:", + #[cfg(feature = "universal_fw")] + Self::cardano__delegating_to => "Delegating to:", + #[cfg(feature = "universal_fw")] + Self::cardano__for_account_and_index_template => "for account {0} and index {1}:", + #[cfg(feature = "universal_fw")] + Self::cardano__for_account_template => "for account {0}:", + #[cfg(feature = "universal_fw")] + Self::cardano__for_key_hash => "for key hash:", + #[cfg(feature = "universal_fw")] + Self::cardano__for_script => "for script:", + #[cfg(feature = "universal_fw")] + Self::cardano__inline_datum => "Inline datum", + #[cfg(feature = "universal_fw")] + Self::cardano__input_id => "Input ID:", + #[cfg(feature = "universal_fw")] + Self::cardano__input_index => "Input index:", + #[cfg(feature = "universal_fw")] + Self::cardano__intro_text_change => "The following address is a change address. Its", + #[cfg(feature = "universal_fw")] + Self::cardano__intro_text_owned_by_device => "The following address is owned by this device. Its", + #[cfg(feature = "universal_fw")] + Self::cardano__intro_text_registration_payment => "The vote key registration payment address is owned by this device. Its", + #[cfg(feature = "universal_fw")] + Self::cardano__key_hash => "key hash", + #[cfg(feature = "universal_fw")] + Self::cardano__margin => "Margin", + #[cfg(feature = "universal_fw")] + Self::cardano__multisig_path => "multi-sig path", + #[cfg(feature = "universal_fw")] + Self::cardano__nested_scripts_template => "Contains {0} nested scripts.", + #[cfg(feature = "universal_fw")] + Self::cardano__network => "Network:", + #[cfg(feature = "universal_fw")] + Self::cardano__no_output_tx => "Transaction has no outputs, network cannot be verified.", + #[cfg(feature = "universal_fw")] + Self::cardano__nonce => "Nonce:", + #[cfg(feature = "universal_fw")] + Self::cardano__other => "other", + #[cfg(feature = "universal_fw")] + Self::cardano__path => "path", + #[cfg(feature = "universal_fw")] + Self::cardano__pledge => "Pledge", + #[cfg(feature = "universal_fw")] + Self::cardano__pointer => "pointer", + #[cfg(feature = "universal_fw")] + Self::cardano__policy_id => "Policy ID:", + #[cfg(feature = "universal_fw")] + Self::cardano__pool_metadata_hash => "Pool metadata hash:", + #[cfg(feature = "universal_fw")] + Self::cardano__pool_metadata_url => "Pool metadata url:", + #[cfg(feature = "universal_fw")] + Self::cardano__pool_owner => "Pool owner:", + #[cfg(feature = "universal_fw")] + Self::cardano__pool_reward_account => "Pool reward account:", + #[cfg(feature = "universal_fw")] + Self::cardano__reference_input_id => "Reference input ID:", + #[cfg(feature = "universal_fw")] + Self::cardano__reference_input_index => "Reference input index:", + #[cfg(feature = "universal_fw")] + Self::cardano__reference_script => "Reference script", + #[cfg(feature = "universal_fw")] + Self::cardano__required_signer => "Required signer", + #[cfg(feature = "universal_fw")] + Self::cardano__reward => "reward", + #[cfg(feature = "universal_fw")] + Self::cardano__reward_address => "Address is a reward address.", + #[cfg(feature = "universal_fw")] + Self::cardano__reward_eligibility_warning => "Warning: The address is not a payment address, it is not eligible for rewards.", + #[cfg(feature = "universal_fw")] + Self::cardano__rewards_go_to => "Rewards go to:", + #[cfg(feature = "universal_fw")] + Self::cardano__script => "script", + #[cfg(feature = "universal_fw")] + Self::cardano__script_all => "All", + #[cfg(feature = "universal_fw")] + Self::cardano__script_any => "Any", + #[cfg(feature = "universal_fw")] + Self::cardano__script_data_hash => "Script data hash:", + #[cfg(feature = "universal_fw")] + Self::cardano__script_hash => "Script hash:", + #[cfg(feature = "universal_fw")] + Self::cardano__script_invalid_before => "Invalid before", + #[cfg(feature = "universal_fw")] + Self::cardano__script_invalid_hereafter => "Invalid hereafter", + #[cfg(feature = "universal_fw")] + Self::cardano__script_key => "Key", + #[cfg(feature = "universal_fw")] + Self::cardano__script_n_of_k => "N of K", + #[cfg(feature = "universal_fw")] + Self::cardano__script_reward => "script reward", + #[cfg(feature = "universal_fw")] + Self::cardano__sending => "SENDING", + #[cfg(feature = "universal_fw")] + Self::cardano__show_simple => "Show Simple", + #[cfg(feature = "universal_fw")] + Self::cardano__sign_tx_path_template => "Sign transaction with {0}:", + #[cfg(feature = "universal_fw")] + Self::cardano__stake_delegation => "Stake delegation", + #[cfg(feature = "universal_fw")] + Self::cardano__stake_deregistration => "Stake key deregistration", + #[cfg(feature = "universal_fw")] + Self::cardano__stake_pool_registration => "Stakepool registration", + #[cfg(feature = "universal_fw")] + Self::cardano__stake_pool_registration_pool_id => "Stake pool registration\nPool ID:", + #[cfg(feature = "universal_fw")] + Self::cardano__stake_registration => "Stake key registration", + #[cfg(feature = "universal_fw")] + Self::cardano__staking_key_for_account => "Staking key for account", + #[cfg(feature = "universal_fw")] + Self::cardano__to_pool => "to pool:", + #[cfg(feature = "universal_fw")] + Self::cardano__token_minting_path => "token minting path", + #[cfg(feature = "universal_fw")] + Self::cardano__total_collateral => "Total collateral:", + #[cfg(feature = "universal_fw")] + Self::cardano__transaction => "Transaction", + #[cfg(feature = "universal_fw")] + Self::cardano__transaction_contains_minting_or_burning => "The transaction contains minting or burning of tokens.", + #[cfg(feature = "universal_fw")] + Self::cardano__transaction_contains_script_address_no_datum => "The following transaction output contains a script address, but does not contain a datum.", + #[cfg(feature = "universal_fw")] + Self::cardano__transaction_fee => "Transaction fee:", + #[cfg(feature = "universal_fw")] + Self::cardano__transaction_id => "Transaction ID:", + #[cfg(feature = "universal_fw")] + Self::cardano__transaction_no_collateral_input => "The transaction contains no collateral inputs. Plutus script will not be able to run.", + #[cfg(feature = "universal_fw")] + Self::cardano__transaction_no_script_data_hash => "The transaction contains no script data hash. Plutus script will not be able to run.", + #[cfg(feature = "universal_fw")] + Self::cardano__transaction_output_contains_tokens => "The following transaction output contains tokens.", + #[cfg(feature = "universal_fw")] + Self::cardano__ttl => "TTL:", + #[cfg(feature = "universal_fw")] + Self::cardano__unknown_collateral_amount => "Unknown collateral amount.", + #[cfg(feature = "universal_fw")] + Self::cardano__unusual_path => "Path is unusual.", + #[cfg(feature = "universal_fw")] + Self::cardano__valid_since => "Valid since:", + #[cfg(feature = "universal_fw")] + Self::cardano__verify_script => "VERIFY SCRIPT", + #[cfg(feature = "universal_fw")] + Self::cardano__vote_key_registration => "Vote key registration (CIP-36)", + #[cfg(feature = "universal_fw")] + Self::cardano__vote_public_key => "Vote public key:", + #[cfg(feature = "universal_fw")] + Self::cardano__voting_purpose => "Voting purpose:", + #[cfg(feature = "universal_fw")] + Self::cardano__warning => "Warning", + #[cfg(feature = "universal_fw")] + Self::cardano__weight => "Weight:", + #[cfg(feature = "universal_fw")] + Self::cardano__withdrawal_for_address_template => "Confirm withdrawal for {0} address:", + #[cfg(feature = "universal_fw")] + Self::cardano__x_of_y_signatures_template => "Requires {0} out of {1} signatures.", + Self::coinjoin__access_account => "Access your coinjoin account?", + Self::coinjoin__do_not_disconnect => "Do not disconnect your Trezor!", + Self::coinjoin__max_mining_fee => "Max mining fee", + Self::coinjoin__max_rounds => "Max rounds", + Self::coinjoin__title => "AUTHORIZE COINJOIN", + Self::coinjoin__title_do_not_disconnect => "DO NOT DISCONNECT YOUR TREZOR!", + Self::coinjoin__title_progress => "COINJOIN IN PROGRESS", + Self::coinjoin__waiting_for_others => "Waiting for others", + Self::confirm_total__fee_rate => "Fee rate:", + Self::confirm_total__sending_from_account => "Sending from account:", + Self::confirm_total__title_fee => "FEE INFORMATION", + Self::confirm_total__title_sending_from => "SENDING FROM", + Self::debug__loading_seed => "LOADING SEED", + Self::debug__loading_seed_not_recommended => "Loading private seed is not recommended.", + Self::device_name__change_template => "Change device name to {0}?", + Self::device_name__title => "DEVICE NAME", + Self::entropy__send => "Do you really want to send entropy?", + Self::entropy__title => "INTERNAL ENTROPY", + Self::entropy__title_confirm => "CONFIRM ENTROPY", + #[cfg(feature = "universal_fw")] + Self::eos__about_to_sign_template => "You are about to sign {0}.", + #[cfg(feature = "universal_fw")] + Self::eos__action_name => "Action Name:", + #[cfg(feature = "universal_fw")] + Self::eos__arbitrary_data => "Arbitrary data", + #[cfg(feature = "universal_fw")] + Self::eos__buy_ram => "Buy RAM", + #[cfg(feature = "universal_fw")] + Self::eos__bytes => "Bytes:", + #[cfg(feature = "universal_fw")] + Self::eos__cancel_vote => "Cancel vote", + #[cfg(feature = "universal_fw")] + Self::eos__checksum => "Checksum:", + #[cfg(feature = "universal_fw")] + Self::eos__code => "Code:", + #[cfg(feature = "universal_fw")] + Self::eos__contract => "Contract:", + #[cfg(feature = "universal_fw")] + Self::eos__cpu => "CPU:", + #[cfg(feature = "universal_fw")] + Self::eos__creator => "Creator:", + #[cfg(feature = "universal_fw")] + Self::eos__delegate => "Delegate", + #[cfg(feature = "universal_fw")] + Self::eos__delete_auth => "Delete Auth", + #[cfg(feature = "universal_fw")] + Self::eos__from => "From:", + #[cfg(feature = "universal_fw")] + Self::eos__link_auth => "Link Auth", + #[cfg(feature = "universal_fw")] + Self::eos__memo => "Memo", + #[cfg(feature = "universal_fw")] + Self::eos__name => "Name:", + #[cfg(feature = "universal_fw")] + Self::eos__net => "NET:", + #[cfg(feature = "universal_fw")] + Self::eos__new_account => "New account", + #[cfg(feature = "universal_fw")] + Self::eos__owner => "Owner:", + #[cfg(feature = "universal_fw")] + Self::eos__parent => "Parent:", + #[cfg(feature = "universal_fw")] + Self::eos__payer => "Payer:", + #[cfg(feature = "universal_fw")] + Self::eos__permission => "Permission:", + #[cfg(feature = "universal_fw")] + Self::eos__proxy => "Proxy:", + #[cfg(feature = "universal_fw")] + Self::eos__receiver => "Receiver:", + #[cfg(feature = "universal_fw")] + Self::eos__refund => "Refund", + #[cfg(feature = "universal_fw")] + Self::eos__requirement => "Requirement:", + #[cfg(feature = "universal_fw")] + Self::eos__sell_ram => "Sell RAM", + #[cfg(feature = "universal_fw")] + Self::eos__sender => "Sender:", + #[cfg(feature = "universal_fw")] + Self::eos__sign_transaction => "Sign transaction", + #[cfg(feature = "universal_fw")] + Self::eos__threshold => "Threshold:", + #[cfg(feature = "universal_fw")] + Self::eos__to => "To:", + #[cfg(feature = "universal_fw")] + Self::eos__transfer => "Transfer:", + #[cfg(feature = "universal_fw")] + Self::eos__type => "Type:", + #[cfg(feature = "universal_fw")] + Self::eos__undelegate => "Undelegate", + #[cfg(feature = "universal_fw")] + Self::eos__unlink_auth => "Unlink Auth", + #[cfg(feature = "universal_fw")] + Self::eos__update_auth => "Update Auth", + #[cfg(feature = "universal_fw")] + Self::eos__vote_for_producers => "Vote for producers", + #[cfg(feature = "universal_fw")] + Self::eos__vote_for_proxy => "Vote for proxy", + #[cfg(feature = "universal_fw")] + Self::eos__voter => "Voter:", + #[cfg(feature = "universal_fw")] + Self::ethereum__amount_sent => "Amount sent:", + #[cfg(feature = "universal_fw")] + Self::ethereum__contract => "Contract:", + #[cfg(feature = "universal_fw")] + Self::ethereum__data_size_template => "Size: {0} bytes", + #[cfg(feature = "universal_fw")] + Self::ethereum__gas_limit => "Gas limit:", + #[cfg(feature = "universal_fw")] + Self::ethereum__gas_price => "Gas price:", + #[cfg(feature = "universal_fw")] + Self::ethereum__max_gas_price => "Max gas price:", + #[cfg(feature = "universal_fw")] + Self::ethereum__name_and_version => "Name and version", + #[cfg(feature = "universal_fw")] + Self::ethereum__new_contract => "new contract?", + #[cfg(feature = "universal_fw")] + Self::ethereum__no_message_field => "No message field", + #[cfg(feature = "universal_fw")] + Self::ethereum__priority_fee => "Priority fee:", + #[cfg(feature = "universal_fw")] + Self::ethereum__show_full_array => "Show full array", + #[cfg(feature = "universal_fw")] + Self::ethereum__show_full_domain => "Show full domain", + #[cfg(feature = "universal_fw")] + Self::ethereum__show_full_message => "Show full message", + #[cfg(feature = "universal_fw")] + Self::ethereum__show_full_struct => "Show full struct", + #[cfg(feature = "universal_fw")] + Self::ethereum__sign_eip712 => "Really sign EIP-712 typed data?", + #[cfg(feature = "universal_fw")] + Self::ethereum__title_confirm_data => "CONFIRM DATA", + #[cfg(feature = "universal_fw")] + Self::ethereum__title_confirm_domain => "CONFIRM DOMAIN", + #[cfg(feature = "universal_fw")] + Self::ethereum__title_confirm_message => "CONFIRM MESSAGE", + #[cfg(feature = "universal_fw")] + Self::ethereum__title_confirm_struct => "CONFIRM STRUCT", + #[cfg(feature = "universal_fw")] + Self::ethereum__title_confirm_typed_data => "CONFIRM TYPED DATA", + #[cfg(feature = "universal_fw")] + Self::ethereum__title_signing_address => "SIGNING ADDRESS", + #[cfg(feature = "universal_fw")] + Self::ethereum__units_template => "{0} units", + #[cfg(feature = "universal_fw")] + Self::ethereum__unknown_token => "Unknown token", + #[cfg(feature = "universal_fw")] + Self::ethereum__valid_signature => "The signature is valid.", + Self::experimental_mode__enable => "Enable experimental features?", + Self::experimental_mode__only_for_dev => "Only for development and beta testing!", + Self::experimental_mode__title => "EXPERIMENTAL MODE", + #[cfg(feature = "universal_fw")] + Self::fido__already_registered => "Already registered", + #[cfg(feature = "universal_fw")] + Self::fido__device_already_registered => "This device is already registered with this application.", + #[cfg(feature = "universal_fw")] + Self::fido__device_already_registered_with_template => "This device is already registered with {0}.", + #[cfg(feature = "universal_fw")] + Self::fido__device_not_registered => "This device is not registered with this application.", + #[cfg(feature = "universal_fw")] + Self::fido__does_not_belong => "The credential you are trying to import does\nnot belong to this authenticator.", + #[cfg(feature = "universal_fw")] + Self::fido__erase_credentials => "erase all credentials?", + #[cfg(feature = "universal_fw")] + Self::fido__export_credentials => "Export information about the credentials stored on this device?", + #[cfg(feature = "universal_fw")] + Self::fido__not_registered => "Not registered", + #[cfg(feature = "universal_fw")] + Self::fido__not_registered_with_template => "This device is not registered with\n{0}.", + #[cfg(feature = "universal_fw")] + Self::fido__please_enable_pin_protection => "Please enable PIN protection.", + #[cfg(feature = "universal_fw")] + Self::fido__title_authenticate => "FIDO2 AUTHENTICATE", + #[cfg(feature = "universal_fw")] + Self::fido__title_import_credential => "IMPORT CREDENTIAL", + #[cfg(feature = "universal_fw")] + Self::fido__title_list_credentials => "LIST CREDENTIALS", + #[cfg(feature = "universal_fw")] + Self::fido__title_register => "FIDO2 REGISTER", + #[cfg(feature = "universal_fw")] + Self::fido__title_remove_credential => "REMOVE CREDENTIAL", + #[cfg(feature = "universal_fw")] + Self::fido__title_reset => "FIDO2 RESET", + #[cfg(feature = "universal_fw")] + Self::fido__title_u2f_auth => "U2F AUTHENTICATE", + #[cfg(feature = "universal_fw")] + Self::fido__title_u2f_register => "U2F REGISTER", + #[cfg(feature = "universal_fw")] + Self::fido__title_verify_user => "FIDO2 VERIFY USER", + #[cfg(feature = "universal_fw")] + Self::fido__unable_to_verify_user => "Unable to verify user.", + #[cfg(feature = "universal_fw")] + Self::fido__wanna_erase_credentials => "Do you really want to erase all credentials?", + Self::firmware_update__title => "UPDATE FIRMWARE", + Self::firmware_update__title_fingerprint => "FW FINGERPRINT", + Self::homescreen__click_to_connect => "Click to Connect", + Self::homescreen__click_to_unlock => "Click to Unlock", + Self::homescreen__title_backup_failed => "BACKUP FAILED", + Self::homescreen__title_backup_needed => "BACKUP NEEDED", + Self::homescreen__title_coinjoin_authorized => "COINJOIN AUTHORIZED", + Self::homescreen__title_experimental_mode => "EXPERIMENTAL MODE", + Self::homescreen__title_no_usb_connection => "NO USB CONNECTION", + Self::homescreen__title_pin_not_set => "PIN NOT SET", + Self::homescreen__title_seedless => "SEEDLESS", + Self::homescreen__title_set => "CHANGE HOMESCREEN?", + Self::inputs__back => "BACK", + Self::inputs__cancel => "CANCEL", + Self::inputs__delete => "DELETE", + Self::inputs__enter => "ENTER", + Self::inputs__return => "RETURN", + Self::inputs__show => "SHOW", + Self::inputs__space => "SPACE", + Self::joint__title => "JOINT TRANSACTION", + Self::joint__to_the_total_amount => "To the total amount:", + Self::joint__you_are_contributing => "You are contributing:", + Self::language__change_to_template => "Change language to {0}?", + Self::language__changed => "Language changed successfully", + Self::language__progress => "CHANGING LANGUAGE", + Self::language__title => "LANGUAGE SETTINGS", + Self::lockscreen__tap_to_connect => "Tap to connect", + Self::lockscreen__tap_to_unlock => "Tap to unlock", + Self::lockscreen__title_locked => "LOCKED", + Self::lockscreen__title_not_connected => "NOT CONNECTED", + Self::misc__decrypt_value => "DECRYPT VALUE", + Self::misc__encrypt_value => "ENCRYPT VALUE", + Self::misc__title_suite_labeling => "SUITE LABELING", + Self::modify_amount__decrease_amount => "Decrease amount by:", + Self::modify_amount__increase_amount => "Increase amount by:", + Self::modify_amount__new_amount => "New amount:", + Self::modify_amount__title => "MODIFY AMOUNT", + Self::modify_fee__decrease_fee => "Decrease fee by:", + Self::modify_fee__fee_rate => "Fee rate:", + Self::modify_fee__increase_fee => "Increase fee by:", + Self::modify_fee__new_transaction_fee => "New transaction fee:", + Self::modify_fee__no_change => "Fee did not change.\n", + Self::modify_fee__title => "MODIFY FEE", + Self::modify_fee__transaction_fee => "Transaction fee:", + #[cfg(feature = "universal_fw")] + Self::monero__confirm_export => "Confirm export", + #[cfg(feature = "universal_fw")] + Self::monero__confirm_ki_sync => "Confirm ki sync", + #[cfg(feature = "universal_fw")] + Self::monero__confirm_refresh => "Confirm refresh", + #[cfg(feature = "universal_fw")] + Self::monero__confirm_unlock_time => "Confirm unlock time", + #[cfg(feature = "universal_fw")] + Self::monero__hashing_inputs => "Hashing inputs", + #[cfg(feature = "universal_fw")] + Self::monero__payment_id => "Payment ID", + #[cfg(feature = "universal_fw")] + Self::monero__postprocessing => "Postprocessing...", + #[cfg(feature = "universal_fw")] + Self::monero__processing => "Processing...", + #[cfg(feature = "universal_fw")] + Self::monero__processing_inputs => "Processing inputs", + #[cfg(feature = "universal_fw")] + Self::monero__processing_outputs => "Processing outputs", + #[cfg(feature = "universal_fw")] + Self::monero__signing => "Signing...", + #[cfg(feature = "universal_fw")] + Self::monero__signing_inputs => "Signing inputs", + #[cfg(feature = "universal_fw")] + Self::monero__unlock_time_set_template => "Unlock time for this transaction is set to {0}", + #[cfg(feature = "universal_fw")] + Self::monero__wanna_export_tx_der => "Do you really want to export tx_der\nfor tx_proof?", + #[cfg(feature = "universal_fw")] + Self::monero__wanna_export_tx_key => "Do you really want to export tx_key?", + #[cfg(feature = "universal_fw")] + Self::monero__wanna_export_watchkey => "Do you really want to export watch-only credentials?", + #[cfg(feature = "universal_fw")] + Self::monero__wanna_start_refresh => "Do you really want to\nstart refresh?", + #[cfg(feature = "universal_fw")] + Self::monero__wanna_sync_key_images => "Do you really want to\nsync key images?", + #[cfg(feature = "universal_fw")] + Self::nem__absolute => "absolute", + #[cfg(feature = "universal_fw")] + Self::nem__activate => "Activate", + #[cfg(feature = "universal_fw")] + Self::nem__add => "Add", + #[cfg(feature = "universal_fw")] + Self::nem__confirm_action => "Confirm action", + #[cfg(feature = "universal_fw")] + Self::nem__confirm_address => "Confirm address", + #[cfg(feature = "universal_fw")] + Self::nem__confirm_creation_fee => "Confirm creation fee", + #[cfg(feature = "universal_fw")] + Self::nem__confirm_mosaic => "Confirm mosaic", + #[cfg(feature = "universal_fw")] + Self::nem__confirm_multisig_fee => "Confirm multisig fee", + #[cfg(feature = "universal_fw")] + Self::nem__confirm_namespace => "Confirm namespace", + #[cfg(feature = "universal_fw")] + Self::nem__confirm_payload => "Confirm payload", + #[cfg(feature = "universal_fw")] + Self::nem__confirm_properties => "Confirm properties", + #[cfg(feature = "universal_fw")] + Self::nem__confirm_rental_fee => "Confirm rental fee", + #[cfg(feature = "universal_fw")] + Self::nem__confirm_transfer_of => "Confirm transfer of", + #[cfg(feature = "universal_fw")] + Self::nem__convert_account_to_multisig => "Convert account to multisig account?", + #[cfg(feature = "universal_fw")] + Self::nem__cosign_transaction_for => "Cosign transaction for", + #[cfg(feature = "universal_fw")] + Self::nem__cosignatory => " cosignatory", + #[cfg(feature = "universal_fw")] + Self::nem__create_mosaic => "Create mosaic", + #[cfg(feature = "universal_fw")] + Self::nem__create_namespace => "Create namespace", + #[cfg(feature = "universal_fw")] + Self::nem__deactivate => "Deactivate", + #[cfg(feature = "universal_fw")] + Self::nem__decrease => "Decrease", + #[cfg(feature = "universal_fw")] + Self::nem__description => "Description:", + #[cfg(feature = "universal_fw")] + Self::nem__divisibility_and_levy_cannot_be_shown => "Divisibility and levy cannot be shown for unknown mosaics", + #[cfg(feature = "universal_fw")] + Self::nem__encrypted => "Encrypted:", + #[cfg(feature = "universal_fw")] + Self::nem__final_confirm => "FINAL CONFIRM", + #[cfg(feature = "universal_fw")] + Self::nem__immutable => "immutable", + #[cfg(feature = "universal_fw")] + Self::nem__increase => "Increase", + #[cfg(feature = "universal_fw")] + Self::nem__initial_supply => "Initial supply:", + #[cfg(feature = "universal_fw")] + Self::nem__initiate_transaction_for => "Initiate transaction for", + #[cfg(feature = "universal_fw")] + Self::nem__levy_divisibility => "Levy divisibility:", + #[cfg(feature = "universal_fw")] + Self::nem__levy_fee => "Levy fee:", + #[cfg(feature = "universal_fw")] + Self::nem__levy_fee_of => "Confirm mosaic levy fee of", + #[cfg(feature = "universal_fw")] + Self::nem__levy_mosaic => "Levy mosaic:", + #[cfg(feature = "universal_fw")] + Self::nem__levy_namespace => "Levy namespace:", + #[cfg(feature = "universal_fw")] + Self::nem__levy_recipient => "Levy recipient:", + #[cfg(feature = "universal_fw")] + Self::nem__levy_type => "Levy type:", + #[cfg(feature = "universal_fw")] + Self::nem__modify_supply_for => "Modify supply for", + #[cfg(feature = "universal_fw")] + Self::nem__modify_the_number_of_cosignatories_by => "Modify the number of cosignatories by ", + #[cfg(feature = "universal_fw")] + Self::nem__mutable => "mutable", + #[cfg(feature = "universal_fw")] + Self::nem__of => "of", + #[cfg(feature = "universal_fw")] + Self::nem__percentile => "percentile", + #[cfg(feature = "universal_fw")] + Self::nem__raw_units_template => "{0} raw units", + #[cfg(feature = "universal_fw")] + Self::nem__remote_harvesting => " remote harvesting?", + #[cfg(feature = "universal_fw")] + Self::nem__remove => "Remove", + #[cfg(feature = "universal_fw")] + Self::nem__set_minimum_cosignatories_to => "Set minimum cosignatories to ", + #[cfg(feature = "universal_fw")] + Self::nem__sign_tx_fee_template => "Sign this transaction\nand pay {0}\nfor network fee?", + #[cfg(feature = "universal_fw")] + Self::nem__supply_change => "Supply change", + #[cfg(feature = "universal_fw")] + Self::nem__supply_units_template => "{0} supply by {1} whole units?", + #[cfg(feature = "universal_fw")] + Self::nem__transferable => "Transferable?", + #[cfg(feature = "universal_fw")] + Self::nem__under_namespace => "under namespace", + #[cfg(feature = "universal_fw")] + Self::nem__unencrypted => "Unencrypted:", + #[cfg(feature = "universal_fw")] + Self::nem__unknown_mosaic => "Unknown mosaic!", + Self::passphrase__access_hidden_wallet => "Access hidden wallet?", + Self::passphrase__always_on_device => "Do you really want to enter passphrase always on the device?", + Self::passphrase__from_host_not_shown => "Passphrase provided by host will be used but will not be displayed due to the device settings.", + Self::passphrase__hidden_wallet => "HIDDEN WALLET", + Self::passphrase__hide => "Hide passphrase coming from host?", + Self::passphrase__next_screen_will_show_passphrase => "Next screen will show the passphrase.", + Self::passphrase__please_enter => "Please enter your passphrase.", + Self::passphrase__revoke_on_device => "Do you want to revoke the passphrase on device setting?", + Self::passphrase__title_confirm => "CONFIRM PASSPHRASE", + Self::passphrase__title_enter => "ENTER PASSPHRASE", + Self::passphrase__title_hide => "HIDE PASSPHRASE", + Self::passphrase__title_settings => "PASSPHRASE SETTINGS", + Self::passphrase__title_source => "PASSPHRASE SOURCE", + Self::passphrase__turn_off => "Turn off passphrase protection?", + Self::passphrase__turn_on => "Turn on passphrase protection?", + Self::pin__change => "Change PIN?", + Self::pin__changed => "PIN changed.", + Self::pin__cursor_will_change => "Position of the cursor will change between entries for enhanced security.", + Self::pin__diff_from_wipe_code => "The new PIN must be different from your wipe code.", + Self::pin__disabled => "PIN protection\nturned off.", + Self::pin__enabled => "PIN protection\nturned on.", + Self::pin__enter => "Enter PIN", + Self::pin__enter_new => "Enter new PIN", + Self::pin__entered_not_valid => "The PIN you have entered is not valid.", + Self::pin__info => "PIN will be required to access this device.", + Self::pin__invalid_pin => "Invalid PIN", + Self::pin__last_attempt => "Last attempt", + Self::pin__mismatch => "Entered PINs do not match!", + Self::pin__pin_mismatch => "PIN mismatch", + Self::pin__please_check_again => "Please check again.", + Self::pin__reenter_new => "Re-enter new PIN", + Self::pin__reenter_to_confirm => "Please re-enter PIN to confirm.", + Self::pin__should_be_long => "PIN should be 4-50 digits long.", + Self::pin__title_check_pin => "CHECK PIN", + Self::pin__title_settings => "PIN SETTINGS", + Self::pin__title_wrong_pin => "WRONG PIN", + Self::pin__tries_left => "tries left", + Self::pin__turn_off => "Are you sure you want to turn off PIN protection?", + Self::pin__turn_on => "Turn on PIN protection?", + Self::pin__wrong_pin => "Wrong PIN", + Self::plurals__contains_x_keys => "key|keys", + Self::plurals__lock_after_x_hours => "hour|hours", + Self::plurals__lock_after_x_milliseconds => "millisecond|milliseconds", + Self::plurals__lock_after_x_minutes => "minute|minutes", + Self::plurals__lock_after_x_seconds => "second|seconds", + Self::plurals__sign_x_actions => "action|actions", + Self::plurals__transaction_of_x_operations => "operation|operations", + Self::plurals__x_groups_needed => "group|groups", + Self::plurals__x_shares_needed => "share|shares", + Self::progress__authenticity_check => "Checking authenticity...", + Self::progress__done => "Done", + Self::progress__loading_transaction => "Loading transaction...", + Self::progress__locking_device => "Locking the device...", + Self::progress__one_second_left => "1 second left", + Self::progress__title_please_wait => "PLEASE WAIT", + Self::storage_msg__title_processing => "PROCESSING", + Self::progress__refreshing => "Refreshing...", + Self::progress__signing_transaction => "Signing transaction...", + Self::progress__syncing => "Syncing...", + Self::progress__x_seconds_left_template => "{0} seconds left", + Self::reboot_to_bootloader__restart => "Trezor will restart in bootloader mode.", + Self::reboot_to_bootloader__title => "GO TO BOOTLOADER", + Self::reboot_to_bootloader__version_by_template => "Firmware version {0}\nby {1}", + Self::recovery__cancel_dry_run => "Cancel backup check", + Self::recovery__check_dry_run => "Check your backup?", + Self::recovery__cursor_will_change => "Position of the cursor will change between entries for enhanced security.", + Self::recovery__dry_run_bip39_valid_match => "The entered recovery seed is valid and matches the one in the device.", + Self::recovery__dry_run_bip39_valid_mismatch => "The entered recovery seed is valid but does not match the one in the device.", + Self::recovery__dry_run_slip39_valid_match => "The entered recovery shares are valid and match what is currently in the device.", + Self::recovery__dry_run_slip39_valid_mismatch => "The entered recovery shares are valid but do not match what is currently in the device.", + Self::recovery__enter_any_share => "Enter any share", + Self::recovery__enter_backup => "Enter your backup.", + Self::recovery__enter_different_share => "Please enter a different share.", + Self::recovery__enter_share_from_diff_group => "Enter share from a different group.", + Self::recovery__group_num_template => "Group {0}", + Self::recovery__group_threshold_reached => "Group threshold reached.", + Self::recovery__invalid_seed_entered => "Invalid recovery seed entered.", + Self::recovery__invalid_share_entered => "Invalid recovery share entered.", + Self::recovery__more_shares_needed => "More shares needed", + Self::recovery__num_of_words => "Select the number of words in your backup.", + Self::recovery__only_first_n_letters => "You'll only have to select the first 2-4 letters of each word.", + Self::recovery__progress_will_be_lost => "All progress will be lost.", + Self::recovery__select_num_of_words => "Select the number of words in your backup.", + Self::recovery__share_already_entered => "Share already entered", + Self::recovery__share_from_another_shamir => "You have entered a share from another Shamir Backup.", + Self::recovery__share_num_template => "Share {0}", + Self::recovery__title => "RECOVER WALLET", + Self::recovery__title_cancel_dry_run => "CANCEL BACKUP CHECK", + Self::recovery__title_cancel_recovery => "CANCEL RECOVERY", + Self::recovery__title_dry_run => "BACKUP CHECK", + Self::recovery__title_recover => "RECOVER WALLET", + Self::recovery__title_remaining_shares => "REMAINING SHARES", + Self::recovery__type_word_x_of_y_template => "Type word {0} of {1}", + Self::recovery__wallet_recovered => "Wallet recovered successfully", + Self::recovery__wanna_cancel_dry_run => "Are you sure you want to cancel the backup check?", + Self::recovery__wanna_cancel_recovery => "Are you sure you want to cancel the recovery process?", + Self::recovery__word_count_template => "({0} words)", + Self::recovery__word_x_of_y_title_template => "WORD {0} OF {1}", + Self::recovery__x_more_items_starting_template_plural => "{count} more {plural} starting", + Self::recovery__x_more_shares_needed_template_plural => "{count} more {plural} needed.", + Self::recovery__x_of_y_entered_template => "{0} of {1} shares entered successfully.", + Self::recovery__you_have_entered => "You have entered", + Self::reset__advanced_group_threshold_info => "The group threshold specifies the number of groups required to recover your wallet.", + Self::reset__all_x_of_y_template => "all {0} of {1} shares", + Self::reset__any_x_of_y_template => "any {0} of {1} shares", + Self::reset__button_create => "CREATE WALLET", + Self::reset__button_recover => "RECOVER WALLET", + Self::reset__by_continuing => "By continuing you agree to Trezor Company's terms and conditions.", + Self::reset__check_backup_title => "CHECK BACKUP", + Self::reset__check_group_share_title_template => "CHECK G{0} - SHARE {1}", + Self::reset__check_seed_title => "CHECK SEED", + Self::reset__check_share_title_template => "CHECK SHARE #{0}", + Self::reset__continue_with_next_share => "Continue with the next share.", + Self::reset__continue_with_share_template => "Continue with share #{0}.", + Self::reset__finished_verifying_group_template => "You have finished verifying your recovery shares for group {0}.", + Self::reset__finished_verifying_seed => "You have finished verifying your recovery seed.", + Self::reset__finished_verifying_shares => "You have finished verifying your recovery shares.", + Self::reset__group_description => "A group is made up of recovery shares.", + Self::reset__group_info => "Each group has a set number of shares and its own threshold. In the next steps you will set the numbers of shares and the thresholds.", + Self::reset__group_share_checked_successfully_template => "Group {0} - Share {1} checked successfully.", + Self::reset__group_share_title_template => "GROUP {0} - SHARE {1}", + Self::reset__more_info_at => "More info at", + Self::reset__need_all_share_template => "For recovery you need all {0} of the shares.", + Self::reset__need_any_share_template => "For recovery you need any {0} of the shares.", + Self::reset__needed_to_form_a_group => "needed to form a group. ", + Self::reset__needed_to_recover_your_wallet => "needed to recover your wallet. ", + Self::reset__never_make_digital_copy => "Never make a digital copy of your backup or upload it online!", + Self::reset__num_of_share_holders_template => "{0} people or locations will each hold one share.", + Self::reset__num_of_shares_advanced_info_template => "Each recovery share is a sequence of 20 words. Next you will choose the threshold number of shares needed to form Group {0}.", + Self::reset__num_of_shares_basic_info => "Each recovery share is a sequence of 20 words. Next you will choose how many shares you need to recover your wallet.", + Self::reset__num_shares_for_group_template => "The required number of shares to form Group {0}.", + Self::reset__number_of_shares_info => "= total number of unique word lists used for wallet backup.", + Self::reset__one_share => "1 share", + Self::reset__only_one_share_will_be_created => "Only one share will be created.", + Self::reset__recovery_seed_title => "RECOVERY SEED", + Self::reset__recovery_share_title_template => "RECOVERY SHARE #{0}", + Self::reset__required_number_of_groups => "The required number of groups for recovery.", + Self::reset__select_correct_word => "Select the correct word for each position.", + Self::reset__select_word_title_template => "SELECT {0} WORD", + Self::reset__select_word_x_of_y_template => "Select word {0} of {1}:", + Self::reset__set_it_to_count_template => "Set it to {0} and you will need ", + Self::reset__share_checked_successfully_template => "Recovery share #{0} checked successfully.", + Self::reset__share_words_title => "STANDARD BACKUP", + Self::reset__slip39_checklist_num_groups => "Number of groups", + Self::reset__slip39_checklist_num_shares => "Number of shares", + Self::reset__slip39_checklist_set_num_groups => "Set number of groups", + Self::reset__slip39_checklist_set_num_shares => "Set number of shares", + Self::reset__slip39_checklist_set_sizes => "Set sizes and thresholds", + Self::reset__slip39_checklist_set_sizes_longer => "Set size and threshold for each group", + Self::reset__slip39_checklist_set_threshold => "Set threshold", + Self::reset__slip39_checklist_title => "BACKUP CHECKLIST", + Self::reset__slip39_checklist_write_down => "Write down and check all shares", + Self::reset__slip39_checklist_write_down_recovery => "Write down and check all recovery shares", + Self::reset__the_threshold_sets_the_number_of_shares => "The threshold sets the number of shares ", + Self::reset__threshold_info => "= minimum number of unique word lists used for recovery.", + Self::reset__title_backup_is_done => "BACKUP IS DONE", + Self::reset__title_create_wallet => "CREATE WALLET", + Self::reset__title_create_wallet_shamir => "CREATE WALLET (SHAMIR)", + Self::reset__title_group_threshold => "GROUP THRESHOLD", + Self::reset__title_number_of_groups => "NUMBER OF GROUPS", + Self::reset__title_number_of_shares => "NUMBER OF SHARES", + Self::reset__title_set_group_threshold => "SET GROUP THRESHOLD", + Self::reset__title_set_number_of_groups => "SET NUMBER OF GROUPS", + Self::reset__title_set_number_of_shares => "SET NUMBER OF SHARES", + Self::reset__title_set_threshold => "SET THRESHOLD", + Self::reset__to_form_group_template => "to form Group {0}.", + Self::reset__tos_link => "trezor.io/tos", + Self::reset__total_number_of_shares_in_group_template => "Set the total number of shares in Group {0}.", + Self::reset__use_your_backup => "Use your backup when you need to recover your wallet.", + Self::reset__write_down_words_template => "Write down all {0} words in order.", + Self::reset__wrong_word_selected => "Wrong word selected!", + Self::reset__you_need_one_share => "For recovery you need 1 share.", + Self::reset__your_backup_is_done => "Your backup is done.", + #[cfg(feature = "universal_fw")] + Self::ripple__confirm_tag => "Confirm tag", + #[cfg(feature = "universal_fw")] + Self::ripple__destination_tag_template => "Destination tag:\n{0}", + Self::rotation__change_template => "Do you want to change device rotation to {0}?", + Self::rotation__east => "east", + Self::rotation__north => "north", + Self::rotation__south => "south", + Self::rotation__title_change => "CHANGE ROTATION", + Self::rotation__west => "west", + Self::safety_checks__approve_unsafe_always => "Trezor will allow you to approve some actions which might be unsafe.", + Self::safety_checks__approve_unsafe_temporary => "Trezor will temporarily allow you to approve some actions which might be unsafe.", + Self::safety_checks__enforce_strict => "Do you really want to enforce strict safety checks (recommended)?", + Self::safety_checks__title => "SAFETY CHECKS", + Self::safety_checks__title_safety_override => "SAFETY OVERRIDE", + Self::sd_card__all_data_will_be_lost => "All data on the SD card will be lost.", + Self::sd_card__card_required => "SD card required.", + Self::sd_card__disable => "Do you really want to remove SD card protection from your device?", + Self::sd_card__disabled => "You have successfully disabled SD protection.", + Self::sd_card__enable => "Do you really want to secure your device with SD card protection?", + Self::sd_card__enabled => "You have successfully enabled SD protection.", + Self::sd_card__error => "SD CARD ERROR", + Self::sd_card__format_card => "FORMAT SD CARD", + Self::sd_card__insert_correct_card => "Please insert the correct SD card for this device.", + Self::sd_card__please_insert => "Please insert your SD card.", + Self::sd_card__please_unplug_and_insert => "Please unplug the device and insert your SD card.", + Self::sd_card__problem_accessing => "There was a problem accessing the SD card.", + Self::sd_card__refresh => "Do you really want to replace the current SD card secret with a newly generated one?", + Self::sd_card__refreshed => "You have successfully refreshed SD protection.", + Self::sd_card__restart => "Do you want to restart Trezor in bootloader mode?", + Self::sd_card__title => "SD CARD PROTECTION", + Self::sd_card__title_problem => "SD CARD PROBLEM", + Self::sd_card__unknown_filesystem => "Unknown filesystem.", + Self::sd_card__unplug_and_insert_correct => "Please unplug the device and insert the correct SD card.", + Self::sd_card__use_different_card => "Use a different card or format the SD card to the FAT32 filesystem.", + Self::sd_card__wanna_format => "Do you really want to format the SD card?", + Self::sd_card__wrong_sd_card => "Wrong SD card.", + Self::send__address_path => "address path", + Self::send__confirm_sending => "Sending amount", + Self::send__from_multiple_accounts => "Sending from multiple accounts.", + Self::send__including_fee => "Including fee:", + Self::send__maximum_fee => "Maximum fee:", + Self::send__receiving_to_multisig => "Receiving to a multisig address.", + Self::send__title_confirm_sending => "CONFIRM SENDING", + Self::send__title_joint_transaction => "JOINT TRANSACTION", + Self::send__title_receiving_to => "RECEIVING TO", + Self::send__title_sending => "SENDING", + Self::send__title_sending_amount => "SENDING AMOUNT", + Self::send__title_sending_to => "SENDING TO", + Self::send__to_the_total_amount => "To the total amount:", + Self::send__total_amount => "Total amount:", + Self::send__transaction_id => "Transaction ID:", + Self::send__you_are_contributing => "You are contributing:", + Self::share_words__words_in_order => " words in order.", + Self::share_words__wrote_down_all => "I wrote down all ", + Self::sign_message__bytes_template => "{0} Bytes", + Self::sign_message__title_confirm_address => "SIGNING ADDRESS", + Self::sign_message__title_confirm_message => "CONFIRM MESSAGE", + Self::sign_message__message_size => "Message size:", + Self::sign_message__title_verify_address => "VERIFY ADDRESS", + #[cfg(feature = "universal_fw")] + Self::solana__account_index => "Account index", + #[cfg(feature = "universal_fw")] + Self::solana__associated_token_account => "Associated token account", + #[cfg(feature = "universal_fw")] + Self::solana__confirm_multisig => "Confirm multisig", + #[cfg(feature = "universal_fw")] + Self::solana__expected_fee => "Expected fee", + #[cfg(feature = "universal_fw")] + Self::solana__instruction_accounts_template => "Instruction contains {0} accounts and its data is {1} bytes long.", + #[cfg(feature = "universal_fw")] + Self::solana__instruction_data => "Instruction data", + #[cfg(feature = "universal_fw")] + Self::solana__instruction_is_multisig => "The following instruction is a multisig instruction.", + #[cfg(feature = "universal_fw")] + Self::solana__is_provided_via_lookup_table_template => "{0} is provided via a lookup table.", + #[cfg(feature = "universal_fw")] + Self::solana__lookup_table_address => "Lookup table address", + #[cfg(feature = "universal_fw")] + Self::solana__multiple_signers => "Multiple signers", + #[cfg(feature = "universal_fw")] + Self::solana__token_address => "Token address", + #[cfg(feature = "universal_fw")] + Self::solana__transaction_contains_unknown_instructions => "Transaction contains unknown instructions.", + #[cfg(feature = "universal_fw")] + Self::solana__transaction_requires_x_signers_template => "Transaction requires {0} signers which increases the fee.", + #[cfg(feature = "universal_fw")] + Self::stellar__account_merge => "Account Merge", + #[cfg(feature = "universal_fw")] + Self::stellar__account_thresholds => "Account Thresholds", + #[cfg(feature = "universal_fw")] + Self::stellar__add_signer => "Add Signer", + #[cfg(feature = "universal_fw")] + Self::stellar__add_trust => "Add trust", + #[cfg(feature = "universal_fw")] + Self::stellar__all_will_be_sent_to => "All XLM will be sent to:", + #[cfg(feature = "universal_fw")] + Self::stellar__allow_trust => "Allow trust", + #[cfg(feature = "universal_fw")] + Self::stellar__asset => "Asset", + #[cfg(feature = "universal_fw")] + Self::stellar__balance_id => "Balance ID", + #[cfg(feature = "universal_fw")] + Self::stellar__bump_sequence => "Bump Sequence", + #[cfg(feature = "universal_fw")] + Self::stellar__buying => "Buying:", + #[cfg(feature = "universal_fw")] + Self::stellar__claim_claimable_balance => "Claim Claimable Balance", + #[cfg(feature = "universal_fw")] + Self::stellar__clear_data => "Clear data", + #[cfg(feature = "universal_fw")] + Self::stellar__clear_flags => "Clear flags", + #[cfg(feature = "universal_fw")] + Self::stellar__confirm_issuer => "CONFIRM ISSUER", + #[cfg(feature = "universal_fw")] + Self::stellar__confirm_memo => "CONFIRM MEMO", + #[cfg(feature = "universal_fw")] + Self::stellar__confirm_network => "Confirm network", + #[cfg(feature = "universal_fw")] + Self::stellar__confirm_operation => "Confirm operation", + #[cfg(feature = "universal_fw")] + Self::stellar__confirm_stellar => "CONFIRM STELLAR", + #[cfg(feature = "universal_fw")] + Self::stellar__confirm_timebounds => "Confirm timebounds", + #[cfg(feature = "universal_fw")] + Self::stellar__create_account => "Create Account", + #[cfg(feature = "universal_fw")] + Self::stellar__debited_amount => "Debited amount", + #[cfg(feature = "universal_fw")] + Self::stellar__delete => "Delete", + #[cfg(feature = "universal_fw")] + Self::stellar__delete_passive_offer => "Delete Passive Offer", + #[cfg(feature = "universal_fw")] + Self::stellar__delete_trust => "Delete trust", + #[cfg(feature = "universal_fw")] + Self::stellar__destination => "Destination:", + #[cfg(feature = "universal_fw")] + Self::stellar__exchanges_require_memo => "Important: Many exchanges require a memo when depositing", + #[cfg(feature = "universal_fw")] + Self::stellar__final_confirm => "Final confirm", + #[cfg(feature = "universal_fw")] + Self::stellar__hash => "Hash:", + #[cfg(feature = "universal_fw")] + Self::stellar__high => "High:", + #[cfg(feature = "universal_fw")] + Self::stellar__home_domain => "Home Domain", + #[cfg(feature = "universal_fw")] + Self::stellar__inflation => "Inflation", + #[cfg(feature = "universal_fw")] + Self::stellar__initial_balance => "Initial Balance", + #[cfg(feature = "universal_fw")] + Self::stellar__initialize_signing_with => "Initialize signing with", + #[cfg(feature = "universal_fw")] + Self::stellar__issuer_template => "{0} issuer:", + #[cfg(feature = "universal_fw")] + Self::stellar__key => "Key:", + #[cfg(feature = "universal_fw")] + Self::stellar__limit => "Limit:", + #[cfg(feature = "universal_fw")] + Self::stellar__low => "Low:", + #[cfg(feature = "universal_fw")] + Self::stellar__master_weight => "Master Weight:", + #[cfg(feature = "universal_fw")] + Self::stellar__medium => "Medium:", + #[cfg(feature = "universal_fw")] + Self::stellar__new_offer => "New Offer", + #[cfg(feature = "universal_fw")] + Self::stellar__new_passive_offer => "New Passive Offer", + #[cfg(feature = "universal_fw")] + Self::stellar__no_memo_set => "No memo set!", + #[cfg(feature = "universal_fw")] + Self::stellar__no_restriction => "[no restriction]", + #[cfg(feature = "universal_fw")] + Self::stellar__on_network_template => "Transaction is on {0}", + #[cfg(feature = "universal_fw")] + Self::stellar__path_pay => "Path Pay", + #[cfg(feature = "universal_fw")] + Self::stellar__path_pay_at_least => "Path Pay at least", + #[cfg(feature = "universal_fw")] + Self::stellar__pay => "Pay:", + #[cfg(feature = "universal_fw")] + Self::stellar__pay_at_most => "Pay at most:", + #[cfg(feature = "universal_fw")] + Self::stellar__preauth_transaction => "Pre-auth transaction:", + #[cfg(feature = "universal_fw")] + Self::stellar__price_per_template => "Price per {0}:", + #[cfg(feature = "universal_fw")] + Self::stellar__private_network => "private network", + #[cfg(feature = "universal_fw")] + Self::stellar__remove_signer => "Remove Signer", + #[cfg(feature = "universal_fw")] + Self::stellar__revoke_trust => "REVOKE TRUST", + #[cfg(feature = "universal_fw")] + Self::stellar__selling => "Selling:", + #[cfg(feature = "universal_fw")] + Self::stellar__set_data => "Set data", + #[cfg(feature = "universal_fw")] + Self::stellar__set_flags => "Set flags", + #[cfg(feature = "universal_fw")] + Self::stellar__set_sequence_to_template => "Set sequence to {0}?", + #[cfg(feature = "universal_fw")] + Self::stellar__sign_tx_count_template => "Sign this transaction made up of {0}", + #[cfg(feature = "universal_fw")] + Self::stellar__sign_tx_fee_template => "and pay {0}\nfor fee?", + #[cfg(feature = "universal_fw")] + Self::stellar__source_account => "Source account:", + #[cfg(feature = "universal_fw")] + Self::stellar__testnet_network => "testnet network", + #[cfg(feature = "universal_fw")] + Self::stellar__trusted_account => "Trusted Account", + #[cfg(feature = "universal_fw")] + Self::stellar__update => "Update", + #[cfg(feature = "universal_fw")] + Self::stellar__valid_from => "Valid from (UTC)", + #[cfg(feature = "universal_fw")] + Self::stellar__valid_to => "Valid to (UTC)", + #[cfg(feature = "universal_fw")] + Self::stellar__value_sha256 => "Value (SHA-256):", + #[cfg(feature = "universal_fw")] + Self::stellar__wanna_clean_value_key_template => "Do you want to clear value key {0}?", + #[cfg(feature = "universal_fw")] + Self::stellar__your_account => " your account", + #[cfg(feature = "universal_fw")] + Self::tezos__baker_address => "Baker address:", + #[cfg(feature = "universal_fw")] + Self::tezos__balance => "Balance:", + #[cfg(feature = "universal_fw")] + Self::tezos__ballot => "Ballot:", + #[cfg(feature = "universal_fw")] + Self::tezos__confirm_delegation => "Confirm delegation", + #[cfg(feature = "universal_fw")] + Self::tezos__confirm_origination => "Confirm origination", + #[cfg(feature = "universal_fw")] + Self::tezos__delegator => "Delegator:", + #[cfg(feature = "universal_fw")] + Self::tezos__proposal => "Proposal", + #[cfg(feature = "universal_fw")] + Self::tezos__register_delegate => "Register delegate", + #[cfg(feature = "universal_fw")] + Self::tezos__remove_delegation => "Remove delegation", + #[cfg(feature = "universal_fw")] + Self::tezos__submit_ballot => "Submit ballot", + #[cfg(feature = "universal_fw")] + Self::tezos__submit_proposal => "Submit proposal", + #[cfg(feature = "universal_fw")] + Self::tezos__submit_proposals => "Submit proposals", + Self::tutorial__middle_click => "Press both left and right at the same\ntime to confirm.", + Self::tutorial__press_and_hold => "Press and hold the right button to\napprove important operations.", + Self::tutorial__ready_to_use => "You're ready to\nuse Trezor.", + Self::tutorial__scroll_down => "Press right to scroll down to read all content when text doesn't fit on one screen.\n\rPress left to scroll up.", + Self::tutorial__sure_you_want_skip => "Are you sure you\nwant to skip the tutorial?", + Self::tutorial__title_hello => "HELLO", + Self::tutorial__title_screen_scroll => "SCREEN SCROLL", + Self::tutorial__title_skip => "SKIP TUTORIAL", + Self::tutorial__title_tutorial_complete => "TUTORIAL COMPLETE", + Self::tutorial__use_trezor => "Use Trezor by\nclicking the left and right buttons.\n\rContinue right.", + Self::tutorial__welcome_press_right => "Welcome to Trezor. Press right to continue.", + #[cfg(feature = "universal_fw")] + Self::u2f__get => "Increase and retrieve the U2F counter?", + #[cfg(feature = "universal_fw")] + Self::u2f__set_template => "Set the U2F counter to {0}?", + #[cfg(feature = "universal_fw")] + Self::u2f__title_get => "GET U2F COUNTER", + #[cfg(feature = "universal_fw")] + Self::u2f__title_set => "SET U2F COUNTER", + Self::wipe__info => "All data will be erased.", + Self::wipe__title => "WIPE DEVICE", + Self::wipe__want_to_wipe => "Do you really want to wipe the device?\n", + Self::wipe_code__change => "Change wipe code?", + Self::wipe_code__changed => "Wipe code changed.", + Self::wipe_code__diff_from_pin => "The wipe code must be different from your PIN.", + Self::wipe_code__disabled => "Wipe code disabled.", + Self::wipe_code__enabled => "Wipe code enabled.", + Self::wipe_code__enter_new => "Enter new wipe code", + Self::wipe_code__info => "Wipe code can be used to erase all data from this device.", + Self::wipe_code__invalid => "Invalid wipe code", + Self::wipe_code__mismatch => "The wipe codes you entered do not match.", + Self::wipe_code__reenter => "Re-enter wipe code", + Self::wipe_code__reenter_to_confirm => "Please re-enter wipe code to confirm.", + Self::wipe_code__title_check => "CHECK WIPE CODE", + Self::wipe_code__title_invalid => "INVALID WIPE CODE", + Self::wipe_code__title_settings => "WIPE CODE SETTINGS", + Self::wipe_code__turn_off => "Turn off wipe code protection?", + Self::wipe_code__turn_on => "Turn on wipe code protection?", + Self::wipe_code__wipe_code_mismatch => "Wipe code mismatch", + Self::word_count__title => "NUMBER OF WORDS", + Self::words__account => "Account", + Self::words__account_colon => "Account:", + Self::words__address => "Address", + Self::words__amount => "AMOUNT", + Self::words__are_you_sure => "Are you sure?", + Self::words__array_of => "Array of", + Self::words__blockhash => "Blockhash", + Self::words__buying => "Buying", + Self::words__confirm => "CONFIRM", + Self::words__confirm_fee => "CONFIRM FEE", + Self::words__contains => "Contains", + Self::words__continue_anyway => "Continue anyway?", + Self::words__continue_with => "Continue with", + Self::words__error => "Error", + Self::words__fee => "Fee", + Self::words__from => "from", + Self::words__keep_it_safe => "Keep it safe!", + Self::words__know_what_your_doing => "Continue only if you know what you are doing!", + Self::words__my_trezor => "My Trezor", + Self::words__no => "No", + Self::words__outputs => "outputs", + Self::words__please_check_again => "Please check again", + Self::words__please_try_again => "Please try again", + Self::words__really_wanna => "Do you really want to", + Self::words__title_recipient => "RECIPIENT", + Self::words__sign => "SIGN", + Self::words__signer => "SIGNER", + Self::words__title_check => "CHECK", + Self::words__title_group => "GROUP", + Self::words__title_information => "INFORMATION", + Self::words__title_remember => "REMEMBER", + Self::words__title_share => "SHARE", + Self::words__title_shares => "SHARES", + Self::words__title_success => "SUCCESS", + Self::words__title_summary => "SUMMARY", + Self::words__title_threshold => "THRESHOLD", + Self::words__unknown => "Unknown", + Self::words__warning => "WARNING", + Self::words__writable => "Writable", + Self::words__yes => "Yes", + Self::reboot_to_bootloader__just_a_moment => "Just a moment...", + Self::inputs__previous => "PREVIOUS", + #[cfg(feature = "universal_fw")] + Self::ethereum__staking_title_claim => "CLAIM", + #[cfg(feature = "universal_fw")] + Self::ethereum__staking_title_claim_address => "CLAIM ADDRESS", + #[cfg(feature = "universal_fw")] + Self::ethereum__staking_claim_intro => "Claim ETH from Everstake?", + #[cfg(feature = "universal_fw")] + Self::ethereum__staking_title_stake => "STAKE", + #[cfg(feature = "universal_fw")] + Self::ethereum__staking_title_stake_address => "STAKE ADDRESS", + #[cfg(feature = "universal_fw")] + Self::ethereum__staking_stake_intro => "Stake ETH on Everstake?", + #[cfg(feature = "universal_fw")] + Self::ethereum__staking_title_unstake => "UNSTAKE", + #[cfg(feature = "universal_fw")] + Self::ethereum__staking_unstake_intro => "Unstake ETH from Everstake?", + Self::storage_msg__title_starting => "STARTING UP", + Self::storage_msg__title_verifying_pin => "VERIFYING PIN", + Self::storage_msg__title_wrong_pin => "WRONG PIN", + } + } + + #[cfg(feature = "micropython")] + pub fn from_qstr(qstr: Qstr) -> Option { + match qstr { + Qstr::MP_QSTR_addr_mismatch__contact_support_at => Some(Self::addr_mismatch__contact_support_at), + Qstr::MP_QSTR_addr_mismatch__key_mismatch => Some(Self::addr_mismatch__key_mismatch), + Qstr::MP_QSTR_addr_mismatch__mismatch => Some(Self::addr_mismatch__mismatch), + Qstr::MP_QSTR_addr_mismatch__support_url => Some(Self::addr_mismatch__support_url), + Qstr::MP_QSTR_addr_mismatch__wrong_derivation_path => Some(Self::addr_mismatch__wrong_derivation_path), + Qstr::MP_QSTR_addr_mismatch__xpub_mismatch => Some(Self::addr_mismatch__xpub_mismatch), + Qstr::MP_QSTR_address__title_public_key => Some(Self::address__title_public_key), + Qstr::MP_QSTR_address__title_cosigner => Some(Self::address__title_cosigner), + Qstr::MP_QSTR_address__title_receive_address => Some(Self::address__title_receive_address), + Qstr::MP_QSTR_address__title_yours => Some(Self::address__title_yours), + Qstr::MP_QSTR_address_details__derivation_path => Some(Self::address_details__derivation_path), + Qstr::MP_QSTR_address_details__title_receive_address => Some(Self::address_details__title_receive_address), + Qstr::MP_QSTR_address_details__title_receiving_to => Some(Self::address_details__title_receiving_to), + Qstr::MP_QSTR_authenticate__confirm_template => Some(Self::authenticate__confirm_template), + Qstr::MP_QSTR_authenticate__header => Some(Self::authenticate__header), + Qstr::MP_QSTR_auto_lock__change_template => Some(Self::auto_lock__change_template), + Qstr::MP_QSTR_auto_lock__title => Some(Self::auto_lock__title), + Qstr::MP_QSTR_backup__can_back_up_anytime => Some(Self::backup__can_back_up_anytime), + Qstr::MP_QSTR_backup__it_should_be_backed_up => Some(Self::backup__it_should_be_backed_up), + Qstr::MP_QSTR_backup__it_should_be_backed_up_now => Some(Self::backup__it_should_be_backed_up_now), + Qstr::MP_QSTR_backup__new_wallet_created => Some(Self::backup__new_wallet_created), + Qstr::MP_QSTR_backup__new_wallet_successfully_created => Some(Self::backup__new_wallet_successfully_created), + Qstr::MP_QSTR_backup__recover_anytime => Some(Self::backup__recover_anytime), + Qstr::MP_QSTR_backup__title_backup_wallet => Some(Self::backup__title_backup_wallet), + Qstr::MP_QSTR_backup__title_skip => Some(Self::backup__title_skip), + Qstr::MP_QSTR_backup__want_to_skip => Some(Self::backup__want_to_skip), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_binance__buy => Some(Self::binance__buy), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_binance__confirm_cancel => Some(Self::binance__confirm_cancel), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_binance__confirm_input => Some(Self::binance__confirm_input), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_binance__confirm_order => Some(Self::binance__confirm_order), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_binance__confirm_output => Some(Self::binance__confirm_output), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_binance__order_id => Some(Self::binance__order_id), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_binance__pair => Some(Self::binance__pair), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_binance__price => Some(Self::binance__price), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_binance__quantity => Some(Self::binance__quantity), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_binance__sell => Some(Self::binance__sell), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_binance__sender_address => Some(Self::binance__sender_address), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_binance__side => Some(Self::binance__side), + Qstr::MP_QSTR_bitcoin__commitment_data => Some(Self::bitcoin__commitment_data), + Qstr::MP_QSTR_bitcoin__confirm_locktime => Some(Self::bitcoin__confirm_locktime), + Qstr::MP_QSTR_bitcoin__create_proof_of_ownership => Some(Self::bitcoin__create_proof_of_ownership), + Qstr::MP_QSTR_bitcoin__high_mining_fee_template => Some(Self::bitcoin__high_mining_fee_template), + Qstr::MP_QSTR_bitcoin__locktime_no_effect => Some(Self::bitcoin__locktime_no_effect), + Qstr::MP_QSTR_bitcoin__locktime_set_to => Some(Self::bitcoin__locktime_set_to), + Qstr::MP_QSTR_bitcoin__locktime_set_to_blockheight => Some(Self::bitcoin__locktime_set_to_blockheight), + Qstr::MP_QSTR_bitcoin__lot_of_change_outputs => Some(Self::bitcoin__lot_of_change_outputs), + Qstr::MP_QSTR_bitcoin__multiple_accounts => Some(Self::bitcoin__multiple_accounts), + Qstr::MP_QSTR_bitcoin__new_fee_rate => Some(Self::bitcoin__new_fee_rate), + Qstr::MP_QSTR_bitcoin__simple_send_of => Some(Self::bitcoin__simple_send_of), + Qstr::MP_QSTR_bitcoin__ticket_amount => Some(Self::bitcoin__ticket_amount), + Qstr::MP_QSTR_bitcoin__title_confirm_details => Some(Self::bitcoin__title_confirm_details), + Qstr::MP_QSTR_bitcoin__title_finalize_transaction => Some(Self::bitcoin__title_finalize_transaction), + Qstr::MP_QSTR_bitcoin__title_high_mining_fee => Some(Self::bitcoin__title_high_mining_fee), + Qstr::MP_QSTR_bitcoin__title_meld_transaction => Some(Self::bitcoin__title_meld_transaction), + Qstr::MP_QSTR_bitcoin__title_modify_amount => Some(Self::bitcoin__title_modify_amount), + Qstr::MP_QSTR_bitcoin__title_payjoin => Some(Self::bitcoin__title_payjoin), + Qstr::MP_QSTR_bitcoin__title_proof_of_ownership => Some(Self::bitcoin__title_proof_of_ownership), + Qstr::MP_QSTR_bitcoin__title_purchase_ticket => Some(Self::bitcoin__title_purchase_ticket), + Qstr::MP_QSTR_bitcoin__title_update_transaction => Some(Self::bitcoin__title_update_transaction), + Qstr::MP_QSTR_bitcoin__unknown_path => Some(Self::bitcoin__unknown_path), + Qstr::MP_QSTR_bitcoin__unknown_transaction => Some(Self::bitcoin__unknown_transaction), + Qstr::MP_QSTR_bitcoin__unusually_high_fee => Some(Self::bitcoin__unusually_high_fee), + Qstr::MP_QSTR_bitcoin__unverified_external_inputs => Some(Self::bitcoin__unverified_external_inputs), + Qstr::MP_QSTR_bitcoin__valid_signature => Some(Self::bitcoin__valid_signature), + Qstr::MP_QSTR_bitcoin__voting_rights => Some(Self::bitcoin__voting_rights), + Qstr::MP_QSTR_buttons__abort => Some(Self::buttons__abort), + Qstr::MP_QSTR_buttons__access => Some(Self::buttons__access), + Qstr::MP_QSTR_buttons__again => Some(Self::buttons__again), + Qstr::MP_QSTR_buttons__allow => Some(Self::buttons__allow), + Qstr::MP_QSTR_buttons__back => Some(Self::buttons__back), + Qstr::MP_QSTR_buttons__back_up => Some(Self::buttons__back_up), + Qstr::MP_QSTR_buttons__cancel => Some(Self::buttons__cancel), + Qstr::MP_QSTR_buttons__change => Some(Self::buttons__change), + Qstr::MP_QSTR_buttons__check => Some(Self::buttons__check), + Qstr::MP_QSTR_buttons__check_again => Some(Self::buttons__check_again), + Qstr::MP_QSTR_buttons__close => Some(Self::buttons__close), + Qstr::MP_QSTR_buttons__confirm => Some(Self::buttons__confirm), + Qstr::MP_QSTR_buttons__continue => Some(Self::buttons__continue), + Qstr::MP_QSTR_buttons__details => Some(Self::buttons__details), + Qstr::MP_QSTR_buttons__enable => Some(Self::buttons__enable), + Qstr::MP_QSTR_buttons__enter => Some(Self::buttons__enter), + Qstr::MP_QSTR_buttons__enter_share => Some(Self::buttons__enter_share), + Qstr::MP_QSTR_buttons__export => Some(Self::buttons__export), + Qstr::MP_QSTR_buttons__format => Some(Self::buttons__format), + Qstr::MP_QSTR_buttons__go_back => Some(Self::buttons__go_back), + Qstr::MP_QSTR_buttons__hold_to_confirm => Some(Self::buttons__hold_to_confirm), + Qstr::MP_QSTR_buttons__info => Some(Self::buttons__info), + Qstr::MP_QSTR_buttons__install => Some(Self::buttons__install), + Qstr::MP_QSTR_buttons__more_info => Some(Self::buttons__more_info), + Qstr::MP_QSTR_buttons__ok_i_understand => Some(Self::buttons__ok_i_understand), + Qstr::MP_QSTR_buttons__purchase => Some(Self::buttons__purchase), + Qstr::MP_QSTR_buttons__quit => Some(Self::buttons__quit), + Qstr::MP_QSTR_buttons__restart => Some(Self::buttons__restart), + Qstr::MP_QSTR_buttons__retry => Some(Self::buttons__retry), + Qstr::MP_QSTR_buttons__select => Some(Self::buttons__select), + Qstr::MP_QSTR_buttons__set => Some(Self::buttons__set), + Qstr::MP_QSTR_buttons__show_all => Some(Self::buttons__show_all), + Qstr::MP_QSTR_buttons__show_details => Some(Self::buttons__show_details), + Qstr::MP_QSTR_buttons__show_words => Some(Self::buttons__show_words), + Qstr::MP_QSTR_buttons__skip => Some(Self::buttons__skip), + Qstr::MP_QSTR_buttons__try_again => Some(Self::buttons__try_again), + Qstr::MP_QSTR_buttons__turn_off => Some(Self::buttons__turn_off), + Qstr::MP_QSTR_buttons__turn_on => Some(Self::buttons__turn_on), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__addr_base => Some(Self::cardano__addr_base), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__addr_enterprise => Some(Self::cardano__addr_enterprise), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__addr_legacy => Some(Self::cardano__addr_legacy), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__addr_pointer => Some(Self::cardano__addr_pointer), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__addr_reward => Some(Self::cardano__addr_reward), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__address_no_staking => Some(Self::cardano__address_no_staking), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__amount_burned_decimals_unknown => Some(Self::cardano__amount_burned_decimals_unknown), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__amount_minted_decimals_unknown => Some(Self::cardano__amount_minted_decimals_unknown), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__amount_sent_decimals_unknown => Some(Self::cardano__amount_sent_decimals_unknown), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__anonymous_pool => Some(Self::cardano__anonymous_pool), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__asset_fingerprint => Some(Self::cardano__asset_fingerprint), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__auxiliary_data_hash => Some(Self::cardano__auxiliary_data_hash), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__block => Some(Self::cardano__block), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__catalyst => Some(Self::cardano__catalyst), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__certificate => Some(Self::cardano__certificate), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__change_output => Some(Self::cardano__change_output), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__check_all_items => Some(Self::cardano__check_all_items), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__choose_level_of_details => Some(Self::cardano__choose_level_of_details), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__collateral_input_id => Some(Self::cardano__collateral_input_id), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__collateral_input_index => Some(Self::cardano__collateral_input_index), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__collateral_output_contains_tokens => Some(Self::cardano__collateral_output_contains_tokens), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__collateral_return => Some(Self::cardano__collateral_return), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__confirm => Some(Self::cardano__confirm), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__confirm_signing_stake_pool => Some(Self::cardano__confirm_signing_stake_pool), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__confirm_transaction => Some(Self::cardano__confirm_transaction), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__confirming_a_multisig_transaction => Some(Self::cardano__confirming_a_multisig_transaction), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__confirming_a_plutus_transaction => Some(Self::cardano__confirming_a_plutus_transaction), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__confirming_pool_registration => Some(Self::cardano__confirming_pool_registration), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__confirming_transction => Some(Self::cardano__confirming_transction), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__cost => Some(Self::cardano__cost), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__credential_mismatch => Some(Self::cardano__credential_mismatch), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__datum_hash => Some(Self::cardano__datum_hash), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__delegating_to => Some(Self::cardano__delegating_to), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__for_account_and_index_template => Some(Self::cardano__for_account_and_index_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__for_account_template => Some(Self::cardano__for_account_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__for_key_hash => Some(Self::cardano__for_key_hash), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__for_script => Some(Self::cardano__for_script), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__inline_datum => Some(Self::cardano__inline_datum), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__input_id => Some(Self::cardano__input_id), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__input_index => Some(Self::cardano__input_index), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__intro_text_change => Some(Self::cardano__intro_text_change), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__intro_text_owned_by_device => Some(Self::cardano__intro_text_owned_by_device), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__intro_text_registration_payment => Some(Self::cardano__intro_text_registration_payment), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__key_hash => Some(Self::cardano__key_hash), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__margin => Some(Self::cardano__margin), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__multisig_path => Some(Self::cardano__multisig_path), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__nested_scripts_template => Some(Self::cardano__nested_scripts_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__network => Some(Self::cardano__network), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__no_output_tx => Some(Self::cardano__no_output_tx), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__nonce => Some(Self::cardano__nonce), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__other => Some(Self::cardano__other), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__path => Some(Self::cardano__path), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__pledge => Some(Self::cardano__pledge), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__pointer => Some(Self::cardano__pointer), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__policy_id => Some(Self::cardano__policy_id), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__pool_metadata_hash => Some(Self::cardano__pool_metadata_hash), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__pool_metadata_url => Some(Self::cardano__pool_metadata_url), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__pool_owner => Some(Self::cardano__pool_owner), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__pool_reward_account => Some(Self::cardano__pool_reward_account), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__reference_input_id => Some(Self::cardano__reference_input_id), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__reference_input_index => Some(Self::cardano__reference_input_index), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__reference_script => Some(Self::cardano__reference_script), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__required_signer => Some(Self::cardano__required_signer), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__reward => Some(Self::cardano__reward), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__reward_address => Some(Self::cardano__reward_address), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__reward_eligibility_warning => Some(Self::cardano__reward_eligibility_warning), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__rewards_go_to => Some(Self::cardano__rewards_go_to), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__script => Some(Self::cardano__script), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__script_all => Some(Self::cardano__script_all), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__script_any => Some(Self::cardano__script_any), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__script_data_hash => Some(Self::cardano__script_data_hash), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__script_hash => Some(Self::cardano__script_hash), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__script_invalid_before => Some(Self::cardano__script_invalid_before), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__script_invalid_hereafter => Some(Self::cardano__script_invalid_hereafter), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__script_key => Some(Self::cardano__script_key), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__script_n_of_k => Some(Self::cardano__script_n_of_k), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__script_reward => Some(Self::cardano__script_reward), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__sending => Some(Self::cardano__sending), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__show_simple => Some(Self::cardano__show_simple), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__sign_tx_path_template => Some(Self::cardano__sign_tx_path_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__stake_delegation => Some(Self::cardano__stake_delegation), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__stake_deregistration => Some(Self::cardano__stake_deregistration), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__stake_pool_registration => Some(Self::cardano__stake_pool_registration), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__stake_pool_registration_pool_id => Some(Self::cardano__stake_pool_registration_pool_id), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__stake_registration => Some(Self::cardano__stake_registration), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__staking_key_for_account => Some(Self::cardano__staking_key_for_account), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__to_pool => Some(Self::cardano__to_pool), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__token_minting_path => Some(Self::cardano__token_minting_path), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__total_collateral => Some(Self::cardano__total_collateral), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__transaction => Some(Self::cardano__transaction), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__transaction_contains_minting_or_burning => Some(Self::cardano__transaction_contains_minting_or_burning), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__transaction_contains_script_address_no_datum => Some(Self::cardano__transaction_contains_script_address_no_datum), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__transaction_fee => Some(Self::cardano__transaction_fee), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__transaction_id => Some(Self::cardano__transaction_id), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__transaction_no_collateral_input => Some(Self::cardano__transaction_no_collateral_input), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__transaction_no_script_data_hash => Some(Self::cardano__transaction_no_script_data_hash), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__transaction_output_contains_tokens => Some(Self::cardano__transaction_output_contains_tokens), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__ttl => Some(Self::cardano__ttl), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__unknown_collateral_amount => Some(Self::cardano__unknown_collateral_amount), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__unusual_path => Some(Self::cardano__unusual_path), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__valid_since => Some(Self::cardano__valid_since), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__verify_script => Some(Self::cardano__verify_script), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__vote_key_registration => Some(Self::cardano__vote_key_registration), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__vote_public_key => Some(Self::cardano__vote_public_key), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__voting_purpose => Some(Self::cardano__voting_purpose), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__warning => Some(Self::cardano__warning), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__weight => Some(Self::cardano__weight), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__withdrawal_for_address_template => Some(Self::cardano__withdrawal_for_address_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_cardano__x_of_y_signatures_template => Some(Self::cardano__x_of_y_signatures_template), + Qstr::MP_QSTR_coinjoin__access_account => Some(Self::coinjoin__access_account), + Qstr::MP_QSTR_coinjoin__do_not_disconnect => Some(Self::coinjoin__do_not_disconnect), + Qstr::MP_QSTR_coinjoin__max_mining_fee => Some(Self::coinjoin__max_mining_fee), + Qstr::MP_QSTR_coinjoin__max_rounds => Some(Self::coinjoin__max_rounds), + Qstr::MP_QSTR_coinjoin__title => Some(Self::coinjoin__title), + Qstr::MP_QSTR_coinjoin__title_do_not_disconnect => Some(Self::coinjoin__title_do_not_disconnect), + Qstr::MP_QSTR_coinjoin__title_progress => Some(Self::coinjoin__title_progress), + Qstr::MP_QSTR_coinjoin__waiting_for_others => Some(Self::coinjoin__waiting_for_others), + Qstr::MP_QSTR_confirm_total__fee_rate => Some(Self::confirm_total__fee_rate), + Qstr::MP_QSTR_confirm_total__sending_from_account => Some(Self::confirm_total__sending_from_account), + Qstr::MP_QSTR_confirm_total__title_fee => Some(Self::confirm_total__title_fee), + Qstr::MP_QSTR_confirm_total__title_sending_from => Some(Self::confirm_total__title_sending_from), + Qstr::MP_QSTR_debug__loading_seed => Some(Self::debug__loading_seed), + Qstr::MP_QSTR_debug__loading_seed_not_recommended => Some(Self::debug__loading_seed_not_recommended), + Qstr::MP_QSTR_device_name__change_template => Some(Self::device_name__change_template), + Qstr::MP_QSTR_device_name__title => Some(Self::device_name__title), + Qstr::MP_QSTR_entropy__send => Some(Self::entropy__send), + Qstr::MP_QSTR_entropy__title => Some(Self::entropy__title), + Qstr::MP_QSTR_entropy__title_confirm => Some(Self::entropy__title_confirm), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__about_to_sign_template => Some(Self::eos__about_to_sign_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__action_name => Some(Self::eos__action_name), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__arbitrary_data => Some(Self::eos__arbitrary_data), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__buy_ram => Some(Self::eos__buy_ram), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__bytes => Some(Self::eos__bytes), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__cancel_vote => Some(Self::eos__cancel_vote), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__checksum => Some(Self::eos__checksum), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__code => Some(Self::eos__code), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__contract => Some(Self::eos__contract), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__cpu => Some(Self::eos__cpu), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__creator => Some(Self::eos__creator), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__delegate => Some(Self::eos__delegate), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__delete_auth => Some(Self::eos__delete_auth), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__from => Some(Self::eos__from), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__link_auth => Some(Self::eos__link_auth), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__memo => Some(Self::eos__memo), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__name => Some(Self::eos__name), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__net => Some(Self::eos__net), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__new_account => Some(Self::eos__new_account), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__owner => Some(Self::eos__owner), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__parent => Some(Self::eos__parent), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__payer => Some(Self::eos__payer), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__permission => Some(Self::eos__permission), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__proxy => Some(Self::eos__proxy), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__receiver => Some(Self::eos__receiver), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__refund => Some(Self::eos__refund), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__requirement => Some(Self::eos__requirement), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__sell_ram => Some(Self::eos__sell_ram), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__sender => Some(Self::eos__sender), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__sign_transaction => Some(Self::eos__sign_transaction), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__threshold => Some(Self::eos__threshold), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__to => Some(Self::eos__to), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__transfer => Some(Self::eos__transfer), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__type => Some(Self::eos__type), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__undelegate => Some(Self::eos__undelegate), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__unlink_auth => Some(Self::eos__unlink_auth), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__update_auth => Some(Self::eos__update_auth), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__vote_for_producers => Some(Self::eos__vote_for_producers), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__vote_for_proxy => Some(Self::eos__vote_for_proxy), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_eos__voter => Some(Self::eos__voter), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__amount_sent => Some(Self::ethereum__amount_sent), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__contract => Some(Self::ethereum__contract), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__data_size_template => Some(Self::ethereum__data_size_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__gas_limit => Some(Self::ethereum__gas_limit), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__gas_price => Some(Self::ethereum__gas_price), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__max_gas_price => Some(Self::ethereum__max_gas_price), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__name_and_version => Some(Self::ethereum__name_and_version), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__new_contract => Some(Self::ethereum__new_contract), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__no_message_field => Some(Self::ethereum__no_message_field), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__priority_fee => Some(Self::ethereum__priority_fee), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__show_full_array => Some(Self::ethereum__show_full_array), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__show_full_domain => Some(Self::ethereum__show_full_domain), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__show_full_message => Some(Self::ethereum__show_full_message), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__show_full_struct => Some(Self::ethereum__show_full_struct), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__sign_eip712 => Some(Self::ethereum__sign_eip712), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__title_confirm_data => Some(Self::ethereum__title_confirm_data), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__title_confirm_domain => Some(Self::ethereum__title_confirm_domain), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__title_confirm_message => Some(Self::ethereum__title_confirm_message), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__title_confirm_struct => Some(Self::ethereum__title_confirm_struct), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__title_confirm_typed_data => Some(Self::ethereum__title_confirm_typed_data), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__title_signing_address => Some(Self::ethereum__title_signing_address), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__units_template => Some(Self::ethereum__units_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__unknown_token => Some(Self::ethereum__unknown_token), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__valid_signature => Some(Self::ethereum__valid_signature), + Qstr::MP_QSTR_experimental_mode__enable => Some(Self::experimental_mode__enable), + Qstr::MP_QSTR_experimental_mode__only_for_dev => Some(Self::experimental_mode__only_for_dev), + Qstr::MP_QSTR_experimental_mode__title => Some(Self::experimental_mode__title), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__already_registered => Some(Self::fido__already_registered), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__device_already_registered => Some(Self::fido__device_already_registered), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__device_already_registered_with_template => Some(Self::fido__device_already_registered_with_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__device_not_registered => Some(Self::fido__device_not_registered), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__does_not_belong => Some(Self::fido__does_not_belong), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__erase_credentials => Some(Self::fido__erase_credentials), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__export_credentials => Some(Self::fido__export_credentials), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__not_registered => Some(Self::fido__not_registered), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__not_registered_with_template => Some(Self::fido__not_registered_with_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__please_enable_pin_protection => Some(Self::fido__please_enable_pin_protection), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__title_authenticate => Some(Self::fido__title_authenticate), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__title_import_credential => Some(Self::fido__title_import_credential), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__title_list_credentials => Some(Self::fido__title_list_credentials), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__title_register => Some(Self::fido__title_register), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__title_remove_credential => Some(Self::fido__title_remove_credential), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__title_reset => Some(Self::fido__title_reset), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__title_u2f_auth => Some(Self::fido__title_u2f_auth), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__title_u2f_register => Some(Self::fido__title_u2f_register), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__title_verify_user => Some(Self::fido__title_verify_user), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__unable_to_verify_user => Some(Self::fido__unable_to_verify_user), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_fido__wanna_erase_credentials => Some(Self::fido__wanna_erase_credentials), + Qstr::MP_QSTR_firmware_update__title => Some(Self::firmware_update__title), + Qstr::MP_QSTR_firmware_update__title_fingerprint => Some(Self::firmware_update__title_fingerprint), + Qstr::MP_QSTR_homescreen__click_to_connect => Some(Self::homescreen__click_to_connect), + Qstr::MP_QSTR_homescreen__click_to_unlock => Some(Self::homescreen__click_to_unlock), + Qstr::MP_QSTR_homescreen__title_backup_failed => Some(Self::homescreen__title_backup_failed), + Qstr::MP_QSTR_homescreen__title_backup_needed => Some(Self::homescreen__title_backup_needed), + Qstr::MP_QSTR_homescreen__title_coinjoin_authorized => Some(Self::homescreen__title_coinjoin_authorized), + Qstr::MP_QSTR_homescreen__title_experimental_mode => Some(Self::homescreen__title_experimental_mode), + Qstr::MP_QSTR_homescreen__title_no_usb_connection => Some(Self::homescreen__title_no_usb_connection), + Qstr::MP_QSTR_homescreen__title_pin_not_set => Some(Self::homescreen__title_pin_not_set), + Qstr::MP_QSTR_homescreen__title_seedless => Some(Self::homescreen__title_seedless), + Qstr::MP_QSTR_homescreen__title_set => Some(Self::homescreen__title_set), + Qstr::MP_QSTR_inputs__back => Some(Self::inputs__back), + Qstr::MP_QSTR_inputs__cancel => Some(Self::inputs__cancel), + Qstr::MP_QSTR_inputs__delete => Some(Self::inputs__delete), + Qstr::MP_QSTR_inputs__enter => Some(Self::inputs__enter), + Qstr::MP_QSTR_inputs__return => Some(Self::inputs__return), + Qstr::MP_QSTR_inputs__show => Some(Self::inputs__show), + Qstr::MP_QSTR_inputs__space => Some(Self::inputs__space), + Qstr::MP_QSTR_joint__title => Some(Self::joint__title), + Qstr::MP_QSTR_joint__to_the_total_amount => Some(Self::joint__to_the_total_amount), + Qstr::MP_QSTR_joint__you_are_contributing => Some(Self::joint__you_are_contributing), + Qstr::MP_QSTR_language__change_to_template => Some(Self::language__change_to_template), + Qstr::MP_QSTR_language__changed => Some(Self::language__changed), + Qstr::MP_QSTR_language__progress => Some(Self::language__progress), + Qstr::MP_QSTR_language__title => Some(Self::language__title), + Qstr::MP_QSTR_lockscreen__tap_to_connect => Some(Self::lockscreen__tap_to_connect), + Qstr::MP_QSTR_lockscreen__tap_to_unlock => Some(Self::lockscreen__tap_to_unlock), + Qstr::MP_QSTR_lockscreen__title_locked => Some(Self::lockscreen__title_locked), + Qstr::MP_QSTR_lockscreen__title_not_connected => Some(Self::lockscreen__title_not_connected), + Qstr::MP_QSTR_misc__decrypt_value => Some(Self::misc__decrypt_value), + Qstr::MP_QSTR_misc__encrypt_value => Some(Self::misc__encrypt_value), + Qstr::MP_QSTR_misc__title_suite_labeling => Some(Self::misc__title_suite_labeling), + Qstr::MP_QSTR_modify_amount__decrease_amount => Some(Self::modify_amount__decrease_amount), + Qstr::MP_QSTR_modify_amount__increase_amount => Some(Self::modify_amount__increase_amount), + Qstr::MP_QSTR_modify_amount__new_amount => Some(Self::modify_amount__new_amount), + Qstr::MP_QSTR_modify_amount__title => Some(Self::modify_amount__title), + Qstr::MP_QSTR_modify_fee__decrease_fee => Some(Self::modify_fee__decrease_fee), + Qstr::MP_QSTR_modify_fee__fee_rate => Some(Self::modify_fee__fee_rate), + Qstr::MP_QSTR_modify_fee__increase_fee => Some(Self::modify_fee__increase_fee), + Qstr::MP_QSTR_modify_fee__new_transaction_fee => Some(Self::modify_fee__new_transaction_fee), + Qstr::MP_QSTR_modify_fee__no_change => Some(Self::modify_fee__no_change), + Qstr::MP_QSTR_modify_fee__title => Some(Self::modify_fee__title), + Qstr::MP_QSTR_modify_fee__transaction_fee => Some(Self::modify_fee__transaction_fee), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__confirm_export => Some(Self::monero__confirm_export), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__confirm_ki_sync => Some(Self::monero__confirm_ki_sync), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__confirm_refresh => Some(Self::monero__confirm_refresh), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__confirm_unlock_time => Some(Self::monero__confirm_unlock_time), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__hashing_inputs => Some(Self::monero__hashing_inputs), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__payment_id => Some(Self::monero__payment_id), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__postprocessing => Some(Self::monero__postprocessing), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__processing => Some(Self::monero__processing), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__processing_inputs => Some(Self::monero__processing_inputs), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__processing_outputs => Some(Self::monero__processing_outputs), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__signing => Some(Self::monero__signing), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__signing_inputs => Some(Self::monero__signing_inputs), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__unlock_time_set_template => Some(Self::monero__unlock_time_set_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__wanna_export_tx_der => Some(Self::monero__wanna_export_tx_der), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__wanna_export_tx_key => Some(Self::monero__wanna_export_tx_key), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__wanna_export_watchkey => Some(Self::monero__wanna_export_watchkey), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__wanna_start_refresh => Some(Self::monero__wanna_start_refresh), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_monero__wanna_sync_key_images => Some(Self::monero__wanna_sync_key_images), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__absolute => Some(Self::nem__absolute), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__activate => Some(Self::nem__activate), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__add => Some(Self::nem__add), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__confirm_action => Some(Self::nem__confirm_action), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__confirm_address => Some(Self::nem__confirm_address), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__confirm_creation_fee => Some(Self::nem__confirm_creation_fee), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__confirm_mosaic => Some(Self::nem__confirm_mosaic), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__confirm_multisig_fee => Some(Self::nem__confirm_multisig_fee), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__confirm_namespace => Some(Self::nem__confirm_namespace), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__confirm_payload => Some(Self::nem__confirm_payload), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__confirm_properties => Some(Self::nem__confirm_properties), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__confirm_rental_fee => Some(Self::nem__confirm_rental_fee), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__confirm_transfer_of => Some(Self::nem__confirm_transfer_of), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__convert_account_to_multisig => Some(Self::nem__convert_account_to_multisig), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__cosign_transaction_for => Some(Self::nem__cosign_transaction_for), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__cosignatory => Some(Self::nem__cosignatory), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__create_mosaic => Some(Self::nem__create_mosaic), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__create_namespace => Some(Self::nem__create_namespace), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__deactivate => Some(Self::nem__deactivate), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__decrease => Some(Self::nem__decrease), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__description => Some(Self::nem__description), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__divisibility_and_levy_cannot_be_shown => Some(Self::nem__divisibility_and_levy_cannot_be_shown), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__encrypted => Some(Self::nem__encrypted), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__final_confirm => Some(Self::nem__final_confirm), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__immutable => Some(Self::nem__immutable), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__increase => Some(Self::nem__increase), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__initial_supply => Some(Self::nem__initial_supply), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__initiate_transaction_for => Some(Self::nem__initiate_transaction_for), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__levy_divisibility => Some(Self::nem__levy_divisibility), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__levy_fee => Some(Self::nem__levy_fee), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__levy_fee_of => Some(Self::nem__levy_fee_of), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__levy_mosaic => Some(Self::nem__levy_mosaic), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__levy_namespace => Some(Self::nem__levy_namespace), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__levy_recipient => Some(Self::nem__levy_recipient), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__levy_type => Some(Self::nem__levy_type), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__modify_supply_for => Some(Self::nem__modify_supply_for), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__modify_the_number_of_cosignatories_by => Some(Self::nem__modify_the_number_of_cosignatories_by), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__mutable => Some(Self::nem__mutable), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__of => Some(Self::nem__of), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__percentile => Some(Self::nem__percentile), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__raw_units_template => Some(Self::nem__raw_units_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__remote_harvesting => Some(Self::nem__remote_harvesting), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__remove => Some(Self::nem__remove), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__set_minimum_cosignatories_to => Some(Self::nem__set_minimum_cosignatories_to), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__sign_tx_fee_template => Some(Self::nem__sign_tx_fee_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__supply_change => Some(Self::nem__supply_change), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__supply_units_template => Some(Self::nem__supply_units_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__transferable => Some(Self::nem__transferable), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__under_namespace => Some(Self::nem__under_namespace), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__unencrypted => Some(Self::nem__unencrypted), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_nem__unknown_mosaic => Some(Self::nem__unknown_mosaic), + Qstr::MP_QSTR_passphrase__access_hidden_wallet => Some(Self::passphrase__access_hidden_wallet), + Qstr::MP_QSTR_passphrase__always_on_device => Some(Self::passphrase__always_on_device), + Qstr::MP_QSTR_passphrase__from_host_not_shown => Some(Self::passphrase__from_host_not_shown), + Qstr::MP_QSTR_passphrase__hidden_wallet => Some(Self::passphrase__hidden_wallet), + Qstr::MP_QSTR_passphrase__hide => Some(Self::passphrase__hide), + Qstr::MP_QSTR_passphrase__next_screen_will_show_passphrase => Some(Self::passphrase__next_screen_will_show_passphrase), + Qstr::MP_QSTR_passphrase__please_enter => Some(Self::passphrase__please_enter), + Qstr::MP_QSTR_passphrase__revoke_on_device => Some(Self::passphrase__revoke_on_device), + Qstr::MP_QSTR_passphrase__title_confirm => Some(Self::passphrase__title_confirm), + Qstr::MP_QSTR_passphrase__title_enter => Some(Self::passphrase__title_enter), + Qstr::MP_QSTR_passphrase__title_hide => Some(Self::passphrase__title_hide), + Qstr::MP_QSTR_passphrase__title_settings => Some(Self::passphrase__title_settings), + Qstr::MP_QSTR_passphrase__title_source => Some(Self::passphrase__title_source), + Qstr::MP_QSTR_passphrase__turn_off => Some(Self::passphrase__turn_off), + Qstr::MP_QSTR_passphrase__turn_on => Some(Self::passphrase__turn_on), + Qstr::MP_QSTR_pin__change => Some(Self::pin__change), + Qstr::MP_QSTR_pin__changed => Some(Self::pin__changed), + Qstr::MP_QSTR_pin__cursor_will_change => Some(Self::pin__cursor_will_change), + Qstr::MP_QSTR_pin__diff_from_wipe_code => Some(Self::pin__diff_from_wipe_code), + Qstr::MP_QSTR_pin__disabled => Some(Self::pin__disabled), + Qstr::MP_QSTR_pin__enabled => Some(Self::pin__enabled), + Qstr::MP_QSTR_pin__enter => Some(Self::pin__enter), + Qstr::MP_QSTR_pin__enter_new => Some(Self::pin__enter_new), + Qstr::MP_QSTR_pin__entered_not_valid => Some(Self::pin__entered_not_valid), + Qstr::MP_QSTR_pin__info => Some(Self::pin__info), + Qstr::MP_QSTR_pin__invalid_pin => Some(Self::pin__invalid_pin), + Qstr::MP_QSTR_pin__last_attempt => Some(Self::pin__last_attempt), + Qstr::MP_QSTR_pin__mismatch => Some(Self::pin__mismatch), + Qstr::MP_QSTR_pin__pin_mismatch => Some(Self::pin__pin_mismatch), + Qstr::MP_QSTR_pin__please_check_again => Some(Self::pin__please_check_again), + Qstr::MP_QSTR_pin__reenter_new => Some(Self::pin__reenter_new), + Qstr::MP_QSTR_pin__reenter_to_confirm => Some(Self::pin__reenter_to_confirm), + Qstr::MP_QSTR_pin__should_be_long => Some(Self::pin__should_be_long), + Qstr::MP_QSTR_pin__title_check_pin => Some(Self::pin__title_check_pin), + Qstr::MP_QSTR_pin__title_settings => Some(Self::pin__title_settings), + Qstr::MP_QSTR_pin__title_wrong_pin => Some(Self::pin__title_wrong_pin), + Qstr::MP_QSTR_pin__tries_left => Some(Self::pin__tries_left), + Qstr::MP_QSTR_pin__turn_off => Some(Self::pin__turn_off), + Qstr::MP_QSTR_pin__turn_on => Some(Self::pin__turn_on), + Qstr::MP_QSTR_pin__wrong_pin => Some(Self::pin__wrong_pin), + Qstr::MP_QSTR_plurals__contains_x_keys => Some(Self::plurals__contains_x_keys), + Qstr::MP_QSTR_plurals__lock_after_x_hours => Some(Self::plurals__lock_after_x_hours), + Qstr::MP_QSTR_plurals__lock_after_x_milliseconds => Some(Self::plurals__lock_after_x_milliseconds), + Qstr::MP_QSTR_plurals__lock_after_x_minutes => Some(Self::plurals__lock_after_x_minutes), + Qstr::MP_QSTR_plurals__lock_after_x_seconds => Some(Self::plurals__lock_after_x_seconds), + Qstr::MP_QSTR_plurals__sign_x_actions => Some(Self::plurals__sign_x_actions), + Qstr::MP_QSTR_plurals__transaction_of_x_operations => Some(Self::plurals__transaction_of_x_operations), + Qstr::MP_QSTR_plurals__x_groups_needed => Some(Self::plurals__x_groups_needed), + Qstr::MP_QSTR_plurals__x_shares_needed => Some(Self::plurals__x_shares_needed), + Qstr::MP_QSTR_progress__authenticity_check => Some(Self::progress__authenticity_check), + Qstr::MP_QSTR_progress__done => Some(Self::progress__done), + Qstr::MP_QSTR_progress__loading_transaction => Some(Self::progress__loading_transaction), + Qstr::MP_QSTR_progress__locking_device => Some(Self::progress__locking_device), + Qstr::MP_QSTR_progress__one_second_left => Some(Self::progress__one_second_left), + Qstr::MP_QSTR_progress__title_please_wait => Some(Self::progress__title_please_wait), + Qstr::MP_QSTR_storage_msg__title_processing => Some(Self::storage_msg__title_processing), + Qstr::MP_QSTR_progress__refreshing => Some(Self::progress__refreshing), + Qstr::MP_QSTR_progress__signing_transaction => Some(Self::progress__signing_transaction), + Qstr::MP_QSTR_progress__syncing => Some(Self::progress__syncing), + Qstr::MP_QSTR_progress__x_seconds_left_template => Some(Self::progress__x_seconds_left_template), + Qstr::MP_QSTR_reboot_to_bootloader__restart => Some(Self::reboot_to_bootloader__restart), + Qstr::MP_QSTR_reboot_to_bootloader__title => Some(Self::reboot_to_bootloader__title), + Qstr::MP_QSTR_reboot_to_bootloader__version_by_template => Some(Self::reboot_to_bootloader__version_by_template), + Qstr::MP_QSTR_recovery__cancel_dry_run => Some(Self::recovery__cancel_dry_run), + Qstr::MP_QSTR_recovery__check_dry_run => Some(Self::recovery__check_dry_run), + Qstr::MP_QSTR_recovery__cursor_will_change => Some(Self::recovery__cursor_will_change), + Qstr::MP_QSTR_recovery__dry_run_bip39_valid_match => Some(Self::recovery__dry_run_bip39_valid_match), + Qstr::MP_QSTR_recovery__dry_run_bip39_valid_mismatch => Some(Self::recovery__dry_run_bip39_valid_mismatch), + Qstr::MP_QSTR_recovery__dry_run_slip39_valid_match => Some(Self::recovery__dry_run_slip39_valid_match), + Qstr::MP_QSTR_recovery__dry_run_slip39_valid_mismatch => Some(Self::recovery__dry_run_slip39_valid_mismatch), + Qstr::MP_QSTR_recovery__enter_any_share => Some(Self::recovery__enter_any_share), + Qstr::MP_QSTR_recovery__enter_backup => Some(Self::recovery__enter_backup), + Qstr::MP_QSTR_recovery__enter_different_share => Some(Self::recovery__enter_different_share), + Qstr::MP_QSTR_recovery__enter_share_from_diff_group => Some(Self::recovery__enter_share_from_diff_group), + Qstr::MP_QSTR_recovery__group_num_template => Some(Self::recovery__group_num_template), + Qstr::MP_QSTR_recovery__group_threshold_reached => Some(Self::recovery__group_threshold_reached), + Qstr::MP_QSTR_recovery__invalid_seed_entered => Some(Self::recovery__invalid_seed_entered), + Qstr::MP_QSTR_recovery__invalid_share_entered => Some(Self::recovery__invalid_share_entered), + Qstr::MP_QSTR_recovery__more_shares_needed => Some(Self::recovery__more_shares_needed), + Qstr::MP_QSTR_recovery__num_of_words => Some(Self::recovery__num_of_words), + Qstr::MP_QSTR_recovery__only_first_n_letters => Some(Self::recovery__only_first_n_letters), + Qstr::MP_QSTR_recovery__progress_will_be_lost => Some(Self::recovery__progress_will_be_lost), + Qstr::MP_QSTR_recovery__select_num_of_words => Some(Self::recovery__select_num_of_words), + Qstr::MP_QSTR_recovery__share_already_entered => Some(Self::recovery__share_already_entered), + Qstr::MP_QSTR_recovery__share_from_another_shamir => Some(Self::recovery__share_from_another_shamir), + Qstr::MP_QSTR_recovery__share_num_template => Some(Self::recovery__share_num_template), + Qstr::MP_QSTR_recovery__title => Some(Self::recovery__title), + Qstr::MP_QSTR_recovery__title_cancel_dry_run => Some(Self::recovery__title_cancel_dry_run), + Qstr::MP_QSTR_recovery__title_cancel_recovery => Some(Self::recovery__title_cancel_recovery), + Qstr::MP_QSTR_recovery__title_dry_run => Some(Self::recovery__title_dry_run), + Qstr::MP_QSTR_recovery__title_recover => Some(Self::recovery__title_recover), + Qstr::MP_QSTR_recovery__title_remaining_shares => Some(Self::recovery__title_remaining_shares), + Qstr::MP_QSTR_recovery__type_word_x_of_y_template => Some(Self::recovery__type_word_x_of_y_template), + Qstr::MP_QSTR_recovery__wallet_recovered => Some(Self::recovery__wallet_recovered), + Qstr::MP_QSTR_recovery__wanna_cancel_dry_run => Some(Self::recovery__wanna_cancel_dry_run), + Qstr::MP_QSTR_recovery__wanna_cancel_recovery => Some(Self::recovery__wanna_cancel_recovery), + Qstr::MP_QSTR_recovery__word_count_template => Some(Self::recovery__word_count_template), + Qstr::MP_QSTR_recovery__word_x_of_y_title_template => Some(Self::recovery__word_x_of_y_title_template), + Qstr::MP_QSTR_recovery__x_more_items_starting_template_plural => Some(Self::recovery__x_more_items_starting_template_plural), + Qstr::MP_QSTR_recovery__x_more_shares_needed_template_plural => Some(Self::recovery__x_more_shares_needed_template_plural), + Qstr::MP_QSTR_recovery__x_of_y_entered_template => Some(Self::recovery__x_of_y_entered_template), + Qstr::MP_QSTR_recovery__you_have_entered => Some(Self::recovery__you_have_entered), + Qstr::MP_QSTR_reset__advanced_group_threshold_info => Some(Self::reset__advanced_group_threshold_info), + Qstr::MP_QSTR_reset__all_x_of_y_template => Some(Self::reset__all_x_of_y_template), + Qstr::MP_QSTR_reset__any_x_of_y_template => Some(Self::reset__any_x_of_y_template), + Qstr::MP_QSTR_reset__button_create => Some(Self::reset__button_create), + Qstr::MP_QSTR_reset__button_recover => Some(Self::reset__button_recover), + Qstr::MP_QSTR_reset__by_continuing => Some(Self::reset__by_continuing), + Qstr::MP_QSTR_reset__check_backup_title => Some(Self::reset__check_backup_title), + Qstr::MP_QSTR_reset__check_group_share_title_template => Some(Self::reset__check_group_share_title_template), + Qstr::MP_QSTR_reset__check_seed_title => Some(Self::reset__check_seed_title), + Qstr::MP_QSTR_reset__check_share_title_template => Some(Self::reset__check_share_title_template), + Qstr::MP_QSTR_reset__continue_with_next_share => Some(Self::reset__continue_with_next_share), + Qstr::MP_QSTR_reset__continue_with_share_template => Some(Self::reset__continue_with_share_template), + Qstr::MP_QSTR_reset__finished_verifying_group_template => Some(Self::reset__finished_verifying_group_template), + Qstr::MP_QSTR_reset__finished_verifying_seed => Some(Self::reset__finished_verifying_seed), + Qstr::MP_QSTR_reset__finished_verifying_shares => Some(Self::reset__finished_verifying_shares), + Qstr::MP_QSTR_reset__group_description => Some(Self::reset__group_description), + Qstr::MP_QSTR_reset__group_info => Some(Self::reset__group_info), + Qstr::MP_QSTR_reset__group_share_checked_successfully_template => Some(Self::reset__group_share_checked_successfully_template), + Qstr::MP_QSTR_reset__group_share_title_template => Some(Self::reset__group_share_title_template), + Qstr::MP_QSTR_reset__more_info_at => Some(Self::reset__more_info_at), + Qstr::MP_QSTR_reset__need_all_share_template => Some(Self::reset__need_all_share_template), + Qstr::MP_QSTR_reset__need_any_share_template => Some(Self::reset__need_any_share_template), + Qstr::MP_QSTR_reset__needed_to_form_a_group => Some(Self::reset__needed_to_form_a_group), + Qstr::MP_QSTR_reset__needed_to_recover_your_wallet => Some(Self::reset__needed_to_recover_your_wallet), + Qstr::MP_QSTR_reset__never_make_digital_copy => Some(Self::reset__never_make_digital_copy), + Qstr::MP_QSTR_reset__num_of_share_holders_template => Some(Self::reset__num_of_share_holders_template), + Qstr::MP_QSTR_reset__num_of_shares_advanced_info_template => Some(Self::reset__num_of_shares_advanced_info_template), + Qstr::MP_QSTR_reset__num_of_shares_basic_info => Some(Self::reset__num_of_shares_basic_info), + Qstr::MP_QSTR_reset__num_shares_for_group_template => Some(Self::reset__num_shares_for_group_template), + Qstr::MP_QSTR_reset__number_of_shares_info => Some(Self::reset__number_of_shares_info), + Qstr::MP_QSTR_reset__one_share => Some(Self::reset__one_share), + Qstr::MP_QSTR_reset__only_one_share_will_be_created => Some(Self::reset__only_one_share_will_be_created), + Qstr::MP_QSTR_reset__recovery_seed_title => Some(Self::reset__recovery_seed_title), + Qstr::MP_QSTR_reset__recovery_share_title_template => Some(Self::reset__recovery_share_title_template), + Qstr::MP_QSTR_reset__required_number_of_groups => Some(Self::reset__required_number_of_groups), + Qstr::MP_QSTR_reset__select_correct_word => Some(Self::reset__select_correct_word), + Qstr::MP_QSTR_reset__select_word_title_template => Some(Self::reset__select_word_title_template), + Qstr::MP_QSTR_reset__select_word_x_of_y_template => Some(Self::reset__select_word_x_of_y_template), + Qstr::MP_QSTR_reset__set_it_to_count_template => Some(Self::reset__set_it_to_count_template), + Qstr::MP_QSTR_reset__share_checked_successfully_template => Some(Self::reset__share_checked_successfully_template), + Qstr::MP_QSTR_reset__share_words_title => Some(Self::reset__share_words_title), + Qstr::MP_QSTR_reset__slip39_checklist_num_groups => Some(Self::reset__slip39_checklist_num_groups), + Qstr::MP_QSTR_reset__slip39_checklist_num_shares => Some(Self::reset__slip39_checklist_num_shares), + Qstr::MP_QSTR_reset__slip39_checklist_set_num_groups => Some(Self::reset__slip39_checklist_set_num_groups), + Qstr::MP_QSTR_reset__slip39_checklist_set_num_shares => Some(Self::reset__slip39_checklist_set_num_shares), + Qstr::MP_QSTR_reset__slip39_checklist_set_sizes => Some(Self::reset__slip39_checklist_set_sizes), + Qstr::MP_QSTR_reset__slip39_checklist_set_sizes_longer => Some(Self::reset__slip39_checklist_set_sizes_longer), + Qstr::MP_QSTR_reset__slip39_checklist_set_threshold => Some(Self::reset__slip39_checklist_set_threshold), + Qstr::MP_QSTR_reset__slip39_checklist_title => Some(Self::reset__slip39_checklist_title), + Qstr::MP_QSTR_reset__slip39_checklist_write_down => Some(Self::reset__slip39_checklist_write_down), + Qstr::MP_QSTR_reset__slip39_checklist_write_down_recovery => Some(Self::reset__slip39_checklist_write_down_recovery), + Qstr::MP_QSTR_reset__the_threshold_sets_the_number_of_shares => Some(Self::reset__the_threshold_sets_the_number_of_shares), + Qstr::MP_QSTR_reset__threshold_info => Some(Self::reset__threshold_info), + Qstr::MP_QSTR_reset__title_backup_is_done => Some(Self::reset__title_backup_is_done), + Qstr::MP_QSTR_reset__title_create_wallet => Some(Self::reset__title_create_wallet), + Qstr::MP_QSTR_reset__title_create_wallet_shamir => Some(Self::reset__title_create_wallet_shamir), + Qstr::MP_QSTR_reset__title_group_threshold => Some(Self::reset__title_group_threshold), + Qstr::MP_QSTR_reset__title_number_of_groups => Some(Self::reset__title_number_of_groups), + Qstr::MP_QSTR_reset__title_number_of_shares => Some(Self::reset__title_number_of_shares), + Qstr::MP_QSTR_reset__title_set_group_threshold => Some(Self::reset__title_set_group_threshold), + Qstr::MP_QSTR_reset__title_set_number_of_groups => Some(Self::reset__title_set_number_of_groups), + Qstr::MP_QSTR_reset__title_set_number_of_shares => Some(Self::reset__title_set_number_of_shares), + Qstr::MP_QSTR_reset__title_set_threshold => Some(Self::reset__title_set_threshold), + Qstr::MP_QSTR_reset__to_form_group_template => Some(Self::reset__to_form_group_template), + Qstr::MP_QSTR_reset__tos_link => Some(Self::reset__tos_link), + Qstr::MP_QSTR_reset__total_number_of_shares_in_group_template => Some(Self::reset__total_number_of_shares_in_group_template), + Qstr::MP_QSTR_reset__use_your_backup => Some(Self::reset__use_your_backup), + Qstr::MP_QSTR_reset__write_down_words_template => Some(Self::reset__write_down_words_template), + Qstr::MP_QSTR_reset__wrong_word_selected => Some(Self::reset__wrong_word_selected), + Qstr::MP_QSTR_reset__you_need_one_share => Some(Self::reset__you_need_one_share), + Qstr::MP_QSTR_reset__your_backup_is_done => Some(Self::reset__your_backup_is_done), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ripple__confirm_tag => Some(Self::ripple__confirm_tag), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ripple__destination_tag_template => Some(Self::ripple__destination_tag_template), + Qstr::MP_QSTR_rotation__change_template => Some(Self::rotation__change_template), + Qstr::MP_QSTR_rotation__east => Some(Self::rotation__east), + Qstr::MP_QSTR_rotation__north => Some(Self::rotation__north), + Qstr::MP_QSTR_rotation__south => Some(Self::rotation__south), + Qstr::MP_QSTR_rotation__title_change => Some(Self::rotation__title_change), + Qstr::MP_QSTR_rotation__west => Some(Self::rotation__west), + Qstr::MP_QSTR_safety_checks__approve_unsafe_always => Some(Self::safety_checks__approve_unsafe_always), + Qstr::MP_QSTR_safety_checks__approve_unsafe_temporary => Some(Self::safety_checks__approve_unsafe_temporary), + Qstr::MP_QSTR_safety_checks__enforce_strict => Some(Self::safety_checks__enforce_strict), + Qstr::MP_QSTR_safety_checks__title => Some(Self::safety_checks__title), + Qstr::MP_QSTR_safety_checks__title_safety_override => Some(Self::safety_checks__title_safety_override), + Qstr::MP_QSTR_sd_card__all_data_will_be_lost => Some(Self::sd_card__all_data_will_be_lost), + Qstr::MP_QSTR_sd_card__card_required => Some(Self::sd_card__card_required), + Qstr::MP_QSTR_sd_card__disable => Some(Self::sd_card__disable), + Qstr::MP_QSTR_sd_card__disabled => Some(Self::sd_card__disabled), + Qstr::MP_QSTR_sd_card__enable => Some(Self::sd_card__enable), + Qstr::MP_QSTR_sd_card__enabled => Some(Self::sd_card__enabled), + Qstr::MP_QSTR_sd_card__error => Some(Self::sd_card__error), + Qstr::MP_QSTR_sd_card__format_card => Some(Self::sd_card__format_card), + Qstr::MP_QSTR_sd_card__insert_correct_card => Some(Self::sd_card__insert_correct_card), + Qstr::MP_QSTR_sd_card__please_insert => Some(Self::sd_card__please_insert), + Qstr::MP_QSTR_sd_card__please_unplug_and_insert => Some(Self::sd_card__please_unplug_and_insert), + Qstr::MP_QSTR_sd_card__problem_accessing => Some(Self::sd_card__problem_accessing), + Qstr::MP_QSTR_sd_card__refresh => Some(Self::sd_card__refresh), + Qstr::MP_QSTR_sd_card__refreshed => Some(Self::sd_card__refreshed), + Qstr::MP_QSTR_sd_card__restart => Some(Self::sd_card__restart), + Qstr::MP_QSTR_sd_card__title => Some(Self::sd_card__title), + Qstr::MP_QSTR_sd_card__title_problem => Some(Self::sd_card__title_problem), + Qstr::MP_QSTR_sd_card__unknown_filesystem => Some(Self::sd_card__unknown_filesystem), + Qstr::MP_QSTR_sd_card__unplug_and_insert_correct => Some(Self::sd_card__unplug_and_insert_correct), + Qstr::MP_QSTR_sd_card__use_different_card => Some(Self::sd_card__use_different_card), + Qstr::MP_QSTR_sd_card__wanna_format => Some(Self::sd_card__wanna_format), + Qstr::MP_QSTR_sd_card__wrong_sd_card => Some(Self::sd_card__wrong_sd_card), + Qstr::MP_QSTR_send__address_path => Some(Self::send__address_path), + Qstr::MP_QSTR_send__confirm_sending => Some(Self::send__confirm_sending), + Qstr::MP_QSTR_send__from_multiple_accounts => Some(Self::send__from_multiple_accounts), + Qstr::MP_QSTR_send__including_fee => Some(Self::send__including_fee), + Qstr::MP_QSTR_send__maximum_fee => Some(Self::send__maximum_fee), + Qstr::MP_QSTR_send__receiving_to_multisig => Some(Self::send__receiving_to_multisig), + Qstr::MP_QSTR_send__title_confirm_sending => Some(Self::send__title_confirm_sending), + Qstr::MP_QSTR_send__title_joint_transaction => Some(Self::send__title_joint_transaction), + Qstr::MP_QSTR_send__title_receiving_to => Some(Self::send__title_receiving_to), + Qstr::MP_QSTR_send__title_sending => Some(Self::send__title_sending), + Qstr::MP_QSTR_send__title_sending_amount => Some(Self::send__title_sending_amount), + Qstr::MP_QSTR_send__title_sending_to => Some(Self::send__title_sending_to), + Qstr::MP_QSTR_send__to_the_total_amount => Some(Self::send__to_the_total_amount), + Qstr::MP_QSTR_send__total_amount => Some(Self::send__total_amount), + Qstr::MP_QSTR_send__transaction_id => Some(Self::send__transaction_id), + Qstr::MP_QSTR_send__you_are_contributing => Some(Self::send__you_are_contributing), + Qstr::MP_QSTR_share_words__words_in_order => Some(Self::share_words__words_in_order), + Qstr::MP_QSTR_share_words__wrote_down_all => Some(Self::share_words__wrote_down_all), + Qstr::MP_QSTR_sign_message__bytes_template => Some(Self::sign_message__bytes_template), + Qstr::MP_QSTR_sign_message__title_confirm_address => Some(Self::sign_message__title_confirm_address), + Qstr::MP_QSTR_sign_message__title_confirm_message => Some(Self::sign_message__title_confirm_message), + Qstr::MP_QSTR_sign_message__message_size => Some(Self::sign_message__message_size), + Qstr::MP_QSTR_sign_message__title_verify_address => Some(Self::sign_message__title_verify_address), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_solana__account_index => Some(Self::solana__account_index), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_solana__associated_token_account => Some(Self::solana__associated_token_account), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_solana__confirm_multisig => Some(Self::solana__confirm_multisig), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_solana__expected_fee => Some(Self::solana__expected_fee), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_solana__instruction_accounts_template => Some(Self::solana__instruction_accounts_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_solana__instruction_data => Some(Self::solana__instruction_data), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_solana__instruction_is_multisig => Some(Self::solana__instruction_is_multisig), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_solana__is_provided_via_lookup_table_template => Some(Self::solana__is_provided_via_lookup_table_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_solana__lookup_table_address => Some(Self::solana__lookup_table_address), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_solana__multiple_signers => Some(Self::solana__multiple_signers), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_solana__token_address => Some(Self::solana__token_address), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_solana__transaction_contains_unknown_instructions => Some(Self::solana__transaction_contains_unknown_instructions), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_solana__transaction_requires_x_signers_template => Some(Self::solana__transaction_requires_x_signers_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__account_merge => Some(Self::stellar__account_merge), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__account_thresholds => Some(Self::stellar__account_thresholds), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__add_signer => Some(Self::stellar__add_signer), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__add_trust => Some(Self::stellar__add_trust), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__all_will_be_sent_to => Some(Self::stellar__all_will_be_sent_to), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__allow_trust => Some(Self::stellar__allow_trust), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__asset => Some(Self::stellar__asset), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__balance_id => Some(Self::stellar__balance_id), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__bump_sequence => Some(Self::stellar__bump_sequence), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__buying => Some(Self::stellar__buying), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__claim_claimable_balance => Some(Self::stellar__claim_claimable_balance), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__clear_data => Some(Self::stellar__clear_data), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__clear_flags => Some(Self::stellar__clear_flags), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__confirm_issuer => Some(Self::stellar__confirm_issuer), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__confirm_memo => Some(Self::stellar__confirm_memo), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__confirm_network => Some(Self::stellar__confirm_network), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__confirm_operation => Some(Self::stellar__confirm_operation), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__confirm_stellar => Some(Self::stellar__confirm_stellar), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__confirm_timebounds => Some(Self::stellar__confirm_timebounds), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__create_account => Some(Self::stellar__create_account), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__debited_amount => Some(Self::stellar__debited_amount), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__delete => Some(Self::stellar__delete), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__delete_passive_offer => Some(Self::stellar__delete_passive_offer), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__delete_trust => Some(Self::stellar__delete_trust), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__destination => Some(Self::stellar__destination), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__exchanges_require_memo => Some(Self::stellar__exchanges_require_memo), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__final_confirm => Some(Self::stellar__final_confirm), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__hash => Some(Self::stellar__hash), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__high => Some(Self::stellar__high), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__home_domain => Some(Self::stellar__home_domain), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__inflation => Some(Self::stellar__inflation), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__initial_balance => Some(Self::stellar__initial_balance), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__initialize_signing_with => Some(Self::stellar__initialize_signing_with), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__issuer_template => Some(Self::stellar__issuer_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__key => Some(Self::stellar__key), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__limit => Some(Self::stellar__limit), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__low => Some(Self::stellar__low), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__master_weight => Some(Self::stellar__master_weight), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__medium => Some(Self::stellar__medium), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__new_offer => Some(Self::stellar__new_offer), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__new_passive_offer => Some(Self::stellar__new_passive_offer), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__no_memo_set => Some(Self::stellar__no_memo_set), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__no_restriction => Some(Self::stellar__no_restriction), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__on_network_template => Some(Self::stellar__on_network_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__path_pay => Some(Self::stellar__path_pay), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__path_pay_at_least => Some(Self::stellar__path_pay_at_least), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__pay => Some(Self::stellar__pay), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__pay_at_most => Some(Self::stellar__pay_at_most), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__preauth_transaction => Some(Self::stellar__preauth_transaction), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__price_per_template => Some(Self::stellar__price_per_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__private_network => Some(Self::stellar__private_network), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__remove_signer => Some(Self::stellar__remove_signer), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__revoke_trust => Some(Self::stellar__revoke_trust), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__selling => Some(Self::stellar__selling), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__set_data => Some(Self::stellar__set_data), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__set_flags => Some(Self::stellar__set_flags), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__set_sequence_to_template => Some(Self::stellar__set_sequence_to_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__sign_tx_count_template => Some(Self::stellar__sign_tx_count_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__sign_tx_fee_template => Some(Self::stellar__sign_tx_fee_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__source_account => Some(Self::stellar__source_account), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__testnet_network => Some(Self::stellar__testnet_network), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__trusted_account => Some(Self::stellar__trusted_account), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__update => Some(Self::stellar__update), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__valid_from => Some(Self::stellar__valid_from), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__valid_to => Some(Self::stellar__valid_to), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__value_sha256 => Some(Self::stellar__value_sha256), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__wanna_clean_value_key_template => Some(Self::stellar__wanna_clean_value_key_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_stellar__your_account => Some(Self::stellar__your_account), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_tezos__baker_address => Some(Self::tezos__baker_address), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_tezos__balance => Some(Self::tezos__balance), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_tezos__ballot => Some(Self::tezos__ballot), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_tezos__confirm_delegation => Some(Self::tezos__confirm_delegation), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_tezos__confirm_origination => Some(Self::tezos__confirm_origination), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_tezos__delegator => Some(Self::tezos__delegator), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_tezos__proposal => Some(Self::tezos__proposal), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_tezos__register_delegate => Some(Self::tezos__register_delegate), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_tezos__remove_delegation => Some(Self::tezos__remove_delegation), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_tezos__submit_ballot => Some(Self::tezos__submit_ballot), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_tezos__submit_proposal => Some(Self::tezos__submit_proposal), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_tezos__submit_proposals => Some(Self::tezos__submit_proposals), + Qstr::MP_QSTR_tutorial__middle_click => Some(Self::tutorial__middle_click), + Qstr::MP_QSTR_tutorial__press_and_hold => Some(Self::tutorial__press_and_hold), + Qstr::MP_QSTR_tutorial__ready_to_use => Some(Self::tutorial__ready_to_use), + Qstr::MP_QSTR_tutorial__scroll_down => Some(Self::tutorial__scroll_down), + Qstr::MP_QSTR_tutorial__sure_you_want_skip => Some(Self::tutorial__sure_you_want_skip), + Qstr::MP_QSTR_tutorial__title_hello => Some(Self::tutorial__title_hello), + Qstr::MP_QSTR_tutorial__title_screen_scroll => Some(Self::tutorial__title_screen_scroll), + Qstr::MP_QSTR_tutorial__title_skip => Some(Self::tutorial__title_skip), + Qstr::MP_QSTR_tutorial__title_tutorial_complete => Some(Self::tutorial__title_tutorial_complete), + Qstr::MP_QSTR_tutorial__use_trezor => Some(Self::tutorial__use_trezor), + Qstr::MP_QSTR_tutorial__welcome_press_right => Some(Self::tutorial__welcome_press_right), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_u2f__get => Some(Self::u2f__get), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_u2f__set_template => Some(Self::u2f__set_template), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_u2f__title_get => Some(Self::u2f__title_get), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_u2f__title_set => Some(Self::u2f__title_set), + Qstr::MP_QSTR_wipe__info => Some(Self::wipe__info), + Qstr::MP_QSTR_wipe__title => Some(Self::wipe__title), + Qstr::MP_QSTR_wipe__want_to_wipe => Some(Self::wipe__want_to_wipe), + Qstr::MP_QSTR_wipe_code__change => Some(Self::wipe_code__change), + Qstr::MP_QSTR_wipe_code__changed => Some(Self::wipe_code__changed), + Qstr::MP_QSTR_wipe_code__diff_from_pin => Some(Self::wipe_code__diff_from_pin), + Qstr::MP_QSTR_wipe_code__disabled => Some(Self::wipe_code__disabled), + Qstr::MP_QSTR_wipe_code__enabled => Some(Self::wipe_code__enabled), + Qstr::MP_QSTR_wipe_code__enter_new => Some(Self::wipe_code__enter_new), + Qstr::MP_QSTR_wipe_code__info => Some(Self::wipe_code__info), + Qstr::MP_QSTR_wipe_code__invalid => Some(Self::wipe_code__invalid), + Qstr::MP_QSTR_wipe_code__mismatch => Some(Self::wipe_code__mismatch), + Qstr::MP_QSTR_wipe_code__reenter => Some(Self::wipe_code__reenter), + Qstr::MP_QSTR_wipe_code__reenter_to_confirm => Some(Self::wipe_code__reenter_to_confirm), + Qstr::MP_QSTR_wipe_code__title_check => Some(Self::wipe_code__title_check), + Qstr::MP_QSTR_wipe_code__title_invalid => Some(Self::wipe_code__title_invalid), + Qstr::MP_QSTR_wipe_code__title_settings => Some(Self::wipe_code__title_settings), + Qstr::MP_QSTR_wipe_code__turn_off => Some(Self::wipe_code__turn_off), + Qstr::MP_QSTR_wipe_code__turn_on => Some(Self::wipe_code__turn_on), + Qstr::MP_QSTR_wipe_code__wipe_code_mismatch => Some(Self::wipe_code__wipe_code_mismatch), + Qstr::MP_QSTR_word_count__title => Some(Self::word_count__title), + Qstr::MP_QSTR_words__account => Some(Self::words__account), + Qstr::MP_QSTR_words__account_colon => Some(Self::words__account_colon), + Qstr::MP_QSTR_words__address => Some(Self::words__address), + Qstr::MP_QSTR_words__amount => Some(Self::words__amount), + Qstr::MP_QSTR_words__are_you_sure => Some(Self::words__are_you_sure), + Qstr::MP_QSTR_words__array_of => Some(Self::words__array_of), + Qstr::MP_QSTR_words__blockhash => Some(Self::words__blockhash), + Qstr::MP_QSTR_words__buying => Some(Self::words__buying), + Qstr::MP_QSTR_words__confirm => Some(Self::words__confirm), + Qstr::MP_QSTR_words__confirm_fee => Some(Self::words__confirm_fee), + Qstr::MP_QSTR_words__contains => Some(Self::words__contains), + Qstr::MP_QSTR_words__continue_anyway => Some(Self::words__continue_anyway), + Qstr::MP_QSTR_words__continue_with => Some(Self::words__continue_with), + Qstr::MP_QSTR_words__error => Some(Self::words__error), + Qstr::MP_QSTR_words__fee => Some(Self::words__fee), + Qstr::MP_QSTR_words__from => Some(Self::words__from), + Qstr::MP_QSTR_words__keep_it_safe => Some(Self::words__keep_it_safe), + Qstr::MP_QSTR_words__know_what_your_doing => Some(Self::words__know_what_your_doing), + Qstr::MP_QSTR_words__my_trezor => Some(Self::words__my_trezor), + Qstr::MP_QSTR_words__no => Some(Self::words__no), + Qstr::MP_QSTR_words__outputs => Some(Self::words__outputs), + Qstr::MP_QSTR_words__please_check_again => Some(Self::words__please_check_again), + Qstr::MP_QSTR_words__please_try_again => Some(Self::words__please_try_again), + Qstr::MP_QSTR_words__really_wanna => Some(Self::words__really_wanna), + Qstr::MP_QSTR_words__title_recipient => Some(Self::words__title_recipient), + Qstr::MP_QSTR_words__sign => Some(Self::words__sign), + Qstr::MP_QSTR_words__signer => Some(Self::words__signer), + Qstr::MP_QSTR_words__title_check => Some(Self::words__title_check), + Qstr::MP_QSTR_words__title_group => Some(Self::words__title_group), + Qstr::MP_QSTR_words__title_information => Some(Self::words__title_information), + Qstr::MP_QSTR_words__title_remember => Some(Self::words__title_remember), + Qstr::MP_QSTR_words__title_share => Some(Self::words__title_share), + Qstr::MP_QSTR_words__title_shares => Some(Self::words__title_shares), + Qstr::MP_QSTR_words__title_success => Some(Self::words__title_success), + Qstr::MP_QSTR_words__title_summary => Some(Self::words__title_summary), + Qstr::MP_QSTR_words__title_threshold => Some(Self::words__title_threshold), + Qstr::MP_QSTR_words__unknown => Some(Self::words__unknown), + Qstr::MP_QSTR_words__warning => Some(Self::words__warning), + Qstr::MP_QSTR_words__writable => Some(Self::words__writable), + Qstr::MP_QSTR_words__yes => Some(Self::words__yes), + Qstr::MP_QSTR_reboot_to_bootloader__just_a_moment => Some(Self::reboot_to_bootloader__just_a_moment), + Qstr::MP_QSTR_inputs__previous => Some(Self::inputs__previous), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__staking_title_claim => Some(Self::ethereum__staking_title_claim), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__staking_title_claim_address => Some(Self::ethereum__staking_title_claim_address), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__staking_claim_intro => Some(Self::ethereum__staking_claim_intro), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__staking_title_stake => Some(Self::ethereum__staking_title_stake), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__staking_title_stake_address => Some(Self::ethereum__staking_title_stake_address), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__staking_stake_intro => Some(Self::ethereum__staking_stake_intro), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__staking_title_unstake => Some(Self::ethereum__staking_title_unstake), + #[cfg(feature = "universal_fw")] + Qstr::MP_QSTR_ethereum__staking_unstake_intro => Some(Self::ethereum__staking_unstake_intro), + Qstr::MP_QSTR_storage_msg__title_starting => Some(Self::storage_msg__title_starting), + Qstr::MP_QSTR_storage_msg__title_verifying_pin => Some(Self::storage_msg__title_verifying_pin), + Qstr::MP_QSTR_storage_msg__title_wrong_pin => Some(Self::storage_msg__title_wrong_pin), + _ => None, + } + } +} diff --git a/core/embed/rust/src/translations/generated/translated_string_upper.rs.mako b/core/embed/rust/src/translations/generated/translated_string_upper.rs.mako new file mode 100644 index 000000000..ce315d5b4 --- /dev/null +++ b/core/embed/rust/src/translations/generated/translated_string_upper.rs.mako @@ -0,0 +1,75 @@ +//! generated from ${THIS_FILE.name} +//! (by running `make templates` in `core`) +//! do not edit manually! + +#![cfg_attr(rustfmt, rustfmt_skip)] +<% +import json +from trezorlib._internal.translations import uppercase_titles_and_buttons + +ALTCOIN_PREFIXES = ( + "binance", + "cardano", + "eos", + "ethereum", + "fido", + "monero", + "nem", + "ripple", + "solana", + "stellar", + "tezos", + "u2f", +) + +TR_DIR = ROOT / "core" / "translations" + +order_file = TR_DIR / "order.json" +order_index_name = json.loads(order_file.read_text()) +order = {int(k): v for k, v in order_index_name.items()} + + +en_file = TR_DIR / "en.json" +en_data = json.loads(en_file.read_text())["translations"] + +%>\ +#[cfg(feature = "micropython")] +use crate::micropython::qstr::Qstr; + +#[derive(Debug, Copy, Clone, FromPrimitive, PartialEq, Eq)] +#[repr(u16)] +#[allow(non_camel_case_types)] +pub enum TranslatedString { +% for idx, name in order.items(): + %if any(name.startswith(prefix + "__") for prefix in ALTCOIN_PREFIXES): + #[cfg(feature = "universal_fw")] + %endif + ${name} = ${idx}, // ${json.dumps(en_data.get(name, '""'))} +% endfor +} + +impl TranslatedString { + pub fn untranslated(self) -> &'static str { + match self { +% for name in order.values(): + %if any(name.startswith(prefix + "__") for prefix in ALTCOIN_PREFIXES): + #[cfg(feature = "universal_fw")] + %endif + Self::${name} => ${uppercase_titles_and_buttons(json.dumps(en_data.get(name, '""')), name, "T2T1")}, +% endfor + } + } + + #[cfg(feature = "micropython")] + pub fn from_qstr(qstr: Qstr) -> Option { + match qstr { +% for name in order.values(): + %if any(name.startswith(prefix + "__") for prefix in ALTCOIN_PREFIXES): + #[cfg(feature = "universal_fw")] + %endif + Qstr::MP_QSTR_${name} => Some(Self::${name}), +% endfor + _ => None, + } + } +} diff --git a/core/embed/rust/src/translations/translated_string.rs b/core/embed/rust/src/translations/translated_string.rs index b10917e2a..ff1ab7e36 100644 --- a/core/embed/rust/src/translations/translated_string.rs +++ b/core/embed/rust/src/translations/translated_string.rs @@ -1,7 +1,7 @@ use crate::strutil::TString; use super::blob::Translations; -pub use super::generated::translated_string::TranslatedString; +pub use super::generated::TranslatedString; impl TranslatedString { pub(super) fn translate<'a>(self, source: Option<&'a Translations>) -> &'a str { diff --git a/core/embed/rust/src/ui/display/font.rs b/core/embed/rust/src/ui/display/font.rs index e6ad0f362..b9474abc6 100644 --- a/core/embed/rust/src/ui/display/font.rs +++ b/core/embed/rust/src/ui/display/font.rs @@ -122,7 +122,7 @@ impl Glyph { } /// Font constants. Keep in sync with FONT_ definitions in -/// `extmod/modtrezorui/fonts/fonts.h`. +/// `embed/lib/fonts/fonts.h`. #[derive(Copy, Clone, PartialEq, Eq, FromPrimitive)] #[repr(u8)] pub enum Font { diff --git a/core/mocks/trezortranslate_keys.pyi b/core/mocks/trezortranslate_keys.pyi index 36769be70..cc11c8eb2 100644 --- a/core/mocks/trezortranslate_keys.pyi +++ b/core/mocks/trezortranslate_keys.pyi @@ -8,25 +8,25 @@ class TR: addr_mismatch__support_url: str = "trezor.io/support" addr_mismatch__wrong_derivation_path: str = "Wrong derivation path for selected account." addr_mismatch__xpub_mismatch: str = "XPUB mismatch?" - address__public_key: str = "Public key" - address__title_cosigner: str = "COSIGNER" - address__title_receive_address: str = "RECEIVE ADDRESS" - address__title_yours: str = "YOURS" + address__title_cosigner: str = "Cosigner" + address__title_public_key: str = "Public key" + address__title_receive_address: str = "Receive address" + address__title_yours: str = "Yours" address_details__derivation_path: str = "Derivation path:" - address_details__title_receive_address: str = "RECEIVE ADDRESS" - address_details__title_receiving_to: str = "RECEIVING TO" + address_details__title_receive_address: str = "Receive address" + address_details__title_receiving_to: str = "Receiving to" authenticate__confirm_template: str = "Allow connected computer to confirm your {0} is genuine?" authenticate__header: str = "Authenticate device" auto_lock__change_template: str = "Auto-lock your Trezor after {0} of inactivity?" - auto_lock__title: str = "AUTO-LOCK DELAY" + auto_lock__title: str = "Auto-lock delay" backup__can_back_up_anytime: str = "You can back up your Trezor once, at any time." backup__it_should_be_backed_up: str = "You should back up your new wallet right now." backup__it_should_be_backed_up_now: str = "It should be backed up now!" backup__new_wallet_created: str = "New wallet created.\n" backup__new_wallet_successfully_created: str = "New wallet created successfully." backup__recover_anytime: str = "You can use your backup to recover your wallet at any time." - backup__title_backup_wallet: str = "BACK UP WALLET" - backup__title_skip: str = "SKIP BACKUP" + backup__title_backup_wallet: str = "Back up wallet" + backup__title_skip: str = "Skip backup" backup__want_to_skip: str = "Are you sure you want to skip the backup?" binance__buy: str = "Buy" binance__confirm_cancel: str = "Confirm cancel" @@ -52,59 +52,59 @@ class TR: bitcoin__new_fee_rate: str = "New fee rate:" bitcoin__simple_send_of: str = "Simple send of" bitcoin__ticket_amount: str = "Ticket amount:" - bitcoin__title_confirm_details: str = "CONFIRM DETAILS" - bitcoin__title_finalize_transaction: str = "FINALIZE TRANSACTION" - bitcoin__title_high_mining_fee: str = "HIGH MINING FEE" - bitcoin__title_meld_transaction: str = "MELD TRANSACTIONS" - bitcoin__title_modify_amount: str = "MODIFY AMOUNT" - bitcoin__title_payjoin: str = "PAYJOIN" - bitcoin__title_proof_of_ownership: str = "PROOF OF OWNERSHIP" - bitcoin__title_purchase_ticket: str = "PURCHASE TICKET" - bitcoin__title_update_transaction: str = "UPDATE TRANSACTION" + bitcoin__title_confirm_details: str = "Confirm details" + bitcoin__title_finalize_transaction: str = "Finalize transaction" + bitcoin__title_high_mining_fee: str = "High mining fee" + bitcoin__title_meld_transaction: str = "Meld transactions" + bitcoin__title_modify_amount: str = "Modify amount" + bitcoin__title_payjoin: str = "Payjoin" + bitcoin__title_proof_of_ownership: str = "Proof of ownership" + bitcoin__title_purchase_ticket: str = "Purchase ticket" + bitcoin__title_update_transaction: str = "Update transaction" bitcoin__unknown_path: str = "Unknown path" bitcoin__unknown_transaction: str = "Unknown transaction" bitcoin__unusually_high_fee: str = "Unusually high fee." bitcoin__unverified_external_inputs: str = "The transaction contains unverified external inputs." bitcoin__valid_signature: str = "The signature is valid." bitcoin__voting_rights: str = "Voting rights to:" - buttons__abort: str = "ABORT" - buttons__access: str = "ACCESS" - buttons__again: str = "AGAIN" - buttons__allow: str = "ALLOW" - buttons__back: str = "BACK" - buttons__back_up: str = "BACK UP" - buttons__cancel: str = "CANCEL" - buttons__change: str = "CHANGE" - buttons__check: str = "CHECK" - buttons__check_again: str = "CHECK AGAIN" - buttons__close: str = "CLOSE" - buttons__confirm: str = "CONFIRM" - buttons__continue: str = "CONTINUE" - buttons__details: str = "DETAILS" - buttons__enable: str = "ENABLE" - buttons__enter: str = "ENTER" - buttons__enter_share: str = "ENTER SHARE" - buttons__export: str = "EXPORT" - buttons__format: str = "FORMAT" - buttons__go_back: str = "GO BACK" - buttons__hold_to_confirm: str = "HOLD TO CONFIRM" - buttons__info: str = "INFO" - buttons__install: str = "INSTALL" - buttons__more_info: str = "MORE INFO" - buttons__ok_i_understand: str = "OK, I UNDERSTAND" - buttons__purchase: str = "PURCHASE" - buttons__quit: str = "QUIT" - buttons__restart: str = "RESTART" - buttons__retry: str = "RETRY" - buttons__select: str = "SELECT" - buttons__set: str = "SET" - buttons__show_all: str = "SHOW ALL" - buttons__show_details: str = "SHOW DETAILS" - buttons__show_words: str = "SHOW WORDS" - buttons__skip: str = "SKIP" - buttons__try_again: str = "TRY AGAIN" - buttons__turn_off: str = "TURN OFF" - buttons__turn_on: str = "TURN ON" + buttons__abort: str = "Abort" + buttons__access: str = "Access" + buttons__again: str = "Again" + buttons__allow: str = "Allow" + buttons__back: str = "Back" + buttons__back_up: str = "Back up" + buttons__cancel: str = "Cancel" + buttons__change: str = "Change" + buttons__check: str = "Check" + buttons__check_again: str = "Check again" + buttons__close: str = "Close" + buttons__confirm: str = "Confirm" + buttons__continue: str = "Continue" + buttons__details: str = "Details" + buttons__enable: str = "Enable" + buttons__enter: str = "Enter" + buttons__enter_share: str = "Enter share" + buttons__export: str = "Export" + buttons__format: str = "Format" + buttons__go_back: str = "Go back" + buttons__hold_to_confirm: str = "Hold to confirm" + buttons__info: str = "Info" + buttons__install: str = "Install" + buttons__more_info: str = "More info" + buttons__ok_i_understand: str = "Ok, i understand" + buttons__purchase: str = "Purchase" + buttons__quit: str = "Quit" + buttons__restart: str = "Restart" + buttons__retry: str = "Retry" + buttons__select: str = "Select" + buttons__set: str = "Set" + buttons__show_all: str = "Show all" + buttons__show_details: str = "Show details" + buttons__show_words: str = "Show words" + buttons__skip: str = "Skip" + buttons__try_again: str = "Try again" + buttons__turn_off: str = "Turn off" + buttons__turn_on: str = "Turn on" cardano__addr_base: str = "Base" cardano__addr_enterprise: str = "Enterprise" cardano__addr_legacy: str = "Legacy" @@ -218,21 +218,21 @@ class TR: coinjoin__do_not_disconnect: str = "Do not disconnect your Trezor!" coinjoin__max_mining_fee: str = "Max mining fee" coinjoin__max_rounds: str = "Max rounds" - coinjoin__title: str = "AUTHORIZE COINJOIN" - coinjoin__title_do_not_disconnect: str = "DO NOT DISCONNECT YOUR TREZOR!" - coinjoin__title_progress: str = "COINJOIN IN PROGRESS" + coinjoin__title: str = "Authorize coinjoin" + coinjoin__title_do_not_disconnect: str = "Do not disconnect your trezor!" + coinjoin__title_progress: str = "Coinjoin in progress" coinjoin__waiting_for_others: str = "Waiting for others" confirm_total__fee_rate: str = "Fee rate:" confirm_total__sending_from_account: str = "Sending from account:" - confirm_total__title_fee: str = "FEE INFORMATION" - confirm_total__title_sending_from: str = "SENDING FROM" + confirm_total__title_fee: str = "Fee information" + confirm_total__title_sending_from: str = "Sending from" debug__loading_seed: str = "Loading seed" debug__loading_seed_not_recommended: str = "Loading private seed is not recommended." device_name__change_template: str = "Change device name to {0}?" - device_name__title: str = "DEVICE NAME" + device_name__title: str = "Device name" entropy__send: str = "Do you really want to send entropy?" - entropy__title: str = "INTERNAL ENTROPY" - entropy__title_confirm: str = "CONFIRM ENTROPY" + entropy__title: str = "Internal entropy" + entropy__title_confirm: str = "Confirm entropy" eos__about_to_sign_template: str = "You are about to sign {0}." eos__action_name: str = "Action Name:" eos__arbitrary_data: str = "Arbitrary data" @@ -288,26 +288,26 @@ class TR: ethereum__show_full_message: str = "Show full message" ethereum__show_full_struct: str = "Show full struct" ethereum__sign_eip712: str = "Really sign EIP-712 typed data?" - ethereum__staking_claim: str = "CLAIM" - ethereum__staking_claim_address: str = "CLAIM ADDRESS" ethereum__staking_claim_intro: str = "Claim ETH from Everstake?" - ethereum__staking_stake: str = "STAKE" - ethereum__staking_stake_address: str = "STAKE ADDRESS" ethereum__staking_stake_intro: str = "Stake ETH on Everstake?" - ethereum__staking_unstake: str = "UNSTAKE" + ethereum__staking_title_claim: str = "Claim" + ethereum__staking_title_claim_address: str = "Claim address" + ethereum__staking_title_stake: str = "Stake" + ethereum__staking_title_stake_address: str = "Stake address" + ethereum__staking_title_unstake: str = "Unstake" ethereum__staking_unstake_intro: str = "Unstake ETH from Everstake?" - ethereum__title_confirm_data: str = "CONFIRM DATA" - ethereum__title_confirm_domain: str = "CONFIRM DOMAIN" - ethereum__title_confirm_message: str = "CONFIRM MESSAGE" - ethereum__title_confirm_struct: str = "CONFIRM STRUCT" - ethereum__title_confirm_typed_data: str = "CONFIRM TYPED DATA" - ethereum__title_signing_address: str = "SIGNING ADDRESS" + ethereum__title_confirm_data: str = "Confirm data" + ethereum__title_confirm_domain: str = "Confirm domain" + ethereum__title_confirm_message: str = "Confirm message" + ethereum__title_confirm_struct: str = "Confirm struct" + ethereum__title_confirm_typed_data: str = "Confirm typed data" + ethereum__title_signing_address: str = "Signing address" ethereum__units_template: str = "{0} units" ethereum__unknown_token: str = "Unknown token" ethereum__valid_signature: str = "The signature is valid." experimental_mode__enable: str = "Enable experimental features?" experimental_mode__only_for_dev: str = "Only for development and beta testing!" - experimental_mode__title: str = "EXPERIMENTAL MODE" + experimental_mode__title: str = "Experimental mode" fido__already_registered: str = "Already registered" fido__device_already_registered: str = "This device is already registered with this application." fido__device_already_registered_with_template: str = "This device is already registered with {0}." @@ -318,61 +318,61 @@ class TR: fido__not_registered: str = "Not registered" fido__not_registered_with_template: str = "This device is not registered with\n{0}." fido__please_enable_pin_protection: str = "Please enable PIN protection." - fido__title_authenticate: str = "FIDO2 AUTHENTICATE" - fido__title_import_credential: str = "IMPORT CREDENTIAL" - fido__title_list_credentials: str = "LIST CREDENTIALS" - fido__title_register: str = "FIDO2 REGISTER" - fido__title_remove_credential: str = "REMOVE CREDENTIAL" - fido__title_reset: str = "FIDO2 RESET" - fido__title_u2f_auth: str = "U2F AUTHENTICATE" - fido__title_u2f_register: str = "U2F REGISTER" - fido__title_verify_user: str = "FIDO2 VERIFY USER" + fido__title_authenticate: str = "Fido2 authenticate" + fido__title_import_credential: str = "Import credential" + fido__title_list_credentials: str = "List credentials" + fido__title_register: str = "Fido2 register" + fido__title_remove_credential: str = "Remove credential" + fido__title_reset: str = "FIDO2 reset" + fido__title_u2f_auth: str = "U2F authenticate" + fido__title_u2f_register: str = "U2F register" + fido__title_verify_user: str = "FIDO2 verify user" fido__unable_to_verify_user: str = "Unable to verify user." fido__wanna_erase_credentials: str = "Do you really want to erase all credentials?" - firmware_update__title: str = "UPDATE FIRMWARE" - firmware_update__title_fingerprint: str = "FW FINGERPRINT" + firmware_update__title: str = "Update firmware" + firmware_update__title_fingerprint: str = "FW fingerprint" homescreen__click_to_connect: str = "Click to Connect" homescreen__click_to_unlock: str = "Click to Unlock" - homescreen__title_backup_failed: str = "BACKUP FAILED" - homescreen__title_backup_needed: str = "BACKUP NEEDED" - homescreen__title_coinjoin_authorized: str = "COINJOIN AUTHORIZED" - homescreen__title_experimental_mode: str = "EXPERIMENTAL MODE" - homescreen__title_no_usb_connection: str = "NO USB CONNECTION" - homescreen__title_pin_not_set: str = "PIN NOT SET" - homescreen__title_seedless: str = "SEEDLESS" - homescreen__title_set: str = "CHANGE HOMESCREEN?" - inputs__back: str = "BACK" - inputs__cancel: str = "CANCEL" - inputs__delete: str = "DELETE" - inputs__enter: str = "ENTER" - inputs__previous: str = "PREVIOUS" - inputs__return: str = "RETURN" - inputs__show: str = "SHOW" - inputs__space: str = "SPACE" - joint__title: str = "JOINT TRANSACTION" + homescreen__title_backup_failed: str = "Backup failed" + homescreen__title_backup_needed: str = "Backup needed" + homescreen__title_coinjoin_authorized: str = "Coinjoin authorized" + homescreen__title_experimental_mode: str = "Experimental mode" + homescreen__title_no_usb_connection: str = "No USB connection" + homescreen__title_pin_not_set: str = "PIN not set" + homescreen__title_seedless: str = "Seedless" + homescreen__title_set: str = "Change homescreen?" + inputs__back: str = "Back" + inputs__cancel: str = "Cancel" + inputs__delete: str = "Delete" + inputs__enter: str = "Enter" + inputs__previous: str = "Previous" + inputs__return: str = "Return" + inputs__show: str = "Show" + inputs__space: str = "Space" + joint__title: str = "Joint transaction" joint__to_the_total_amount: str = "To the total amount:" joint__you_are_contributing: str = "You are contributing:" language__change_to_template: str = "Change language to {0}?" language__changed: str = "Language changed successfully" language__progress: str = "Changing language" - language__title: str = "LANGUAGE SETTINGS" + language__title: str = "Language settings" lockscreen__tap_to_connect: str = "Tap to connect" lockscreen__tap_to_unlock: str = "Tap to unlock" - lockscreen__title_locked: str = "LOCKED" - lockscreen__title_not_connected: str = "NOT CONNECTED" + lockscreen__title_locked: str = "Locked" + lockscreen__title_not_connected: str = "Not connected" misc__decrypt_value: str = "Decrypt value" misc__encrypt_value: str = "Encrypt value" - misc__title_suite_labeling: str = "SUITE LABELING" + misc__title_suite_labeling: str = "Suite labeling" modify_amount__decrease_amount: str = "Decrease amount by:" modify_amount__increase_amount: str = "Increase amount by:" modify_amount__new_amount: str = "New amount:" - modify_amount__title: str = "MODIFY AMOUNT" + modify_amount__title: str = "Modify amount" modify_fee__decrease_fee: str = "Decrease fee by:" modify_fee__fee_rate: str = "Fee rate:" modify_fee__increase_fee: str = "Increase fee by:" modify_fee__new_transaction_fee: str = "New transaction fee:" modify_fee__no_change: str = "Fee did not change.\n" - modify_fee__title: str = "MODIFY FEE" + modify_fee__title: str = "Modify fee" modify_fee__transaction_fee: str = "Transaction fee:" monero__confirm_export: str = "Confirm export" monero__confirm_ki_sync: str = "Confirm ki sync" @@ -451,11 +451,11 @@ class TR: passphrase__next_screen_will_show_passphrase: str = "Next screen will show the passphrase." passphrase__please_enter: str = "Please enter your passphrase." passphrase__revoke_on_device: str = "Do you want to revoke the passphrase on device setting?" - passphrase__title_confirm: str = "CONFIRM PASSPHRASE" - passphrase__title_enter: str = "ENTER PASSPHRASE" - passphrase__title_hide: str = "HIDE PASSPHRASE" - passphrase__title_settings: str = "PASSPHRASE SETTINGS" - passphrase__title_source: str = "PASSPHRASE SOURCE" + passphrase__title_confirm: str = "Confirm passphrase" + passphrase__title_enter: str = "Enter passphrase" + passphrase__title_hide: str = "Hide passphrase" + passphrase__title_settings: str = "Passphrase settings" + passphrase__title_source: str = "Passphrase source" passphrase__turn_off: str = "Turn off passphrase protection?" passphrase__turn_on: str = "Turn on passphrase protection?" pin__change: str = "Change PIN?" @@ -476,9 +476,9 @@ class TR: pin__reenter_new: str = "Re-enter new PIN" pin__reenter_to_confirm: str = "Please re-enter PIN to confirm." pin__should_be_long: str = "PIN should be 4-50 digits long." - pin__title_check_pin: str = "CHECK PIN" - pin__title_settings: str = "PIN SETTINGS" - pin__title_wrong_pin: str = "WRONG PIN" + pin__title_check_pin: str = "Check PIN" + pin__title_settings: str = "PIN settings" + pin__title_wrong_pin: str = "Wrong PIN" pin__tries_left: str = "tries left" pin__turn_off: str = "Are you sure you want to turn off PIN protection?" pin__turn_on: str = "Turn on PIN protection?" @@ -497,14 +497,14 @@ class TR: progress__loading_transaction: str = "Loading transaction..." progress__locking_device: str = "Locking the device..." progress__one_second_left: str = "1 second left" - progress__please_wait: str = "PLEASE WAIT" progress__refreshing: str = "Refreshing..." progress__signing_transaction: str = "Signing transaction..." progress__syncing: str = "Syncing..." + progress__title_please_wait: str = "Please wait" progress__x_seconds_left_template: str = "{0} seconds left" reboot_to_bootloader__just_a_moment: str = "Just a moment..." reboot_to_bootloader__restart: str = "Trezor will restart in bootloader mode." - reboot_to_bootloader__title: str = "GO TO BOOTLOADER" + reboot_to_bootloader__title: str = "Go to bootloader" reboot_to_bootloader__version_by_template: str = "Firmware version {0}\nby {1}" recovery__cancel_dry_run: str = "Cancel backup check" recovery__check_dry_run: str = "Check your backup?" @@ -529,18 +529,18 @@ class TR: recovery__share_already_entered: str = "Share already entered" recovery__share_from_another_shamir: str = "You have entered a share from another Shamir Backup." recovery__share_num_template: str = "Share {0}" - recovery__title: str = "RECOVER WALLET" - recovery__title_cancel_dry_run: str = "CANCEL BACKUP CHECK" - recovery__title_cancel_recovery: str = "CANCEL RECOVERY" - recovery__title_dry_run: str = "BACKUP CHECK" - recovery__title_recover: str = "RECOVER WALLET" - recovery__title_remaining_shares: str = "REMAINING SHARES" + recovery__title: str = "Recover wallet" + recovery__title_cancel_dry_run: str = "Cancel backup check" + recovery__title_cancel_recovery: str = "Cancel recovery" + recovery__title_dry_run: str = "Backup check" + recovery__title_recover: str = "Recover wallet" + recovery__title_remaining_shares: str = "Remaining shares" recovery__type_word_x_of_y_template: str = "Type word {0} of {1}" recovery__wallet_recovered: str = "Wallet recovered successfully" recovery__wanna_cancel_dry_run: str = "Are you sure you want to cancel the backup check?" recovery__wanna_cancel_recovery: str = "Are you sure you want to cancel the recovery process?" recovery__word_count_template: str = "({0} words)" - recovery__word_x_of_y_template: str = "WORD {0} OF {1}" + recovery__word_x_of_y_title_template: str = "Word {0} of {1}" recovery__x_more_items_starting_template_plural: str = "{count} more {plural} starting" recovery__x_more_shares_needed_template_plural: str = "{count} more {plural} needed." recovery__x_of_y_entered_template: str = "{0} of {1} shares entered successfully." @@ -548,13 +548,13 @@ class TR: reset__advanced_group_threshold_info: str = "The group threshold specifies the number of groups required to recover your wallet." reset__all_x_of_y_template: str = "all {0} of {1} shares" reset__any_x_of_y_template: str = "any {0} of {1} shares" - reset__button_create: str = "CREATE WALLET" - reset__button_recover: str = "RECOVER WALLET" + reset__button_create: str = "Create wallet" + reset__button_recover: str = "Recover wallet" reset__by_continuing: str = "By continuing you agree to Trezor Company's terms and conditions." - reset__check_backup_title: str = "CHECK BACKUP" - reset__check_group_share_title_template: str = "CHECK G{0} - SHARE {1}" - reset__check_seed_title: str = "CHECK SEED" - reset__check_share_title_template: str = "CHECK SHARE #{0}" + reset__check_backup_title: str = "Check backup" + reset__check_group_share_title_template: str = "Check g{0} - share {1}" + reset__check_seed_title: str = "Check seed" + reset__check_share_title_template: str = "Check share #{0}" reset__continue_with_next_share: str = "Continue with the next share." reset__continue_with_share_template: str = "Continue with share #{0}." reset__finished_verifying_group_template: str = "You have finished verifying your recovery shares for group {0}." @@ -563,7 +563,7 @@ class TR: reset__group_description: str = "A group is made up of recovery shares." reset__group_info: str = "Each group has a set number of shares and its own threshold. In the next steps you will set the numbers of shares and the thresholds." reset__group_share_checked_successfully_template: str = "Group {0} - Share {1} checked successfully." - reset__group_share_title_template: str = "GROUP {0} - SHARE {1}" + reset__group_share_title_template: str = "Group {0} - share {1}" reset__more_info_at: str = "More info at" reset__need_all_share_template: str = "For recovery you need all {0} of the shares." reset__need_any_share_template: str = "For recovery you need any {0} of the shares." @@ -577,15 +577,15 @@ class TR: reset__number_of_shares_info: str = "= total number of unique word lists used for wallet backup." reset__one_share: str = "1 share" reset__only_one_share_will_be_created: str = "Only one share will be created." - reset__recovery_seed_title: str = "RECOVERY SEED" - reset__recovery_share_title_template: str = "RECOVERY SHARE #{0}" + reset__recovery_seed_title: str = "Recovery seed" + reset__recovery_share_title_template: str = "Recovery share #{0}" reset__required_number_of_groups: str = "The required number of groups for recovery." reset__select_correct_word: str = "Select the correct word for each position." - reset__select_word_template: str = "SELECT {0} WORD" + reset__select_word_title_template: str = "Select {0} word" reset__select_word_x_of_y_template: str = "Select word {0} of {1}:" reset__set_it_to_count_template: str = "Set it to {0} and you will need " reset__share_checked_successfully_template: str = "Recovery share #{0} checked successfully." - reset__share_words_title: str = "STANDARD BACKUP" + reset__share_words_title: str = "Standard backup" reset__slip39_checklist_num_groups: str = "Number of groups" reset__slip39_checklist_num_shares: str = "Number of shares" reset__slip39_checklist_set_num_groups: str = "Set number of groups" @@ -593,21 +593,21 @@ class TR: reset__slip39_checklist_set_sizes: str = "Set sizes and thresholds" reset__slip39_checklist_set_sizes_longer: str = "Set size and threshold for each group" reset__slip39_checklist_set_threshold: str = "Set threshold" - reset__slip39_checklist_title: str = "BACKUP CHECKLIST" + reset__slip39_checklist_title: str = "Backup checklist" reset__slip39_checklist_write_down: str = "Write down and check all shares" reset__slip39_checklist_write_down_recovery: str = "Write down and check all recovery shares" reset__the_threshold_sets_the_number_of_shares: str = "The threshold sets the number of shares " reset__threshold_info: str = "= minimum number of unique word lists used for recovery." - reset__title_backup_is_done: str = "BACKUP IS DONE" - reset__title_create_wallet: str = "CREATE WALLET" - reset__title_create_wallet_shamir: str = "CREATE WALLET (SHAMIR)" - reset__title_group_threshold: str = "GROUP THRESHOLD" - reset__title_number_of_groups: str = "NUMBER OF GROUPS" - reset__title_number_of_shares: str = "NUMBER OF SHARES" - reset__title_set_group_threshold: str = "SET GROUP THRESHOLD" - reset__title_set_number_of_groups: str = "SET NUMBER OF GROUPS" - reset__title_set_number_of_shares: str = "SET NUMBER OF SHARES" - reset__title_set_threshold: str = "SET THRESHOLD" + reset__title_backup_is_done: str = "Backup is done" + reset__title_create_wallet: str = "Create wallet" + reset__title_create_wallet_shamir: str = "Create wallet (shamir)" + reset__title_group_threshold: str = "Group threshold" + reset__title_number_of_groups: str = "Number of groups" + reset__title_number_of_shares: str = "Number of shares" + reset__title_set_group_threshold: str = "Set group threshold" + reset__title_set_number_of_groups: str = "Set number of groups" + reset__title_set_number_of_shares: str = "Set number of shares" + reset__title_set_threshold: str = "Set threshold" reset__to_form_group_template: str = "to form Group {0}." reset__tos_link: str = "trezor.io/tos" reset__total_number_of_shares_in_group_template: str = "Set the total number of shares in Group {0}." @@ -622,13 +622,13 @@ class TR: rotation__east: str = "east" rotation__north: str = "north" rotation__south: str = "south" - rotation__title_change: str = "CHANGE ROTATION" + rotation__title_change: str = "Change rotation" rotation__west: str = "west" safety_checks__approve_unsafe_always: str = "Trezor will allow you to approve some actions which might be unsafe." safety_checks__approve_unsafe_temporary: str = "Trezor will temporarily allow you to approve some actions which might be unsafe." safety_checks__enforce_strict: str = "Do you really want to enforce strict safety checks (recommended)?" - safety_checks__title: str = "SAFETY CHECKS" - safety_checks__title_safety_override: str = "SAFETY OVERRIDE" + safety_checks__title: str = "Safety checks" + safety_checks__title_safety_override: str = "Safety override" sd_card__all_data_will_be_lost: str = "All data on the SD card will be lost." sd_card__card_required: str = "SD card required." sd_card__disable: str = "Do you really want to remove SD card protection from your device?" @@ -644,25 +644,25 @@ class TR: sd_card__refresh: str = "Do you really want to replace the current SD card secret with a newly generated one?" sd_card__refreshed: str = "You have successfully refreshed SD protection." sd_card__restart: str = "Do you want to restart Trezor in bootloader mode?" - sd_card__title: str = "SD CARD PROTECTION" - sd_card__title_problem: str = "SD CARD PROBLEM" + sd_card__title: str = "SD card protection" + sd_card__title_problem: str = "SD card problem" sd_card__unknown_filesystem: str = "Unknown filesystem." sd_card__unplug_and_insert_correct: str = "Please unplug the device and insert the correct SD card." sd_card__use_different_card: str = "Use a different card or format the SD card to the FAT32 filesystem." sd_card__wanna_format: str = "Do you really want to format the SD card?" sd_card__wrong_sd_card: str = "Wrong SD card." send__address_path: str = "address path" - send__confirm_sending: str = "SENDING AMOUNT" + send__confirm_sending: str = "Sending amount" send__from_multiple_accounts: str = "Sending from multiple accounts." send__including_fee: str = "Including fee:" send__maximum_fee: str = "Maximum fee:" send__receiving_to_multisig: str = "Receiving to a multisig address." - send__title_confirm_sending: str = "CONFIRM SENDING" - send__title_joint_transaction: str = "JOINT TRANSACTION" - send__title_receiving_to: str = "RECEIVING TO" - send__title_sending: str = "SENDING" - send__title_sending_amount: str = "SENDING AMOUNT" - send__title_sending_to: str = "SENDING TO" + send__title_confirm_sending: str = "Confirm sending" + send__title_joint_transaction: str = "Joint transaction" + send__title_receiving_to: str = "Receiving to" + send__title_sending: str = "Sending" + send__title_sending_amount: str = "Sending amount" + send__title_sending_to: str = "Sending to" send__to_the_total_amount: str = "To the total amount:" send__total_amount: str = "Total amount:" send__transaction_id: str = "Transaction ID:" @@ -670,10 +670,10 @@ class TR: share_words__words_in_order: str = " words in order." share_words__wrote_down_all: str = "I wrote down all " sign_message__bytes_template: str = "{0} Bytes" - sign_message__confirm_address: str = "SIGNING ADDRESS" - sign_message__confirm_message: str = "CONFIRM MESSAGE" sign_message__message_size: str = "Message size:" - sign_message__verify_address: str = "VERIFY ADDRESS" + sign_message__title_confirm_address: str = "Signing address" + sign_message__title_confirm_message: str = "Confirm message" + sign_message__title_verify_address: str = "Verify address" solana__account_index: str = "Account index" solana__associated_token_account: str = "Associated token account" solana__confirm_multisig: str = "Confirm multisig" @@ -755,10 +755,10 @@ class TR: stellar__value_sha256: str = "Value (SHA-256):" stellar__wanna_clean_value_key_template: str = "Do you want to clear value key {0}?" stellar__your_account: str = " your account" - storage_msg__processing: str = "PROCESSING" - storage_msg__starting: str = "STARTING UP" - storage_msg__verifying_pin: str = "VERIFYING PIN" - storage_msg__wrong_pin: str = "WRONG PIN" + storage_msg__title_processing: str = "Processing" + storage_msg__title_starting: str = "Starting up" + storage_msg__title_verifying_pin: str = "Verifying pin" + storage_msg__title_wrong_pin: str = "Wrong pin" tezos__baker_address: str = "Baker address:" tezos__balance: str = "Balance:" tezos__ballot: str = "Ballot:" @@ -784,10 +784,10 @@ class TR: tutorial__welcome_press_right: str = "Welcome to Trezor. Press right to continue." u2f__get: str = "Increase and retrieve the U2F counter?" u2f__set_template: str = "Set the U2F counter to {0}?" - u2f__title_get: str = "GET U2F COUNTER" - u2f__title_set: str = "SET U2F COUNTER" + u2f__title_get: str = "Get U2F counter" + u2f__title_set: str = "Set U2F counter" wipe__info: str = "All data will be erased." - wipe__title: str = "WIPE DEVICE" + wipe__title: str = "Wipe device" wipe__want_to_wipe: str = "Do you really want to wipe the device?\n" wipe_code__change: str = "Change wipe code?" wipe_code__changed: str = "Wipe code changed." @@ -800,13 +800,13 @@ class TR: wipe_code__mismatch: str = "The wipe codes you entered do not match." wipe_code__reenter: str = "Re-enter wipe code" wipe_code__reenter_to_confirm: str = "Please re-enter wipe code to confirm." - wipe_code__title_check: str = "CHECK WIPE CODE" - wipe_code__title_invalid: str = "INVALID WIPE CODE" - wipe_code__title_settings: str = "WIPE CODE SETTINGS" + wipe_code__title_check: str = "Check wipe code" + wipe_code__title_invalid: str = "Invalid wipe code" + wipe_code__title_settings: str = "Wipe code settings" wipe_code__turn_off: str = "Turn off wipe code protection?" wipe_code__turn_on: str = "Turn on wipe code protection?" wipe_code__wipe_code_mismatch: str = "Wipe code mismatch" - word_count__title: str = "NUMBER OF WORDS" + word_count__title: str = "Number of words" words__account: str = "Account" words__account_colon: str = "Account:" words__address: str = "Address" @@ -831,18 +831,18 @@ class TR: words__please_check_again: str = "Please check again" words__please_try_again: str = "Please try again" words__really_wanna: str = "Do you really want to" - words__recipient: str = "Recipient" words__sign: str = "Sign" words__signer: str = "Signer" - words__title_check: str = "CHECK" - words__title_group: str = "GROUP" - words__title_information: str = "INFORMATION" - words__title_remember: str = "REMEMBER" - words__title_share: str = "SHARE" - words__title_shares: str = "SHARES" - words__title_success: str = "SUCCESS" - words__title_summary: str = "SUMMARY" - words__title_threshold: str = "THRESHOLD" + words__title_check: str = "Check" + words__title_group: str = "Group" + words__title_information: str = "Information" + words__title_recipient: str = "Recipient" + words__title_remember: str = "Remember" + words__title_share: str = "Share" + words__title_shares: str = "Shares" + words__title_success: str = "Success" + words__title_summary: str = "Summary" + words__title_threshold: str = "Threshold" words__unknown: str = "Unknown" words__warning: str = "Warning" words__writable: str = "Writable" diff --git a/core/src/apps/base.py b/core/src/apps/base.py index 4ba716ce4..66d53fb40 100644 --- a/core/src/apps/base.py +++ b/core/src/apps/base.py @@ -304,7 +304,7 @@ async def handle_UnlockPath(msg: UnlockPath) -> protobuf.MessageType: else: await confirm_action( "confirm_coinjoin_access", - title="Coinjoin", + title="COINJOIN", description=TR.coinjoin__access_account, verb=TR.buttons__access, ) diff --git a/core/src/apps/cardano/get_public_key.py b/core/src/apps/cardano/get_public_key.py index 8b2856e87..a9bab3a03 100644 --- a/core/src/apps/cardano/get_public_key.py +++ b/core/src/apps/cardano/get_public_key.py @@ -40,7 +40,7 @@ async def get_public_key( from apps.common.paths import address_n_to_str path = address_n_to_str(address_n) - await show_pubkey(key.xpub, TR.address__public_key, path=path) + await show_pubkey(key.xpub, TR.address__title_public_key, path=path) return key diff --git a/core/src/apps/ethereum/layout.py b/core/src/apps/ethereum/layout.py index 20bd76cb7..291945fa5 100644 --- a/core/src/apps/ethereum/layout.py +++ b/core/src/apps/ethereum/layout.py @@ -58,13 +58,13 @@ async def require_confirm_stake( addr_str = address_from_bytes(addr_bytes, network) total_amount = format_ethereum_amount(value, None, network) await confirm_ethereum_staking_tx( - TR.ethereum__staking_stake, # title + TR.ethereum__staking_title_stake, # title TR.ethereum__staking_stake_intro, # intro_question - TR.ethereum__staking_stake, # verb + TR.ethereum__staking_title_stake, # verb total_amount, # total_amount maximum_fee, # maximum_fee addr_str, # address - TR.ethereum__staking_stake_address, # address_title + TR.ethereum__staking_title_stake_address, # address_title fee_info_items, # info_items chunkify=chunkify, ) @@ -83,13 +83,13 @@ async def require_confirm_unstake( total_amount = format_ethereum_amount(value, None, network) await confirm_ethereum_staking_tx( - TR.ethereum__staking_unstake, # title + TR.ethereum__staking_title_unstake, # title TR.ethereum__staking_unstake_intro, # intro_question - TR.ethereum__staking_unstake, # verb + TR.ethereum__staking_title_unstake, # verb total_amount, # total_amount maximum_fee, # maximum_fee addr_str, # address - TR.ethereum__staking_stake_address, # address_title + TR.ethereum__staking_title_stake_address, # address_title fee_info_items, # info_items chunkify=chunkify, ) @@ -105,13 +105,13 @@ async def require_confirm_claim( addr_str = address_from_bytes(addr_bytes, network) await confirm_ethereum_staking_tx( - TR.ethereum__staking_claim, # title + TR.ethereum__staking_title_claim, # title TR.ethereum__staking_claim_intro, # intro_question - TR.ethereum__staking_claim, # verb + TR.ethereum__staking_title_claim, # verb "", # total_amount maximum_fee, # maximum_fee addr_str, # address - TR.ethereum__staking_claim_address, # address_title + TR.ethereum__staking_title_claim_address, # address_title fee_info_items, # info_items chunkify=chunkify, ) diff --git a/core/src/apps/solana/layout.py b/core/src/apps/solana/layout.py index 81aac811a..c06a24c33 100644 --- a/core/src/apps/solana/layout.py +++ b/core/src/apps/solana/layout.py @@ -266,7 +266,7 @@ async def confirm_system_transfer( blockhash: bytes, ) -> None: await confirm_value( - title=TR.words__recipient, + title=TR.words__title_recipient, value=base58.encode(transfer_instruction.recipient_account[0]), description="", br_type="confirm_recipient", @@ -295,7 +295,7 @@ async def confirm_token_transfer( blockhash: bytes, ): await confirm_value( - title=TR.words__recipient, + title=TR.words__title_recipient, value=base58.encode(destination_account), description="", br_type="confirm_recipient", diff --git a/core/src/trezor/ui/layouts/progress.py b/core/src/trezor/ui/layouts/progress.py index e08592d87..6f9648df9 100644 --- a/core/src/trezor/ui/layouts/progress.py +++ b/core/src/trezor/ui/layouts/progress.py @@ -18,13 +18,13 @@ def _storage_message_to_str(message: config.StorageMessage | None) -> str | None if message == config.StorageMessage.NO_MSG: return "" if message == config.StorageMessage.VERIFYING_PIN_MSG: - return TR.storage_msg__verifying_pin + return TR.storage_msg__title_verifying_pin if message == config.StorageMessage.PROCESSING_MSG: - return TR.storage_msg__processing + return TR.storage_msg__title_processing if message == config.StorageMessage.STARTING_MSG: - return TR.storage_msg__starting + return TR.storage_msg__title_starting if message == config.StorageMessage.WRONG_PIN_MSG: - return TR.storage_msg__wrong_pin + return TR.storage_msg__title_wrong_pin raise RuntimeError # unknown message @@ -56,14 +56,13 @@ def progress( indeterminate: bool = False, ) -> ProgressLayout: if description is None: - description = TR.progress__please_wait # def_arg - - if title is not None: - title = title.upper() - elif not utils.MODEL_IS_T2B1: - # on TT, uppercase the description which ends up on top of the screen - # when no title is set - description = description.upper() + description = TR.progress__title_please_wait # def_arg + + # elif not utils.MODEL_IS_T2B1: + # TODO: keep this? + # # on TT, uppercase the description which ends up on top of the screen + # # when no title is set + # description = description.upper() return RustProgress( layout=trezorui2.show_progress( diff --git a/core/src/trezor/ui/layouts/tr/__init__.py b/core/src/trezor/ui/layouts/tr/__init__.py index f99cc9487..3121d9ee9 100644 --- a/core/src/trezor/ui/layouts/tr/__init__.py +++ b/core/src/trezor/ui/layouts/tr/__init__.py @@ -403,7 +403,7 @@ def confirm_reset_device( interact( RustLayout( trezorui2.confirm_reset_device( - title=title.upper(), + title=title, button=button, ) ), @@ -563,7 +563,7 @@ def show_pubkey( mismatch_title: str | None = None, br_type: str = "show_pubkey", ) -> Awaitable[None]: - title = title or TR.address__public_key # def_arg + title = title or TR.address__title_public_key # def_arg mismatch_title = mismatch_title or TR.addr_mismatch__key_mismatch # def_arg return show_address( address=pubkey, @@ -691,8 +691,8 @@ async def confirm_output( output_index: int | None = None, chunkify: bool = False, ) -> None: - title = title or TR.send__confirm_sending # def_arg - address_title = TR.words__recipient + title = title or TR.send__title_sending_amount # def_arg + address_title = TR.words__title_recipient if output_index is not None: address_title += f" #{output_index + 1}" amount_title = TR.words__amount @@ -748,7 +748,7 @@ async def should_show_payment_request_details( memos_str = "\n".join(memos) await _placeholder_confirm( "confirm_payment_request", - TR.send__title_confirm_sending, + TR.send__title_sending_amount, description=f"{amount} to\n{recipient_name}\n{memos_str}", br_code=ButtonRequestType.ConfirmOutput, ) @@ -1107,7 +1107,7 @@ if not utils.BITCOIN_ONLY: ) # confirmation - if verb == TR.ethereum__staking_claim: + if verb == TR.ethereum__staking_title_claim: amount_title = verb amount_value = "" else: @@ -1183,7 +1183,7 @@ if not utils.BITCOIN_ONLY: # Allowing going back and forth between recipient and summary/details await confirm_blob( br_type, - TR.words__recipient, + TR.words__title_recipient, recipient, verb=TR.buttons__continue, chunkify=chunkify, @@ -1365,7 +1365,7 @@ async def confirm_signverify( while True: await confirm_blob( br_type, - TR.sign_message__confirm_address, + TR.sign_message__title_confirm_address, address, verb=TR.buttons__continue, br_code=BR_TYPE_OTHER, @@ -1374,7 +1374,7 @@ async def confirm_signverify( try: await confirm_blob( br_type, - TR.sign_message__confirm_message, + TR.sign_message__title_confirm_message, message, verb_cancel="^", br_code=BR_TYPE_OTHER, diff --git a/core/src/trezor/ui/layouts/tr/recovery.py b/core/src/trezor/ui/layouts/tr/recovery.py index 4d21f59d1..e8b8ccfe4 100644 --- a/core/src/trezor/ui/layouts/tr/recovery.py +++ b/core/src/trezor/ui/layouts/tr/recovery.py @@ -23,7 +23,7 @@ async def request_word( ) -> str: from trezor.wire.context import wait - prompt = TR.recovery__word_x_of_y_template.format(word_index + 1, word_count) + prompt = TR.recovery__word_x_of_y_title_template.format(word_index + 1, word_count) can_go_back = word_index > 0 diff --git a/core/src/trezor/ui/layouts/tr/reset.py b/core/src/trezor/ui/layouts/tr/reset.py index 28397f117..a04cf8d0e 100644 --- a/core/src/trezor/ui/layouts/tr/reset.py +++ b/core/src/trezor/ui/layouts/tr/reset.py @@ -93,7 +93,7 @@ async def select_word( RustLayout( trezorui2.select_word( title="", - description=TR.reset__select_word_template.format(word_ordinal), + description=TR.reset__select_word_title_template.format(word_ordinal), words=(words[0].lower(), words[1].lower(), words[2].lower()), ) ) diff --git a/core/src/trezor/ui/layouts/tt/__init__.py b/core/src/trezor/ui/layouts/tt/__init__.py index 919f9a962..78173cbc2 100644 --- a/core/src/trezor/ui/layouts/tt/__init__.py +++ b/core/src/trezor/ui/layouts/tt/__init__.py @@ -256,11 +256,6 @@ def confirm_action( exc: ExceptionType = ActionCancelled, br_code: ButtonRequestType = BR_TYPE_OTHER, ) -> Awaitable[None]: - if verb is not None: - verb = verb.upper() - if verb_cancel is not None: - verb_cancel = verb_cancel.upper() - if description is not None and description_param is not None: description = description.format(description_param) @@ -268,7 +263,7 @@ def confirm_action( interact( RustLayout( trezorui2.confirm_action( - title=title.upper(), + title=title, action=action, description=description, verb=verb, @@ -292,8 +287,6 @@ def confirm_single( description_param: str | None = None, verb: str | None = None, ) -> Awaitable[None]: - if verb is not None: - verb = verb.upper() description_param = description_param or "" # Placeholders are coming from translations in form of {0} @@ -306,7 +299,7 @@ def confirm_single( interact( RustLayout( trezorui2.confirm_emphasized( - title=title.upper(), + title=title, items=(begin, (True, description_param), end), verb=verb, ) @@ -327,7 +320,7 @@ def confirm_reset_device(title: str, recovery: bool = False) -> Awaitable[None]: interact( RustLayout( trezorui2.confirm_reset_device( - title=title.upper(), + title=title, button=button, ) ), @@ -362,7 +355,7 @@ async def prompt_backup() -> bool: result = await interact( RustLayout( trezorui2.confirm_action( - title=TR.words__warning.upper(), + title=TR.words__warning, action=TR.backup__want_to_skip, description=TR.backup__can_back_up_anytime, verb=TR.buttons__back_up, @@ -511,11 +504,11 @@ def show_pubkey( mismatch_title: str | None = None, br_type: str = "show_pubkey", ) -> Awaitable[None]: - title = title or TR.address__public_key # def_arg + title = title or TR.address__title_public_key # def_arg mismatch_title = mismatch_title or TR.addr_mismatch__key_mismatch # def_arg return show_address( address=pubkey, - title=title.upper(), + title=title, account=account, path=path, br_type=br_type, @@ -538,7 +531,7 @@ async def show_error_and_raise( trezorui2.show_error( title=subheader or "", description=content, - button=button.upper(), + button=button, allow_cancel=False, ) ), @@ -562,7 +555,7 @@ def show_warning( trezorui2.show_warning( title=content, description=subheader or "", - button=button.upper(), + button=button, ) ), br_type, @@ -584,7 +577,7 @@ def show_success( trezorui2.show_success( title=content, description=subheader or "", - button=button.upper(), + button=button, allow_cancel=False, ) ), @@ -612,16 +605,16 @@ async def confirm_output( recipient_title = title elif output_index is not None: amount_title = f"{TR.words__amount} #{output_index + 1}" - recipient_title = f"{TR.words__recipient} #{output_index + 1}" + recipient_title = f"{TR.words__title_recipient} #{output_index + 1}" else: - amount_title = TR.send__confirm_sending + amount_title = TR.send__title_sending_amount recipient_title = TR.send__title_sending_to while True: result = await interact( RustLayout( trezorui2.confirm_value( - title=recipient_title.upper(), + title=recipient_title, subtitle=address_label, description=None, value=address, @@ -640,7 +633,7 @@ async def confirm_output( result = await interact( RustLayout( trezorui2.confirm_value( - title=amount_title.upper(), + title=amount_title, subtitle=None, description=None, value=amount, @@ -709,10 +702,10 @@ async def should_show_more( result = await interact( RustLayout( trezorui2.confirm_with_info( - title=title.upper(), + title=title, items=para, - button=confirm.upper(), - info_button=button_text.upper(), + button=confirm, + info_button=button_text, ) ), br_type, @@ -780,7 +773,7 @@ def confirm_blob( chunkify: bool = False, ) -> Awaitable[None]: verb = verb or TR.buttons__confirm # def_arg - title = title.upper() + title = title layout = RustLayout( trezorui2.confirm_blob( title=title, @@ -881,7 +874,7 @@ def confirm_value( raise ValueError("Either verb or hold=True must be set") if verb: - verb = verb.upper() + verb = verb info_items = info_items or [] info_layout = RustLayout( @@ -896,7 +889,7 @@ def confirm_value( with_info( RustLayout( trezorui2.confirm_value( - title=title.upper(), + title=title, subtitle=subtitle, description=description, value=value, @@ -927,7 +920,7 @@ def confirm_properties( interact( RustLayout( trezorui2.confirm_properties( - title=title.upper(), + title=title, items=items, hold=hold, ) @@ -984,7 +977,7 @@ def confirm_summary( total_layout = RustLayout( trezorui2.confirm_total( - title=title.upper(), + title=title, items=items, info_button=bool(info_items), ) @@ -992,7 +985,7 @@ def confirm_summary( info_items = info_items or [] info_layout = RustLayout( trezorui2.show_info_with_cancel( - title=info_title.upper() if info_title else TR.words__title_information, + title=info_title if info_title else TR.words__title_information, items=info_items, ) ) @@ -1034,7 +1027,7 @@ if not utils.BITCOIN_ONLY: # Allowing going back and forth between recipient and summary/details await confirm_blob( br_type, - TR.words__recipient.upper(), + TR.words__title_recipient, recipient, verb=TR.buttons__continue, chunkify=chunkify, @@ -1077,7 +1070,7 @@ if not utils.BITCOIN_ONLY: ) # confirmation - if verb == TR.ethereum__staking_claim: + if verb == TR.ethereum__staking_title_claim: items = ((TR.send__maximum_fee, maximum_fee),) else: items = ( @@ -1144,11 +1137,11 @@ def confirm_metadata( verb = verb or TR.buttons__continue # def_arg return confirm_action( br_type, - title=title.upper(), + title=title, action="", description=content, description_param=param, - verb=verb.upper(), + verb=verb, hold=hold, br_code=br_code, ) @@ -1157,7 +1150,7 @@ def confirm_metadata( def confirm_replacement(title: str, txid: str) -> Awaitable[None]: return confirm_blob( "confirm_replacement", - title.upper(), + title, txid, TR.send__transaction_id, TR.buttons__continue, @@ -1244,7 +1237,7 @@ def confirm_modify_fee( ) -> Awaitable[None]: fee_layout = RustLayout( trezorui2.confirm_modify_fee( - title=title.upper(), + title=title, sign=sign, user_fee_change=user_fee_change, total_fee_new=total_fee_new, @@ -1302,10 +1295,10 @@ async def confirm_signverify( chunkify: bool = False, ) -> None: if verify: - address_title = TR.sign_message__verify_address + address_title = TR.sign_message__title_verify_address br_type = "verify_message" else: - address_title = TR.sign_message__confirm_address + address_title = TR.sign_message__title_confirm_address br_type = "sign_message" address_layout = RustLayout( @@ -1341,7 +1334,7 @@ async def confirm_signverify( message_layout = RustLayout( trezorui2.confirm_blob( - title=TR.sign_message__confirm_message, + title=TR.sign_message__title_confirm_message, description=None, data=message, extra=None, @@ -1499,7 +1492,7 @@ def confirm_set_new_pin( interact( RustLayout( trezorui2.confirm_emphasized( - title=title.upper(), + title=title, items=( (True, description + "\n\n"), information, diff --git a/core/src/trezor/ui/layouts/tt/fido.py b/core/src/trezor/ui/layouts/tt/fido.py index 9dc42c152..f4f628e46 100644 --- a/core/src/trezor/ui/layouts/tt/fido.py +++ b/core/src/trezor/ui/layouts/tt/fido.py @@ -56,7 +56,7 @@ async def confirm_fido( """Webauthn confirmation for one or more credentials.""" confirm = _RustFidoLayout( trezorui2.confirm_fido( - title=header.upper(), + title=header, app_name=app_name, icon_name=icon_name, accounts=accounts, diff --git a/core/src/trezor/ui/layouts/tt/recovery.py b/core/src/trezor/ui/layouts/tt/recovery.py index 10c8f3aa5..a3c99e4fc 100644 --- a/core/src/trezor/ui/layouts/tt/recovery.py +++ b/core/src/trezor/ui/layouts/tt/recovery.py @@ -132,7 +132,7 @@ async def continue_recovery( trezorui2.confirm_recovery( title=text, description=description, - button=button_label.upper(), + button=button_label, info_button=info_func is not None, dry_run=dry_run, ) @@ -161,7 +161,7 @@ async def show_recovery_warning( trezorui2.show_warning( title=content, description=subheader or "", - button=button.upper(), + button=button, allow_cancel=False, ) ), diff --git a/core/src/trezor/ui/layouts/tt/reset.py b/core/src/trezor/ui/layouts/tt/reset.py index 0dd51dc96..eb9e2ef55 100644 --- a/core/src/trezor/ui/layouts/tt/reset.py +++ b/core/src/trezor/ui/layouts/tt/reset.py @@ -158,7 +158,7 @@ async def _prompt_number( ) -> int: num_input = RustLayout( trezorui2.request_number( - title=title.upper(), + title=title, description=description, count=count, min_count=min_count, @@ -359,7 +359,7 @@ async def show_reset_warning( trezorui2.show_warning( title=subheader or "", description=content, - button=button.upper(), + button=button, allow_cancel=False, ) ), diff --git a/core/tools/codegen/gen_font.py b/core/tools/codegen/gen_font.py index 018d5994a..762c6aa44 100755 --- a/core/tools/codegen/gen_font.py +++ b/core/tools/codegen/gen_font.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# script used to generate /embed/extmod/modtrezorui/font_*_*.c +# script used to generate /embed/lib/fonts/font_*_*.c from __future__ import annotations diff --git a/core/tools/translations/rules.json b/core/tools/translations/rules.json index fc34403a4..8327a6942 100644 --- a/core/tools/translations/rules.json +++ b/core/tools/translations/rules.json @@ -5,7 +5,7 @@ "addr_mismatch__support_url": "text,1", "addr_mismatch__wrong_derivation_path": "text,2", "addr_mismatch__xpub_mismatch": "text,1", - "address__public_key": "text,1", + "address__title_public_key": "text,1", "address__title_cosigner": "title,1", "address__title_receive_address": "title,1", "address__title_yours": "title,1", @@ -487,7 +487,7 @@ "progress__loading_transaction": "text,1", "progress__locking_device": "text,1", "progress__one_second_left": "text,1", - "progress__please_wait": "text,1", + "progress__title_please_wait": "text,1", "progress__processing": "text,1", "progress__refreshing": "text,1", "progress__signing_transaction": "text,1", @@ -531,7 +531,7 @@ "recovery__wanna_cancel_dry_run": "text,3", "recovery__wanna_cancel_recovery": "text,3", "recovery__word_count_template": "text,1", - "recovery__word_x_of_y_template": "text,1", + "recovery__word_x_of_y_title_template": "text,1", "recovery__x_more_items_starting_template_plural": "text,2", "recovery__x_more_shares_needed_template_plural": "text,2", "recovery__x_of_y_entered_template": "text,2", @@ -572,7 +572,7 @@ "reset__recovery_share_title_template": "title,1", "reset__required_number_of_groups": "text,3", "reset__select_correct_word": "text,3", - "reset__select_word_template": "text,1", + "reset__select_word_title_template": "text,1", "reset__select_word_x_of_y_template": "text,1", "reset__set_it_to_count_template": "text,2", "reset__share_checked_successfully_template": "text,2", @@ -661,10 +661,10 @@ "share_words__words_in_order": "text,2", "share_words__wrote_down_all": "text,2", "sign_message__bytes_template": "text,1", - "sign_message__confirm_address": "title,1", - "sign_message__confirm_message": "title,1", + "sign_message__title_confirm_address": "title,1", + "sign_message__title_confirm_message": "title,1", "sign_message__message_size": "text,1", - "sign_message__verify_address": "text,1", + "sign_message__title_verify_address": "text,1", "solana__account_index": "text,1", "solana__associated_token_account": "text,2", "solana__confirm_multisig": "text,1", diff --git a/core/translations/cs.json b/core/translations/cs.json index 550fe6082..3ae27ab24 100644 --- a/core/translations/cs.json +++ b/core/translations/cs.json @@ -33,7 +33,7 @@ "addr_mismatch__support_url": "trezor.io/support", "addr_mismatch__wrong_derivation_path": "Chybná derivační cesta pro vybraný účet.", "addr_mismatch__xpub_mismatch": "Neshoduje se XPUB?", - "address__public_key": "Veřejný klíč", + "address__title_public_key": "Veřejný klíč", "address__title_cosigner": "DALŠÍ PODEPISUJÍCÍ", "address__title_receive_address": "PŘIJÍMACÍ ADRESA", "address__title_yours": "VAŠE", @@ -322,13 +322,13 @@ "ethereum__units_template": "Jednotky: {0}", "ethereum__unknown_token": "Neznámý token", "ethereum__valid_signature": "Podpis je platný.", - "ethereum__staking_stake": "STAKE", - "ethereum__staking_stake_address": "STAKE ADRESA", + "ethereum__staking_title_stake": "STAKE", + "ethereum__staking_title_stake_address": "STAKE ADRESA", "ethereum__staking_stake_intro": "Stakovat ETH na Everstake?", - "ethereum__staking_unstake": "ZRUŠIT STAKOVÁNÍ", + "ethereum__staking_title_unstake": "ZRUŠIT STAKOVÁNÍ", "ethereum__staking_unstake_intro": "Zrušit stakování ETH z Everstake?", - "ethereum__staking_claim": "NÁROKOVAT", - "ethereum__staking_claim_address": "NÁROKOVAT ADRESU", + "ethereum__staking_title_claim": "NÁROKOVAT", + "ethereum__staking_title_claim_address": "NÁROKOVAT ADRESU", "ethereum__staking_claim_intro": "Nárokovat ETH z Everstake?", "experimental_mode__enable": "Povolit experimentální funkce?", "experimental_mode__only_for_dev": "Pouze pro vývoj a beta testování!", @@ -522,7 +522,7 @@ "progress__loading_transaction": "Načítání transakce...", "progress__locking_device": "Zamykání zařízení...", "progress__one_second_left": "Zbývá 1 s", - "progress__please_wait": "POČKEJTE", + "progress__title_please_wait": "POČKEJTE", "progress__refreshing": "Obnovování...", "progress__signing_transaction": "Podpis transakce...", "progress__syncing": "Synchronizace...", @@ -565,7 +565,7 @@ "recovery__wanna_cancel_dry_run": "Opravdu chcete zrušit kontrolu zálohy?", "recovery__wanna_cancel_recovery": "Opravdu chcete proces obnovy zrušit?", "recovery__word_count_template": "(slova: {0})", - "recovery__word_x_of_y_template": "SLOVO {0} Z {1}", + "recovery__word_x_of_y_title_template": "SLOVO {0} Z {1}", "recovery__x_more_items_starting_template_plural": "Zahajuje se dalších {count} {plural}", "recovery__x_more_shares_needed_template_plural": "Je potřeba dalších {count} {plural}.", "recovery__x_of_y_entered_template": "Zadáno {0} částí z {1}.", @@ -606,7 +606,7 @@ "reset__recovery_share_title_template": "ČÁST ZÁLOHY Č. {0}", "reset__required_number_of_groups": "Požadovaný počet skupin pro obnovení.", "reset__select_correct_word": "Pro každou pozici vyberte správné slovo.", - "reset__select_word_template": "VYBRAT SLOVO {0}", + "reset__select_word_title_template": "VYBRAT SLOVO {0}", "reset__select_word_x_of_y_template": "Vyb. slovo {0} z {1}:", "reset__set_it_to_count_template": "Nastavte {0} a budete potřebovat ", "reset__share_checked_successfully_template": "Proběhla kontrola {0}. části zálohy.", @@ -695,10 +695,10 @@ "share_words__words_in_order": " slova v pořadí.", "share_words__wrote_down_all": "Zapsal/a jsem si všechna ", "sign_message__bytes_template": "{0} bajtů", - "sign_message__confirm_address": "PODEPISOVÁNÍ ADRESY", - "sign_message__confirm_message": "POTVRDIT ZPRÁVU", + "sign_message__title_confirm_address": "PODEPISOVÁNÍ ADRESY", + "sign_message__title_confirm_message": "POTVRDIT ZPRÁVU", "sign_message__message_size": "Velikost zprávy:", - "sign_message__verify_address": "OVĚŘIT ADRESU", + "sign_message__title_verify_address": "OVĚŘIT ADRESU", "solana__account_index": "Index účtu", "solana__associated_token_account": "Přidružený tokenový účet", "solana__confirm_multisig": "Potvrďte multisig", @@ -780,10 +780,10 @@ "stellar__value_sha256": "Hodnota (SHA-256):", "stellar__wanna_clean_value_key_template": "Chcete vymazat klíč hodnoty {0}?", "stellar__your_account": " váš účet", - "storage_msg__verifying_pin": "OVĚŘOVÁNÍ PINU", - "storage_msg__processing": "ZPRACOVÁVÁNÍ", - "storage_msg__starting": "SPOUŠTĚNÍ", - "storage_msg__wrong_pin": "ŠPATNÝ PIN", + "storage_msg__title_verifying_pin": "OVĚŘOVÁNÍ PINU", + "storage_msg__title_processing": "ZPRACOVÁVÁNÍ", + "storage_msg__title_starting": "SPOUŠTĚNÍ", + "storage_msg__title_wrong_pin": "ŠPATNÝ PIN", "tezos__baker_address": "Adresa bakera:", "tezos__balance": "Zůstatek:", "tezos__ballot": "Hlasování:", @@ -856,7 +856,7 @@ "words__please_check_again": "Zkontrolujte to znovu", "words__please_try_again": "Zkuste to znovu", "words__really_wanna": "Opravdu chcete", - "words__recipient": "Příjemce", + "words__title_recipient": "Příjemce", "words__sign": "Podepsat", "words__signer": "Podepisující osoba", "words__title_check": "ZKONTROLOVAT", diff --git a/core/translations/de.json b/core/translations/de.json index 417f3c86e..1f58cc93c 100644 --- a/core/translations/de.json +++ b/core/translations/de.json @@ -33,7 +33,7 @@ "addr_mismatch__support_url": "trezor.io/support", "addr_mismatch__wrong_derivation_path": "Ableitungspfad für gewähltes Konto falsch.", "addr_mismatch__xpub_mismatch": "XPUB passt nicht?", - "address__public_key": "Public Key", + "address__title_public_key": "Public Key", "address__title_cosigner": "MITUNTERZEICH.", "address__title_receive_address": "EMPFÄNG-ADRESSE", "address__title_yours": "DEINER", @@ -322,13 +322,13 @@ "ethereum__units_template": "{0} Einheiten", "ethereum__unknown_token": "Ungültiger Token", "ethereum__valid_signature": "Die Signatur ist gültig.", - "ethereum__staking_stake": "STAKE", - "ethereum__staking_stake_address": "STAKING ADRESSE", + "ethereum__staking_title_stake": "STAKE", + "ethereum__staking_title_stake_address": "STAKING ADRESSE", "ethereum__staking_stake_intro": "ETH auf Everstake staken?", - "ethereum__staking_unstake": "ENTSTAKEN", + "ethereum__staking_title_unstake": "ENTSTAKEN", "ethereum__staking_unstake_intro": "ETH von Everstake entstaken?", - "ethereum__staking_claim": "EINLÖSEN", - "ethereum__staking_claim_address": "ADRESSE ZUM EINLÖSEN", + "ethereum__staking_title_claim": "EINLÖSEN", + "ethereum__staking_title_claim_address": "ADRESSE ZUM EINLÖSEN", "ethereum__staking_claim_intro": "ETH von Everstake einlösen?", "experimental_mode__enable": "Experimentelle Funktionen aktivieren?", "experimental_mode__only_for_dev": "Nur für Entwicklung und Beta-Tests.", @@ -522,7 +522,7 @@ "progress__loading_transaction": "Transakt. lädt...", "progress__locking_device": "Das Gerät sperren...", "progress__one_second_left": "1 Sekunde verbleibend", - "progress__please_wait": "BITTE WARTEN", + "progress__title_please_wait": "BITTE WARTEN", "progress__refreshing": "Wird aktualisiert...", "progress__signing_transaction": "Transakt. wird signiert", "progress__syncing": "Wird synchronisiert...", @@ -565,7 +565,7 @@ "recovery__wanna_cancel_dry_run": "Möchtest du die Backup-Überprüfung wirklich abbrechen?", "recovery__wanna_cancel_recovery": "Möchtest du die Wiederherstellung wirklich abbrechen?", "recovery__word_count_template": "({0} Wörter)", - "recovery__word_x_of_y_template": "WORT {0} VON {1}", + "recovery__word_x_of_y_title_template": "WORT {0} VON {1}", "recovery__x_more_items_starting_template_plural": "{count} mehr {plural} gestartet", "recovery__x_more_shares_needed_template_plural": "{count} mehr {plural} erforderlich.", "recovery__x_of_y_entered_template": "{0} von {1} Shares erfolgreich eingegeben.", @@ -606,7 +606,7 @@ "reset__recovery_share_title_template": "RECOVERY SHARE #{0}", "reset__required_number_of_groups": "Zur Wiederherstellung erforderliche Anzahl von Gruppen.", "reset__select_correct_word": "Wähle für jede Position das richtige Wort.", - "reset__select_word_template": "{0} WORT AUSWÄHLEN", + "reset__select_word_title_template": "{0} WORT AUSWÄHLEN", "reset__select_word_x_of_y_template": "Wort {0} von {1}:", "reset__set_it_to_count_template": "Bei {0} benötigst du ", "reset__share_checked_successfully_template": "Recovery Share #{0} erfolgreich geprüft.", @@ -695,10 +695,10 @@ "share_words__words_in_order": " Wörter der Reihe nach notiert.", "share_words__wrote_down_all": "Ich habe alle ", "sign_message__bytes_template": "{0} Bytes", - "sign_message__confirm_address": "SIGNIERADRESSE", - "sign_message__confirm_message": "NACHR. BESTÄTIGEN", + "sign_message__title_confirm_address": "SIGNIERADRESSE", + "sign_message__title_confirm_message": "NACHR. BESTÄTIGEN", "sign_message__message_size": "Größe der Nachricht:", - "sign_message__verify_address": "ADRESSE VERIFIZIEREN", + "sign_message__title_verify_address": "ADRESSE VERIFIZIEREN", "solana__account_index": "Konto-Index", "solana__associated_token_account": "Zugehöriges Token-Konto", "solana__confirm_multisig": "Multisig bestätigen", @@ -780,10 +780,10 @@ "stellar__value_sha256": "Wert (SHA-256):", "stellar__wanna_clean_value_key_template": "Möchtest du den Wert-Key {0} löschen?", "stellar__your_account": " dein Konto", - "storage_msg__verifying_pin": "PIN ÜBERPRÜFEN", - "storage_msg__processing": "VERARBEITUNG", - "storage_msg__starting": "STARTVORGANG", - "storage_msg__wrong_pin": "FALSCHER PIN", + "storage_msg__title_verifying_pin": "PIN ÜBERPRÜFEN", + "storage_msg__title_processing": "VERARBEITUNG", + "storage_msg__title_starting": "STARTVORGANG", + "storage_msg__title_wrong_pin": "FALSCHER PIN", "tezos__baker_address": "Baker-Adresse:", "tezos__balance": "Guthaben:", "tezos__ballot": "Abstimmung:", @@ -856,7 +856,7 @@ "words__please_check_again": "Noch einmal prüfen", "words__please_try_again": "Noch einmal versuchen", "words__really_wanna": "Möchtest du wirklich", - "words__recipient": "Empfänger", + "words__title_recipient": "Empfänger", "words__sign": "Signieren", "words__signer": "Unterzeichner", "words__title_check": "PRÜFEN", diff --git a/core/translations/en.json b/core/translations/en.json index 7cbd5407f..73bf229ea 100644 --- a/core/translations/en.json +++ b/core/translations/en.json @@ -10,25 +10,25 @@ "addr_mismatch__support_url": "trezor.io/support", "addr_mismatch__wrong_derivation_path": "Wrong derivation path for selected account.", "addr_mismatch__xpub_mismatch": "XPUB mismatch?", - "address__public_key": "Public key", - "address__title_cosigner": "COSIGNER", - "address__title_receive_address": "RECEIVE ADDRESS", - "address__title_yours": "YOURS", + "address__title_public_key": "Public key", + "address__title_cosigner": "Cosigner", + "address__title_receive_address": "Receive address", + "address__title_yours": "Yours", "address_details__derivation_path": "Derivation path:", - "address_details__title_receive_address": "RECEIVE ADDRESS", - "address_details__title_receiving_to": "RECEIVING TO", + "address_details__title_receive_address": "Receive address", + "address_details__title_receiving_to": "Receiving to", "authenticate__confirm_template": "Allow connected computer to confirm your {0} is genuine?", "authenticate__header": "Authenticate device", "auto_lock__change_template": "Auto-lock your Trezor after {0} of inactivity?", - "auto_lock__title": "AUTO-LOCK DELAY", + "auto_lock__title": "Auto-lock delay", "backup__can_back_up_anytime": "You can back up your Trezor once, at any time.", "backup__it_should_be_backed_up": "You should back up your new wallet right now.", "backup__it_should_be_backed_up_now": "It should be backed up now!", "backup__new_wallet_created": "New wallet created.\n", "backup__new_wallet_successfully_created": "New wallet created successfully.", "backup__recover_anytime": "You can use your backup to recover your wallet at any time.", - "backup__title_backup_wallet": "BACK UP WALLET", - "backup__title_skip": "SKIP BACKUP", + "backup__title_backup_wallet": "Back up wallet", + "backup__title_skip": "Skip backup", "backup__want_to_skip": "Are you sure you want to skip the backup?", "binance__buy": "Buy", "binance__confirm_cancel": "Confirm cancel", @@ -54,59 +54,59 @@ "bitcoin__new_fee_rate": "New fee rate:", "bitcoin__simple_send_of": "Simple send of", "bitcoin__ticket_amount": "Ticket amount:", - "bitcoin__title_confirm_details": "CONFIRM DETAILS", - "bitcoin__title_finalize_transaction": "FINALIZE TRANSACTION", - "bitcoin__title_high_mining_fee": "HIGH MINING FEE", - "bitcoin__title_meld_transaction": "MELD TRANSACTIONS", - "bitcoin__title_modify_amount": "MODIFY AMOUNT", - "bitcoin__title_payjoin": "PAYJOIN", - "bitcoin__title_proof_of_ownership": "PROOF OF OWNERSHIP", - "bitcoin__title_purchase_ticket": "PURCHASE TICKET", - "bitcoin__title_update_transaction": "UPDATE TRANSACTION", + "bitcoin__title_confirm_details": "Confirm details", + "bitcoin__title_finalize_transaction": "Finalize transaction", + "bitcoin__title_high_mining_fee": "High mining fee", + "bitcoin__title_meld_transaction": "Meld transactions", + "bitcoin__title_modify_amount": "Modify amount", + "bitcoin__title_payjoin": "Payjoin", + "bitcoin__title_proof_of_ownership": "Proof of ownership", + "bitcoin__title_purchase_ticket": "Purchase ticket", + "bitcoin__title_update_transaction": "Update transaction", "bitcoin__unknown_path": "Unknown path", "bitcoin__unknown_transaction": "Unknown transaction", "bitcoin__unusually_high_fee": "Unusually high fee.", "bitcoin__unverified_external_inputs": "The transaction contains unverified external inputs.", "bitcoin__valid_signature": "The signature is valid.", "bitcoin__voting_rights": "Voting rights to:", - "buttons__abort": "ABORT", - "buttons__access": "ACCESS", - "buttons__again": "AGAIN", - "buttons__allow": "ALLOW", - "buttons__back": "BACK", - "buttons__back_up": "BACK UP", - "buttons__cancel": "CANCEL", - "buttons__change": "CHANGE", - "buttons__check": "CHECK", - "buttons__check_again": "CHECK AGAIN", - "buttons__close": "CLOSE", - "buttons__confirm": "CONFIRM", - "buttons__continue": "CONTINUE", - "buttons__details": "DETAILS", - "buttons__enable": "ENABLE", - "buttons__enter": "ENTER", - "buttons__enter_share": "ENTER SHARE", - "buttons__export": "EXPORT", - "buttons__format": "FORMAT", - "buttons__go_back": "GO BACK", - "buttons__hold_to_confirm": "HOLD TO CONFIRM", - "buttons__info": "INFO", - "buttons__install": "INSTALL", - "buttons__more_info": "MORE INFO", - "buttons__ok_i_understand": "OK, I UNDERSTAND", - "buttons__purchase": "PURCHASE", - "buttons__quit": "QUIT", - "buttons__restart": "RESTART", - "buttons__retry": "RETRY", - "buttons__select": "SELECT", - "buttons__set": "SET", - "buttons__show_all": "SHOW ALL", - "buttons__show_details": "SHOW DETAILS", - "buttons__show_words": "SHOW WORDS", - "buttons__skip": "SKIP", - "buttons__try_again": "TRY AGAIN", - "buttons__turn_off": "TURN OFF", - "buttons__turn_on": "TURN ON", + "buttons__abort": "Abort", + "buttons__access": "Access", + "buttons__again": "Again", + "buttons__allow": "Allow", + "buttons__back": "Back", + "buttons__back_up": "Back up", + "buttons__cancel": "Cancel", + "buttons__change": "Change", + "buttons__check": "Check", + "buttons__check_again": "Check again", + "buttons__close": "Close", + "buttons__confirm": "Confirm", + "buttons__continue": "Continue", + "buttons__details": "Details", + "buttons__enable": "Enable", + "buttons__enter": "Enter", + "buttons__enter_share": "Enter share", + "buttons__export": "Export", + "buttons__format": "Format", + "buttons__go_back": "Go back", + "buttons__hold_to_confirm": "Hold to confirm", + "buttons__info": "Info", + "buttons__install": "Install", + "buttons__more_info": "More info", + "buttons__ok_i_understand": "Ok, i understand", + "buttons__purchase": "Purchase", + "buttons__quit": "Quit", + "buttons__restart": "Restart", + "buttons__retry": "Retry", + "buttons__select": "Select", + "buttons__set": "Set", + "buttons__show_all": "Show all", + "buttons__show_details": "Show details", + "buttons__show_words": "Show words", + "buttons__skip": "Skip", + "buttons__try_again": "Try again", + "buttons__turn_off": "Turn off", + "buttons__turn_on": "Turn on", "cardano__addr_base": "Base", "cardano__addr_enterprise": "Enterprise", "cardano__addr_legacy": "Legacy", @@ -220,21 +220,21 @@ "coinjoin__do_not_disconnect": "Do not disconnect your Trezor!", "coinjoin__max_mining_fee": "Max mining fee", "coinjoin__max_rounds": "Max rounds", - "coinjoin__title": "AUTHORIZE COINJOIN", - "coinjoin__title_do_not_disconnect": "DO NOT DISCONNECT YOUR TREZOR!", - "coinjoin__title_progress": "COINJOIN IN PROGRESS", + "coinjoin__title": "Authorize coinjoin", + "coinjoin__title_do_not_disconnect": "Do not disconnect your trezor!", + "coinjoin__title_progress": "Coinjoin in progress", "coinjoin__waiting_for_others": "Waiting for others", "confirm_total__fee_rate": "Fee rate:", "confirm_total__sending_from_account": "Sending from account:", - "confirm_total__title_fee": "FEE INFORMATION", - "confirm_total__title_sending_from": "SENDING FROM", + "confirm_total__title_fee": "Fee information", + "confirm_total__title_sending_from": "Sending from", "debug__loading_seed": "Loading seed", "debug__loading_seed_not_recommended": "Loading private seed is not recommended.", "device_name__change_template": "Change device name to {0}?", - "device_name__title": "DEVICE NAME", + "device_name__title": "Device name", "entropy__send": "Do you really want to send entropy?", - "entropy__title": "INTERNAL ENTROPY", - "entropy__title_confirm": "CONFIRM ENTROPY", + "entropy__title": "Internal entropy", + "entropy__title_confirm": "Confirm entropy", "eos__about_to_sign_template": "You are about to sign {0}.", "eos__action_name": "Action Name:", "eos__arbitrary_data": "Arbitrary data", @@ -290,26 +290,26 @@ "ethereum__show_full_message": "Show full message", "ethereum__show_full_struct": "Show full struct", "ethereum__sign_eip712": "Really sign EIP-712 typed data?", - "ethereum__title_confirm_data": "CONFIRM DATA", - "ethereum__title_confirm_domain": "CONFIRM DOMAIN", - "ethereum__title_confirm_message": "CONFIRM MESSAGE", - "ethereum__title_confirm_struct": "CONFIRM STRUCT", - "ethereum__title_confirm_typed_data": "CONFIRM TYPED DATA", - "ethereum__title_signing_address": "SIGNING ADDRESS", + "ethereum__title_confirm_data": "Confirm data", + "ethereum__title_confirm_domain": "Confirm domain", + "ethereum__title_confirm_message": "Confirm message", + "ethereum__title_confirm_struct": "Confirm struct", + "ethereum__title_confirm_typed_data": "Confirm typed data", + "ethereum__title_signing_address": "Signing address", "ethereum__units_template": "{0} units", "ethereum__unknown_token": "Unknown token", "ethereum__valid_signature": "The signature is valid.", - "ethereum__staking_stake": "STAKE", - "ethereum__staking_stake_address": "STAKE ADDRESS", + "ethereum__staking_title_stake": "Stake", + "ethereum__staking_title_stake_address": "Stake address", "ethereum__staking_stake_intro": "Stake ETH on Everstake?", - "ethereum__staking_unstake": "UNSTAKE", + "ethereum__staking_title_unstake": "Unstake", "ethereum__staking_unstake_intro": "Unstake ETH from Everstake?", - "ethereum__staking_claim": "CLAIM", - "ethereum__staking_claim_address": "CLAIM ADDRESS", + "ethereum__staking_title_claim": "Claim", + "ethereum__staking_title_claim_address": "Claim address", "ethereum__staking_claim_intro": "Claim ETH from Everstake?", "experimental_mode__enable": "Enable experimental features?", "experimental_mode__only_for_dev": "Only for development and beta testing!", - "experimental_mode__title": "EXPERIMENTAL MODE", + "experimental_mode__title": "Experimental mode", "fido__already_registered": "Already registered", "fido__device_already_registered": "This device is already registered with this application.", "fido__device_already_registered_with_template": "This device is already registered with {0}.", @@ -320,61 +320,61 @@ "fido__not_registered": "Not registered", "fido__not_registered_with_template": "This device is not registered with\n{0}.", "fido__please_enable_pin_protection": "Please enable PIN protection.", - "fido__title_authenticate": "FIDO2 AUTHENTICATE", - "fido__title_import_credential": "IMPORT CREDENTIAL", - "fido__title_list_credentials": "LIST CREDENTIALS", - "fido__title_register": "FIDO2 REGISTER", - "fido__title_remove_credential": "REMOVE CREDENTIAL", - "fido__title_reset": "FIDO2 RESET", - "fido__title_u2f_auth": "U2F AUTHENTICATE", - "fido__title_u2f_register": "U2F REGISTER", - "fido__title_verify_user": "FIDO2 VERIFY USER", + "fido__title_authenticate": "Fido2 authenticate", + "fido__title_import_credential": "Import credential", + "fido__title_list_credentials": "List credentials", + "fido__title_register": "Fido2 register", + "fido__title_remove_credential": "Remove credential", + "fido__title_reset": "FIDO2 reset", + "fido__title_u2f_auth": "U2F authenticate", + "fido__title_u2f_register": "U2F register", + "fido__title_verify_user": "FIDO2 verify user", "fido__unable_to_verify_user": "Unable to verify user.", "fido__wanna_erase_credentials": "Do you really want to erase all credentials?", - "firmware_update__title": "UPDATE FIRMWARE", - "firmware_update__title_fingerprint": "FW FINGERPRINT", + "firmware_update__title": "Update firmware", + "firmware_update__title_fingerprint": "FW fingerprint", "homescreen__click_to_connect": "Click to Connect", "homescreen__click_to_unlock": "Click to Unlock", - "homescreen__title_backup_failed": "BACKUP FAILED", - "homescreen__title_backup_needed": "BACKUP NEEDED", - "homescreen__title_coinjoin_authorized": "COINJOIN AUTHORIZED", - "homescreen__title_experimental_mode": "EXPERIMENTAL MODE", - "homescreen__title_no_usb_connection": "NO USB CONNECTION", - "homescreen__title_pin_not_set": "PIN NOT SET", - "homescreen__title_seedless": "SEEDLESS", - "homescreen__title_set": "CHANGE HOMESCREEN?", - "inputs__back": "BACK", - "inputs__cancel": "CANCEL", - "inputs__delete": "DELETE", - "inputs__enter": "ENTER", - "inputs__return": "RETURN", - "inputs__previous": "PREVIOUS", - "inputs__show": "SHOW", - "inputs__space": "SPACE", - "joint__title": "JOINT TRANSACTION", + "homescreen__title_backup_failed": "Backup failed", + "homescreen__title_backup_needed": "Backup needed", + "homescreen__title_coinjoin_authorized": "Coinjoin authorized", + "homescreen__title_experimental_mode": "Experimental mode", + "homescreen__title_no_usb_connection": "No USB connection", + "homescreen__title_pin_not_set": "PIN not set", + "homescreen__title_seedless": "Seedless", + "homescreen__title_set": "Change homescreen?", + "inputs__back": "Back", + "inputs__cancel": "Cancel", + "inputs__delete": "Delete", + "inputs__enter": "Enter", + "inputs__return": "Return", + "inputs__previous": "Previous", + "inputs__show": "Show", + "inputs__space": "Space", + "joint__title": "Joint transaction", "joint__to_the_total_amount": "To the total amount:", "joint__you_are_contributing": "You are contributing:", "language__change_to_template": "Change language to {0}?", "language__changed": "Language changed successfully", "language__progress": "Changing language", - "language__title": "LANGUAGE SETTINGS", + "language__title": "Language settings", "lockscreen__tap_to_connect": "Tap to connect", "lockscreen__tap_to_unlock": "Tap to unlock", - "lockscreen__title_locked": "LOCKED", - "lockscreen__title_not_connected": "NOT CONNECTED", + "lockscreen__title_locked": "Locked", + "lockscreen__title_not_connected": "Not connected", "misc__decrypt_value": "Decrypt value", "misc__encrypt_value": "Encrypt value", - "misc__title_suite_labeling": "SUITE LABELING", + "misc__title_suite_labeling": "Suite labeling", "modify_amount__decrease_amount": "Decrease amount by:", "modify_amount__increase_amount": "Increase amount by:", "modify_amount__new_amount": "New amount:", - "modify_amount__title": "MODIFY AMOUNT", + "modify_amount__title": "Modify amount", "modify_fee__decrease_fee": "Decrease fee by:", "modify_fee__fee_rate": "Fee rate:", "modify_fee__increase_fee": "Increase fee by:", "modify_fee__new_transaction_fee": "New transaction fee:", "modify_fee__no_change": "Fee did not change.\n", - "modify_fee__title": "MODIFY FEE", + "modify_fee__title": "Modify fee", "modify_fee__transaction_fee": "Transaction fee:", "monero__confirm_export": "Confirm export", "monero__confirm_ki_sync": "Confirm ki sync", @@ -453,11 +453,11 @@ "passphrase__next_screen_will_show_passphrase": "Next screen will show the passphrase.", "passphrase__please_enter": "Please enter your passphrase.", "passphrase__revoke_on_device": "Do you want to revoke the passphrase on device setting?", - "passphrase__title_confirm": "CONFIRM PASSPHRASE", - "passphrase__title_enter": "ENTER PASSPHRASE", - "passphrase__title_hide": "HIDE PASSPHRASE", - "passphrase__title_settings": "PASSPHRASE SETTINGS", - "passphrase__title_source": "PASSPHRASE SOURCE", + "passphrase__title_confirm": "Confirm passphrase", + "passphrase__title_enter": "Enter passphrase", + "passphrase__title_hide": "Hide passphrase", + "passphrase__title_settings": "Passphrase settings", + "passphrase__title_source": "Passphrase source", "passphrase__turn_off": "Turn off passphrase protection?", "passphrase__turn_on": "Turn on passphrase protection?", "pin__change": "Change PIN?", @@ -478,9 +478,9 @@ "pin__reenter_new": "Re-enter new PIN", "pin__reenter_to_confirm": "Please re-enter PIN to confirm.", "pin__should_be_long": "PIN should be 4-50 digits long.", - "pin__title_check_pin": "CHECK PIN", - "pin__title_settings": "PIN SETTINGS", - "pin__title_wrong_pin": "WRONG PIN", + "pin__title_check_pin": "Check PIN", + "pin__title_settings": "PIN settings", + "pin__title_wrong_pin": "Wrong PIN", "pin__tries_left": "tries left", "pin__turn_off": "Are you sure you want to turn off PIN protection?", "pin__turn_on": "Turn on PIN protection?", @@ -499,13 +499,13 @@ "progress__loading_transaction": "Loading transaction...", "progress__locking_device": "Locking the device...", "progress__one_second_left": "1 second left", - "progress__please_wait": "PLEASE WAIT", + "progress__title_please_wait": "Please wait", "progress__refreshing": "Refreshing...", "progress__signing_transaction": "Signing transaction...", "progress__syncing": "Syncing...", "progress__x_seconds_left_template": "{0} seconds left", "reboot_to_bootloader__restart": "Trezor will restart in bootloader mode.", - "reboot_to_bootloader__title": "GO TO BOOTLOADER", + "reboot_to_bootloader__title": "Go to bootloader", "reboot_to_bootloader__version_by_template": "Firmware version {0}\nby {1}", "reboot_to_bootloader__just_a_moment": "Just a moment...", "recovery__cancel_dry_run": "Cancel backup check", @@ -531,18 +531,18 @@ "recovery__share_already_entered": "Share already entered", "recovery__share_from_another_shamir": "You have entered a share from another Shamir Backup.", "recovery__share_num_template": "Share {0}", - "recovery__title": "RECOVER WALLET", - "recovery__title_cancel_dry_run": "CANCEL BACKUP CHECK", - "recovery__title_cancel_recovery": "CANCEL RECOVERY", - "recovery__title_dry_run": "BACKUP CHECK", - "recovery__title_recover": "RECOVER WALLET", - "recovery__title_remaining_shares": "REMAINING SHARES", + "recovery__title": "Recover wallet", + "recovery__title_cancel_dry_run": "Cancel backup check", + "recovery__title_cancel_recovery": "Cancel recovery", + "recovery__title_dry_run": "Backup check", + "recovery__title_recover": "Recover wallet", + "recovery__title_remaining_shares": "Remaining shares", "recovery__type_word_x_of_y_template": "Type word {0} of {1}", "recovery__wallet_recovered": "Wallet recovered successfully", "recovery__wanna_cancel_dry_run": "Are you sure you want to cancel the backup check?", "recovery__wanna_cancel_recovery": "Are you sure you want to cancel the recovery process?", "recovery__word_count_template": "({0} words)", - "recovery__word_x_of_y_template": "WORD {0} OF {1}", + "recovery__word_x_of_y_title_template": "Word {0} of {1}", "recovery__x_more_items_starting_template_plural": "{count} more {plural} starting", "recovery__x_more_shares_needed_template_plural": "{count} more {plural} needed.", "recovery__x_of_y_entered_template": "{0} of {1} shares entered successfully.", @@ -550,13 +550,13 @@ "reset__advanced_group_threshold_info": "The group threshold specifies the number of groups required to recover your wallet.", "reset__all_x_of_y_template": "all {0} of {1} shares", "reset__any_x_of_y_template": "any {0} of {1} shares", - "reset__button_create": "CREATE WALLET", - "reset__button_recover": "RECOVER WALLET", + "reset__button_create": "Create wallet", + "reset__button_recover": "Recover wallet", "reset__by_continuing": "By continuing you agree to Trezor Company's terms and conditions.", - "reset__check_backup_title": "CHECK BACKUP", - "reset__check_group_share_title_template": "CHECK G{0} - SHARE {1}", - "reset__check_seed_title": "CHECK SEED", - "reset__check_share_title_template": "CHECK SHARE #{0}", + "reset__check_backup_title": "Check backup", + "reset__check_group_share_title_template": "Check g{0} - share {1}", + "reset__check_seed_title": "Check seed", + "reset__check_share_title_template": "Check share #{0}", "reset__continue_with_next_share": "Continue with the next share.", "reset__continue_with_share_template": "Continue with share #{0}.", "reset__finished_verifying_group_template": "You have finished verifying your recovery shares for group {0}.", @@ -565,7 +565,7 @@ "reset__group_description": "A group is made up of recovery shares.", "reset__group_info": "Each group has a set number of shares and its own threshold. In the next steps you will set the numbers of shares and the thresholds.", "reset__group_share_checked_successfully_template": "Group {0} - Share {1} checked successfully.", - "reset__group_share_title_template": "GROUP {0} - SHARE {1}", + "reset__group_share_title_template": "Group {0} - share {1}", "reset__more_info_at": "More info at", "reset__need_all_share_template": "For recovery you need all {0} of the shares.", "reset__need_any_share_template": "For recovery you need any {0} of the shares.", @@ -579,15 +579,15 @@ "reset__number_of_shares_info": "= total number of unique word lists used for wallet backup.", "reset__one_share": "1 share", "reset__only_one_share_will_be_created": "Only one share will be created.", - "reset__recovery_seed_title": "RECOVERY SEED", - "reset__recovery_share_title_template": "RECOVERY SHARE #{0}", + "reset__recovery_seed_title": "Recovery seed", + "reset__recovery_share_title_template": "Recovery share #{0}", "reset__required_number_of_groups": "The required number of groups for recovery.", "reset__select_correct_word": "Select the correct word for each position.", - "reset__select_word_template": "SELECT {0} WORD", + "reset__select_word_title_template": "Select {0} word", "reset__select_word_x_of_y_template": "Select word {0} of {1}:", "reset__set_it_to_count_template": "Set it to {0} and you will need ", "reset__share_checked_successfully_template": "Recovery share #{0} checked successfully.", - "reset__share_words_title": "STANDARD BACKUP", + "reset__share_words_title": "Standard backup", "reset__slip39_checklist_num_groups": "Number of groups", "reset__slip39_checklist_num_shares": "Number of shares", "reset__slip39_checklist_set_num_groups": "Set number of groups", @@ -595,21 +595,21 @@ "reset__slip39_checklist_set_sizes": "Set sizes and thresholds", "reset__slip39_checklist_set_sizes_longer": "Set size and threshold for each group", "reset__slip39_checklist_set_threshold": "Set threshold", - "reset__slip39_checklist_title": "BACKUP CHECKLIST", + "reset__slip39_checklist_title": "Backup checklist", "reset__slip39_checklist_write_down": "Write down and check all shares", "reset__slip39_checklist_write_down_recovery": "Write down and check all recovery shares", "reset__the_threshold_sets_the_number_of_shares": "The threshold sets the number of shares ", "reset__threshold_info": "= minimum number of unique word lists used for recovery.", - "reset__title_backup_is_done": "BACKUP IS DONE", - "reset__title_create_wallet": "CREATE WALLET", - "reset__title_create_wallet_shamir": "CREATE WALLET (SHAMIR)", - "reset__title_group_threshold": "GROUP THRESHOLD", - "reset__title_number_of_groups": "NUMBER OF GROUPS", - "reset__title_number_of_shares": "NUMBER OF SHARES", - "reset__title_set_group_threshold": "SET GROUP THRESHOLD", - "reset__title_set_number_of_groups": "SET NUMBER OF GROUPS", - "reset__title_set_number_of_shares": "SET NUMBER OF SHARES", - "reset__title_set_threshold": "SET THRESHOLD", + "reset__title_backup_is_done": "Backup is done", + "reset__title_create_wallet": "Create wallet", + "reset__title_create_wallet_shamir": "Create wallet (shamir)", + "reset__title_group_threshold": "Group threshold", + "reset__title_number_of_groups": "Number of groups", + "reset__title_number_of_shares": "Number of shares", + "reset__title_set_group_threshold": "Set group threshold", + "reset__title_set_number_of_groups": "Set number of groups", + "reset__title_set_number_of_shares": "Set number of shares", + "reset__title_set_threshold": "Set threshold", "reset__to_form_group_template": "to form Group {0}.", "reset__tos_link": "trezor.io/tos", "reset__total_number_of_shares_in_group_template": "Set the total number of shares in Group {0}.", @@ -624,13 +624,13 @@ "rotation__east": "east", "rotation__north": "north", "rotation__south": "south", - "rotation__title_change": "CHANGE ROTATION", + "rotation__title_change": "Change rotation", "rotation__west": "west", "safety_checks__approve_unsafe_always": "Trezor will allow you to approve some actions which might be unsafe.", "safety_checks__approve_unsafe_temporary": "Trezor will temporarily allow you to approve some actions which might be unsafe.", "safety_checks__enforce_strict": "Do you really want to enforce strict safety checks (recommended)?", - "safety_checks__title": "SAFETY CHECKS", - "safety_checks__title_safety_override": "SAFETY OVERRIDE", + "safety_checks__title": "Safety checks", + "safety_checks__title_safety_override": "Safety override", "sd_card__all_data_will_be_lost": "All data on the SD card will be lost.", "sd_card__card_required": "SD card required.", "sd_card__disable": "Do you really want to remove SD card protection from your device?", @@ -646,25 +646,25 @@ "sd_card__refresh": "Do you really want to replace the current SD card secret with a newly generated one?", "sd_card__refreshed": "You have successfully refreshed SD protection.", "sd_card__restart": "Do you want to restart Trezor in bootloader mode?", - "sd_card__title": "SD CARD PROTECTION", - "sd_card__title_problem": "SD CARD PROBLEM", + "sd_card__title": "SD card protection", + "sd_card__title_problem": "SD card problem", "sd_card__unknown_filesystem": "Unknown filesystem.", "sd_card__unplug_and_insert_correct": "Please unplug the device and insert the correct SD card.", "sd_card__use_different_card": "Use a different card or format the SD card to the FAT32 filesystem.", "sd_card__wanna_format": "Do you really want to format the SD card?", "sd_card__wrong_sd_card": "Wrong SD card.", "send__address_path": "address path", - "send__confirm_sending": "SENDING AMOUNT", + "send__confirm_sending": "Sending amount", "send__from_multiple_accounts": "Sending from multiple accounts.", "send__including_fee": "Including fee:", "send__maximum_fee": "Maximum fee:", "send__receiving_to_multisig": "Receiving to a multisig address.", - "send__title_confirm_sending": "CONFIRM SENDING", - "send__title_joint_transaction": "JOINT TRANSACTION", - "send__title_receiving_to": "RECEIVING TO", - "send__title_sending": "SENDING", - "send__title_sending_amount": "SENDING AMOUNT", - "send__title_sending_to": "SENDING TO", + "send__title_confirm_sending": "Confirm sending", + "send__title_joint_transaction": "Joint transaction", + "send__title_receiving_to": "Receiving to", + "send__title_sending": "Sending", + "send__title_sending_amount": "Sending amount", + "send__title_sending_to": "Sending to", "send__to_the_total_amount": "To the total amount:", "send__total_amount": "Total amount:", "send__transaction_id": "Transaction ID:", @@ -672,14 +672,14 @@ "share_words__words_in_order": " words in order.", "share_words__wrote_down_all": "I wrote down all ", "sign_message__bytes_template": "{0} Bytes", - "sign_message__confirm_address": "SIGNING ADDRESS", - "sign_message__confirm_message": "CONFIRM MESSAGE", + "sign_message__title_confirm_address": "Signing address", + "sign_message__title_confirm_message": "Confirm message", "sign_message__message_size": "Message size:", - "sign_message__verify_address": "VERIFY ADDRESS", - "storage_msg__verifying_pin": "VERIFYING PIN", - "storage_msg__processing": "PROCESSING", - "storage_msg__starting": "STARTING UP", - "storage_msg__wrong_pin": "WRONG PIN", + "sign_message__title_verify_address": "Verify address", + "storage_msg__title_verifying_pin": "Verifying pin", + "storage_msg__title_processing": "Processing", + "storage_msg__title_starting": "Starting up", + "storage_msg__title_wrong_pin": "Wrong pin", "solana__account_index": "Account index", "solana__associated_token_account": "Associated token account", "solana__confirm_multisig": "Confirm multisig", @@ -786,10 +786,10 @@ "tutorial__welcome_press_right": "Welcome to Trezor. Press right to continue.", "u2f__get": "Increase and retrieve the U2F counter?", "u2f__set_template": "Set the U2F counter to {0}?", - "u2f__title_get": "GET U2F COUNTER", - "u2f__title_set": "SET U2F COUNTER", + "u2f__title_get": "Get U2F counter", + "u2f__title_set": "Set U2F counter", "wipe__info": "All data will be erased.", - "wipe__title": "WIPE DEVICE", + "wipe__title": "Wipe device", "wipe__want_to_wipe": "Do you really want to wipe the device?\n", "wipe_code__change": "Change wipe code?", "wipe_code__changed": "Wipe code changed.", @@ -802,13 +802,13 @@ "wipe_code__mismatch": "The wipe codes you entered do not match.", "wipe_code__reenter": "Re-enter wipe code", "wipe_code__reenter_to_confirm": "Please re-enter wipe code to confirm.", - "wipe_code__title_check": "CHECK WIPE CODE", - "wipe_code__title_invalid": "INVALID WIPE CODE", - "wipe_code__title_settings": "WIPE CODE SETTINGS", + "wipe_code__title_check": "Check wipe code", + "wipe_code__title_invalid": "Invalid wipe code", + "wipe_code__title_settings": "Wipe code settings", "wipe_code__turn_off": "Turn off wipe code protection?", "wipe_code__turn_on": "Turn on wipe code protection?", "wipe_code__wipe_code_mismatch": "Wipe code mismatch", - "word_count__title": "NUMBER OF WORDS", + "word_count__title": "Number of words", "words__account": "Account", "words__account_colon": "Account:", "words__address": "Address", @@ -833,18 +833,18 @@ "words__please_check_again": "Please check again", "words__please_try_again": "Please try again", "words__really_wanna": "Do you really want to", - "words__recipient": "Recipient", + "words__title_recipient": "Recipient", "words__sign": "Sign", "words__signer": "Signer", - "words__title_check": "CHECK", - "words__title_group": "GROUP", - "words__title_information": "INFORMATION", - "words__title_remember": "REMEMBER", - "words__title_share": "SHARE", - "words__title_shares": "SHARES", - "words__title_success": "SUCCESS", - "words__title_summary": "SUMMARY", - "words__title_threshold": "THRESHOLD", + "words__title_check": "Check", + "words__title_group": "Group", + "words__title_information": "Information", + "words__title_remember": "Remember", + "words__title_share": "Share", + "words__title_shares": "Shares", + "words__title_success": "Success", + "words__title_summary": "Summary", + "words__title_threshold": "Threshold", "words__unknown": "Unknown", "words__warning": "Warning", "words__writable": "Writable", diff --git a/core/translations/es.json b/core/translations/es.json index 179fb9e48..0995edbbf 100644 --- a/core/translations/es.json +++ b/core/translations/es.json @@ -33,7 +33,7 @@ "addr_mismatch__support_url": "trezor.io/support", "addr_mismatch__wrong_derivation_path": "Cuenta seleccionada: Derivación incorrecta", "addr_mismatch__xpub_mismatch": "¿La XPUB no coincide?", - "address__public_key": "Clave pública", + "address__title_public_key": "Clave pública", "address__title_cosigner": "COFIRMANTE", "address__title_receive_address": "DIRECCIÓN DESTINO", "address__title_yours": "TUYO", @@ -322,13 +322,13 @@ "ethereum__units_template": "{0} unidades", "ethereum__unknown_token": "Token desconocido", "ethereum__valid_signature": "La firma es válida.", - "ethereum__staking_stake": "HACER STAKE", - "ethereum__staking_stake_address": "DIRECCIÓN DE STAKE", + "ethereum__staking_title_stake": "HACER STAKE", + "ethereum__staking_title_stake_address": "DIRECCIÓN DE STAKE", "ethereum__staking_stake_intro": "¿Hacer stake de ETH en Everstake?", - "ethereum__staking_unstake": "RETIRAR STAKE", + "ethereum__staking_title_unstake": "RETIRAR STAKE", "ethereum__staking_unstake_intro": "¿Retirar ETH de Everstake?", - "ethereum__staking_claim": "RECLAMAR", - "ethereum__staking_claim_address": "DIR. DE RECLAMO", + "ethereum__staking_title_claim": "RECLAMAR", + "ethereum__staking_title_claim_address": "DIR. DE RECLAMO", "ethereum__staking_claim_intro": "¿Reclamar ETH de Everstake?", "experimental_mode__enable": "¿Activar funciones experimentales?", "experimental_mode__only_for_dev": "Solo para desarrollo y pruebas beta.", @@ -522,7 +522,7 @@ "progress__loading_transaction": "Cargando transacc...", "progress__locking_device": "Bloq. el dispositivo...", "progress__one_second_left": "Queda 1 segundo", - "progress__please_wait": "ESPERA", + "progress__title_please_wait": "ESPERA", "progress__refreshing": "Actualizando...", "progress__signing_transaction": "Firmando transacción...", "progress__syncing": "Sincronizando...", @@ -565,7 +565,7 @@ "recovery__wanna_cancel_dry_run": "¿Quieres anular la revisión de la copia de seguridad?", "recovery__wanna_cancel_recovery": "¿Quieres anular el proceso de recuperación?", "recovery__word_count_template": "({0} palabras)", - "recovery__word_x_of_y_template": "PALABRA {0} DE {1}", + "recovery__word_x_of_y_title_template": "PALABRA {0} DE {1}", "recovery__x_more_items_starting_template_plural": "Se están iniciando {count} {plural} más", "recovery__x_more_shares_needed_template_plural": "Se necesitan {count} {plural} más.", "recovery__x_of_y_entered_template": "Rec. comp. introducidos: {0} de {1}.", @@ -606,7 +606,7 @@ "reset__recovery_share_title_template": "REC. RECUP. nro.{0}", "reset__required_number_of_groups": "El nro.de grupos necesario para la recuperación.", "reset__select_correct_word": "Selecciona la palabra correcta para cada posición.", - "reset__select_word_template": "USAR {0} PALABRA", + "reset__select_word_title_template": "USAR {0} PALABRA", "reset__select_word_x_of_y_template": "Palabra {0} de {1}:", "reset__set_it_to_count_template": "Ajústalo en {0} y necesitarás ", "reset__share_checked_successfully_template": "Verificado: Rec de recuperación nro.{0}.", @@ -695,10 +695,10 @@ "share_words__words_in_order": " palabras en orden.", "share_words__wrote_down_all": "Escribí las ", "sign_message__bytes_template": "{0} bytes", - "sign_message__confirm_address": "DIRECCIÓN FIRMA", - "sign_message__confirm_message": "VALIDAR MENSAJE", + "sign_message__title_confirm_address": "DIRECCIÓN FIRMA", + "sign_message__title_confirm_message": "VALIDAR MENSAJE", "sign_message__message_size": "Tamaño del mensaje:", - "sign_message__verify_address": "VERIFICAR DIRECCIÓN", + "sign_message__title_verify_address": "VERIFICAR DIRECCIÓN", "solana__account_index": "Índice de la cuenta", "solana__associated_token_account": "Cuenta de token asociada", "solana__confirm_multisig": "Confirmar multifirma", @@ -780,10 +780,10 @@ "stellar__value_sha256": "Valor (SHA-256):", "stellar__wanna_clean_value_key_template": "¿Quieres borrar la clave de valor {0}?", "stellar__your_account": " tu cuenta", - "storage_msg__verifying_pin": "VERIFICANDO PIN", - "storage_msg__processing": "PROCESANDO", - "storage_msg__starting": "INICIANDO", - "storage_msg__wrong_pin": "PIN INCORRECTO", + "storage_msg__title_verifying_pin": "VERIFICANDO PIN", + "storage_msg__title_processing": "PROCESANDO", + "storage_msg__title_starting": "INICIANDO", + "storage_msg__title_wrong_pin": "PIN INCORRECTO", "tezos__baker_address": "Dirección de panadero:", "tezos__balance": "Saldo:", "tezos__ballot": "Papeleta:", @@ -856,7 +856,7 @@ "words__please_check_again": "Vuelve a comprobarlo", "words__please_try_again": "Inténtalo de nuevo", "words__really_wanna": "¿Seguro que quieres", - "words__recipient": "Destinatario", + "words__title_recipient": "Destinatario", "words__sign": "Firmar", "words__signer": "Firmante", "words__title_check": "REVISAR", diff --git a/core/translations/fr.json b/core/translations/fr.json index cec826076..118345a88 100644 --- a/core/translations/fr.json +++ b/core/translations/fr.json @@ -33,7 +33,7 @@ "addr_mismatch__support_url": "trezor.io/support", "addr_mismatch__wrong_derivation_path": "Chemin dériv. incorrect du compte sélectionné.", "addr_mismatch__xpub_mismatch": "Err. clé publ. (XPUB) ?", - "address__public_key": "Clé publique", + "address__title_public_key": "Clé publique", "address__title_cosigner": "COSIGNATAIRE", "address__title_receive_address": "ADR. DE RÉCEP.", "address__title_yours": "LA VÔTRE", @@ -322,13 +322,13 @@ "ethereum__units_template": "{0} unités", "ethereum__unknown_token": "Jeton inconnu", "ethereum__valid_signature": "Signature valide.", - "ethereum__staking_stake": "STAKE", - "ethereum__staking_stake_address": "ADRESSE DE STAKING", + "ethereum__staking_title_stake": "STAKE", + "ethereum__staking_title_stake_address": "ADRESSE DE STAKING", "ethereum__staking_stake_intro": "Staker de l'ETH sur Everstake?", - "ethereum__staking_unstake": "UNSTAKE", + "ethereum__staking_title_unstake": "UNSTAKE", "ethereum__staking_unstake_intro": "Terminer le Staking de l'ETH sur Everstake?", - "ethereum__staking_claim": "RETIRER", - "ethereum__staking_claim_address": "ADRESSE DE RETRAIT", + "ethereum__staking_title_claim": "RETIRER", + "ethereum__staking_title_claim_address": "ADRESSE DE RETRAIT", "ethereum__staking_claim_intro": "Retirer l'ETH d'Everstake?", "experimental_mode__enable": "Activer les fonct. expérimentales ?", "experimental_mode__only_for_dev": "Uniquement pour le dév. et les tests bêta !", @@ -522,7 +522,7 @@ "progress__loading_transaction": "Charg. de la trans...", "progress__locking_device": "Verrouill. l'appareil...", "progress__one_second_left": "1 seconde restante", - "progress__please_wait": "PATIENTEZ", + "progress__title_please_wait": "PATIENTEZ", "progress__refreshing": "Actualisation en cours", "progress__signing_transaction": "Signature en cours...", "progress__syncing": "Synch. en cours", @@ -565,7 +565,7 @@ "recovery__wanna_cancel_dry_run": "Voulez-vous vraiment annuler la vér. de la sauv. ?", "recovery__wanna_cancel_recovery": "Voulez-vous vraiment annuler le processus de récup. ?", "recovery__word_count_template": "({0} mots)", - "recovery__word_x_of_y_template": "MOT {0} SUR {1}", + "recovery__word_x_of_y_title_template": "MOT {0} SUR {1}", "recovery__x_more_items_starting_template_plural": "{count} plus {plural} ont commencé", "recovery__x_more_shares_needed_template_plural": "{count} plus {plural} sont nécessaires.", "recovery__x_of_y_entered_template": "{0} fragm. sur {1} saisis avec succès.", @@ -606,7 +606,7 @@ "reset__recovery_share_title_template": "FRAGM. DE RÉCUP. #{0}", "reset__required_number_of_groups": "Le nbre de groupes requis pour la récup.", "reset__select_correct_word": "Sélect. le mot correct par emplacement.", - "reset__select_word_template": "SÉLECTIONNER {0} MOT", + "reset__select_word_tile_template": "SÉLECTIONNER {0} MOT", "reset__select_word_x_of_y_template": "Mot {0} sur {1}:", "reset__set_it_to_count_template": "Définissez-le sur {0} et vous aurez besoin ", "reset__share_checked_successfully_template": "Le fragm. de récup. #{0} a été vérifié.", @@ -695,10 +695,10 @@ "share_words__words_in_order": " mots dans l'ordre.", "share_words__wrote_down_all": "J'ai noté tous les ", "sign_message__bytes_template": "{0} octets", - "sign_message__confirm_address": "ADR. DE SIGNATURE", - "sign_message__confirm_message": "CONF. MESSAGE", + "sign_message__title_confirm_address": "ADR. DE SIGNATURE", + "sign_message__title_confirm_message": "CONF. MESSAGE", "sign_message__message_size": "Taille du message :", - "sign_message__verify_address": "VÉRIFIER L'ADR.", + "sign_message__title_verify_address": "VÉRIFIER L'ADR.", "solana__account_index": "Index du compte", "solana__associated_token_account": "Compte de jetons associé", "solana__confirm_multisig": "Conf. multisignatures", @@ -781,10 +781,10 @@ "stellar__wanna_clean_value_key_template": "Voulez-vous effacer la clé de valeur {0} ?", "stellar__your_account": " votre compte", "tezos__baker_address": "Adr. du baker :", - "storage_msg__verifying_pin": "VÉRIFICATION DU PIN", - "storage_msg__processing": "TRAITEMENT", - "storage_msg__starting": "DÉMARRAGE", - "storage_msg__wrong_pin": "PIN INCORRECT", + "storage_msg__title_verifying_pin": "VÉRIFICATION DU PIN", + "storage_msg__title_processing": "TRAITEMENT", + "storage_msg__title_starting": "DÉMARRAGE", + "storage_msg__title_wrong_pin": "PIN INCORRECT", "tezos__balance": "Solde :", "tezos__ballot": "Bulletin de vote :", "tezos__confirm_delegation": "Conf. délégation", @@ -856,7 +856,7 @@ "words__please_check_again": "Revérifiez", "words__please_try_again": "Réessayez", "words__really_wanna": "Voulez-vous vraiment", - "words__recipient": "Destinataire", + "words__title_recipient": "Destinataire", "words__sign": "Signer", "words__signer": "Signataire", "words__title_check": "VÉRIFIER", diff --git a/core/translations/order.json b/core/translations/order.json index 379154902..4e85dc4ab 100644 --- a/core/translations/order.json +++ b/core/translations/order.json @@ -5,7 +5,7 @@ "3": "addr_mismatch__support_url", "4": "addr_mismatch__wrong_derivation_path", "5": "addr_mismatch__xpub_mismatch", - "6": "address__public_key", + "6": "address__title_public_key", "7": "address__title_cosigner", "8": "address__title_receive_address", "9": "address__title_yours", @@ -485,8 +485,8 @@ "483": "progress__loading_transaction", "484": "progress__locking_device", "485": "progress__one_second_left", - "486": "progress__please_wait", - "487": "storage_msg__processing", + "486": "progress__title_please_wait", + "487": "storage_msg__title_processing", "488": "progress__refreshing", "489": "progress__signing_transaction", "490": "progress__syncing", @@ -528,7 +528,7 @@ "526": "recovery__wanna_cancel_dry_run", "527": "recovery__wanna_cancel_recovery", "528": "recovery__word_count_template", - "529": "recovery__word_x_of_y_template", + "529": "recovery__word_x_of_y_title_template", "530": "recovery__x_more_items_starting_template_plural", "531": "recovery__x_more_shares_needed_template_plural", "532": "recovery__x_of_y_entered_template", @@ -569,7 +569,7 @@ "567": "reset__recovery_share_title_template", "568": "reset__required_number_of_groups", "569": "reset__select_correct_word", - "570": "reset__select_word_template", + "570": "reset__select_word_title_template", "571": "reset__select_word_x_of_y_template", "572": "reset__set_it_to_count_template", "573": "reset__share_checked_successfully_template", @@ -658,10 +658,10 @@ "656": "share_words__words_in_order", "657": "share_words__wrote_down_all", "658": "sign_message__bytes_template", - "659": "sign_message__confirm_address", - "660": "sign_message__confirm_message", + "659": "sign_message__title_confirm_address", + "660": "sign_message__title_confirm_message", "661": "sign_message__message_size", - "662": "sign_message__verify_address", + "662": "sign_message__title_verify_address", "663": "solana__account_index", "664": "solana__associated_token_account", "665": "solana__confirm_multisig", @@ -815,7 +815,7 @@ "813": "words__please_check_again", "814": "words__please_try_again", "815": "words__really_wanna", - "816": "words__recipient", + "816": "words__title_recipient", "817": "words__sign", "818": "words__signer", "819": "words__title_check", @@ -833,15 +833,15 @@ "831": "words__yes", "832": "reboot_to_bootloader__just_a_moment", "833": "inputs__previous", - "834": "ethereum__staking_claim", - "835": "ethereum__staking_claim_address", + "834": "ethereum__staking_title_claim", + "835": "ethereum__staking_title_claim_address", "836": "ethereum__staking_claim_intro", - "837": "ethereum__staking_stake", - "838": "ethereum__staking_stake_address", + "837": "ethereum__staking_title_stake", + "838": "ethereum__staking_title_stake_address", "839": "ethereum__staking_stake_intro", - "840": "ethereum__staking_unstake", + "840": "ethereum__staking_title_unstake", "841": "ethereum__staking_unstake_intro", - "842": "storage_msg__starting", - "843": "storage_msg__verifying_pin", - "844": "storage_msg__wrong_pin" + "842": "storage_msg__title_starting", + "843": "storage_msg__title_verifying_pin", + "844": "storage_msg__title_wrong_pin" } diff --git a/core/translations/signatures.json b/core/translations/signatures.json index b53e8b66f..9bfa4ac7b 100644 --- a/core/translations/signatures.json +++ b/core/translations/signatures.json @@ -1,8 +1,8 @@ { "current": { - "merkle_root": "83f62541670df59f347bfdf577f36c1ef504f769fd8a498c0f76aa78f9021cda", - "datetime": "2024-03-30T11:28:31.004037", - "commit": "1c36c0927c33fd05b4eff4b3a020940e33074b54" + "merkle_root": "4622d85e1e3c9b634b4d4f900a2ab06e2aa5e0f62fc9d4e5ed4a83917cc460d3", + "datetime": "2024-04-14T12:45:50.699461", + "commit": "73a2f276878a95b6f736281a52e93699843e9f9a" }, "history": [ { diff --git a/python/src/trezorlib/_internal/translations.py b/python/src/trezorlib/_internal/translations.py index 809725119..9096f8c00 100644 --- a/python/src/trezorlib/_internal/translations.py +++ b/python/src/trezorlib/_internal/translations.py @@ -293,6 +293,61 @@ class TranslationsBlob(Struct): # ==================== +def uppercase_titles_and_buttons(s: str, key: str, model_internal_name: str) -> str: + # strings used in titles and button labels are uppercased for model T and model R + MODELS_WITH_UPPER_TITLES_AND_BUTTONS = ("T2T1", "T2B1") + # KEY_SUBSTR_UPPER_MODELS_T_AND_R = ("_title", "_button", "buttons__", "inputs__") + KEY_SUBSTR_UPPER_MODELS_T_AND_R = ( + "_title", + "_button", + "buttons__", + "inputs__", + # FIXME: below are strings which should contain '_title' or `_button`. This is just to test if it's sufficient + "stellar__confirm_issuer", + "stellar__confirm_stellar", + "stellar__confirm_issuer", + "stellar__revoke_trust", + "stellar__confirm_memo", + "nem__final_confirm", + "bitcoin__confirm_locktime", + "binance__confirm_cancel", + "binance__confirm_input", + "binance__confirm_order", + "binance__confirm_output", + "cardano__verify_script", + "cardano__sending", # should include many cardano__... + # "progress__loading_transaction", + # "progress__signing_transaction", + "language__progress", + # FIXME: words might be used in multiple places, consider creating more versions, e.g. "words__title_amount", etc. + "words__amount", + "words__confirm", + "words__sign", + "words__warning", + "debug__loading_seed", + "passphrase__hidden_wallet", + "sd_card__error", + "sd_card__format_card", + "misc__decrypt_value", + "misc__encrypt_value", + "misc__title_suite_labeling", + ) + + KEY_SKIP = ( + "debug__loading_seed_not_recommended", + ) + + should_upper: bool = ( + model_internal_name in MODELS_WITH_UPPER_TITLES_AND_BUTTONS + and any(sub in key for sub in KEY_SUBSTR_UPPER_MODELS_T_AND_R) + and key not in KEY_SKIP + ) + if should_upper: + return s.upper() + else: + return s + + def order_from_json(json_order: dict[str, str]) -> Order: return {int(k): v for k, v in json_order.items()} @@ -306,10 +361,14 @@ def blob_from_defs( ) -> TranslationsBlob: json_header: JsonHeader = lang_data["header"] - # order translations -- python dicts keep insertion order - translations_ordered: list[str] = [ - lang_data["translations"].get(key, "") for _, key in sorted(order.items()) - ] + # order translations -- dicts keep insertion order as of Python 3.7 + translations_ordered: list[str] = [] * len(order) + for _, key in sorted(order.items()): + translation: str = lang_data["translations"].get(key, "") + translation = uppercase_titles_and_buttons( + translation, key, model.internal_name + ) + translations_ordered.append(translation) translations = TranslatedStrings.from_items(translations_ordered) diff --git a/tests/input_flows_helpers.py b/tests/input_flows_helpers.py index 05c800c76..47c6a4875 100644 --- a/tests/input_flows_helpers.py +++ b/tests/input_flows_helpers.py @@ -310,7 +310,7 @@ class EthereumFlow: go_back_from_summary: bool = False, ) -> BRGeneratorType: yield - TR.assert_equals(self.debug.wait_layout().title(), "words__recipient") + TR.assert_equals(self.debug.wait_layout().title(), "words__title_recipient") if self.client.model in (models.T2T1, models.T3T1): if cancel: @@ -374,9 +374,9 @@ class EthereumFlow: TR.assert_equals_multiple( self.debug.wait_layout().title(), [ - "ethereum__staking_stake", - "ethereum__staking_unstake", - "ethereum__staking_claim", + "ethereum__staking_title_stake", + "ethereum__staking_title_unstake", + "ethereum__staking_title_claim", ], ) TR.assert_equals_multiple( @@ -394,8 +394,8 @@ class EthereumFlow: TR.assert_equals_multiple( self.debug.wait_layout().title(), [ - "ethereum__staking_stake_address", - "ethereum__staking_claim_address", + "ethereum__staking_title_stake_address", + "ethereum__staking_title_claim_address", ], ) self.debug.press_no(wait=True) @@ -421,8 +421,8 @@ class EthereumFlow: TR.assert_equals_multiple( self.debug.wait_layout().title(), [ - "ethereum__staking_stake_address", - "ethereum__staking_claim_address", + "ethereum__staking_title_stake_address", + "ethereum__staking_title_claim_address", ], ) self.debug.press_left(wait=True)