que estén hechas usando su API pueden internacionalizarse de forma bastante
fácil.
En primer lugar todas las cadenas de la aplicación deben sustituirse por llamadas
a la función tr.
QObject::tr("cadena");
La cadena que pasemos a la función tr servirá de índice para las cadenas
definitivas en los distintos idiomas.
Después se debe añadir una entrada en el fichero de proyecto (.pro) con los ficheros
que se deben generar para cada idioma de las traducciones, con extensión .ts.
TRANSLATIONS = en.ts es.ts
Los ficheros se generarán al ejecutar el comando:
lupdate proyecto.pro
Estos ficheros .ts se pueden editar con QT Linguist, una vez introducidas todas las
traducciones, se pueden exportar mediante la opción Release, esto generaráa
unos ficheros .qm.
Posteriormente hay que crear un fichero de recursos que contenga los ficheros .qm
de traducciones.
Para obtener el idioma del equipo en el que se está ejecutándo la aplicación se puede
hacer lo siguiente
QString locale = QLocale::system().name();
Para que las traducciones se carguen hay que instanciar la clase QTranslator y pasársela
a la aplicación.
QTranslator translator;
translator.load(locale, ":/");
a.installTranslator(&translator);
La ruta ":/" se refiere al prefijo introducido en el fichero de recursos.
Tras estos pasos las cadenas de la aplicación aparecerán traducidas dependiendo del idioma
del equipo en el que se esté ejecutándo.