Traduction d'un product

12 messages Options
Embed this post
Permalink
Benjamin Klups

Traduction d'un product

Reply Threaded More More options
Print post
Permalink
Je continue avec mes interrogations concernant les multiples  
fonctionnalités "ploniennes"
Admettons un product avec un repertoire locales comprenant 2 fichiers  
*.pot (product.pot et generated.pot)
comment traduire en français ce product ?

j'ai essayé de suivre les exemples de product déjà traduits en créant  
dans /locales un répertoire "fr" avec un répertoire "LC_MESSAGES"  
contenant les 2 fichiers *.po traduits

mais cela ne marche point ;-)

------
Benjamin Klups
NOVELTYS
www.noveltys.fr

_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr
Damien Baty

Re: Traduction d'un product

Reply Threaded More More options
Print post
Permalink
        Bonjour,

Le 16/10/08 19:42, Benjamin Klups a écrit :
> [...]
> comment traduire en français ce product ?
>
> j'ai essayé de suivre les exemples de product déjà traduits en créant
> dans /locales un répertoire "fr" avec un répertoire "LC_MESSAGES"
> contenant les 2 fichiers *.po traduits

   Plone utilise des fichiers "*.mo", qui sont des fichiers "*.po"
compilés. Il me semble que Zope, au démarrage, effectue cette
compilation, mais seulement dans certains cas (seulement pour les
produits se trouvant dans "Products/" et non dans "lib/python/", ou
l'inverse, ou peut-être seulement en mode debug : je ne sais plus). Le
mieux, c'est de le faire soi-même : msgfmt -o xxx.mo -v xxx.po.

   Si cela ne fonctionne toujours pas, il faudra vérifier l'en-tête des
fichiers ".po" (vérifier que le domaine et la langue sont corrects, par
exemple), et ne pas oublier de recompiler ces fichiers. Etc.

   Bon courage.

--
Damien Baty

_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr
michaellaunay

Re: Traduction d'un product

Reply Threaded More More options
Print post
Permalink
Bonjour,
La solution se trouve dans le tutorial
http://grok.zope.org/documentation/how-to/how-to-internationalize-your-application
Pour utiliser le répertoire locales il faut modifier configure.zcml pour
plone2.5 et plone3 sinon il faut utiliser le répertoire i18n
Cordialement
Michael Launay


Le vendredi 17 octobre 2008 à 00:18 +0200, Damien Baty a écrit :

> Bonjour,
>
> Le 16/10/08 19:42, Benjamin Klups a écrit :
> > [...]
> > comment traduire en français ce product ?
> >
> > j'ai essayé de suivre les exemples de product déjà traduits en créant
> > dans /locales un répertoire "fr" avec un répertoire "LC_MESSAGES"
> > contenant les 2 fichiers *.po traduits
>
>    Plone utilise des fichiers "*.mo", qui sont des fichiers "*.po"
> compilés. Il me semble que Zope, au démarrage, effectue cette
> compilation, mais seulement dans certains cas (seulement pour les
> produits se trouvant dans "Products/" et non dans "lib/python/", ou
> l'inverse, ou peut-être seulement en mode debug : je ne sais plus). Le
> mieux, c'est de le faire soi-même : msgfmt -o xxx.mo -v xxx.po.
>
>    Si cela ne fonctionne toujours pas, il faudra vérifier l'en-tête des
> fichiers ".po" (vérifier que le domaine et la langue sont corrects, par
> exemple), et ne pas oublier de recompiler ces fichiers. Etc.
>
>    Bon courage.
>


_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr
Benjamin Klups

Re: Traduction d'un product

Reply Threaded More More options
Print post
Permalink
j'ai suivi le tutorial de Maurits Van Rees
j'ai installé i18ndude via la buildout et mon product i18n se trouve donc dans Plone-3-1/buildout-cache/eggs/…

je me place a la racine de mon product :
cd Plone-3.1/ … /monproduct

quand je lance  la commande i18ndude il me renvoie -bash: command not found

pourtant dans mon control_panel/product_management i18ndude est bien "installed"
Gilles Lenfant

Re: Traduction d'un product

Reply Threaded More More options
Print post
Permalink

Le 20 oct. 08 à 17:41, Benjamin Klups a écrit :

>
> j'ai suivi
> http://maurits.vanrees.org/weblog/archive/2007/09/i18n-locales-and-plone-3.0/?searchterm=i18n
> le tutorial de Maurits Van Rees
> j'ai installé i18ndude via la buildout et mon product i18n se trouve  
> donc
> dans Plone-3-1/buildout-cache/eggs/…

Où Marits a-t-il indiqué qu'il fallait installer i18ndude via le  
buildout ? ;o)

Pour installer i18ndude et l'utiliser avec Zope 2.10.x, il faut  
*absolument* créer un virtualenv à cet effet.

http://pypi.python.org/pypi/virtualenv/1.3

Une fois le virtualenv créé à cet effet, installer i18ndude dans ce  
virtualenv et... enjoy.

>
>
> je me place a la racine de mon product :
> cd Plone-3.1/ … /monproduct
>
> quand je lance  la commande i18ndude il me renvoie -bash: command  
> not found
>
> pourtant dans mon control_panel/product_management i18ndude est bien
> "installed"
>
> --
> View this message in context: http://n2.nabble.com/Traduction-d%27un-product-tp1342802p1355971.html
> Sent from the Plone - France mailing list archive at Nabble.com.
>
>
> _______________________________________________
> Plone-FR mailing list
> [hidden email]
> http://lists.plone.org/mailman/listinfo/plone-fr
--
Gilles Lenfant
INGENIWEB (TM) - SAS 50000 Euros - RC B 438 725 632
Bureaux de la Colline
1 rue Royal
92210 Saint Cloud - France
Phone : 01 78 15 24 00 / Fax : 01 46 02 44 04
web : www.ingeniweb.com - une société du groupe Alter Way








_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr
Benjamin Klups

Re: Traduction d'un product

Reply Threaded More More options
Print post
Permalink
(This post was updated on )
j'ai suivi attentivement tous vos précieux conseils
je vous explique ce que j'ai fait, ça servira peut être pour d'autres

Admettons un product avec un répertoire locales comprenant 2 fichiers  
*.pot (product.pot et generated.pot)


auparavant j'installe virtualenv via esay_install
et je crée un environnement dans lequel j'installe i18ndude

ON SE PLACE DANS LE PRODUCT A TRADUIRE

$ /mon_environnement/bin/i18ndude rebuild-pot --pot locales/product.pot --create product .

On crée un répertoire “fr” avec à l'intérieur un répertoire “LC_MESSAGES”
Puis un fichier product.po vide


$
/mon_environnement/bin/i18ndude sync --pot locales/product.pot locales/fr/LC_MESSAGES/product.po

Je modifie ensuite product.po en y mettant mes traductions
puis

$ cd locales/fr/LC_MESSAGES
$ msgfmt -o product.mo product.po

Mes traductions apparaissent bien

pour gérer generated.pot
j'ai lu sur le blog d'Encolpe Degoute qu'il fallait utilisé une commande merge du type :
i18ndude merge --pot locales/product.pot --merge locales/generated.pot
Benjamin Klups

Re: Traduction d'un product

Reply Threaded More More options
Print post
Permalink
Pourriez me dire comment modifier un élément de base de Plone déjà traduit
exemple : modifier Rechercher (du champ rechercher) en Go
Jean-Mathieu Grimaldi

Re: Traduction d'un product

Reply Threaded More More options
Print post
Permalink


Le 6 janvier 2009 18:02, Benjamin Klups <[hidden email]> a écrit :

Pourriez me dire comment modifier un élément de base de Plone déjà traduit
exemple : modifier Rechercher (du champ rechercher) en Go

Personnellement quand il y a des overloads de PloneTranslations à faire, je pratique ça à l'ancienne mode :  un package Products.MyTranslations avec son dossier i18n. Il y a peut-être de meilleures façons de faire mais c'est pas ou peu documenté donc ...


 

--
View this message in context: http://n2.nabble.com/Traduction-d%27un-product-tp1342802p2118376.html
Sent from the Plone - France mailing list archive at Nabble.com.



_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr




--
Jean-mathieu Grimaldi
INGENIWEB (TM) - SAS 50000 Euros - RC B 438 725 632
227 Bureaux de la Colline
1 rue Royale - Bât D - 9ème étage
92213 Saint-Cloud Cedex
Tél : 01.78.15.24.05 / Fax : 01.46.02.44.04
http://www.ingeniweb.com - Une société du groupe AlterWay  

_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr
Benjamin Klups

Re: Traduction d'un product

Reply Threaded More More options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)
Des infos supplémentaires sur cette méthode ?
pour le moment c'est assez vague dans mon esprit :-)

