A partir de Plone 4.0 les traduccions dins de la carpeta i18n està en desús. Es recomana que les traduccions segueixin l’estructura estandar de gettext, per exemple:
locales/ca/LC_MESSAGES/simpleTask.po
A partir de Plone 4.1 només s’accepten les traduccions a locales.
Estructura d’exemple
upcnet.simpleTask
└── upcnet
└── simpleTask
├── i18n @deprecated since v4.0
│ ├── plone-simpleTask-ca.po
│ ├── plone-simpleTask-en.po
│ ├── plone-simpleTask-es.po
│ ├── simpleTask-ca.po
│ ├── simpleTask-en.po
│ └── simpleTask-es.po
└── locales
├── ca
│ └── LC_MESSAGES
│ ├── plone.po
│ └── upcnet.simpleTask.po
├── en
│ └── LC_MESSAGES
└── pot
└── LC_MESSAGES
├── plone.pot
└── upcnet.simpleTask.pot
Cal indicar a Plone/Zope que és multiidioma i quins idiomes té:
manage -> Portal Languages
Triar del desplegable els idiomes que hi hauran al lloc i guardar els canvis.
Afegir tag xmlns:i18n a l’etiqueta configure:
xmlns:i18n="http://namespaces.zope.org/i18n"
Registrar el directori de les traduccions locales:
<i18n:registerTranslations directory="locales" />
Per crear l’estructurua “locales/codi_idioma/LC_MESSAGES/”, per exemple:
└── locales
└── ca
└── LC_MESSAGES
Situar-se a l’arrel del paquet, per exemple:
cd upcnet.simpleTask/upcnet/simpleTask
Pots crear tots el directoris amb la comanda (en aquest cas els idiomes son:espanyol, català, anglès):
mkdir -p locales/{"es","ca","en"}/LC_MESSAGES
Anar al directori locales:
cd locales
La creació del .pot que s’explica a continuació es per crear bé la ruta als fitxers en els comentaris.
Creació d’un idioma fictici pot:
mkdir -p pot/LC_MESSAGES
Creació de l’arxiu pot per a cada domini:
cd pot/LC_MESSAGES
touch [domini].pot
i18ndude rebuild-pot --pot [domini].pot --create [domini] ../../../
Creació del po de cada idioma fent servir el .pot, des de locales/pot/LC_MESSAGES:
touch ../../[idioma]/LC_MESSAGES/[domini].po
i18ndude sync --pot [domini].pot ../../[idioma]/LC_MESSAGES/[domini].po
Definir idioma i comprovar domini de l’arxiu .po, per exemple espanyol:
"Language-Code: es\n"
"Language-Name: Spanish\n"
"Domain: [domini]\n"
Fes una copia de seguretat de les teves traduccions
Actualitzar .pot:
cd locales/pot/LC_MESSAGES
i18ndude rebuild-pot --pot [domini].pot --merge [domini].pot --create [domini] ../../../
Sincronitzar els .po, des de locales
cd locales
i18ndude sync --pot pot/LC_MESSAGES/[domini].pot [idioma]/LC_MESSAGES/[domini].po
Override de traduccions s’han de fer dins de la carpeta i18n, el nom dels .po ha de ser:
[domini]-[codi_idioma].
El següent enllaç es interessant a l’hora de fer els templates: http://plone.org/documentation/kb/i18n-for-developers
sudo apt-get install poedit
El primer cop que s’executa cal introduir les dades del traductor (nom d’usuari i email).
Mode gràfic:
Anar a:
Catàleg -> Paràmetres -> Informació del projecteSeleccionar l’idioma de la traducció al desplegable.
Afegir a la capçalera del fitxer .po:
"X-Poedit-Language: [Idioma]\n"