Fledgling software products often face hard budget or time constraints. When the initial product is finally ready, it tends to exist in only one language. However, for expansion into the world market, it is absolutely essential to have a properly internationalized and localized product. Outside of the Western world especially, even cursory knowledge of English cannot be relied upon. Software intended for emerging markets such as the Russian-speaking world must be localized for them to achieve any level of market penetration.
What is Localization? — What is Internationalization?
Localization and internationalization are often confused with each other. As the two terms seem to signify the same process from different perspectives and as they are often used together, the confusion is somewhat understandable. In the software world, they do however have clear definitions.
- Localization (l10n in programming vernacular)
- is the process of translating and otherwise adapting a piece of software to a target language or culture. This can only be done after this piece of software has been internationalized. Localization often involves more than just translation or slight changes in display formats. It may also include wide-ranging cultural adaptations and even graphical or layout changes.
- Internationalization (i18n in programming vernacular)
- is the process of preparing a piece of software for localization. It involves adding library components or custom code to load translations for program strings or change the UI layout as well as eliminating most or all occurrences of hard-coded strings.
Localization and internationalization are of course part of the broader software translation process. This is why we offer to do both for you.
Common Pitfalls in Localization
When localizing programs that have not been properly and thoroughly internationalized, unforeseen issues are likely to arise. Whether those are logical errors, formatting problems, or simply graphical bugs, they lower the quality of the final product tremendously and are costly to fix as well as prone to regressions, i.e. they can resurface at a later point in time. With our system, these problems can be nipped in the bud. Here we have collected several examples of non-compliant software behavior resulting in localization mistakes. Using our internationalization technique all of them can be avoided.
The text "There is 1 reservation(s)" may look familiar to many. Programmers use such catch-all formulations often in order to save time that will supposedly be spent developing other features. In English and other languages of European descent, while inconvenient to look at, such texts are at least functional. Many languages, though, have highly complex plural rules which cannot all be handled with such a catch-all formulation without being distracting. A proper localization method needs to be utilized in this case. Your developers will rejoice when told that they do not have to implement any additional logic to achieve this. They can leave it all to a dedicated piece of software. Developers will be free to implement business logic and even save time though leveraging the advanced formatting capabilities our software offers, leaving the language tasks to us and other qualified technical writers and translators.
Note that even in English, "There is one reservation(s)" is simply grammatically incorrect. By handling plurals correctly, not only can you achieve greater international market penetration, but also enhance the quality of your software for the domestic market.
Character Set Problems
If the text displayed here has sparked memories, you have before fallen victim to improper character set handling by legacy or wrongly configured software.
While the impact of this issue has lessened in recent years thanks to the widespread adoption of the UTF-8 character set, it still occasionally resurfaces. Use of the wrong character sets can make localized text unreadable and may even lead to data corruption, depending on where it occurs in the program's execution flow. Because character sets are highly variable configuration artifacts, errors in this area are often not caught by generic unit or integration testing. In contrast, our thoroughly tested libraries work in any configuration environment where they are deployed.
Number and Date Formatting
Ensuring the correct display of all numeric data across different platforms and localized versions is far from trivial, especially if grammatical factors like plurals and cases need to be taken into account. Our library offers powerful tools to automate this daunting task. It also makes sure that exactly the correct billions and trillions for the language are used, and that the date appears as the user expects it.