qt5 多工程(app+dll)多语言国际化演示实例

一般我们都是app+dll方式,并且app和dll都可能引用同样的字符串。这个工程演示了如何架构多语言国际化的示例。

目前唯一不好的是同样的字符串需要翻译两次!shit!

架构:

/res
    en-US-app.qm
    en-US-dll.qm
/app
    app.pro
/dll
    dll.pro
strings.h

其中strings.h包含需要引用的文字:

#include <QObject>class Strings:public QObject
{
    Q_OBJECTpublic:
    #define STR_HELLO Strings::tr("你好")
    #define STR_HELLO2 Strings::tr("好不好")
 };

截屏:


LYJ博客


LYJ博客


代码下载:

https://download.csdn.net/download/lanmanck/52695145


========================================================

最新测试表明,把常用的字符做成一个工程,然后通过dll来导出这个字符串,这样不管以后多少个项目,共用同一个dll,而这些通用字符只需要翻译一次即可!类似:


class Strings
{
public:
enum{
    error,
    noerror,
    mystr
    };
QString getStr(int idx){
    switch(idx){
    case error:return tr("错误");
    case noerror:return tr("正确");
    }
};




本文为3YL原创,转载无需联系,但请注明来自labisart.com。

原创文章不易,如果觉得有帮助,可打赏或点击右侧广告支持:

查看打赏记录

发表评论请遵守党国法律!后台审核后方可显示!
  • 最新评论
  • 总共0条评论
  • Blog v1.1© 2022 labisart.com 版权所有 | 联系:labartwork@163.com