Software/Mobile app language support
Lingvatext is a reliable localization partner for
software developers, app creators and web platforms
What is software localization
Software Localization is the process of adapting or translating software to a specific locale's language, culture, and legal requirements. In many cases, localization will require modifications to the user-visible components of software such as the user interface, images, documentation, etc.
Your software - everywhere
Take your software to a global audience, but make it feel local. We go beyond translation, adapting your programs culturally so you can succeed in new markets.
Software localisation
The localization of the software is the process of adapting the software to the culture of a country. As a part of this process, the user interface, documentation and related software files are translated from one language to another.
For localization in English the abbreviation "L10n" is sometimes used. Where the letters "L" and "n" are the beginning and end of the word Localization, and the number 10 is the number of letters between them.

Localization is not limited to translation of the interface into another language. It is a multi-level operation, the first steps of which can be performed even if the interface is left intact, and the last steps require interaction between programmers, designers and translators:
1. Providing support for language and national standards is a necessary minimum so that the program can perform its functions in another country. Modern operating systems take on many of these issues, but a programmer must also be skilled enough to use their capabilities.
- Correct operation in a localized operating system, for games on TV set-top boxes - TV standard (PAL or NTSC).
- Make sure that the program meets the commodity laws of the target country. In particular: publish documentation in the target language, adjust functionality to patents, antitrust laws, laws on printing, on storage of personal data... Thus, in Windows 98 time zone lighting has disappeared due to disputed areas: it is extremely difficult to please both disputed countries.
- Displaying language characters. Preparing localized fonts, if needed. Adapting to other scripts can be quite complicated.
- Other actions with language - text input, alphabetic sorting, string operations, spelling dictionaries, transfer rules, etc.
- Standards of the target country directly related to the functioning of the programme: The format of date, time, fractional and multi-digit numbers; Features of human names; Symbols of currency; Formats of paper; System of measures; Features of legislation, such as Tax system; Documents issued by the government - social security number, taxpayer identification number, passport number; Requirements to software for government agencies - data openness, encryption standards, etc.

2. Translation of texts in the program interface into the target language.
- In complex software not all parts should be translated. For example, many do not agree with the translation of the names of Excel functions into Russian. Some OS errors are displayed when the computer is not yet able to display Russian letters, while the expert, to whom these messages are addressed, will understand the English letters.
- Correct alignment and placement of interface elements taking into account that string-maps in different languages can have significantly different sizes (for example, an ordinary message in English, being translated into German, usually becomes 17.3% longer). In addition, there are languages with right to left (Arabic, Hebrew) and top to bottom (Japanese) spelling;
- The translation of terminology is extremely important. For example, the term "browser" used by Windows to refer to a browser is controversial.
- If there is text in images, it needs to be redrawn. If there are speech messages, they need to be spoken.

3. Fine tuning for the target country.
- Working with word forms. An example is the notorious "Found 3 files".
- Additional standards that do not affect the basic functionality of the program. For example: date/time format in media player, typographical features.
- To provide interoperability of the localised program with initial. For example: we have introduced the formula "x*2,5" in the document. - Will it work if you open it in the English version? Have we established a network game of Russian and English - will not break the connection by referring to the mismatch of versions?
- To ensure interoperability of the program with software distributed in the target country. For example, accounting programs vary from country to country, and "1C: Enterprise" is little known outside Russia and former USSR republics.
- Taking into account the national mentality. For example: red color in Russians is associated not only with danger, but also with a holiday. In games you often have to change your humor, and occasionally - even correct the plot (for example, in Syberia 2 Turkish immigrant Sirkos turned into a Jew Zukerman).
- Drawing graphics (splash screens, icons, etc.) to the realities of another country. For example, road signs, plugs and sockets, mailboxes may look different in different countries. The globe is turned to the viewer by the part of the light on which the product is calculated. In the UK, the switch is turned on at the bottom position, and in the former USSR, the switch is turned on at the top position. Icons are redrawn very rarely, so designers initially try to make them as "international" as possible.
- Correcting clipart libraries. For example, images of local holidays are added. In Muslim countries, clipart is fundamentally revised - all images of humans and animals are removed, and added arabesques.
Thus, localization is a complex and comprehensive operation, and already in software development considerations of future internationalization should be taken into account in the most serious way. We are used to seeing software Russified by first or second level; complex software with exhaustive Russification practically does not exist. An example of deep localization is Apple's Mac OS X operating system, where localization often includes nationally oriented icons.
Localization toolkit
Some visual programming tools provide features and tools to facilitate localization. For example, in GTK+ there is usually no need to take special care of different line lengths in different languages, as widgets automatically request the size they need.
In most cases, however, these features are severely limited, which has a significant impact on the final cost of localization. These tools do not have the tools to work with translators, there are no automated translation checks, and it becomes impossible to control the translation of a medium sized application. That's why when you start localization, you should think about specialized tools dedicated to the task of translating software.
For software localization, specialized tools, such as Passolo, are often used, which allow translating menus and messages in software resources and directly in compiled programs, as well as testing the correctness of localization. For the translation of audiovisual materials (mainly movies), specialized tools are also used, for example, Swift, which combines some aspects of translation memory, but additionally provides the possibility of subtitling by time, formatting them on the screen and following.

Language Tags and Codes
Language tags can be used to indicate regional specifics of a language. There is a main subtag to identify the language (e.g. "en" for English) and a possible additional subtag to specify the region of use (e.g. "GB" - Great Britain, UK). There is usually a hyphen between the subtags and in some cases an underline. Examples of language tags:
- English: en-GB (British English), en-US (American English), en-AU (Australian English).
- Spanish: es-ES (Castilian Spanish, written and spoken Spanish), es-MX (Mexican Spanish), es-AR (Argentine Spanish), es-CO (Colombian Spanish).
- Portuguese: pt-PT (European Portuguese, written and spoken language of Portugal), pt-BR (Brazilian Portuguese).
- Chinese: zh-CN (mainland China, simplified characters), zh-TW (Taiwan, traditional characters), zh-HK (Hong Kong, traditional characters).
- Russian language: ru-RU (Russian, Russia)
The language codes are defined in ISO 639-2 as a three-letter term to identify each language, e.g. "eng" for English or "tvl" for Tuvalu. However, these codes cannot be used as tags if the language concerned has a two-letter code according to ISO 639-1.