RSS: Blog | Wiki | Forum

Internationalisation

Un article de Easyneuf.

Sommaire

[modifier] L'internationalisation dans l'Easygate

Toutes les applications de l'Easygate sont prévues pour gérer plusieurs langues. Toutefois à l'heure actuelle, l'Easygate est livrée exclusivement en français. Ce choix est fait à la compilation. Pour l'instant cela ne pose pas de problème puisque l'Easygate n'est vendue qu'en France.

[modifier] Rajouter le support d'une langue

Le support d'une langue est fixé à la compilation à l'aide de la variable d'environnement LINGUAS pour créer le crosstool.

Par exemple pour gérer le français et l'allemand on aura pour créer le crosstool :

export LINGUAS="fr de"

Au niveau du buildroot, les langues sont définies dans la section Internationalization de menuconfig. Il y a 3 variables : une pour les langues supportées, une pour celle par défaut et une pour les charset supportés. Il faut bien faire attention à avoir un crosstool supportant les langues définies dans le .config.

Pour chaque application ou PACKAGE, il y a un fichier LANG.po (fr.po, de.po...) qui contient les traductions pour LANG. Pour créer une traduction dans une nouvelle langue on peut partir du fichier PACKAGE.pot qui contient les messages en anglais sans leurs traductions. Ces fichiers doivent être édités en UTF-8.

Les traductions manquantes se trouvent dans missing_translation.lang après une compilation.

[modifier] Applications externes

Les applications de la communauté gèrent en principe la plupart des langues. Par contre certaines modifications apportées par Easyneuf qui comportent des messages ne sont traduites qu'en français. Donc ces messages apparaîtront en anglais si la langue par défaut n'est pas le français. Le mieux est de mettre à jour les patchs Easyneuf avec les nouvelles traductions.

[modifier] Applications internes

Les applications développées par EasyNeuf sont disponibles uniquement en anglais et en français. Pour une nouvelle langue LANG, il faut donc ajouter un nouveau fichier LANG.po. Ne pas oublier de traduire la toolbar EasyNeuf (/usr/lib/iceweasel/extensions/9browser@easyneuf.fr/chrome/locale/fr_FR/)

[modifier] Scripts internes

Certains scripts shell affichent des popups. La traduction de tous ces messages est centralisée dans le package "9system". De la même manière que les autres packages, il faudra créer un nouveau fichier LANG.po pour gérer une nouvelle langue LANG.

[modifier] Choisir sa langue

Pour l'instant ce n'est pas possible. Mais à terme il est envisagé que chaque utilisateur de la Gate puisse choisir sa propre langue. Ce sera donc une nouvelle option à mettre dans la configuration de l'utilisateur. Par exemple :

cat ~/.config/lang
fr_FR.UTF-8

De plus au login d'un utilisateur, non seulement les applications seront dans sa langue préférée mais aussi les messages venant du système.

Une fois que cette fonctionnalité sera gérée, il faudra pouvoir choisir la langue par défaut à la compilation (comme les langues supportées). Car à l'heure actuelle la langue de chaque utilisateur est fixée à partir des fichiers suivants :

  • /usr/sbin/9login_start
  • /etc/skel_static/.profile
  • /usr/sbin/9firstboot_xinit

Enfin, certains scripts doivent être lancés en root donc pour l'instant la locale est fixée en dur en français. Ceci devra aussi être changé de telle façon qu'ils aillent chercher la locale de l'utilisateur loggué :

  • /sbin/9rescue_wrapper
  • /sbin/9check_system_update
  • /usr/share/router_utils/easyhs
  • /usr/share/router_utils/router_need_reboot

[modifier] Faire une image dans une langue étrangère

La page suivante va vous guider pour faire une image pour une autre langue. Comme le support des langues est expérimental, cette page est appelée à changer souvent.

Le résultat de la procédure est incertain...

[wiki:Faire_une_image_dans_une_langue_etrangere Faire une image dans une langue étrangère]