在纯QT4应用程序中使用KDE4本地化机制

时间:2009-01-08 13:56:22

标签: qt localization internationalization qt4 kde

我正在编写一个目前是纯QT4应用程序的应用程序。它旨在在Linux和Windows上干净利落地运行。

但是我计划将来将它整合到KDE中,这里出现了本地化/翻译的问题。

QT4使用自己的tr()/ tr()。arg()。arg()机制和.ts / .qm文件。 KDE4使用gettext和i18n / i18np机制和.po文件。

我可以轻松地在QT4应用程序中使用KDE4的机制,而无需现在将其与KDE紧密集成(显然在Windows上无法运行)?

是否可能?

谢谢!

2 个答案:

答案 0 :(得分:2)

从4.5版本开始,Qt将同时支持.po和.xliff;

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

答案 1 :(得分:0)

我认为你需要选择一个并使用它,如果它是一个跨平台的应用程序,我会选择QT的方法。原因是KDE用i18 *()宏包装它的国际化字符串而QT使用tr()宏,因为宏不能生成另一个宏,除非你的代码中有#ifdef,否则没有办法巨大的字符串表...两者都很糟糕。