Skip to content

feat(i18n-ko): desktop slice 1 — settings-preferences/onboarding/shell/permissions #3977

Description

@me2seeks

Problem

Desktop Settings / Onboarding / Shell surfaces have no ko catalog. Korean users see English fallback for the most visible entry points (language selector, onboarding, shell chrome, permissions).

Desired outcome

Add ko entries via UiCatalog<T> for:

  • settings-preferences-copy.ts (including language selector labels: Follow system / 한국어 / English / 中文)
  • onboarding-copy.ts
  • shell-copy.ts + shell-remaining-copy.ts
  • permission-center-copy.ts

Follows domain-owned catalog pattern in #2672; content lives next to its UI, as in #3853.

Alternatives or workarounds

Leave these surfaces in English for ko.

Scope

Only the four domains above. No global catalog, no framework change. Other settings-* / conversation / artifact / browser covered in slice 2.

Acceptance criteria

Parent: #3974

Activity

  1. me2seeks commented on Sep 4, 2026

    @me2seeks
    ContributorAuthor

    I would like to take this bounded Desktop localization slice.

    I will stay within the four catalogs named in the issue: settings preferences, onboarding, shell, and permission center. The work will:

    • replace the temporary English fallback entries with reviewed Korean copy;
    • keep the typed UiCatalog shape and existing English and Chinese behavior unchanged;
    • add focused catalog tests for ko versus en;
    • capture the requested Settings screenshots at desktop and narrow widths.

    I am aware that draft PR #4515 references this issue because it supplies temporary catalog stubs for the native/E2E slice. I will coordinate by rebasing on that integration shape and will not duplicate its native-surface or fixture work.

    中文摘要:我认领 Desktop 韩语本地化 slice 1,只处理 issue 指定的四个 UI catalog 和对应测试、截图,不重复 #4515 的 native/E2E 工作。

    Claimed with OpenAI Codex assistance on behalf of @testikun.

    A small suggestion here: we already have a native Korean contributor, @heeoneie, who previously expressed interest in helping with Maka's Korean localization.

    Given that, I'd prefer that we leave meaningful room for him and other native Korean speakers to take ownership of the translation-focused slices.

    Implementation help is always welcome, but for the actual Korean wording, tone, and UX copy, native-speaker judgment is particularly valuable. It would be a shame if contributors who are a natural fit for this work were crowded out simply because someone else claimed the issues first.

    Let's optimize for localization quality and meaningful community participation, rather than treating this as first-come, first-served.

  2. heeoneie commented on Sep 4, 2026

    @heeoneie
    Contributor

    Thanks for the thoughtful comment — I'd like to take you up on that directly.

    I'm already working on the core piece (#3975, adding ko to the UiLocale model), so slice 1 would build naturally on top of that.

    Since you flagged the Korean wording, tone, and UX copy specifically as the native-speaker-dependent part, I'd like to own that directly rather than review it after the fact — I'll write the ko entries for settings-preferences-copy.ts, onboarding-copy.ts, shell-copy.ts + shell-remaining-copy.ts, and permission-center-copy.ts myself, following the UiCatalog pattern from #2672/#3853, plus the catalog tests and Settings screenshots the issue asks for.

    You already opened a claim on this issue, so let me know how you'd like to handle that — happy to coordinate however works, but I'd rather take slice 1 outright than split it.

  3. heeoneie commented on Sep 14, 2026

    @heeoneie
    Contributor

    Following up on my own comment, since this is still unassigned a week later and the help wanted label is still on it.

    I'd like to confirm what I said earlier: I'll take slice 1 and write the Korean copy for all four catalogs myself — settings-preferences, onboarding, shell (including shell-remaining) and permission-center — with the catalog tests the issue asks for.

    Could someone assign it to me and drop the help wanted label? That is the part I actually care about here. The issue has sat unowned while two claims pointed at it, and an unassigned slice with an open label is how two people end up writing the same 2,900 lines independently.

    On sequencing, so the acceptance criteria don't surprise anyone later. The four catalogs branch from the stack base #5100 rather than main, and I can prepare them before the stack is assembled. The Settings screenshots at 1280 and 430 for en and ko need a working ko build, so those necessarily come after integration — I'd rather flag that now than have the slice look incomplete when the copy is ready.

    @me2seeks @testikun — flagging you both since the earlier claim sat between you. I'm starting on the catalogs now. If either of you has Korean copy already drafted for these four, send it over and I'll build on it rather than duplicate it.

  4. me2seeks commented on Sep 14, 2026

    @me2seeks
    ContributorAuthor

    @heeoneie — confirmed: #3977 is assigned to you. I have removed help wanted so this translation slice is no longer an open claim.

    You own the Korean copy for the four named catalog domains and their focused catalog tests. Base the implementation on the official stack base #5100 (stack/i18n-ko-core), not on #5011 or main.

    The requested Settings screenshots depend on a runnable complete Korean stack, so it is correct to add them after the relevant integration layers are present. Please open the catalog work as a draft when ready, state that dependency explicitly, and do not wait to prepare the typed copy and tests.

    @testikun — thank you for the earlier offer to take this slice. Please leave the Korean-copy implementation to @heeoneie so we do not duplicate a native-speaker-owned translation surface. Implementation review and validation help remain welcome once the draft is open.

  5. heeoneie commented on Sep 17, 2026

    @heeoneie
    Contributor

    Slice 1 is up as a draft: #5451 (base stack/i18n-ko-core).

    It covers the four catalogs scoped above plus the language selector rows in
    all four locales. Opened as a draft because the acceptance criteria's unit
    tests and screenshots are still outstanding, and because a repo-wide
    typecheck cannot pass until the rest of the stack lands — the PR body tracks
    both as a task list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions