2010-06-03 20 views
8

Vous cherchez des astuces et/ou des outils pour travailler efficacement avec les fichiers PO gettext lors de petites éditions de grandes valeurs msgid. Exemple: Nous avons beaucoup de messages multi-phrases/multi-paragraphes qui sont stockés dans nos fichiers de catalogue de messages PO. Si nous apportons une modification mineure à un message, peut-être en éditant une seule phrase ou même en corrigeant la ponctuation, nous perdons notre traduction originale lorsque nous exécutons l'utilitaire msgmerge. Au lieu de re-traduire de longs messages (qui ont déjà subi un processus d'approbation éditoriale) à partir de zéro, nos traducteurs retournent à des copies de sauvegarde de leurs fichiers PO et recherchent manuellement le texte de la dernière paire de traduction msgid/msgstr qui ils diffèrent alors des valeurs msgid actuelles pour voir ce qui a changé, suivi d'une copie et d'un collage de la dernière traduction qu'ils éditent ensuite pour refléter la valeur msgid mise à jour.Comment travailler efficacement avec les fichiers PO gettext lors de petites éditions de grandes valeurs de texte

Ça fait beaucoup de travail! Certes, il doit y avoir une meilleure façon de gérer ce type de flux de travail?

Existe-t-il un moyen pratique d'archiver et de trouver les traductions précédentes qui ne se trouvent plus dans un fichier PO? Une idée qui vient à l'esprit est de stocker un identifiant msg unique dans le texte de nos messages ou dans les commentaires qui précèdent notre message et d'utiliser cet identifiant pour récupérer les paires de traduction msgid/msgstr précédentes pour examen. Ou y a-t-il des éditeurs de PO ou des services en ligne qui rendent ce processus plus efficace?

Merci, soutien mémoire Malcolm

traduction de

Répondre

5

Virtaal peut probablement aider. Si vos unités d'origine sont dans la mémoire de traduction, elles seront affichées (avec des différences) dans une certaine marge de changement (basée sur la distance de Levenshtein). Il contiendra toujours la traduction originale (non modifiée), mais au moins le texte original est plus facilement accessible et les différences mises en évidence.

Je ne suis pas sûr à 100%, mais Pootle pourrait également offrir une solution basée sur le Web. Si vous avez besoin d'aide, demandez #pootle sur FreeNode.

L'amélioration la plus générale est, bien sûr, de séparer/segmenter les unités autant que possible.

+0

Merci Walter. Cordialement, Malcolm – Malcolm

9

Je cherchais un moyen d'apporter des modifications mineures à msgids sans perturber les traductions existantes - par exemple, des corrections de typo dans le texte source. Voici une recette que je viens travaillé que ne comporte pas de sites Web:

  1. Utilisez msgen de GNU gettext pour générer un fichier po anglais-anglais:

    msgen project.pot >corrections.po

  2. manuellement éditez les msgstr s dans "corrections.po" pour refléter les corrections de typo faites dans le texte source, nous avons donc un mappage des chaînes non corrigées aux chaînes corrigées. (Je n'ai pas pensé à automatiser ce bit.)

  3. Pour chaque traduction "réel" (par exemple ca.po): abus poswap de la changer les msgids Toolkit Traduire (translate-toolkit dans Ubuntu):

    poswap -i corrections.po -t ca.po -o ca.new.po

Cela ne semble Perdez les commentaires d'en-tête et les chaînes obsolètes des fichiers GNU gettext po, mais les corriger manuellement est beaucoup moins fastidieux que de modifier manuellement les msgids dans chaque traduction (et pourrait probablement être scripté).

(De toute évidence, cela ne devrait être utilisé dans des circonstances exceptionnelles, où vous êtes absolument sûr qu'aucun des traducteurs doivent avoir la possibilité de re-revoir leurs traductions.)

+0

Très intelligent. Merci JTN. Cordialement, Malcolm – Malcolm