• 8371阅读
  • 13回复

[提问]QT软件界面本地化bug求解 [复制链接]

上一主题 下一主题
离线5656284
 

只看楼主 倒序阅读 楼主  发表于: 2011-09-23



QT本地化疑問

大侠,小弟最近汉化一款软件发现原英文软件中下拉选单的英文全部汉化不了,我明明已经在QT creator中把那些英文翻译成对应的汉语了,但是依然不行。不知道为何缘故,其它菜单汉化基本没什么问题,稍后我截图给你看看。请帮忙看看,谢谢!!

我是用QT creator修改原tS文件之后用QT linguist输出QM文件的,TS中的翻译格式是source+Translat结构,大部分菜单都能翻译出来,但是小部分菜单和下拉选单怎么也翻译不了,对应的单词是有在TS文件中用QT creator添加相应中文翻译的。
下面的截图可以看的出,我怀疑是不是还缺什么翻译语法格式作引导,望指教,感谢不尽~~~~



我把ts文件複製出來了,只截取部份文件,但是结构和语法是完整的。麻烦高手帮忙看看对上面的问题有没有什么帮助,谢谢啦!!!

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="zh_CN">
<context>
    <name>EntityModel::EntityModelTr</name>
    <message>
        <source>Description</source>
        <translation>描述</translation>
    </message>
    <message>
        <source>Version Label</source>
        <translation>版本标签</translation>
    </message>
...
    <message>
        <source>Path</source>
        <translation>路径</translation>
    </message>
</context>
<context>
    <name>ChangeManager::FMChangeHistoryWidget</name>
    <message>
        <source>OK</source>
        <translation>确定</translation>
    </message>
    <message>
        <source>Enter Project Details.</source>
        <translation>输入项目细节</translation>
    </message>
...
    <message>
        <source>Project Name</source>
        <translation>项目名称</translation>
    </message>
</context>
<context>
    <name>EntityGUI::EditMenu</name>
    <message>
        <source>&Cut</source>
        <translation>&剪切</translation>
    </message>
    <message>
        <source>&Copy</source>
        <translation>&复制</translation>
    </message>
    <message>
        <source>&Edit</source>
        <translation>&编辑</translation>
    </message>
    <message>
        <source>&Find</source>
        <translation>&查找</translation>
    </message>
    <message>
        <source>&Redo</source>
        <translation>&重做</translation>
    </message>
</context>
<context>
    <name>IntegrationKit::EquipmentImportEquipmentMapPage</name>
    <message>
        <source>Save Map...</source>
        <translation>保存地图...</translation>
    </message>
    <message>
        <source>Load Map...</source>
        <translation>加载地图...</translation>
    </message>
    <message>
        <source>Map Equipment from file.</source>
        <translation>地图设备从文件</translation>
    </message>
</context>
...
</TS>
离线wxj120bw

只看该作者 1楼 发表于: 2011-09-24
回 楼主(5656284) 的帖子
确保在翻译文件中找到"Simplified Average" 还有加载qm文件是最新的吗?(只是猜测
离线5656284

只看该作者 2楼 发表于: 2011-09-26
不是,翻译文件中有汉化了。我怀疑是QT没有将英文源码所在的分类提取出来,所以导致即使加入中文翻译也无法识别英文源编码路径,也就不能成功翻译了。菜鸟的推测,请各位大侠指教!!!
离线roywillow

只看该作者 3楼 发表于: 2011-09-26
对了,这个ts是你用源码自己lupdate的还是用源码提供的?有没有尝试自己生成ts?另外加上 -no-obsolete参数去掉那些用不到的文本试试呢?会不会是冲突了之类的
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线5656284

只看该作者 4楼 发表于: 2011-09-27
TS文件是我在客戶端程序的france.qm(法語翻譯包)的基礎上用qt creator轉換成ts文件后翻譯的。
這個鏈接的一篇文章我覺得可能說到了重點:

http://www.eefocus.com/html/09-04/71493s.shtml

roywillow,幫我看看,好么?
离线浪漫天使
只看该作者 5楼 发表于: 2011-09-27
那些菜单的创建 会不会是根据配置文件创建的?
这样的话菜单的文字就有可能是来自配置文件的。
离线roywillow

只看该作者 6楼 发表于: 2011-09-27
LS的那种情况也是有可能的哦

那个链接中的东西……好复杂啊似乎……会有那么用的么……

qm不用转换成ts也能翻译啊?会不会是转换的问题?语言家可以直接打开qm文件的,之前我修正creator的qm文件就是这么干的
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线5656284

只看该作者 7楼 发表于: 2011-09-27
天使,你說的是下拉菜单吗?这个配置文件指的是什么呢?这么找到这个配置文件并翻译呢?

roywillow ,转换应该没有问题,有问题QT creator会有提示的。谢谢你一直热心的帮我参谋,呵呵!
离线roywillow

只看该作者 8楼 发表于: 2011-09-27
配置文件那就要看程序自己是怎么处理的了,程序可能往本地记录一些东西以便下次启动的时候使用
要不不进行转换,先直接修改一下qm中那些翻译无效的文本。如果成功的话,那就是转换出了点问题了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线5656284

只看该作者 9楼 发表于: 2011-09-28
现在是所有的下拉式选单都是英文而没有翻译出来,这个肯定不是翻译的问题了,而是翻译语法或结构异常。可能是缺了什么关于下拉菜单的引导翻译语句,这样怎么也翻译不了。不知道是不是这样?
离线roywillow

只看该作者 10楼 发表于: 2011-09-28
我……无力了……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线5656284

只看该作者 11楼 发表于: 2011-09-29
roywillow,有以下问题能不能帮我解答?
1.我已经安装了QT designer 4.7.4,那么怎样使用命令lupdate生成.ts文件?这个lupdate命令提取的要本地化的程序是安装后的文件还是安装包?
2.lupdate命令是不是还需要一个.pro的工程文件引导?这个.pro文件内容都一样吗?
离线roywillow

只看该作者 12楼 发表于: 2011-09-29
lupdate似乎与designer无关,只要保证pro文件中有TRANSLATIONS += XXX.ts类似的一句,给lupdate传递这个pro作为参数(具体参考文档),之后就会生成你需要的XXX.ts文件(最新的creator中调用外部工具中有这个了)
这个ts文件感觉应该是随意命名,只要保证最后生成的qm文件的文件名能区分开各个语言就可以
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线5656284

只看该作者 13楼 发表于: 2011-10-10
圣骑士,能发你的QQ给我吗,找个周末帮我远程看看我的这个问题,谢啦~~~~
快速回复
限100 字节
 
上一个 下一个