User Interface Localization

Tomáš Zelina

VB001

Available frameworks

Don't reinvent the wheel

Plural forms

2 plural forms

3 plural forms

One, many

One, 2 - 4, many

1 apple, 2 (10) apples

1 jablko, 2 jablka, 10 jablek

There are more extreme locales!

Plural rule #12 (6 forms)

Families: Semitic (Arabic)
is 1: 1
is 2: 2
ends in 03-10: 3, 4, 5, 6, 7, 8, 9, 10, 103, 104, 105, 106, 107, 108, 109, 110, 203, 204, 205, 206, 207, 208, 209, 210, …
everything else but is 0 and ends in 00-02, excluding 0-2: 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, …
ends in 00-02, excluding 0-2: 100, 101, 102, 200, 201, 202, …
is 0: 0

Plural rule #0

1个苹果

3个苹果

7个苹果

Plural forms

You have {number} new messages!
if (locale == "cs"){
    if (unread == 1){
        text = format(czechUnreadOne, unread);
    } else if (unread > 1 && unread < 5){
        text = format(czechUnreadMore, unread);
    } else {
        text = format(czechUnreadMany, unread);
    }
} else if (locale == "en"){
    if (unread == 1){
        text = format(englishUnreadSingular, unread);
    } else {
        text = format(englishUnreadPlural, unread);
    }
} else if(...
l10nFramework.getPlural(locale, 
    "You have {number} new message!"
    "You have {number} new messages!", unread);
You have {number} new message!;
You have {number} new messages!
Máte {number} novou zprávu!;
Máte {number} nové zprávy!;
Máte {number} nových zpráv!

GNU Gettext

XLIFF

FTL (L20n)

Properties

DTD

INI

INC

.lang

What should the localizer be aware of?

Most common traps

Meaning often depends on context

Display name
- >
Název monitoru

Name of screen

Motivation

25.5%

20.4%

7.9%

4.6%

4.1%

3,739,698,500

users online

Machine translation

Drahoušek Zakazník,
Tato is tvůj funkcionář oznamení dle Česká Spořitelna aby člen určitý služba dát pozor pod vůle být deactivated a odstranit kdyby nedošlo k obnovit se bezprostřední.
Predešlý oznámení mít been poslaný až k člen určitý žaloba Dotyk pridělil až k tato účet.
Ačkoliv člen určitý Bezprostřední Dotyk , tebe musit obnovit se člen určitý služba dát pozor pod či ono vůle být deactivated a odstranit.
Obnovit se Teď tvůj SERVIS 24 Internetbanking.
SERVIZ: SERVIS 24 Internetbanking
SKONANI: Leden, 06 2008
Být zavazán tebe do using SERVIS 24 Internetbanking. My ocenit tvůj obchod a člen určitý příležitost až k sloužit tebe.
Česká Spořitelna Služba účastníkům
******************************
DULEŽITÝ Služba účastníkům HLÁŠENI
******************************
Být příjemný činit ne namítat až k tato poselství. Do jakýkoliv bádat, dotyk Služba účastnikům
c Česka Spořitelna.

Všechna práva vyhrazena.

Thank you for your attention

// PowerPoint sucks!

VB001

By Tomáš Zelina