feat(i18n): add Turkish (tr) translation#4697
Conversation
Adds a complete Turkish translation (tr.json) for the Odysseus UI. All 409 keys from en.json are translated, following the structure established in PR pewdiepie-archdaemon#2383. Refs pewdiepie-archdaemon#58 (partial - Turkish locale) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Holding this rather than reviewing it standalone, since it can't land or be validated yet:
The translation work is wanted (this is part of the i18n effort in #58), so please keep it open but coordinate on the main issue #58 (and #2383): the per-language PRs should land after the framework, re-synced against the final |
|
Closing this for now. A locale file can't function on its own — it needs the client-side i18n framework to load static/locales/*.json, and the framework PR this was built against, #2383, was closed by its author on 2026-06-25 (after #2676 before it). With no framework in dev, there's no loader to consume tr.json and no en.json to validate it against. The translation isn't lost — it's a complete 409-key Turkish catalog, ready to re-submit (re-keyed if needed) once a framework and its en.json land. Following the direction question on #58. |
Summary
Adds a complete Turkish (
tr) translation for the Odysseus UI asstatic/locales/tr.json. All 409 keys fromstatic/locales/en.jsonare translated 1:1, covering navigation, brain, chat, settings, visibility, theme, sort, and common UI strings. Follows the structure established in PR #2383 (same approach as the German locale PR #4502), so it drops in once that framework lands.Target branch
dev, notmain.Linked Issue
Part of #58 (i18n umbrella — partial: Turkish locale). I previously volunteered a Turkish locale on #58.
Type of Change
Checklist
trlocale PR).deven.json(409/409, no missing/extra keys), and that all{count}placeholders and code/paths (e.g.Ctrl+K,SKILL.md,语言) are preserved.How to Test
Data-only locale file; it activates once the #2383 i18n framework merges (same dependency as the German locale PR #4502).
static/js/i18n.js+ the Settings language selector).Static checks already run locally:
python3 -c "import json; json.load(open('static/locales/tr.json'))"(valid JSON) and a key-path diff againsten.json(409/409, zero missing/extra).Visual / UI changes
Data-only locale file — no CSS/HTML/SVG/styling changes, no new component patterns, no emoji; translated text only. In-app screenshots aren't possible until the #2383 framework merges.