首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt语言学家提供向可编辑的.ts文件添加新条目的能力吗?

Qt语言学家提供向可编辑的.ts文件添加新条目的能力吗?
EN

Stack Overflow用户
提问于 2010-11-09 14:11:43
回答 2查看 1.1K关注 0票数 2

我没有找到这样的方法--只是编辑到现有字段的翻译。

如果没有办法做到这一点

代码语言:javascript
复制
<message>
    <source>x</source>
    <translation>xx</translation>
</message>

块到我的.ts文件,我认为这不是正确的方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-09 14:30:22

不,这不是正确的方法:)在代码中使用tr()标记字符串以进行转换。例如

代码语言:javascript
复制
label->setText( tr("Error") );

为您的项目运行lupdate以将它们提取到.ts中。有关更多详细信息,请参阅这里。还是需要翻译源代码中没有的字符串?

票数 7
EN

Stack Overflow用户

发布于 2011-09-22 13:40:33

我刚刚编写了一个python脚本,用于使用.ts将新条目插入到本地语法分析器的ElementTree文件中。添加代码并不能使代码美观,但我认为它工作得很好(到目前为止):

代码语言:javascript
复制
from xml.etree import ElementTree as ET

tree = ET.parse(infile)
doc = tree.getroot()

for e in tree.getiterator()
  if e.tag == "context":
    for child in e.getchildren():
      if child.tag == "name" and child.text == target:
        elem = ET.SubElement(e, "message")
        src = ET.SubElement(elem, "source")
        src.text = newtext
        trans = ET.SubElement(elem, "translation")
        trans.text = "THE_TRANSLATION"

tree.write(outfile)

在infile是.ts文件的地方,outfile可能与infile相同,也可能不同。目标是要向其中添加新消息的上下文,而新文本当然是新的源文本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4134562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档