Skip to content

Fix: settle one term per concept in the remaining locales - #170

Merged
SandObserver merged 1 commit into
mainfrom
fix/terminology-remaining-locales
Aug 29, 2026
Merged

SandObserver merged 1 commit into
mainfrom
fix/terminology-remaining-locales

Conversation

@SandObserver

Copy link
Copy Markdown
Owner

Summary

  • Replace Abzeichen with Badge in 6 German strings and Beschriftung with Bezeichnung in 2, matching the majority already in the catalogue and the reference locales.
  • Replace 标记 with 徽章 in 5 Chinese strings, 挂件 with 小组件 in 3, and 仪表盘 with 仪表板 in 2, including the main navigation label.
  • Translate Logging in the German, Spanish, French and Persian log-level labels, and API key in all five, using the terms the reference locales use (API-Schlüssel, Clave de API, Clé d'API).
  • Make the Collection ID hint name that field the way its own label does, in German, Spanish, French and Persian.
  • Translate the Persian Import, Export, Authentication Proxy and self-signed that were left in Latin script.
  • Extend REJECTED in i18n-coverage.test.mjs to German and Chinese, with the counts behind each choice recorded as a comment.
  • Add a test that reads the Persian and Chinese catalogues for untranslated English, ignoring markup tag names, placeholder names, URLs and an allowlist of brands, protocols and formats.
  • Record the per-language glossary in docs/i18n.md, including that Spanish and French were audited and found consistent.

Testing
All green: 1087 frontend tests, 1334 backend tests at 94.35% lines, lint, format, both typechecks, the cache-busting check, and the Docker build. Added 4 tests; the untranslated-English scan is what surfaced the Persian and Chinese cases fixed here.

Checklist

  • Stays within the project constraints: one container, no runtime dependencies, no build step (see CONTRIBUTING.md).
  • Tests added or updated for new logic, and the full suite, lint, and typechecks pass.
  • Docs updated if behavior or configuration changed.
  • CHANGELOG.md updated under Unreleased if the change is user-visible.

@SandObserver SandObserver added the bug Something isn't working label Aug 29, 2026
The Persian pass found two failures a machine translation makes: it renders one
concept as a different word in each string, and it leaves a term it does not
recognise in English. The other four locales were audited the same way, against
the German, Spanish, French and Chinese locales of Immich, Jellyfin and Uptime
Kuma.

German named a badge both Badge and Abzeichen; the reference locales use Badge
26 times and Abzeichen never. It also named a label both Bezeichnung and
Beschriftung. Chinese named a badge 标记, a widget 挂件 and the dashboard 仪表盘
in a minority of strings, against 徽章, 小组件 and 仪表板 elsewhere. Spanish and
French were already consistent and are unchanged.

Logging, API key and Collection ID were left in English in four locales, and
Import, Export and Authentication Proxy in Persian, in every case beside a
label that did translate the same term.

The glossary test now covers German and Chinese, and a second test reads the
Persian and Chinese catalogues for English left in the translation, which is
detectable there because the script differs.
@SandObserver
SandObserver force-pushed the fix/terminology-remaining-locales branch from 513e7ce to 3e79175 Compare August 29, 2026 17:22
@SandObserver
SandObserver merged commit b7169c3 into main Aug 29, 2026
4 checks passed
@SandObserver
SandObserver deleted the fix/terminology-remaining-locales branch August 29, 2026 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant