Использование механизмов локализации KDE4 в чистом приложении QT4 - PullRequest
3 голосов
/ 08 января 2009

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

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

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

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

Это вообще возможно?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 08 января 2009

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

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

0 голосов
/ 08 января 2009

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

...