Internationalization (I18N) & Localization (L10N)

Web Architecture [./]
Fall 2008 — INFO 290-03 (CCN 42584)

Erik Wilde, UC Berkeley School of Information
2008-10-21

Creative Commons License [http://creativecommons.org/licenses/by/3.0/]

This work is licensed under a CC
Attribution 3.0 Unported License
[http://creativecommons.org/licenses/by/3.0/]

Contents E. Wilde: Internationalization (I18N) & Localization (L10N)

Contents

E. Wilde: Internationalization (I18N) & Localization (L10N)

(2) Abstract

Many publishing environments need to support multiple languages. In many cases, the requirement to support multiple languages surfaces in later stages of a product development or publishing solution, which can cause major design changes, driving up costs. Internationalization (I18N) is the approach to design systems which can adapt to different locales. Localization (L10N) is the activity to identify, define, and encode locales, based on internationalized software.



E. Wilde: Internationalization (I18N) & Localization (L10N)

(3) I18N & L10N

  <arc xlink:type="arc" xlink:from="permalink" xlink:to="blog" xlink:title="Blog Home"/>
  <arc xlink:type="arc" xlink:from="blog" xlink:to="author" xlink:title="Blog Author"/>
  <arc xlink:type="arc" xlink:from="author" xlink:to="blog" xlink:title="Authored Blogs"/>
  <arc xlink:type="arc" xlink:from="permalink" xlink:to="blog">
   <title xlink:type="title" xml:lang="en">Blog Home</title>
   <title xlink:type="title" xml:lang="de">Blog Webseite</title>
  </arc>
  <arc xlink:type="arc" xlink:from="blog" xlink:to="author">
   <title xlink:type="title" xml:lang="en">Blog Author</title>
   <title xlink:type="title" xml:lang="de">Autor des Blogs</title>
  </arc>
  <arc xlink:type="arc" xlink:from="author" xlink:to="blog">
   <title xlink:type="title" xml:lang="en">Authored Blogs</title>
   <title xlink:type="title" xml:lang="de">Geschriebene Blogs</title>
  </arc>


E. Wilde: Internationalization (I18N) & Localization (L10N)

(4) What is Language?



E. Wilde: Internationalization (I18N) & Localization (L10N)

(5) Beyond Language

"Mongol" in Uighur Script

E. Wilde: Internationalization (I18N) & Localization (L10N)

(6) Directionality and Screen Layout

Right-to-Left Layout for Outlook Web Access

Internationalization (I18N)

Outline (Internationalization (I18N))

  1. Internationalization (I18N) [2]
  2. Localization (L10N) [2]
  3. Language Identification in Resources [4]
  4. URIs for Multilingual Resources [12]
  5. Conclusions [1]
Internationalization (I18N) E. Wilde: Internationalization (I18N) & Localization (L10N)

(8) Definition

Internationalization is the design and development of a product, application or document content that enables easy localization for target audiences that vary in culture, region, or language.


Internationalization (I18N) E. Wilde: Internationalization (I18N) & Localization (L10N)

(9) I18N Tasks

  1. UI elements (windows, menus) must be modified to accept translated text
  2. Static text must be made configurable
  3. Icons and graphics must be changed to be more culturally appropriate
  4. Sound files that contain spoken language must be re-recorded
  5. Online help must be translated
  6. Dynamic text (dates, times) must be formatted using the locale
  7. Text handling code must calculate word breaks using the locale
  8. Tabular data must be sortable using the locale


Localization (L10N)

Outline (Localization (L10N))

  1. Internationalization (I18N) [2]
  2. Localization (L10N) [2]
  3. Language Identification in Resources [4]
  4. URIs for Multilingual Resources [12]
  5. Conclusions [1]
Localization (L10N) E. Wilde: Internationalization (I18N) & Localization (L10N)

(11) Definition

Localization refers to the adaptation of a product, application or document content to meet the language, cultural and other requirements of a specific target market (a locale).


Localization (L10N) E. Wilde: Internationalization (I18N) & Localization (L10N)

(12) L10N Tasks

  1. Create translations for all interface elements
  2. Translate all static texts
  3. If necessary, create localized icons and graphics
  4. Any spoken text must be recorded in the target language
  5. Make sure that the localized product uses the localized online help
  6. Formatting of data types must be treated locale-specific
  7. If necessary, dictionaries and other language tools must be integrated
  8. Sorting functions in the code must respect the locale


Language Identification in Resources

Outline (Language Identification in Resources)

  1. Internationalization (I18N) [2]
  2. Localization (L10N) [2]
  3. Language Identification in Resources [4]
  4. URIs for Multilingual Resources [12]
  5. Conclusions [1]
Language Identification in Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(14) Language Codes



Language Identification in Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(15) ISO 639-2 Code List

dum|||Dutch, Middle (ca.1050-1350)|néerlandais moyen (ca. 1050-1350)
dut|nld|nl|Dutch; Flemish|néerlandais; flamand
dyu|||Dyula|dioula
dzo||dz|Dzongkha|dzongkha
efi|||Efik|efik
egy|||Egyptian (Ancient)|égyptien
eka|||Ekajuk|ekajuk
elx|||Elamite|élamite
eng||en|English|anglais
enm|||English, Middle (1100-1500)|anglais moyen (1100-1500)
epo||eo|Esperanto|espéranto
est||et|Estonian|estonien
ewe||ee|Ewe|éwé
ewo|||Ewondo|éwondo
fan|||Fang|fang
fao||fo|Faroese|féroïen
fat|||Fanti|fanti
fij||fj|Fijian|fidjien
fil|||Filipino; Pilipino|filipino; pilipino
fin||fi|Finnish|finnois
fiu|||Finno-Ugrian (Other)|finno-ougriennes, autres langues
fon|||Fon|fon


Language Identification in Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(16) IANA Language Subtag Registry

%%
Type: region
Subtag: UA
Description: Ukraine
Added: 2005-10-16
%%
Type: region
Subtag: UG
Description: Uganda
Added: 2005-10-16
%%
Type: region
Subtag: UM
Description: United States Minor Outlying Islands
Added: 2005-10-16
%%
Type: region
Subtag: US
Description: United States
Added: 2005-10-16
%%


Language Identification in Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(17) Language Identification in XML

  <arc xlink:type="arc" xlink:from="permalink" xlink:to="blog">
   <title xlink:type="title" xml:lang="en">Blog Home</title>
   <title xlink:type="title" xml:lang="de">Blog Webseite</title>
  </arc>
  <arc xlink:type="arc" xlink:from="blog" xlink:to="author">
   <title xlink:type="title" xml:lang="en">Blog Author</title>
   <title xlink:type="title" xml:lang="de">Autor des Blogs</title>
  </arc>


URIs for Multilingual Resources

Outline (URIs for Multilingual Resources)

  1. Internationalization (I18N) [2]
  2. Localization (L10N) [2]
  3. Language Identification in Resources [4]
  4. URIs for Multilingual Resources [12]
  5. Conclusions [1]
URIs for Multilingual Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(19) Naming Language Variants



URIs for Multilingual Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(20) Variant Naming Variations



URIs for Multilingual Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(21) DNS Domains

http://en.example.com/some/page


URIs for Multilingual Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(22) Constructed Paths

http://example.com/en/some/page


URIs for Multilingual Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(23) Query Strings

http://example.com/some/page?lang=en


URIs for Multilingual Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(24) DNS TLDs

http://example.us/some/page


URIs for Multilingual Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(26) Content Negotiation

http://example.com/some/page


URIs for Multilingual Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(27) Path Segment Name

http://example.com/some/page.en


URIs for Multilingual Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(28) URI Sub-Delimiter Comma

http://example.com/some/page,en


URIs for Multilingual Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(29) URI Sub-Delimiter Semicolon

http://example.com/some/page;lang=en


URIs for Multilingual Resources E. Wilde: Internationalization (I18N) & Localization (L10N)

(30) Now What?



Conclusions

Outline (Conclusions)

  1. Internationalization (I18N) [2]
  2. Localization (L10N) [2]
  3. Language Identification in Resources [4]
  4. URIs for Multilingual Resources [12]
  5. Conclusions [1]
Conclusions E. Wilde: Internationalization (I18N) & Localization (L10N)

(32) Babelification



2008-10-21 Web Architecture [./]
Fall 2008 — INFO 290-03 (CCN 42584)