Adaptación de Pology ao galego

De Proxecto trasno

Pology é unha biblioteca e un conxunto de ferramentas de liña de ordes para o traballo e procesamento de ficheiros PO, o formato de tradución que emprega o sistema de tradución de software GNU Gettext. Pology é capaz de realizar operacións de precisión nun único ficheiro PO así como operacións complexas en grandes grupos de ficheiros PO.

Índice

Instalación

Para instalar pology debes descargar o código desde o repositorio subversion. Isto é por mor de obter a última versión das regras para o galego.

svn co svn://anonsvn.kde.org/home/kde/trunk/l10n-support/pology

Recoméndase modificar a variábel PATH do sistema, engadíndolle a ruta aos scripts de pology, para isto pódese modificar o ficheiro ~/.bashrc engadíndolle ao final unha liña tal como a seguinte

export PATH=$BASE_REPO/pology/scripts:$PATH

onde $BASE_REPO é a ruta onde se descargou o pology.

En alternativa:

export PATH=$BASE_REPO/bin:$PATH
export PYTHONPATH=$BASE_REPO:$PYTHONPATH

Documentación

A documentación de Pology pódese consultar no enderezo http://pology.nedohodnik.net/doc/user/en_US/index-mono.html. Ademais ao copiar o repositorio tamén se dispón dunha copia de toda a documentación no subdirectorio doc.

Uso de Posieve

Pology ten ferramentas bastante interesantes, se ben aquí centrarémonos en posieve. Posieve é unha ferramenta que nos permite mediante unhas regras predefinidas filtrar un ficheiro po e obter información do mesmo. Entre os usos principais están:

  • Obtención de estatísticas dun ficheiro PO
  • Revisión terminolóxica dun ficheiro PO (segundo regras)
  • Revisión estilística dun ficheiro PO (segundo regras)
  • Corrección ortográfica dun ficheiro PO
  • Corrección gramatical dun ficheiro PO
  • Comprobación de etiquetas nun ficheiro PO (etiquetas XML)

Exemplos de uso

Exemplo xeral de uso das regras

A orde xeral para uso das regras é:

 posieve.py check-rules DIRECTORIO

Esta orde en xeral aplícase modificada por dous parámetros:

 posieve.py -b check-rules DIRECTORIO -s lokalize

ou

 posieve.py -b check-rules DIRECTORIO -s byrule

A primeira liña abre os ficheiros onde se atopen erros no programa lokalize, que debe ter sido aberto con anterioridade á execución da orde, o que aforra o follón que se explica abaixo en «Uso en lote» A segunda explicase a seguir.

Revisión informando dos erros agrupándoos segundo a regra

Isto é útil para facer revisións sistemáticas de erros un por un.

 posieve..py -b check-rules  DIRECTORIO -s byrule > ficheiroSaida

Se só interesase un subconxunto de ficheiros, por exemplo ficheiros chamados gl.po situados en rutas variadas dentro de DIRECTORIO, pódese indicar mediante o parámetro --files-from=FILE ou -f FILE, onde FILE é un ficheiro que contén a lista dos ficheiros. Consúltese o apartado 9.5 da documentación de pology para máis detalles.

Os ambientes de aplicación das regras

A aplicación das regras pode afinarse exquisitamente mediante a aplicación dos «ambientes», que ven sendo un nome para campos semánticos ou áreas onde se aplica un vocabulario específico. No momento de escribir isto as regras do pology usan dos seguintes ambientes:

  • kde
  • gnome
  • bittorrent
  • development
  • graph_theory
  • geography
  • cypher
  • database

A definición dos ambientes debe facerse por ficheiro, definindo na cabeceira do ficheiro o campo "X-Environment" Por exemplo, un valor válido sería: "X-Environment: kde, development\n" Para definir este ambiente o máis cómodo é usar a orde

posieve.py set-header -screate -sfield:X-Environment:"kde, development" FICHEIRO

O parámetro «create» só debe incluirse se non existe o campo na cabeceira.

Aos ficheiros de kde de nova creación recoméndase aplicarlles a orde

posieve.py equip-header-tp-kde FICHEIRO
Revisión con regras

A revisión con regras utilízase para evitar que nas traducións aparezan castelanismos, lusismos, ... así como para asegurarse de que se aplican os acordos estilísticos e os acordos terminolóxicos acordados no Proxecto Trasno.

  • Revisión con aceleradores, comprobación con msgfmt --check e sen regras inversas
posieve -b --msgfmt-check --no-skip check-rules -slang:gl -saccel:"_" -srulerx:"^PT*" -snorulerx:"dual" FICHEIRO
  • Revisión con aceleradores, comprobación con msgfmt --check, apertura das liñas con erros en Lokalize e con regras inversas (incluídas as que non seguen estritamente os acordos do Proxecto Trasno)
