Использование механизмов локализации KDE4 в чистом приложении QT4

StackOverflow https://stackoverflow.com/questions/424307

Вопрос

Я пишу приложение, которое в настоящее время является чистым приложением QT4.Он предназначен для чистой работы как в Linux, так и в Windows.

Однако в будущем я планирую немного интегрировать его в KDE, и здесь возникают проблемы с локализацией / переводами.

QT4 использует свой собственный механизм tr()/tr().arg().arg() и файлы .ts/.qm.KDE4 использует gettext и механизм i18n / i18np, а также файлы .po.

Как я могу легко использовать механизм KDE4 в моем приложении QT4 без необходимости тесной интеграции его с KDE сейчас (по-видимому, делая его недоступным для запуска в Windows)?

Возможно ли это вообще?

Спасибо!

Это было полезно?

Решение

Начиная с версии 4.5, Qt будет поддерживать как .po, так и .xliff;

http://doc.trolltech.com/4.5/qt4-5-intro.html#qt-linguist-improvements

Другие советы

Я думаю, вам нужно будет просто выбрать одно и использовать его, если это кроссплатформенное приложение, я бы выбрал метод QT.Причина в том, что KDE обертывает свою интернационализированную строку макросами i18 * (), а QT использует макросы tr() , поскольку макрос не может создать другой макрос, нет никакого способа, если у вас нет #ifdef по всему вашему коду или массивной таблицы строк ... и то, и другое отстой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top