Some time ago, Art One received a project involving software localization to Russian, English strings (segments of code) needed to be translated and localized for Russia.

The client wrote their code using short text blocks. By combining these blocks, they could build sentences and commands. They were confident that all we needed to do was translate the individual text blocks. Then they would string them together in Russian. 

After all, it works in English, right?

Our team wrote back to ask if they could provide us with complete sentences. The developers answered that character limits had forced them to use concatenation. Concatenation is a programming term that refers to joining separate strings. These strings are sometimes separated around variables. 

For example, a programmer might write ‘You have {NUMBER} days left’ + ‘to use coupon code {CODENAME}’ instead of writing a single sentence. 

This saves them both time and disk space. (Since storage used to be much more expensive, that is where some of these shortcuts originate). 

The client asked us to translate these sentence fragments “as-is.” They added that they were sure it would make sense when put together at the end of the localization process.

If you are not familiar with Russian grammar, you might wonder why this is an issue for UI localization to Russian.

What many English speakers do not know is that Russian has a grammatical feature known as cases. As we will see, cases make it impossible to use pre-translated building blocks. When put together, they do not make grammatically correct sentences.

What are cases, and how do they affect localization to Russian?

Russian is a synthetic language. This means that speakers (and writers) express information by adding letters or syllables to a root word, unlike English and other analytic languages that convey relationships between words in sentences with the help of particles, prepositions, etc., and word order.

There are six ways that a noun can be modified in Russian, depending on its role within a sentence. These modifications are referred to as cases.

The ending of a noun changes based on its case. Not only that, but any adjectives modifying that noun will also change endings based on their case.

Case endings are also gender and number specific which means that spelling changes depending on the gender of the noun they modify (feminine, masculine, or neuter) and whether it is singular or plural.

Let’s look at one example:

A pretty house – Красивый дом

I live in a pretty house – Я живу в красивом доме

I do not have a pretty house – У меня нет красивого дома

As you can see from the underlined text, both the adjective and the noun change spelling in each instance. To a Russian reader, these changes in endings convey extra meaning. 

This might sound unfamiliar, but English speakers also do it: for example, the letter ‘s’ can change a word from singular to plural.

Do other languages use cases?

Yes. Many languages in the Slavic language family, spoken in Central and Eastern Europe, use cases. For example, Polish has seven different cases, as does Croatian. Czech and Slovak, which are closely related, each have six.

Hungarian, which is not a Slavic language, has a total of 18 cases. Estonian has fourteen and Finnish commonly uses 12.

German also uses four cases (as well as three genders). However, the language has changed over the years, and nouns no longer reflect the case. Articles and adjectives, on the other hand, still change based on the case.

Greek also uses four cases, and Turkish has six.

How cases affect software localization? 

Software localization to Russian

There is an old maxim: you do not know what you do not know.

English speakers often code using “building blocks” like the ones our client proposed. If they are unfamiliar with grammar in other languages, they may not expect a noun (or an adjective, or an article) to be affected by other elements of the sentence.

But those building blocks are not adequate for successful localization to Russian. Without the full sentence, the best a translator can do is guess which case to use. If the wrong case is used, then the translated text may not necessarily convey the intended meaning.

UI Localization to RussianAnother issue that arises in Russian is with the plural. In English, we have the singular, and then we have a plural form used for any number greater than one. 

Example: one house, two houses

The plural in Russian is more complicated. There are three possible endings:

  • One for singular: 

A pretty house – Красивый дом

  • One for numerals 2, 3, 4 and all other numbers ending in these digits, such as 23, 42, 85, etc.:

Two pretty houses – Два (2) красивых дома.

  • One for numbers from 5 to 20 and all other numbers ending in 5 – 9:

Two pretty houses – Восемь (8) красивых домов.

This means that when there is a variable, the translator may not be able to use the right form of the noun.

Software localization to German

Much like Russian, German has three genders (masculine, feminine, and neuter). As mentioned before, it also uses four cases.