posieve -b --msgfmt-check --no-skip check-rules -slang:gl -saccel:"_" -srulerx:"^(no)?PT*" -slokalize FICHEIRO
Corrección ortográfica
  • Corrección ortográfica con aceleradores
posieve -b check-spell-ec -sprovider:myspell -slang:gl -saccel:"_" FICHEIRO

Uso en lote

O uso en GNOME é bastante automatizado tentando que o revisor non perda tempo. A continuación explicarei o sistema empregado para revisar o core de GNOME. A vantaxe que ten GNOME é que podemos descargar un tarball cos últimos pofiles de todo o proxecto. Que podemos descargar desde [1], cambiando o 3-0 pola versión que desexe.

para traballar crearemos un cartafol chamado GNOME e dentro del crearemos dous cartafoles chamados po e errors. Logo de ter os ficheiros e os cartafoles preparados extraeremos os ficheiros to tarball no cartafol po. Este será o noso cartafol de traballo.

Para xerar ficheiros de erros nas traducións para todos os pofiles executamos:

for i in `ls -1`; do ../pology/bin/posieve -b --msgfmt-check --no-skip check-rules -slang:gl -saccel:"_" -srulerx:"^PT*" -snorulerx:"dual" $i  > ../errors/$i.errors; done

Isto creará un ficheiro de texto que contén os erros correspondentes ao mesmo ficheiro po correspondente co nome.

Para revisar cada ficheiro debemos cargar o ficheiro de texto de erros no gedit, activando o resaltado de sintaxe en traducións Gettext, e o ficheiro po no gtranslator. Agora teremos que revisar cada erro do ficheiro de erros e ir aplicando os cambios no gtranslator segundo corresponda.

Cando tenha rematada a revisión do ficheiro simplemente pase ao seguinte ficheiro até rematar con todos.

Adaptación ao galego

A adaptación de Pology ao galego consiste maiormente na creación de ficheiros de regras para o galego.

Erros nas regras

Como informar de erros nas regras

Recoméndase que os informes de erros nas regras vaian acompañados da liña de ordes aplicada. Recoméndase que a liña de ordes aplicada inclúa o parámetro "showfmsg", así: posieve.py -b check-rules -sshowfmsg ..... Recoméndase que os erros se comuniquen á vez por correo electrónico e nesta páxina wiki.

Recoméndase que cando se informen os erros na wiki, todos aqueles atribuíbeis a unha regra vaian seguidos, pero cada un por separado.

Posibles melloras

Erros pendendes de arranxar nas regras

Varios =
      • 1

Cando poidas mira este fallo frecuente: avisa da tradución plugin>engadido a pesar de que é así como está traducido.


desktop_extragear-kdevelop_kdevplatform.po:528(#91)

  1. plugins/snippet/kdevsnippet.desktop:5

msgctxt "Comment" msgid "" "This plugin allows to store code snippets and insert them into open files"

msgstr ""

"Este engadido permite gardar fragmentos de código e inserilos en ficheiros " "abertos" [note] rule [id=PT-2010_plugin] ==> [ «Plugin» tradúcese como «Complemento» ou «engadido»

        • 2

Tamén hai que ter en conta esta aparición de «infraestructure»:

kdevelop.po:402(#83)

  1. main.cpp:147

msgid "Help with KParts infrastructure" msgstr "Axuda coa infraestrutura de KParts"

[note] rule [id=PT-2011-dual_backend] ==> [ «infraestrutura» traduce a «backend» e «framework»
        • 3

Neste caso non sei se será un problema coa maiúscula inicial:

kdevexecute.po:89(#11)

  1. nativeappconfig.cpp:273
msgid "Configure Native Application"

msgstr "Configurar un aplicativo nativo" [note] rule [id=PT-2011_application] ==> [ «application» tradúcese como «aplicativo» rule [id=PT-2011-dual_application] ==> [ «aplicativo» traduce a «application» e a «app»


        • 4

Aqui, por outra parte, hai que conxugar.

kdevplatform.po:919(#186)

  1. language/duchain/repositories/itemrepository.cpp:265
  2. , kde-format

msgid "Session crashed %1 time in a row"

msgid_plural "Session crashed %1 times in a row"

msgstr[0] "A sesión quebrou %1 vez seguida" msgstr[1] "A sesión quebrou %1 veces seguidas" [note] rule [id=noPT-2011_crash] ==> [ «crash» tradúcese como «quebra»

rule [id=noPT-2011-dual_track2] ==> [ «seguir» traduce a «track» (e a «follow»)
Erro: grid
Erro: clipboard
Ferramentas persoais