Tradución de Aplicacións Software Ceibe

44
Tradución de Aplicacións Software Ceibe Fran Diéguez Grupo de usuarios de GNU/Linux da Galiza

description

Relatorio feito na Xuventude Galiza Net sobre a Tradución de Aplicacións Software Ceibe, recursos, gettext e metodoloxía

Transcript of Tradución de Aplicacións Software Ceibe

Tradución de Aplicacións Software Ceibe

● Fran Diéguez● Grupo de usuarios de GNU/Linux da Galiza

Tradución

Grupo de usuarios de GNU/Linux da Galiza

Que imos ver?

● Un pouco de teoría

● Ciclo de tradución

● Ferramentas

● Recursos

Grupo de usuarios de GNU/Linux da Galiza

A temida teoría

Grupo de usuarios de GNU/Linux da Galiza

Que é i18n = internacionalización?

Grupo de usuarios de GNU/Linux da Galiza

● Preparar o software para ser empregado● Con textos “internacionais” ● En múltiples “locales” ● Texto traducido (dinámico e estático) ● Dirección do texto

● Formato de datas e números e moeda

● Afecta a

● Deseño ● Formatos

● Contidos (dependentes de culturas)

Pero por que é precisa a i18n?

● Motivos socio-culturais

● Acceso a aplicacións na propia língua

● Difusión de língua e cultura (importante na Galiza)

● Chegar a máis usuarios

● ...

Grupo de usuarios de GNU/Linux da Galiza

A premisa

A xente (se pode) emprega

as aplicacións no seu idioma

Grupo de usuarios de GNU/Linux da Galiza

Gettext

Gettext

Grupo de usuarios de GNU/Linux da Galiza

● Definición

“gettext é a libraría de internacionalización de GNU (i18n). É amplamente empregada para escribir programas multinguaxe.”

Gettext

Grupo de usuarios de GNU/Linux da Galiza

● A idea é:

● Simple pero á vez eficaz● Ter unha ferramente consistente

Gettext

● Vantaxes● extracción automática de cadeas do código fonte● xeración de ficheiros portables e eficientes en execución

po & mo

● ferramentas de xestiónxgettext, msgmerge & msgfmt

● cobertura multi-idioma realplurais, polisemias

Gettext

Grupo de usuarios de GNU/Linux da Galiza

● Como traballa?

1) Marcado de código

puts “Eu son unha cadea sen marcar”

puts _(“Pois eu si que estou marcada”)

Gettext

Grupo de usuarios de GNU/Linux da Galiza

● O Meollo

_(“Eu son unha cadea marcada”)

Gettext

Grupo de usuarios de GNU/Linux da Galiza

● Como traballa?

2) Extracción de cadeas

xgettext [OPCIÓN] [FICHEROENTRADA]...

Extrae as cadeas traducibles a partir dun grupo de fcheiros dados.

Xera .po (pofles)

Ficheiros de Gettext

Grupo de usuarios de GNU/Linux da Galiza

● Os .po (pofiles)

● Cabeceiras● Identificación do proxecto e idioma● Persoas que editaron o arquivo● Licenzas

● Configuración do arquivo● Idioma● URL do proxecto● Datas edición e creación● Último tradutor● Formas plurais● Outras

● Corpo● msgid● msgstr

Gettext

Botar unha ollada ós ficheiros anexos

● Demo en arquivos

Dificultades

● Formatos especiais

– %d %i %s

– <etiquetas> </etiquetas>

– referencias a imaxes

– formas plurais, etc...

Grupo de usuarios de GNU/Linux da Galiza

Gettext

Grupo de usuarios de GNU/Linux da Galiza

● Como traballa?

3) Fusión de arquivos de tradución

msgmerge [OPCIÓN] def.po ref.pot

Mistura/fusiona dous fcheiros .po de estilo Uniforum nun só.

Gettext

Grupo de usuarios de GNU/Linux da Galiza

● Como traballa?

3) Finalmente temos os mofiles

msgfmt [OPCIÓNS] fcheiro.po ...

Xera un catálogo binario de mensaxes a partir da descrición da tradución textual.

Gettext

● Os .mo (mofiles)

– propios de cada arquitectura (binarios)

– fonte de onde o programa en execución extrae

as cadeas

Gettext

Grupo de usuarios de GNU/Linux da Galiza

● Como sabe o idioma que falamos?

LC_CTYPE O sistema de caracteres e a conversión de maiúsculas (UTF-8, ...)LC_COLLATE A Colación do texto (diferencias Mai/min, ...)LC_MONETARY Formato da moeda ( $ 10.0, 10.0 € )

Gettext

Grupo de usuarios de GNU/Linux da Galiza

● Como sabe o idioma que falamos?

LC_NUMERIC Números, que non moedaLC_TIME Formatos de data e horaLC_MESSAGES Formatos para as mensaxes informativas e diagnóstico e tamén as mensaxes interactivas.