------
Benjamin Klups
NOVELTYS 

Le 6 janv. 09 à 18:25, Jean-Mathieu Grimaldi a écrit :



Le 6 janvier 2009 18:02, Benjamin Klups <[hidden email]> a écrit :

Pourriez me dire comment modifier un élément de base de Plone déjà traduit
exemple : modifier Rechercher (du champ rechercher) en Go

Personnellement quand il y a des overloads de PloneTranslations à faire, je pratique ça à l'ancienne mode :  un package Products.MyTranslations avec son dossier i18n. Il y a peut-être de meilleures façons de faire mais c'est pas ou peu documenté donc ...


 

--
View this message in context: http://n2.nabble.com/Traduction-d%27un-product-tp1342802p2118376.html
Sent from the Plone - France mailing list archive at Nabble.com.



_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr




--
Jean-mathieu Grimaldi
INGENIWEB (TM) - SAS 50000 Euros - RC B 438 725 632
227 Bureaux de la Colline
1 rue Royale - Bât D - 9ème étage
92213 Saint-Cloud Cedex
Tél : 01.78.15.24.05 / Fax : 01.46.02.44.04
http://www.ingeniweb.com - Une société du groupe AlterWay  


_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr
Gilles Lenfant

Re: Traduction d'un product

Reply Threaded More More options
Print post
Permalink
In reply to this post by Benjamin Klups
Quick'n'dirty, oups, en  français "crado mais ça fonctionne"...

