ManuceTranslate a fileTranslate a CSV string table into Russian

Translate a CSV string table into Russian

Manuce translates the value column of your CSV string table into Russian and returns the same file, ready to drop back into your project. Keys, placeholders and encoding stay as they are. What remains is to prepare the file for Cyrillic and check what Russian changes on screen: length, plurals and agreement.

Upload my file See pricing

What it costs

For a CSV string table with about 2,000 words of values, into Russian:

Essentiel
€15

To understand, internal use.

Professional
€45

Ready to send, by the technical specialist.

Premium
€88

Cross-checked. For documents that commit you.

Price for one language, original layout included. VAT not applicable — article 293 B of the French General Tax Code (CGI). The exact quote, based on your file's word count, is shown before you pay.

What Russian changes in a string table

A localisation CSV is a list of short values, often shown in fixed-size buttons and fields. Moving it into Russian changes three things straight away.

  • The script. Cyrillic needs glyphs that many game and UI fonts lack. If your project font is Latin-only, Сохранить will render as empty boxes even though the file is correct.
  • Length. Russian runs longer than English: Save becomes Сохранить, Settings becomes Настройки. Button labels and tabs are the first to overflow.
  • Encoding. A CSV saved in a Western encoding such as Latin-1 or Windows-1252 simply cannot hold Cyrillic. The file needs to be UTF-8.

Typography differs too: Russian capitalises only the first word (Account Settings becomes Настройки аккаунта), uses « ёлочки » angle quotes, and leaves no space before : ; ? !.

Plurals, gender and case: the traps of a flat format

Russian has four plural categories (one, few, many, other) where English has two: 1 файл, 2 файла, 5 файлов, yet 21 файл and 11 файлов. A CSV holds one value per key and cannot express these rules itself; your engine or code picks the row. If the source only has items_one and items_other, the Russian column will only have two forms, and {count} will be wrong for 2 to 4 items.

Grammar adds two more traps:

  • Gender in the past tense. {name} joined is {name} присоединился for a man and присоединилась for a woman. One value cannot cover both.
  • Case. A noun inserted into a sentence changes form: the item Секира becomes Удалить секиру?. Strings built by concatenation ("Удалить " + item) produce ungrammatical sentences.

These limits come from the file’s structure, not from the translation, so it pays to spot them before uploading.

What Manuce returns, and what it does not do

Manuce recognises a developer CSV by its key column (key, id…) and its language columns (en, fr, de_DE…), as used in Unity or Godot. The Russian column is filled if it exists; otherwise it is added as the last column. A comment or context column is used as context for the translation.

  • You get the same file back: delimiters, quoting, key order, comments, line endings, encoding and BOM preserved. Only the values change.
  • Every translated value is checked against the source: if {0}, %s or a <b> tag is missing or altered and the mismatch persists, the source value is kept and the report says so.
  • Left untranslated: keys, empty values, URLs, email addresses, numbers, colours, date formats, identifiers and anything marked as non-translatable.
  • A report comes with the file: strings translated, strings left as they were and why.

Manuce does not add rows: it will not create few and many keys missing from the source, nor masculine and feminine variants, and it does not change your project’s font. A CSV with no key column is not treated as a language file; it is translated as plain text. Pricing counts the words in the values only, keys and tags excluded, with Russian’s ×1.25 coefficient.

Preparing the CSV before upload

  1. Convert the file to UTF-8. Since encoding is preserved, a Windows-1252 CSV will still be unable to carry Cyrillic. Avoid re-saving it from a spreadsheet that may change the encoding or delimiter.
  2. Create the column with the header your engine expects (ru, ru_RU…), empty, where you want it. Otherwise it is appended at the end with a header that may not match your convention.
  3. Add the missing plural rows following your engine’s convention, with source text filled in, so each form gets its own translation.
  4. Fill in the context column for ambiguous strings: Open on a button is Открыть, as the state of a door Открыто. A note such as “button, verb” is enough.
  5. Check the free sample: it shows the register used (вы or ты, the latter common in some games) and how your own terms come out, before you pay.

Checking in the project after delivery

A typical table comes back within minutes. Before release:

  • Read the report: any value left in English because of a placeholder mismatch must be fixed by hand, or it will show in English in the Russian build.
  • Test the font on your busiest screen: no boxes should appear, including for letters such as ё and й.
  • Go through buttons and menus: a truncated label (Сохран…) needs a flexible text area or a shorter word.
  • Vary the counters: display 1, 2, 5, 11 and 21 items to check every plural form.
  • Check sentences with variables: a female name or an inserted item should still read correctly; if not, rephrase the source string (for instance Объект удалён: {item}).

In practice

  1. Save the CSV as UTF-8 and add a ru column with the header your engine expects.
  2. Add any missing plural rows and fill in context for ambiguous strings.
  3. Upload the file and review the instant quote and the free Russian sample.
  4. After payment, download the translated CSV and its report.
  5. Re-import the file and check the Cyrillic font, string lengths and plurals on screen.

Frequently asked questions

My CSV has no Russian column yet. What happens?

It is added as the last column. If your engine expects a specific header (ru or ru_RU) or position, create the column empty before uploading and it will be filled in place.

Will my {0}, %s and {count} placeholders survive?

Every translated value is compared with the source, placeholders and tags included. If a mismatch persists, the source value is kept and the report flags it so you can fix it by hand.

Russian shows as garbled characters in my spreadsheet. Is the translation broken?

Usually it is the encoding: a spreadsheet may read a UTF-8 CSV as a Western encoding and display nonsense. Open the file in a text editor or import it directly into your engine before drawing conclusions.

Does Manuce handle Russian’s four plural forms?

Manuce translates the values that are present, row by row, but does not add keys. If your source only has two forms, add the few and many rows following your engine’s convention before uploading, then test them with several numbers.

Why does Russian cost more than some other languages?

Russian carries a ×1.25 coefficient on the per-word rate. Only the words in the values are counted; keys and tags are excluded.

The specialist in charge

This subject goes to Dédale, the technical specialist. See how it works.

Try it on your own file, free

A sample of your file translated at the level you choose, before any payment. You judge, then you decide.

Upload my file