5. Que é i18n = internacionalización?
● 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)
Grupo de usuarios de GNU/Linux da Galiza
6. 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
7. A premisa
A xente (se pode) emprega
as aplicacións no seu idioma
Grupo de usuarios de GNU/Linux da Galiza
9. Gettext
● Definición
“gettext é a libraría de
internacionalización de GNU (i18n).
É amplamente empregada para
escribir programas multinguaxe.”
Grupo de usuarios de GNU/Linux da Galiza
10. Gettext
● A idea é:
● Simple pero á vez eficaz
● Ter unha ferramente consistente
Grupo de usuarios de GNU/Linux da Galiza
11. 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ón
xgettext, msgmerge & msgfmt
● cobertura multi-idioma real
plurais, polisemias
12. Gettext
● Como traballa?
1) Marcado de código
puts “Eu son unha cadea sen marcar”
puts _(“Pois eu si que estou marcada”)
Grupo de usuarios de GNU/Linux da Galiza
13. Gettext
● O Meollo
_(“ Eu son unha cadea marcada ”)
Grupo de usuarios de GNU/Linux da Galiza
14. Gettext
● 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)
Grupo de usuarios de GNU/Linux da Galiza
15. Ficheiros de Gettext
● 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
Grupo de usuarios de GNU/Linux da Galiza
16. Gettext
● Demo en arquivos
Botar unha ollada ós ficheiros anexos
17. Dificultades
● Formatos especiais
– %d %i %s
– <etiquetas> </etiquetas>
– referencias a imaxes
– formas plurais, etc...
Grupo de usuarios de GNU/Linux da Galiza
18. Gettext
● 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ó.
Grupo de usuarios de GNU/Linux da Galiza
19. Gettext
● 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.
Grupo de usuarios de GNU/Linux da Galiza
20. Gettext
● Os .mo (mofiles)
– propios de cada arquitectura (binarios)
– fonte de onde o programa en execución extrae
as cadeas
21. Gettext
● 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 € )
Grupo de usuarios de GNU/Linux da Galiza
22. Gettext
● Como sabe o idioma que falamos?
LC_NUMERIC
Números, que non moeda
LC_TIME
Formatos de data e hora
LC_MESSAGES
Formatos para as mensaxes informativas e
diagnóstico e tamén as mensaxes interactivas.
Grupo de usuarios de GNU/Linux da Galiza
23. Gettext
● 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).
Grupo de usuarios de GNU/Linux da Galiza
24. Gettext
● Cómo busca Gettext as traducións?
Emprega rutas predefinidas (xeralmente)
/usr/share/locale/NOME_LOCALE/APLICACION
ou
RUTA_APLICACION/locale/NOME_LOCALE/APLICACION
Grupo de usuarios de GNU/Linux da Galiza
28. 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
29. 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
30. 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
32. Que ferramentas se empregan
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
36. 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
37. 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
38. 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
39. 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
41. 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
42. 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