feat(desktop): add German (de) locale - #81775
goetterbote2342 wants to merge 1 commit into
Conversation
Local verification (before CI)I got a Node runtime onto the machine and ran the checks locally:
The isolated setup used ambient stubs for unrelated external packages (icons, query libs) — none of the stubs touched the translation files themselves. |
|
Quick note on the I've posted a comparison over there (#51762 (comment)) proposing that whichever PR the maintainers prefer becomes the base and the Kanban translation from the other lands as a follow-up. Happy to rebase, split out the Kanban part as its own PR, or close if #51762 merges as-is with a follow-up planned — whatever is easiest for review. |
Rebased onto current main: the core desktop German locale (de.ts, catalog, languages, types) has since landed upstream, so this PR now carries only the remaining gap — the Kanban plugin bundle, whose KANBAN_LOCALES still lists en/ja/zh/zh-hant only. The de bundle is brought up to the current KanbanMessages shape (200/200 keys parity with en): adds the24 keys added upstream since the original submission (notify.* block, board import/export/rename/switch titles) and drops three keys that no longer exist in the interface, plus the select key now takes the primary-modifier argument.
81f944b to
7a59ece
Compare
|
Scope update after rebasing onto current main (7a59ece): The core desktop German locale this PR originally added — The
|
Summary
Adds German (
de) as a fully translated locale for the Hermes Desktop app, alongside the existingen/zh/zh-hant/ja/arlocales. German is a new language — it was previously not selectable at all.Changes
apps/desktop/src/i18n/de.tsdefineLocale(), covering every top-level section of theencatalog (~2,600 string keys, including the 72 settings field labels and 30 field descriptions)apps/desktop/src/i18n/languages.tsdeadded toLOCALE_OPTIONS+LOCALE_ALIASES(de,de-DE,de-AT,de-CH,german,deutsch)apps/desktop/src/i18n/types.tsLocaleunion extended with'de'apps/desktop/src/i18n/catalog.tsderegistered inTRANSLATIONSapps/desktop/src/i18n/languages.test.tsdewas unsupported)apps/desktop/src/plugins/kanban/i18n.tsen)Quality notes
en.tsand theFIELD_LABELS/FIELD_DESCRIPTIONStrees inconstants.ts— no typos in key names, string/function/object shapes match theTranslationstype 1:1, and all 38 top-level sections are covered. Untranslated keys would fall back to English via the existing runtime fallback (translateFrom), but none are left.languages.test.tsupdated for the new locale; no other tests hard-code the locale list (verified by search).Notes
I could not run
tsc/vitestlocally (no Node runtime on this machine), so the type check and i18n test suite are pending on CI.