i18n: add Korean (ko) locale support#4347
Conversation
Adds full Korean translation (752/752 keys) and registers Locale::Ko throughout the codebase, mirroring the existing vi/ja/zh-Hans/es-419/ pt-BR pattern: - crates/tui/locales/ko.json: new 752-key Korean translation - crates/tui/src/localization.rs: Locale::Ko enum variant, code/display name, ALL_LOCALES lists, locale-specific string match arms, and locale-code parsing - crates/tui/src/tui/setup/mod.rs: (Locale::Ko, ...) match arms for setup-flow strings - crates/tui/src/commands/groups/config/config.rs: Locale::Ko display in `/config` output - crates/tui/src/commands/groups/debug/change.rs: Locale::Ko display name in language switcher - crates/tui/src/tui/onboarding/language.rs: Korean added as option 9 in the onboarding language picker - All 6 pre-existing locale JSON files: fixed onboarding OnboardLanguageFooter hint from "Press 1-8" to "Press 1-9" to account for the new 9th language option
|
Thanks @moduvoice for taking the time to contribute. This repository is observing a maintainer-managed PR intake gate in dry-run mode, so this pull request is staying open. This note helps maintainers prepare the allowlist before any enforcement is considered. Please read |
Adds full Korean translation (752/752 keys) and registers Locale::Ko throughout the codebase, mirroring the existing vi/ja/zh-Hans/es-419/ pt-BR pattern: - crates/tui/locales/ko.json: new 752-key Korean translation - crates/tui/src/localization.rs: Locale::Ko enum variant, code/display name, ALL_LOCALES lists, locale-specific string match arms, and locale-code parsing - crates/tui/src/tui/setup/mod.rs: (Locale::Ko, ...) match arms for setup-flow strings - crates/tui/src/commands/groups/config/config.rs: Locale::Ko display in `/config` output - crates/tui/src/commands/groups/debug/change.rs: Locale::Ko display name in language switcher - crates/tui/src/tui/onboarding/language.rs: Korean added as option 9 in the onboarding language picker - All 6 pre-existing locale JSON files: fixed onboarding OnboardLanguageFooter hint from "Press 1-8" to "Press 1-9" to account for the new 9th language option Harvested from PR #4347 by @moduvoice
Summarize the underwater interaction system, treatment/motion independence, compact-room fixes, footer notice ownership, ASCII tier, and localization parity work in the 0.8.68 changelog section, and credit the harvested community work: Korean locale (PR #4347 @moduvoice), Anthropic schema sanitization (PR #4346 @qinlinwang), Anthropic cache-write pricing (PR #4348 @knqiufan), NetBSD bindgen (PR #4349 @ci4ic4), and the #4208 copy-pollution report (@eugenicum).
|
Thanks @moduvoice — your contribution landed in
Closing this PR now that the code is on If you want to land more work and would prefer your future PRs merge cleanly without a harvest step, the |
Motivation
This adds Korean (
ko) translation support — to help Korean-speaking users use thisopen-source project more comfortably in their own language.
한국 사람들의 오픈소스 이용에 도움이 되게 하기 위해서 한글화 작업을 하였습니다.
Changes
crates/tui/locales/ko.jsonwith all 752 leaf keys translated to Korean.Locale::Kotocrates/tui/src/localization.rs(enum variant, tag, display name,all()/onboarding lists, translated helper strings,parse_locale, test locale-file mapping).Locale::Komatch arms incrates/tui/src/tui/setup/mod.rsfor the guided constitution/onboarding wizard (freeform principle, evidence, communication style, privacy, autonomy, authority, ratification preview, and related test fixtures) — purely additive, mirroring the existing per-language arms with no changes to shared logic.Locale::Koarms tocrates/tui/src/commands/groups/config/config.rs(locale tag display) andcrates/tui/src/commands/groups/debug/change.rs(locale display name).'9', "ko", "한국어", "(Korean)") tocrates/tui/src/tui/onboarding/language.rs.OnboardLanguageFooterin all six existing locale files (en, es-419, ja, pt-BR, vi, zh-Hans) from "Press 1-8" to "Press 1-9" since the onboarding language picker now has 9 options.Testing
cargo check -p codewhale-tui --lockedpasses clean.ko.jsonhas exactly the same 752 leaf keys asen.json(0 missing, 0 extra).