• 5352阅读
  • 3回复

汉化菜单问题 [复制链接]

上一主题 下一主题
离线taomic
 

只看楼主 倒序阅读 楼主  发表于: 2008-04-14
— 本帖被 XChinux 执行加亮操作(2008-04-14) —
我在Linux环境下用QT编一个主窗口界面,其它部分都汉化好了,就菜单汉化不了.我用的是Linguist.所有的字符串都已在linguist里翻译成功.菜单用到的类是QPopupMenu,主窗口继承QMainWindow; paint窗口继承QCustomMenuItem.(我用的QT2)
请问怎么解决这个问题啊?
离线owenbbkp

只看该作者 1楼 发表于: 2008-04-16
曾经的一些经验,不知道对你是否有用:

如果发现通过tr()函数没有得到正确的翻译串,应该如何来查找问题的所在?
--> 先去查该串有没有被lupdate提取到.ts文件中,如果没有的话应该检查运行lupdate时所指定的.pro文件。如果.ts文件中能找到该串的话,则进一步检查.ts文件中的context设置与调用tr()函数时的context是否一致,以及经过linguist处理后的.ts文件中,该串是否已经被真正的翻译。另外还可能有问题的地方是QTranslator是否读取到了正确的.qm文件。
离线taomic

只看该作者 2楼 发表于: 2008-04-18
虽然没有解决我的问题,但还是感谢你的回答.
我现在解决了一级菜单的汉化,但二级菜单仍没被汉化,请问是什么原因啊.
我程序结构:  (仅示意,无语法规则)

                        主类  Menu  子类化 QMainWindow
                        {
                                    QPopupMenu  firstmenu  =  QMenuBar->insertItem(firstmenu); //这是第一层菜单
                  firstmenu->insertItem(secondmenu);            //这是第二层菜单   
                            }

  我分别在main函数和主类中加入 :     
            QFont  font("unifont",16,50,FALSE,QFont::Unicode); 
                        setFont(font);
        加入后主窗口标题和第一层菜单被正常汉化.但二级菜单和三级菜单仍是英文.  现已确定
    translate.qm 文件已翻译完全,请问是什么原因. (另外再强调一遍,我用的是QT2)     
[ 此贴被taomic在2008-04-18 16:44重新编辑 ]
离线taomic

只看该作者 3楼 发表于: 2008-04-27
问题基本上算是解决啦. 我用fromUF8编码类型,然后用"/234/345/445"的形式表示汉字.就OK了
但找不出为什么qm文件不能翻译的原因找,可能是Linguist无法对应QPopupMenu的汉字吧.也不知道是为什么..
快速回复
限100 字节
 
上一个 下一个