Journey
Notei18nbahasacraft

Our Indonesian read translated — so we wrote rules

We build in two languages — English at /, Bahasa Indonesia at /id. They're meant to be equal: not a primary and its translation, but two first-class voices. For a while they weren't. The English read like a person wrote it; the Indonesian read like a machine had been asked to write it. Every word was correct. The feel was off.

That gap — right words, wrong feel — is the whole problem with translated copy. A skeptical Indonesian buyer clocks it in one sentence, and "reads like a translation" quietly says this isn't really for you.

What "translated" actually looks like

It's rarely a wrong word. It's English habits wearing Indonesian vocabulary.

Reads translated

  • AI Implementasi — English modifier-first order
  • menggerbangi deploy — an English noun forced into an invented verb
  • mengirim AI — "ship" translated as send a parcel
  • menggelar karpet merah — an English idiom, word for word

Reads written

  • Implementasi AI — head noun first (Hukum D-M)
  • harus lolos gate sebelum deploy — keep gate, use a real verb
  • merilis AI — the word a developer actually uses for "ship"
  • membuka pintu lebar-lebar — the meaning, not the metaphor

How we fixed it — without rewriting everything

The instinct is to retranslate the whole site. We didn't. Two moves made it cheap and safe.

First, one rulebook. We wrote the rules down — meaning over words, head-noun-first, which terms stay English (RAG, pipeline, deploy) versus which get translated (keamanan, keandalan) — so "natural" stopped being a matter of taste.

Second, scan before you rewrite. We ran a read-only diagnostic over every Indonesian string first, graded each file, and let the findings — not a hunch — decide what to touch.

The last move was to decide once. "Gate" had been rendered four different invented ways across the site; we picked one natural rendering and wrote it into the term glossary, so the next person doesn't re-invent it.

Translate the meaning, not the words.

the rule everything else serves

The rules that stuck

Do

  • Read it aloud — would a bilingual colleague say it this way?
  • Keep the English term a developer would keep; translate the concept when there's a natural word
  • Compare against a machine translation, then beat it
  • Pick one rendering per recurring term and reuse it

Don't

  • Carry English word order into Indonesian
  • Conjugate English nouns into invented verbs to sound technical
  • Translate idioms literally — drop them or find the local one
  • Mistake "more words" for "more natural" — tighten instead

A second language isn't done when it's accurate. It's done when a native reader forgets it was ever the second one.

Steal the prompt

If eight rules are hard to hold, here's the whole guide distilled into one prompt — paste it above any model, or pin it over your own copywriting:

🇮🇩 Bahasa Indonesia — write it natural, not translated (sneak peek)

You're writing Bahasa Indonesia for a technical brand (Rigorous · Confident ·
Technical). Goal: copy that reads like a native Indonesian engineer wrote it —
NOT English run through a translator.

THE ONE RULE
• Translate the meaning, not the words. Read it aloud — would a bilingual
  colleague actually say it this way? If it sounds stiff, it's wrong.

THE RULES THAT MATTER MOST
1. Head-noun first (Hukum D-M): "Implementasi AI", never "AI Implementasi".
2. Beat the machine: take an MT draft as a baseline, then rewrite it natural —
   never ship the literal version.
3. Keep English a dev keeps (RAG, LLM, prompt, pipeline, deploy, crawler, gate);
   translate the concepts (implementasi, keamanan, keandalan, observabilitas).
4. Register: "Anda" (never "kamu"), "kami" not "kita"; confident, not
   officialese, not slang.
5. Real affixes (meng-/di-/ke-…-an), never bare roots — and never coin verbs from
   English nouns:  "menggerbangi deploy" ✗  →  "harus lolos gate sebelum deploy" ✓
6. No literal idioms — localise or drop them
   ("menggelar karpet merah" ✗ → "membuka pintu lebar-lebar" ✓).
7. Tighten — Indonesian rewards economy ("untuk", not "dalam rangka untuk").
8. Never translate code blocks — identifiers, commands, config, file paths stay
   verbatim. Translate the prose about the code, not the code.

Before you ship: read aloud · head-noun-first · terms kept/translated right ·
Anda + kami · proper affixes · no literal idioms · no MT bloat · code untouched.

📖 Full guide:
https://github.com/harryosmar/pangaea.id/blob/main/docs/bahasa-style-guide.md

Sources

  1. PR #83 — the naturalness pass
  2. The Bahasa style guide