Dona davant d'una pissarra amb textos equivalent a "bon dia" escrits en diversos idiomes.

Consells per crear una web multiidioma

Aquest és el títol de la ponència que vaig fer a la WordCamp Barcelona 2023. El meu objectiu durant la xerrada era donar un punt de partida a totes les persones que s’estiguessin plantejant crear una web multilingüe amb WordPress però no tinguessin massa clar per on començar ni tot el que implica.

Podeu descarregar les diapositives de la xerrada, o bé veure la presentació a WordPress.tv. Espero que us agradadi! Si, pel contrari, preferiu llegir-ne el contingut, el teniu a continuació.

Introducció

Montse presentant a la WordCamp BCN 2023
Presentant aquesta xerrada a la WordCamp BCN 2023. Foto feta per Míriam Paredes.

Com he dit prèviament, el meu objectiu era ajudar a aquelles persones que tenen web i es plantegen afegir-hi idiomes addicionals o que bé volen una web i dubten si fer-la multiidioma o no. Utilitzant WordPress, és clar.

La primera pregunta que ens podem fer és si, avui en dia, té sentit que tinguem webs multilingües. El motiu de la pregunta? L’existència d’eines com Google que ens permeten traduir la web de forma automàtica a pràcticament qualsevol idioma. Evidentment això estalvia costos i feina, però… És el que volem?

El principal problema que tenim si optem per aquesta opció és que perdem el control del missatge que rep el nostre client o target. No només això, sino que les eines de traducció automàtica, tot i que fan una gran feina, no són perfectes. Més d’una vegada hi ha errors de traducció. I, fins i tot si no n’hi ha, no podem escollir les paraules més adequades per comunicar-nos amb el receptor del missatge.

Per tant, tot i que penso que, per regla general, ens interessarà controlar el missatge, cadascú és lliure de fer el que cregui més adequat en el seu context. Evidentment, el que diré a continuació deixa de tenir sentit si volem que la web es tradueixi automàticament.

Primer problema: WordPress no és multiidioma!

Anem a assumir que volem una web multilingüe on controlem el missatge que arriba al nostre target. I que tenim una web (o volem tenir-la) en WordPress. La primera dificultat que trobem és que el nucli de WordPress només permet tenir un sol idioma. És a dir, podem escollir quin idioma volem de tots els disponibles, i podem tenir diferents idiomes instal·lats que permetin canviar l’idioma del back-end segons la configuració de cada usuari, però la web en tindrà un de sol.

Ho podem solucionar? Sí. Com? Amb plugins (o extensions) de tercers.

Solució: Plugins per crear webs multilingües

Logos dels plugins mencionats a la secció: WPML, Polylang, TranslatePress, WeGlot, MultilingualPress

La següent decisió que hem de prendre és quin plugin escollir. Els més coneguts són els següents:

El que passa és que molts d’aquests plugins (WPML, WeGlot i MultlingualPress) són de pagament i no tenen versió gratuïta al directori de WordPress, o la versió gratuïta és força limitada. Estic assumint que, quan es comença, els recursos són limitats, i per tant, interessa optar per versions gratuïtes de plugins encara que tinguin les seves limitacions.

Per tant, de tots aquests, ens en queden dos. Polylang i TranslatePress.

Polylang vs TranslatePress

Malgrat que els dos plugins ens permeten arribar al mateix resultat, també tenen una sèrie de diferències. A continuació examinarem els punts en comú i entrarem en detall en les diferències.

Similituds

Com a punts en comú principals, Polylang i TranslatePress tenen el següent:

  • Segueixen un model freemium. És a dir, hi ha una versió disponible de forma gratuïta al repositori de de WordPress amb una sèrie de funcionalitats bàsiques; per funcionalitats més avançades cal optar per la versió de pagament.
  • Els dos ens permeten tenir una web en diversos idiomes de forma gratuïta.

Diferències

