Skip to content

feat(i18n): complete Korean error translations (43 → 233 keys)#6353

Merged
houko merged 2 commits into
mainfrom
i18n/ko-errors-complete
Jun 29, 2026
Merged

feat(i18n): complete Korean error translations (43 → 233 keys)#6353
houko merged 2 commits into
mainfrom
i18n/ko-errors-complete

Conversation

@houko

@houko houko commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Completes the Korean (ko) error-message catalog introduced in #6349.

That PR wired ko into librefang-types::i18n (the KO_FTL resource, SUPPORTED_LANGUAGES, and ftl_source), but ko/errors.ftl shipped only 43 of the 233 api-error-* keys.
The other 190 error codes therefore resolved to the raw message-key literal for Korean clients: ErrorTranslator::t_args returns the key string when its bundle has no match, and a non-English bundle is built from that language's FTL alone with no English fallback resource.
So a Korean client hitting, say, api-error-provider-not-found saw the literal api-error-provider-not-found rather than a message.

This brings ko/errors.ftl to full parity with en/errors.ftl — 233 of 233 keys.

Changes

  • Translate the remaining 190 api-error-* messages to Korean.
  • Reuse the 43 human-reviewed translations from feat(i18n): UI Korean translation  #6349 verbatim, and restructure the file to mirror en/errors.ftl exactly — same section comments, same key order — so future drift is a one-line diff against the English source.
  • Preserve every Fluent { $var } placeholder byte-for-byte.
  • Leave identifiers, config keys, and filenames untranslated where the English keeps them literal (secrets.env, base_url, model_id, [tool_invoke] allowlist, manifest.json, http:// / https://, .zip).
  • Apply a glossary-driven consistency pass so recurring terms and verb patterns render uniformly (e.g. not found → 찾을 수 없습니다, Failed to X → X하는 데 실패했습니다, Invalid → 유효하지 않은 …입니다, cron expression → 크론 표현식).

Verification

  • Key parity: ko 233 ↔ en 233 — 0 missing, 0 extra.
  • Placeholder parity: the { $var } multiset matches the English source for all 233 keys — 0 mismatches.
  • 0 values left identical to English (nothing untranslated).
  • crates/librefang-types/src/i18n.rs::all_languages_have_same_keys continues to hold for ko (the 8 critical keys are present and translated).

Notes

After #6349, ko/errors.ftl shipped 43 of the 233 api-error-* keys; the remaining 190 resolved to the raw message-key literal for Korean clients because a non-English Fluent bundle is built from that language alone with no English fallback resource.
Translate the remaining 190 messages, preserving every Fluent placeholder, and restructure the file to mirror en/errors.ftl exactly (same section comments, same key order). The 43 prior human-reviewed translations are reused verbatim.
@github-actions github-actions Bot added the size/M 50-249 lines changed label Jun 29, 2026
@seungjin

Copy link
Copy Markdown
Contributor

@houko
BTW, I just updated another Korean translation: main...seungjin:librefang:i18n-ko (just one word I noticed this morning)

I won't open a PR right away. I'll probably have a couple more changes once I start using the Korean interface this week. Moving forward, I'll submit a PR for the Korean i18n every once in a while (weekly, monthly, or whenever I feel there’s enough content for a single PR).

…register

api-error-memory-not-enabled: 사전 메모리 → 능동적 메모리. '사전' reads as dictionary / prior, distorting 'proactive'; 능동적 메모리 matches the dominant rendering already shipped in the dashboard ko.json (memory.proactive_memory).
api-error-tool-invoke-disabled / api-error-tool-requires-agent: normalize the trailing imperative from -하세요 to the catalog-dominant formal -하십시오.
@houko
houko merged commit 38116b1 into main Jun 29, 2026
31 checks passed
@houko
houko deleted the i18n/ko-errors-complete branch June 29, 2026 05:13
@houko houko mentioned this pull request Jun 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/M 50-249 lines changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants