Repository navigation
Translate the original OMSI 2 mode texts into all languages - #548
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A6PhrRqXsvNREC8Wn4vpJ8
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
lmonteirotech
left a comment
There was a problem hiding this comment.
Verdict: CHANGES REQUESTED (head 04ed1e2; posted as a COMMENT review because this account authored the PR and GitHub refuses a formal request-changes)
Blocking: Catalan (ca) is missing from all 76 new keys. The launcher ships 26 non-English languages (CAT/ca in the language table of omsi-launcher-core), and each of the 2768 fully translated existing keys on main has ca. The PR adds only 25 (be cs de es fr hi hu id it ja kk ko ms nl pl pt pt-pt ru th tl tr uk vi zh zh-tw). A Catalan player would see English for the whole OMSI 2 mode UI. check_locales.py does not catch this (it passes), so the PR text "each in the 25 other languages" and the "all 26 languages" title are inaccurate. Please add the 76 ca entries (1900 → 1976 texts) and fix the wording.
Checked and fine (after merging current main dba885d into a scratch branch; the merge is clean, only CHANGELOG context moved):
check_locales.pymain vs. merged: +76 keys, 0 changed, 0 errors, 0 warnings.- For all 76 keys × 25 languages, the set of
%{...}placeholders is identical to the English key (version,repo,license,done,total,name,n,size,files). No empty, truncated or stray{}text. The only short outputs are zh/zh-tw, which are normal for those scripts. - Product names (OMSI 2, OmsiLaunch, SHA-256, .NET 6) are left untranslated as intended. No existing translation is changed.
- Diff touches only
crates/omsi-app/locales/app.ymlandCHANGELOG.md, so there is no behavior change. The CHANGELOG entry sits under Added and references #459. - The commit message has no forbidden upstream mention.
I did not review translation quality beyond structure and placeholders in languages I cannot judge natively. A native check of a sample (ja, ko, th, hi) would be prudent but is not blocking. CI is not re-run by this review; the merge rule still needs 7/7 on the final head.
Generated by Claude Code
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A6PhrRqXsvNREC8Wn4vpJ8
lmonteirotech
left a comment
There was a problem hiding this comment.
Verdict: APPROVED (head b07022d; posted as a COMMENT review because this account authored the PR)
The earlier blocker is fixed: all 76 new keys now have ca, so every key has all 26 languages.
Checked after merging current main into a scratch branch (clean merge):
check_locales.pymain vs. merged: +76 keys, +1976 texts, 0 changed, 0 errors, 0 warnings.- Per key × 26 languages: the language set is complete,
%{...}placeholders are identical to the English key, and no text is empty or truncated. - Sampled ja, ko, th, hi (and ca) on about 8 keys, including the long switch description, the download/checksum texts and the module/plug-in error sentences. They are natural and consistent, and product names (OMSI 2, OmsiLaunch, SHA-256) stay untranslated. I am not a native reviewer, so this is a structure and sanity check only.
- The diff touches only
app.ymlandCHANGELOG.md, so there is no behavior change. The CHANGELOG entry is under Added, referencing #459. Commit messages have no forbidden mention.
The merge rule still needs CI 7/7 on this exact head.
Generated by Claude Code
lmonteirotech
left a comment
There was a problem hiding this comment.
Verdict: APPROVED (head dfae110; COMMENT review because this account authored the PR)
Re-verified on the exact head. The delta from the previously approved b07022d is only the merge of main (second parent 0657b71 is the current main tip, which includes #549):
app.ymlis byte-identical to b07022d in the PR's own part (0 changed lines between b07022d and this head); the onlyCHANGELOG.mddifferences are main's own entries (map header, OmsiLaunch hardening, start point search).- The PR's diff against main is still exactly 2 files, +2129 lines (
app.yml+ one CHANGELOG line). check_locales.pymain vs. head: +76 keys, +1976 texts, 0 changed, 0 errors, 0 warnings.
The earlier quality and placeholder checks from the b07022d review still hold. The merge rule still needs CI 7/7 on this head.
Generated by Claude Code
Requested by Leo · project thread
Refs #459 and #487 (OL-27, the texts present on main; later pieces add their own).
What changes for the player?
Nothing yet: the original OMSI 2 mode is still hidden. When it is shown, its Setup card, install and removal windows, engine switch and OmsiLaunch error sentences read in the player's language.
How to test
python3 .github/scripts/check_locales.py <app.yml before> <app.yml after>reports 76 new keys, 0 changed, 0 errors, 0 warnings (every new key is a text the code uses). Switch the launcher language and open Setup withDEPOT_ORIGINAL_ENGINE=1.What does this change, and why?
Adds the 76 new English keys of
original_ui.rs,original.rs, the engine switch inshell.rs,session.rsand theerrors.rssentences tolocales/app.yml, each in all 26 other languages the file carries, Catalan included (placeholders%{version},%{repo},%{license},%{done},%{total},%{name},%{n},%{size},%{files}kept). Product names (OMSI 2, OmsiLaunch, Project Depot, SHA-256, .NET) stay untranslated. Texts of later pieces (Settings, Maps, modules) will be added with those pieces. Not translated: raw technical failure details (for example a file name in an error), which stay as logged.Checklist
cargo test --workspaceandcargo build --releasepass (locale check and the i18n tests were run locally; CI runs the rest)🤖 Generated with Claude Code
https://claude.ai/code/session_01A6PhrRqXsvNREC8Wn4vpJ8