Saltar ao contido

Gettext/Aspectos

En Galilibros, o Wikibooks en galego.
Gettext
← Volver a Conceptos Aspectos Seguir con Ficheiros


Para que unha distribución sexa completamente multilingüe, hai moitas cousas a traducir ademáis das mensaxes saíntes.

  • A día de hoxe, GNU gettext ofrece un xogo de ferramentas completo para a tradución de mensaxes saíndes de programas escritos en C. Os scripts en Perl e de consola tamén teñen que traducirse. Se ben hai algúns apaños grazas aos cales isto é posible, estes apaños non son tan bos como deberan.
  • Algunhas aplicacións, coma autoconf ou bison, son capaces de crear outros programas (ou scripts). Aínda que os programas que os xeneran están internacionalizados, os programas xerados que producen necesitarían internacionalización de seu, e esta internacionalización indirecta podería automatizarse dende o propio programa xerador.
  • Algunhas aplicacións inclúen táboas de texto que poderían necesitar tradución de seu, con independencia das cadeas que conteña o propio programa. Por exemplo, RFC 1345 fornece unha descrición en inglés para cada carácter que o programa de recodificación pode reconstruír na execución. Posto que estas descrición obtéñense do RFC con propósitos mecánicos, traducilas correctamente requeriría primeiro unha tradución do propio RFC.
  • Case todos os programas permiten opcións, que adoitan escribirse de xeito que resultan descriptivas para os anglofalantes. Poderíase considerar a posibilidade de ofrecer versións traducidas das opcións, ademais.
  • Moitos programas len, interpretan, compilan, ou dalgún xeito baséanse en ficheiros de entrada, textos que conteñen palabras clave, identificadores, ou respostas que son intrinsecamente traducibles. Por exemplo, poderiamos querer que gcc permitise caracteres alterados (con tiles, por exemplo) nos identificadores, ou usar palabras clave traducidas; rm -i podería aceptar máis opcións aparte de y e n como respostas (s como resposta afirmativa, por exemplo), etc. Mesmo no caso de que o programa faga a meirande parte das súas saídas na lingua na que se localizou, hai que decidir se a sintaxe de entrada, os valores das opcións, etc., vanse localizar ou non.
  • O manual que vai canda o paquete, así coma todos os ficheiros de documentación da distribución, tamén poderían ser perfectamente traducidos, por suposto. Traducir un manual, coa intención de mantelo ao día, é en si mesmo un gran compromiso, xeralmente.

Como xa se dixo, traducir é só un dos aspectos da localización. Outros aspectos da internacionalización son servizos do sistema e manéxaos GNU libc. Hai moitos atributos necesarios para definir as convencións culturais dun país. Estes atributos inclúen, xunto coa lingua nativa do país, o formato de data e hora, as representacións numéricas, os símbolos monetarios, etc. Estas regras locais son as chamadas locales do país. A locale representa o coñecemento necesario para dar soporte aos atributos nativos dun país.

Hai algunhas áreas principais que poderían variar dun país a outro e, por tanto, definen o que un locale debería describir. A lista que se amosa a continuación serve de axuda situando mensaxes multilingües no contexto axeitado doutras tarefas relativas aos locales.

Caracteres e codificación
A codificación máis utilizada nas zonas alglofalantes do mundo adoita ser a ASCII. Así e todo, hai moitos caracteres que varios locales precisan que non están presentes neste código. A codificación ISO 8859-1 de 8 bits conta coa meirande parte dos caracteres precisos para manexar as principais linguas europeas. Pero en moitos casos, elixir a ISO 8859-1 non é nin moito menos apropiado: nin tan sequera manexa as principais unidades monetarias de Europa. Por tanto, cada locale necesitará especificar a codificación que necesita usar, e necesitará as rutinas axeitadas de manexo de caracteres para soportar a codificación.
Unidades monetarias
Os símbolos monetarios varían dun país a outro, así como a súa posición. As aplicacións deben poder amosar de xeito transparente as representacións monetarias na forma nativa para cada locale.
Datas
O formato da data varía segundo o locale. Por exemplo, o Día das Letras Galegas do ano 2009 en Galicia escríbese 17/05/09, mentres que nos Estados Unidos se escribiría 05/17/09. Noutros países podería haber outras formas de escribir a mesma data.
A hora podería escribirse en formato hh:mm, hh.mm, etc. Algúns locales esixen que a hora se especifique en formato 24 horas, mentres que outros separan as 12 horas da mañá das 12 horas da tarde. Mesmo hai países que utilizan un calendario distinto ao noso.
Numbers
Os números poden representarse de xeito distinto en distintos locales. Por exemplo, o mesmo número escribiríase de distinto xeito en cada unha das seguintes linguas:
Galego:              12.345,67
Francés:              12345,67
Inglés:              12,345.67
Linguas asiáticas:   1,2345.67
Algunhas aplicacións poderían ir máis alá e utilizar distintos sistemas de unidades, coma unidades do sistema métrico decimal ou unidades estadounidenses.
Mensaxes
Dentro dun locale, a área máis evidente é a do soporte lingüístico. É aquí onde GNU gettext axuda aos desenvolvedores e usuarios a cambiar facilmente a lingua que a aplicación usa para comunicarse co usuario.

Os compoñentes do locale fóra do manexo de mensaxes están estandarizados no estándar ISO C e o POSIX:2001 (tamén coñecido como a especificación SUSV3). A biblioteca GNU libc implementa isto completamente, e a meirande parte dos demais sistemas modernos fornecen un soporte máis ou menos razonable para, polo menos, algúns dos restantes compoñentes.


Gettext
← Volver a Conceptos Aspectos Seguir con Ficheiros