Next: i18n en PersonalJava
Up: i18n en Qt/integrado
Previous: Unicode
  Contents
Traducción de aplicaciones
Qt provee herramientas y funciones para ayudar a los desarrolladores
a proveer aplicaciones en los lenguages nativos de sus clientes.
Para hacer a una cadena de caracteres traducible, simplemente se envuelve
en una llamada a la función tr() ( lee traducción )
-
- saveButton->setText( tr(''Save'') );
tr() intenta reemplazar la cadena de caracteres literal (ej:
``Save'' ) por su traducción, si es que esta se encuentra.
Por ejemplo, el Inglés puede ser usado como lenguaje fuente y el Chino
como lenguaje traducido ó viceversa. El argumento enviado a tr()
es convertido al Unicode de la codificación por defecto de la aplicación.
La sintaxis general de tr() es:
-
- Context::tr(``texto fuente'',''comentario'')
El contexto (``Context'') es el nombre de subclase de QObject.
Por lo general es omitido, y en tal caso la clase que contiene la
llamada a tr() es usado como el contexto. El ``texto
fuente'' es el texto a traducir. El ``comentario'' es
opcional; junto con el contexto, éste provee información adicional
para traducciones humanas.
Las traducciones son almacenadas en objetos QTranslator, archivos
.qm (Qt Message File) los cuales usan mapeo de memoria. Cada
archivo .qm contiene las traducciones para un lenguaje en particular.
El lenguaje puede ser cambiado al momento de la ejecución; cualesquier
diálogo creado usando Qt Designer puede retraducirse a si mismo al
correr sin ninguna provisión especial.
Qt provee tres herramientas para preparar archivos traducidos: lupdate,
Qt Linguistic y lrelease.
- lupdate extrae todo, los tres (contexto, texto fuente, comentario
) del código fuente, incluyendo archivos .ui creados con Qt
Designer, y genera un archivo .ts (Translation Source 6.30). El archivo .ts es leible por humanos.
- Los traductores usan Qt Linguistic para proveer traducciones del texto
fuente en el archivo .ts
- lrelease es la herramienta que genera archivos altamente
comprimidos .qm los cuales son usados en dispositivos integrados
como la Zaurus.
Next: i18n en PersonalJava
Up: i18n en Qt/integrado
Previous: Unicode
  Contents
Cancerbero
2005-02-25