Utilizzo dei meccanismi di localizzazione di KDE4 in un'applicazione QT4 pura
-
05-07-2019 - |
Domanda
Sto scrivendo un'applicazione che al momento è un'app QT4 pura. È progettato per funzionare in modo pulito sia su Linux che su Windows.
Comunque ho intenzione di integrarlo un po 'in KDE in futuro e qui arrivano i problemi con la localizzazione / traduzioni.
QT4 usa il proprio meccanismo tr () / tr (). arg (). arg () e file .ts / .qm. KDE4 usa il meccanismo gettext e i18n / i18np e i file .po.
Come, facilmente, posso usare il meccanismo di KDE4 nella mia applicazione QT4 senza doverlo integrare da vicino con KDE ora (apparentemente rendendolo non eseguibile su Windows)?
È possibile?
Grazie!
Soluzione
A partire dalla versione 4.5, Qt supporterà sia .po che .xliff;
http://doc.trolltech.com /4.5/qt4-5-intro.html#qt-linguist-improvements
Altri suggerimenti
Penso che dovrai sceglierne uno e utilizzarlo, se si tratta di un'app multipiattaforma, sceglierei il metodo QT. Il motivo è che KDE racchiude la sua stringa internazionalizzata con macro i18 * () e QT usa macro tr (), poiché una macro non può produrre un'altra macro, non c'è modo se non hai # ifdef in tutto il tuo codice, o un enorme tabella di stringhe ... che fanno entrambi schifo.