Chapitre 3.4
Localisation et internationalisation
Les applications et sites internationaux doivent considérer la culture de chaque utilisateur.
C'est ce qu'on appelle la "localisation", abrégée en l10n.
Les différences d'usage obligent les développeurs à adapter leurs systèmes. Quelques exemples :
-
La langue
Nous approfondirons les traductions dans le prochain chapitre. -
Les formats de dates et le fuseau horaire
08/05/2025 se lit "5 août" aux USA, alors que c'est "8 mai" pour le reste du monde.
Certains utilisent 24 heures, d'autres seulement 12.
Chaque date doit être utilisée et affichée dans le fuseau horaire de l'utilisateur. Si une fonctionnalité doit sortir à minuit, une offre Saint Valentin par exemple, il faut que ce soit le minuit local. -
Les séparateurs de nombres
En France, les nombres s'écrivent "1 000 000,42", les milliers sont séparés par un espace et les décimaux par une virgule.
En Irlande ce même nombre s'écrit "1,000,000.42".
L'Allemagne inverse virgule et point "1.000.000,42".
La Suisse utilise des apostrophes "1'000'000.42".
L'Inde place les virgules différemment "10,00,000.42". -
Les prix
En plus des subtilités pour la représentation des nombres, il faut gérer la devise et son affichage.
En Italie, on écrit "1,23€".
En Irlande, "€1.23".
Aux Pays-Bas "€ 1,23" avec un espace.
Le dollar a repris le symbole du peso "$". Au Mexique, habitué aux deux devises, on préfèrera afficher MXN et USD en toutes lettres pour éviter une confusion. -
Les unités
Kilomètres vs miles, kilogrammes vs livres, Celsius vs Fahrenheit... -
Les numéros de téléphone
Chacun a ses manières d'écrire les indicatifs locaux et internationaux :
France métropolitaine : "+33 6 12 34 56 67".
Martinique : "+596 696 12 34 56".
USA : "+1 (555) 123-4567".
Ces formats officiels acceptent aussi des variantes.
En France, "+33 6" peut s'écrire "06", "0033 6", "+33 06"...
D'où la complexité de mettre en place des validations strictes dans les formulaires. -
Les symboles et l'iconographie
Le contexte culturel et historique de certains pays impose la mise en place de variantes.
Il faut éviter les images avec deux éclairs en Allemagne.
Les photos trop dénudées sont interdites dans les pays du Golfe.
Les sliders, flèches et autres indications de navigation doivent être inversées en arabe et hébreu puisque ces langues se lisent de droite à gauche.
Les emojis peuvent être adaptés : couleur de peau mieux représentative de la population locale, la boussole est utilisée en Chine au lieu du pin de position...
Les codes couleurs ne sont pas universels : rouge en occident symbolise le danger et l'erreur, en Chine c'est au contraire une couleur positive.
C'est impossible pour un développeur de connaître toutes ces subtilités culturelles.
Nous nous appuyons sur des outils et des bases de données publiques pour gérer les cas principaux.
Le travail des développeurs, c'est de détecter quels paramètres de localisation fournir à ces outils et par la même occasion
de les stocker dans le backend pour offrir une expérience fluide et cohérente sur tous les canaux (email, SMS, application...).
Pour ça, nous mixons plusieurs sources :
-
L'appareil de l'utilisateur
Les navigateurs envoient automatiquement des en-têtes dans les requêtes qui contiennent les locales préférées de l'utilisateur. Une locale est un identifiant qui définit un ensemble de préférences régionales. Elle est la plupart du temps exprimée sous la forme langue-RÉGION, par exemple fr-FR ou en-US.
Les applications mobiles disposent nativement d'outils pour obtenir la plupart des informations de la part du store ou du téléphone : fuseau horaire, pays du store, langue, préférence d'affichage des dates... Elles peuvent traiter directement ces informations ou les transmettre à un backend. -
L'adresse IP
Grâce à des bases de données spécialisées, nous pouvons géolocaliser l'utilisateur jusqu'à sa ville.
Il ne faut pas confondre l'endroit dans lequel se trouve actuellement l'utilisateur avec ses préférences culturelles. Il peut très bien être en vacances par exemple. La GeoIP, la géolocalisation par l'IP, sert majoritairement de plan de secours quand on manque d'information. De la ville et du pays, nous pouvons en déduire un fuseau horaire, une représentation des nombres et prix, nous pouvons proposer par défaut la langue la plus parlée de la région...
Pour des raisons juridiques, la GeoIP peut parfois compléter, voire prendre le dessus sur le pays de l'appareil ou du compte utilisateur. Une fonctionnalité interdite dans le pays par exemple. -
L'utilisateur
En lui proposant directement d'indiquer ses préférences de localisation, on assure à l'utilisateur la meilleure expérience possible.
Internationalisation
L'internationalisation (i18n) d'un système informatique, c'est l'art de le concevoir pour que les paramètres de localisation
n'influent pas sur son code source.
Ça consiste par exemple à :
- Ne pas mettre en dur un format de date ou de prix.
- Ne pas rajouter automatiquement de "s" à un mot au pluriel. Cette logique ne s'applique pas dans toutes les langues.
- Faire attention aux caractères spéciaux dans les exports de données. Les virgules dans les nombres peuvent casser un tableau Excel par exemple.
- Concevoir un design adaptatif supportant les langues avec des mots plus longs.
Une bonne localisation ne se remarque pas. Elle offre une expérience cohérente, compréhensible et adaptée. L'utilisateur se sent respecté.
