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:

  1. Who is reading? Customers, investors, fellow developers.
  2. Which register? Formal, neutral, friendly.
  3. Which variant? American or British, which affects spelling (color and colour), dates and currency.
  4. 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):

bash
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:

  1. Translate the text into English.
  2. With a different model, without showing the original, translate the English back into Russian literally.
  3. Ask a model to compare the original and the back-translation and return a list of differences in meaning.
bash
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.

Get API keyDocumentation

api.zukko.pro · fetch_*

Neural network for Russian to English translation · Zukko