Difference between revisions of "Translating/fr"

From Gestinux Wiki
Jump to navigation Jump to search
 
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{#customtitle:Comment traduire Gestinux}}
+
{{DISPLAYTITLE:Comment traduire Gestinux}}
  
 
Cette page explique comment traduire gestinux, sans connaissances particulières en programmation Lazarus ou autre.
 
Cette page explique comment traduire gestinux, sans connaissances particulières en programmation Lazarus ou autre.
Line 7: Line 7:
 
== Que faut-il traduire et dans quel ordre ?==
 
== Que faut-il traduire et dans quel ordre ?==
  
Idéalement, il faut commencer par [[Translating/fr#traduire le logiciel|traduire le logiciel]] lui-même, avant la documentation.
+
Il faut commencer par [[Translating/fr#traduire le logiciel|traduire le logiciel]] lui-même, avant la documentation.
  
 
Cela permettra de l'utiliser pour [[Translating/fr#Fournir les traductions des données|créer un jeu d'essai de données]], et de faire des copies d'écran dans la langue traduite.
 
Cela permettra de l'utiliser pour [[Translating/fr#Fournir les traductions des données|créer un jeu d'essai de données]], et de faire des copies d'écran dans la langue traduite.
Line 14: Line 14:
  
 
== Traduire le logiciel ==
 
== Traduire le logiciel ==
 
Seule la version 1.0 de gestinux doit être traduite et ce qui suit ne concerne qu'elle.
 
  
 
Si vous êtes développeur et comprenez l'anglais, vous pouvez consulter les [[internationalisation programmation|mécanismes internes de traduction]] pour en savoir plus.
 
Si vous êtes développeur et comprenez l'anglais, vous pouvez consulter les [[internationalisation programmation|mécanismes internes de traduction]] pour en savoir plus.
Line 25: Line 23:
 
Les langues sont identifiées dans gestinux selon la norme [http://www.gnu.org/software/gettext/manual/html_node/Locale-Names.html POSIX] par un double code, de la forme xx_YY.
 
Les langues sont identifiées dans gestinux selon la norme [http://www.gnu.org/software/gettext/manual/html_node/Locale-Names.html POSIX] par un double code, de la forme xx_YY.
  
La première partie xx en minuscules identifie la langue principale, selon la norme [http://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-2 ISO-639-1]
+
La première partie xx en minuscules identifie la langue principale, selon la norme [http://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1 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 [http://fr.wikipedia.org/wiki/ISO_3166-1 ISO-3166].
 
La seconde partie YY en majuscules identifie une variante possible, généralement avec le code d'un pays, selon la norme [http://fr.wikipedia.org/wiki/ISO_3166-1 ISO-3166].
  
Line 37: Line 36:
 
* sv_SE  : suédois "de Suède"
 
* sv_SE  : suédois "de Suède"
  
Dans le doute, demandez confirmation sur le [http://gestinux.net/forum/viewforum.php?f=2 forum].
+
Dans le doute, demandez confirmation sur le [https://mrit.com/gestinux/forum/viewforum.php?f=2 forum].
 +
 
 +
=== Les fichiers source à traduire ===
  
=== Le fichier source à traduire ===
+
Gestinux prend ses traductions dans deux fichiers de type "texte" : xx_YY.ini et xx_YY_util.ini
  
Gestinux 1.0 prend les traductions dans un fichier "texte" xx_YY.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
  
En général, ces fichiers sont dans un dossier '''languages''' au même niveau que l'exécutable gestinux.
+
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.
Toutefois pour se conformer aux règles Linux Debian, notamment pour Ubuntu, les fichiers, sont 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 ou partielle, vous pouvez  copier un de ces fichiers dans un dossier de votre choix, dans vos documents personnels.
+
Pour un langage nouveau, créez un nouveau fichier dans vos documents personnels, et écrivez sur les premières lignes :
  
Vous pouvez aussi créer un fichier dans vos documents personnels, et écrire sur les deux premières lignes :
+
[General]
 +
LanguageCode='''xx_YY'''
 +
LanguageName='''name of language''' (dans sa langue)
 +
LanguageOrientation=LTR|RTL
  
[General]
+
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.
  
LanguageCode='''xx_YY'''
+
Exemple :
  
LanguageName='''name of language (in english)'''
+
[General]
 +
LanguageCode=he_IS
 +
LanguageName=עיברית (ישראל)
 +
LanguageOrientation=RTL
  
  
Une fois ce fichier créé, il faut mettre ce fichier dans le répertoire de sources de gestinux (géré par SVN) et le verrouiller pour éviter à un autre d'entamer le même travail simultanément.
 
Ceci doit être fait avant que la traduction soit terminée, au tout début c'est mieux.
 
  
Si vous savez utiliser SVN, demandez un profil "développeur", sinon faîtes vous connaître sur le forum et joignez le fichier de traduction à votre message, d'autres développeurs le mettront dans SVN. Dans les 2 cas, utilisez [http://gestinux.net/forum/viewforum.php?f=2 le forum] pour communiquer.
+
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 [https://mrit.com/gestinux/forum/viewforum.php?f=2 le forum] pour communiquer.
  
 
=== Paramétrage initial ===
 
=== Paramétrage initial ===
Line 66: Line 75:
 
Lancez gestinux et choisissez dans le menu '''Paramètres''', '''Langages''', puis l'onglet '''Écrire une traduction''' :
 
Lancez gestinux et choisissez dans le menu '''Paramètres''', '''Langages''', puis l'onglet '''Écrire une traduction''' :
  
[[File:Languages-fr.png]]
+
[[File:Translating_1-fr.png]]
  
* Le langage de référence est obligatoirement un des langages installés avec gestinux. Il sera votre source. Si possible, choisissez le français, car l'anglais est assez approximatif aujourd'hui.
+
* 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.
 
* Cherchez votre fichier de traduction, créé comme indiqué dans le paragraphe précédent, en cliquant sur le bouton de choix.
* Cochez la case "Utiliser la traduction" pour que les traductions de ce fichier soient utilisées. Sinon ce seront celles du langage de référence.
+
* 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 ===
 
=== Saisir les traductions ===
  
Vous pouvez traduire globalement en cliquant sur le bouton '''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.
+
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.
 
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.
Line 82: Line 91:
 
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.
 
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.
+
Le symbole <CR> permet de sauter une ligne, et ne doit être utilisé que pour les messages longs.
  
 
=== Installer les traductions ===
 
=== Installer les traductions ===
  
Une fois la traduction terminée, si possible relue par d'autres personnes dont c'est aussi la langue maternelle, déverrouillez le fichier dans SVN si vous savez le faire, ou demandez via le [http://gestinux.net/forum/viewforum.php?f=6 forum] à un développeur de le faire pour vous.
+
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 [https://mrit.com/gestinux/forum/viewforum.php?f=6 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 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 paquet additionnel comprenant cette langue pour les différents systèmes cibles (Windows, Debian, ...). Vous pouvez vous inspirer du paquet principal et le faire vous-même, ou demander à un développeur.
+
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.
 
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.
Line 98: Line 107:
 
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.
 
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. Vous pourrez envoyer une exportation de la base de données pour que celle-ci soit hébergée sur gestinux.net et accessible à tous.
+
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 [[Customized_Reports/fr|présentation d'édition]], demandez à un développeur sur le forum, en lui envoyant les modèles.
 
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 [[Customized_Reports/fr|présentation d'édition]], demandez à un développeur sur le forum, en lui envoyant les modèles.
  
 +
== Traduire la documentation ==
  
== Traduire la documentation ==
+
Après avoir traduit le programme, il est utile de traduire la documentation (le wiki).
  
Après avoir traduit le programme, ou éventuellement avant, 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.
  
A ce jour, il y a environ 100 pages à traduire, mais certaines sont plus utiles 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 [[Help:Contents/fr|comment créer ou modifier des pages]] de ce wiki.
 
Voyez [[Help:Contents/fr|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 [http://gestinux.net/forum forum].
+
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 [https://mrit.com/gestinux/forum/viewforum.php?f=2 forum].

Latest revision as of 14:27, 18 November 2024

 English Español


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 :

Translating 1-fr.png

  • 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.

GTranslator.png

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.