Translating Russian to English with a neural network: how to get natural English
Good English depends on parameters people often forget to set: audience, register, language variant. A prompt, back-translation checks and the price of a batch.
5 min · · автоматизация · models
When a neural network translating text from Russian to English produces a poor result, grammar is usually not the issue. The typical problems lie deeper: a tone too formal for a promo card, a mix of American and British spelling, meaning lost in a long Russian sentence, wrong number formats. All of this is solved by request parameters and checks, not by swapping the model. Below: what to set in the prompt, how to verify a translation with back-translation, and what it costs to translate a batch of 500 descriptions. Prices are as of October 18, 2026.
How translating into English differs from translating from it
An English reader expects short direct sentences and active voice, while Russian text is often built differently. Typical difficulties:
- Long sentences with participial phrases. They need to be split, not translated literally.
- Impersonal constructions ("a decision was made") need a subject: who decided.
- Formal "you". English makes no distinction between the informal and formal address, so politeness is conveyed by vocabulary: "Please", "We would appreciate", or, conversely, a casual "Hey".
- Articles a and the. Check them especially carefully in headlines and names.
- Number and date formats. Russian uses "1 234,50" and "18.10.2026"; American English uses 1,234.50 and 10/18/2026; British uses 1,234.50 and 18/10/2026.
- Names and titles. Agree on a transliteration rule in advance. For names in documents, follow the spelling in the passport.
Parameters to set in the request
Before translating, answer four questions and pass the answers to the model:
- Who is reading? Customers, investors, fellow developers.
- Which register? Formal, neutral, friendly.
- Which variant? American or British, which affects spelling (color and colour), dates and currency.
- Which terms and names stay unchanged? A list of words that remain as is or are translated in a fixed way.
A function that builds such a request (pip install openai):
from openai import OpenAI
client = OpenAI(base_url="https://api.zukko.pro/v1", api_key="fetch_your_key")
MODEL = "claude-sonnet-5-5"
VARIANTS = {
"US": "American English: color, MM/DD/YYYY, 1,234.50",
"UK": "British English: colour, DD/MM/YYYY, 1,234.50",
}
REGISTERS = {
"formal": "formal business tone",
"neutral": "clear, neutral tone",
"friendly": "warm, conversational tone",
}This example sets American English, a formal tone and keeps the brand. For a promo card change the register to friendly; for contract text keep formal. Note the amount: in the request you should either leave it in rubles ("12,500 rubles") or explicitly ask not to convert. A model is not obliged to know the exchange rate, so do currency conversion in code.
Checking with back-translation
Back-translation catches loss of meaning: if after translating into English and back into Russian the text changes in meaning, the model has invented or dropped something. The scheme:
- Translate the text into English.
- With a different model, without showing the original, translate the English back into Russian literally.
- Ask a model to compare the original and the back-translation and return a list of differences in meaning.
CHEAP = "deepseek-v4.1-flash"
def back_translate(en_text, model=CHEAP):
r = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "Translate the English text into Russian accurately and literally. Output only the translation."},
{"role": "user", "content": en_text},
],
)
return r.choices[0].message.content.strip()
def compare(original_ru, back_ru, model=MODEL):
prompt = (The compare call is a third request per fragment, so run it selectively: for important texts or where the numbers and conditions in the back-translation look wrong to you.
An honest limit of the method: back-translation checks meaning, not naturalness. A phrase can be correct and still sound awkward. For promotional texts, legal papers and anything published under your name, a final read by a native speaker cannot be replaced.
What translating a batch costs
Take 500 product cards. Assumptions: each card has 150 tokens of Russian text and 300 tokens of instruction, so 450 input tokens, and about 120 tokens of English output. In total 500 × 450 = 225,000 input tokens and 500 × 120 = 60,000 output tokens. Prices as of October 18, 2026, formula "input × input price + output × output price":
claude-sonnet-5-5(0.4 / 2): 225,000 × 0.4 / 1M + 60,000 × 2 / 1M = 0.09 + 0.12 = $0.21;gpt-6.1-sol(0.27 / 1.32): 0.06075 + 0.0792 ≈ $0.14;deepseek-v4.1-flash(0.013 / 0.038): 0.002925 + 0.00228 ≈ $0.0052.
Back-translation on deepseek-v4.1-flash: roughly 75,000 input tokens and 75,000 output tokens (assumption: Russian text takes more tokens), that is 75,000 × 0.013 / 1M + 75,000 × 0.038 / 1M = 0.000975 + 0.00285 ≈ $0.0038. That adds very little to the main translation. Which model gives acceptable English on your cards only a test will show: translate 20 of them with three models and have them reviewed. Fresh prices: GET https://api.zukko.pro/v1/models.
For marketplaces, see the article Product descriptions for Wildberries and Ozon, and for large volumes, Translating texts through an API. Request parameters are described in the reference. Create a key in the dashboard; access from Russia is through the gateway, with payment by SBP (the payment page adds an 8.5% fee on top), a MasterCard or crypto.
FAQ
How do I choose between American and British English?
Go by your audience: American suits the US and most international IT products, British suits the UK and several Commonwealth countries. Set the variant explicitly in the prompt, otherwise spellings will mix in the text.
Which neural network is best for Russian to English translation?
There is no universal leader. Translate the same set of fragments with several models, rate them blind and compare with the price. The strength index and prices in the catalog suggest where to start the test.
Why is back-translation needed?
It helps find facts the model dropped or added, especially in numbers and conditions. It does not judge naturalness, so a person still reads important texts.
How do I keep brand names and terms intact?
Pass the list in the prompt marked "keep as is" or with a fixed translation, and after translating check in code: the required words must be present in the result.
zukko
Pay 25×
less
for Claude Code & ChatGPT
One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.
Related articles
- Fiction with AI: how to write together, not instead of youHow to work with a model on prose: build a project bible, hold the style, edit in passes and estimate the cost of a long text.
- xAI Grok API: Connecting Grok 4.7, Price and the 256K ContextHow to call grok-4.7 through an OpenAI-compatible API, what to do about the 256K context limit and what typical requests cost. Plus a comparison with Grok 4.6.
- GPT-6 Astra or Claude Fable 5.1: Two Top Models by Price and IndexTwo premium models with the same intelligence index and different Zukko prices. We price a single request and an agent session with cache, and explain how to choose on your own data.
- Qwen or DeepSeek via API: Price, Context and Intelligence IndexFour models, one task and an honest calculation: what a run costs on Qwen 3.8 Max and Flash versus DeepSeek V4 Pro and V4.1 Flash.