WordPress Multillenguatge
Lectures: 836
Estic investigant la forma de poder fer funcionar el WordPress en mode multillenguatge. Pel que veig, és una mica complicat, però pot fer-se. Més endavant realitzaré un article més extens de com funciona la cosa, però de moment diré que usa el Framework l10n/i18n gettext. Això és un sistema que substitueix el texte en si per un pre-parseig en un paquet de traduccions. En aquest article faig una explicació en diagonal de con funciona el tema.
En les plantilles dels temes de WordPress, el texte que es printa per pantalla (el de la pàgina, no el contingut en articles i posts) està de la següent forma:
Llavors, per defecte es printa house. Però si tenim un paquet d'idioma català (per exemple), la funció _e() buscarà dins del paquet d'idioma la clau house i donarà la seva traducció casa.
On puc trobar els paquets d'idioma? Bé, WordPress hospeda la majoria de paquets d'idioma aqui. Heu de dirigir-vos a fr_FR pel paquet en francès, i allà dins de trunk i messages hi han dos arxius, un .PO i un .MO. El .PO és l'arxiu que conté les traduccions. Tot i que es pot obrir amb un editor de textes, s'aconsella l'us d'un programa com el poEdit, que facilita molt la fèina. Un cop la traducció estigui feta, al guardar l'arxiu es genera el .MO que serà el paquet de traducció compilat. Aquest l'haurem de pujar al servidor dins de /wp-includes/languages/. Per a la traducció al català tenim el paquet en una altra ubicació. El problema de la nostra traducció és que es tracta d'una versió antiga (la 2.0.1) i tot i que no es nota, dóna la sensació de deixat de la mà de Déu (la 2.0.5 ja està en castellà).
I hi ha encara un altre problema: els temes que s'usen al WordPress porten unes plantilles que no estan del tot preparades, és a dir, en comptes de fer servir la funció _e() per a tot missatge que surti per pantalla, només ho fan servir en contades ocasions. Per sort, les plantilles dels temes són poques i amb una mica de treball es podrien tenir tots els textes amb la funció _e(). Potser aquesta serà la meva propera tasca.
Bé, de totes formes, tot això és només per fixar un llenguatge diferent a l'anglès com a principal (compte, queda encara algun pas per fer. Informeu-vos més aquí). El problema ve quan hem de muntar-ho multillenguatge. Això significa que hem de fer coexistir varis paquets de llenguatge en un mateix WordPress, i activar un o altre sota demanda. Això resulta que està donant alguns problemes, ja que hi han varis projectes començats però no hi ha ningun que acabi per donar al clau. El primer i més conegut és el Language Picker (no poso el link perqué ja no existeix). Hi ha un altre projecte obert anomenat Polyglot, que continua el progecte del Language Picker i té molt bona pinta. Hi han altres projectes, però els descarto perqué sembla que des de Febrer d'aquest any ja ningú es preocupa.
Així que la forma de treballar de Polyglot és la següent: Per un costat és un plugin que et deixa definir blocs de texte en un sol llenguatge dins del cos principal de l'article que s'escriu. Després, amb una petita modificació de les plantilles (com tots els plugins que afegeixen coses), s'afegeix una bandera que et deixa escollir quin idioma de texte de l'article s vol mostrar. Molt potent per no anar creant articles diferents per a diferents llenguatges sobre el mateix concepte. Per un altre costat, tenim que gràcies als .MO que he mencionat abans, canvia de paquet de llenguatge segons la bandera clicada o el idioma triat en un menú que pots posar on vulguis. I a més pot identificar l'idioma predeterminat del navegador de l'usuari i autoseleccionar el idioma que correspongui.
El cantó negatiu és que no sempre funciona (a part dels plugins... que porten el seu propi texte i no sempre estan traduits). He llegit comentaris d'usuaris que no han tingut èxit, i per això val la pena anar provant-ho bé abans de triar auqesta opció... o fins i tot, abans de triar WordPress...
Seguiré comentant el tema... ara mateix tinc un projecte de blog en multidioma que em pot servir per enterar-me millor de tot això.
Salut!
Home
Tecnologia
Flashos
Humor
Videos
Lletres
Fotos







