Skip to content

i18n(tr): improve Turkish translations and parity with EN#959

Closed
cenktekin wants to merge 1 commit intoChatGPTBox-dev:masterfrom
cenktekin:feat/i18n-tr-improvements-v2
Closed

i18n(tr): improve Turkish translations and parity with EN#959
cenktekin wants to merge 1 commit intoChatGPTBox-dev:masterfrom
cenktekin:feat/i18n-tr-improvements-v2

Conversation

@cenktekin
Copy link
Copy Markdown

@cenktekin cenktekin commented Mar 28, 2026

Summary

Improve Turkish localization with better terminology and EN parity.

Changes

  • Terminology: Polish→Parlat, Precise→Kesin, Float Window→Yüzdür, UNAUTHORIZED→Yetkisiz
  • Add actionable guidance to context length error: 'lütfen konuşmayı temizleyin ve tekrar deneyin'
  • Update Claude login retry hint to match EN: 'Ve sağ üst köşedeki yeniden dene düğmesine tıklayın'
  • Add missing EN key: 'Crop Text to ensure the input tokens do not exceed the model's limit'
  • Minor: Forever→Süresiz

Scope

  • File: src/_locales/tr/main.json only
  • No runtime logic changes

Validation

  • Only localization file changed — no build/test required

Notes

Clean restart from closed PR #898. Single commit, no conflicts with upstream master.


Open with Devin

Summary by CodeRabbit

  • Localization
    • Updated Turkish language translations for multiple UI labels and messages, improving accuracy and clarity.
    • Enhanced Turkish guidance text, including instructions for handling context length limitations.
    • Added new Turkish localization for text cropping functionality to prevent token limit issues.

- Terminology fixes: Polish→Parlat, Precise→Kesin, Float Window→Yüzdür, UNAUTHORIZED→Yetkisiz
- Add actionable guidance to context length error message
- Update Claude login retry hint to match EN wording
- Add missing EN key: Crop Text
- Minor wording: Forever→Süresiz
Copilot AI review requested due to automatic review settings March 28, 2026 16:01
@qodo-code-review
Copy link
Copy Markdown
Contributor

Review Summary by Qodo

Improve Turkish translations and enhance EN parity

📝 Documentation

Grey Divider

Walkthroughs

Description
• Improve Turkish terminology consistency: Polish→Parlat, Precise→Kesin, Float Window→Yüzdür,
  UNAUTHORIZED→Yetkisiz
• Add actionable guidance to context length error message with cleanup instructions
• Update Claude login retry hint to match English wording with specific UI guidance
• Add missing translation key for Crop Text feature
• Minor wording refinement: Forever→Süresiz
Diagram
flowchart LR
  A["Turkish Localization File"] -->|Terminology Updates| B["Polish→Parlat, Precise→Kesin"]
  A -->|UI Text Improvements| C["Float Window→Yüzdür, UNAUTHORIZED→Yetkisiz"]
  A -->|Error Message Enhancement| D["Add cleanup guidance to context length error"]
  A -->|Login Hint Alignment| E["Match English retry button instruction"]
  A -->|Missing Key Addition| F["Add Crop Text translation"]
  A -->|Minor Refinements| G["Forever→Süresiz"]
Loading

Grey Divider

File Changes

1. src/_locales/tr/main.json 📝 Documentation +8/-7

Turkish localization improvements and EN parity updates

• Updated 4 terminology translations for better accuracy and consistency (Polish, Precise, Float
 Window, UNAUTHORIZED)
• Enhanced context length error message with actionable cleanup instructions
• Aligned Claude login retry hint with English version for improved user guidance
• Added missing translation for Crop Text feature
• Refined minor wording (Forever to Süresiz)

src/_locales/tr/main.json


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown
Contributor

qodo-code-review bot commented Mar 28, 2026

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📎 Requirement gaps (0) 📐 Spec deviations (0)

Grey Divider


Remediation recommended

1. Token term inconsistent 🐞 Bug ⚙ Maintainability
Description
The new Turkish translation for the crop-text option uses “token” while other existing Turkish UI
strings use “Jeton” for the same concept, creating inconsistent terminology for users. This affects
clarity in settings related to token limits.
Code

src/_locales/tr/main.json[165]

+  "Crop Text to ensure the input tokens do not exceed the model's limit": "Girdi token sayısının model sınırını aşmaması için metni kırp",
Evidence
In Turkish locale strings, token-related UI labels already translate “Token” as “Jeton” (e.g., “Max
Response Token Length” -> “Maksimum Cevap Jeton Uzunluğu”), but the newly added translation uses
“token” (“Girdi token sayısı...”), mixing two terms for the same concept in the same UI.

