8000 Feature Request: Korean Language Support (한국어 지원) · Issue #147 · amirlehmam/wmux · GitHub
[go: up one dir, main page]

Skip to content

Feature Request: Korean Language Support (한국어 지원) #147

Closed

Description

@jjang750

Hello, thank you for creating wmux.

I am a Korean user and would like to request Korean language support for the wmux user interface.

It would be helpful if interface elements such as the following could be displayed in Korean:

Settings
Menus and buttons
Notifications and confirmation messages
First-launch tutorial
Error messages
Command palette descriptions

If full Korean localization is difficult to implement immediately, adding an internationalization framework such as i18n and allowing community-provided translation files would also be greatly appreciated.

I would be willing to help review or contribute to the Korean translation if needed.

Thank you for considering this request.

Activity

  1. yong076 commented on Aug 6, 2026

    @yong076
    Contributor
  2. amirlehmam commented on Aug 6, 2026

    @amirlehmam
    Owner

    한국어 지원이 0.45.0에 포함되었습니다. 검토해 주시면 감사하겠습니다.

    Shipped in 0.45.0. Settings → General → Interface language → 한국어.

    On the framework question: it already existed — wmux has had an i18n layer since #56 (en/es/fr/it/zh). So this wasn't a framework project, it was one dictionary file plus one row in a registry table. Which means Korean landed complete rather than partial: 463 of 463 keys, not a stub that falls back to English for anything real.

    Your list, specifically:

    You asked for Status
    Settings ✅ all 9 panels — General, Sidebar, Workspace, Terminal, Notifications, Browser, Profiles, Shortcuts, Help
    Menus and buttons ✅ workspace context menu, tab context menu, command palette, titlebar, address bar
    Notifications and confirmation messages ✅ including the Windows toast text and the close-session confirm dialog
    First-launch tutorial ✅ all 7 steps
    Error messages ✅ markdown/file errors, the ErrorBoundary card, diff-pane failures
    Command palette descriptions ✅ categories, placeholder, empty state

    You may not have to touch Settings at all. Language is only written to disk when you explicitly pick one; otherwise wmux re-derives it from the Windows display-language list at every launch. So if your display language is Korean and you never manually set a language, upgrading to 0.45.0 switches the UI to Korean by itself. If you did pick a language once, that choice is respected and you'll want the dropdown.

    On your offer to review — yes, please

    The strings are one file: src/renderer/i18n/locales/ko.ts. A PR editing only that file can't break anything else, and untranslated or removed keys fall back to English rather than rendering blank.

    The parts where I made a judgment call and would most value a native speaker overruling me:

    • pane vs window. Most Korean Windows software renders both as 창. wmux h 8000 as separate shortcuts for both ("Close pane" and "Close window" sit near each other in the shortcut list), so I split them: pane = 창, window = 윈도우. Consistent, but 윈도우 may read like a loanword where 창 would be natural.
    • surface = 서피스. "Surface" is wmux's own term for a tab that may be a terminal, a browser or a markdown view. I transliterated it. Plain 탭 might just be better, at the cost of losing the distinction from a browser tab.
    • workspace = 작업 공간 rather than 워크스페이스.
    • "Needs you" = 확인 필요. This is the sidebar status when an agent is blocked waiting on you — it should read as urgent at a glance, and I'm not sure 확인 필요 carries that.
    • orchestration = 오케스트레이션, transliterated.
    • Korean has no grammatical plural, so orchestratingOne/orchestratingMany are deliberately the same sentence. That's intentional, not a copy-paste slip.

    Two things I did not translate, so the boundary is clear: terminal contents (wmux transmits bytes; what your shell and tools print is theirs), and wmux --help on the CLI. The website is also still English/French/Arabic/Japanese.

    Thanks for filing this with the fallback suggestion attached — "ship the framework and let the community translate" is the right instinct, and it's why this was a one-file change instead of a refactor.

  3. amirlehmam commented on Aug 6, 2026

    @amirlehmam
    Owner

    Following up: you asked for two things, and I only shipped one of them yesterday.

    If full Korean localization is difficult to implement immediately, adding an internationalization framework such as i18n and allowing community-provided translation files would also be greatly appreciated.

    You framed that as a fallback if Korean was too much work. It isn't a fallback — it's the more useful half, and it's the part that outlives any one language. It's in 0.46.0.

    Correcting Korean no longer requires me

    Drop a file in ~/.wmux/locales/, next to config.toml:

    // ~/.wmux/locales/ko.json
    { "strings": { "settings.title": "환경설정" } }

    wmux reload-config and it's live. That overrides only the keys you list — the other 463 Korean strings stay bundled, so fixing one word doesn't mean maintaining a fork of the whole dictionary. This matters for your review offer specifically: you can now correct the terminology I guessed at today, in your own install, instead of waiting on me to cut a release.

    Adding a language works the same way

    // ~/.wmux/locales/de.json
    { "label": "Deutsch", "strings": { "settings.title": "Einstellungen" } }

    A new code adds a language to the dropdown and falls back to English for whatever it doesn't translate — so a 20-key file is useful immediately and can grow. A flat map without the label/strings wrapper works too.

    wmux locales          # what loaded, and why any file was rejected
    wmux locales path     # print ~/.wmux/locales
    wmux reload-config    # apply edits without restarting

    Settings → General now points at the directory, so the next person who dislikes a string finds this without reading the docs. Full reference: docs/config.md → UI translations.

    Details worth knowing before you write a file

    • Base tags only (de, not de-AT). Auto-detection collapses the OS locale to its base tag, so a region-subtagged file would define a language that could never be selected automatically — better to reject it loudly than ship one that silently never activates.
    • Unknown keys are dropped and counted, not merged. wmux locales tells you how many, which is how you'll notice a typo or a key a later release removed.
    • Placeholders like {count} and {name} must survive verbatim — the UI substitutes them, so a renamed token silently breaks that string.
    • A malformed file costs you that file only. Bundled languages can't be removed by anything you put in that directory.
    • Deleting the file undoes it, including a language you'd selected — wmux falls back to your OS language rather than rendering raw keys.
    • The key list is the English dictionary, which is the source of truth: en.ts.

    The upstream path is still open and still better for everyone else: a PR adding or editing src/renderer/i18n/locales/ko.ts makes your corrections the default for every Korean user, not just yours. My earlier list of terminology I'm unsure about (pane 창 vs window 윈도우, surface 서피스, "Needs you" 확인 필요) stands — but you're no longer blocked on me to act on any of it.

    Leaving this open until you've had a look at the translation.

  4. jjang750 commented on Aug 6, 2026

    @jjang750
    Author

    Thx so Faaaaaaaaaaaaaaaaaaaast Update!!

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0