Aquí és on el tema comença a ser interessant. Els dos plugins són molt diferents entre ells, i optar per un o altre dependrà de les necessitats que tinguem. Comencem.

Número d’idiomes

La versió gratuïta de TranslatePress només ens permet tenir un idioma addicional. Per contra, Polylang no posa límits en el número d’idiomes en la seva versió gratuïta.

Idioma base

Es pot dir que els dos plugins funcionen amb un idioma base, o idioma per defecte. El que passa, però, és que les implicacions d’això són complemtament diferents en els dos casos.

Polylang permet generar contingut en qualsevol dels idiomes que tinguem instal·lats, i no té cap limitació al respecte. Si tenim la web en català, castellà i anglès, podem crear un contingut que estigui només en anglès i que no tingui traducció, encara que l’idioma base sigui el castellà (exemple real d’aquesta web). Això ens dona moltíssima flexibilitat i llibertat a l’hora de crear contingut.

Amb TranslatePress la història canvia. Cal crear el contingut en l’idioma base, i després es pot afegir, si es vol, la traducció. No es pot crear contingut que no estigui en l’idioma base. El motiu és que, internament, les traduccions de TranslatePress funcionen com un diccionari. Si tenim la web en anglès i castellà, i l’anglès és l’idioma base, el que farà TranslatePress quan accedim al contingut en castellà és buscar la traducció de cadascun dels textos, partint de l’anglès. Evidentment, si no hi ha versió en anglès, no podem anar a buscar la traducció.

Una conseqüència d’això és que si canviem els textos en l’idioma base en TranslatePress, es perd també la traducció. Es pot recuperar fàcilment perquè segueix guardada, però cal tornar a afegir-la (encara que sigui reaprofitant l’existent) a mà.

El preu de la flexibilitat

La flexibilitat de Polylang no és “gratuïta”. A nivell de back-end (o de gestió), atabala moltíssim. Cada cop que creem un contingut, per exemple una pàgina o una entrada del blog, ens permet assignar-li un idioma. Si tenim tres idiomes, i el generem en aquests tres, vol dir que veurem tres pàgines o tres entrades de blog. Per tant, de seguida creix el volum de contingut.

Interfície d'edició d'entrades del back-end de WordPress.
Exemple de les entrades d’aquest blog i de com es veu el back-end quan s’utilitza Polylang. Les entrades que comencen amb “WordCamp BCN” es corresponen al mateix contingut, en tres idiomes diferents. El mateix amb les dues últimes, que és el mateix contingut en català i castellà. Com es pot veure, en la pantalla només hi ha contingut de tres entrades diferents, realment.

En canvi, en el cas de TranslatePress, únicament veiem una pàgina o una entrada de blog, independentment dels idiomes addicionals que tinguem (aprofito per recordar que la versió gratuïta només permet un idioma extra). Per tant, a nivell de gestió és molt més net.

Cal tenir en compte, però, que a l’hora de decidir-nos per un o altre plugin, hauria de pesar molt més les limitacions a nivell de canvis de textos, per exemple, que no això.

Maquetació del contingut

Una altra conseqüència d’aquestes diferents maneres de funcionar és a nivell de maquetació del contingut. En el cas de Polylang, com ja he mencionat, un contingut pel blog en tres idiomes, és, en realitat, tres entrades. Això fa que a l’hora de crear i maquetar el contingut, tinguem llibertat completa i absoluta. Fins i tot podríem escriure contingut diferent en cada idioma, però vincular-lo com si fos el mateix.

En canvi, TranslatePress ens obliga a respectar la maquetació i l’estructura del text. Això sí, permet canviar les imatges en funció de l’idioma.

Metadades de les imatges i SEO

SEO deletrejat amb lletres de Scrabble sobre un fons de fusta.

Polylang ens dona l’opció de traduir les metadades de les imatges. Les metadades són informació relativa a la imatge que pot ser útil, per exemple, per persones amb diversitat funcional o si la pàgina triga a carregar. Per exemple, és una bona pràctica que totes les imatges tinguin un atribut alt, perquè és la informació que es mostrarà si la imatge no carrega o si la persona és cega. A més, la inclusió d’aquestes metadades pot ajudar a posicionar la web i les imatges en els buscadors. Per tant, és bo traduir aquestes metadades (també és un rotllo i una feinada, no us enganyaré).

A nivell de SEO, tot i que d’entrada Polylang no porta cap eina per ajudar al posicionament, s’integra perfectament amb YoastSEO, i la versió gratuïta d’ambdós plugins ens permeten configurar les paraules clau, les previsualitzacions, etc. per cada idioma.

TranslatePress, per altra banda, no ofereix cap d’aquestes opcions en la versió gratuïta. Dit això, si s’opta per la seva versió de pagament, sí que les ofereix.

Creació d’un e-commerce amb WooCommerce

Logo de WooCommerce

I aquí és on es gira la truita. Si amb el que hem vist fins ara, semblava que la versió gratuïta de Polylang oferia més funcionalitats, aquí canvien les tornes. Amb Polylang, si voleu tenir una botiga en diversos idiomes mitjançant WooCommerce, cal optar per la versió de pagament.

En canvi, la versió gratuïta de TranslatePress permetrà traduir sense problemes tota la informació dels productes i els correus que s’envien.

Incorporació d’eines de traducció automàtica

La versió gratuïta de TranslatePress permet introduir una clau API per poder utilitzar eines automàtiques de traducció com DeepL o Google Translate. Això sí, caldrà pagar per l’ús que es faci d’aquestes eines, però és un cost extern a TranslatePress. Per tal de minimitzar aquest cost, TranslatePress es descarrega la traducció només una vegada, i després permet editar-la.

Polylang no ofereix aquest tipus d’integració.

Resum de TranslatePress vs Polylang

Tot i que jo tinc un plugin preferit entre aquests dos, penso que la decisió d’utilitzar-ne un o altre depèn més de les necessitats del projecte. Suposant que no es disposa de pressupost per invertir en les versions de pagament, a mode de resum es podrien fer les següents recomanacions.

CaracterísticaPlugin
Més d’un idioma addicional (i.e. mínim 3 idiomes comptant el base)Polylang
E-commerce (WooCommerce)TranslatePress
Flexibilitat en la maquetació del contingut independentment de l’idiomaPolylang
SEO i metadades de les imatgesPolylang
Interfície més senzilla / agradableTranslatePress
Integració eines traducció automàticaTranslatePress
Recomanacions de plugins de traducció (Polylang o TranslatePress) segons les necessitats del projecte.

Compatibilitat amb altres plugins i temes

Un altre aspecte a considerar és la compatibilitat de Polylang i TranslatePress amb altres plugins i temes. Per regla general, acostumen a funcionar bé, però sí que hi ha algunes coses que cal tenir amb compte. Tingueu en compte que el que explicaré a continuació es basa en la meva pròpia experiència i no he fet comprovacions exhaustives. Per tant, podria ser que els resultats siguin diferents.

Polylang i temes

Personalment, m’agraden molt els temes genèrics com Astra, OceanWP, Kadence i GeneratePress, que són molt configurables des del back-end de WordPress sense necessitat de tocar codi, i que serveixen per qualsevol tipus de web.

Quan estava creant aquesta web, en una primera instància vaig decidir utilitzar OceanWP. La meva sorpresa va ser majúscula quan vaig veure un augment molt gran del temps de càrrega de la web. Em vaig veure obligada a canviar de tema.

Amb la resta de temes, els temps eren molt més raonables. A la taula que apareix a continuació es veuen els temps, obtinguts amb el plugin CodeProfiler. Els plugins provats en cada cas eren exactament els mateixos, l’únic que canvia és el tema.

TemaTemps de càrrega
GeneratePress (+Polylang)0,2989 s
Kadence (+Polylang)0,7835 s
Astra (+Polylang)1,1736 s
OceanWP (+Polylang)3,1888 s
HelloElementor (+Polylang)0,2680 s