The good news is that cases in German do not affect nouns themselves. In other words, nouns are spelled the same regardless of case.

What does change is the article (the German equivalent of “a” or “the”), some personal pronouns, and adjective endings.

In German software localization, problems arise when a noun is separated from other elements of the sentence. This can occur when a variable is used so that the noun can be translated separately. It also happens when a full sentence is broken into fragments.

Little Changes That Will Make a Big Difference in the Process of Localization to Russian

Below are some of our recommendations for ensuring that your Russian software localization project goes smoothly.

Please keep in mind that many of these also apply to UI localization to German, Hungarian, Finnish, and any other languages that use cases.

1. Whenever possible, avoid concatenating strings.

What is the easiest way to ensure that the software localization process is seamless? Write your original code with UI localization in mind.

As we discussed, concatenated strings often present a problem during localization to Russian, German, and other languages that rely on cases.

Let’s take a look at an example.

When coding error messages, a developer might be inclined to write the string “You don’t have.” They then write additional strings that cover possible error messages, such as “access to this file,” “administrative privileges,” “enough space on your disk drive.”

However, there are at least six possible ways to write “access to this file,” depending on the case. When a translator comes across this four-word string during UI localization to Russian, they will not know which option is correct.

Instead, these three error messages should be coded as:

  • You don’t have access to this file
  • You don’t have administrative privileges
  • You don’t have enough space on your disk drive

This will allow the translator to select the correct form of the noun during localization to Russian.

For a real-life example of how one software company addresses concatenation issues in its UI localization process, we recommend this article written by a front-end developer at Shopify.

2. Save time by not sorting that spreadsheet.

Among other source files we receive for translation at Art One is an Excel file. These spreadsheets contain all the strings exported from the UI.

When sending exported strings to your translation team, resist the urge to sort them or change their order in any way.

Even without a full sentence, a Russian or German translator may be able to identify the correct target-language case from the strings that come before or after. If you sort or alphabetize your list of strings, that key context is immediately lost.

3. Give your variables meaningful names.

This suggestion was originally offered by Alexander Manaenkov, a Russian translator who specializes in video game localization to Russian. He recommends giving your variables names that clearly indicate what will replace them. 

An example would be: Would you like to save this document as a {1}?

Instead of using {1}, use {file_type} so that the translator has a sense of what variable will appear. 

This gives translators more context and allows them to select grammatically correct forms in the rest of the sentence.

4. Display numerals or create variables that give the translator the information they need.

This is one of the biggest challenges in software localization to Russian: how to handle plurals.

If a software program uses a variable for numbers without any details, translators often resort to inelegant solutions. One common workaround involves parentheses that enclose other possible endings.

For example:

{number} users is translated as {number} пользователь(-я/-ей)

… when, in fact, the correct translations would be

1 user > 1 пользователь

4 users > 4 пользователя

12 users > 12 пользователей

The ideal solution is to write your code so that the variable indicates which form of the plural would be used. Alexander Manaenkov refers to this as a “smart count,” and he has seen it used by Google and Airbnb, among others.

Airbnb’s code uses two variants in the source:

{singular} user / {plural} users

While in Russian, there were three variants:

{singular} пользователь / {paucal} Пользователя / {plural} пользователей

Even experts in Russian software localization acknowledge that building a similar feature is a challenge for developers. (The Airbnb localization team has spotlighted their solution as a major achievement.). However, time spent solving this problem while coding will lead to a better user experience for customers.

Art One is an award-winning localization provider. Our seasoned translation team is familiar with the challenges of UI localization to Russian, German, and other languages that use cases. Working alongside our project managers, they help our clients understand how to lay the groundwork for a successful localization process. Then they apply their knowledge step-by-step to ensure a final product that reads beautifully in the target language.

Do you need to localize your software to Russian? Contact us for expert help.

Comments are closed.

error: Content is protected !!