• 3072阅读
  • 5回复

右键菜单的i18n [复制链接]

上一主题 下一主题
离线yearl
 

只看楼主 倒序阅读 楼主  发表于: 2013-05-17
一直没有用到i18n,最近出现了这样的需求,但是搞不定了。
系统的右键菜单怎么实现i18n?
load了系统的zh_CN.qm自己的就不能用了。
能同时load两个.qm吗?
离线jdwx

只看该作者 1楼 发表于: 2013-05-17
回 楼主(yearl) 的帖子
可以load两个qm,用两个QTranslator每个加载一个qm。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线ppdayz

只看该作者 2楼 发表于: 2013-05-17
回 楼主(yearl) 的帖子
    QTranslator qtTranslator;
    QTranslator qtSlef;

    qtTranslator.load("translations/i18n_zh.qm");
    app.installTranslator(&qtTranslator);
    qtSlef.load("translations/qt_zh_CN.qm");
    app.installTranslator(&qtSlef);
离线roywillow

只看该作者 3楼 发表于: 2013-05-17
translator可以添加多个,同一文本的不同语言翻译,以后添加的那个为准
但是添加或改变translator似乎并不会自动改变界面语言,你还需要把所有文版都重新设置一遍。如果是设计师制作的界面,它直接提供了reTranslate函数可供调用
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线yearl

只看该作者 4楼 发表于: 2013-05-17
以后添加的为准?
那岂不是只有一个起作用了?
离线roywillow

只看该作者 5楼 发表于: 2013-05-17
回 4楼(yearl) 的帖子
如果两个qm是不同字符串的翻译的话,那可以同时起效,比如qt自己的翻译和自己程序的翻译可以同时起效,但是简体中文和繁体中文的qt翻译不可能同时生效
所以如果想动态改变界面文本,就要用哪个就加载哪个,再重新设置界面文本
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个