Polylang i plugins

Com he mencionat abans, per regla general no he tingut massa problemes utilitzant Polylang i altres plugins. L’excepció més notable, però, és amb el cas de WP-Portfolio. En el seu moment em vaig informar molt i semblava un dels millors plugins per crear portafolis (de qualsevol tipus) per la web.

Amb una web multiidioma, però, és un desastre. No filtra correctament segons l’idioma i es barrejaven els projectes en idiomes diferents. Tot i que vaig trobar el que anomenaríem vulgarment com un apanyo, vaig decidir renunciar-hi perquè no era la manera correcta de fer les coses, i a llarg termini m’hagués portat maldecaps.

TranslatePress i temes

De cara a la presentació de la WordCamp BCN 2023, vaig decidir fer proves també amb TranslatePress i els temes mencionats abans. A diferència de Polylang, no hi va haver problemes significatius amb cap d’ells i, per regla general, els temps eren millors. De fet, les diferències entre els temes són molt menors que amb Polylang.

Val a dir, però, que les condicions de prova no eren les mateixes que en el cas de Polylang, ja que les vaig fer sobre una altra web, i per tant no puc afirmar categòricament que TranslatePress sigui més ràpid.

TemaTemps de càrrega
GeneratePress (+TranslatePress)0,3648 s
Kadence (+TranslatePress)0,4052 s
OceanWP (+TranslatePress)0,3960 s
Astra (+TranslatePress)0,4306 s
HelloElementor (+TranslatePress)0,3922 s

TranslatePress i plugins

La meva experiència amb TranslatePress és molt més limitada que amb Polylang. No he trobat problemes amb cap plugin, però per altra banda tampoc és massa significatiu, ja que només hi he treballat amb una web corporativa que no tenia tampoc massa complicacions.

El procés de traducció

Ara que ja hem vist els detalls dels dos plugins gratuïts, voldria comentar-vos el procés de traducció que segueixo jo quan vull publicar contingut a aquesta web, que està en català, castellà i anglès. Tingueu en compte que aquest procés està basat en l’ús de Polylang, i que no sempre segueixo al 100% l’ordre mencionat (tot i que sí que faig totes les tasques descrites).

  1. Redacció del text en un Google Doc, en anglès. Començo per la versió en anglès perque em resulta més fàcil començar en anglès, i després aconseguir que el text soni natural en català i castellà, que a la inversa.
  2. Traducció del text a català i castellà mitjançant Google Translate. Com que Google Translate està integrat a Google Docs, obtinc la traducció amb un parell de clics.
  3. Revisió manual de les traduccions, per assegurar-me que el missatge es transmet correctament, no hi ha errors i sona natural.
  4. Maquetació del text en un dels idiomes (per exemple: anglès), i cerca de fotos.
  5. Traducció de les metadades de les imatges escolllides. Aquesta part és molt avorrida i pesada, no us enganyaré.
  6. Duplicació del contingut maquetat amb un plugin, com ara Yoast Duplicate Post. D’aquesta manera tinc la maquetació feta.
  7. Canvi de l’idioma d’aquest duplicat.
  8. Substitució del text per la traducció.
  9. Substitució de les imatges. Aquí realment no és que canvïi la imatge, sino que m’asseguro que es referencïin les metadades adequades segons l’idioma.
  10. Enllaçat de les traduccions, per garantir que si un usuari vol canviar l’idioma de la web, el porti a la versió correcta del text.

Evidentment, els passos 6-9 s’han de repetir per cada idioma. Per si no queda clar, com es pot veure és gairebé duplicar o triplicar la feina que suposa tenir una web en un sol idioma.

Per altra banda, jo normalment opto per publicar els continguts quan els tinc en els tres idiomes. Amb Polylang, però, res impediria que els publiqués primer en un idioma i després amb els altres. Amb la versió gratuïta de TranslatePress no és possible. Quan es publica, es publica tot.

