Effectuer une traduction, ou maintenir à jour une traduction au
fur et à mesure des évolutions de GenJ ne requiert aucune
connaissance en programmation, ni à fortiori du langage java.
Donc aucun fichier source (*.java) ne doit être touché.
Les données contenant les phrases ou les mots utilisés
sont complètement séparées du programme
lui-même, elles se trouvent dans des fichiers de type texte.
La traduction entière du logiciel comprend trois éléments :
Ces trois parties sont indépendantes les unes des autres, donc la traduction peut être faite, étape par étape, ou simplement partiellement (on ne s'occupe que des Rapports (ou Scripts), et pas des fichiers d'Aide ni du programme GenJ). Vous pouvez, et je dirais même, vous devez, utiliser les fichiers langage existants, exemple : l'Anglais. Les fichiers qui vous sont nécessaires (les modèles, comme ceux partiellement traduits) sont déposés sur le serveur CVS. La page Internet du logiciel GenJ sur le Web contient toutes les informations pour accéder à ce serveur, et sur la manière de reprendre les fichiers. D'autres possibilités s'ouvrent à vous si vous ne savez ou ne pouvez accéder à ce serveur, ainsi il vous suffit de voir sur le site, l'adresse Email de l'une des personnes qui parle votre langue et qui participe au développement du logiciel, pour lui envoyer un petit courrier (Email) et obtenir ainsi de sa part, tout ce qu'il vous faut pour vous lancer dans cette traduction.
- Le Programme GenJ lui-même
- Les Rapports (ou Scripts)
- Les fichiers d'Aide
Le chemin sur le serveur CVS est : dev/genj/language/[abbréviation
de la langue concernée, ex. fr=français, en=anglais]/genj/.
Sous cette arborescence, on va trouver d'autres sous directories. Ainsi
au moment où je fais cette aide, on trouve pour la langue anglaise :
/dev/language/en/genj/app/Seuls les fichiers *.properties dans ces sous-directories sont importants, et à l'intérieur de chacun, il ne faut traduire que les textes qui se trouvent à la droite du signe "égal". Les textes à gauche de ce signe "égal" ne doivent en aucun cas être modifiés.
/dev/language/en/genj/applet/
/dev/language/en/genj/edit/
/dev/language/en/genj/edit/actions/
/dev/language/en/genj/edit/beans/
/dev/language/en/genj/entity/
/dev/language/en/genj/gedcom/
/dev/language/en/genj/gedcom/time/
/dev/language/en/genj/io/
/dev/language/en/genj/nav/
/dev/language/en/genj/option/
/dev/language/en/genj/print/
/dev/language/en/genj/renderer/
/dev/language/en/genj/report/
/dev/language/en/genj/resume/
/dev/language/en/genj/search/
/dev/language/en/genj/table/
/dev/language/en/genj/timeline/
/dev/language/en/genj/tree/
/dev/language/en/genj/view/
Exemple, on va traduire de l'anglais vers le français (en => fr)Il faut toujours avoir à l'esprit que le fichier anglais sera lui, toujours à jour. Donc ne pas hésiter à voir ce qu'il y a dedans pour faire les modifications dans le fichier de la langue que vous voulez traduire.
Dans le fichier :
/dev/language/en/genj/app/resource.properties
On va trouver la ligne suivante :
cc.menu.file = File (le mot est en anglais)
On ne touchera pas à ce fichier, mais on ira voir dans le fichier :
/dev/language/fr/genj/app/resource_fr.properties
cc.menu.file = Fichier (là, le mot "File" doit être traduit en français, donc "Fichier")
Si bien entendu la ligne "cc.menu.file = ....." n'existe pas, il faudra la rajouter avec la traduction, donc "cc.menu.file = Fichier" en se servant du fichier anglais comme modèle, mais si la ligne existe, et qu'on trouve que la traduction n'est pas terrible, on aura qu'à modifier la partie devant être en français, donc la partie à droite du signe "égal".
Exemple : anglais // français // allemandAprés avoir renommé la directorie par le préfixe d'identification de la langue concernée, la traduction des fichiers langage du programme est prête.
resources.properties (Anglais)
resources_fr.properties (Français)
resources_de.properties (Allemand)
Exemple : anglais // français // allemand
dev/genj/language/en/genj/ (Anglais)
dev/genj/language/fr/genj/ (Français)
dev/genj/language/de/genj/ (Allemand)
Ici les fichiers *.properties vont dans la sous-directorie :
dev/genj/src/report. Une nouvelle ligne doit être
ajoutée pour chaque entrée. Les lignes déjà
existantes pour d'autres langues, doivent servir d'exemples. Un simple
copier/coller est suffisant pour faire le nécessaire. Là
encore, sur le coté gauche du signe égal on trouve le
nom de la variable suivi d'un point et de l'abbréviation de la
langue (sauf pour l'anglais). A droite du signe égal, on trouve
la traduction dans la langue concernée.
Exemple : anglais // français // allemand // espagnolComme vous le voyez, le texte du côté droit du signe "égal" doit être traduit. L'anglais est la langue par défaut, donc si une traduction manque dans une langue, c'est l'anglais qui sera affiché.
name = Gedcom Statistics
name.fr = Statistiques des données Gedcom
name.de = Gedcom-Statistik
name.es = Estadésticas de Gedcom
Exemple :Les séquences d'échappement commencent avec \ comme \n. Les séquences comme \u00ED sont des caractères Unicode pour des lettres accentuées, et seront transformées en des lettres lisibles lors de l'éxécution de GenJ.
females = Females: {0} ({1}%)
females.de = Weiblich: {0} ({1}%)
females.fr = Femmes : {0} ({1}%)
females.es = Mujeres : {0} ({1}%)
Exemple : anglais // françaisLes séquences "\u00E9" dans l'exemple ci-dessus, seront transformées en la lettre "é", lors de l'exécution du script.
unknown = Unknown: {0} ({1}%)
unknown.fr = Ind\u00E9termin\u00E9 : {0} ({1}%)
Les fichiers d'aide sont écrits au format HTML. Les images qui
sont utilisés, sont placées dans la sous-directorie :
dev/genj/images. Les fichiers HTML, eux, sont placés
dans les sous-directories :
dev/help/[abbréviation de la langue concernée,
ex. fr=français, en=anglais]
Les commandes HTML comme <br> ou </p>
restent inchangées. Seul le texte sera modifié.
Actuellement, l'arborescence utilisée pour les fichiers d'aide pour
la langue française, est la suivante (à l'heure où
j'écris ces lignes bien sûr) :
/dev/help/fr/concepts/context.html
/dev/help/fr/concepts/gedcom.html
/dev/help/fr/concepts/paths.html
/dev/help/fr/entity/fam.html
/dev/help/fr/entity/indi.html
/dev/help/fr/entity/media.html
/dev/help/fr/entity/note.html
/dev/help/fr/entity/repository.html
/dev/help/fr/entity/source.html
/dev/help/fr/entity/submitter.html
/dev/help/fr/special/blueprint.html
/dev/help/fr/special/faq.html
/dev/help/fr/special/report.html
/dev/help/fr/special/translation.html
/dev/help/fr/view/.html
/dev/help/fr/special/edit.html
/dev/help/fr/special/entity.html
/dev/help/fr/special/navigator.html
/dev/help/fr/special/report.html
/dev/help/fr/special/table.html
/dev/help/fr/special/timeline.html
/dev/help/fr/special/tree.html
/dev/help/fr/cc.html
/dev/help/fr/cconcepts.html
/dev/help/fr/entities.html
/dev/help/fr/frameset.html
/dev/help/fr/intro.html
/dev/help/fr/paths.html
/dev/help/fr/resource.properties
/dev/help/fr/specials.html
/dev/help/fr/team.html
/dev/help/fr/views.html