[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