feat(installer): multi-language installer (EN / JA / RU / ZH / KO) - #29
Conversation
Adds a language picker to the setup wizard with five languages: - English / Japanese / Russian — Inno Setup's bundled .isl files. - Chinese (Simplified) — the community translation, bundled under installer/i18n/. - Ainu (Aynu itak) — a partial manual locale: an English base with vetted Ainu welcome strings (irankarapte, porokram, aeynuyep, Aynu itak — from the project README and Ainu dictionaries via the Ainu MCP); other wizard strings fall back to English, pending native-speaker review. The final-page instruction (switch input with Win+Space, type romaji) is translated per language. Non-ASCII files carry a UTF-8 BOM so Inno reads them as UTF-8 (not system ANSI) on the Windows build runner.
📝 WalkthroughWalkthroughThe installer script now prompts for a setup language, declares five supported locales, and replaces the shared finish text with localized per-language labels. The script file also includes a UTF-8 BOM prefix. ChangesInstaller localization
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
7977a92 to
46cb101
Compare
Keep this PR to the four well-supported locales (EN / JA / RU / ZH-Hans). The partial English-based Ainu.isl was only a placeholder; a proper, full-fledged Ainu (Aynu itak) locale — translated from mediawiki-ainu-i18n and the Ainu MCP rather than English-fallback — is built separately in its own PR.
6be3c62 to
3683229
Compare
Inno Setup 6.5.0+ ships ChineseSimplified and Korean as official languages (promoted from 'unofficial' in 6.5.0), so reference them via compiler:Languagesinstead of vendoring. Removes the bundled ChineseSimplified.isl; adds Korean with a localized finish-page instruction. Requires ISCC >= 6.5.0 on the build runner.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@installer/ainuKey.iss`:
- Around line 39-48: The installer language list in ainuKey.iss assumes
ChineseSimplified.isl and Korean.isl are present in the stock Inno Setup
install, but they may be missing on a clean runner. Update the [Languages]
entries to point to bundled .isl files for the affected locales, and keep the
existing English/Japanese/Russian entries as-is so the installer can build
reliably. Use the Language names in the [Languages] section as the place to wire
in the bundled message files.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
Adds a language picker to the setup wizard — five languages, all using Inno Setup's official bundled
.islfiles (no vendored translations):compiler:Default.isl/compiler:Languages\*.islcompiler:Languages\ChineseSimplified.islcompiler:Languages\Korean.islchoco install innosetupdefault is 6.5.x)..isscarries a UTF-8 BOM so Inno reads its non-ASCII messages as UTF-8.Ainu (Aynu itak) is a separate, attested-only locale in #37 (stacked on this PR).