Estoy a punto de decidir cómo manejar la internacionalización de un formato basado en XML para la descripción de la IU.I18N de documentos XML
El formato normalmente se ve algo como esto:
...
<devif>
<screen id="scr1" title="Settings for this and that">
<header text="Climate readings"/>
<rd setp="123" text="Air temperature" unit="°C"/>
<rd setp="234" text="Humidity" unit="%RH"/>
<rd setp="345" text="CO2" unit="ppm"/>
<header text="Settings"/>
<wr setp="567" text="Air temperature demand" unit="°C"/>
</screen>
...
</devif>
Cada archivo contiene un montón de pantallas y puede ser de hasta unos 10.000 líneas, y tenemos una docena de estos archivos en nuestra aplicación.
Todavía puedo cambiar el formato para adaptarlo mejor a nuestras necesidades. Entonces, ¿cómo harías para traducir esto?
He estado pensando acerca de algunas posibles maneras de manejar esto:
- un archivo separado para cada idioma Inglés que contiene el texto y el texto traducido
- Utilizando un ID para cada etiqueta y usar un archivo separado con el texto traducido para cada ID
- la colocación de todas las traducciones en el mismo archivo
la primera solución tiene el problema en el que el texto Inglés podría traducirse en diferentes mensajes dependiendo del contexto.
La segunda solución hace que el archivo fuente sea menos legible (aunque no demasiado), y no maneja la traducción de atributos fácilmente.
La tercera solución haría que el archivo fuera muy grande y engorroso para trabajar una vez que el archivo se ha traducido a unos 5-6 idiomas.
Gracias por sus sugerencias. Las dos primeras sugerencias son bastante similares, excepto que la primera parece más XML: ish. Sin embargo, me gusta la simplicidad de la segunda sugerencia. – Jonatan