【发布时间】:2021-05-13 03:43:12
【问题描述】:
我正在使用 BeautifulSoup 和 googletrans 包翻译 Xliff 文件。我设法提取所有字符串并翻译它们,并设法通过使用翻译创建新标签来替换字符串,例如
<trans-unit id="100890::53706_004">
<source>Continue in store</source>
<target>Kontynuuj w sklepie</target>
</trans-unit>
当源标签内部有其他标签时,就会出现问题。
例如
<source><x ctype="x-htmltag" equiv-text="<b>" id="html_tag_191"/>Choose your product\
<x ctype="x-htmltag" equiv-text="</b>" id="html_tag_192"/>From a list: </source>
这些标签的数量不同,字符串出现的顺序也不同。例如。 <source> text1 <x /> <x/> text2 <x/> text3 </source>。每个 x 标签都是唯一的,具有不同的 id 和属性。
有没有办法修改标签内的文本而无需创建新标签? 我在想我可以提取 x 标签及其属性,但是不同代码行中的顺序或字符串和 x 标签有很大不同,我不知道该怎么做。 也许还有其他更适合翻译 xliff 文件的软件包?
【问题讨论】:
-
有问题添加此
<source>的预期结果。使用 BeautifulSoup,您可能必须使用for-loop 或list()让所有孩子进入<source>并与他们一起工作。 -
你能不能edit这个问题来显示你想要给定源的输出
-
有许多工具(大部分是商业的,有些是免费的)使 XLIFF 翻译变得轻而易举。尝试搜索“CAT 工具”。
标签: python beautifulsoup translation xliff