Skip to content

Fix: use the Persian terms shipped software uses - #168

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

SandObserver merged 1 commit into
mainfrom
fix/persian-terminology

Conversation

@SandObserver

Copy link
Copy Markdown
Owner

Summary

  • Replace درون‌ریزی and برون‌بری with وارد کردن and خروجی across the 12 Persian strings that carry them, matching the wording Immich ships for the same two actions.
  • Settle one word per concept: ویجت for widget across 7 strings plus 3 widget-catalogue hints, and فایل for file across 2 strings plus the system-summary filesystem slot labels.
  • Translate the literal Import left inside toast.importNoChange.
  • Reword importForeign.willAdd and willCreate, which read as adjectives rather than as the action about to be taken.
  • Add a REJECTED gate to i18n-coverage.test.mjs that fails on any superseded term, in the dashboard catalogue and in every widget catalogue, so a bulk retranslation cannot reintroduce one.
  • Record the Persian glossary in docs/i18n.md beside the existing term table, with the sources it was taken from.

Testing
All green: 1081 frontend tests, 1334 backend tests at 94.35% lines, lint, format, both typechecks, the cache-busting check, and the Docker build. Added 1 test, verified to fail by reintroducing a rejected term before reverting.

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.

The Persian catalogue reached for dictionary coinages that translated
dashboards do not use, and named one concept two ways.

درون‌ریزی and برون‌بری for import and export appear in none of Immich, Jellyfin
or Uptime Kuma. All three build import on وارد کردن, and Immich ships
وارد کردن پیکربندی for "Import configuration" and خروجی for "Export".

A widget was both ابزارک and ویجت, and a file both فایل and پرونده, in the same
interface. One message left the English word "Import" inside the Persian, which
the coverage test could not see because the value as a whole differs from the
English. Two headings read as adjectives rather than as what is about to happen.

The glossary is recorded in docs/i18n.md, and a test fails on any of the
rejected terms in the dashboard catalogue or any widget catalogue.
@SandObserver SandObserver added the bug Something isn't working label Aug 29, 2026
@SandObserver
SandObserver merged commit a21d98e into main Aug 29, 2026
4 checks passed
@SandObserver
SandObserver deleted the fix/persian-terminology branch August 29, 2026 13:51
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