我需要帮助才能正确修改 xliff 单元。我的工作流程如下:
我的输入文件是一个 docx,第一步是从中提取一个 xliff 文件。我为此目的使用 tikal,我得到了一个 xliff 文件,其中有许多类似以下的跨单元(如您所见,tikal 使用相同的源文本自动填充目标):
xml <trans-unit id="tu3" xml:space="preserve"> <source xml:lang="it"><g id="1">Equazione di </g><x id="2"/><g id="3">Poisson</g><x id="4"/></source> <target xml:lang="en"><g id="1">Equazione di </g><x id="2"/><g id="3">Poisson</g><x id="4"/></target> </trans-unit>
然后我使用以下代码提取所有要翻译的字符串:
from translate.storage import lisa, xliff f=open(filename,"r") inputfile = str(f.read()) XliffFile = xliff.xlifffile.parsestring(inputfile) for transunit in XliffFile.units: print transunit.source
从跨单元源中提取要翻译的正确句子
Equazione di Poisson
我将句子发送到机器翻译服务器,然后返回翻译后的句子(泊松方程)
现在我遇到了麻烦......我没有找到一个简单的解决方案来用翻译的句子改变transunit中的目标。我试过了
In [50]: a.rich_target Out[50]: [<StringElem([<G(id="1" [u'Equazione di '])>, <X(id="2" [])>, <G(id="3" [u'Poisson'])>, <X(id="4" [])>])>] In [51]: a.target = "Poisson Equation"
但我得到:
In [52]: a.target Out[52]: u'Poisson EquationEquazione di Poisson' In [53]: a.rich_target Out[53]: [<StringElem([<StringElem([u'Poisson Equation'])>, <G(id="1" [u'Equazione di '])>, <X(id="2" [])>, <G(id="3" [u'Poisson'])>, <X(id="4" [])>])>]
这不是我想要的......关于如何获得正确目标的任何建议?谢谢