From 9ae111d6dbcfd653e250445e55c9f6ab0a48c93b Mon Sep 17 00:00:00 2001 From: matejcik Date: Fri, 19 Jan 2024 12:40:13 +0100 Subject: [PATCH] WIP - move translations to core top-level --- .../src/translations/generated/translated_string.rs | 3 +-- .../translations/generated/translated_string.rs.mako | 11 ++++------- core/embed/rust/src/translations/mod.rs | 6 ++---- core/tools/codegen/gen_font.py | 2 +- core/{embed/rust/src => }/translations/crowdin.py | 0 core/{embed/rust/src => }/translations/crowdin.yml | 0 core/{embed/rust/src => }/translations/cs.json | 6 +++--- core/{embed/rust/src => }/translations/en.json | 0 .../fonts/font_pixeloperator_bold_8_cs.json | 0 .../fonts/font_pixeloperator_bold_8_fr.json | 0 .../fonts/font_pixeloperator_regular_8_cs.json | 0 .../fonts/font_pixeloperator_regular_8_fr.json | 0 .../fonts/font_pixeloperatormono_regular_8_cs.json | 0 .../fonts/font_pixeloperatormono_regular_8_fr.json | 0 .../translations/fonts/font_roboto_bold_20_cs.json | 0 .../translations/fonts/font_roboto_bold_20_fr.json | 0 .../translations/fonts/font_roboto_regular_20_cs.json | 0 .../translations/fonts/font_roboto_regular_20_fr.json | 0 .../fonts/font_robotomono_medium_20_cs.json | 0 .../fonts/font_robotomono_medium_20_fr.json | 0 .../translations/fonts/font_tthoves_bold_17_cs.json | 0 .../translations/fonts/font_tthoves_bold_17_fr.json | 0 .../fonts/font_tthoves_demibold_21_cs.json | 0 .../fonts/font_tthoves_demibold_21_fr.json | 0 .../fonts/font_tthoves_regular_21_cs.json | 0 .../fonts/font_tthoves_regular_21_fr.json | 0 .../translations/fonts/font_unifont_bold_16_cs.json | 0 .../translations/fonts/font_unifont_bold_16_fr.json | 0 .../fonts/font_unifont_regular_16_cs.json | 0 .../fonts/font_unifont_regular_16_fr.json | 0 core/{embed/rust/src => }/translations/fr.json | 6 +++--- core/{embed/rust/src => }/translations/order.json | 0 core/{embed/rust/src => }/translations/order.py | 0 33 files changed, 14 insertions(+), 20 deletions(-) rename core/{embed/rust/src => }/translations/crowdin.py (100%) rename core/{embed/rust/src => }/translations/crowdin.yml (100%) rename core/{embed/rust/src => }/translations/cs.json (99%) rename core/{embed/rust/src => }/translations/en.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_pixeloperator_bold_8_cs.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_pixeloperator_bold_8_fr.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_pixeloperator_regular_8_cs.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_pixeloperator_regular_8_fr.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_pixeloperatormono_regular_8_cs.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_pixeloperatormono_regular_8_fr.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_roboto_bold_20_cs.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_roboto_bold_20_fr.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_roboto_regular_20_cs.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_roboto_regular_20_fr.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_robotomono_medium_20_cs.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_robotomono_medium_20_fr.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_tthoves_bold_17_cs.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_tthoves_bold_17_fr.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_tthoves_demibold_21_cs.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_tthoves_demibold_21_fr.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_tthoves_regular_21_cs.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_tthoves_regular_21_fr.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_unifont_bold_16_cs.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_unifont_bold_16_fr.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_unifont_regular_16_cs.json (100%) rename core/{embed/rust/src => }/translations/fonts/font_unifont_regular_16_fr.json (100%) rename core/{embed/rust/src => }/translations/fr.json (99%) rename core/{embed/rust/src => }/translations/order.json (100%) rename core/{embed/rust/src => }/translations/order.py (100%) diff --git a/core/embed/rust/src/translations/generated/translated_string.rs b/core/embed/rust/src/translations/generated/translated_string.rs index 1f11bde7ab..ba30b42633 100644 --- a/core/embed/rust/src/translations/generated/translated_string.rs +++ b/core/embed/rust/src/translations/generated/translated_string.rs @@ -1,7 +1,6 @@ -//! generated from enum.out.mako +//! generated from translated_string.rs.mako //! (by running `make templates` in `core`) //! do not edit manually! - #[cfg(feature = "micropython")] use crate::micropython::qstr::Qstr; diff --git a/core/embed/rust/src/translations/generated/translated_string.rs.mako b/core/embed/rust/src/translations/generated/translated_string.rs.mako index c7fd96df49..b98c7adfce 100644 --- a/core/embed/rust/src/translations/generated/translated_string.rs.mako +++ b/core/embed/rust/src/translations/generated/translated_string.rs.mako @@ -1,20 +1,17 @@ -//! generated from enum.out.mako +//! generated from ${THIS_FILE.name} //! (by running `make templates` in `core`) //! do not edit manually! - <% import json -from pathlib import Path -THIS = Path(local.filename).resolve() -SRCDIR = THIS.parent.parent +TR_DIR = ROOT / "core" / "translations" -order_file = SRCDIR / "order.json" +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 = SRCDIR / "en.json" +en_file = TR_DIR / "en.json" en_data = json.loads(en_file.read_text())["translations"] def get_en_strings(data: dict) -> dict[str, str]: diff --git a/core/embed/rust/src/translations/mod.rs b/core/embed/rust/src/translations/mod.rs index 8eec712ec6..2cdd6bc618 100644 --- a/core/embed/rust/src/translations/mod.rs +++ b/core/embed/rust/src/translations/mod.rs @@ -4,8 +4,6 @@ mod generated; mod micropython; mod translated_string; -#[cfg(feature = "micropython")] -pub use micropython::tr; pub use translated_string::TranslatedString as TR; use crate::{error::Error, io::InputStream}; @@ -159,7 +157,7 @@ struct TranslationsHeader<'a> { } impl<'a> TranslationsHeader<'a> { - const MAGIC: [u8; 4] = [84, 82, 84, 82]; // b"TRTR" + const MAGIC: &'static [u8] = b"TRTR00"; const VERSION_LEN: usize = 16; const LANG_LEN: usize = 32; const DATA_HASH_LEN: usize = 32; @@ -182,7 +180,7 @@ impl<'a> TranslationsHeader<'a> { let mut reader = crate::io::InputStream::new(data); - let magic = reader.read(4)?; + let magic = reader.read(Self::MAGIC.len())?; if magic != Self::MAGIC { return Err(value_error!("Invalid header magic")); } diff --git a/core/tools/codegen/gen_font.py b/core/tools/codegen/gen_font.py index 7ead256038..edbd9c9f57 100755 --- a/core/tools/codegen/gen_font.py +++ b/core/tools/codegen/gen_font.py @@ -24,7 +24,7 @@ HERE = Path(__file__).parent CORE_ROOT = HERE.parent.parent FONTS_DIR = HERE / "fonts" C_FONTS_DEST = CORE_ROOT / "embed" / "lib" / "fonts" -JSON_FONTS_DEST = CORE_ROOT / "embed" / "rust" / "src" / "ui" / "translations" / "fonts" +JSON_FONTS_DEST = CORE_ROOT / "translations" / "fonts" MIN_GLYPH = ord(" ") MAX_GLYPH = ord("~") diff --git a/core/embed/rust/src/translations/crowdin.py b/core/translations/crowdin.py similarity index 100% rename from core/embed/rust/src/translations/crowdin.py rename to core/translations/crowdin.py diff --git a/core/embed/rust/src/translations/crowdin.yml b/core/translations/crowdin.yml similarity index 100% rename from core/embed/rust/src/translations/crowdin.yml rename to core/translations/crowdin.yml diff --git a/core/embed/rust/src/translations/cs.json b/core/translations/cs.json similarity index 99% rename from core/embed/rust/src/translations/cs.json rename to core/translations/cs.json index 1d046cb878..fbb14450c2 100644 --- a/core/embed/rust/src/translations/cs.json +++ b/core/translations/cs.json @@ -1,13 +1,13 @@ { "font": { - "Safe 3": { + "T2B1": { "1_FONT_NORMAL": "font_pixeloperator_regular_8_cs.json", "2_FONT_BOLD": "font_pixeloperator_bold_8_cs.json", "3_FONT_MONO": "font_pixeloperatormono_regular_8_cs.json", "4_FONT_BIG": "font_unifont_regular_16_cs.json", "5_FONT_DEMIBOLD": "font_unifont_bold_16_cs.json" }, - "T": { + "T2T1": { "1_FONT_NORMAL": "font_tthoves_regular_21_cs.json", "2_FONT_BOLD": "font_tthoves_bold_17_cs.json", "3_FONT_MONO": "font_robotomono_medium_20_cs.json", @@ -18,7 +18,7 @@ "header": { "change_language_prompt": "Zmenit jazyk na cestinu?", "change_language_title": "ZMENA JAZYKA", - "language": "cs", + "language": "csCZ", "version": "2.6.5" }, "translations": { diff --git a/core/embed/rust/src/translations/en.json b/core/translations/en.json similarity index 100% rename from core/embed/rust/src/translations/en.json rename to core/translations/en.json diff --git a/core/embed/rust/src/translations/fonts/font_pixeloperator_bold_8_cs.json b/core/translations/fonts/font_pixeloperator_bold_8_cs.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_pixeloperator_bold_8_cs.json rename to core/translations/fonts/font_pixeloperator_bold_8_cs.json diff --git a/core/embed/rust/src/translations/fonts/font_pixeloperator_bold_8_fr.json b/core/translations/fonts/font_pixeloperator_bold_8_fr.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_pixeloperator_bold_8_fr.json rename to core/translations/fonts/font_pixeloperator_bold_8_fr.json diff --git a/core/embed/rust/src/translations/fonts/font_pixeloperator_regular_8_cs.json b/core/translations/fonts/font_pixeloperator_regular_8_cs.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_pixeloperator_regular_8_cs.json rename to core/translations/fonts/font_pixeloperator_regular_8_cs.json diff --git a/core/embed/rust/src/translations/fonts/font_pixeloperator_regular_8_fr.json b/core/translations/fonts/font_pixeloperator_regular_8_fr.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_pixeloperator_regular_8_fr.json rename to core/translations/fonts/font_pixeloperator_regular_8_fr.json diff --git a/core/embed/rust/src/translations/fonts/font_pixeloperatormono_regular_8_cs.json b/core/translations/fonts/font_pixeloperatormono_regular_8_cs.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_pixeloperatormono_regular_8_cs.json rename to core/translations/fonts/font_pixeloperatormono_regular_8_cs.json diff --git a/core/embed/rust/src/translations/fonts/font_pixeloperatormono_regular_8_fr.json b/core/translations/fonts/font_pixeloperatormono_regular_8_fr.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_pixeloperatormono_regular_8_fr.json rename to core/translations/fonts/font_pixeloperatormono_regular_8_fr.json diff --git a/core/embed/rust/src/translations/fonts/font_roboto_bold_20_cs.json b/core/translations/fonts/font_roboto_bold_20_cs.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_roboto_bold_20_cs.json rename to core/translations/fonts/font_roboto_bold_20_cs.json diff --git a/core/embed/rust/src/translations/fonts/font_roboto_bold_20_fr.json b/core/translations/fonts/font_roboto_bold_20_fr.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_roboto_bold_20_fr.json rename to core/translations/fonts/font_roboto_bold_20_fr.json diff --git a/core/embed/rust/src/translations/fonts/font_roboto_regular_20_cs.json b/core/translations/fonts/font_roboto_regular_20_cs.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_roboto_regular_20_cs.json rename to core/translations/fonts/font_roboto_regular_20_cs.json diff --git a/core/embed/rust/src/translations/fonts/font_roboto_regular_20_fr.json b/core/translations/fonts/font_roboto_regular_20_fr.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_roboto_regular_20_fr.json rename to core/translations/fonts/font_roboto_regular_20_fr.json diff --git a/core/embed/rust/src/translations/fonts/font_robotomono_medium_20_cs.json b/core/translations/fonts/font_robotomono_medium_20_cs.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_robotomono_medium_20_cs.json rename to core/translations/fonts/font_robotomono_medium_20_cs.json diff --git a/core/embed/rust/src/translations/fonts/font_robotomono_medium_20_fr.json b/core/translations/fonts/font_robotomono_medium_20_fr.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_robotomono_medium_20_fr.json rename to core/translations/fonts/font_robotomono_medium_20_fr.json diff --git a/core/embed/rust/src/translations/fonts/font_tthoves_bold_17_cs.json b/core/translations/fonts/font_tthoves_bold_17_cs.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_tthoves_bold_17_cs.json rename to core/translations/fonts/font_tthoves_bold_17_cs.json diff --git a/core/embed/rust/src/translations/fonts/font_tthoves_bold_17_fr.json b/core/translations/fonts/font_tthoves_bold_17_fr.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_tthoves_bold_17_fr.json rename to core/translations/fonts/font_tthoves_bold_17_fr.json diff --git a/core/embed/rust/src/translations/fonts/font_tthoves_demibold_21_cs.json b/core/translations/fonts/font_tthoves_demibold_21_cs.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_tthoves_demibold_21_cs.json rename to core/translations/fonts/font_tthoves_demibold_21_cs.json diff --git a/core/embed/rust/src/translations/fonts/font_tthoves_demibold_21_fr.json b/core/translations/fonts/font_tthoves_demibold_21_fr.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_tthoves_demibold_21_fr.json rename to core/translations/fonts/font_tthoves_demibold_21_fr.json diff --git a/core/embed/rust/src/translations/fonts/font_tthoves_regular_21_cs.json b/core/translations/fonts/font_tthoves_regular_21_cs.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_tthoves_regular_21_cs.json rename to core/translations/fonts/font_tthoves_regular_21_cs.json diff --git a/core/embed/rust/src/translations/fonts/font_tthoves_regular_21_fr.json b/core/translations/fonts/font_tthoves_regular_21_fr.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_tthoves_regular_21_fr.json rename to core/translations/fonts/font_tthoves_regular_21_fr.json diff --git a/core/embed/rust/src/translations/fonts/font_unifont_bold_16_cs.json b/core/translations/fonts/font_unifont_bold_16_cs.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_unifont_bold_16_cs.json rename to core/translations/fonts/font_unifont_bold_16_cs.json diff --git a/core/embed/rust/src/translations/fonts/font_unifont_bold_16_fr.json b/core/translations/fonts/font_unifont_bold_16_fr.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_unifont_bold_16_fr.json rename to core/translations/fonts/font_unifont_bold_16_fr.json diff --git a/core/embed/rust/src/translations/fonts/font_unifont_regular_16_cs.json b/core/translations/fonts/font_unifont_regular_16_cs.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_unifont_regular_16_cs.json rename to core/translations/fonts/font_unifont_regular_16_cs.json diff --git a/core/embed/rust/src/translations/fonts/font_unifont_regular_16_fr.json b/core/translations/fonts/font_unifont_regular_16_fr.json similarity index 100% rename from core/embed/rust/src/translations/fonts/font_unifont_regular_16_fr.json rename to core/translations/fonts/font_unifont_regular_16_fr.json diff --git a/core/embed/rust/src/translations/fr.json b/core/translations/fr.json similarity index 99% rename from core/embed/rust/src/translations/fr.json rename to core/translations/fr.json index 10479ecc7b..9f643b8a22 100644 --- a/core/embed/rust/src/translations/fr.json +++ b/core/translations/fr.json @@ -1,13 +1,13 @@ { "font": { - "Safe 3": { + "T2B1": { "1_FONT_NORMAL": "font_pixeloperator_regular_8_fr.json", "2_FONT_BOLD": "font_pixeloperator_bold_8_fr.json", "3_FONT_MONO": "font_pixeloperatormono_regular_8_fr.json", "4_FONT_BIG": "font_unifont_regular_16_fr.json", "5_FONT_DEMIBOLD": "font_unifont_bold_16_fr.json" }, - "T": { + "T2T1": { "1_FONT_NORMAL": "font_tthoves_regular_21_fr.json", "2_FONT_BOLD": "font_tthoves_bold_17_fr.json", "3_FONT_MONO": "font_robotomono_medium_20_fr.json", @@ -18,7 +18,7 @@ "header": { "change_language_prompt": "Changer de langue en francais?", "change_language_title": "CHANGER LA LANGUE", - "language": "fr", + "language": "frFR", "version": "2.6.5" }, "translations": { diff --git a/core/embed/rust/src/translations/order.json b/core/translations/order.json similarity index 100% rename from core/embed/rust/src/translations/order.json rename to core/translations/order.json diff --git a/core/embed/rust/src/translations/order.py b/core/translations/order.py similarity index 100% rename from core/embed/rust/src/translations/order.py rename to core/translations/order.py