The key aspects of the internationalization (i18n) process

i18n is a numeronym for the word internationalization, the process of designing and developing software applications or products in a way that allows them to be easily adapted and localized for different languages, regions, and cultures.

A numeronym is a number-based word often used as an abbreviation to simplify long and often clunky technical terms. So for i18n, the 18 refers to the number of characters between the letters i and n in the expanded word – internationalization.

i18n is a key sub-set of the broader software localization (L10n) process, which combines with other business disciplines to produce an end product with an optimal UI that makes sense to the local audience and is scalable.

What areas does internationalization (i18n) cover?

In contrast to L10n, which is predominantly user-focused, i18n is an internal process using code to adapt the user interface (UI) of software automatically.

The process of internationalization (i18n) covers the following areas:

Designing for Localization: Internationalization involves designing the software architecture, code, and user interface (UI) in a way that separates the core functionality from language-specific or locale-specific elements.

This design approach enables easy adaptation and translation without significant code modifications.

Localization Support: Internationalized software includes support for different language scripts, character encodings, date and time conversions, number formats, currency symbols, and other locale-specific elements.

i18n should provide mechanisms for dynamic content expansion and contraction to accommodate translations of varying lengths.

User Interface (UI) Adaptation: Internationalized software allows the user interface to adapt to different languages and cultures. This adaptation should e seamlessly accommodate left-to-right (LTR) and right-to-left (RTL) text display based on the language format, adjusting UI layouts appropriately and providing localized user prompts, messages, and labels.

Cultural Considerations: Internationalization takes into account cultural aspects such as localized images, symbols, icons, color schemes, and regional conventions. 

i18n should also ensure that software respects cultural sensitivities, norms, and preferences.

The challenges of internationalization & the solutions

As internationalization is code-based, there are a number of common technical challenges associated with the process for which there are best practice i18n solutions

String Externalization:  A key challenge of internationalization is identifying and externalizing all user-visible strings in the software for translation. Developers need to ensure that all strings are extracted from the code and stored in resource files or databases, making them easily translatable. 

Solution: Using string placeholders or keys instead of hard-coded strings can minimize the potential errors associated with string externalization.

Character Encoding Issues: When software is localized, inconsistent or incorrect handling of character encodings can lead to display issues or garbled text. 

Solution: Implementing proper character encoding practices, supporting Unicode standards, and thoroughly testing the software across different languages can help overcome these common i18n challenges.

Text Expansion & Contraction: Translated text can often be much longer or shorter than the source text, resulting in UI layout problems, including truncated text.

Solution: Designing flexible UI layouts that can adapt to changing text length  with dynamic text resizing or wrapping mechanisms can address the challenge of text expansion and contraction.

Date & Time Formats: Internationalized software should support localized date and time formatting based on the user’s locale, but code can often fail to automatically recognise and accommodate these variations.

Solution: The key to building software that automatically reflects the user’s local time and date formats is implementing proper date and time formatting APIs or libraries as provided by the software platform or framework.

Examples of internationalization (i18n) done well

Given the critical importance of internationalization (i18n) to the success of desktop and mobile software applications, all of the biggest names in technology take it seriously.

Airbnb is a great example of localization done right, offering their platform in 62 languages and adapting all content and imagery to reflect the location of the user.

Upwork – Aiming to expand and localize its products globally, Upwork faced notable i18n challenges, particularly dealing with persistent bugs and managing a complex multi-OS architecture.

Lingoport stepped in, implementing a remediation plan to rectify architectural and code gaps, leveraging two of its bespoke tools, Globalyzer and Localyzer.

“Globalyzer has been at the core of our success and has helped us not only with i18n refactoring but also provided the visibility we needed to manage the i18n project at the company level.” Upwork describing working with Lingoport 

Our success stories provide further details of how Lingoport helps big-name brands internationalize their software, implementing scalable 18n processes and applying best practices. 

How Lingoport fixes i18n bugs

Lingoport can quickly and easily detect i18n bugs as code is being developed, not after, with one piece of software – Globalyzer. Here’s how:

  • Realtime prompts in the developer’s IDE – A developer can add Globalyzer i18n detection to their development environment and see i18n issues as they work.
  • Feedback during commits or pull requests – As a developer submits her day’s work, a Globalyzer scan can run automatically, illustrating any i18n issues, making it easy to fix any i18n issues that arise and then quickly move on.
  • Measure i18n readiness – Dashboards for specific repositories, entire development products, or software across your enterprise give a broad view of i18n readiness while enabling issue drill downs, assignments and other management features.

Want to know more? Book a Globalyzer demo today

Related Posts