Sovrascrivere le traduzioni di Plone in 5 minuti

A volte mi capita di scoprire l'acqua calda e per me è sempre una gioia. Ecco un comodo e semplice metodo per modificare una traduzione all'interno di Plone senza perdere troppo tempo.

In alcune installazioni di Plone e per svariate esigenze abbiamo la necessità di modificare alcune traduzioni. Ad un cliente non piace la parola Descrizione, ad altri non piace Fatti riconoscere, altre volte la traduzione nella lingua desiderata non è ancora disponibile nella versione rilasciata del pacchetto.

Ecco che abbiamo la necessità di un metodo chiaro e veloce per sovrascrivere la traduzioni di solo alcune parti di Plone senza dover intervenire direttamente sul pacchetto che le include.

Creare delle patch per queste attività o sovrascrivere interi script e template non sono sicuramente soluzioni accettabili e la soluzione che abbiamo adottato sin ora è stata quella di includere le traduzioni in un pacchetto sviluppato ad hoc per un cliente assicurandoci che questo venisse incluso in Zope dopo tutti gli altri pacchetti.

In questo modo riusciamo a risolvere il problema ma con una piccola ma fastidiosa forzatura: ricordarsi dove includere il pacchetto con le traduzioni.

Fortunatamente dalla versione 4.2.2 di plone.recipe.zope2instance, rialsciata a luglio, è possibile configurare una directory che contenga le traduzioni aggiuntive che vogliamo includere. Possiamo quindi aggiungere questa configurazione all'interno del buildout:

...
[instance]
recipe = plone.recipe.zope2instance
locales = ${buildout:directory}/locales
...

creare la cartella locales nella posizione scelta ed all'interno della directory locale definire la classica struttura di una cartella contenente le traduzioni:

it
- LC_MESSAGES
- plone.po
- altro.pacchetto.po
...
en
- LC_MESSAGES
- plone.po
...

I vari file .po conterranno l'header corretto per la traduzione e solamente i messaggi che vogliamo sovrascrivere. Per esempio:

msgid ""
msgstr ""
"Project-Id-Version: Plone\n"
"POT-Creation-Date: 2012-09-08 19:30+0000\n"
"PO-Revision-Date: 2012-09-08 13:00+0100\n"
"Last-Translator: Giorgio Borelli <...>\n"
"Language-Team: Abstract\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n!=1\n"
"Language-Code: it\n"
"Language-Name: Italiano\n"
"Preferred-Encodings: utf-8 latin1\n"
"Domain: plone\n"
"X-Is-Fallback-For: it-ch it-it\n"

#. Default: "You are here:"
#: plone.app.layout/plone/app/layout/viewlets/path_bar.pt:6
msgid "you_are_here"
msgstr "Ecco dove ti trovi:"

Ulteriori informazioni:

Share this on

Share |

On same topics

Commenti

comments powered by Disqus