Skip to content

chore: Fill in missing Turkish translations#26632

Open
MustafaCelal wants to merge 1 commit intoTryGhost:mainfrom
MustafaCelal:translate
Open

chore: Fill in missing Turkish translations#26632
MustafaCelal wants to merge 1 commit intoTryGhost:mainfrom
MustafaCelal:translate

Conversation

@MustafaCelal
Copy link

@MustafaCelal MustafaCelal commented Mar 1, 2026

Summary:
Added and updated missing Turkish translation strings to improve the user experience for Turkish-speaking Ghost administrators.

Why are you making it?
I noticed that several UI elements in the interface were missing localized strings, which hindered the experience for Turkish users.

What does it do?
This PR updates the Turkish language files (ghost/i18n/locales/tr/comments.json, tr/ghost.json, tr/portal.json) by adding missing translations and correcting existing ones for key sections.

Why is this something Ghost users or developers need?
Maintaining high-quality translations makes Ghost more accessible and inclusive for a wider global audience. Providing a fully localized interface helps Turkish creators manage their sites more efficiently and professionally.

Note: As this is a language translation contribution, no functional code was changed, so an automated test is not applicable. I have manually verified that the updated strings appear correctly in the admin interface.


Note

Medium Risk
Mostly string-only localization updates, but a syntax/formatting mistake in tr/portal.json (missing comma near "your inbox") could break JSON parsing and Turkish locale loading at runtime.

Overview
Improves Turkish localization coverage by filling previously empty strings and adjusting a few existing translations across tr/comments.json, tr/ghost.json, and tr/portal.json (comments UI, member/portal flows, and sign-in email copy).

Also tweaks some phrasing/word order (e.g., {amount} placement) to read more naturally in Turkish.

Written by Cursor Bugbot for commit 1d5852a. This will update automatically on new commits. Configure here.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 1, 2026

Walkthrough

This change updates Turkish language translations across three locale files in the Ghost i18n module. The pull request fills previously empty translation entries and refines existing Turkish text in the comments, authentication, and portal sections. Specific updates include comment-related UI messages, sign-in and verification code text, email confirmation messages, billing and subscription strings, and mail client action labels. A total of 39 translation entries were modified across the three files, with no changes to exported entities or control flow logic.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main change: adding missing Turkish translations across locale files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description clearly explains the purpose (adding missing Turkish translations), the files being changed, and the impact on Turkish-speaking users. It directly relates to the changeset.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Free Tier Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

"Welcome back to {siteTitle}!": "{siteTitle} sitesine tekrar hoş geldin!",
"Welcome back to {siteTitle}! Your verification code is {otc}.": "",
"Welcome back! Here's your code to sign in to {siteTitle}": "",
"Welcome back to {siteTitle}! Your verification code is {otc}.": "{otc} kodu ile {siteTitle} sitesine giriş yap",
Copy link

Choose a reason for hiding this comment

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

Translation duplicates another key's text, losing meaning

Medium Severity

The translation for "Welcome back to {siteTitle}! Your verification code is {otc}." is "{otc} kodu ile {siteTitle} sitesine giriş yap", which is identical to the translation for "Sign in to {siteTitle} with code {otc}" on line 45. The welcome-back greeting and the "your verification code is" semantics are completely lost — this appears to be a copy-paste error.

