Comment traduire un module OpenERP?

je viens de construire un module OpenERP personnalisé, disons /addons/the_meaning_of_life. Maintenant, je veux le traduire dans une autre langue. Je suis maintenant censé avoir un dossier i18n contenant un .pot et .pofichiers. Comment puis-je générer ces ? Ce serait bien d'avoir un guide étape par étape.

13
demandé sur Daniel Reis 2012-07-19 12:08:10

3 réponses

ok ici ce que vous pouvez faire est:

  1. Installer votre désir lang dans votre base de données.
  2. une fois que vous avez terminé le développement de votre module, installez le module sur le serveur de test puis allez à L'Assistant de suivi Setting(or Configuration) > Translation> Import/Export/Export Translation. Ensuite, choisissez le module the_meaning_of_life et desire lang. et de l'exporter dans .format po.
  3. Enregistrez ce fichier po puis ajouter la traduction que vous voulez dans le fichier po. Ensuite, vous pouvez importer en arrière ce dossier de po dans la base de données ou l'Ajouter sous votre module sous le dossier /addons/the_meaning_of_life/i18n et il est disponible avec votre module.
  4. (seulement pour les nouveaux modules), vous devez avoir aussi le fichier "pot" dans le même dossier i18n, si vous ne l'avez pas encore vous pouvez en générer un en répétant l'étape 2 mais sans choisir aucune langue. C'est ainsi que vous pouvez rendre disponible la traduction pour une certaine lang dans votre module, mais si vous voulez utiliser le service de traduction de Launchpad alors cochez la case suivante url ceci vous guidera dans l'utilisation .pot mais pour cela vous avez besoin de projet sur lp clairement.

Espérons que cela va vous répondre, en ce qui Concerne

16
répondu Jedi Shadow 2013-01-06 15:58:54

Voici un script bash que j'utilise pour ce:

$ cat oerp-i18n-module
#!/bin/bash
#
# usage:
# ./oerp-i18n-module <databasename> <module name>
#
# the script will create or update PO files for en, fr, de and es. You
# will need to update the translations (and don't forget bzr add +
# commit)

dirname=$(find src -name  | egrep -v '(src/stable)|(src/server)')
install -d ${dirname}/i18n
for lang in en fr de es
do
    python src/server/openerp-server -c config/instance_debug.ini \
              --log-level=error --i18n-export=${lang}.po -l ${lang} \
              -d  --modules= > /dev/null 2>&1 
    if [ -f ${dirname}/i18n/${lang}.po ]
    then
        echo merge new translations in ${dirname}/i18n/${lang}.po
        msgmerge -vU --backup=simple ${dirname}/i18n/${lang}.po ${lang}.po
        rm ${lang}.po
    else
        echo put file in ${dirname}/i18n/${lang}.po
        mv ${lang}.po ${dirname}/i18n/
    fi
done

espérons que cela aide (vous devrez peut-être éditer certains chemins qui sont spécifiques à ma disposition des branches bzr).

6
répondu gurney alex 2012-07-23 06:42:59

installez votre Lang de désir dans votre db.

une fois que vous avez terminé le développement de votre module, installez le module sur le serveur de test puis allez à L'Assistant de configuration(ou Configuration) > traduction> importation/exportation/exportation de la traduction. Ensuite, choisissez le module the_meaning_of_life et desire lang. et de l'exporter dans .format po.

Enregistrez ce fichier po puis ajouter la traduction que vous voulez dans le fichier po. Ensuite, vous pouvez importer en arrière ce fichier po dans la base de données ou l'Ajouter sous votre module sous le dossier /addons/the_meaning_of_life/i18n et il est disponible avec votre module.

(seulement pour les nouveaux modules), vous devez avoir aussi le fichier "pot" dans le même dossier i18n, si vous ne l'avez pas encore vous pouvez en générer un en répétant l'étape 2 mais sans choisir aucune langue. C'est ainsi que vous pouvez rendre disponible la traduction pour une certaine lang dans votre module, mais si vous voulez utiliser le service de traduction de Launchpad puis vérifier l'url suivante cela vous guidera en utilisant .pot mais pour que vous besoin projet sur lp clairement.

-2
répondu Jay 2013-06-11 13:28:28