Usando los mecanismos de localización de KDE4 en la aplicación QT4 pura
-
05-07-2019 - |
Pregunta
Estoy escribiendo una aplicación que actualmente es una aplicación QT4 pura. Está diseñado para ejecutarse limpiamente tanto en Linux como en Windows.
Sin embargo, planeo integrarlo un poco en KDE en el futuro y aquí vienen los problemas con la localización / traducciones.
QT4 utiliza su propio mecanismo tr () / tr (). arg (). arg () y archivos .ts / .qm. KDE4 usa gettext y el mecanismo i18n / i18np y los archivos .po.
¿Cómo, fácilmente, puedo usar el mecanismo de KDE4 en mi aplicación QT4 sin tener que integrarlo estrechamente con KDE ahora (aparentemente haciéndolo no ejecutable en Windows)?
¿Es posible?
¡Gracias!
Solución
A partir de la versión 4.5, Qt admitirá tanto .po como .xliff;
http://doc.trolltech.com /4.5/qt4-5-intro.html#qt-linguist-improvements
Otros consejos
Creo que solo tendrás que elegir uno e ir con él. Si se trata de una aplicación multiplataforma, elegiría el método de QT. La razón por la que KDE envuelve su cadena internacionalizada con macros i18 * () y QT usa macros tr (), ya que una macro no puede producir otra macro, no hay forma a menos que tenga # ifdef en todo su código, o una tabla de cadenas masivas ... las cuales apestan.