Guía de tradución de aplicativos

Pódese traducir unha aplicación a galego de dúas maneiras: mediante unha ferramenta de tradución na rede á que se pode acceder co navegador (como Transifex ou Weblate) ou descargando os ficheiros orixinais e traducíndoos no noso propio computador. Aquí explicamos como realizar isto último.

Fundamentos do estándar Gettext

O estándar Gettext baséase en que o código fonte das aplicacións inclúe separadamente as súas mensaxes en inglés e as correspondentes traducións, nun ficheiro de texto independente. Posteriormente, a tradución só precisa este ficheiro (descargarase dende aquí na maioría dos casos). A extensión dos ficheiros de texto Gettext é:

  • *.pot para os ficheiros de modelo nos que se atopan as mensaxes orixinais en inglés
  • *.po para os ficheiros nos que, ademais das mensaxes orixinais, se atopan as súas correspondentes traducións

Unha vez se ten o ficheiro de texto traducido (coa extensión *.po ) este compílase co resto da aplicación e xérase un ficheiro binario *.mo que contén as mensaxes traducidas para que a aplicación as poida interpretar en tempo de execución. A nós só nos interesará obter os modelos *.pot correspondentes a unha aplicación determinada, traducilos e gravalos coa extensión *.po e enviar este ficheiro a quen coordine o grupo de tradución correspondente ou, no caso de ser unha aplicación individual non pertencente a ningunha suite como KDE, Gnome, FSF … enviarllo a quen estea a desenvolver a aplicación. A persoa que coordine ou crease a aplicación, segundoo caso, incluirá a tradución feita na distribución oficial da aplicación.

Estes ficheiros teñen unha sintaxe específica bastante doada de entender. Ademais, lonxe de ser totalmente preciso comprendela para realizar as traducións (aínda que si conveniente para os aspectos avanzados do proceso de tradución) existen na actualidade aplicacións gráficas que simplifican moito o traballo. Falarase despois destas aplicacións, pero antes vaise a explicar a sintaxe básica dos ficheiros gettext e o uso dalgunhas ferramentas para manipulalos.

Se abres un destes ficheiros poderás ver en primeiro lugar a cabeceira:

 # TÍTULO DESCRITIVO da APLICACIÓN TRADUCIDA.
 # Autor da tradución <autor@datradución.com>, ANO.
 #
 #, fuzzy
 msgid ""
 msgstr ""
 Project-Id-Version: Versión do aplicativon"
 POT-Creation-Date: 1999-08-21 08:11+0200n"
 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONEn"
 Last-Translator: Último Tradutor <ultimo@tradutor.org>n"
 Language-Team: Lingua <enderezo@dogrupodetradución.org>n"
 MIME-Version: 1.0n"
 Content-Type: text/plain; charset=CHARSETn"
 Content-Transfer-Encoding: UTF-8n"

Aquí van datos xerais sobre a tradución, como se pode ver: autor,  datas, equipo de tradución, codificación, nome da aplicación … Todos os datos que non se verán na execución da aplicación. O resto do ficheiro consta de moitas entradas semellantes a esta:

 #: src/getopt.c:582 ''
 #, c-format ''
 msgid "%s: option %s' is ambiguousn" 
 msgstr ""

Cada unha destas entradas consta dunha mensaxe orixinal no msgid e un campo msgstr no que ti manualmente ou a través dunha aplicación de tradución meterás a correspóndente versión en galego da mensaxe. No noso caso quedaría:

 #: src/getopt.c:582
 #, c-format'
 msgid "%s: option %s' is ambiguousn"
 msgstr "%s: a opción %s' é ambiguan"

Que son eses caracteres especiais? Os caracteres coma %s, %1, %2 adoitan substituír un termo que a aplicación introducirá a modo de variábel de execución, e polo tanto se deixan como están. Tamén se presenta acotío o símbolo & intercalado nunha palabra. Este símbolo substitúe ao guión subíndice que se coloca nas entradas dos
menús das aplicacións debaixo dunha letra, para indicar o atallo de teclado correspondente (Ctrl+Letra) a esa entrada de menú. Polo tanto, unha palabra como «G&o» traduciríase como «&Ir» (véxase que se pode mudar a posición do & e polo tanto hai que coidar que nun mesmo menú non coincidan as letras dos atallos de teclado).

Escolle a aplicación e tradúcea

Unha vez se entra a formar parte do grupo de colaboradores dun dos subproxectos de Trasno (contacta con quen coordine o grupo que che interesa) xa estás listo/a para pórte a traducir unha aplicación (suponse que se ten feito xa unha asignación por parte do coordinador dun grupo). Tamén é posíbel que só che interese traducir algunha aplicación solta que non se inscriba en ningún dos grupos de tradución xa existentes. En calquera xeito, o que aquí se tenta explicar serve para calquera tipo de aplicación que admita a súa «internacionalización» polo
método Gettext (na maioría das aplicacións da actualidade úsase este estándar).

Se estás pensando en traducir unha aplicación dalgúns dos grupos de tradución como Gnome, KDE, FSF ou das distribucións, estes ficheiros xa se atopan na páxina correspondente a cada un deles para seren descargados. No caso de que desexes traducir unha aplicación non adscrita a estes apartados terás que descargar o seu código fonte: o ficheiro de texto onde se inclúen as mensaxes para seren traducidas adoita atoparse nos cartafoles Aplicación-v1.1/po/, coas extensións anteriormente ditas.

