1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-09 16:18:10 +00:00

WIP - translate Solana

This commit is contained in:
grdddj 2024-01-03 12:43:42 +01:00
parent a969b47f89
commit 687e84a8e4
14 changed files with 303 additions and 62 deletions

View File

@ -113,6 +113,7 @@
"access": "PŘÍSTUP", "access": "PŘÍSTUP",
"again": "ZNOVU", "again": "ZNOVU",
"allow": "DOVOLIT", "allow": "DOVOLIT",
"back": "ZADNÍ",
"back_up": "ZÁLOHOVAT", "back_up": "ZÁLOHOVAT",
"cancel": "ZRUŠIT", "cancel": "ZRUŠIT",
"change": "ZMĚNIT", "change": "ZMĚNIT",
@ -140,6 +141,7 @@
"select": "VYBRAT", "select": "VYBRAT",
"set": "NASTAVIT", "set": "NASTAVIT",
"show_all": "UKÁZAT VŠE", "show_all": "UKÁZAT VŠE",
"show_details": "UKÁZAT DETAILY",
"show_words": "UKÁZAT SLOVA", "show_words": "UKÁZAT SLOVA",
"skip": "PŘESKOČIT", "skip": "PŘESKOČIT",
"try_again": "ZKUSIT ZNOVU", "try_again": "ZKUSIT ZNOVU",
@ -791,8 +793,22 @@
"message_size": "Velikost zprávy:", "message_size": "Velikost zprávy:",
"verify_address": "Ověřte adresu" "verify_address": "Ověřte adresu"
}, },
"solana": {
"account_index": "Index účtu",
"associated_token_account": "Přidružený účet tokenů",
"confirm_multisig": "Potvrďte multisig",
"expected_fee": "Očekávaný poplatek",
"instruction_accounts_template": "Instrukce obsahuje {} účty a její data jsou {} bajty dlouhé.",
"instruction_data": "Instruktážní data",
"instruction_is_multisig": "Následující instrukce je instrukce multisig.",
"is_provided_via_lookup_table_template": "{} je poskytován prostřednictvím vyhledávací tabulky.",
"lookup_table_address": "Adresa tabulky vyhledávání",
"multiple_signers": "Více signatářů",
"token_address": "Adresa tokenů",
"transaction_contains_unknown_instructions": "Transakce obsahuje neznámé pokyny.",
"transaction_requires_x_signers_template": "Transakce vyžaduje {} signatáři, který zvyšuje poplatek."
},
"stellar": { "stellar": {
"account": "Účet",
"account_merge": "Sloučení účtů", "account_merge": "Sloučení účtů",
"account_thresholds": "Práhové hodnoty účtu", "account_thresholds": "Práhové hodnoty účtu",
"add_signer": "Přidat podepisovatele", "add_signer": "Přidat podepisovatele",
@ -924,8 +940,10 @@
"title": "POČET SLOV" "title": "POČET SLOV"
}, },
"words": { "words": {
"account": "Účet",
"are_you_sure": "Jste si jisti?", "are_you_sure": "Jste si jisti?",
"array_of": "Pole o", "array_of": "Pole o",
"blockhash": "Blockhash",
"buying": "Koupit", "buying": "Koupit",
"confirm": "Potvrdit", "confirm": "Potvrdit",
"contains": "Obsahuje", "contains": "Obsahuje",
@ -940,7 +958,9 @@
"please_check_again": "Zkontrolujte to prosím znovu", "please_check_again": "Zkontrolujte to prosím znovu",
"please_try_again": "Zkuste to prosím znovu", "please_try_again": "Zkuste to prosím znovu",
"really_wanna": "Opravdu chcete", "really_wanna": "Opravdu chcete",
"recipient": "Příjemce",
"sign": "Podepsat", "sign": "Podepsat",
"signer": "Signer",
"title_check": "KONTROLA", "title_check": "KONTROLA",
"title_group": "SKUPINA", "title_group": "SKUPINA",
"title_information": "INFORMACE", "title_information": "INFORMACE",
@ -951,7 +971,8 @@
"title_summary": "SHRNUTÍ", "title_summary": "SHRNUTÍ",
"title_threshold": "PRÁH", "title_threshold": "PRÁH",
"unknown": "Neznámý", "unknown": "Neznámý",
"warning": "Varování" "warning": "Varování",
"writable": "Zapisovatelný"
} }
} }
} }

View File

@ -83,6 +83,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
buttons__access: "PŘÍSTUP", buttons__access: "PŘÍSTUP",
buttons__again: "ZNOVU", buttons__again: "ZNOVU",
buttons__allow: "DOVOLIT", buttons__allow: "DOVOLIT",
buttons__back: "ZADNÍ",
buttons__back_up: "ZÁLOHOVAT", buttons__back_up: "ZÁLOHOVAT",
buttons__cancel: "ZRUŠIT", buttons__cancel: "ZRUŠIT",
buttons__change: "ZMĚNIT", buttons__change: "ZMĚNIT",
@ -110,6 +111,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
buttons__select: "VYBRAT", buttons__select: "VYBRAT",
buttons__set: "NASTAVIT", buttons__set: "NASTAVIT",
buttons__show_all: "UKÁZAT VŠE", buttons__show_all: "UKÁZAT VŠE",
buttons__show_details: "UKÁZAT DETAILY",
buttons__show_words: "UKÁZAT SLOVA", buttons__show_words: "UKÁZAT SLOVA",
buttons__skip: "PŘESKOČIT", buttons__skip: "PŘESKOČIT",
buttons__try_again: "ZKUSIT ZNOVU", buttons__try_again: "ZKUSIT ZNOVU",
@ -692,7 +694,19 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
sign_message__confirm_message: "POTVRDIT ZPRÁVU", sign_message__confirm_message: "POTVRDIT ZPRÁVU",
sign_message__message_size: "Velikost zprávy:", sign_message__message_size: "Velikost zprávy:",
sign_message__verify_address: "Ověřte adresu", sign_message__verify_address: "Ověřte adresu",
stellar__account: "Účet", solana__account_index: "Index účtu",
solana__associated_token_account: "Přidružený účet tokenů",
solana__confirm_multisig: "Potvrďte multisig",
solana__expected_fee: "Očekávaný poplatek",
solana__instruction_accounts_template: "Instrukce obsahuje {} účty a její data jsou {} bajty dlouhé.",
solana__instruction_data: "Instruktážní data",
solana__instruction_is_multisig: "Následující instrukce je instrukce multisig.",
solana__is_provided_via_lookup_table_template: "{} je poskytován prostřednictvím vyhledávací tabulky.",
solana__lookup_table_address: "Adresa tabulky vyhledávání",
solana__multiple_signers: "Více signatářů",
solana__token_address: "Adresa tokenů",
solana__transaction_contains_unknown_instructions: "Transakce obsahuje neznámé pokyny.",
solana__transaction_requires_x_signers_template: "Transakce vyžaduje {} signatáři, který zvyšuje poplatek.",
stellar__account_merge: "Sloučení účtů", stellar__account_merge: "Sloučení účtů",
stellar__account_thresholds: "Práhové hodnoty účtu", stellar__account_thresholds: "Práhové hodnoty účtu",
stellar__add_signer: "Přidat podepisovatele", stellar__add_signer: "Přidat podepisovatele",
@ -810,8 +824,10 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
wipe_code__turn_on: "Zapnout ochranu kódem pro vymazání?", wipe_code__turn_on: "Zapnout ochranu kódem pro vymazání?",
wipe_code__wipe_code_mismatch: "NESHODA KÓDU PRO VYMAZÁNÍ", wipe_code__wipe_code_mismatch: "NESHODA KÓDU PRO VYMAZÁNÍ",
word_count__title: "POČET SLOV", word_count__title: "POČET SLOV",
words__account: "Účet",
words__are_you_sure: "Jste si jisti?", words__are_you_sure: "Jste si jisti?",
words__array_of: "Pole o", words__array_of: "Pole o",
words__blockhash: "Blockhash",
words__buying: "Koupit", words__buying: "Koupit",
words__confirm: "Potvrdit", words__confirm: "Potvrdit",
words__contains: "Obsahuje", words__contains: "Obsahuje",
@ -826,7 +842,9 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
words__please_check_again: "Zkontrolujte to prosím znovu", words__please_check_again: "Zkontrolujte to prosím znovu",
words__please_try_again: "Zkuste to prosím znovu", words__please_try_again: "Zkuste to prosím znovu",
words__really_wanna: "Opravdu chcete", words__really_wanna: "Opravdu chcete",
words__recipient: "Příjemce",
words__sign: "Podepsat", words__sign: "Podepsat",
words__signer: "Signer",
words__title_check: "KONTROLA", words__title_check: "KONTROLA",
words__title_group: "SKUPINA", words__title_group: "SKUPINA",
words__title_information: "INFORMACE", words__title_information: "INFORMACE",
@ -838,4 +856,5 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
words__title_threshold: "PRÁH", words__title_threshold: "PRÁH",
words__unknown: "Neznámý", words__unknown: "Neznámý",
words__warning: "Varování", words__warning: "Varování",
words__writable: "Zapisovatelný",
}; };