src/_locales/tr/main.json[104-110]
src/_locales/tr/main.json[162-166]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
Turkish locale strings use two different terms for the same concept (“token” vs “Jeton”). This creates inconsistent UI terminology in settings related to token limits.

### Issue Context
- Existing TR strings already use “Jeton” for token-related concepts.
- The newly added “Crop Text…” translation uses “token”.

### Fix Focus Areas
- src/_locales/tr/main.json[104-110]
- src/_locales/tr/main.json[162-166]

### Expected change
Update the new translation (or the existing ones) to consistently use one term (e.g., change “Girdi token sayısı…” to “Girdi jeton sayısı…” if standardizing on “Jeton”).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 28, 2026

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

Turkish localization strings updated across multiple UI labels including "Float the Window," error messages, and feature names. A new localization entry for "Crop Text" was added with guidance about managing input tokens relative to model limits.

Changes

Cohort / File(s) Summary
Turkish Localization Updates
src/_locales/tr/main.json
Updated 7 translation strings with more precise Turkish equivalents; extended "Exceeded maximum context length" message with actionable guidance to clear conversation and retry; added new "Crop Text" entry with explanation about input token management.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 Hop, hop! Turkish words now dance with grace,
"Yüzdür" floats through interface space,
Fresh translations, new guidance so clear,
Token limits now whisper in every ear,
Our fuzzy friend greets the Turkish cheer! 🌙

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and accurately summarizes the main change: improving Turkish translations and achieving parity with English localization strings.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates Turkish translations in src/_locales/tr/main.json to improve accuracy, including corrections for 'Polish' and 'Precise' and updated instructional text. Feedback suggests refactoring translation keys to be semantic rather than full English sentences to improve maintainability and avoid confusion when translations deviate from the literal key text.

"Please login at https://bing.com first": "Lütfen önce https://bing.com adresinde oturum açın",
"Then open https://chatgpt.com/api/auth/session": "Ardından https://chatgpt.com/api/auth/session adresini açın",
"And refresh this page or type you question again": "Ve bu sayfayı yenileyin veya sorunuzu tekrar yazın",
"And refresh this page or type you question again": "Ve sağ üst köşedeki yeniden dene düğmesine tıklayın",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

While the new Turkish translation correctly aligns with the English value ('And click the retry button in the top right corner'), the key And refresh this page or type you question again is now misleading. This creates a maintainability issue, as developers using this key would expect a different text. For better code clarity and long-term maintenance, it would be beneficial to refactor this to use a more semantic key (e.g., clickRetryButtonHint) across all locale files and the source code. This could be addressed in a follow-up task.

"Type": "Tür",
"Mode": "Mod",
"Custom": "Özel",
"Crop Text to ensure the input tokens do not exceed the model's limit": "Girdi token sayısının model sınırını aşmaması için metni kırp",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Using the full English text as the translation key is a potential maintainability issue. If the source English text ever needs to be changed (even for a minor typo), the key itself must be changed, requiring updates across all locale files and in the code. A more robust and maintainable approach is to use shorter, semantic keys (e.g., cropTextDescription). While this PR follows the existing pattern in the file, it would be beneficial for the project's long-term health to consider a future refactoring of these keys.

@cenktekin cenktekin closed this Mar 28, 2026
Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

@cenktekin cenktekin deleted the feat/i18n-tr-improvements-v2 branch March 28, 2026 16:03
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Turkish locale (tr) strings to improve terminology, clarity, and keep parity with the English locale for UI labels and user-facing guidance.

Changes:

  • Refines several Turkish translations (e.g., “Float the Window”, “UNAUTHORIZED”, “Polish”, “Precise”, “Forever”) for clearer terminology.
  • Improves guidance text for the “Exceeded maximum context length” error to include an actionable next step.
  • Adds the missing Turkish entry for the “Crop Text…” key to match EN parity.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

"Please login at https://bing.com first": "Lütfen önce https://bing.com adresinde oturum açın",
"Then open https://chatgpt.com/api/auth/session": "Ardından https://chatgpt.com/api/auth/session adresini açın",
"And refresh this page or type you question again": "Ve bu sayfayı yenileyin veya sorunuzu tekrar yazın",
"And refresh this page or type you question again": "Ve sağ üst köşedeki yeniden dene düğmesine tıklayın",
Copy link

Copilot AI Mar 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bu metinde düğme adı "yeniden dene" olarak geçiyor; ancak aynı dosyada "Retry" çevirisi "Tekrar Dene" (bkz. src/_locales/tr/main.json:93). UI’daki düğme etiketiyle birebir eşleşmesi için burada da aynı ifadeyi ve büyük harf kullanımını kullanın (örn. "Tekrar Dene" düğmesi).

Copilot uses AI. Check for mistakes.
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