我的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文件中出现的所有上下文中搜索翻译?
答案 0 :(得分:0)
但你可以轻松找到背景!回想一下,QApplication
保留了所有顶级窗口小部件的列表,您可以轻松枚举子窗口小部件。 xml文件中的上下文似乎是对象或类名,所以它很容易使用它们。