View File

@ -95,6 +95,7 @@
"access": "ACCESS", "access": "ACCESS",
"again": "AGAIN", "again": "AGAIN",
"allow": "ALLOW", "allow": "ALLOW",
"back": "BACK",
"back_up": "BACK UP", "back_up": "BACK UP",
"cancel": "CANCEL", "cancel": "CANCEL",
"change": "CHANGE", "change": "CHANGE",
@ -122,6 +123,7 @@
"select": "SELECT", "select": "SELECT",
"set": "SET", "set": "SET",
"show_all": "SHOW ALL", "show_all": "SHOW ALL",
"show_details": "SHOW DETAILS",
"show_words": "SHOW WORDS", "show_words": "SHOW WORDS",
"skip": "SKIP", "skip": "SKIP",
"try_again": "TRY AGAIN", "try_again": "TRY AGAIN",
@ -773,8 +775,22 @@
"message_size": "Message size:", "message_size": "Message size:",
"verify_address": "VERIFY ADDRESS" "verify_address": "VERIFY ADDRESS"
}, },
"solana": {
"account_index": "Account index",
"associated_token_account": "Associated token account",
"confirm_multisig": "Confirm multisig",
"expected_fee": "Expected fee",
"instruction_accounts_template": "Instruction contains {} accounts and its data is {} bytes long.",
"instruction_data": "Instruction data",
"instruction_is_multisig": "The following instruction is a multisig instruction.",
"is_provided_via_lookup_table_template": "{} is provided via a lookup table.",
"lookup_table_address": "Lookup table address",
"multiple_signers": "Multiple signers",
"token_address": "Token address",
"transaction_contains_unknown_instructions": "Transaction contains unknown instructions.",
"transaction_requires_x_signers_template": "Transaction requires {} signers which increases the fee."
},
"stellar": { "stellar": {
"account": "Account",
"account_merge": "Account Merge", "account_merge": "Account Merge",
"account_thresholds": "Account Thresholds", "account_thresholds": "Account Thresholds",
"add_signer": "Add Signer", "add_signer": "Add Signer",
@ -782,8 +798,10 @@
"all_will_be_sent_to": "All XLM will be sent to:", "all_will_be_sent_to": "All XLM will be sent to:",
"allow_trust": "Allow trust", "allow_trust": "Allow trust",
"asset": "Asset", "asset": "Asset",
"balance_id": "Balance ID",
"bump_sequence": "Bump Sequence", "bump_sequence": "Bump Sequence",
"buying": "Buying:", "buying": "Buying:",
"claim_claimable_balance": "Claim Claimable Balance",
"clear_data": "Clear data", "clear_data": "Clear data",
"clear_flags": "Clear flags", "clear_flags": "Clear flags",
"confirm_issuer": "Confirm Issuer", "confirm_issuer": "Confirm Issuer",
@ -906,14 +924,17 @@
"title": "NUMBER OF WORDS" "title": "NUMBER OF WORDS"
}, },
"words": { "words": {
"account": "Account",
"are_you_sure": "Are you sure?", "are_you_sure": "Are you sure?",
"array_of": "Array of", "array_of": "Array of",
"blockhash": "Blockhash",
"buying": "Buying", "buying": "Buying",
"confirm": "Confirm", "confirm": "Confirm",
"contains": "Contains", "contains": "Contains",
"continue_anyway": "Continue anyway?", "continue_anyway": "Continue anyway?",
"continue_with": "Continue with", "continue_with": "Continue with",
"error": "Error", "error": "Error",
"fee": "Fee",
"from": "from", "from": "from",
"keep_it_safe": "Keep it safe!", "keep_it_safe": "Keep it safe!",
"know_what_your_doing": "Continue only if you know what you are doing!", "know_what_your_doing": "Continue only if you know what you are doing!",
@ -922,7 +943,9 @@
"please_check_again": "Please check again", "please_check_again": "Please check again",
"please_try_again": "Please try again", "please_try_again": "Please try again",
"really_wanna": "Do you really want to", "really_wanna": "Do you really want to",
"recipient": "Recipient",
"sign": "Sign", "sign": "Sign",
"signer": "Signer",
"title_check": "CHECK", "title_check": "CHECK",
"title_group": "GROUP", "title_group": "GROUP",
"title_information": "INFORMATION", "title_information": "INFORMATION",
@ -933,7 +956,8 @@
"title_summary": "SUMMARY", "title_summary": "SUMMARY",
"title_threshold": "THRESHOLD", "title_threshold": "THRESHOLD",
"unknown": "Unknown", "unknown": "Unknown",
"warning": "Warning" "warning": "Warning",
"writable": "Writable"
} }
} }
} }

View File

