# Internationalisation logicielle : Unicode, ICU et CLDR

Technologies de la traduction · Master 1

> Externaliser les chaînes, gérer pluriels, formats de date et encodages avant la localisation.

## Introduction

L'internationalisation (i18n) est la conception d'un logiciel de façon à pouvoir l'adapter à plusieurs langues et régions sans modifier le code. La localisation (l10n) est ensuite l'adaptation à un marché précis. Une mauvaise i18n rend la localisation coûteuse, voire impossible.

Les pratiques clés sont l'externalisation des chaînes de texte, l'usage d'Unicode (UTF-8) pour les caractères, et le recours à des bibliothèques de formatage (ICU) fondées sur les données de CLDR, le référentiel Unicode des conventions régionales.

Pour un traducteur, ces notions expliquent des contraintes concrètes : variables, pluriels, concaténations interdites et expansion du texte.

## Objectifs d'apprentissage

- Distinguer internationalisation et localisation
- Expliquer l'externalisation des chaînes et ses règles
- Décrire le rôle d'Unicode, d'ICU et de CLDR
- Repérer les erreurs de conception qui bloquent la localisation

## Concepts clés

- **i18n et l10n** : L'internationalisation prépare le produit ; la localisation produit les versions adaptées (langue, formats, conventions, parfois contenus et images).
- **Externalisation des chaînes** : Les textes sont sortis du code dans des fichiers de ressources. On évite de concaténer des fragments, car l'ordre des mots varie selon les langues. On utilise des variables nommées.
- **Unicode et encodage** : Unicode attribue un code à chaque caractère ; UTF-8 en est l'encodage dominant. Il garantit l'affichage correct des accents, des alphabets non latins et des écritures de droite à gauche.
- **CLDR et pluriels** : Le Common Locale Data Repository fournit formats de date, de nombre, de devise et règles de pluriel par langue. Certaines langues ont plus de deux catégories plurielles.

## Conclusion

La localisation réussie dépend d'une internationalisation soignée : chaînes externalisées, Unicode et formats fondés sur les locales.

Pour l'examen, retenez les définitions i18n/l10n et les règles de conception d'un message traduisible.

## Cartes

### Que signifie i18n ?

Internationalisation : 18 lettres entre le « i » et le « n ». Elle prépare le logiciel à plusieurs langues.

### Que signifie l10n ?

Localisation : adaptation d'un produit à une langue et à un marché cible.

### Pourquoi éviter la concaténation de chaînes ?

L'ordre des mots et les accords diffèrent d'une langue à l'autre ; une phrase doit rester entière avec des variables.

### Qu'est-ce qu'UTF-8 ?

Un encodage de caractères Unicode de longueur variable, très répandu sur le web.

### Que contient le CLDR ?

Des données de formats de date, nombres, monnaies, noms de langues et règles de pluriel par locale.

### Pourquoi les pluriels posent-ils problème ?

Les langues n'ont pas toutes la même règle ; le russe ou l'arabe ont plusieurs catégories, le français traite 0 et 1 comme singulier.

### Quel est l'effet de l'expansion du texte ?

Le texte traduit peut être nettement plus long (de l'anglais vers l'allemand, par exemple), ce qui impose des interfaces flexibles.

### Qu'est-ce qu'une locale ?

Une combinaison langue-région (p. ex. fr-CH) qui détermine les conventions d'affichage.

### Pourquoi utiliser la locale fr-CH plutôt que supposer des conventions françaises ?

Les conventions régionales (nombres, monnaie, dates) peuvent différer entre fr-CH et fr-FR ; on s'appuie sur les données de la locale.

## Glossaire

- **Chaîne externalisée** : Texte placé hors du code dans un fichier de ressources.
- **Locale** : Identifiant de langue et de région.
- **ICU** : Bibliothèque de référence pour l'internationalisation, fondée sur Unicode et CLDR.
- **Pseudo-localisation** : Test remplaçant les chaînes par des variantes accentuées et allongées pour détecter les problèmes d'i18n.
- **Écriture bidirectionnelle** : Prise en charge de langues écrites de droite à gauche comme l'arabe ou l'hébreu.
- **Variable (placeholder)** : Marque de substitution dans une chaîne remplacée à l'exécution.
- **Collation** : Règles de tri des chaînes selon la langue.

https://ruvy.ch/decks/-P5CVWduw7Zeh9MnR4ou
