π€ i18n: add Korean (ko) translation#1264
Open
moduvoice wants to merge 2 commits into
Open
Conversation
Adds a complete Korean translation for the frontend (Lingui, 2293 strings across the whole app) and the backend Laravel lang catalog (709 strings), and registers the new locale in the language switcher, lingui config, and dayjs date formatting. π€
Register `ko` in the backend Locale enum so PATCH /api/users/me with
locale "ko" validates correctly, and add the missing switch case in
LanguageSwitcher so "Korean" renders as a translated label instead of
falling back to the raw locale code. Also adds the one new extractable
string ("Korean") to ko.po/ko.js introduced by this fix.
π€
Contributor
|
I have read the CLA Document and I hereby sign the CLA You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
This adds Korean (
ko) translation support β to help Korean-speaking users use thisopen-source project more comfortably in their own language.
νκ΅ μ¬λλ€μ μ€νμμ€ μ΄μ©μ λμμ΄ λκ² νκΈ° μν΄μ νκΈν μμ μ νμμ΅λλ€.
Changes
frontend/src/locales/ko.poβ new Korean catalog, 2293 translated strings (0 missing against the extraction baseline current at the time of writing, aside from ~50 long-obsolete entries left over from a pre-refactor component that no longer exists in the codebase β these are equally stale in several other established locale catalogs, so this is not specific toko)frontend/src/locales/ko.jsβ compiled Lingui catalog, verified to be an exact, reproducible compile ofko.po(re-compiled and diffed during review)frontend/lingui.config.tsβ uncomment"ko"in thelocaleslistfrontend/src/locales.tsβ addkotoSupportedLocales,availableLocales, the flag map (π°π·), and the name mapfrontend/src/utilites/dateLocales.tsβ adddayjs/locale/koimport and Korean date-format conventions (YYYYλ Mμ DμΌstyle)frontend/src/components/common/LanguageSwitcher/index.tsxβ add the"ko"case so the switcher shows the translated label "Korean" instead of falling back to the raw locale codebackend/app/Locale.phpβ registercase KO = 'ko'so the backendLocaleenum acceptsko(without this,PATCH /api/users/mewithlocale: "ko"would 422)backend/lang/ko.jsonβ new Korean backend catalog, 709/709 keys, structurally matchinges.jsonTesting
yarn messages:extractrun locally:koshows 0 missing against the current baseline (matching the same "1 missing" state as every other established locale, caused by one brand-new string this PR itself introduces via theLanguageSwitcherfix)yarn messages:compilerun locally and diffed:ko.jsreproduces byte-for-byte except for the one new key, confirming it isn't stale.po/.jsfile against upstreamdevelop: all 18 show zero net changes β no incidental reformatting bled into other localesbackend/lang/ko.jsonchecked key-for-key againstes.json: 709/709, identical structurenpx tsc --noEmit: identical error set (94 pre-existing errors, unrelated to this change β confirmed via a cleanupstream/developworktree) before and after this branch; zero new errorsNote for reviewers
Given the size of this catalog (2293 + 709 strings), a native Korean speaker's review would be valuable, especially for:
I translated with care and cross-checked terminology for consistency, but a native-speaker pass on the legal language in particular is recommended before this is considered final.
π€ AI disclosure
This translation was prepared with AI assistance. Per
CONTRIBUTING.md's AI/Bot Contributors section: