Practice i18n technical vocabulary: ICU message format, CLDR, plural rules, date and number formatting per locale, and externalising hardcoded strings.
0 / 10 completed
1 / 10
A developer says: "Use ICU message format for strings with variables and plural forms." What is ICU message format?
ICU message format solves a hard i18n problem: how do you handle strings that change based on count, gender, or other variables — across languages with very different grammatical rules? Simple string concatenation fails: 'You have ' + count + ' messages' produces grammatically wrong results in many languages. ICU format encodes the rules in the string itself: '{count, plural, zero {No messages} one {One message} other {{count} messages}}'. Libraries like FormatJS, MessageFormat, and many i18n frameworks support ICU.
2 / 10
An i18n engineer references 'CLDR data' when implementing locale-specific date formatting. What is CLDR?
CLDR (cldr.unicode.org) is the authoritative source of locale data. When a JavaScript Intl.DateTimeFormat object formats a date for fr-FR, it uses CLDR data. When a Java application displays a currency for ja-JP, it uses CLDR data. Engineers reference CLDR when implementing custom formatters, verifying that a library's locale support is CLDR-based, or checking what date format a specific locale uses. 'We pull plural rules from CLDR' is standard practice.
3 / 10
A localization engineer explains: "Russian has 3 plural forms, Arabic has 6, and Chinese has 1. This is why we cannot just use singular/plural." What are plural rules in i18n?
Plural rules are a common source of i18n bugs. English developers often assume two forms (1/many) and write code with binary plural handling — which breaks in Russian (1 item, 2-4 items, 5+ items have different forms), Arabic (six plural forms), or Welsh (six plural forms). CLDR defines plural categories: zero, one, two, few, many, other. ICU message format lets you map each number to the correct category, and translators provide a string for each category their language needs.
4 / 10
A developer asks: "Why does 1,000.50 display as 1.000,50 in German?" What i18n concept does this illustrate?
Number formatting varies widely across locales. Using Intl.NumberFormat (browser), NumberFormat (Java/ICU), or equivalent locale-aware APIs ensures correct formatting automatically. Never format numbers by manually inserting commas and periods — you will produce en-US format for all users. The same principle applies to currencies (symbol position, spacing), percentages (50% vs 50 % vs %50), and measurement units. 'Format numbers with the locale, not with string concatenation' is a core i18n rule.
5 / 10
During a code review, an engineer comments: "This hardcoded string needs to be externalized." What does externalising a string mean?
Externalising strings is the fundamental i18n step. A hardcoded string like cannot be translated without changing the code. Externalised: the code becomes and the string 'Submit Order' lives in en.json, de.json, fr.json. The i18n framework loads the appropriate file at runtime. Externalisation also catches the full scope of translation work: running an extractor tool reveals every hardcoded string in the codebase. Missing externalisations are found via pseudo-localization testing.
6 / 10
Sarah (Product Manager) asks the localization team: 'We need to support Catalan. Can we just use a simple 'male' and 'female' gender string for all users?' David (Developer) replies, 'Sure, no problem!' What is David missing regarding i18n best practices? Hint: Consider the potential for future expansion and cultural nuances.
David is missing the critical concept of grammatical gender. Catalan, like many languages, has complex rules about how nouns and adjectives change based on their gender (masculine, feminine, neuter). Simply using 'male' and 'female' strings will likely lead to incorrect translations and a poor user experience. The team needs to leverage locale-specific data for accurate grammatical adaptation.
7 / 10
During a Slack discussion about translating the app's UI, Maria (Engineer) mentions 'resource bundles.' John (Senior Developer) asks: 'What exactly are resource bundles in the context of i18n?' Consider this: Resource bundles are key to managing translations efficiently.
Resource bundles are the fundamental building blocks of i18n. They're files (typically .json or .po) that contain all the translated text for an application, organized by category and language. This allows developers to easily manage translations, update them independently, and ensure consistency across the entire product.
8 / 10
In a code review comment, Liam (Lead Developer) states: 'This date format string needs to be localized. We need to use the appropriate formatting for the user's locale.' What does Liam mean by 'localize' in this context? Think about how dates are represented differently across cultures
Liam is referring to the process of adapting the *representation* of the date string according to the user's locale. Different cultures have different conventions for date formatting – some use day/month/year, others month/day/year. Localization ensures that dates are displayed in a format that makes sense to the user in their region.
9 / 10
A PR description reads: 'We've added support for pluralization using ICU. The code now uses the `plural()` method to handle different cases.' What is the primary benefit of using a library like ICU for pluralization? Consider the complexity involved
Pluralization rules vary dramatically across languages. ICU provides a robust framework for defining these rules based on context (e.g., number value, noun category) and language. This avoids the need for developers to write complex, error-prone hardcoded logic, ensuring accurate translations in diverse locales.
10 / 10
During a standup meeting, Alex (Engineer) says: 'We're using CLDR data to format numbers correctly for the UK.' What does CLDR represent? Think about the scope of this resource
CLDR stands for the Collaborative Localization Data Repository. It's a vital resource in i18n that provides locale-specific data – including number and date formatting rules, currency symbols, calendar conventions, and more – enabling developers to create truly localized applications. Using CLDR ensures consistency and accuracy across different regions.
What will I practise in "i18n Technical Vocabulary"?
Practice i18n technical vocabulary: ICU message format, CLDR, plural rules, date and number formatting per locale, and externalising hardcoded strings.
How many exercises are in this module?
This module has 10 multiple-choice exercises, each with instant feedback and a full explanation of the correct answer.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account, sign-up, or paywall.
Do I need to create an account to do these exercises?
No account is required. Just click an option to answer — your score for this session is tracked automatically in the progress bar above.
What happens if I choose the wrong answer?
You'll immediately see which answer was correct, plus a full explanation covering the vocabulary and reasoning behind it — mistakes are where most of the learning happens.
Can I retry the exercises if I want a higher score?
Yes — use the "Try again" button on the results screen to reset and go through all the questions again.
Is my progress saved if I close the page?
No. Progress is tracked only for your current visit; reloading or leaving the page resets the counter. This keeps the exercise simple and account-free.
Where can I find more Localization Engineering Language exercises?
Browse the full Localization Engineering Language hub for related drills, or check the "Next up" link below to continue with a connected topic.
How is this different from reading an article on the same topic?
Articles explain vocabulary and concepts in prose; this exercise tests and reinforces that vocabulary through active recall with immediate feedback — the two work best together.
Who writes these exercises?
Every exercise is written by the CoderSlingo team, drawing on real workplace English used in IT roles, then reviewed for accuracy and clarity.