Preparació de les cadenes de text a traduir amb PoEdit i creació de Catàlegs

Com a annex al tutorial PoEdit publicat amb anterioritat, avui tractarem de conèixer i aprendre a preparar les cadenes de literals perquè PoEdit les reconegui com a elements a traduir.

Si ets dels que els agrada «destripar» fitxers (i agradant-te GNU/Linux, és més que probable que sigui així), estic segur que t'interessarà aquest procés, que, per altra banda, és força simple.

Aquest és una aportació de Daniel Durant, convertint-se així en un dels guanyadors de la nostra competència setmanal: «Vaig compartir el que saps sobre Linux«. Felicitacions Daniel!

Traduint un simple programa a C

Ja vam fer esment en un tutorial anterior de PoEdit a un exemple on a partir d'un fitxer .html d'una web qualsevol, obteníem un fitxer .pot, i d'aquest un .po que era el que en última instància seria sobre el que es realitzés el treball de traductor. El mateix passa amb un programa a C++, un fragment de PHP o de Javascript inclòs en un fitxer .html, un applet de Java o qualsevol altra cosa que puguis imaginar.

Vegem-ne un exemple en un simple programa en llenguatge C:

#include 
int main () {

printf (“Hello World”);

torna 0;
}

Hi veiem cadenes en l'idioma anglès i caràcters propis del llenguatge C. Aquests últims, en ser propis del llenguatge, no necessiten ser traduïts, així que hem de diferenciar en aquest paràgraf el que s'ha de traduir i el que no, per tractar-se de simple « codi informàtic». Aquí és on entra la funció gettext, en el format gettext($cadena) o el seu àlies _($cadena)

Aplicant-ho a l'exemple anterior,

#include 
int main () {

printf (.gettext(“Hello World”));

torna 0;
}

Cal posar un punt abans de la funció gettext perquè PoEdit funcioni sense problemes. La línia on apareix el literal 'Hello World', també podia haver quedat preparada de la manera següent,

printf (._(“Hello World”));

Com sap PoEdit que la resta del programa és codi a C?

Obre les preferències de PoEdit i fixa't a la finestra següent,

i, si tens més curiositat, obre la que indica com a processadors de codi font C/C++ i veuràs una cosa semblant a això,

Sorprès? Bé, seguim, ja no en queda gairebé res.

El codi en C anterior has de passar a un editor de text pla i guardar-lo al disc amb l'extensió .c Ara obrim PoEdit i anem a Arxiu ->Nou Catàleg. Apareixerà un quadre de diàleg on posar el nom del projecte, Equip…(consulteu el tuto de PoEdit que ja publiquem)

A la pestanya Carpetes indiques en directori on està situat el directori arrel de les teves traduccions i en carpetes aquella en què localitzaràs els fitxers de traducció d'un conjunt de programes, fitxers HTML, etc. (a aquest conjunt és el que se'n diu catàleg). Si voleu fer coincidir el directori arrel amb la carpeta de catàleg només heu de posar un punt.

Acceptes i t'apareixerà el diàleg següent,

On tries el nom que posaràs al teu fitxer .po i la localització al sistema de fitxers (al nostre exemple /home/usuari/Traduccions). I una vegada que donis a Guardar apareixerà aquesta reconfortant pantalla:

Fantàstic, no? . Doncs acceptem i arribem, finalment a la pantalla d'edició i traducció de cadenes:

I això és tot. A traduir!


2 comentaris, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   herència va dir

    recomano https://poeditor.com com una millor alternativa a Poedit. És una eina en línia, amb una interfície molt útil i la memòria de traducció. També compta amb API i diversos connectors útils.

  2.   Nucleorion va dir

    Però un cop tenim el fitxer .po i .mo com fem perquè es carreguin, o que l'usuari pugui triar entre l'original o el traduït?