@ -80,6 +80,7 @@ pub const EN_TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
buttons__access: "ACCESS", buttons__access: "ACCESS",
buttons__again: "AGAIN", buttons__again: "AGAIN",
buttons__allow: "ALLOW", buttons__allow: "ALLOW",
buttons__back: "BACK",
buttons__back_up: "BACK UP", buttons__back_up: "BACK UP",
buttons__cancel: "CANCEL", buttons__cancel: "CANCEL",
buttons__change: "CHANGE", buttons__change: "CHANGE",
@ -107,6 +108,7 @@ pub const EN_TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
buttons__select: "SELECT", buttons__select: "SELECT",
buttons__set: "SET", buttons__set: "SET",
buttons__show_all: "SHOW ALL", buttons__show_all: "SHOW ALL",
buttons__show_details: "SHOW DETAILS",
buttons__show_words: "SHOW WORDS", buttons__show_words: "SHOW WORDS",
buttons__skip: "SKIP", buttons__skip: "SKIP",
buttons__try_again: "TRY AGAIN", buttons__try_again: "TRY AGAIN",
@ -689,7 +691,19 @@ pub const EN_TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
sign_message__confirm_message: "CONFIRM MESSAGE", sign_message__confirm_message: "CONFIRM MESSAGE",
sign_message__message_size: "Message size:", sign_message__message_size: "Message size:",
sign_message__verify_address: "VERIFY ADDRESS", sign_message__verify_address: "VERIFY ADDRESS",
stellar__account: "Account", solana__account_index: "Account index",
solana__associated_token_account: "Associated token account",
solana__confirm_multisig: "Confirm multisig",
solana__expected_fee: "Expected fee",
solana__instruction_accounts_template: "Instruction contains {} accounts and its data is {} bytes long.",
solana__instruction_data: "Instruction data",
solana__instruction_is_multisig: "The following instruction is a multisig instruction.",
solana__is_provided_via_lookup_table_template: "{} is provided via a lookup table.",
solana__lookup_table_address: "Lookup table address",
solana__multiple_signers: "Multiple signers",
solana__token_address: "Token address",
solana__transaction_contains_unknown_instructions: "Transaction contains unknown instructions.",
solana__transaction_requires_x_signers_template: "Transaction requires {} signers which increases the fee.",
stellar__account_merge: "Account Merge", stellar__account_merge: "Account Merge",
stellar__account_thresholds: "Account Thresholds", stellar__account_thresholds: "Account Thresholds",
stellar__add_signer: "Add Signer", stellar__add_signer: "Add Signer",
@ -697,8 +711,10 @@ pub const EN_TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
stellar__all_will_be_sent_to: "All XLM will be sent to:", stellar__all_will_be_sent_to: "All XLM will be sent to:",
stellar__allow_trust: "Allow trust", stellar__allow_trust: "Allow trust",
stellar__asset: "Asset", stellar__asset: "Asset",
stellar__balance_id: "Balance ID",
stellar__bump_sequence: "Bump Sequence", stellar__bump_sequence: "Bump Sequence",
stellar__buying: "Buying:", stellar__buying: "Buying:",
stellar__claim_claimable_balance: "Claim Claimable Balance",
stellar__clear_data: "Clear data", stellar__clear_data: "Clear data",
stellar__clear_flags: "Clear flags", stellar__clear_flags: "Clear flags",
stellar__confirm_issuer: "Confirm Issuer", stellar__confirm_issuer: "Confirm Issuer",
@ -807,14 +823,17 @@ pub const EN_TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
wipe_code__turn_on: "Turn on wipe code protection?", wipe_code__turn_on: "Turn on wipe code protection?",
wipe_code__wipe_code_mismatch: "Wipe code mismatch", wipe_code__wipe_code_mismatch: "Wipe code mismatch",
word_count__title: "NUMBER OF WORDS", word_count__title: "NUMBER OF WORDS",
words__account: "Account",
words__are_you_sure: "Are you sure?", words__are_you_sure: "Are you sure?",
words__array_of: "Array of", words__array_of: "Array of",
words__blockhash: "Blockhash",
words__buying: "Buying", words__buying: "Buying",
words__confirm: "Confirm", words__confirm: "Confirm",
words__contains: "Contains", words__contains: "Contains",
words__continue_anyway: "Continue anyway?", words__continue_anyway: "Continue anyway?",
words__continue_with: "Continue with", words__continue_with: "Continue with",
words__error: "Error", words__error: "Error",
words__fee: "Fee",
words__from: "from", words__from: "from",
words__keep_it_safe: "Keep it safe!", words__keep_it_safe: "Keep it safe!",
words__know_what_your_doing: "Continue only if you know what you are doing!", words__know_what_your_doing: "Continue only if you know what you are doing!",
@ -823,7 +842,9 @@ pub const EN_TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
words__please_check_again: "Please check again", words__please_check_again: "Please check again",
words__please_try_again: "Please try again", words__please_try_again: "Please try again",
words__really_wanna: "Do you really want to", words__really_wanna: "Do you really want to",
words__recipient: "Recipient",
words__sign: "Sign", words__sign: "Sign",
words__signer: "Signer",
words__title_check: "CHECK", words__title_check: "CHECK",
words__title_group: "GROUP", words__title_group: "GROUP",
words__title_information: "INFORMATION", words__title_information: "INFORMATION",
@ -835,4 +856,5 @@ pub const EN_TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
words__title_threshold: "THRESHOLD", words__title_threshold: "THRESHOLD",
words__unknown: "Unknown", words__unknown: "Unknown",
words__warning: "Warning", words__warning: "Warning",
words__writable: "Writable",
}; };

View File

