What changed, and why it matters
This commit only regenerates translation files after some text labels were moved from one category to another (for example, 'Authenticate' and 'Wipe' were changed from general words to button labels). There is no code behavior change, no bug fix, and no security relevance visible in the diff.
No security action needed. Treat as routine localization/generated-file maintenance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit updates generated localization artifacts: a Rust qstr header, a generated translated_string.rs file, a Python mock stub, a translation order JSON, and the signatures.json metadata. The changes consist of moving existing translation keys from the words__* namespace to the buttons__* namespace and updating the signed translation bundle’s merkle root and timestamp. No functional firmware code is modified.
Changed components
core/embed/rust/librust_qstr.hcore/embed/rust/src/translations/generated/translated_string.rscore/mocks/trezortranslate_keys.pyicore/translations/order.jsoncore/translations/signatures.jsonInspect captured patch +6676 / −6416
### core/embed/rust/librust_qstr.h
@@ -245,20 +245,26 @@ static void _librust_qstrs(void) {
MP_QSTR_buttons__access;
MP_QSTR_buttons__again;
MP_QSTR_buttons__allow;
+ MP_QSTR_buttons__authenticate;
MP_QSTR_buttons__back;
MP_QSTR_buttons__back_up;
MP_QSTR_buttons__cancel;
+ MP_QSTR_buttons__cancel_and_exit;
MP_QSTR_buttons__change;
MP_QSTR_buttons__check;
MP_QSTR_buttons__check_again;
MP_QSTR_buttons__close;
MP_QSTR_buttons__confirm;
+ MP_QSTR_buttons__confirm_all;
MP_QSTR_buttons__continue;
+ MP_QSTR_buttons__continue_anyway;
MP_QSTR_buttons__details;
+ MP_QSTR_buttons__disconnect;
MP_QSTR_buttons__enable;
MP_QSTR_buttons__enter_share;
MP_QSTR_buttons__export;
MP_QSTR_buttons__finish;
+ MP_QSTR_buttons__forget;
MP_QSTR_buttons__format;
MP_QSTR_buttons__go_back;
MP_QSTR_buttons__hold_to_confirm;
@@ -274,13 +280,15 @@ static void _librust_qstrs(void) {
MP_QSTR_buttons__set;
MP_QSTR_buttons__show_all;
MP_QSTR_buttons__show_details;
+ MP_QSTR_buttons__show_next;
MP_QSTR_buttons__show_words;
MP_QSTR_buttons__skip;
MP_QSTR_buttons__try_again;
MP_QSTR_buttons__turn_off;
MP_QSTR_buttons__turn_on;
MP_QSTR_buttons__view;
MP_QSTR_buttons__view_all_data;
+ MP_QSTR_buttons__wipe;
MP_QSTR_buy_amount;
MP_QSTR_can_go_back;
MP_QSTR_cancel;
@@ -1017,35 +1025,29 @@ static void _librust_qstrs(void) {
MP_QSTR_words__array_of;
MP_QSTR_words__asset;
MP_QSTR_words__assets;
- MP_QSTR_words__authenticate;
MP_QSTR_words__authorization;
MP_QSTR_words__blockhash;
MP_QSTR_words__bluetooth;
MP_QSTR_words__buying;
- MP_QSTR_words__cancel_and_exit;
MP_QSTR_words__cancel_question;
MP_QSTR_words__chain;
MP_QSTR_words__comm_continue;
MP_QSTR_words__comm_trouble;
MP_QSTR_words__confirm;
- MP_QSTR_words__confirm_all;
MP_QSTR_words__confirm_fee;
MP_QSTR_words__connect;
MP_QSTR_words__connected;
MP_QSTR_words__contains;
- MP_QSTR_words__continue_anyway;
MP_QSTR_words__continue_anyway_question;
MP_QSTR_words__continue_with;
MP_QSTR_words__deposit;
MP_QSTR_words__device;
MP_QSTR_words__disabled;
- MP_QSTR_words__disconnect;
MP_QSTR_words__disconnected;
MP_QSTR_words__enabled;
MP_QSTR_words__error;
MP_QSTR_words__fee;
MP_QSTR_words__fee_limit;
- MP_QSTR_words__forget;
MP_QSTR_words__from;
MP_QSTR_words__function;
MP_QSTR_words__important;
@@ -1078,9 +1080,7 @@ static void _librust_qstrs(void) {
MP_QSTR_words__review;
MP_QSTR_words__security;
MP_QSTR_words__send;
- MP_QSTR_words__set;
MP_QSTR_words__settings;
- MP_QSTR_words__show_next;
MP_QSTR_words__sign;
MP_QSTR_words__signer;
MP_QSTR_words__swap;
@@ -1105,7 +1105,6 @@ static void _librust_qstrs(void) {
MP_QSTR_words__voting;
MP_QSTR_words__wallet;
MP_QSTR_words__warning;
- MP_QSTR_words__wipe;
MP_QSTR_words__writable;
MP_QSTR_words__yes;
MP_QSTR_write;
### core/embed/rust/src/translations/generated/translated_string.rs
[binary or diff unavailable]
### core/mocks/trezortranslate_keys.pyi
@@ -112,20 +112,26 @@ class TR:
buttons__access: str = "Access"
buttons__again: str = "Again"
buttons__allow: str = "Allow"
+ buttons__authenticate: str = "Authenticate"
buttons__back: str = "Back"
buttons__back_up: str = "Back up"
buttons__cancel: str = "Cancel"
+ buttons__cancel_and_exit: str = "Cancel and exit"
buttons__change: str = "Change"
buttons__check: str = "Check"
buttons__check_again: str = "Check again"
buttons__close: str = "Close"
buttons__confirm: str = "Confirm"
+ buttons__confirm_all: str = "Confirm all"
buttons__continue: str = "Continue"
+ buttons__continue_anyway: str = "Continue anyway"
buttons__details: str = "Details"
+ buttons__disconnect: str = "Disconnect"
buttons__enable: str = "Enable"
buttons__enter_share: str = "Enter share"
buttons__export: str = "Export"
buttons__finish: str = "Finish"
+ buttons__forget: str = "Forget"
buttons__format: str = "Format"
buttons__go_back: str = "Go back"
buttons__hold_to_confirm: str = "Hold to confirm"
@@ -141,13 +147,15 @@ class TR:
buttons__set: str = "Set"
buttons__show_all: str = "Show all"
buttons__show_details: str = "Show details"
+ buttons__show_next: str = "Show next"
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__view: str = "View"
buttons__view_all_data: str = "View all data"
+ buttons__wipe: str = "Wipe"
cardano__addr_base: str = "Base"
cardano__addr_enterprise: str = "Enterprise"
cardano__addr_legacy: str = "Legacy"
@@ -1107,35 +1115,29 @@ class TR:
words__array_of: str = "Array of"
words__asset: str = "Asset"
words__assets: str = "Assets"
- words__authenticate: str = "Authenticate"
words__authorization: str = "Authorization"
words__blockhash: str = "Blockhash"
words__bluetooth: str = "Bluetooth"
words__buying: str = "Buying"
- words__cancel_and_exit: str = "Cancel and exit"
words__cancel_question: str = "Cancel?"
words__chain: str = "Chain"
words__comm_continue: str = "Communication with your connected device failed. It's safe to continue."
words__comm_trouble: str = "Communication with your connected device failed. Cancel and try again."
words__confirm: str = "Confirm"
- words__confirm_all: str = "Confirm all"
words__confirm_fee: str = "Confirm fee"
words__connect: str = "Connect"
words__connected: str = "Connected"
words__contains: str = "Contains"
- words__continue_anyway: str = "Continue anyway"
words__continue_anyway_question: str = "Continue anyway?"
words__continue_with: str = "Continue with"
words__deposit: str = "Deposit"
words__device: str = "Device"
words__disabled: str = "Disabled"
- words__disconnect: str = "Disconnect"
words__disconnected: str = "Disconnected"
words__enabled: str = "Enabled"
words__error: str = "Error"
words__fee: str = "Fee"
words__fee_limit: str = "Fee limit"
- words__forget: str = "Forget"
words__from: str = "from"
words__function: str = "Function"
words__important: str = "Important"
@@ -1168,9 +1170,7 @@ class TR:
words__review: str = "Review"
words__security: str = "Security"
words__send: str = "Send"
- words__set: str = "Set"
words__settings: str = "Settings"
- words__show_next: str = "Show next"
words__sign: str = "Sign"
words__signer: str = "Signer"
words__swap: str = "Swap"
@@ -1195,7 +1195,6 @@ class TR:
words__voting: str = "Voting"
words__wallet: str = "Wallet"
words__warning: str = "Warning"
- words__wipe: str = "Wipe"
words__writable: str = "Writable"
words__yes: str = "Yes"
### core/translations/order.json
@@ -1267,5 +1267,13 @@
"1265": "stellar__sign_authorization",
"1266": "stellar__valid_until_ledger",
"1267": "ethereum__subcall",
- "1268": "ethereum__subcall_to"
+ "1268": "ethereum__subcall_to",
+ "1269": "buttons__authenticate",
+ "1270": "buttons__cancel_and_exit",
+ "1271": "buttons__confirm_all",
+ "1272": "buttons__continue_anyway",
+ "1273": "buttons__disconnect",
+ "1274": "buttons__forget",
+ "1275": "buttons__show_next",
+ "1276": "buttons__wipe"
}
### core/translations/signatures.json
@@ -1,8 +1,8 @@
{
"current": {
- "merkle_root": "47f1aa259a78085b3de80492fd629d1dfeda7f96fe59e6537d839e5ef38decc8",
- "datetime": "2026-08-16T16:05:30.925710+00:00",
- "commit": "35e64de065fee88184b17a42afc3ff09d513eb11"
+ "merkle_root": "60c6135faa4787bbdf2ddd2b90f10e246cfa87c1fb2298ecfc1dd5e3e9449958",
+ "datetime": "2026-08-18T09:59:52.528039+00:00",
+ "commit": "10c2997d2a6bbe3ca29991f895fd8b5c20df15a4"
},
"history": [
{Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.