Testing for Internationalisation and Localisation

Testing for Internationalisation and Localisation

Internationalisation (i18n) is designing software to support multiple locales; localisation (l10n) is adapting software for a specific locale — translating text, formatting numbers and dates, supporting local conventions. Testing i18n and l10n ensures the application works correctly for users across different languages, regions, and cultural contexts.

Internationalisation Test Areas

  • Character encoding: UTF-8 handling — does the application correctly store and display characters from all scripts (Arabic, Chinese, Hebrew, Cyrillic)?
  • Text direction: Right-to-left (RTL) languages (Arabic, Hebrew) require layout mirroring — does the UI adapt correctly?
  • String expansion: Translated strings are typically longer than English. German and Finnish strings can be 30-50% longer — does the UI accommodate this?
  • Placeholder and format strings: "Welcome, {name}!" — are format strings correctly externalised and do they work with all translation inputs?

Localisation Test Areas

  • Date formatting: DD/MM/YYYY vs MM/DD/YYYY vs YYYY-MM-DD
  • Number formatting: 1,234.56 vs 1.234,56
  • Currency: symbol position, decimal places, local currency
  • Time zones: events and timestamps in user's local time
  • Translation quality: functional correctness and natural-sounding translations

Pseudo-localisation

Pseudo-localisation replaces English strings with extended versions (using accented characters and extra length) to test i18n readiness without requiring actual translations. It reveals hard-coded strings, layout issues with longer text, and encoding problems early in development.

Did you find this article useful?