10.2. Internationalization with Globalize

Time zones are not the only kind of content that needs to change from country to country. There are also changes in the default style used to display numbers and dates, differences between imperial and metric units, and currency changes — all of which are dwarfed by the challenge of dealing with multiple languages. The generic terms for all this are internationalization and localization. Strictly speaking, internationalization is the creation of a structure by which content can be created in multiple countries, and localization is the act of actually populating the structure with content for individual locales. In practice, the terms are used more-or-less interchangeably or in pairs to mean "we need this site to work in places where people talk differently." You'll also often see the terms i18n and l10n with the numbers cleverly indicating the number of missing letters in each word.

Internationalization brings with it many challenges. You need some mechanism to either assign or allow users to choose the location they are in. Even if you aren't translating language, date and number display formats and units differ throughout the English-speaking world, as do the spellings and meanings of multiple words. If you are translating into multiple languages, you've just multiplied the amount of content you need to create. And your development team and primary content creators are unlikely to be fluent in all languages, making double-checking that ...

Get Professional Ruby on Rails™ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.