$ cd .../Products/PloneTranslations/i18n
$ find . -name '*-fr.po' | xargs grep 'Rechercher'
$ $EDITOR (le fichier en question)
Fournir la traduction souhaitée dans le bon "msgstr"

Puis redémarrer le Zope après avoir supprimé le contenu du cache de  
PTS (dans .../var/pts de l'instance)

Le 6 janv. 09 à 18:02, Benjamin Klups a écrit :

>
> Pourriez me dire comment modifier un élément de base de Plone déjà  
> traduit
> exemple : modifier Rechercher (du champ rechercher) en Go
> --
> View this message in context: http://n2.nabble.com/Traduction-d%27un-product-tp1342802p2118376.html
> Sent from the Plone - France mailing list archive at Nabble.com.
>
>
> _______________________________________________
> Plone-FR mailing list
> [hidden email]
> http://lists.plone.org/mailman/listinfo/plone-fr


_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr
danielle

Re: Traduction d'un product

Reply Threaded More More options
Print post
Permalink
In reply to this post by Benjamin Klups
bon, si ça peut aider voici mes notes perso sur le problème
sans garantie

mise en place
There is no guarantee made about the order in which the catalogs are
loaded. It might depend on the order in which the products appear on
the file system, which can be different on various platforms and
installation. The only safe and supported option is to use the i18n
folder in the instance home.
Hanno

Pour que notre fichier maison prenne le dessus sur le fichier po
fourni, on le place dans un répertoire de nom i18n que l'on crée au
besoin dans /parts/instance

Lors d'un redémarrage de l'instance, le nouveau fichier est pris en
compte par PTS : on parle au niveau de son panneau de configuration de
GlobalCatalogs-plone-fr

Gettext Message Catalog at
/Control_Panel/TranslationService/GlobalCatalogs-plone-fr.po

...
last modification     2008-06-07 14:02:0
full path     INSTANCE_HOME/i18n/plone-fr.po

maintien en place !!

Oui, sauf qu'un nouvel appel à buildout, et voilà que nos fichiers po
personnalisés à grand peine sont pulvérisés à la reconstruction de
parts.
The parts directory is an area users shouldn't touch (since it gets
rebuilt/changed by buildout), so it needs a stern warning that they
shouldn't put their products in there. This is a common mistake, since
it contains Products directories that people find when searching for
where to put add-ons.

C'est une loi générale. On ne doit rien ajouter au répertoire /parts
et en particulier ne pas ajouter des produits dans le répertoire qui
en contient pourtant déjà...



Si on veut que les dégâts restent limités, il faut donc créer un lien
symbolique vers un répertoire hors de portée

 ln -sf /home/plone/monprojet/maison/i18n
/home/plone/monprojet/parts/instance/i18n
Il ne restera plus qu'à recréer ce lien après un buildout ou mieux !

dans le buildout. Pour ce faire, on utilise la recette
plone.recipe.command

qui permet de faire appel à un script externe

on rajoute donc une ligne dans [parts]  i18n-overrides et la section
correspondante dans buildout.cfg :

[i18n-overrides]
recipe = plone.recipe.command
command = ln -sf ${buildout:directory}/maison/i18n ${instance:location}/i18n
update-command = ${i18n-overrides:command}

