Skip to content

🌐 Updated translation for Indonesian language#25878

Open
faisal-hendra wants to merge 3 commits intoTryGhost:mainfrom
faisal-hendra:main
Open

🌐 Updated translation for Indonesian language#25878
faisal-hendra wants to merge 3 commits intoTryGhost:mainfrom
faisal-hendra:main

Conversation

@faisal-hendra
Copy link

@faisal-hendra faisal-hendra commented Jan 17, 2026

Added new translations for Indonesian language within comments.json and ghost.json.

It also includes translation for "You are receiving this because you are a %%{status}%% subscriber to {site}." and its coresponding strings ("free", "trialing", "paid", and "complimentary" ).

For the sake of maintaining consistency with existing translations, certain terms including "email" and "browser" are intentionally left as English loanwords.

Can I have a second pair of eyes to check the translations for me?


Note

Low Risk
Translation-only updates limited to Indonesian locale JSON; risk is mainly incorrect wording or placeholder/HTML token mismatches affecting UI/email copy.

Overview
Updates Indonesian locale strings in comments.json and ghost.json, primarily by filling previously-empty translations used in the comments UI (sorting, delete/confirm flows, load more, expertise) and member-facing copy.

Adds/adjusts translations for email and subscription-related messaging, including subscriber status phrasing (with %%{status}%%), subscription lifecycle notices (trial end, renew/expire/cancel), and sign-in/device verification text, while keeping placeholders and embedded HTML markup intact.

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

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 17, 2026

Walkthrough

The pull request updates Indonesian translation files for a Ghost application by populating previously empty translation entries with actual Indonesian text. Two files are modified: comments.json with 11 translation pairs added (such as "Add your expertise", "Are you sure?", "Best", "Deleted") and ghost.json with 31 translation pairs added (including UI labels, email messages, and subscription-related phrases like "Become a paid member of {site}", "Member since", and verification messages). No code logic or structural changes are introduced; only localization content is updated.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding/updating Indonesian language translations in the pull request.
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 relates to the changeset, detailing Indonesian translation additions to comments.json and ghost.json files with specific examples.

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

✨ Finishing touches
  • 📝 Generate docstrings
🧪 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.

@cathysarisky cathysarisky self-assigned this Jan 18, 2026
Copy link
Member

@cathysarisky cathysarisky left a comment

Choose a reason for hiding this comment

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

Hi @faisal-hendra!

My apologies for the delayed review. I work on Ghost's translations on a volunteer basis, and so sometimes it takes me a while.

📋 My AI helper 🤖 left you a few comments. I always believe the human over the AI, so feel free to disregard them after you take a careful look!

Leave me a comment or re-request review when you're satisfied with everything, please. :)

🤖 AI: Overall, the translations read as natural, friendly Indonesian and match Ghost's informal but respectful tone quite well. The variables and placeholders appear to be handled correctly. Most of the issues I noticed are minor consistency points (especially capitalization of "Anda", a couple of standard spellings, and small UI phrasing choices like sort labels and status words). The style across files is largely consistent and appropriate for a wide range of Ghost sites. Terima kasih!


Drafted with my new i18n tooling - feedback welcome

"Add context to your comment, share your name and expertise to foster a healthy discussion.": "Tambahkan konteks pada komentar Anda, bagikan nama dan keahlian Anda untuk mendorong diskusi yang sehat.",
"Add reply": "Tambahkan balasan",
"Add your expertise": "",
"Add your expertise": "Tambahkan keahlian anda",
Copy link
Member

Choose a reason for hiding this comment

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

🤖 AI: I think for consistency with the rest of the file (where "Anda" is used with a capital A), "Add your expertise" might be better as "Tambahkan keahlian Anda" instead of "Tambahkan keahlian anda". Would you consider capitalizing "Anda" here, please?

"Complete your profile": "Lengkapi profil Anda",
"Delete": "Hapus",
"Deleted": "",
"Deleted": "Terhapus",
Copy link
Member

Choose a reason for hiding this comment

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

🤖 AI: For "Deleted", would "Dihapus" perhaps be a bit more natural than "Terhapus" in this UI context (status label for a comment)? It might better match the action-oriented tone of other strings.

"Deleted": "Terhapus",
"Deleted member": "Anggota dihapus",
"Deleting": "",
"Deleting": "Menghapus",
Copy link
Member

Choose a reason for hiding this comment

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

🤖 AI: For the in‑progress state "Deleting", I suspect "Menghapus…" (with the progressive nuance) or even a noun like "Sedang menghapus" might read more clearly than just "Menghapus". Would you consider adjusting this, please?

"Join the discussion": "Bergabung dalam diskusi",
"Just now": "Baru saja",
"Load more ({amount})": "",
"Load more ({amount})": "Muat lebih banyak ({amount})",
Copy link
Member

Choose a reason for hiding this comment

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