Fix in Cursor Fix in Web

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@ghost/i18n/locales/tr/ghost.json`:
- Around line 65-66: The two Turkish translations for the message keys "Welcome
back to {siteTitle}! Your verification code is {otc}." and "Welcome back! Here's
your code to sign in to {siteTitle}" are incorrect: the first drops the welcome
phrasing and misorders placeholders, the second wrongly places {siteTitle} as
the code. Update the first key's translation to retain the welcome and correctly
place both placeholders (e.g., include {siteTitle} in the greeting and {otc} as
the verification code), and update the second key's translation to say "Welcome
back! Here's your code to sign in to {siteTitle}" with {otc} shown as the code
and {siteTitle} as the destination (no trailing space), ensuring both
translations mirror the English meaning and placeholder positions.

In `@ghost/i18n/locales/tr/portal.json`:
- Around line 231-232: The JSON is invalid because the key "your inbox" and the
following entry "Your input helps shape what gets published." are missing a
comma separator; update the locale JSON so there is a comma after the "your
inbox" entry (i.e., after the "gelen kutunuz" value) to properly separate the
two keys ("your inbox" and "Your input helps shape what gets published.") and
ensure the file parses as valid JSON.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f9e74bb and 1d5852a.

📒 Files selected for processing (3)
  • ghost/i18n/locales/tr/comments.json
  • ghost/i18n/locales/tr/ghost.json
  • ghost/i18n/locales/tr/portal.json

Comment on lines +65 to +66
"Welcome back to {siteTitle}! Your verification code is {otc}.": "{otc} kodu ile {siteTitle} sitesine giriş yap",
"Welcome back! Here's your code to sign in to {siteTitle}": "Tekrar hoş geldiniz! Oturum açma kodunuz: {siteTitle} ",
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Translation issues: meaning altered and placeholder misplacement.

Line 65: The English source includes a "Welcome back" greeting and explicitly states "Your verification code is {otc}", but the Turkish translation only says "Sign in with code {otc}" — losing the welcome message entirely. This is inconsistent with line 64's proper translation of "Welcome back".

Line 66: The Turkish translation ends with {siteTitle} followed by a trailing space, but the English source places {siteTitle} as the destination ("sign in to {siteTitle}"). The translation appears incomplete — it says "Your sign-in code: {siteTitle}" which doesn't make sense.

Suggested fixes
-    "Welcome back to {siteTitle}! Your verification code is {otc}.": "{otc} kodu ile {siteTitle} sitesine giriş yap",
-    "Welcome back! Here's your code to sign in to {siteTitle}": "Tekrar hoş geldiniz! Oturum açma kodunuz: {siteTitle} ",
+    "Welcome back to {siteTitle}! Your verification code is {otc}.": "{siteTitle} sitesine tekrar hoş geldin! Doğrulama kodunuz: {otc}.",
+    "Welcome back! Here's your code to sign in to {siteTitle}": "Tekrar hoş geldiniz! {siteTitle} sitesine giriş kodunuz burada",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"Welcome back to {siteTitle}! Your verification code is {otc}.": "{otc} kodu ile {siteTitle} sitesine giriş yap",
"Welcome back! Here's your code to sign in to {siteTitle}": "Tekrar hoş geldiniz! Oturum açma kodunuz: {siteTitle} ",
"Welcome back to {siteTitle}! Your verification code is {otc}.": "{siteTitle} sitesine tekrar hoş geldin! Doğrulama kodunuz: {otc}.",
"Welcome back! Here's your code to sign in to {siteTitle}": "Tekrar hoş geldiniz! {siteTitle} sitesine giriş kodunuz burada",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@ghost/i18n/locales/tr/ghost.json` around lines 65 - 66, The two Turkish
translations for the message keys "Welcome back to {siteTitle}! Your
verification code is {otc}." and "Welcome back! Here's your code to sign in to
{siteTitle}" are incorrect: the first drops the welcome phrasing and misorders
placeholders, the second wrongly places {siteTitle} as the code. Update the
first key's translation to retain the welcome and correctly place both
placeholders (e.g., include {siteTitle} in the greeting and {otc} as the
verification code), and update the second key's translation to say "Welcome
back! Here's your code to sign in to {siteTitle}" with {otc} shown as the code
and {siteTitle} as the destination (no trailing space), ensuring both
translations mirror the English meaning and placeholder positions.

Comment on lines +231 to +232
"your inbox": "gelen kutunuz"
"Your input helps shape what gets published.": "Yorumunuz yayımlanan içeriklerin şekillenmesine yardımcı olur.",
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

JSON syntax error: missing comma.

Line 231 is missing a trailing comma, which will cause a JSON parse error.

Fix
-    "your inbox": "gelen kutunuz"
-    "Your input helps shape what gets published.": "Yorumunuz yayımlanan içeriklerin şekillenmesine yardımcı olur.",
+    "your inbox": "gelen kutunuz",
+    "Your input helps shape what gets published.": "Yorumunuz yayımlanan içeriklerin şekillenmesine yardımcı olur.",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"your inbox": "gelen kutunuz"
"Your input helps shape what gets published.": "Yorumunuz yayımlanan içeriklerin şekillenmesine yardımcı olur.",
"your inbox": "gelen kutunuz",
"Your input helps shape what gets published.": "Yorumunuz yayımlanan içeriklerin şekillenmesine yardımcı olur.",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@ghost/i18n/locales/tr/portal.json` around lines 231 - 232, The JSON is
invalid because the key "your inbox" and the following entry "Your input helps
shape what gets published." are missing a comma separator; update the locale
JSON so there is a comma after the "your inbox" entry (i.e., after the "gelen
kutunuz" value) to properly separate the two keys ("your inbox" and "Your input
helps shape what gets published.") and ensure the file parses as valid JSON.

@cathysarisky
Copy link
Member

cathysarisky commented Mar 1, 2026

Thanks so much for your efforts! There's already a PR open for Turkish - would you please add your review there, instead of duplicating efforts here? Thank you!
Update: wrong PR. This one. #25978

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants