feat(i18n): complete Japanese localization and eliminate UI hardcoded strings (#753)

Completes the Japanese catalog (all commands, panels, dialogs and preferences) and routes the remaining hard-coded UI labels through the translation lookup. English stays the default.
This commit is contained in:
Mithril_MEX authored and GitHub committed 2026-10-13 13:24:24 -04:00
1 parent a8b3b21fd0
commit d437c21368
35 files changed
+2219 -265

No files matched your search

+3 -3
View File
@@ -123,7 +123,7 @@ pub fn rows(app: &mut SolveApp, ui: &mut egui::Ui, k: &mut Pt, inputs: &[SelInpu
};
if lib.is_empty() {
row_label(ui, "");
ui.label(RichText::new("the parts library is not available").color(t.text_dim));
ui.label(RichText::new(crate::i18n::tr_label("the parts library is not available")).color(t.text_dim));
ui.end_row();
return false;
}
@@ -178,7 +178,7 @@ pub fn rows(app: &mut SolveApp, ui: &mut egui::Ui, k: &mut Pt, inputs: &[SelInpu
ui.add(egui::Image::new(&tx).fit_to_exact_size(vec2(180.0, 112.0)).corner_radius(4.0));
}
None => {
ui.label(RichText::new("no picture").color(t.text_dim));
ui.label(RichText::new(crate::i18n::tr_label("no picture")).color(t.text_dim));
}
}
ui.end_row();
@@ -193,7 +193,7 @@ pub fn rows(app: &mut SolveApp, ui: &mut egui::Ui, k: &mut Pt, inputs: &[SelInpu
}
if inputs.first().is_some_and(|i| i.items.is_empty()) {
row_label(ui, "");
ui.label(RichText::new("pick a hole to seat it, or OK places it at the origin").color(t.text_dim));
ui.label(RichText::new(crate::i18n::tr_label("pick a hole to seat it, or OK places it at the origin")).color(t.text_dim));
ui.end_row();
}
false