🤖 AI: For "Load more ({amount})", would "Muat {amount} lagi" or "Tampilkan {amount} lagi" be closer to the source meaning (emphasizing the number), rather than "Muat lebih banyak ({amount})"? The current version is understandable, but this could be slightly clearer.

"Newest": "",
"Oldest": "",
"Once deleted, this comment can’t be recovered.": "",
"Newest": "Paling baru",
Copy link
Member

Choose a reason for hiding this comment

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

🤖 AI: For sort labels, I think "Terbaru" is a very common UI term. Would "Terbaru" work better than "Paling baru" for "Newest" here, to sound more natural in Indonesian interfaces?

"Someone just replied to your comment on {postTitle}.": "",
"Subscription details": "",
"Someone just replied to your comment": "Seseorang baru saja membalas komentar anda",
"Someone just replied to your comment on {postTitle}.": "Seseorang baru saja membalas komentar anda pada {postTitle}.",
Copy link
Member

Choose a reason for hiding this comment

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

🤖 AI: Similarly here, "Seseorang baru saja membalas komentar anda pada {postTitle}." probably should use "Anda" with a capital A ("komentar Anda") to match the formality and other strings.

"Where:": "",
"You are receiving this because you are a <strong>%%{status}%% subscriber</strong> to {site}.": "",
"When:": "Kapan:",
"Where:": "Dimana:",
Copy link
Member

Choose a reason for hiding this comment

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

🤖 AI: Is the spelling of "Dimana" intentional here? In standard Indonesian, the interrogative is usually written as "Di mana" (two words). Since this is a UI label, "Di mana:" might be more correct.

"You are receiving this because you are a <strong>%%{status}%% subscriber</strong> to {site}.": "",
"When:": "Kapan:",
"Where:": "Dimana:",
"You are receiving this because you are a <strong>%%{status}%% subscriber</strong> to {site}.": "Anda mendapatkan ini karena Anda merupakan <strong>pelanggan %%{status}%%</strong> dari {site}.",
Copy link
Member

Choose a reason for hiding this comment

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

🤖 AI: For "You are receiving this because you are a %%{status}%% subscriber to {site}.", do you think "menerima email ini" would be clearer than "mendapatkan ini"? For example: "Anda menerima email ini karena Anda merupakan …" might sound a bit more natural.

"Your verification code for {siteTitle}": ""
"Your free trial ends on {date}, at which time you will be charged the regular price. You can always cancel before then.": "Masa coba gratis Anda akan berhenti pada {date}, setelah itu Anda akan dikenakan harga reguler. Anda dapat membatalkan langganan sebelum tanggal tersebut.",
"Your subscription has been canceled and will expire on {date}. You can resume your subscription via your account settings.": "Status berlangganan Anda telah dibatalkan dan akan berakhir pada {date}. Anda dapat melanjutkan berlangganan melalui pengaturan akun Anda.",
"Your subscription has expired.": "Status berlangganan Anda telah kadaluarsa.",
Copy link
Member

Choose a reason for hiding this comment

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

🤖 AI: Is the spelling of "kadaluarsa" here intentional? The KBBI form is usually "kedaluwarsa". You used "kedaluwarsa" earlier ("tautan ini akan kedaluwarsa"), so it might be good to align the spelling for consistency.

"Your subscription has expired.": "Status berlangganan Anda telah kadaluarsa.",
"Your subscription will expire on {date}.": "Status berlangganan Anda akan berakhir pada {date}.",
"Your subscription will renew on {date}.": "Status berlangganan Anda akan diperbarui pada {date}.",
"Your verification code for {siteTitle}": "Kode verifikasi untuk {siteTitle} Anda"
Copy link
Member

Choose a reason for hiding this comment

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

🤖 AI: In "Kode verifikasi untuk {siteTitle} Anda", the placement of "Anda" is fine, but you might also consider "Kode verifikasi Anda untuk {siteTitle}" if you want to mirror the English emphasis on "your code". Either works; this is just a stylistic thought.

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 3 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

This PR is being reviewed by Cursor Bugbot

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.

"Complete signup for {siteTitle}!": "Selesaikan pendaftaran pada {siteTitle}!",
"Complete your sign up to {siteTitle}!": "Selesaikan pendaftaran Anda ke {siteTitle}!",
"complimentary": "",
"complimentary": "komplementer",
Copy link

Choose a reason for hiding this comment

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

Semantic translation error for subscription status term

Medium Severity

The translation of "complimentary" as "komplementer" is semantically incorrect. In subscription contexts, "complimentary" means "given for free as a courtesy/gift," but Indonesian "komplementer" means "complementary" (matching/completing, as in "complementary colors"). Other locales translate this as "free" (German uses "kostenfreies", Bulgarian uses "подарен" meaning "gifted"). Users seeing "pelanggan komplementer" in the status message could be confused about their subscription type.

Fix in Cursor Fix in Web

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