@ -91,6 +91,7 @@ pub static mp_module_trezortranslate: Module = obj_module! {
/// buttons__access: str /// buttons__access: str
/// buttons__again: str /// buttons__again: str
/// buttons__allow: str /// buttons__allow: str
/// buttons__back: str
/// buttons__back_up: str /// buttons__back_up: str
/// buttons__cancel: str /// buttons__cancel: str
/// buttons__change: str /// buttons__change: str
@ -118,6 +119,7 @@ pub static mp_module_trezortranslate: Module = obj_module! {
/// buttons__select: str /// buttons__select: str
/// buttons__set: str /// buttons__set: str
/// buttons__show_all: str /// buttons__show_all: str
/// buttons__show_details: str
/// buttons__show_words: str /// buttons__show_words: str
/// buttons__skip: str /// buttons__skip: str
/// buttons__try_again: str /// buttons__try_again: str
@ -700,7 +702,19 @@ pub static mp_module_trezortranslate: Module = obj_module! {
/// sign_message__confirm_message: str /// sign_message__confirm_message: str
/// sign_message__message_size: str /// sign_message__message_size: str
/// sign_message__verify_address: str /// sign_message__verify_address: str
/// stellar__account: str /// solana__account_index: str
/// solana__associated_token_account: str
/// solana__confirm_multisig: str
/// solana__expected_fee: str
/// solana__instruction_accounts_template: str
/// solana__instruction_data: str
/// solana__instruction_is_multisig: str
/// solana__is_provided_via_lookup_table_template: str
/// solana__lookup_table_address: str
/// solana__multiple_signers: str
/// solana__token_address: str
/// solana__transaction_contains_unknown_instructions: str
/// solana__transaction_requires_x_signers_template: str
/// stellar__account_merge: str /// stellar__account_merge: str
/// stellar__account_thresholds: str /// stellar__account_thresholds: str
/// stellar__add_signer: str /// stellar__add_signer: str
@ -708,8 +722,10 @@ pub static mp_module_trezortranslate: Module = obj_module! {
/// stellar__all_will_be_sent_to: str /// stellar__all_will_be_sent_to: str
/// stellar__allow_trust: str /// stellar__allow_trust: str
/// stellar__asset: str /// stellar__asset: str
/// stellar__balance_id: str
/// stellar__bump_sequence: str /// stellar__bump_sequence: str
/// stellar__buying: str /// stellar__buying: str
/// stellar__claim_claimable_balance: str
/// stellar__clear_data: str /// stellar__clear_data: str
/// stellar__clear_flags: str /// stellar__clear_flags: str
/// stellar__confirm_issuer: str /// stellar__confirm_issuer: str
@ -818,14 +834,17 @@ pub static mp_module_trezortranslate: Module = obj_module! {
/// wipe_code__turn_on: str /// wipe_code__turn_on: str
/// wipe_code__wipe_code_mismatch: str /// wipe_code__wipe_code_mismatch: str
/// word_count__title: str /// word_count__title: str
/// words__account: str
/// words__are_you_sure: str /// words__are_you_sure: str
/// words__array_of: str /// words__array_of: str
/// words__blockhash: str
/// words__buying: str /// words__buying: str
/// words__confirm: str /// words__confirm: str
/// words__contains: str /// words__contains: str
/// words__continue_anyway: str /// words__continue_anyway: str
/// words__continue_with: str /// words__continue_with: str
/// words__error: str /// words__error: str
/// words__fee: str
/// words__from: str /// words__from: str
/// words__keep_it_safe: str /// words__keep_it_safe: str
/// words__know_what_your_doing: str /// words__know_what_your_doing: str
@ -834,7 +853,9 @@ pub static mp_module_trezortranslate: Module = obj_module! {
/// words__please_check_again: str /// words__please_check_again: str
/// words__please_try_again: str /// words__please_try_again: str
/// words__really_wanna: str /// words__really_wanna: str
/// words__recipient: str
/// words__sign: str /// words__sign: str
/// words__signer: str
/// words__title_check: str /// words__title_check: str
/// words__title_group: str /// words__title_group: str
/// words__title_information: str /// words__title_information: str
@ -846,5 +867,6 @@ pub static mp_module_trezortranslate: Module = obj_module! {
/// words__title_threshold: str /// words__title_threshold: str
/// words__unknown: str /// words__unknown: str
/// words__warning: str /// words__warning: str
/// words__writable: str
Qstr::MP_QSTR_TR => TR_OBJ.as_obj(), Qstr::MP_QSTR_TR => TR_OBJ.as_obj(),
}; };

View File

@ -113,6 +113,7 @@
"access": "ACCÉDER", "access": "ACCÉDER",
"again": "ENCORE", "again": "ENCORE",
"allow": "PERMETTRE", "allow": "PERMETTRE",
"back": "DOS",
"back_up": "SAUVEGARDE", "back_up": "SAUVEGARDE",
"cancel": "ANNULER", "cancel": "ANNULER",
"change": "CHANGEMENT", "change": "CHANGEMENT",
@ -140,6 +141,7 @@
"select": "SÉLECTIONNER", "select": "SÉLECTIONNER",
"set": "ENSEMBLE", "set": "ENSEMBLE",
"show_all": "AFFICHER TOUT", "show_all": "AFFICHER TOUT",
"show_details": "AFFICHER LES DÉTAILS",
"show_words": "MONTRER DES MOTS", "show_words": "MONTRER DES MOTS",
"skip": "SAUTER", "skip": "SAUTER",
"try_again": "ESSAYER À NOUVEAU", "try_again": "ESSAYER À NOUVEAU",
@ -791,8 +793,22 @@
"message_size": "Taille du message:", "message_size": "Taille du message:",
"verify_address": "Vérifier l'adresse" "verify_address": "Vérifier l'adresse"
}, },
"solana": {
"account_index": "Indice du compte",
"associated_token_account": "Compte de jeton associé",
"confirm_multisig": "Confirmer Multisig",
"expected_fee": "Frais attendus",
"instruction_accounts_template": "L'instruction contient des comptes {} et ses données sont {} octets longs.",
"instruction_data": "Données d'instructions",
"instruction_is_multisig": "L'instruction suivante est une instruction multisig.",
"is_provided_via_lookup_table_template": "{} est fourni via une table de recherche.",
"lookup_table_address": "Adresse de table de recherche",
"multiple_signers": "Signataires multiples",
"token_address": "Adresse de jeton",
"transaction_contains_unknown_instructions": "La transaction contient des instructions inconnues.",
"transaction_requires_x_signers_template": "La transaction nécessite des signataires {} qui augmentent les frais."
},
"stellar": { "stellar": {
"account": "Compte",
"account_merge": "Fusion du compte", "account_merge": "Fusion du compte",
"account_thresholds": "Seuils de compte", "account_thresholds": "Seuils de compte",
"add_signer": "Ajouter le signataire", "add_signer": "Ajouter le signataire",
@ -924,8 +940,10 @@
"title": "NOMBRE DE MOTS" "title": "NOMBRE DE MOTS"
}, },
"words": { "words": {
"account": "Compte",
"are_you_sure": "Es-tu sûr?", "are_you_sure": "Es-tu sûr?",
"array_of": "Tableau de", "array_of": "Tableau de",
"blockhash": "Blockhash",
"buying": "Achat", "buying": "Achat",
"confirm": "Confirmer", "confirm": "Confirmer",
"contains": "contient", "contains": "contient",
@ -940,7 +958,9 @@
"please_check_again": "Veuillez vérifier à nouveau", "please_check_again": "Veuillez vérifier à nouveau",
"please_try_again": "Veuillez réessayer", "please_try_again": "Veuillez réessayer",
"really_wanna": "Voulez-vous vraiment", "really_wanna": "Voulez-vous vraiment",
"recipient": "Destinataire",
"sign": "Signe", "sign": "Signe",
"signer": "Signataire",
"title_check": "VÉRIFIER", "title_check": "VÉRIFIER",
"title_group": "GROUPE", "title_group": "GROUPE",
"title_information": "INFORMATION", "title_information": "INFORMATION",
@ -951,7 +971,8 @@
"title_summary": "RÉSUMÉ", "title_summary": "RÉSUMÉ",
"title_threshold": "SEUIL", "title_threshold": "SEUIL",
"unknown": "Inconnu", "unknown": "Inconnu",
"warning": "Avertissement" "warning": "Avertissement",
"writable": "Scrutin"
} }
} }
} }

View File

@ -83,6 +83,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
buttons__access: "ACCÉDER", buttons__access: "ACCÉDER",
buttons__again: "ENCORE", buttons__again: "ENCORE",
buttons__allow: "PERMETTRE", buttons__allow: "PERMETTRE",
buttons__back: "DOS",
buttons__back_up: "SAUVEGARDE", buttons__back_up: "SAUVEGARDE",
buttons__cancel: "ANNULER", buttons__cancel: "ANNULER",
buttons__change: "CHANGEMENT", buttons__change: "CHANGEMENT",
@ -110,6 +111,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
buttons__select: "SÉLECTIONNER", buttons__select: "SÉLECTIONNER",
buttons__set: "ENSEMBLE", buttons__set: "ENSEMBLE",
buttons__show_all: "AFFICHER TOUT", buttons__show_all: "AFFICHER TOUT",
buttons__show_details: "AFFICHER LES DÉTAILS",
buttons__show_words: "MONTRER DES MOTS", buttons__show_words: "MONTRER DES MOTS",
buttons__skip: "SAUTER", buttons__skip: "SAUTER",
buttons__try_again: "ESSAYER À NOUVEAU", buttons__try_again: "ESSAYER À NOUVEAU",
@ -692,7 +694,19 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
sign_message__confirm_message: "Confirmer le message", sign_message__confirm_message: "Confirmer le message",
sign_message__message_size: "Taille du message:", sign_message__message_size: "Taille du message:",
sign_message__verify_address: "Vérifier l'adresse", sign_message__verify_address: "Vérifier l'adresse",
stellar__account: "Compte", solana__account_index: "Indice du compte",
solana__associated_token_account: "Compte de jeton associé",
solana__confirm_multisig: "Confirmer Multisig",
solana__expected_fee: "Frais attendus",
solana__instruction_accounts_template: "L'instruction contient des comptes {} et ses données sont {} octets longs.",
solana__instruction_data: "Données d'instructions",
solana__instruction_is_multisig: "L'instruction suivante est une instruction multisig.",
solana__is_provided_via_lookup_table_template: "{} est fourni via une table de recherche.",
solana__lookup_table_address: "Adresse de table de recherche",
solana__multiple_signers: "Signataires multiples",
solana__token_address: "Adresse de jeton",
solana__transaction_contains_unknown_instructions: "La transaction contient des instructions inconnues.",
solana__transaction_requires_x_signers_template: "La transaction nécessite des signataires {} qui augmentent les frais.",
stellar__account_merge: "Fusion du compte", stellar__account_merge: "Fusion du compte",
stellar__account_thresholds: "Seuils de compte", stellar__account_thresholds: "Seuils de compte",
stellar__add_signer: "Ajouter le signataire", stellar__add_signer: "Ajouter le signataire",
@ -810,8 +824,10 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
wipe_code__turn_on: "Activer la protection du code d'essuyage?", wipe_code__turn_on: "Activer la protection du code d'essuyage?",
wipe_code__wipe_code_mismatch: "Effacer le décalage du code", wipe_code__wipe_code_mismatch: "Effacer le décalage du code",
word_count__title: "NOMBRE DE MOTS", word_count__title: "NOMBRE DE MOTS",
words__account: "Compte",
words__are_you_sure: "Es-tu sûr?", words__are_you_sure: "Es-tu sûr?",
words__array_of: "Tableau de", words__array_of: "Tableau de",
words__blockhash: "Blockhash",
words__buying: "Achat", words__buying: "Achat",
words__confirm: "Confirmer", words__confirm: "Confirmer",
words__contains: "contient", words__contains: "contient",
@ -826,7 +842,9 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
words__please_check_again: "Veuillez vérifier à nouveau", words__please_check_again: "Veuillez vérifier à nouveau",
words__please_try_again: "Veuillez réessayer", words__please_try_again: "Veuillez réessayer",
words__really_wanna: "Voulez-vous vraiment", words__really_wanna: "Voulez-vous vraiment",
words__recipient: "Destinataire",
words__sign: "Signe", words__sign: "Signe",
words__signer: "Signataire",
words__title_check: "VÉRIFIER", words__title_check: "VÉRIFIER",
words__title_group: "GROUPE", words__title_group: "GROUPE",
words__title_information: "INFORMATION", words__title_information: "INFORMATION",
@ -838,4 +856,5 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
words__title_threshold: "SEUIL", words__title_threshold: "SEUIL",
words__unknown: "Inconnu", words__unknown: "Inconnu",
words__warning: "Avertissement", words__warning: "Avertissement",
words__writable: "Scrutin",
}; };

View File

