Le lexique multilangue de GeneWeb

From GeneWeb
Jump to navigation Jump to search
150px-Geographylogo svg.png Language:   English • français

Les traductions de GeneWeb sont contenues dans les fichiers lex-utf8.txt et start_utf8.txt du répertoire lang. Le second contient les textes spécifiques de la page d’accueil. Ils contiennent du code HTML et des variables que le démon gwd remplace par des valeurs.

Les fichiers sont en UTF-8 et il est important de conserver ce codage des caractères à l’enregistrement.

Les versions de GeneWeb avant la version 5 utilisent le lexique lexicon.txt en Latin-1.

Les bonnes volontés pour compléter les traductions GeneWeb sont bienvenues. Voir la page contribute/fr.

Code des langues

La langue utilisée dans GeneWeb est modifiable sur la page d’accueil, le choix modifie l’URL des pages en ajoutant la syntaxe lang=code_langue où code_langue est le code ISO 639-1 à deux lettres de la langue, comme traduit par la variable [!languages] au début de lex_utf8.txt :

af=afrikaans
ar=arabe
bg=bulgare
br=breton
ca=catalan
co=corse
cs=tchèque
da=danois
de=allemand
en=anglais
eo=espéranto
es=espagnol
et=estonien
fi=finnois
fr=français
he=hébreu
is=islandais
it=italien
lt=lituanien
lv=letton
nl=néerlandais
no=norvégien
oc=occitan
pl=polonais
pt=portugais
pt-br=portugais brésilien
ro=roumain
ru=russe
sk=slovaque
sl=slovène
sv=suédois
tr=turc
zh=chinois

Notez que si vous indiquez plusieurs fois lang= dans l’URL, c’est la première rencontrée dans l’URL qui sera effective.

Description du lexique

Traduction directe

Le lexique est un fichier textuel qui définit la traduction en plusieurs langues d’un grand nombre de termes utilisés par GeneWeb. La structure du fichier est la suivante :

    terme
l1: terme traduit en langue 1
l2: terme traduit en langue 2

    terme 2
l1: terme 2 traduit en langue 1
    ...

Le terme est traduit pour chaque langue sur une seule ligne. Les entêtes des lignes (l1, l2…) utilisent les codes à deux lettres des langues.

Certains termes contiennent des listes de traductions, par exemple :

    (french revolution month)
fr: vendémiaire/brumaire/frimaire/nivôse/pluviôse/ventôse/germinal/floréal/prairial/messidor/thermidor/fructidor/complémentaire

    son/daughter/child
fr: fils/fille/enfant

Traductions multiples

Plusieurs termes peuvent apparaitre dans la même requête de traduction, séparés par un double deux-points comme dans [*add::parents]. Dans ce cas, les termes add et parents ont chacun leur propre définition dans le lexique.

Certaines langues (allemand par exemple) inversent le verbe et l'objet. Dans ces cas, on ajoute "+before" à la fin de la définition de la première chaine :

    add
de: hinzufügen +before
fr: ajouter

[*add::parents] sera traduit en français par Ajouter parents et en allemand par Eltern hinzufügen.

Traduction avec substitution

Les termes et leurs traductions peuvent contenir des variables par exemple :

    %d years ago
fr: il y a %d ans

Les chaines de caractères à substituer sont séparées de la chaine principame par trois deux-points, chaque chaine étant séparée par un seul deux-points.

[living between %s and %s:::xxx:yyy] 

sera traduit en

vivant entre xxx et yyy

Déclinaisons

GeneWeb est également capable de gérer les déclinaisons des langues, par exemple :

    parents
eo: gepatroj:a:+n
pl: rodzice:a:-ów

Apostrophes et voyelles

Certaines langues nécessitent une adaptation dans le cas des mots commençant par une voyelle. On dit par exemple « au baptème » mais « à l’inhumation ». Pour traiter ces cas, il est proposé deux groupes de lettres, séparées par une barre verticale et encadrées par des crochets : […|…].

    to %1
en: to %1
fr: [au |à l’]%1

    %1 of %2
en: %1 of %2
fr: %1 d[e |’]%2

Note : les versions antérieures de Geneweb et le traitement des dates ne permettent la substitution que d’un seul caractère : fr: %1 d[e’]%2, l’espace entre « de » et le mot suivant étant ajouté par le logiciel. La mise en oeuvre de la solution proposée, et l'uniformisation du traitement de l'apostrophe est en cours.

Html

Les traductions peuvent contenir des fonctions HTML basiques de mise en forme du texte. Elle peuvent être nécessaires pour une typographie soignée dans certaines langues. Par exemple, la mise en exposant des nombres ordinaux (nième/1er/2e/3e/4e/…) :

    nth
fr: n<sup>ième</sup>/1<sup>er</sup>/2<sup>e</sup>/3<sup>e</sup>/4<sup>e</sup>/…

Utilisation du lexique

Pour appeler les traductions du lexique dans les fichiers de GeneWeb il suffit de mettre le terme entre crochets. Il sera traduit automatiquement dans la langue utilisée dans l’URL des pages. Comme les traductions sont incomplètes, si la traduction d’un terme n’est pas disponible, il est affiché sous sa forme brute [terme].

Il est possible de forcer la capitalisation de la première lettre d’une traduction en ajoutant un astérisque après le crochet ouvrant [*, par exemple, en français [*3rd cousins] écrit Cousins issus d’issus de germains.

Pour obtenir le nième élément dans une liste de plusieurs traductions, un numéro est ajouté après le crochet fermant ]# en partant de 0. Par exemple, les noms des mois du calendrier révolutionnaire français (de 0 à 12) :

  • [(french revolution month)]2 écrit frimaire ;
  • [*(french revolution month)]12 écrit Complémentaire ;
  • [(french revolution month)]13 et [(french revolution month)]0 écrivent vendémiaire : s’il n’y a pas de traduction au numéro désiré, la première première traduction est affichée.

Le nombre sélecteur peut être remplacé par un identifiant dans les cas spécifiques du sexe ou du nombre de familles et d'enfants :

  • [family/families]f ou [family/families]nb_families choisira selon la valeur de nb_families.
  • [child/children]c ou [child/children]nb_children choisira selon la valeur de nb_children.
  • [son/daughter/child]s choisira selon la valeur du sexe de l'enfant.
  • [man/woman/unknown]n ou [man/woman/unknown]sex choisira selon la valeur du sexe de la personne.
  • [witness/witnesses]w choisira selon le nombre de témoins à un évènement.
  • [zero/one/two/three/four]x choisira selon la valeur de count.

Note: seule la variante à un caractère fonctionne actuellement (WIP).

Ajout d'un lexique

Lorsqu'un utilisateur développe ses propres templates, il a la possibilité d'augmenter le contenu du dictionnaire de traductions utilisées par GeneWeb. Les extensions au dictionnaire respectent la syntaxe décrite ci-dessus, et sont rassemblées dans un fichier séparé invoqué par l'intermédiaire du paramètre -add_lexicon au lancement de gwd. Le nouveau fichier doit être placé dans l'un des répertoire lang.

-add_lexicon nom_du_dictionnaire_complementaire.txt



Manuel GeneWeb

Rembrandt Old Man Reading a Book.jpg

Utiliser et gérer une base généalogique

Annexe technique