Supoñamos que xa temos descargado o ficheiro *.pot* (se é unha tradución nova) ou o ficheiro *.po (se se anova unha tradución ou se revisa). Neste suposto, hai que decantarse por dúas vías: facer a tradución manualmente con editor de textos ou usar unha aplicación específica como KBabel, GTranslator ou poEdit.

Recoméndase usar unha das últimas aplicacións porque, ademais de simplificar moito o proceso (máis comodidade) achegan funcións especiais (compilación, corrección ortográfica, xestor de catálogos) que posibilitan un uso máis avanzado que o que podería fornecer un editor de textos sinxelo.

Revisa, proba e manda a tradución

No caso de que se estea a empregar unha aplicación gráfica como KBabel ou GTranslator, non é preciso compilar o ficheiro *.po traducido e logo probar coa instalación da aplicación asociada, xa que KBabel e GTranslator fornecen unha serie de validacións que supervisan a validez do traballo feito: a verificación ortográfica (se se dispón de corrector ortográfico), a comprobación da sintaxe e outras comprobacións (aceleradores, puntuación, formas plurais, copias do inglés, mensaxes en branco …) que se poden executar, por exemplo no caso do KBabel, dende o menú Ferramentas e Validación. Unha vez feitas todas estas verificacións e corrixidos os posíbeis erros, xa se pode enviar o ficheiro *.po ao coordinador do grupo (se a aplicación está dentro dun dos proxectos de tradución) ou ao autor da aplicación (se a aplicación é independente).

Non obstante, tamén é posíbel facer unha compilación do ficheiro *.po para obter un ficheiro *.mo que se poderá usar para comprobar en tempo real (executando a aplicación) a validez da tradución. Isto recoméndase se existen dúbidas de interpretación, por exemplo, ou para acurtar oracións que destrúan as proporcións dos menús, entre outras cousas (tamén se queres ter inmediatamente a versión galega instalada no teu computador, sen agardar
á publicación). Para facer isto, has de ter instalado o paquete GNU Gettext. Nel inclúese a aplicación msgfmt, que é o que vas empregar. Seguindo coa suposición de que o paquete é o chamado ficheiro.po, para probar este paquete escribe a orde:

 msgfmt -vvv -c ficheiro.po -o /dev/null

Deste xeito, se hai algún fallo, dirache cal é, en que liña está, etc. Cando xa teñas probada a tradución, podes compilala, para instalala no teu computador e usala activamente. Para iso, executa estes dúas ordes (a segunda como root, a non ser que teñas configurado o teu computador de forma que o poidas evitar):

 msgfmt ficheiro.po -o ficheiro.mo
 mv ficheiro.mo /usr/share/locale/gl/LC_MESSAGES

Se o cartafol
/usr/share/locale/gl/LC_MESSAGES/
non existe, créao no teu computador. Despois, para emprega-lo novo ficheiro, escribe a orde:

 export LC_MESSAGES=gl_ES

Pódela poñer nos scripts de inicio do teu usuario (.bash_profile, .login, etc…), para non a ter que escribir cada vez que queiras emprega-la versión traducida.

Mantén anovada a tradución

As aplicacións están en continuo desenvolvemento, polo que as traducións non fican estáticas e precísase anovalas con asiduidade de xeito que se adapten ás novas funcionalidades que lle foran engadidas á aplicación. Para manter as túas traducións anovadas recoméndase empregar un repositorio local con todas as aplicación do grupo de tradución co que colabores (vai ás instrucións específicas de cada grupo para máis información) ou no seu canto descargar os ficheiros novos ficheiros *.pot de forma individual e manual. Se queres usar o repositorio, acude á axuda específica de cada grupo para aprender a configuralo e executar as anovacións cando che veña ben.

Se non podes usar o repositorio e precisas obter manualmente a nova versión ficheiro dende a rede, entón precisarás facer o seguinte:

Imaxina que tes o ficheiro traducido de nome ficheiro.po e desexas anovalo para adaptalo ás novas versións da aplicación. Descarga o ficheiro plantel ficheiro.potdende a páxina do grupo de tradución ou dende a páxina da aplicación se é unha aplicación allea a estes grupos. Queremos xerar un ficheiro que chamaremos ficheironovo.po que conterá a versión nova da aplicación pero que recicle, dentro do posíbel, as mensaxes antigas que xa tiveramos traducidas e sexan aínda aproveitabeis. Executaremos
entón:

 msgmerge  ficheiro.po ficheiro.pot -o ficheironov.po

Xerarase un ficheironovo.po que contén todas as mudanzas que se fixesen durante o desenvolvemento da aplicación dende a última tradución. Neste proceso inseriranse posibelmente novas mensaxes e, asemade, aparecerán unhas mensaxes antigas marcadas coa etiqueta fuzzy (confusas), o que significa que mudaron o
seu contido e polo tanto precísase revisar a tradución para adaptala de novo. O resto das mensaxes serán reutilizadas e non precisarán revisión.

Deixe unha resposta

O teu enderezo electrónico non se publicará Os campos obrigatorios están marcados con *

*

Este sitio emprega Akismet para reducir o spam. Aprende como se procesan os datos dos teus comentarios.