qt翻译所有上下文中的搜索

时间:2018-03-30 13:32:36

标签: c++ qt

我的ts文件中有两个上下文。

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="zh_CN">
<context>
<name>qSlicerMainWindow</name>
<message>
    <source>&File</source>
    <translation>文件</translation>
</message>
<message>
    <source>&Edit</source>
    <translation>编辑</translation>
</message>
<message>
    <source>Feedback</source>
    <translation>反馈</translation>
</message>
<message>
    <source>Import Scene</source>
    <translation>导入场景</translation>
</message>
<message>
    <source>Add Data</source>
    <translation>添加数据</translation>
</message>
</context>
<context>
     <name>Endoscopy</name>
     <message>
     <source>Endoscopy</source>
     <translation>内窥镜</translation>
     </message>
</context>
<context>
     <name>EndoscopyWidget</name>
     <message>
     <source>Path</source>
     <translation>路径</translation>
     </message>
     <message>
     <source>Camera</source>
     <translation>相机(Camera)</translation>
     </message>
     <message>
     <source>Input Fiducials</source>
     <translation>输入参考点(Input Fiducials)</translation>
     </message>
</context>
</TS>

QApplication :: translate()需要上下文作为参数,QObject :: tr()在全局上下文中搜索文本。

我只有源文本,它可以来自任何一个上下文。

有没有办法在ts文件中出现的所有上下文中搜索翻译?

1 个答案:

答案 0 :(得分:0)

但你可以轻松找到背景!回想一下,QApplication保留了所有顶级窗口小部件的列表,您可以轻松枚举子窗口小部件。 xml文件中的上下文似乎是对象或类名,所以它很容易使用它们。