Skip to content

Translations

The app ships in English and Turkish. The language is picked from the browser and can be changed from the header (文A icon) or Settings → General. The choice is saved in localStorage under zimmet-lang.

  • Strings live in src/i18n/en.ts (the source of truth) and src/i18n/tr.ts. tr.ts is typed against en.ts, so a missing or extra key fails tsc. t('…') keys are type-checked too.
  • Plurals use i18next’s _one / _other suffixes.
  • Dates use the matching date-fns locale through useDateLocale.
  • Activity and notifications are stored as data (kind + IDs), not sentences, so they render in the viewer’s language.
  • User content (type names, labels, comments, file names) is not translated.
  1. Copy src/i18n/tr.ts and translate it.
  2. Register it in src/i18n/index.ts: languages, resources and dateLocales.
  3. Run npm run build to catch missing keys.