Gettext

Grupo de usuarios de GNU/Linux da Galiza

● Como calcula as traducións?

Segue unha xerarquía

● Se as variables de antes están configuradas e dispón dun mofile para dito “locale” emprégaas

● Se non ten un “locale” ou non están configuradas as variables recolle a cadea que está nas fontes do programa (sempre inglés).

Gettext

Grupo de usuarios de GNU/Linux da Galiza

● Cómo busca Gettext as traducións?

Emprega rutas predefinidas (xeralmente)

/usr/share/locale/NOME_LOCALE/APLICACION

ou

RUTA_APLICACION/locale/NOME_LOCALE/APLICACION

CAT (computer aided translation)

● Memorias de tradución

● Implementado nalgunhas ferramentas

kbabel, gtranslator, poedit

XLIFF

● Moito rebumbio na rede

● Baseado en XML

● Última revisión en febreiro de 2008

Grupo de usuarios de GNU/Linux da Galiza

Ciclo de Tradución

Grupo de usuarios de GNU/Linux da Galiza

Roles nos equipos de tradución

● Coordinador de tradución

– específico para un idioma ● (non sempre necesario, a non que haxa varios

tradutores)

– coordinación de tarefas entre os tradutores do seu idioma

– iniciación de novos tradutores

● Tradutores:

– traducen

Grupo de usuarios de GNU/Linux da Galiza

Ciclo de tradución

10 recoller última versión das cadeas

20 fusión cos que temos nós (msgmerge)

30 tradución

40 revisión (msgfmt)

50 envío da tradución

60 actualización e engadido de máis cadeas goto 10

70 goto random 10, 20, 30, 40, 50

Grupo de usuarios de GNU/Linux da Galiza

Recepción de traducións

● Coordinadores de tradución:

– reciben as traducións:● por correo:

– directamente ó seu enderezo de correo

– á lista de correo de tradución

● coma tarefa na lista de tarefas pendentes● por repositorio

– avisan de cambios (novas cadeas, etc)

● Colaboradores: reciben da mesma forma cós coordinadores e súbenas ó SVN

Grupo de usuarios de GNU/Linux da Galiza

Ferramentas

Que ferramentas se empregan

Grupo de usuarios de GNU/Linux da Galiza

A base sempre vai ser gettext

● Dous tipos● Apps Standalone

( Kbabel, poEdit, gtranslator)

● Plataformas Web( Pootle, entrans, rosetta ... )

Grupo de usuarios de GNU/Linux da Galiza

Aplicacións Standalone (Independentes)

Kbabel poEdit gtranslator

Grupo de usuarios de GNU/Linux da Galiza

Plataformas Web

Pootle Entrans Rosetta

pootle.wordforge.org launchpad.net/rosettaentrans.sourceforge.net

Recursos

Diccionarios e glosarios

● Mancomun

– http://corpus.mancomun.org/xestermos.php

– http://wiki.mancomun.org/index.php/Glosario

● Real Academia da Língua Galega

– http://www.edu.xunta.es/diccionarios/

● Trasno

– http://trasno.net/trasno:glosario

– http://trasno.net/trasno:recursosnaweb

● Universidade de Vigo

– http://sli.uvigo.es/CLIG/clig.html

Grupo de usuarios de GNU/Linux da Galiza

Roldas de correo

● Moi útiles: • Preguntar dúbidas• Procurar recursos• Procurar colaboración• Reparto de tarefas• Apoio moral...

Grupo de usuarios de GNU/Linux da Galiza

Proxectos de tradución ó galego (I)

● Mancomun

(Emprega entrans, tradutores de OO.org, Firefox e Thunderbird...)

● Proxecto Trasno

(aloxa tradución de diferentes tradutores)

● Ciberirmandades

(empregan entrans)

Grupo de usuarios de GNU/Linux da Galiza

Proxectos de tradución ó galego (II)

● LaunchPad

(proxecto de tradución de Ubuntu => Rosetta)● www.galego21.net

(Detido no tempo)● www.galego21.org

(desaparecido en combate despois de intentar substituir a galego21.net)

● Xente traducindo por libre

Grupo de usuarios de GNU/Linux da Galiza

Resumo

Conclusións (I)

● En canto á tradución, só necesitas 4 cousas:

– saber un pouco/moito inglés (podes apoiarte nas traducións doutros idiomas)

– un bo diccionario de inglés

– unha ferramenta

– e moita vontade :)

Grupo de usuarios de GNU/Linux da Galiza

Conclusións (II)

● Empregar guías de estilo e outros recursos proporcionados polos proxectos

● Coñecer o programa e o seu contexto

● Os rudimentos de SVN e CVS non fan mal

Grupo de usuarios de GNU/Linux da Galiza

Algo máis?

Grazas