Skip to content

feat(i18n): add Turkish (Türkçe) as a third UI language#44

Merged
jakub-przepiora merged 1 commit into
developfrom
feature/turkish-locale
May 29, 2026
Merged

feat(i18n): add Turkish (Türkçe) as a third UI language#44
jakub-przepiora merged 1 commit into
developfrom
feature/turkish-locale

Conversation

@jakub-przepiora
Copy link
Copy Markdown
Contributor

Summary

Adds Turkish (Türkçe) as a third UI language alongside English and Polish, keeping the English-first model intact: English stays the source/fallback, Turkish only overrides where translated.

Inspired by the Turkish localization from the (closed) community PR #2 — but rebuilt against the current codebase, since that PR's translations were based on a March snapshot and only covered ~6% of today's strings.

What changed

  • lang/tr.jsoncomplete UI translation, 1253/1253 strings (100% coverage)
  • lang/tr/{auth,pagination,passwords,validation}.php — framework message translations
  • Registered 'tr' => 'Türkçe' in AppServiceProvider::availableLocales()
  • Allowed tr in the language setting validation
  • Language selector auto-discovers the locale (no hardcoded language list)

Translation provenance (please review)

  • 83 strings reuse the human-verified Turkish from community PR Reworked version #2
  • ~1170 strings are machine translations (Claude). Quality is good and domain-aware (MES terminology: İş Emri, Parti, İş İstasyonu, Vardiya, Fire…), but a native-speaker review pass is recommended before production use.

Testing

  • app()->setLocale('tr') resolves translations correctly (verified on local test instance)
  • English-first preserved — en.json untouched, untranslated keys fall back to English
  • Native speaker review (recommended)
  • Visual QA across key screens (dashboard, work orders, settings, operator views)

How to test

Settings → System → Language → Türkçe → Save.

Adds full Turkish translation (1253/1253 strings) keyed by English source
strings, preserving English-first: English remains the source and fallback,
Turkish overrides only where translated.

- lang/tr.json — complete UI translation (1253 keys, 100% coverage)
- lang/tr/{auth,pagination,passwords,validation}.php — framework messages
- Register 'tr' => 'Türkçe' in AppServiceProvider::availableLocales()
- Allow 'tr' in the language setting validation
- Language selector auto-discovers the new locale (no hardcoding)

83 strings reuse human-verified translations from the original community
contribution; the remaining ~1170 are machine translations and would benefit
from a native-speaker review pass.
@jakub-przepiora jakub-przepiora merged commit e52bf98 into develop May 29, 2026
@jakub-przepiora jakub-przepiora deleted the feature/turkish-locale branch May 29, 2026 06:35
@jakub-przepiora jakub-przepiora mentioned this pull request May 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants