Comment traduire Gestinux
Cette page explique comment traduire gestinux, sans connaissances particulières en programmation Lazarus ou autre.
Nous vous demandons de ne traduire que vers votre langue maternelle. Idéalement, il faut comprendre le français car c'est la langue originale de gestinux.
Que faut-il traduire et dans quel ordre ?
Il faut commencer par traduire le logiciel lui-même, avant la documentation.
Cela permettra de l'utiliser pour créer un jeu d'essai de données, et de faire des copies d'écran dans la langue traduite.
Ensuite, on peut traduire la documentation, et cela peut être progressif.
Traduire le logiciel
Si vous êtes développeur et comprenez l'anglais, vous pouvez consulter les mécanismes internes de traduction pour en savoir plus.
Les codes de langues
Avant d'entamer une nouvelle traduction, vous devez déterminer le code de la langue à traduire.
Les langues sont identifiées dans gestinux selon la norme POSIX par un double code, de la forme xx_YY.
La première partie xx en minuscules identifie la langue principale, selon la norme ISO 639-1
La seconde partie YY en majuscules identifie une variante possible, généralement avec le code d'un pays, selon la norme ISO-3166.
Il est préférable de n'utiliser que les codes ISO référencés. Si vous en inventez, le risque est qu'ils soient officialisés plus tard.
Exemples de codes :
- fr_FR : français "de France"
- fr_CA : québécois
- en_US : anglais des états-unis d'amérique
- sv_SE : suédois "de Suède"
Dans le doute, demandez confirmation sur le forum.
Les fichiers source à traduire
Gestinux prend ses traductions dans deux fichiers de type "texte" : xx_YY.ini et xx_YY_util.ini
En général, ces fichiers sont installés dans les dossiers languages et util\languages à partir du même niveau que l'exécutable gestinux. Toutefois pour se conformer aux règles Linux Debian, notamment pour Ubuntu, les fichiers sont installés, pour ces distributions, dans le dossier /usr/share/gestinux/languages
Ces fichiers sont installés en écriture seule. N'essayez pas de les modifier ou de les déprotéger à cet emplacement. Si vous souhaitez améliorer une traduction existante, copiez un de ces fichiers dans vos documents personnels ou bien, si vous savez utiliser svn et avez un profil développeur, récupérez les sources.
Pour un langage nouveau, créez un nouveau fichier dans vos documents personnels, et écrivez sur les premières lignes :
[General] LanguageCode=xx_YY LanguageName=name of language (dans sa langue) LanguageOrientation=LTR|RTL
LTR est pour les languages qui s'écrivent de gauche à droite, RTL pour ceux qui s'écrivent de droite à gauche, ces derniers étant acceptés à partir de la version 1.5.
Exemple :
[General] LanguageCode=he_IS LanguageName=עיברית (ישראל) LanguageOrientation=RTL
Si vous utilisez svn il faut mettre les nouveaux fichiers de traduction dans les sous-dossiers languages et util/languages et les ajouter (svn add, puis svn commit), et toujours les verrouiller (svn lock) pour éviter à un autre d'entamer le même travail simultanément.
Le fichier doit être encodé en UTF-8.
Sinon faîtes vous connaître sur le forum et joignez le fichier de traduction à votre message, d'autres développeurs le mettront pour vous dans svn. Dans les 2 cas, utilisez le forum pour communiquer.
Paramétrage initial
Lancez gestinux et choisissez dans le menu Paramètres, Langages, puis l'onglet Écrire une traduction :
- Le langage de référence est obligatoirement un des langages installés avec gestinux. Il sera votre source.
- Cherchez votre fichier de traduction, créé comme indiqué dans le paragraphe précédent, en cliquant sur le bouton de choix.
- Cochez la case "Afficher la traduction" pour que les traductions de ce fichier soient utilisées. Sinon ce seront celles du langage de référence.
Saisir les traductions
Vous pouvez traduire globalement en cliquant sur un des boutons Traduire. Dans ce cas, vous aurez dans la partie gauche la liste des différentes fenêtres de l'application, ainsi que quelques sections non liées à une fenêtre. Utiliser la traduction globale est nécessaire pour les sections qui ne correspondent pas à une fenêtre, et surtout pour ne pas en oublier. Le bouton Next Missing permet de trouver la première traduction manquante.
Il est aussi possible, depuis une fenêtre quelconque de l'application, d'appuyer sur CTRL + F4 pour afficher et traduire la section correspondant à cette fenêtre. Dans ce cas, il n'y aura que cette seule fenêtre dans la partie gauche. L'avantage de cette dernière méthode est qu'une fois la traduction saisie vous pouvez la vérifier en appuyant sur F4, ce qui vous bascule de la langue de référence vers la langue de traduction, ou l'inverse.
Quoiqu'il en soit, pour la section sélectionnée, la liste des clés de traduction est affichée. La traduction de référence, non modifiable est affichée en dessous, et vous avez la possibilité de saisir ou modifier la traduction dans votre langage. L'enregistrement est automatique quand vous changez de clef.
Le symbole <CR> permet de sauter une ligne, et ne doit être utilisé que pour les messages longs.
Installer les traductions
Une fois la traduction terminée, si possible relue par d'autres personnes dont c'est aussi la langue maternelle, publiez le fichier dans SVN si vous savez le faire, ou demandez via le forum à un développeur de le faire pour vous.
Si c'est une langue répandue, votre traduction sera ajoutée à la prochaine version de gestinux.
Si c'est une langue rare, ou pour ne pas attendre la prochaine version, il est possible de faire un installateur de cette langue pour les différents systèmes cibles (Windows, Debian, ...). Pour Windows, vous pouvez vous inspirer de trunk/tools/windows/gestinux_language_fr_FR.iss et le faire vous-même, ou bien demander à un développeur.
Quand on le lance pour la première fois sur un poste, Gestinux essaie d'activer la bonne traduction automatiquement, en fonction de la langue de l'ordinateur. Malheureusement, Windows ne connaît pas les codes de langue POSIX, et il y a des cas ou cela n'est pas automatique. Une petite modification du logiciel sera nécessaire, à signaler aux développeurs. Ce problème n'existe pas sous Linux qui respecte mieux les normes.
Fournir les traductions des données
La liste des pays doit être créée pour chaque langue disponible dans Gestinux. C'est un fichier xx_YY_countries.txt qui sera chargé automatiquement à la création ou lors d'une vérification de la base de données si on a sélectionné le langage correspondant avant.
Il est aussi utile de créer des jeux d'essais dans la langue traduite, pour un ou plusieurs pays qui l'utilisent.
Si vous avez des états fiscaux spécifiques à un pays, ils peuvent aussi être intégrés au logiciel. Si vous ne savez pas réaliser une présentation d'édition, demandez à un développeur sur le forum, en lui envoyant les modèles.
Traduire la documentation
Après avoir traduit le programme, il est utile de traduire la documentation (le wiki).
A ce jour, il y a environ 100 pages à traduire, mais certaines sont plus importantes que d'autres.
Si la langue a été enregistré sur le wiki (par l'administrateur) il y aura automatiquement des liens vers chaque traduction existante d'une page.
Voyez comment créer ou modifier des pages de ce wiki.
Il existe un moyen de lister les pages restant à traduire, ou dont l'original a été modifié après traduction. Pour l'instant, ils ne sont pas accessibles en ligne, demandez sur le forum.