When an application launches in other countries, it is translated into different languages and adapted to local conventions — this is called localization. Checking that every language version is correct and nothing is broken is localization testing. It seems simple ("we just translated it"), but in practice it is full of traps that an attentive tester is exactly the right person to catch.
Let's look at what localization is, what to check specifically, and which bugs come up most often.
What localization and internationalization are
Two similar words worth distinguishing:
- Internationalization (i18n) — preparing the application for different languages at the code level: strings are stored separately, date and number formats are not hard-coded. This is done by developers.
- Localization (l10n) — the actual adaptation to a specific language and country: translation, local formats, currency, images. This is what a tester checks.
In plain words: internationalization means "the application is capable of speaking different languages in principle"; localization means "everything is correct in this particular language".
What to check
Localization testing is not just "verify the translation". The main areas:
- Translation. Is everything translated (are there any English strings left in the Russian version), are there mistakes or typos, does the translation fit the context? A common problem is untranslated fragments: a button, an error message, or a confirmation email.
- Formats. Dates (12.05.2024 vs. 05/12/2024 — day and month are easy to mix up), numbers (1 000,50 vs. 1,000.50), currency symbols (₽, $, €), and units of measurement. Different countries use different conventions.
- Layout under text length. German and Russian words are often longer than English ones: translating "Save" to "Сохранить" may not fit the button, the text gets clipped or breaks the layout. This is the most common localization bug.
- Text direction. Arabic and Hebrew are written right-to-left (RTL) — the whole interface should mirror itself. If the product supports these languages, that is a separate and substantial check.
- Cultural nuances. Images, colors, sample names, phone number formats, and what is acceptable versus inappropriate in a given country.
Common localization bugs
What comes up most often:
- Clipped or overflowing text because the translation is longer than the original.
- Untranslated fragments — especially in out-of-the-way places: error messages, emails, tooltips, and text embedded in images.
- Wrong formats — a date in the wrong format, a decimal point instead of a comma, or the wrong currency symbol.
- Hard-coded strings — a phrase that was never pulled out for translation and stays in the development language across all versions.
- Mixed languages on a single screen — part of the interface is translated, part is not.
A useful technique: do not only check localization on the short "happy path" text — specifically hunt for the longest translations and the least-visited screens (error states, emails, empty states).
Where this applies
Localization testing is needed for any product that runs in more than one language or in multiple countries. It is often the tester who notices that the button is clipped in the German version, the Russian version still shows "Loading" in English, and the date is displayed in the American format and confuses the user. This is a visible and valued part of the job, especially in international teams.
Where beginners stumble:
- Reducing the check to "verify the translation" and forgetting about formats, layout under long text, and rarely visited screens.
- Only checking the main pages, while untranslated content is hiding in error messages, emails, and tooltips.
- Not distinguishing localization bugs from ordinary layout bugs — text that is clipped because of a translation should be filed specifically as a localization bug with the language noted.
What to learn next. Localization is one type of testing alongside functional and non-functional and cross-browser testing. Further along in the program: tester's tools and working in a team.