Writing

Write Once in English, Auto-Translate to Reach More Readers

Writing in public teaches you and helps others, but one language limits reach. Write one English source, let a pipeline translate and publish the rest.

Writing in public is one of the better ways to learn a subject, and its reach usually stops at the border of one language. You spend an evening writing a post in English, and a reader who thinks in Korean or Japanese never finds it. The fix is not to write four more posts by hand. It is to write one source and let a pipeline translate and publish the rest, so you maintain a single file while the same idea reaches a much larger audience. This post is about how that setup works, what it asks of your writing, and when it is not worth the trouble.

Why writing in public is worth the effort

The first payoff is for you. To publish an explanation, you have to hold the whole thing in your head at once and put it in order. Gaps that you skated over while the idea lived only in your notes become obvious the moment you try to write the third paragraph. The act of teaching is what exposes the parts you did not actually understand. You end up learning the subject twice, once badly in private and once properly in public.

The second payoff is for the reader who has the exact problem you just solved. Most technical searches are someone stuck at 11pm looking for the one page that describes their error. A short, honest post about a real fix you shipped is worth more to that person than a polished overview, because it matches the shape of their question.

The third payoff is correction. When you write something wrong in public, someone who knows better tends to tell you. That is uncomfortable and valuable. A private note is never wrong because nobody reads it. A published note gets pressure-tested by people who do not share your blind spots.

All three of those payoffs are capped by how many people can read the words. That cap is the problem the rest of this post is about.

One source, many readers

The idea is simple. You write in one language, English here, and treat that file as the only thing you own. Everything after you save it is the machine's job: parse the Markdown, translate it into the other languages you support, and publish each translation as its own page with its own URL. You never touch the translations. When you want to fix a sentence, you fix it in the English source, and the next run re-translates and re-publishes.

This blog runs exactly that way. A post is one English Markdown file. On push, an ingest step translates it into Korean, Japanese, Simplified Chinese, and Traditional Chinese, then serves each as a separate page. Five language pages come out of one file I wrote. The multiplier is not subtle. If your English post reaches an audience of a certain size, four more language editions can reach a comparable audience each, for close to zero extra writing time.

The reason this is worth automating rather than doing by hand is that manual translation does not survive contact with editing. The first time you fix a typo in the English version, the four hand-made translations drift out of sync, and keeping five versions of a living document aligned is a job nobody keeps doing. A pipeline that regenerates every translation from the single source removes that drift by construction. There is one source of truth, and the translations are derived artifacts, like compiled output.

Write so a machine can translate you well

Automatic translation is only as good as the sentence it is handed. A model translates a plain, direct sentence cleanly and mangles a clever one. So writing for a translation pipeline means writing in a way that happens to be good writing anyway.

The rule is to remove anything that depends on the reader already thinking in English. Idioms, puns, cultural jokes, and long chains of pronouns all translate badly, because the model has to guess at meaning that lives outside the literal words. Clear, front-loaded sentences with concrete nouns translate well, because there is less to guess.

Write this way Why the translator handles it well
Short declarative sentences Fewer clauses to reorder across different grammars
One idea per sentence The model does not have to guess which clause is the main point
Plain verbs instead of idioms "reduced" survives translation, "moved the needle" does not
Define a term once, then reuse the same word The target language gets one consistent term, not three synonyms
Concrete nouns over pronoun chains "the query" is unambiguous, "it" three sentences later is not

A concrete example of the idiom problem:

Before: We finally moved the needle on cold starts.
After:  We reduced cold start time.

The "before" line forces the model to decode a metaphor before it can render the meaning, and the four translations will disagree about what the metaphor meant. The "after" line has one meaning and translates the same way every time. You lose a little voice and gain correctness in four languages at once. For a technical post that is a good trade.

Code and technical terms need their own care. You want product names, API identifiers, and reserved words to pass through untouched, not translated into a local approximation. A good pipeline protects fenced code blocks and inline code from translation, and keeps a small glossary of terms that should stay in English. If you write goroutine and expect it to remain goroutine in every language, the glossary is what enforces that. Without it, a well-meaning model will happily localize a keyword and break the meaning.

Tell readers a machine did the translating

Machine translation is good, not perfect. Pretending otherwise costs you the reader's trust the first time they hit an awkward sentence. The honest move is to say so on the page.

Every translated edition should carry a short, visible note that it was translated automatically, along with a link back to the original English version. That does two things. It sets the right expectation, so an odd phrasing reads as a known limitation rather than sloppiness. And it gives a bilingual reader an escape hatch: when a translated sentence is unclear, they can open the source and check what you actually meant. The original is the authority, and you are telling the reader where the authority lives.

This transparency also protects you. If a translation gets a technical detail subtly wrong, the labeled original is the record of what you said. You are not claiming the machine speaks for you word for word. You are claiming the English is yours and the translations are a best-effort bridge to it.

The costs of going multilingual

None of this is free, and the honest version of the pitch includes the bill.

The first cost is translation quality control. Prose translates well. Posts that are dense with code, tables, and exact terminology are where a model is most likely to drift: reword a heading, localize a keyword, or quietly drop a line. You need guardrails around that, which means protecting code, maintaining a glossary, and having a validation step that can reject or roll back a bad translation instead of publishing it. That machinery is real work to build and keep working.

The second cost is multilingual SEO. Five language editions of one post means five URLs that a search engine must understand are the same content in different languages, not duplicate content or thin pages. That is hreflang annotations, correct canonical handling, and enough real content per language that a category page is worth indexing at all. Get it wrong and you can end up competing with yourself or getting the whole set discounted. This complexity scales with the number of languages, and it does not go away.

The third cost is the pipeline itself. You are trading the simplicity of a static file for a system that parses, translates, validates, and publishes. Someone has to own that system. When a translation run fails at 2am, that is now part of your blog. The single-source discipline is a real gain, but you pay for it with the operational surface of everything that turns the source into pages.

Put together, these costs mean the multilingual setup earns its keep only when reach across languages is actually worth that much to you.

When one language is enough

Skip all of this when your readers already share one language. If you write for a team, a local community, or a market that reads English fine, translating into four more languages adds cost and buys almost no new readers. The pipeline is overhead with no audience on the other end of it.

Skip it too when your posts are short-lived. Release notes, status updates, and time-sensitive announcements are read once and then stale. The payoff of translation compounds over the life of an evergreen post that keeps getting found in search for years. It barely registers on something that is irrelevant next week.

And skip it early. If you have published three posts and are still finding your voice, do not build a translation pipeline yet. Write in one language until you have a body of work that people actually read, then add languages when the reach is a real constraint rather than a hypothetical one. The order that works is writing first, audience second, translation third. Building the machine before you have readers is optimizing a number that is still zero.

The rough test: multiply your best guess at a post's lifetime readership by how many of those readers cannot read your source language. If that number is large and your posts stay relevant for a long time, the pipeline pays off. If it is small, write in one language and spend the saved effort on writing more.

The habit worth keeping

Underneath the tooling, the thing that matters has not changed. You learn a subject by explaining it, and you help people by publishing the explanation instead of keeping it in a private file. Automatic translation does not replace that habit. It just widens the door, so the same post you were going to write for one language quietly reaches four more.

The discipline it asks for, plain sentences, one idea at a time, concrete words, defined terms, is the same discipline that makes writing clear for the readers who share your language. You were supposed to write that way regardless. The translation pipeline only raises the price of not doing it, and lets a larger group of people benefit when you do.

Related posts