@ -677,7 +677,6 @@ pub struct TranslationsGeneral {
pub sign_message__confirm_message: &'static str, pub sign_message__confirm_message: &'static str,
pub sign_message__message_size: &'static str, pub sign_message__message_size: &'static str,
pub sign_message__verify_address: &'static str, pub sign_message__verify_address: &'static str,
pub stellar__account: &'static str,
pub stellar__account_merge: &'static str, pub stellar__account_merge: &'static str,
pub stellar__account_thresholds: &'static str, pub stellar__account_thresholds: &'static str,
pub stellar__add_signer: &'static str, pub stellar__add_signer: &'static str,
@ -834,6 +833,29 @@ pub struct TranslationsGeneral {
pub plurals__lock_after_x_minutes: &'static str, pub plurals__lock_after_x_minutes: &'static str,
pub plurals__lock_after_x_seconds: &'static str, pub plurals__lock_after_x_seconds: &'static str,
pub words__confirm: &'static str, pub words__confirm: &'static str,
pub buttons__back: &'static str,
pub buttons__show_details: &'static str,
pub solana__account_index: &'static str,
pub solana__associated_token_account: &'static str,
pub solana__confirm_multisig: &'static str,
pub solana__expected_fee: &'static str,
pub solana__instruction_accounts_template: &'static str,
pub solana__instruction_data: &'static str,
pub solana__instruction_is_multisig: &'static str,
pub solana__is_provided_via_lookup_table_template: &'static str,
pub solana__lookup_table_address: &'static str,
pub solana__multiple_signers: &'static str,
pub solana__token_address: &'static str,
pub solana__transaction_contains_unknown_instructions: &'static str,
pub solana__transaction_requires_x_signers_template: &'static str,
pub stellar__balance_id: &'static str,
pub stellar__claim_claimable_balance: &'static str,
pub words__account: &'static str,
pub words__blockhash: &'static str,
pub words__fee: &'static str,
pub words__recipient: &'static str,
pub words__signer: &'static str,
pub words__writable: &'static str,
} }
#[rustfmt::skip] #[rustfmt::skip]
@ -1520,7 +1542,6 @@ impl TranslationsGeneral {
"sign_message__confirm_message" => Some((self.sign_message__confirm_message, 672)), "sign_message__confirm_message" => Some((self.sign_message__confirm_message, 672)),
"sign_message__message_size" => Some((self.sign_message__message_size, 673)), "sign_message__message_size" => Some((self.sign_message__message_size, 673)),
"sign_message__verify_address" => Some((self.sign_message__verify_address, 674)), "sign_message__verify_address" => Some((self.sign_message__verify_address, 674)),
"stellar__account" => Some((self.stellar__account, 675)),
"stellar__account_merge" => Some((self.stellar__account_merge, 676)), "stellar__account_merge" => Some((self.stellar__account_merge, 676)),
"stellar__account_thresholds" => Some((self.stellar__account_thresholds, 677)), "stellar__account_thresholds" => Some((self.stellar__account_thresholds, 677)),
"stellar__add_signer" => Some((self.stellar__add_signer, 678)), "stellar__add_signer" => Some((self.stellar__add_signer, 678)),
@ -1677,6 +1698,29 @@ impl TranslationsGeneral {
"plurals__lock_after_x_minutes" => Some((self.plurals__lock_after_x_minutes, 829)), "plurals__lock_after_x_minutes" => Some((self.plurals__lock_after_x_minutes, 829)),
"plurals__lock_after_x_seconds" => Some((self.plurals__lock_after_x_seconds, 830)), "plurals__lock_after_x_seconds" => Some((self.plurals__lock_after_x_seconds, 830)),
"words__confirm" => Some((self.words__confirm, 831)), "words__confirm" => Some((self.words__confirm, 831)),
"buttons__back" => Some((self.buttons__back, 832)),
"buttons__show_details" => Some((self.buttons__show_details, 833)),
"solana__account_index" => Some((self.solana__account_index, 834)),
"solana__associated_token_account" => Some((self.solana__associated_token_account, 835)),
"solana__confirm_multisig" => Some((self.solana__confirm_multisig, 836)),
"solana__expected_fee" => Some((self.solana__expected_fee, 837)),
"solana__instruction_accounts_template" => Some((self.solana__instruction_accounts_template, 838)),
"solana__instruction_data" => Some((self.solana__instruction_data, 839)),
"solana__instruction_is_multisig" => Some((self.solana__instruction_is_multisig, 840)),
"solana__is_provided_via_lookup_table_template" => Some((self.solana__is_provided_via_lookup_table_template, 841)),
"solana__lookup_table_address" => Some((self.solana__lookup_table_address, 842)),
"solana__multiple_signers" => Some((self.solana__multiple_signers, 843)),
"solana__token_address" => Some((self.solana__token_address, 844)),
"solana__transaction_contains_unknown_instructions" => Some((self.solana__transaction_contains_unknown_instructions, 845)),
"solana__transaction_requires_x_signers_template" => Some((self.solana__transaction_requires_x_signers_template, 846)),
"stellar__balance_id" => Some((self.stellar__balance_id, 847)),
"stellar__claim_claimable_balance" => Some((self.stellar__claim_claimable_balance, 848)),
"words__account" => Some((self.words__account, 849)),
"words__blockhash" => Some((self.words__blockhash, 850)),
"words__fee" => Some((self.words__fee, 851)),
"words__recipient" => Some((self.words__recipient, 852)),
"words__signer" => Some((self.words__signer, 853)),
"words__writable" => Some((self.words__writable, 854)),
_ => None, _ => None,
} }
} }

View File

@ -830,5 +830,28 @@
"828": "plurals__lock_after_x_milliseconds", "828": "plurals__lock_after_x_milliseconds",
"829": "plurals__lock_after_x_minutes", "829": "plurals__lock_after_x_minutes",
"830": "plurals__lock_after_x_seconds", "830": "plurals__lock_after_x_seconds",
"831": "words__confirm" "831": "words__confirm",
"832": "buttons__back",
"833": "buttons__show_details",
"834": "solana__account_index",
"835": "solana__associated_token_account",
"836": "solana__confirm_multisig",
"837": "solana__expected_fee",
"838": "solana__instruction_accounts_template",
"839": "solana__instruction_data",
"840": "solana__instruction_is_multisig",
"841": "solana__is_provided_via_lookup_table_template",
"842": "solana__lookup_table_address",
"843": "solana__multiple_signers",
"844": "solana__token_address",
"845": "solana__transaction_contains_unknown_instructions",
"846": "solana__transaction_requires_x_signers_template",
"847": "stellar__balance_id",
"848": "stellar__claim_claimable_balance",
"849": "words__account",
"850": "words__blockhash",
"851": "words__fee",
"852": "words__recipient",
"853": "words__signer",
"854": "words__writable"
} }

View File

@ -83,6 +83,7 @@ class TR:
buttons__access: str buttons__access: str
buttons__again: str buttons__again: str
buttons__allow: str buttons__allow: str
buttons__back: str
buttons__back_up: str buttons__back_up: str
buttons__cancel: str buttons__cancel: str
buttons__change: str buttons__change: str
@ -110,6 +111,7 @@ class TR:
buttons__select: str buttons__select: str
buttons__set: str buttons__set: str
buttons__show_all: str buttons__show_all: str
buttons__show_details: str
buttons__show_words: str buttons__show_words: str
buttons__skip: str buttons__skip: str
buttons__try_again: str buttons__try_again: str
@ -692,7 +694,19 @@ class TR:
sign_message__confirm_message: str sign_message__confirm_message: str
sign_message__message_size: str sign_message__message_size: str
sign_message__verify_address: str sign_message__verify_address: str
stellar__account: str solana__account_index: str
solana__associated_token_account: str
solana__confirm_multisig: str
solana__expected_fee: str
solana__instruction_accounts_template: str
solana__instruction_data: str
solana__instruction_is_multisig: str
solana__is_provided_via_lookup_table_template: str
solana__lookup_table_address: str
solana__multiple_signers: str
solana__token_address: str
solana__transaction_contains_unknown_instructions: str
solana__transaction_requires_x_signers_template: str
stellar__account_merge: str stellar__account_merge: str
stellar__account_thresholds: str stellar__account_thresholds: str
stellar__add_signer: str stellar__add_signer: str
@ -700,8 +714,10 @@ class TR:
stellar__all_will_be_sent_to: str stellar__all_will_be_sent_to: str
stellar__allow_trust: str stellar__allow_trust: str
stellar__asset: str stellar__asset: str
stellar__balance_id: str
stellar__bump_sequence: str stellar__bump_sequence: str
stellar__buying: str stellar__buying: str
stellar__claim_claimable_balance: str
stellar__clear_data: str stellar__clear_data: str
stellar__clear_flags: str stellar__clear_flags: str
stellar__confirm_issuer: str stellar__confirm_issuer: str
@ -810,14 +826,17 @@ class TR:
wipe_code__turn_on: str wipe_code__turn_on: str
wipe_code__wipe_code_mismatch: str wipe_code__wipe_code_mismatch: str
word_count__title: str word_count__title: str
words__account: str
words__are_you_sure: str words__are_you_sure: str
words__array_of: str words__array_of: str
words__blockhash: str
words__buying: str words__buying: str
words__confirm: str words__confirm: str
words__contains: str words__contains: str
words__continue_anyway: str words__continue_anyway: str
words__continue_with: str words__continue_with: str
words__error: str words__error: str
words__fee: str
words__from: str words__from: str
words__keep_it_safe: str words__keep_it_safe: str
words__know_what_your_doing: str words__know_what_your_doing: str
@ -826,7 +845,9 @@ class TR:
words__please_check_again: str words__please_check_again: str
words__please_try_again: str words__please_try_again: str
words__really_wanna: str words__really_wanna: str
words__recipient: str
words__sign: str words__sign: str
words__signer: str
words__title_check: str words__title_check: str
words__title_group: str words__title_group: str
words__title_information: str words__title_information: str
@ -838,3 +859,4 @@ class TR:
words__title_threshold: str words__title_threshold: str
words__unknown: str words__unknown: str
words__warning: str words__warning: str
words__writable: str

