i18n – Sam & Max http://sametmax.com Du code, du cul Wed, 30 Oct 2019 15:34:04 +0000 en-US hourly 1 https://wordpress.org/?v=4.9.7 32490438 L’internationalisation, c’est long et dur (et ça racle le fond) http://sametmax.com/linternationalisation-cest-long-et-dur-et-ca-racle-le-fond/ http://sametmax.com/linternationalisation-cest-long-et-dur-et-ca-racle-le-fond/#comments Fri, 19 Feb 2016 13:30:28 +0000 http://sametmax.com/?p=18253 Je veux tradure mon site en Anglais, c'est combien ? Je tique toujours un peu.]]> L’internationalisation, abrégé i18n car il y a 18 lettres entre le i et le n, est le processus qui consiste à proposer différentes versions d’un contenu ou d’une interface afin de coller au plus proche des attentes culturelles de différents groupes d’humains.

Quand je discute avec un client et qu’il me dit :

Je veux traduire mon site en Anglais, c’est combien ?

Je tique toujours un peu.

C’est que l’i18n, ce n’est pas juste traduire des mots vers des autres. C’est beaucoup, beaucoup plus compliqué que ça. Et il faut avant tout identifier qui on vise, ce qu’on veut leur apporter, et ce qu’on est prêt à investir comme énergie pour le leur offrir.

En générale, les populations anglophones sont assez proches culturellement de nous, donc c’est plus facile de faire la transition que vers des cultures arabes, russes ou chinoises. Et si c’est imparfait, ce n’est pas trop grave, car l’utilisateur s’adaptera assez bien.

Néanmoins, il ne faut pas croire que prendre le texte et le coller dans Google translate va suffire, loin de là.

Et si le travail vise de gens culturellement plus éloignés de vous, alors le travail peu vite de venir énorme.

Le texte

Bien entendu, on pense tout de suite à la traduction, et c’est déjà un gros boulot.

Mais déjà, il faut s’adapter au contexte culturel que l’on vise. En Japonais, les niveaux de respect ne seront pas les mêmes selon les clients. Vous traduisez vers de l’espagnol, mais visez-vous l’Amérique du Sud et ses ustedes partout, ou l’Espagne et son vosotros ? Vous voulez proposer de louer un cab aux Londoniens ou un taxi aux New-Yorkais ?

Au passage, prenez un bon traducteur, car en plus de devoir traduire le sens du texte (et pas juste les mots), il faut qu’il adapte la ponctuation. Ainsi, on colle “:”, “!” et “!” au mot précédent en anglais, mais pas en français.

On a à peine commencé l’article et c’est déjà la merde, mais attendez !

Il y a le sens de lecture aussi !

De gauche à droite, de droite à gauche, de haut en bas. Et si vous croyez que ce n’est que le texte, lol… Car ça influence également toute la mise en page, avec notamment le placement des éléments importants : titres, boutons, etc. afin qu’ils soient mis en évidence.

Après, il y a l’espacement. Vous savez, on peut se permettre de se la jouer cool sur les espacements en français, parce que’on a plein de ponctuation. Donc un bloc de texte est clair, facile à lire en diagonale. En Thaïlandais par contre, il n’y a pas de virgule, de point, ni même d’espace entre les mots et les phrases. Donc si vous avez un truc à bien séparer du reste, il va falloir trouver une astuce visuelle.

Et puis il y a mon favoris, particulièrement parce que Python est très sévère (mais juste:)) avec : l’encodage.

Car dans le meilleur des mondes, on a de l’UTF8 partout. Mais on est pas dans le meilleur des mondes, et si vous visez certains terminaux, il faudra encoder dans un truc couleur locale. Par exemple, si vous envoyez des SMS sur des vieux 3310 en Afrique.

Les nombres

Ah, les nombres. Qu’est-ce qu’il pourrait être plus simple ? C’est universel pas vrai ?

Pas vrai ?

Et bien disons que comme d’habitude, la donnée est universelle, et la représentation ne l’est pas.

Déjà, il a les bases. On aime beaucoup la base 10, et quand c’est du technique parfois un peu de binaire, d’octal ou d’hexa.

Mais certaines populations ont des manières de compter étonnantes. Par exemple, si vous faites un système à Bamako (ne rigolez pas, c’est un exemple de ma carrière), sachez qu’en Bambara 1000 se dit 2 fois 500.

À cela se rajoutent les séparateurs et devises. Mille dollars et quarante cents pour un américain, c’est $1,000.40 ou $1000.40, alors qu’en français ce sera 1000,40 $ ou 1 000,40 $.

Et chaque format à ses règles de groupages, ses séparateurs, ses positions de préfixes… Les numéros de téléphone, les numéros de sécurité sociale, les codes postaux…

Attendez, ne fuyez pas, on n’en est pas encore à la moitié !

Les unités

Même la NASA a niqué une mission parce qu’ils se sont embrouillés entre les unités impériales et le système métrique.

Alors vous allez me dire, tant qu’on n’utilise pas des unités pifométriques, il suffit de convertir. Oui, mais encore faut-il savoir de quoi on parle. Il faut donc toujours demander à l’utilisateur en quoi il saisit ses données, et être très précis.

