What changed, and why it matters
This commit is a routine localization update. It adds one new user-facing button label, 'Review', to the Trezor hardware wallet's translation system and regenerates the files that store translated strings and their cryptographic signature. There is no change to security logic, no bug fix, and no vulnerability.
No action required. This is a benign generated-file update.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit adds a new translation key buttons__review with English value ‘Review’ and identifier 1294 across generated Rust and Python mock files, plus the translation ordering and signature metadata. The signatures.json file is updated with a new merkle_root, timestamp, and commit reference reflecting the regenerated translation bundle. No executable code paths, cryptographic operations, or user-flow logic are 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 +41 / −4
### core/embed/rust/librust_qstr.h
@@ -276,6 +276,7 @@ static void _librust_qstrs(void) {
MP_QSTR_buttons__quit;
MP_QSTR_buttons__restart;
MP_QSTR_buttons__retry;
+ MP_QSTR_buttons__review;
MP_QSTR_buttons__select;
MP_QSTR_buttons__set;
MP_QSTR_buttons__show_all;
### core/embed/rust/src/translations/generated/translated_string.rs
@@ -1683,6 +1683,7 @@ pub enum TranslatedString {
words__delegate = 1291, // "Delegate"
words__from_title = 1292, // "From"
words__undelegate = 1293, // "Undelegate"
+ buttons__review = 1294, // "Review"
}
impl TranslatedString {
@@ -2984,6 +2985,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(feature = "debug", feature = "universal_fw"))]
@@ -4283,6 +4285,7 @@ impl TranslatedString {
19118,
19122,
19132,
+ 19138,
];
#[cfg(all(feature = "debug", not(feature = "universal_fw")))]
@@ -5581,6 +5584,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(feature = "debug", not(feature = "universal_fw")))]
@@ -6880,6 +6884,7 @@ impl TranslatedString {
19118,
19122,
19132,
+ 19138,
];
#[cfg(all(not(feature = "debug"), feature = "universal_fw"))]
@@ -8178,6 +8183,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(not(feature = "debug"), feature = "universal_fw"))]
@@ -9477,6 +9483,7 @@ impl TranslatedString {
19118,
19122,
19132,
+ 19138,
];
#[cfg(all(not(feature = "debug"), not(feature = "universal_fw")))]
@@ -10775,6 +10782,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(not(feature = "debug"), not(feature = "universal_fw")))]
@@ -12074,6 +12082,7 @@ impl TranslatedString {
19118,
19122,
19132,
+ 19138,
];
} else if #[cfg(feature = "layout_caesar")] {
@@ -13373,6 +13382,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(feature = "debug", feature = "universal_fw"))]
@@ -14672,6 +14682,7 @@ impl TranslatedString {
16977,
16981,
16991,
+ 16997,
];
#[cfg(all(feature = "debug", not(feature = "universal_fw")))]
@@ -15970,6 +15981,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(feature = "debug", not(feature = "universal_fw")))]
@@ -17269,6 +17281,7 @@ impl TranslatedString {
16977,
16981,
16991,
+ 16997,
];
#[cfg(all(not(feature = "debug"), feature = "universal_fw"))]
@@ -18567,6 +18580,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(not(feature = "debug"), feature = "universal_fw"))]
@@ -19866,6 +19880,7 @@ impl TranslatedString {
16977,
16981,
16991,
+ 16997,
];
#[cfg(all(not(feature = "debug"), not(feature = "universal_fw")))]
@@ -21164,6 +21179,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(not(feature = "debug"), not(feature = "universal_fw")))]
@@ -22463,6 +22479,7 @@ impl TranslatedString {
16977,
16981,
16991,
+ 16997,
];
} else if #[cfg(feature = "layout_delizia")] {
@@ -23762,6 +23779,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(feature = "debug", feature = "universal_fw"))]
@@ -25061,6 +25079,7 @@ impl TranslatedString {
19056,
19060,
19070,
+ 19076,
];
#[cfg(all(feature = "debug", not(feature = "universal_fw")))]
@@ -26359,6 +26378,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(feature = "debug", not(feature = "universal_fw")))]
@@ -27658,6 +27678,7 @@ impl TranslatedString {
19056,
19060,
19070,
+ 19076,
];
#[cfg(all(not(feature = "debug"), feature = "universal_fw"))]
@@ -28956,6 +28977,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(not(feature = "debug"), feature = "universal_fw"))]
@@ -30255,6 +30277,7 @@ impl TranslatedString {
19056,
19060,
19070,
+ 19076,
];
#[cfg(all(not(feature = "debug"), not(feature = "universal_fw")))]
@@ -31553,6 +31576,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(not(feature = "debug"), not(feature = "universal_fw")))]
@@ -32852,6 +32876,7 @@ impl TranslatedString {
19056,
19060,
19070,
+ 19076,
];
} else if #[cfg(feature = "layout_eckhart")] {
@@ -34151,6 +34176,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(feature = "debug", feature = "universal_fw"))]
@@ -35450,6 +35476,7 @@ impl TranslatedString {
20485,
20489,
20499,
+ 20505,
];
#[cfg(all(feature = "debug", not(feature = "universal_fw")))]
@@ -36748,6 +36775,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(feature = "debug", not(feature = "universal_fw")))]
@@ -38047,6 +38075,7 @@ impl TranslatedString {
20485,
20489,
20499,
+ 20505,
];
#[cfg(all(not(feature = "debug"), feature = "universal_fw"))]
@@ -39345,6 +39374,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(not(feature = "debug"), feature = "universal_fw"))]
@@ -40644,6 +40674,7 @@ impl TranslatedString {
20485,
20489,
20499,
+ 20505,
];
#[cfg(all(not(feature = "debug"), not(feature = "universal_fw")))]
@@ -41942,6 +41973,7 @@ impl TranslatedString {
"Delegate",
"From",
"Undelegate",
+ "Review",
);
#[cfg(all(not(feature = "debug"), not(feature = "universal_fw")))]
@@ -43241,6 +43273,7 @@ impl TranslatedString {
20485,
20489,
20499,
+ 20505,
];
}
@@ -43392,6 +43425,7 @@ impl TranslatedString {
(Qstr::MP_QSTR_buttons__quit, Self::buttons__quit),
(Qstr::MP_QSTR_buttons__restart, Self::buttons__restart),
(Qstr::MP_QSTR_buttons__retry, Self::buttons__retry),
+ (Qstr::MP_QSTR_buttons__review, Self::buttons__review),
(Qstr::MP_QSTR_buttons__select, Self::buttons__select),
(Qstr::MP_QSTR_buttons__set, Self::buttons__set),
(Qstr::MP_QSTR_buttons__show_all, Self::buttons__show_all),
### core/mocks/trezortranslate_keys.pyi
@@ -144,6 +144,7 @@ class TR:
buttons__quit: str = "Quit"
buttons__restart: str = "Restart"
buttons__retry: str = "Retry"
+ buttons__review: str = "Review"
buttons__select: str = "Select"
buttons__set: str = "Set"
buttons__show_all: str = "Show all"
### core/translations/order.json
@@ -1292,5 +1292,6 @@
"1290": "tron__undelegate_resource",
"1291": "words__delegate",
"1292": "words__from_title",
- "1293": "words__undelegate"
+ "1293": "words__undelegate",
+ "1294": "buttons__review"
}
### core/translations/signatures.json
@@ -1,8 +1,8 @@
{
"current": {
- "merkle_root": "1d8490186137bd7d6b5fca33bb494e413d14617532d1403bde5682c6889f9a7c",
- "datetime": "2026-08-26T14:26:57.495020+00:00",
- "commit": "04557af7498666be9d7d5082ce69e5f7e3d81318"
+ "merkle_root": "66e20e022a3fc49928ec0134a8735270a513c002ecbfc80c022d8f0ac9679b6f",
+ "datetime": "2026-08-27T15:31:16.785443+00:00",
+ "commit": "094ee38ea21dee72721761963865a1c872c26b27"
},
"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.