Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
po4a [Le 31/05/2016, 14:05] – L'Africain | po4a [Le 27/11/2020, 21:57] (Version actuelle) – [Le fichier de configuration] inshaP | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | ====== PO4A : PO for Anything ====== | ||
+ | |||
+ | ===== Présentation ===== | ||
+ | |||
+ | Po4a, acronyme de "PO 4 (for) Anything" | ||
+ | |||
+ | Le programme extrait les phrases à traduire à partir de plusieurs formats de fichiers et les transforme en un fichier POT (*.pot), puis en fichier PO (*.po) pour chaque langue cible souhaitée. | ||
+ | |||
+ | Une fois les traductions insérées manuellement dans le fichier PO (*.po), la traduction du fichier de départ est générée dans le même format que la source. | ||
+ | |||
+ | Action de po4a: *.xml > *.pot > *.fr.po > (traduction manuelle) > *.fr.po > *.fr.xml. | ||
+ | |||
+ | po4a est capable de faire des mises à jour des fichiers POT, PO, et de la traduction uniquement pour les fichiers qui le nécessitent (à la façon de make), en fonction des modifications des fichiers source et des fichiers PO : | ||
+ | * les fichiers POT et PO sont mis à jour si et seulement si le ou les fichiers source à traduire sont modifiés ; | ||
+ | * les fichiers traduits sont mis à jour si et seulement si le ou les fichiers PO sont modifiés ; | ||
+ | * les fichiers POT et les fichiers traduits ne doivent pas être modifiés à la main : po4a se charge de tout ! | ||
+ | * vous pouvez vous concentrer sur le travail le plus utile : la traduction du ou des fichiers PO, que po4a met à jour pour vous si et seulement si le fichier dans la langue source est modifié. | ||
+ | |||
+ | ===== Fonctionnement ===== | ||
+ | |||
+ | En ligne de commande. Le programme est écrit en Perl et utilise les outils [[apt> | ||
+ | |||
+ | Le programme se décline en 5 commandes : | ||
+ | * **po4a** | ||
+ | * po4a-gettextize | ||
+ | * po4a-updatepo | ||
+ | * po4a-translate | ||
+ | * po4a-normalize. | ||
+ | |||
+ | La commande la plus utile est po4a ! | ||
+ | Les autres sont " | ||
+ | |||
+ | ===== Format de fichiers supportés ===== | ||
+ | |||
+ | Quelques formats de fichiers supportés : | ||
+ | # Manuels (man), C/C++, C#, JAVA, PERL, PHP, Python, TCL,Glade, SGML, XML, ... | ||
+ | |||
+ | ===== Prise en main, première utilisation ===== | ||
+ | Le synopsis de la syntaxe est le suivant : | ||
+ | po4a [options] <fichier de configuration> | ||
+ | ==== Le fichier de configuration ==== | ||
+ | Commençons par un exemple : imaginons que vous voulez traduire la documentation d'un paquet de documentation Linux ; le document d' | ||
+ | paquet_linux ---> guide/ | ||
+ | | ||
+ | |||
+ | Voyons un exemple de fichier de configuration, | ||
+ | # fichier " | ||
+ | # | ||
+ | # template languages | ||
+ | # | ||
+ | [po4a_langs] fr de jp en_GB | ||
+ | # | ||
+ | # paths to POT and PO | ||
+ | # single | ||
+ | [po4a_paths] po/ | ||
+ | # splitted | ||
+ | # | ||
+ | # documents to translate | ||
+ | # [type] source translation | ||
+ | [type: docbook] guide/ | ||
+ | [type: docbook] guide/ | ||
+ | [type: docbook] guide/ | ||
+ | [type: docbook] help/ | ||
+ | # ... autant de documents que nécessaire | ||
+ | Le fichier de configuration " | ||
+ | - de traduire les documents dans les langues suivantes : en français (fr), allemand (de), japonais (jp), anglais britannique (en_GB). | ||
+ | | ||
+ | - pour chaque ligne de documents à traduire, le type de document dont il s'agit (ici XML), l' | ||
+ | LES SEULS FICHIERS À MODIFIER (traduire) SERONT LES *po ! Tous les autres (*.pot, | ||
+ | - Astuce : ici nous sommes en mode " | ||
+ | - Astuce : utilisez une langue bidon appelée par exemple " | ||
+ | - Attention : pour ne pas écraser le document à traduire, ne donnez pas le même chemin et nom au fichier traduit ! | ||
+ | ===== Les options ===== | ||
+ | Nous décrirons les deux plus utiles, cf le manuel de po4a pour les autres. De toutes façon, elles ne sont pas indispensables pour un usage basique. | ||
+ | ==== Pourcentage exigible de traduction: -k% ==== | ||
+ | Indique à po4a le pourcentage exigible de traduction dans le ou les fichiers PO (*.po) pour que les documents de traduction soient créés : par défaut 80%. | ||
+ | syntaxe : | ||
+ | po4a -kXX po4a.cfg | ||
+ | Au moins pour tester le fonctionnement, | ||
+ | po4a -k0 po4a.cfg | ||
+ | ==== Ne pas traduire: --no-translations ==== | ||
+ | po4a --no-translations po4a.cfg | ||
+ | Indique à po4a de se limiter à la création ou la mise à jour des fichiers POT (*.pot) et PO (*.po), sans créer le ou les documents traduits. | ||
+ | Tant que les fichiers PO ne sont pas traduits, cette option peut être utile. | ||
+ | ===== Mode " | ||
+ | En mode " | ||
+ | Chacun a ses avantages et ses inconvénients: | ||
+ | * Le mode " | ||
+ | * Le mode " | ||
+ | ===== Les addendas ===== | ||
+ | Les addendas sont des ajouts, des rustines, que l'on peut être amené à apporter aux documents traduits : leur contenu sera intégré aux documents traduits. | ||
+ | |||
+ | Ça peut être n' | ||
+ | |||
+ | En revanche, il n'est pas possible de supprimer du texte à traduire, sauf à enlever des fichiers à traduire de la liste du fichier de configuration : ça peut par exemple être utile pour un fichier de licence ou de copyright, bien spécifique à la langue d' | ||
+ | |||
+ | Voici la syntaxe avec addendas : | ||
+ | [type: < | ||
+ | Revoici notre fichier de configuration d' | ||
+ | # fichier " | ||
+ | # | ||
+ | # template languages | ||
+ | # | ||
+ | [po4a_langs] fr de jp en_GB | ||
+ | # | ||
+ | # paths to POT and PO | ||
+ | # single | ||
+ | [po4a_paths] po/ | ||
+ | # splitted | ||
+ | # | ||
+ | # documents to translate | ||
+ | # [type] source translation | ||
+ | [type: docbook] guide/ | ||
+ | [type: docbook] guide/ | ||
+ | [type: docbook] guide/ | ||
+ | [type: docbook] help/ | ||
+ | # ... autant de documents que nécessaire | ||
+ | |||
+ | Les fichiers d' | ||
+ | |||
+ | NB: à notre avis, l' | ||
+ | |||
+ | Pour ce qui est des informations sur le nom du traducteur, la date de traduction... Elle peuvent être mises dans l' | ||
+ | |||
+ | ===== Précisions sur les types de fichiers en XML ===== | ||
+ | * Le type de fichier " | ||
+ | * En précisant correctement le type du fichier à traiter, certaines options sont appliquées directement sans avoir à les préciser dans la liste des options. | ||
+ | * les fichiers au format " | ||
+ | * Typés comme " | ||
+ | * Pour faire un essai comparatif, remplacez le type de fichier docbook par xml, et comptez le nombre de lignes à traduire, qui sera différent : | ||
+ | |||
+ | # remplacement de type par un autre pour voir la différence ! | ||
+ | # ... | ||
+ | [type: xml] help/ | ||
+ | # ... | ||
+ | |||
+ | =====Traduction proprement dite : Les fichiers PO (*.po)===== | ||
+ | //Repousser cette section dans une page spécifique serait le bien venu !// | ||
+ | ==== Edition des fichiers ==== | ||
+ | Une fois po4a exécuté une première fois, les fichiers PO peuvent être édités avec [[apt> | ||
+ | - [[apt> | ||
+ | |||
+ | Les autres : | ||
+ | - [[gtranslator]] fournit une arborescence avec 3 dossiers : phrases non traduites, traductions approximatives (douteuses à améliorer), | ||
+ | - poedit fournit un gestionnaire de catalogue de fichiers PO du répertoire et des sous-répertoires de travail, ce qui facilite le passage d'un document à traduire à l' | ||
+ | - poedit propose dans la fenêtre préférences, | ||
+ | - Les deux ont le défaut de ne pas avoir de bouton à cliquer lorsque la traduction d'une phrase est faite (la touche entrée et la touche de tabulation ne fonctionnent pas car utilisées dans l' | ||
+ | - Aucune liste de mots clés ni de groupes de mots ou de phrases clés n'est disponible. Utilité des mots-clés : par exemple si vous traduisez " | ||
+ | |||
+ | ==== Regroupement des fichiers PO: msgmerge ==== | ||
+ | **msgmerge** (message merge: " | ||
+ | |||
+ | Les fichiers PO peuvent être associés en un seul par la commande '' | ||
+ | |||
+ | Par exemple le travail de traduction est séparé avec le mode " | ||
+ | ===== Avantages, inconvénients de po4a ===== | ||
+ | Inconvénients : | ||
+ | - Le type de ficher à traduire doit être précisé pour chaque fichier, et il serait pratique que po4a le " | ||
+ | - Il n'est pas possible d' | ||
+ | - Je n'ai pas trouvé comment générer une liste de mots-clés avec po4a ! | ||
+ | Avantages : | ||
+ | - Obtenir une traduction du fichier à traduire dans le format de fichier de départ, et pas seulement de deux fichier POT et PO ! | ||
+ | - éviter d' | ||
+ | - Une fois traduits, les fichiers PO générés peuvent servir et resservir tels quels pour d' | ||
+ | ===== À faire ! ===== | ||
+ | * Traduire ! po4a ne le fait pas à votre place. Il fait seulement le sale boulot pour vous : extraire les phrases à traduire et créer le document traduit ! | ||
+ | * Comme pour toute traduction, il faut relire et faire relire le fichier traduit : erreurs typographiques, | ||
+ | * Vous pouvez rejoindre les communautés de traduction avec vos fichiers PO traduits! cf. [[: | ||
+ | |||
+ | ===== Références ===== | ||
+ | * [[http:// | ||
+ | * le manuel de po4a: faire "man 7 po4a" une fois installé: et c'est traduit en français! | ||
+ |