fix(core/bolt): do not use untranslated strings
What changed, and why it matters
This commit is a cosmetic user-interface fix. It replaces the English text labels 'CANCEL' and 'CONFIRM' on the brightness adjustment screen with universal icon buttons (a cancel 'X' and a confirm checkmark). This makes the device look consistent when used in languages other than English. There is no security issue here.
No security action needed. Treat as a normal UI/translation quality fix.
Security signals we found
No strong security signals were identified.
Evidence from the diff
In core/embed/rust/src/ui/layout_bolt/component/number_input_slider.rs, the constructor for NumberInputSliderDialog changed two child buttons from Button::with_text("CANCEL".into()) / Button::with_text("CONFIRM".into()) to Button::with_icon(theme::ICON_CANCEL) / Button::with_icon(theme::ICON_CONFIRM). The confirm button keeps its existing style; the cancel button now uses the default icon-button styling instead of the previous cancel theme. The second file, tests/ui_tests/fixtures.json, only updates expected screenshot hashes for the brightness dialog tests across all supported languages, matching the visual change from text to icons. No logic, validation, cryptography, or access-control code is modified.
Changed components
core/embed/rust/src/ui/layout_bolt/component/number_input_slider.rstests/ui_tests/fixtures.jsonInspect captured patch +32 / −34
diff --git a/core/embed/rust/src/ui/layout_bolt/component/number_input_slider.rs b/core/embed/rust/src/ui/layout_bolt/component/number_input_slider.rs
index 7e9a0a00..eee4df82 100644
--- a/core/embed/rust/src/ui/layout_bolt/component/number_input_slider.rs
+++ b/core/embed/rust/src/ui/layout_bolt/component/number_input_slider.rs
@@ -27,10 +27,8 @@ impl NumberInputSliderDialog {
Self {
area: Rect::zero(),
input: NumberInputSlider::new(min, max, init_value).into_child(),
- cancel_button: Button::with_text("CANCEL".into())
- .styled(theme::button_cancel())
- .into_child(),
- confirm_button: Button::with_text("CONFIRM".into())
+ cancel_button: Button::with_icon(theme::ICON_CANCEL).into_child(),
+ confirm_button: Button::with_icon(theme::ICON_CONFIRM)
.styled(theme::button_confirm())
.into_child(),
}
diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json
index c3067522..85805c39 100644
--- a/tests/ui_tests/fixtures.json
+++ b/tests/ui_tests/fixtures.json
@@ -2888,12 +2888,12 @@
"T2T1_cs_test_msg_applysettings.py::test_experimental_features": "f36a49ac45e34e798c5036dacffc5ee75714372d6acdf3501ac3e75280f6e611",
"T2T1_cs_test_msg_applysettings.py::test_label_too_long": "f2b80196c81ce473b7f24f16f6192ac76d9d2ca23fb0b40053c00d02b53d5111",
"T2T1_cs_test_msg_applysettings.py::test_safety_checks": "3c8fbee234b5e1e9b35539b919c593bb9d781cffdbe295a87ec16fa7d6fd49fb",
-"T2T1_cs_test_msg_applysettings.py::test_set_brightness[0-False]": "bbde662b9feb85edf4f689c3a576f170b1c9596971e13622beea2dcc468aa474",
-"T2T1_cs_test_msg_applysettings.py::test_set_brightness[127-False]": "a3a5a0604f89f91d0ce08a598e829b0519b70841536aab9d97a6e296c88c71c6",
-"T2T1_cs_test_msg_applysettings.py::test_set_brightness[255-False]": "1416b95246bbc6b5e06eb89cc2fdbf9776f9a2996a7accc0c7b17d6bbc43cf06",
+"T2T1_cs_test_msg_applysettings.py::test_set_brightness[0-False]": "7d1a0d644419ea733682a9f57bdd0dc48413f33e932177ea6c84bc29c884aae5",
+"T2T1_cs_test_msg_applysettings.py::test_set_brightness[127-False]": "ba9bd47ed398bdba863d18e570fbaca658b807a2a8623251fbe425353faf531c",
+"T2T1_cs_test_msg_applysettings.py::test_set_brightness[255-False]": "156bf8743d90ccc97dbc29d9272b112569135b06b48cd6b0c29e0ecb806f6b70",
"T2T1_cs_test_msg_applysettings.py::test_set_brightness[256-True]": "f2b80196c81ce473b7f24f16f6192ac76d9d2ca23fb0b40053c00d02b53d5111",
-"T2T1_cs_test_msg_applysettings.py::test_set_brightness[None-False]": "327bac46ac7254fcc11804534dad48bcf0e532ad46dde070f0eab8b19e4f1b5d",
-"T2T1_cs_test_msg_applysettings.py::test_set_brightness_cancel": "a260ce8207641d7531773d409e02ee97a8dde40e313e6a5ff0f14975ed96159f",
+"T2T1_cs_test_msg_applysettings.py::test_set_brightness[None-False]": "02ce8edd4f8ae81e094fa485a23a98c6c983197bc8efd73a3cd998a1bb0fad15",
+"T2T1_cs_test_msg_applysettings.py::test_set_brightness_cancel": "a2415cb37455f8cbaab73b8c16fc80b43d117b1323d6ec3cf18ef0cd3bc65ee3",
"T2T1_cs_test_msg_applysettings.py::test_set_brightness_negative": "f2b80196c81ce473b7f24f16f6192ac76d9d2ca23fb0b40053c00d02b53d5111",
"T2T1_cs_test_msg_applysettings.py::test_set_label[empty]": "75195a23ac9dcfad80ac340d03d9e0bb6a5ad3a13533baf65cadf0966efc6e9f",
"T2T1_cs_test_msg_applysettings.py::test_set_label[max_len]": "471b1d3739945a3544fd547ff97f589c9521e6c560b1b8aacf19c4b2062b4ee0",
@@ -4726,12 +4726,12 @@
"T2T1_de_test_msg_applysettings.py::test_experimental_features": "eb5dd1ad9167d3f7d45d35fae5f814b0dcff179b8a8c48f9d9a2ee42d133461c",
"T2T1_de_test_msg_applysettings.py::test_label_too_long": "efeaf51fe18b983e9b1a6947a939ad305a92e57798fe07110bb61c0f65755881",
"T2T1_de_test_msg_applysettings.py::test_safety_checks": "840af43ab03a0773d72d3831a92281eb52c7b7e8c0e117d83e88eb082ed2b8c9",
-"T2T1_de_test_msg_applysettings.py::test_set_brightness[0-False]": "82a1eb2960be146e71d551df00c56988b5d695084f6fb75a48bba73ef91b252b",
-"T2T1_de_test_msg_applysettings.py::test_set_brightness[127-False]": "a19a189147f4bdb896b9fda8272b04bbf52dad57079992f534e4cdd5da92830b",
-"T2T1_de_test_msg_applysettings.py::test_set_brightness[255-False]": "8fe169fa189d49d9578e6510e538cb5b2df6ce93ac0cee78077afec6dcb7e4d6",
+"T2T1_de_test_msg_applysettings.py::test_set_brightness[0-False]": "a8adb3bb2a842c2df4f382a81a3b4bd58f639b17011a3ce8c63f2ab48feb5a29",
+"T2T1_de_test_msg_applysettings.py::test_set_brightness[127-False]": "e0f3a38f3ea1b693b74dbf601f34f223b5797e5725029dee296f4a157314063a",
+"T2T1_de_test_msg_applysettings.py::test_set_brightness[255-False]": "329a70abbf12a6e3c679e9a2d3c58f09bf50cbd3f87578a800017a08b05db59a",
"T2T1_de_test_msg_applysettings.py::test_set_brightness[256-True]": "efeaf51fe18b983e9b1a6947a939ad305a92e57798fe07110bb61c0f65755881",
-"T2T1_de_test_msg_applysettings.py::test_set_brightness[None-False]": "e49dce70577f77b81c33c419e3ba9a93f98cf7d74dfd00b3c5b3e8fece06977f",
-"T2T1_de_test_msg_applysettings.py::test_set_brightness_cancel": "311e5c8f75b957e287e6496941b8ab736e5bae4929e195d719c14337492fa806",
+"T2T1_de_test_msg_applysettings.py::test_set_brightness[None-False]": "294c65d5318b93fda0e3c879d140771b1dbe321b4c3e88cc6ead9c73968eacaa",
+"T2T1_de_test_msg_applysettings.py::test_set_brightness_cancel": "349dea7808f0df1160c04fbc7f99d1349c49e4b46a328bd8f1e617af935e4164",
"T2T1_de_test_msg_applysettings.py::test_set_brightness_negative": "efeaf51fe18b983e9b1a6947a939ad305a92e57798fe07110bb61c0f65755881",
"T2T1_de_test_msg_applysettings.py::test_set_label[empty]": "ff0ea3a77d5aff19d7f8bf752a45b174ec4458aa38e123d7488d84bcd5c0effb",
"T2T1_de_test_msg_applysettings.py::test_set_label[max_len]": "fba9e02ec52a4083fa7040de3b25b8c4e3e9b8ae6c64c62438fe34a3a0a99aa2",
@@ -6564,12 +6564,12 @@
"T2T1_en_test_msg_applysettings.py::test_experimental_features": "bcf32a6de1cab68c555219748f16884b4c793992eda61d6edf2fd62aefdb45b4",
"T2T1_en_test_msg_applysettings.py::test_label_too_long": "8aa7c68cd09e700e8c6903dcfc39c4a66214481c12c34dc56762829478399b79",
"T2T1_en_test_msg_applysettings.py::test_safety_checks": "e5a9a76468514f3cb852deb2f21b969c3a0e7eca67b09301e5967efa9088e455",
-"T2T1_en_test_msg_applysettings.py::test_set_brightness[0-False]": "ea0cdb67379a7110108d5070ed986ff905a7a8650da9258b065331fb59705f85",
-"T2T1_en_test_msg_applysettings.py::test_set_brightness[127-False]": "0011650e3ff24cf30dfff0c12903cd3f2d03e77175e026ec9a381a84171c42de",
-"T2T1_en_test_msg_applysettings.py::test_set_brightness[255-False]": "0f5eeda81b199bc0944c3a5406e343858abcb23dd17e74245e8c20812e966fad",
+"T2T1_en_test_msg_applysettings.py::test_set_brightness[0-False]": "54a2b45aafd8bbd28b3a1b144be2aa33d8a9f1e906ab38f9b69beb6be735f1e0",
+"T2T1_en_test_msg_applysettings.py::test_set_brightness[127-False]": "22fd48ef9ece184ead5627369a4f9bde9817771272a5aa7f19688abd3aadb8a9",
+"T2T1_en_test_msg_applysettings.py::test_set_brightness[255-False]": "e3c134f2632ddaff27ff40495c894c04dde39c13e862641981b23a31aa583a08",
"T2T1_en_test_msg_applysettings.py::test_set_brightness[256-True]": "8aa7c68cd09e700e8c6903dcfc39c4a66214481c12c34dc56762829478399b79",
-"T2T1_en_test_msg_applysettings.py::test_set_brightness[None-False]": "6def77926ce510852515c7ed9e37ad718fc73346191522c2e00438b9c010f378",
-"T2T1_en_test_msg_applysettings.py::test_set_brightness_cancel": "69a6bf149b879eec61d93f7509e585682126c7bad5bebc5f9686b8f2bac63790",
+"T2T1_en_test_msg_applysettings.py::test_set_brightness[None-False]": "793716f956681bfc99f11604f5775c32820447f19eac4eac35fef60a09d3e022",
+"T2T1_en_test_msg_applysettings.py::test_set_brightness_cancel": "1e1a4c912db6c5bf98ff25e748454d7c02574b5499d502f1de929085ab0761ab",
"T2T1_en_test_msg_applysettings.py::test_set_brightness_negative": "8aa7c68cd09e700e8c6903dcfc39c4a66214481c12c34dc56762829478399b79",
"T2T1_en_test_msg_applysettings.py::test_set_label[empty]": "628a9906a6f009a3666a35998b71caa2085623593e8672d9fcc335732fcb2d37",
"T2T1_en_test_msg_applysettings.py::test_set_label[max_len]": "08181d6d327a1441f9be3418ebe25f2c7169ab561fccca86f738dd68ec256ec7",
@@ -8420,12 +8420,12 @@
"T2T1_es_test_msg_applysettings.py::test_experimental_features": "b126885951966de2a6f57b16e633d08a573c9c685e58e75acc3454953ce2fa3c",
"T2T1_es_test_msg_applysettings.py::test_label_too_long": "17d836396f272c01cafa175aa87b0c076aedf7698c935d1921c7d3d7e8911903",
"T2T1_es_test_msg_applysettings.py::test_safety_checks": "ab330309e5e8b6047f6c4fc8331dfe305c4af2793baf26d83e320c2d981f3b2e",
-"T2T1_es_test_msg_applysettings.py::test_set_brightness[0-False]": "098f95b9a4346d252d72f926a8d0a862ee7117ffed56c7898856cc0009bd73e7",
-"T2T1_es_test_msg_applysettings.py::test_set_brightness[127-False]": "f4e977af5ccc38d5cbce02067f4acdac3f32ddbcb4a8f1f647c0896cf25a5874",
-"T2T1_es_test_msg_applysettings.py::test_set_brightness[255-False]": "153dca5de279658178ecfc3d957f4fd642b43152ec9f6bd6bfc1e353da68b070",
+"T2T1_es_test_msg_applysettings.py::test_set_brightness[0-False]": "d337df2dfb527a0e9ba822385c4490f4bdeaab4b9279749a805f8df19d6b7e20",
+"T2T1_es_test_msg_applysettings.py::test_set_brightness[127-False]": "b2e3460e45ef66c1d99ebf9330ee6fec85ebe00c4fc5a8f3bcfa92a553bdf94a",
+"T2T1_es_test_msg_applysettings.py::test_set_brightness[255-False]": "7908cb668eca10167cd95556ec8aa75e82266f9ad1a6a4a509b4076a3eb4f74b",
"T2T1_es_test_msg_applysettings.py::test_set_brightness[256-True]": "17d836396f272c01cafa175aa87b0c076aedf7698c935d1921c7d3d7e8911903",
-"T2T1_es_test_msg_applysettings.py::test_set_brightness[None-False]": "09d933a22b1c545f8c067c1fb93460a01b5bdf2cd09489c7599527b1ff374622",
-"T2T1_es_test_msg_applysettings.py::test_set_brightness_cancel": "e15f1d422f12ec919e383a14453501fff8403001c324d5c00c227b7e15924bb7",
+"T2T1_es_test_msg_applysettings.py::test_set_brightness[None-False]": "e400a27477f9bd34954e36e0d56bdfbaf91005b64f5a0c05fbb1fb220f65d5dc",
+"T2T1_es_test_msg_applysettings.py::test_set_brightness_cancel": "a70e5dd6671c49ecd02044c43034dcbafcfcfd027c1d62a8d410a8ddb85d8883",
"T2T1_es_test_msg_applysettings.py::test_set_brightness_negative": "17d836396f272c01cafa175aa87b0c076aedf7698c935d1921c7d3d7e8911903",
"T2T1_es_test_msg_applysettings.py::test_set_label[empty]": "7fb1293d0d51648bc14fd894c523efac50d5d1a2844e6a689c5919bfe9d2b878",
"T2T1_es_test_msg_applysettings.py::test_set_label[max_len]": "2e1197d8bd47a8bf7d784661d7bf790365b0a3b02b8a9f348abe40336338a122",
@@ -10258,12 +10258,12 @@
"T2T1_fr_test_msg_applysettings.py::test_experimental_features": "e2c916ef8c626d896954f6893ff4b7186b872dfaf60a2c7da9131075418985ed",
"T2T1_fr_test_msg_applysettings.py::test_label_too_long": "7e5a99a4b6aad4cdf7a9f9aecf483faa381108ee2108efaba88f261e29ac1f8a",
"T2T1_fr_test_msg_applysettings.py::test_safety_checks": "ca9bfcf644e9bcc386bd72e74b32ea2cd32dccc61fd21a50713e44b4aad678ec",
-"T2T1_fr_test_msg_applysettings.py::test_set_brightness[0-False]": "16043b54961cabe4b6a5b42f0143c64115e6abe299c0ec6789afa147defdfdd2",
-"T2T1_fr_test_msg_applysettings.py::test_set_brightness[127-False]": "bfa5832d985e23257a59fdfde019cad73a8e18c7df2f4fcb0944100e3c681bf6",
-"T2T1_fr_test_msg_applysettings.py::test_set_brightness[255-False]": "07aa7741dc0fbaeedc70b6d7f63f85ba72ffadb11d5744069130270706207f4d",
+"T2T1_fr_test_msg_applysettings.py::test_set_brightness[0-False]": "c8cd4924077228cf3ec709236382bafe5e97789c68f9df5e37da4638d9211dd6",
+"T2T1_fr_test_msg_applysettings.py::test_set_brightness[127-False]": "75ea971e62f14b617739684774fe07afdb47c2a60e43e6b0bfe24eb9ffee1079",
+"T2T1_fr_test_msg_applysettings.py::test_set_brightness[255-False]": "b1d1ae39722ec8c5562d73c3133e9eaf36bdd0240e609a679dc4b98bfbf389ca",
"T2T1_fr_test_msg_applysettings.py::test_set_brightness[256-True]": "7e5a99a4b6aad4cdf7a9f9aecf483faa381108ee2108efaba88f261e29ac1f8a",
-"T2T1_fr_test_msg_applysettings.py::test_set_brightness[None-False]": "6abcc0c063231abef17586e69aea7fcc54feb988163ac4369896b141ee018d58",
-"T2T1_fr_test_msg_applysettings.py::test_set_brightness_cancel": "676324d7541dd92f9baf9a3259bc6327c64cea16a839b1f6333decd1b6621b1c",
+"T2T1_fr_test_msg_applysettings.py::test_set_brightness[None-False]": "8990106922451993dc9cc19ea1bde5ae8253cd29294abf17054a91367a7efee8",
+"T2T1_fr_test_msg_applysettings.py::test_set_brightness_cancel": "a4cf0e2ab0b8213d161481e05711913cbab5206b63c54fd0fde6d7d597363739",
"T2T1_fr_test_msg_applysettings.py::test_set_brightness_negative": "7e5a99a4b6aad4cdf7a9f9aecf483faa381108ee2108efaba88f261e29ac1f8a",
"T2T1_fr_test_msg_applysettings.py::test_set_label[empty]": "0581d88e5cb456602d66da0599c07940efba803af0166dcf9335e679299e3d4a",
"T2T1_fr_test_msg_applysettings.py::test_set_label[max_len]": "98b67d8aae274f3fea20cf4ba2b0f7cc3a1002b8355a95066c83dc1865778275",
@@ -12096,12 +12096,12 @@
"T2T1_pt_test_msg_applysettings.py::test_experimental_features": "27560f59e9328c4a086627d38377be8ed5a99eb35cc0ca03f7a8ff6adce5eef3",
"T2T1_pt_test_msg_applysettings.py::test_label_too_long": "020b255e04b59e53d2aa87ae960038f4538d350de28df15a1ac41b376e9d04f2",
"T2T1_pt_test_msg_applysettings.py::test_safety_checks": "c206f3edf9ab376d78dfeb44c839ac06278bafde08727a006adfadc36f4f5586",
-"T2T1_pt_test_msg_applysettings.py::test_set_brightness[0-False]": "88210ee01b04e4769bc8fe15e5207634d7ebb86b6a713be4377c3e78e8152784",
-"T2T1_pt_test_msg_applysettings.py::test_set_brightness[127-False]": "ec5f7107e8302ff94cfa508e0cf2b45764fc51e60beaf8985eb11e1e1bd5abd2",
-"T2T1_pt_test_msg_applysettings.py::test_set_brightness[255-False]": "a76e23fd28269721f4fc5cb85731ea1a6159d3bd22979cab26844bd26084c8d9",
+"T2T1_pt_test_msg_applysettings.py::test_set_brightness[0-False]": "979ab619d2f07e1851dad9e7550734f5b20ae3f7ec628b1cebe50d21daed2226",
+"T2T1_pt_test_msg_applysettings.py::test_set_brightness[127-False]": "581973197e92c740c6b7260c614118e5be617c11a4399e13f1de76eff774331d",
+"T2T1_pt_test_msg_applysettings.py::test_set_brightness[255-False]": "40414c90a6e60957fec24d19de17a35fb76ebe0461ade7e81d2ff873a6d4ee2f",
"T2T1_pt_test_msg_applysettings.py::test_set_brightness[256-True]": "020b255e04b59e53d2aa87ae960038f4538d350de28df15a1ac41b376e9d04f2",
-"T2T1_pt_test_msg_applysettings.py::test_set_brightness[None-False]": "14a4b1c783b7741f8ade680f658c8128866126ed864da9cd3cb4cd734d9e244f",
-"T2T1_pt_test_msg_applysettings.py::test_set_brightness_cancel": "cebbebddc628744674f255bb7c4ddf36b3e6caeef8f9e2fb1d1ef3a4e6fdc54e",
+"T2T1_pt_test_msg_applysettings.py::test_set_brightness[None-False]": "68f98effd6f4f25e8d9b8058b549d1cb9b5de415b5844ac08f6f89a762fcd86c",
+"T2T1_pt_test_msg_applysettings.py::test_set_brightness_cancel": "bacc6b1dc95cd4cb168d4edf8edcf53eb32e3bca7ec68160d61edde4350e847e",
"T2T1_pt_test_msg_applysettings.py::test_set_brightness_negative": "020b255e04b59e53d2aa87ae960038f4538d350de28df15a1ac41b376e9d04f2",
"T2T1_pt_test_msg_applysettings.py::test_set_label[empty]": "1d33c0e1a0032a8b55a3833cf77d754d71aa4901100681f01ca72aadacb643cf",
"T2T1_pt_test_msg_applysettings.py::test_set_label[max_len]": "3cb2311e5d96ae123028fc20e0663095560749254ad4a109d482fc71eb093888",
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.