Adapter une application à l’international

spoiler alert:

c’est le bordel

  • GNOME
  • Coordinateur de l’équipe de traduction française
  • Coordinateur de l’internationalisation

internationalisation

i18n

l10n

localisation

localisation

régionalisation

Chaînes de caractères

Marquage

fn("Hello")

gettext("Hello")

_("Hello")

Concaténation

Formatage

Formes plurielles

  • Un, plusieurs
  • “I’ve had 0 beers” vs. « J’ai bu 0 bière »
  • « J’ai bu 1,5 litre »
  • 1, 2, 3…
  • nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
  • ngettext("I’ve had %d beer", "I’ve had %d beers", n)

Commentaires et contexte

Commentaires pour lever les ambiguïtés

Contexte si la chaîne peut apparaître dans différentes situations

Affichage

LTR et RTL

Longueur du texte

Mise en forme

Locales

Paramètres régionaux

  • Langue
  • Région
  • Unités
  • Formats (dates, séparateurs…)
  • Premier jour de la semaine

Variantes pour une langue

  • fr : "De rien"
  • fr_be : "S’il vous plaît"
  • fr_els : "Seeeervice"

Documentation

  • Texte
  • Images

Flux de travail

Gestion du flux

  • Réservations
  • Dépôt

Impact d’une modification de chaîne

→ Cycle de développement

Conclusions

C’est le bordel mais des solutions existent.

Soyez prudents et ouverts.

Auto-promotion


Ressources