Quand 80% de l’humanité ne parle pas anglais
Alors que l’écosystème du logiciel libre est très anglophone, prendre en charge plusieurs langues dans un logiciel permet de multiplier par 5 ou par 10 le nombre d’utilisateur·rice·s potentiels. Cela représente une complexité et un coût élevé mais unique, qui une fois fait, sous réserve d’automatisation, autorise un nombre illimité de langues.
Un écosystème très anglophone
Le monde du logiciel libre et open-source est très divers, allant des couches d’interactions avec le matériel jusqu’aux logiciels que nous utilisons quotidiennement sur nos ordinateurs et téléphones. Tous ces outils n’existent que par et pour ses utilisateurs et utilisatrices. Certain·e·s seront intéressé·e·s par l’outil et y contribueront, d’autres voudront juste atteindre leur but le plus rapidement possible.
Dans le monde du logiciel libre, l’anglais est la langue de travail par défaut, et l’écrit y est le canal le plus utilisé. Ce fonctionnement est un standard de fait, et accepté sans grande difficulté par ce qu’on appelle la communauté du logiciel libre, terme générique qui englobe l’ensemble des personnes contribuant à un ou plusieurs logiciels libres.
Par confort, les personnes créant des logiciels utilisent souvent l’anglais plutôt que leur langue maternelle. En conséquence, ils comprennent rarement les difficultés rencontrées lors de la traduction (phrases découpées en plusieurs fragments, variables non nommées, jargon technique intraduisible, etc.).
Pire encore, ces personnes peuvent être mise mal à l’aise par le manque de contrôle sur ce qui est effectivement affiché à l’utilisateur.
Une population mondiale peu anglophone
Il y a de grandes chances pour que les utilisateurs et utilisatrices aient une langue maternelle qui ne soit pas l’anglais. Et inciter les développeurs à utiliser leur langue maternelle ne résous pas le problème, car il y a toutes les chances pour que cette langue maternelle ne soit pas celle des développeurs en charge de l’outil.
Quelle que soit leur langue, les utilisateurs et utilisatrices préfèreront utiliser leur propre langue pour atteindre leur but, car cela augmente leur confort d’utilisation et leur efficacité. Utiliser sa langue peut également être un prérequis pour utiliser le logiciel, en cas d’absence de maîtrise de l’anglais.
Dans le détail, il existe des estimations de population par langue et territoire fournies par le consortium Unicode, et plus particulièrement le CLDR. Ces estimations indiquent que 21 % des habitant·e·s de la planète parleraient anglais. Mais ici, parler englobe des situations très diverses, si on considère les personnes ayant un niveau natif ou courant, nous descendons à 9 %.
L’enjeu en cherchant à augmenter le nombre d’utilisateurs est d’augmenter le nombre potentiel de contributeurs et contributrices, qui viendront faire leurs premiers pas par une correction de traduction ou une traduction complète, puis qui peuvent continuer sur des activités plus ou moins techniques (communication, assistance, documentation, tests, codage…). Il est possible de ne pas connaître la langue source du logiciel, mais d’utiliser une autre langue comme pivot pour réaliser une traduction.
Pour pouvoir démultiplier les utilisateurs et utilisatrices potentiels, il faut ajouter le support linguistique. C’est ce qu’on appelle l’internationalisation.
La complexité de l’internationalisation
Prendre en charge de multiples langues nécessite :
- d’utiliser des outils qui offrent les fonctionnalités nécessaires (marquer les contenus à traduire, les traduire et les diffuser)
- de changer ses processus de conception logicielle pour intégrer le travail de traduction (quand le code est terminé, il faut informer les personnes réalisant les traduction et intégrer leurs travaux)
- de répondre aux besoins liés à l’activité de traduction. Cela nécessite de s’intéresser aux codifications, aux formats de traduction, aux pluriels, à l’outillage adapté, etc.
Et au-delà de l’interface utilisateur, il faut également inclure les interface en ligne de commande, les sites web de présentation, des lettres d’information, la documentation en ligne, les pages man, les notes de version…
Internationaliser coûte du temps et nécessite des compétences techniques avancées. Malheureusement, certains outils utilisés par les logiciels n’offrent aucune aide, l’expert·e qui devra se débrouiller seul·e ou changer d’outil.
La bonne nouvelle est que ce travail n’est à mener qu’une seule fois pour un nombre théoriquement illimité de langues. C’est une bonne nouvelle, car il existe aujourd’hui entre 7000 et 9000 langues, dont près de 2500 sont en risque de disparition. S’il fallait mener un travail dédié par langue, rare seraient les développeurs et développeuses qui accepteraient de dépenser d’énergie pour une langue ayant un nombre de locuteurs très faibles. Et à notre époque, ne pas exister sur les outils numériques est dangereux.
Le rôle de Languages-in-floss
Dans ce contexte, l’initiative Languages-in-floss vise à vous partager nos expériences de terrain pour la prise en charge du français, de l’arabe, du kabyle et de l’occitan.
Que vous soyez promoteur ou défenseur d’une langue, ou que vous soyez développeur, vous découvrirez que le multilinguisme est possible dans toute activité liée au logiciel libre et open-source, nous allons essayer de vous faciliter la vie dans ce monde complexe.