Home Wiki > Equipe de traduction/Les fichiers PO et POT
Sign up | Login

Equipe de traduction/Les fichiers PO et POT

tagline: De openSUSE

Qu'est-ce qu'un fichier PO ?

Il existe deux types de fichiers PO : ceux qui utilisent

msgid ""
msgstr ""

et ceux qui, comme le fichier update-desktop-files.fr.po, utilisent :

msgctxt "Comment(klettres.desktop)"
msgid " a KDE program to learn the alphabet"
msgstr "Un programme KDE pour apprendre l'alphabet"

Pour le traducteur utilisant un logiciel de traduction tel que poEdit ou Lokalize, cela sera transparent, aucune différence ne sera présente pour ces fichiers si on les ouvre avec ces logiciels.


Version avec : msgid et msgstr

Toutes les chaines de caractères qui doivent être traduites, sont stockées dans des fichiers PO. Le fichier PO est un fichier avec une structure spéciale et qui comporte l'extension .po. Il contient des informations sur la langue, sur les traducteurs et les phrases originales et traduites. Les phrases originales commencent par msgid et sont suivies de leur traduction qui commence par msgstr. Les informations concernant la langue et les traducteurs se trouvent au début du fichier PO. Si aucune traduction n'est disponible, la partie msgstr reste vide. Le signe # signifie que la ligne est un commentaire.

Un exemple de traduction vide :

#: src/PackageCommands.cs:57 src/PackageCommands.cs:3181
msgid "Search for a match to any of the search strings"
msgstr ""


L'exemple de la traduction tchèque :

#: src/PackageCommands.cs:57 src/PackageCommands.cs:3181
msgid "Search for a match to any of the search strings"
msgstr "Vyhledat výsledek odpovídající alespoň některému z řetězců"

Version avec :msgctxt, msgid et msgstr

Le principe est le même sauf que le champ msgctxt "" contient des informations qui permettent de reconnaître quelle est la chaine de caractère à traduire.

Attention, les logiciels de traduction doivent être utilisés dans leur dernière version pour que le msgctxt "" soit reconnu et non pas effacé automatiquement par le logiciel... Le mieux est de vérifier la compatibilité du logiciel avant de commencer la traduction. En cas de doute, demander à l'équipe de traduction francophone.

Qu'est-ce qu'un fichier POT

Le fichier POT (PO Template) est un modèle de fichier PO. Le format d'un fichier POT est semblable à un fichier PO, mais il n'y a que le texte Anglais d'origine et aucune information sur la langue ou les traductions. Les fichiers PO sont créés à partir des fichiers POT.

Le début du fichier rug.pot:

# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-05-02 20:04-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"


Le début du fichier rug.hu.po:

# translation of hu.po to
# Peter Breuer <comp@suselinux.hu>, 2003.
# Marcel Hilzinger <hili@suselinux.hu>, 2003.
# Marcel Hilzinger <marcel.hilzinger@suselinux.hu>, 2004.
# Szabolcs Varga <shirokuma@shirokuma.hu>, 2004, 2005.
# Kalman Kemenczy <kkemenczy@novell.com>, 2006.
msgid ""
msgstr ""
"Project-Id-Version: hu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-06-08 12:58+0200\n"
"PO-Revision-Date: 2006-06-08 17:26+0200\n"
"Last-Translator: \n"
"Language-Team:  <hu@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.2\n"
"Plural-Forms: nplurals=1; plural=0;\n"

Comment traduire les fichiers PO ?

Théoriquement, la seule chose nécessaire pour traduire ces fichiers PO est un éditeur de texte. Vous ouvrez le fichier PO avec et vous completez toutes les msgstr vides par une traduction. Cela devient vite difficile à gérer, on a du mal à voir quels sont les chaines traduites, brouillons ou non traduites. Attention, cette méthode est vivement déconseillée !

Le mieux est d'utiliser des logiciels dédiés, simple d'utilisation et comportant éventuellement des correcteurs d'orthographe et des traducteurs automatiques qui réutilisent les traductions qui ont déjà été faites, allez voir : Equipe_de_traduction#Les_logiciels_pour_traduire_les_fichiers_PO Ils permettent une meilleure productivité et de meilleurs traductions.

Le texte original en anglais qui commence par msgid ne doit pas être modifié ! Vous pouvez seulement modifier les traductions du msgstr. Même si vous trouvez une erreur dans la phrase originale (en anglais), il ne faut surtout pas la modifier ! Il faut utiliser Bugzilla pour rapporter l'erreur, ou au moins la signaler au coordinateur de l'équipe de traduction pour qu'il s'en charge. Ainsi, la correction sera apportée au fichier source (dans le logiciel), un nouveau fichier POT sera généré et automatiquement fusionné avec votre fichier. Après cela, la traduction sera marqué comme "fuzzy" (brouillon, traduction approximative). Vous devrez alors la vérifier et éventuellement la modifier.


Les raccourcis

Ceci est une partie importante, merci de poser des questions sur la liste opensuse-fr@opensuse.org si vous n'avez pas compris cette section !

Les raccourcis permettent d'utiliser les raccourcis clavier dans le logiciel. Par exemple, la lettre A pour ajouter un paquet.

Il y a deux façon de définir les raccourcis. Utiliser & ou _:

msgid "&Add..."
msgstr "&Ajouter"

ou

msgid "_Add"
msgstr "_Ajouter"

Il est possible de choisir l'emplacement du raccourci mais le symbole doit rester le meme (& OU _). Les traduction suivantes sont correctes :

msgid "_Add"
msgstr "A_jouter"
msgid "&Add..."
msgstr "Ajou&ter"

S'il n'est pas possible d'ajouter le raccourci directement dans la chaine de caractères, il faut utiliser la syntaxe suivante (ne devrait pas concerner le français) :

msgid "&Add..." 
msgstr "新增(&A)"

ou

msgid "_Add"
msgstr "新增(_A)"

Les variables

Ceci est une partie importante, merci de poser des questions sur la liste opensuse-fr@opensuse.org si vous n'avez pas compris cette section !


Les variables sont représentées par un % suivi d'une lettre ou d'un nombre ou également par &<nom_de_variable>;. Par exemple :

msgid "Insert boot disk %u."
msgstr "Insérer le disque d'amorçage %u."
msgid "&productname; Documentation"
msgstr "Documentation de &productname;"


Les variables sont obligatoires dans la traduction. Si une chaine de caractère comporte une variable, il faut qu'elle soit aussi dans la chaine traduite.

Chaînes de formats

Dans chaque fichier po on peut utiliser plusieurs chaînes de formats. La plupart d'entre elles sont identiques à des balises HTML. Il peut se faire qu'on trouve des balises XML ou des chaînes de formats d'autres langues. Toutes ces chaînes sont obligatoires dans votre traduction. Si l'on omet un chaîne, la traduction ne franchira pas l'examen de syntaxe.

\n nouvelle ligne

Si toutes les lignes excepté la dernière se terminent avec \n dans la chaîne originale, dans la traduction, on peut avoir de même seulement la dernière sans \n même si le nombre de lignes varie en plus ou en moins par rapport à la chaîne originale. Toutes les autres lignes doivent se terminer par \n

<b>un_texte</b> texte gras
<i>un_texte</i> texte italique
<qt>un_texte</qt>

Pluriels

Chaîne avec un pluriel dans un fichier POT:

msgid "%1 second"
msgid_plural "%1 seconds"
msgstr[0] ""
msgstr[1] ""

Traduction de la chaîne avec une seule forme plurielle ex (zh_CN):

msgid "%1 second"
msgid_plural "%1 seconds"
msgstr[0] "%1 秒"

Traduction de la chaîne avec deux formes plurielles ex (Greek):

msgid "%1 second"
msgid_plural "%1 seconds"
msgstr[0] "%1 δευτερόλεπτο"
msgstr[1] "%1 δευτερόλεπτα"

Traduction de la chaîne avec trois formes plurielles ex (Czech):

msgid "%1 second"
msgid_plural "%1 seconds"
msgstr[0] "%1 sekunda"
msgstr[1] "%1 sekundy"
msgstr[2] "%1 sekund"

La plupart des logiciels de traduction affiche des onglets dans la zone de traduction pour traduire les différentes formes plurielles et singuliers.

Vérifier la syntaxe

Avant de soumettre un fichier PO par Vertaal ou par SVN, il faut vérifier sa syntaxe. La plupart des logiciels de traduction le font (vérifier l'option dans les menus). Sinon, utilisez utilisez la commande suivante :

msgfmt -c monfichier.fr.po

Liens