View File

@ -9,6 +9,7 @@ from trezor.ui.layouts import (
confirm_solana_tx, confirm_solana_tx,
confirm_value, confirm_value,
) )
from trezortranslate import TR
from apps.common.paths import address_n_to_str from apps.common.paths import address_n_to_str
@ -34,9 +35,9 @@ def _format_path(path: list[int]) -> str:
def _get_address_reference_props(address: AddressReference, display_name: str): def _get_address_reference_props(address: AddressReference, display_name: str):
return ( return (
(f"{display_name} is provided via a lookup table.", ""), (TR.solana__is_provided_via_lookup_table_template.format(display_name), ""),
("Lookup table address:", base58.encode(address[0])), (f"{TR.solana__lookup_table_address}:", base58.encode(address[0])),
("Account index:", f"{address[1]}"), (f"{TR.solana__account_index}:", f"{address[1]}"),
) )
@ -100,7 +101,7 @@ async def confirm_instruction(
if len(account_value) == 2: if len(account_value) == 2:
signer_suffix = "" signer_suffix = ""
if account_value[0] == signer_public_key: if account_value[0] == signer_public_key:
signer_suffix = " (Signer)" signer_suffix = f" ({TR.words__signer})"
account_data.append( account_data.append(
( (
@ -126,8 +127,8 @@ async def confirm_instruction(
if instruction.multisig_signers: if instruction.multisig_signers:
await confirm_metadata( await confirm_metadata(
"confirm_multisig", "confirm_multisig",
"Confirm multisig", TR.solana__confirm_multisig,
"The following instruction is a multisig instruction.", TR.solana__instruction_is_multisig,
br_code=ButtonRequestType.Other, br_code=ButtonRequestType.Other,
) )
@ -140,7 +141,7 @@ async def confirm_instruction(
path_str = f" ({address_n_to_str(signer_path)})" path_str = f" ({address_n_to_str(signer_path)})"
signers.append( signers.append(
(f"Signer {i}{path_str}:", base58.encode(multisig_signer[0])) (f"{TR.words__signer} {i}{path_str}:", base58.encode(multisig_signer[0]))
) )
await confirm_properties( await confirm_properties(
@ -152,13 +153,13 @@ async def confirm_instruction(
def get_address_type(address_type: AddressType) -> str: def get_address_type(address_type: AddressType) -> str:
if address_type == AddressType.AddressSig: if address_type == AddressType.AddressSig:
return "(Writable, Signer)" return f"({TR.words__writable}, {TR.words__signer})"
if address_type == AddressType.AddressSigReadOnly: if address_type == AddressType.AddressSigReadOnly:
return "(Signer)" return f"({TR.words__signer})"
if address_type == AddressType.AddressReadOnly: if address_type == AddressType.AddressReadOnly:
return "" return ""
if address_type == AddressType.AddressRw: if address_type == AddressType.AddressRw:
return "(Writable)" return f"({TR.words__writable})"
raise ValueError # Invalid address type raise ValueError # Invalid address type
@ -176,18 +177,18 @@ async def confirm_unsupported_instruction_details(
( (
( (
NORMAL, NORMAL,
f"Instruction contains {len(instruction.accounts)} accounts and its data is {len(instruction.instruction_data)} bytes long.", TR.solana__instruction_accounts_template.format(len(instruction.accounts), len(instruction.instruction_data)),
), ),
), ),
"Show details", TR.buttons__show_details,
confirm="Continue", confirm=TR.buttons__continue,
) )
if should_show_instruction_details: if should_show_instruction_details:
await confirm_properties( await confirm_properties(
"instruction_data", "instruction_data",
title, title,
(("Instruction data:", bytes(instruction.instruction_data)),), ((f"{TR.solana__instruction_data}:", bytes(instruction.instruction_data)),),
) )
accounts = [] accounts = []
@ -202,14 +203,14 @@ async def confirm_unsupported_instruction_details(
accounts.append( accounts.append(
( (
f"Account {i}{path_str} {address_type}:", f"{TR.words__account} {i}{path_str} {address_type}:",
base58.encode(account_public_key), base58.encode(account_public_key),
) )
) )
elif len(account) == 3: elif len(account) == 3:
address_type = get_address_type(account[2]) address_type = get_address_type(account[2])
accounts += _get_address_reference_props( accounts += _get_address_reference_props(
account, f"Account {i} {address_type}" account, f"{TR.words__account} {i} {address_type}"
) )
else: else:
raise ValueError # Invalid account value raise ValueError # Invalid account value
@ -259,12 +260,12 @@ async def confirm_system_transfer(
blockhash: bytes, blockhash: bytes,
) -> None: ) -> None:
await confirm_value( await confirm_value(
title="Recipient", title=TR.words__recipient,
value=base58.encode(transfer_instruction.recipient_account[0]), value=base58.encode(transfer_instruction.recipient_account[0]),
description="", description="",
br_type="confirm_recipient", br_type="confirm_recipient",
br_code=ButtonRequestType.ConfirmOutput, br_code=ButtonRequestType.ConfirmOutput,
verb="CONTINUE", verb=TR.buttons__continue,
) )
await confirm_custom_transaction( await confirm_custom_transaction(
@ -288,24 +289,24 @@ async def confirm_token_transfer(
blockhash: bytes, blockhash: bytes,
): ):
await confirm_value( await confirm_value(
title="Recipient", title=TR.words__recipient,
value=base58.encode(destination_account), value=base58.encode(destination_account),
description="", description="",
br_type="confirm_recipient", br_type="confirm_recipient",
br_code=ButtonRequestType.ConfirmOutput, br_code=ButtonRequestType.ConfirmOutput,
verb="CONTINUE", verb=TR.buttons__continue,
info_items=(("Associated token account:", base58.encode(token_account)),) info_items=((f"{TR.solana__associated_token_account}:", base58.encode(token_account)),)
if token_account != destination_account if token_account != destination_account
else None, else None,
) )
await confirm_value( await confirm_value(
title="Token address", title=TR.solana__token_address,
value=base58.encode(token_mint), value=base58.encode(token_mint),
description="", description="",
br_type="confirm_token_address", br_type="confirm_token_address",
br_code=ButtonRequestType.ConfirmOutput, br_code=ButtonRequestType.ConfirmOutput,
verb="CONTINUE", verb=TR.buttons__continue,
) )
await confirm_custom_transaction( await confirm_custom_transaction(
@ -329,10 +330,10 @@ async def confirm_custom_transaction(
await confirm_solana_tx( await confirm_solana_tx(
amount=f"{format_amount(amount, decimals)} {unit}", amount=f"{format_amount(amount, decimals)} {unit}",
fee=f"{format_amount(fee, 9)} SOL", fee=f"{format_amount(fee, 9)} SOL",
fee_title="Expected fee:", fee_title=f"{TR.solana__expected_fee}:",
items=( items=(
("Account:", _format_path(signer_path)), (f"{TR.words__account}:", _format_path(signer_path)),
("Blockhash:", base58.encode(blockhash)), (f"{TR.words__blockhash}:", base58.encode(blockhash)),
), ),
) )
@ -344,9 +345,9 @@ async def confirm_transaction(
amount="", amount="",
amount_title="", amount_title="",
fee=f"{format_amount(fee, 9)} SOL", fee=f"{format_amount(fee, 9)} SOL",
fee_title="Expected fee:", fee_title=f"{TR.solana__expected_fee}:",
items=( items=(
("Account:", _format_path(signer_path)), (f"{TR.words__account}:", _format_path(signer_path)),
("Blockhash:", base58.encode(blockhash)), (f"{TR.words__blockhash}:", base58.encode(blockhash)),
), ),
) )

View File

@ -22,6 +22,7 @@ async def sign_tx(
from trezor.enums import ButtonRequestType from trezor.enums import ButtonRequestType
from trezor.messages import SolanaTxSignature from trezor.messages import SolanaTxSignature
from trezor.ui.layouts import confirm_metadata, show_warning from trezor.ui.layouts import confirm_metadata, show_warning
from trezortranslate import TR
from apps.common import seed from apps.common import seed
@ -41,14 +42,14 @@ async def sign_tx(
if transaction.blind_signing: if transaction.blind_signing:
await show_warning( await show_warning(
"warning_blind_signing", "Transaction contains unknown instructions." "warning_blind_signing", TR.solana__transaction_contains_unknown_instructions
) )
if transaction.required_signers_count > 1: if transaction.required_signers_count > 1:
await confirm_metadata( await confirm_metadata(
"multiple_signers", "multiple_signers",
"Multiple signers", TR.solana__multiple_signers,
f"Transaction requires {transaction.required_signers_count} signers which increases the fee.", TR.solana__transaction_requires_x_signers_template.format(transaction.required_signers_count),
br_code=ButtonRequestType.Other, br_code=ButtonRequestType.Other,
) )

View File

@ -86,7 +86,7 @@ async def confirm_create_account_op(op: StellarCreateAccountOp) -> None:
"op_create_account", "op_create_account",
TR.stellar__create_account, TR.stellar__create_account,
( (
(TR.stellar__account, op.new_account), (TR.words__account, op.new_account),
(TR.stellar__initial_balance, format_amount(op.starting_balance)), (TR.stellar__initial_balance, format_amount(op.starting_balance)),
), ),
) )
@ -281,7 +281,7 @@ async def confirm_set_options_op(op: StellarSetOptionsOp) -> None:
title = TR.stellar__remove_signer title = TR.stellar__remove_signer
data: str | bytes = "" data: str | bytes = ""
if signer_type == StellarSignerType.ACCOUNT: if signer_type == StellarSignerType.ACCOUNT:
description = f"{TR.stellar__account}:" description = f"{TR.words__account}:"
data = helpers.address_from_public_key(signer_key) data = helpers.address_from_public_key(signer_key)
elif signer_type == StellarSignerType.PRE_AUTH: elif signer_type == StellarSignerType.PRE_AUTH:
description = TR.stellar__preauth_transaction description = TR.stellar__preauth_transaction
@ -306,8 +306,8 @@ async def confirm_claim_claimable_balance_op(
balance_id = hexlify(op.balance_id).decode() balance_id = hexlify(op.balance_id).decode()
await confirm_metadata( await confirm_metadata(
"op_claim_claimable_balance", "op_claim_claimable_balance",
"Claim Claimable Balance", TR.stellar__claim_claimable_balance,
"Balance ID: {}", TR.stellar__balance_id + ": {}",
balance_id, balance_id,
) )

View File

@ -988,8 +988,8 @@ async def confirm_value(
trezorui2.confirm_with_info( trezorui2.confirm_with_info(
title=title.upper(), title=title.upper(),
items=((ui.NORMAL, value),), items=((ui.NORMAL, value),),
button="CONFIRM", button=TR.buttons__confirm,
info_button="INFO", info_button=TR.buttons__info,
) )
) )
@ -1013,7 +1013,7 @@ async def confirm_value(
title=info_title.upper(), title=info_title.upper(),
action=info_value, action=info_value,
description=description, description=description,
verb="BACK", verb=TR.buttons__back,
verb_cancel="<", verb_cancel="<",
hold=False, hold=False,
reverse=False, reverse=False,
@ -1061,11 +1061,13 @@ async def confirm_solana_tx(
amount: str, amount: str,
fee: str, fee: str,
items: Iterable[tuple[str, str]], items: Iterable[tuple[str, str]],
amount_title="Amount:", amount_title: str | None = None,
fee_title="Fee", fee_title: str | None = None,
br_type: str = "confirm_solana_tx", br_type: str = "confirm_solana_tx",
br_code: ButtonRequestType = ButtonRequestType.SignTx, br_code: ButtonRequestType = ButtonRequestType.SignTx,
): ):
amount_title = amount_title or f"{TR.words__amount}:" # def_arg
fee_title = fee_title or TR.words__fee # def_arg
await raise_if_not_confirmed( await raise_if_not_confirmed(
interact( interact(
RustLayout( RustLayout(
@ -1095,9 +1097,9 @@ async def confirm_ethereum_tx(
) -> None: ) -> None:
summary_layout = RustLayout( summary_layout = RustLayout(
trezorui2.altcoin_tx_summary( trezorui2.altcoin_tx_summary(
amount_title="Amount:", amount_title=f"{TR.words__amount}:",
amount_value=total_amount, amount_value=total_amount,
fee_title="Maximum fee:", fee_title=TR.send__maximum_fee,
fee_value=maximum_fee, fee_value=maximum_fee,
items=items, items=items,
) )
@ -1107,9 +1109,9 @@ async def confirm_ethereum_tx(
# Allowing going back and forth between recipient and summary/details # Allowing going back and forth between recipient and summary/details
await confirm_blob( await confirm_blob(
br_type, br_type,
"RECIPIENT", TR.words__recipient,
recipient, recipient,
verb="CONTINUE", verb=TR.buttons__continue,
chunkify=chunkify, chunkify=chunkify,
) )
@ -1178,11 +1180,11 @@ async def confirm_modify_output(
) -> None: ) -> None:
address_layout = RustLayout( address_layout = RustLayout(
trezorui2.confirm_blob( trezorui2.confirm_blob(
title="MODIFY AMOUNT", title=TR.modify_amount__title,
data=address, data=address,
verb="CONTINUE", verb=TR.buttons__continue,
verb_cancel=None, verb_cancel=None,
description="Address:", description=TR.address__address,
extra=None, extra=None,
) )
) )