si on choisit de mettre à l'abri ses fichiers po dans /maison/i18n. La
dernière ligne assure que la commande sera issue aussi lors d'une mise
à jour.
Mise à jour
Les modifications se font au niveau du système de fichiers. (pour une
modification ponctuelle sur un serveur distant, on peut, pour un site
en développement, utiliser l'utiltaire général Clouseau)

Dans le panneau de configuration de PlacelessTranslationService, au
niveau de l'interface d'administration de Zope, sur la page Info, on
peut recharger un fichier po retouché pour une prise en compte
immédiate des changements.

Le mieux est sans doute de créer un produit Products.mesTraductions.


2009/1/6 Benjamin Klups <[hidden email]>:

> Des infos supplémentaires sur cette méthode ?
> pour le moment c'est assez vague dans mon esprit :-)
> ------
> Benjamin Klups
> NOVELTYS
> www.noveltys.fr
> Le 6 janv. 09 à 18:25, Jean-Mathieu Grimaldi a écrit :
>
>
> Le 6 janvier 2009 18:02, Benjamin Klups <[hidden email]> a écrit
> :
>>
>> Pourriez me dire comment modifier un élément de base de Plone déjà traduit
>> exemple : modifier Rechercher (du champ rechercher) en Go
>
> Personnellement quand il y a des overloads de PloneTranslations à faire, je
> pratique ça à l'ancienne mode :  un package Products.MyTranslations avec son
> dossier i18n. Il y a peut-être de meilleures façons de faire mais c'est pas
> ou peu documenté donc ...
>
>
>
>>
>> --
>> View this message in context:
>> http://n2.nabble.com/Traduction-d%27un-product-tp1342802p2118376.html
>> Sent from the Plone - France mailing list archive at Nabble.com.
>>
>>
>>
>> _______________________________________________
>> Plone-FR mailing list
>> [hidden email]
>> http://lists.plone.org/mailman/listinfo/plone-fr
>>
>
>
>
> --
> Jean-mathieu Grimaldi
> INGENIWEB (TM) - SAS 50000 Euros - RC B 438 725 632
> 227 Bureaux de la Colline
> 1 rue Royale - Bât D - 9ème étage
> 92213 Saint-Cloud Cedex
> Tél : 01.78.15.24.05 / Fax : 01.46.02.44.04
> http://www.ingeniweb.com - Une société du groupe AlterWay
>
>
> _______________________________________________
> Plone-FR mailing list
> [hidden email]
> http://lists.plone.org/mailman/listinfo/plone-fr
>
>

_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr
Alexandre Garel

Re: Traduction d'un product

Reply Threaded More More options
Print post
Permalink
In reply to this post by Gilles Lenfant
Gilles Lenfant a écrit :
> Quick'n'dirty, oups, en  français "crado mais ça fonctionne"...
>
> $ cd .../Products/PloneTranslations/i18n
> $ find . -name '*-fr.po' | xargs grep 'Rechercher'
> $ $EDITOR (le fichier en question)
> Fournir la traduction souhaitée dans le bon "msgstr"

Juste pour expliciter comment on le fait en faisant un produit (ce qui
reste la forme conseillée pour du maintenable) :

Une fois trouvé le fichier de PloneTranslations à surcharger (cf. grep
proposé par Gilles) (supposons pour la suite que ce soit plone-fr.po)

- Créer un produit de type "Products", avec un dossier i18n (ce peut
très bien être le produit de skin).

- Dans le dossier i18n on met un fichier plone-fr.po qui reprenne l'en-
tête du fichier de PloneTranslations à surcharger.

- on ajoute simplement les lignes de chaque traduction à surcharger

msgid "l'id du message que je veux surcharger"
msgstr "ma traduction"

Redémarrage du zope et zou !

Comme dit par Danielle Davout, à la racine du Zope, Control Panel, puis
Placeless Translation Service permet de visualiser les différents
fichiers chargés et de vérifier s'il ne sont pas cassés, ou de pouvoir
tester une traduction.

Y supprimer un fichier puis redémarrer le Zope permettra de faire passer
ce fichier en haut de la liste (et donc ses traductions seront
considérées en priorité).


Alex


--
Alexandre Garel - [hidden email]
Pilot Systems - 9, rue Desargues - 75011 Paris
Tel : +33 1 44 53 05 55 - http://www.pilotsystems.net
Hébergement Zope et Plone gratuit - http://www.objectis.org


_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr