feat(ui): add Turkish localization - #662
Conversation
Reposting with corrected Markdown formatting.
pascalandr
left a comment
There was a problem hiding this comment.
Gatekeeper: two translation errors need correction before merge.
packages/ui/src/lib/i18n/messages/tr/remoteAccess.ts:8,12-13usesbağlanmak(connect), but these strings describe the server binding/listening on all interfaces or localhost. This reverses the networking operation and can mislead users about exposure. Please translate this as listening/binding instead.packages/ui/src/lib/i18n/messages/tr/messaging.ts:24-25usesbasılı tutma(press and hold), but this button toggles holding/pausing automatic follow for long replies; there is no press-and-hold gesture. Please translate the feature state rather than a gesture.
Everything else checked out: 1,602/1,602 keys, placeholders and markup preserved, tr-TR detection works, and UI typecheck/build pass. The Windows CI failure is an unrelated flaky concurrency test.
|
Thanks for the careful review! Fixed both — binding now translated as listening, and hold as pausing automatic follow rather than a gesture. |
6bcd1b2 to
2f370c8
Compare
There was a problem hiding this comment.
Both requested translations are fixed, and the follow-up Eklentiler wording is correct. Rechecked the final head: all 1,602 keys and placeholders match, and UI typecheck/build pass.
The remaining Windows failure is the same unrelated concurrency test.
Thanks @fitzgpt !!
Adds Turkish (tr-TR) as a supported UI language, following the same structure as the existing German/Nepali localization (#523).
What's included
packages/ui/src/lib/i18n/messages/tr/— all 16 message modules +index.ts, mirroring the English files. 1,602/1,602 keys translated (verified againsten/: no missing, no extra, every{placeholder}preserved).packages/ui/src/lib/i18n/index.tsx—tradded to theLocaleunion,SUPPORTED_LOCALES, andlocaleLoaders(lazy import, same as other locales).packages/ui/src/components/locale-selector.tsx—Türkçeadded to the language options.CONTRIBUTING.md— translation-files row updated to list the current locale set.Translation conventions
Following the repo's i18n rule ("add to
en/first, then every other locale"), plus the convention visible in existing locales:Verification
npx tsc --noEmit -p tsconfig.json(packages/ui) — passnpx vite build(packages/ui) — pass (build also exercisesmergeMessageParts, so no duplicate keys)vite dev: with a Turkish browser locale the app auto-detects and renders fully in Turkish; the language picker lists and selectsTürkçe(screenshots below)Screenshots
Before — English UI (fresh profile, en-US locale):

After — Turkish UI (auto-detected from browser locale):

After — language picker with Türkçe selected:
