Differences between revisions 3 and 20 (spanning 17 versions)
Revision 3 as of 2005-01-23 23:10:33
Size: 1845
Comment:
Revision 20 as of 2011-05-13 19:34:34
Size: 3172
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Cette page présente le travail en utilisant l'outil le plus classique, `gettext`. Cet outil offre au programmeur une boîte à outil qui lui permettra d'extraire pour le traducteur les chaînes à traduire de son programme et d'intégrer dynamiquement les traductions au fonctionnement du programme. = Gettext =
Line 3: Line 3:
= Comment permettre l'adaptation d'un logiciel à une langue étrangère = [[http://www.gnu.org/software/gettext/|Gettext]] est l'outil le plus utilisé pour permettre la traduction des logiciels libre. C'est un outil complet, qui permet de simplifier le travail des traducteurs et des développeurs. Il est utilisable avec la plupart des langages de programmation et des langues du monde.
Line 5: Line 5:
Le principe de base est simple. Il faut modifier le programme pour faire passer par gettext toutes les chaînes à afficher ou attendues. On doit ensuite extraire ces chaînes pour produire un modèle de fichier po (fichier `.pot`). Il ne reste plus qu'a envoyer ce fichier au traducteur.  * [[L'adaptation_des_logiciels/Gettext|Introduction à Gettext (côté traducteur)]]
 * [[/Exemple d'utilisation de Gettext|Un exemple complet d'utilisation de Gettext (du programmeur au traducteur)]]
 * [[http://www.gnu.org/software/gettext/|Page principale de Gettext]] (en anglais)
 * [[http://www.gnu.org/software/gettext/manual/|Manuel de Gettext]] (en anglais)
 * [[http://alioth.debian.org/projects/po4a/|po4a]], un logiciel destiné à permettre l'utilisation de fichiers `.po` pour simplifier la traduction de documents.
Line 7: Line 11:
 * Le [http://www.gnu.org/software/gettext/manual/ manuel de Gettext]. = Les outils d'édition de fichiers po =
Line 9: Line 13:
= Comment traduire un logiciel en français =  * [[http://projects.gnome.org/gtranslator/|Gtranslator]], l'éditeur de fichiers po du projet Gnome.
 * [[http://www.kde.org/applications/development/lokalize/|Lokalize]] (ex-Kbabel), l'éditeur de fichiers po du projet KDE.
 * [[http://www.omegat.org/fr/omegat.html|OmegaT]], un logiciel d'aide à la traduction (TAO) généraliste.
Line 11: Line 17:
Le programmeur doit mettre à la disposition du traducteur un fichier `.pot`. Il suffira la première fois de renommer ce fichier en `.po` pour obtenir la version à traduire. = Vérification orthographique =
Line 13: Line 19:
Il suffit alors d'ouvrir ce fichier dans un éditeur de texte (nano, vi, emacs, et cætera) ou dans un logiciel spécialisé (kbabel par exemple).  * [[http://translate.sourceforge.net/wiki/toolkit/pofilter|pofilter]]
 * [[http://packages.debian.org/stable/acheck|acheck]]: recherche d'erreurs de traduction classiques et correction orthographique, spécifique à Debian mais peut probablement s'installer facilement sur d'autres distros
 * Macro pour po-mode, pour les utilisateurs d'Emacs. Lancer ensuite {{{M-x po-ispell}}}:
{{{
(defun po-ispell-next ()
  "Search the next entry to check"
          (po-find-span-of-entry)
          (let ((here (point)))
            (goto-char po-end-of-entry)
            (if (re-search-forward po-any-msgstr-block-regexp nil t)
                (progn
                  (goto-char (match-beginning 0))
                  (po-current-entry)
                  t)
              nil)))
Line 15: Line 35:
Le fichier `.po` devrait comporter un certain nombres de paragraphes du type :
(defun po-ispell ()
  "Check the spelling of the po file"
  (interactive)
  (save-excursion
    (save-restriction
      (let ((buffer-read-only po-read-only))
        (po-first-entry)
        (while (po-ispell-next)
          (po-find-span-of-entry)
          (ispell-region (+ po-start-of-msgstr-block 6) po-end-of-entry))))))
}}}
      (mis à jour depuis [[http://lists.debian.org/debian-l10n-french/2000/04/msg00058.html|ce post]])
 * [[http://gettext-lint.sourceforge.net/|gettext-lint]]: autre solution, le contexte affiché est un peu petit.
 * [[http://home.worldonline.dk/byrial/spellutils/|pospell]]: fait partie du paquet {{{spellutils}}}, il peut théoriquement faire une vérification orthographique de vos fichiers .po, mais ne supporte pas les accents:
Line 18: Line 50:
#: src/global.c:313
msgid "Switch to the previous file buffer"
msgstr ""
 pospell -n filename.po -p ispell -- %f
Line 23: Line 53:
Il suffit d'indiquer entre guillemets en face de `msgstr` la version française correspondant à la précédente ligne `msgid` : = PhpLangEditor =
Line 25: Line 55:
{{{
#: src/global.c:313
msgid "Switch to the previous file buffer"
msgstr "Basculer vers l'espace précédent"
}}}

 * [http://i18n.kde.org/tools/kbabel/ KBabel], un logiciel spécialisé dans la traduction des fichiers `.po`.

= Voir aussi =

* [http://alioth.debian.org/projects/po4a/ po4a], un logiciel destiné à permettre l'utilisation de fichiers `.po` pour simplifier la traduction de documents.
PhpLangEditor est une extension de [[http://www.mozilla-europe.org/fr/products/firefox/|Firefox]] permettant de très facilement préparer des fichiers de traduction PHP. Il s'agit d'une alternative simple à l'utilisation de Gettext.

Gettext

Gettext est l'outil le plus utilisé pour permettre la traduction des logiciels libre. C'est un outil complet, qui permet de simplifier le travail des traducteurs et des développeurs. Il est utilisable avec la plupart des langages de programmation et des langues du monde.

Les outils d'édition de fichiers po

  • Gtranslator, l'éditeur de fichiers po du projet Gnome.

  • Lokalize (ex-Kbabel), l'éditeur de fichiers po du projet KDE.

  • OmegaT, un logiciel d'aide à la traduction (TAO) généraliste.

Vérification orthographique

  • pofilter

  • acheck: recherche d'erreurs de traduction classiques et correction orthographique, spécifique à Debian mais peut probablement s'installer facilement sur d'autres distros

  • Macro pour po-mode, pour les utilisateurs d'Emacs. Lancer ensuite M-x po-ispell:

(defun po-ispell-next ()
  "Search the next entry to check"
          (po-find-span-of-entry)
          (let ((here (point)))
            (goto-char po-end-of-entry)
            (if (re-search-forward po-any-msgstr-block-regexp nil t)
                (progn
                  (goto-char (match-beginning 0))
                  (po-current-entry)
                  t)
              nil)))

(defun po-ispell ()
  "Check the spelling of the po file"
  (interactive)
  (save-excursion
    (save-restriction
      (let ((buffer-read-only po-read-only))
        (po-first-entry)
        (while (po-ispell-next)
          (po-find-span-of-entry)
          (ispell-region (+ po-start-of-msgstr-block 6) po-end-of-entry))))))
  • gettext-lint: autre solution, le contexte affiché est un peu petit.

  • pospell: fait partie du paquet spellutils, il peut théoriquement faire une vérification orthographique de vos fichiers .po, mais ne supporte pas les accents:

 pospell -n filename.po -p ispell -- %f

PhpLangEditor

PhpLangEditor est une extension de Firefox permettant de très facilement préparer des fichiers de traduction PHP. Il s'agit d'une alternative simple à l'utilisation de Gettext.

Heberge par Ikoula