Eines del políglota

A continuació vull compartir amb vosaltres una sèrie d’eines que us poden ser útils si decidiu tenir una web multilingüe.

  • Plugin de traducció. Com ja hem vist, si volem una web multidioma en WordPress, cal començar escollint un plugin de traducció.
  • Traductor. A més de Google Translate, tenim altres opcions com ara DeepL, ChatGPT, Apertium, etc.
  • Duplicador de continguts, com ara Yoast Duplicate Post.
  • LocoTranslate. D’aquesta eina no n’he parlat, i també és molt útil. Val la pena comentar-la en més detall.

I sobretot, el més important… Cal molta paciència i dedicació!

LocoTranslate

LocoTranslate és un plugin que permet editar les traduccions dels plugins i els temes. És molt útil quan ens trobem amb plugins o temes que no estan traduïts en l’idioma de la nostra web, o que estan traduïts però no ens agrada la traducció feta. A més, té l’avantatge que no sobreescriu les traduccions existents, sino que funciona amb un sistema de prioritats:

  1. Primer mira si hi ha una traducció feta per nosaltres del text en qüestió. En cas que sí, l’agafa.
  2. Si no n’hi ha, busca la traducció pròpia del plugin.

Apart doncs de beneficiar-nos de les traduccions existents, quan s’actualitzin les traduccions del plugin o tema, no tindrà cap afectació sobre les traduccions fetes per nosaltres. Si s’edités directament la traducció del plugin o tema, es perdria en el moment en que s’actualitzés la traducció “oficial”.

Conclusions

Veient tot això, val la pena tenir una web multiidioma? Doncs com tot en aquesta vida (o gairebé tot), depèn… A continuació faig una valoració de diferents aspectes que cal tenir en compte.

Primer de tot, cal una gran dedicació. Com ja he mencionat, una web multilingüe suposa molta feina. Malgrat que la idea sobre la que escriure només cal pensar-la una vegada, la redacció i maquetació dels textos es gairebé multiplicar el temps de dedicació d’una web monolingüe pel nombre d’idiomes.

I aquí és on entra en joc el factor que crec que és clau. La MOTIVACIÓ. Cal tenir claríssim el per què volem una web multiidioma. Si no ho tenim clar, el més probable és que perdem les ganes a mig procés. La motivació pot ser econòmica, un tema de màrqueting, intrínseca o personal, etc.

En el meu cas, vaig decidir tenir una web en tres idiomes principalment per un tema personal. El català és la meva llengua materna, i si no la tingués en aquest idioma, crec que sentiria que no em representa. La tinc en castellà perquè visc en un territori bilingüe, i em permet arribar no només a la resta d’Espanya, sino també llatinoamèrica. Finalment, em sembla important tenir-la en anglès, perquè no només potencialment m’obre mercat, sino que també diu una sèrie de coses sobre mi:

  • El meu compromís amb els idiomes
  • El meu nivell o capacitat de parlar-los
  • És un reflex de la meva dedicació

Un altre aspecte a considerar és que tampoc cal traduir-ho tot, sobretot si s’utilitza la versió gratuïta de Polylang, que no ens força a res. Una manera “fàcil” de tenir una web multiidioma és traduir la informació de les pàgines, o la informació estàtica (sobre nosaltres, pàgina principal, els serveis, contacte, etc.) i tenir el blog en un sol idioma. D’aquesta manera cal fer la feina de traducció al principi, i ja està.

Finalment, també cal recordar que tot i que podem començar amb una web multlingüe sense haver de pagar pels plugins de traducció, a mig-llarg termini pot ser que aquesta situació canvïi, i que per tant hi ha un possible cost econòmic afegit. Per exemple, si optem per TranslatePress, si mai volem afegir un tercer idioma, caldrà optar per la versió de pagament del plugin. El mateix si utilitzem Polylang i volem afegir una botiga.

Crèdits

Imatge destacada per gpointstudio a Freepik.

Feu un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Desplaça cap amunt