Translate a YAML file into Russian, plurals and keys included
Upload your YAML file and Manuce translates the values into Russian, returning the same file with the same keys, indentation and variables. Plural blocks are adapted to Russian's four forms, and a report lists anything left untranslated and why.
What it costs
For a YAML file with about 2,000 words of values, into Russian:
To understand, internal use.
Ready to send, by the technical specialist.
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 your strings
Russian is written in Cyrillic, left to right, and usually runs longer than English. In a UI locale file, short labels suffer most: save: Save becomes save: Сохранить, and a button sized for four letters now has to hold nine.
Three points need particular care:
- Gender in the past tense. A string such as
"%{name} edited the document"needs a verb agreeing with the person's gender in Russian:изменилfor a man,изменилаfor a woman. The variable does not carry that information, so check the wording you get and decide whether your product needs a gender-neutral phrasing. - Grammatical case. Russian declines nouns, but a value inserted through
%{name}arrives exactly as your database stores it, in the nominative. A pattern like "Message from %{name}" is safer with the variable after a colon:Отправитель: %{name}. - Register. Interfaces generally address the user formally (
вы); the informalтыappears in casual consumer products. The free sample shows which register comes out before you pay.
Russian punctuation has its own conventions: « » quotation marks, no space before a colon or question mark, an em dash for asides. Inside a double-quoted YAML value, « » need no escaping.
Plurals: from two keys to four
An English source usually has only one and other. Russian uses four CLDR categories: one, few, many, other. Manuce adapts the plural block to the target language. For a file counter:
one: "%{count} файл": 1, 21, 101few: "%{count} файла": 2 to 4, 22 to 24many: "%{count} файлов": 0, 5 to 20, 25 to 30other: "%{count} файла": decimals, such as 1.5
The usual trap: 11 to 14 fall under many, not one or few, while 21 goes back to one. A home-made rule such as "1 is singular, everything else plural" produces visible errors.
Adding the keys is not always enough; your library must know how to pick them. In Rails, the base i18n module only knows one and other, so a Russian plural rule has to be loaded, for instance through the rails-i18n gem. Hugo relies on CLDR categories and reads all four keys directly. With i18n-js, make sure the JavaScript side knows the Russian rule, otherwise few and many will never be displayed.
What Manuce returns, and what it does not do
You get back the same YAML file, ready to drop into your project. Only the values change: indentation, key order, quotes, comments, line endings, encoding and BOM are all preserved. For Rails, Symfony, Hugo and i18n-js, the root language key is handled (the leading en: of a Rails file becomes ru:), and anchors, | and > blocks and comments stay where they are.
%{name}and{name}variables are checked: each translated value is compared with the source, variables and tags included. If a mismatch persists, the source value is kept and the report says so.- Not translated: keys, empty values, URLs, email addresses, numbers, colours, date formats such as
"%d.%m.%Y", identifiers and anything marked as non-translatable. - The report lists the strings translated and those left as they were, with the reason.
Manuce does not build your application or test the display: it cannot see your button widths or the font being loaded, and it does not know the gender of whoever sits behind a variable. Pricing counts the words in values only, keys and tags excluded, with a ×1.25 coefficient for Russian.
Preparing the file and checking the result
- Encoding. The file's encoding is preserved, so upload it in UTF-8. A file in Latin-1 or Windows-1252 cannot hold Cyrillic characters.
- File name. Symfony and Hugo infer the language from the file name: save the returned file as
messages.ru.yamlori18n/ru.yaml, depending on your structure. - Terms to keep. Product names, brand names, technical terms: check in the free sample, then in the translation, that they stayed in Latin script where they should.
- Fonts. A web font limited to the Latin subset shows empty boxes or falls back to another typeface. Make sure the Cyrillic subset is loaded.
- Validation. Run the returned file through your usual YAML parser or linter, start the app in
ruand test counters with 1, 2, 5, 11 and 21. - Dates in Rails. Russian month names change form with context (
январьon its own,15 январяin a date). Therails-i18ntranslations already cover this, so rely on them rather than rewriting those keys.
In practice
- Convert the file to UTF-8 if needed, then upload it: the quote appears straight away, based on the words in the values.
- Pick a level and read the free sample: register, terms to keep, variables.
- Pay, then download the translated YAML file and its report from your account.
- Name the file for the ru locale, load the Russian plural rule if your library needs it, then test counters and layout.
Frequently asked questions
Will my one and other keys become one, few, many and other?
Yes, plural blocks are adapted to the Russian categories. Just make sure your i18n library knows the Russian rule: Rails does not include it by default, and it can be loaded with the rails-i18n gem, for example.
Could variables such as %{count} be translated or broken?
No. Every translated value is compared with the source, variables and tags included. If a mismatch persists, the source value is kept and the report flags it, so the file stays usable.
Are comments, anchors and multi-line blocks preserved?
Yes. The returned file keeps its indentation, key order, quotes, comments, anchors and | and > blocks. Only the values are translated.
Why does Russian cost more than some other languages?
Russian carries a ×1.25 coefficient on the per-word price. The count covers only the words in values, with keys and tags excluded.
Is the file ready for production?
It is ready to go back into your project, but Manuce does not test your interface. Run the app in Russian to check label length, Cyrillic font support and any wording that depends on gender.
The specialist in charge
This subject goes to Dédale, the technical specialist. See how it works.
The same file, into another language
Into Russian, other files
See also
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.