Machine translation no longer makes funny mistakes. Its problem today is subtler: the text is correct but does not sound native. From the first sentence, the reader senses that the text was first written in another language, and their trust drops a little.
In technical text there is another risk: the model sometimes "translates" function names, placeholders or commands too, and something breaks.
What is a translated feel?#
A translated feel means the sentence structure of the source language stayed and only the words changed. The meaning is right, but no native speaker would have said the sentence that way.
| Translated structure | Natural English |
|---|---|
| This permits you in order to save the file | You can save the file with this |
| The file was deleted by the server | The server deleted the file |
| There occurred an error | An error occurred |
| It is in the state of being loaded | It's loading |
| Make sure that you have activated the plugin | The plugin must be active |
| It is important that you keep the key | Be sure to keep the key |
| Click on the button | Click the button |
We covered other signs of machine text, such as the all-purpose introduction and pompous words, in writing articles with AI help.
What stages should technical translation have?#
Three stages: an accurate translation with a glossary, naturalizing the translated text, and a technical check. A common mistake is to skip the second stage and ask a single request for both accuracy and fluency.
- Write the glossary before translating.
- Get an accurate translation, with context and audience.
- Naturalize it: rewrite the translated text in natural language.
- Technical check: code, numbers, placeholders and terms.
How do you build a glossary?#
A glossary is a list of the text's frequent terms with your chosen equivalents, which the model must follow without exception. Without it, one word is translated one way in the first paragraph and another way in the fifth.
The rule for choosing is simple: use the word your audience uses.
| Term | Choice | Reason |
|---|---|---|
| Dashboard in WordPress | The label in the official translation of that language | Users see exactly this in the interface |
| Plugin | The common local term, or keep "plugin" | Common in the interface and in search |
| Cache | Keep "cache" | A literal local equivalent is rarely used |
| Deploy | "Deploy" or "publish", depending on audience | "Deploy" is more natural for developers |
| Pull request | Leave untranslated | It has no established equivalent |
For texts that refer to a software interface, take the terms from that software's own interface in the target language so the reader can find what they read on screen.
What should a translation prompt contain?#
Context, audience, a glossary and a list of things that must not be translated. Without context, the model translates the word; with context, it translates the meaning:
This is part of the installation guide for a WordPress plugin. The reader
is a site owner, not a developer. Translate it into [target language].
- Follow the glossary exactly: [put the glossary here]
- Do not touch code, function names, file names, commands, addresses and
placeholders such as %s and {name}.
- Keep the format: headings, lists and code blocks.
- Wherever the meaning of a sentence is unclear to you, mark it with [?]
instead of guessing.
- Do not add or remove anything.The [?] line matters. A model that is not allowed to say "I don't know" fills the ambiguity with a guess and writes the guess fluently, so it goes unnoticed.
Naturalizing: the stage most often skipped#
Naturalizing means rewriting the translated text so it reads as if it had been written in that language from the start, without changing the meaning. Do it in a separate request after the translation:
The following text is a translation from another language. Rewrite it as
if a native technical writer had written it from scratch:
- Remove translated structures such as unnecessary passives, filler words
and literal word order.
- Make passive sentences active wherever possible.
- Split long sentences.
- Do not change the meaning, the glossary terms, the code or the numbers.
At the end, list the sentences whose meaning may have changed.This is what we called "language editing" in editing and rewriting text with AI, with a focus on translated structures.
What should not be translated?#
Anything a computer reads: code, function and variable names, commands, file names, addresses and placeholders. In interface text and plugin translation files, placeholders are the most sensitive of all. If %s is dropped in the translation or %d becomes %s, the final string is built wrong and PHP sometimes raises a warning or error.
Do not leave this check to your eyes; a small function is enough:
function placeholders(string $text): array
{
preg_match_all('/%(?:\d+\$)?[sdf]|\{[a-z_]+\}/i', $text, $m);
$found = $m[0];
sort($found);
return $found;
}
function same_placeholders(string $source, string $translation): bool
{
return placeholders($source) === placeholders($translation);
}
var_dump(same_placeholders('Deleted %d items from %s', 'Se eliminaron %d elementos de %s')); // true
var_dump(same_placeholders('Hello {name}', 'Hola')); // falseWatch error messages too: if users might search for the original English text of an error, include the English original next to the translation the first time.
Who should do the technical check?#
Someone who understands the subject, not just the language. A good translator may not know whether "build" in that sentence means the action of building or the finished build. In the check:
- Actually run every code sample and command.
- Compare numbers, units and option names with the original text.
- Count the paragraphs, steps and table rows; dropped content is common in long text.
- View the text in the place where it is displayed; mixed-direction or mixed-script text at the end of a sentence sometimes disturbs where the punctuation lands.
For long guides, translate section by section; we describe how to work with long documents in working with long documents using AI.
Where is this heading?#
The clear trend is that machine translation accuracy keeps rising and translation moves into the tools: the editor, the content management system and localization tools. What still needs a person is choosing words for a specific audience, making the text natural and the technical check.
To get ready:
- Keep the project glossary as a file and extend it with every translation.
- Automate the placeholder and format check so it is part of the release process.
- Collect a few pairs of "original text and good translation" to serve as examples for the model in later requests.
Summary#
- Do translation and naturalizing in two separate requests.
- Write the glossary before translating and use the word the audience uses.
- Let the model mark ambiguity instead of guessing.
- Do not translate code and placeholders, and check them with code.
- The final check belongs to someone who understands the subject.