Très précis parce que figurez-vous que:

  • Le Gallon est utilisé aux UK, en Ireland, au Canada, aux Iles caïman, A la Dominique et Myanmar.
  • Les Émirats Arabes Unis, Panama et la Guyane utilisaient le Gallon jusqu’en 2013.
  • Mais le Gallon américain et le Gallon britannique ne sont pas équivalent. L’un fait 3.785l, l’autre 4.54609l, ce qui a causé la mort de quelques pilotes en Mediterranée qui on fait un plein pas assez Charlie.

Les dates

Je ne vous apprends rien en vous disant que gérer les fuseaux horaires c’est chiant. Mettez tout en UTC, et utiliser une bonne lib parce que le temps c’est relou : des zones géographiques alignées n’ont pas les mêmes heures (France et UK), des pays très grands ont plusieurs fuseaux (USA) ou un seul malgré leur gigantisme (Chine), et certains on les heures d’été/hiver, mais pas tous. Et il y a les années bissextiles, et la fameuse leap second. Et le fait que certains pays décident de changer de fuseau horaire comme ça, pouf, parce que ça les arrange.

Du coup il faut bien demander aux utilisateurs où ils sont pour récupérer la date dans le bon fuseau (l’ordinateur peut être réglé pour envoyer la mauvaise info, il peut sortir de l’avion, il peut ne pas vouloir utiliser la timezone actuelle, etc), convertir tout en UTC, et l’afficher dans le bon.

Après, hop, on a le formage des dates. Mais si, vous savez, ce truc qui a 40 000 règles qui changent d’un pays à l’autre, d’un standard à l’autre. 02/03/2015: dd/mm/yyyy ou mm/dd/yyyy ? Timestamp en seconde ou en millisecondes ?

Allez, vous croyez que vous vous en sortirez comme ça ?

N’oubliez pas, tout le monde n’a pas le même calendrier…

Nous utilisons un calendrier basé sur le chrétien, mais vous avez des calendriers bouddhistes, musulmans, des trucs basés sur les phases de la lune, et même il y a quelque temps en France le très rigolo calendrier républicain. Donc maintenant, il faut se soucier de pour où, de pour qui, mais aussi de pour quand on formate. Je plains les gens qui font des apps pour les musées.

Je plains aussi tous les gens qui font des plannings internationaux, qui doivent décider si lundi ou dimanche est le premier jour à afficher et traduire les notations naturelles comme “il y a 3 minutes(s)”.

La loi

Oh, si, oh si !

La loi change d’un pays à l’autre ! Nudité, le copyright, l’accessibilité…

Le DMCA aux USA, la censure en Chine, l’Hadopi en France. Nan pour le dernier je déconne hein, ils ont condamné 5 personnes depuis le début du programme.

Et allez prendre en compte les lecteurs d’écran, mettre du ARIA comme il faut, tester le bouzin pour les personnes en déficience visuelle (problèmes de couleur, aveugles, malvoyants…) ou motrice.

Bon alors là je ne vais pas rentrer dans les détails, car c’est trop, trop compliqué pour ma petite tête.

La culture

Le symbolisme diffère d’un groupe culturel à l’autre.

Vous allez faire un site pour le mariage, en beau blanc !

Mais en Chine, il faut du rouge.

Et dans certaines cultures, c’est la couleur du deuil.

Ce qui rend crédible commercialement aussi est différent. Un beau site bien épuré, avec plein d’espace négatif, c’est classe non ? Mais en Asie, avoir une page saturée est la norme.

En fait toute l’infrastructure, et même le système entier change la manière de voir les choses.

Quand on écrit du contenu pour un pays, il faut se rappeler des choses comme le climat, la monnaie différente, conduite à droite ou à gauche, voltage du courant, jours chômés, situation politique…

Si on fait une application avec beaucoup de carto, on ne mettra pas les mêmes choses en avant. Dans certains pays, les pistes sont importantes, dans d’autres les autoroutes le sont. Le truc le plus marquant qui me vient à l’esprit, c’est le fait que les cartes japonaises définissent un adresse en labélisant les blocs entre les rues, tandis que nous labélisons les rues entre les blocs.

Et je ne parle même pas du markéting

Qui est bien entendu radicalement différent selon la population visée, et non juste en termes d’i18n, mais aussi selon l’appartenance ethnique, sociale, culturelle, démographique, les handicape…

Il serait vraiment intéressant d’avoir un espèce de wiki open source qui, pour chaque groupe visé, liste les choses auxquelles il faut penser.

Finalement tout ça est trop chiant, z’ont qu’à se démerder ces estrangers de merde !

Arg, putain, on est 70 millions seulement, c’est nous les estrangers.

Après, ça ne veut pas dire qu’il faut tout faire, et trouver l’équilibre entre les ressources disponibles et le résultat qu’on vise. Mais il est bon de savoir ce qu’on décide de ne pas faire.

]]>
http://sametmax.com/linternationalisation-cest-long-et-dur-et-ca-racle-le-fond/feed/ 25 18253