4 points par lifthrasiir 2019-07-22 | 1 commentaires | Partager sur WhatsApp

Lorsqu’on traite l’internationalisation des logiciels, ce qui est particulièrement délicat, c’est une situation où tout fonctionne dans presque toutes les langues, mais pas dans quelques-unes seulement — voire une seule. Les deux types de i qui n’apparaissent qu’en turc et en azéri en sont un exemple représentatif. Dans l’alphabet latin, il n’existe normalement que le i minuscule pointé et le I majuscule sans point, mais dans ces langues, les lettres sans point ı/I et les lettres pointées i/İ forment chacune leur propre paire. Par exemple, dans "İstanbul", la première lettre est le İ majuscule pointé.

Comme Unicode n’encode pas séparément les i/I du turc et de l’azéri (puisqu’il s’agit des mêmes lettres latines), des problèmes surviennent souvent dans les logiciels qui ne prennent pas ces langues en compte, et cela a même déjà causé des drames. [1] Pour les traiter correctement, il faut utiliser une bibliothèque Unicode qui tient compte des informations culturelles (locale). Dans des langages ou environnements comme Java ou C#, qui gèrent les locales, ce n’est généralement pas un gros problème ; ailleurs, une bibliothèque distincte comme ICU est nécessaire.

[1] https://gizmodo.com/a-cellphones-missing-dot-kills-two-people-puts-thr…

1 commentaires

 
iolothebard 2019-07-22

Le turc... Je me souviens en avoir bavé à cause de la largeur des libellés/boutons, parce que les mots étaient longs...