[kdecat] Verificació de les traduccions amb «pology»

Josep Ma. Ferrer txemaq at gmail.com
Tue Aug 31 20:54:04 UTC 2010


Hola a tots,

     Us informo que durant aquest mes he estat fent proves d'una eina 
anomenada "pology", que, entre altres coses, permet detectar les errades més 
habituals a partir d'expressions regulars. Teniu més informació quant a l'eina 
"pology" a:

http://techbase.kde.org/Localization/Tools/Pology 

     Un cop configurada, aquesta eina permet fer diverses accions amb els 
fitxers po de traduccions. És una mena de navalla suïssa dels fitxers po. Per 
exemple:

a) es poden normalitzar les capçaleres amb l'ordre següent:

$ posieve normalize-header ca/messages (o docmessages)

b) es poden verificar sintàcticament els fitxers:

$ posieve check-tp-kde ca/messages (o el fitxer que sigui)

c) es poden treure estadístiques dels fitxers po:

$ posieve stats -sincomplete ca/messages (o docmessages)

i moltes altres. Es pot actuar sobre un fitxer po concret o sobre un directori, 
només cal indicar el camí.

     Jo he estat provant i configurant una funcionalitat de cerca de patrons 
anomenada «check_rules», que analitza els fitxers «po» cercant patrons definits 
per expressions regulars. Fins ara he creat una llista d'errors més freqüents 
(de moment només n'hi ha 3) i una llista de falsos amics (al voltant del 
centenar). Aquestes llistes de regles estan al directori pology/lang/ca/rules 
del «pology». Una regla típica tindria el format següent:

-----------------------------------------------------------
# «Actually» es tradueix per «Realment».
{\bactually\b}i
valid msgstr="de\sfet"
valid msgstr="en\srealitat"
valid msgstr="realment"
valid msgstr="veritablement"
valid !msgstr="actualment"
hint="«Actually» es tradueix per «Realment», no per «Actualment» (fals amic)"
-----------------------------------------------------------

A la primera línia posem un comentari explicatiu de la regla (# «Actually» es 
tradueix per «Realment».) 
La segona línia conté l'expressió regular cercada en el fitxer 
({\bactually\b}i)
De la tercera a la sisena hi ha les expressions acceptades com a traduccions
La setena línia hi ha l'expressió no acceptada com a traducció
La vuitena línia és un consell que apareix quan s'activa la regla i que ajuda 
a depurar l'error (en aquest cas concret, la regla s'activarà si el missatge a 
traduir msgid conté l'expressió «actually» i el missatge traduït msgstr conté 
«actualment».

En el fitxer pology/lang/ca/rules/README hi ha més informació quan a les 
regles.

La verificació de les regles sobre un fitxer o directori es fa amb l'ordre 
següent:

$ posieve check_rules [fitxer|directori]

I la sortida indica el fitxer, el missatge (msgid i msgstr), el patró trobat i 
el consell per la sortida estàndard. Hi ha dues solucions: o s'esmena el fitxer 
msgstr, o si es un fals positiu es crea una excepció en el fitxer de regles, 
com per exemple:

# «Home» es tradueix per «Casa o inici».
{\bhome\b}i
...
valid msgstr="home" cat="kleopatra" after="gnupg\s"
...

A l'exemple anterior s'admet que la traducció de l'anglès «home» sigui «home» 
en el fitxer kleopatra i després de «gnupg » (amb un espai en blanc al final).


     La meva intenció és continuar farcint el fitxer d'errors més freqüents i 
crear un fitxer de regles de signes tipogràfics (p.ex. per a detectar la manca 
de les cometes «»). Aprofitaré per afegir els errors reportats pel Pau, encara 
que alguns no seran fàcils d'implementar (p.ex. la concordança de nombre o de 
gènere entre dues paraules), degut a la meva poca habilitat amb les 
expressions regulars.  

     Evidentment, qualsevol dubte, aclariment o suggeriment serà benvingut. 

     Salutacions,

      Josep Ma.



More information about the kde-i18n-ca mailing list