我想设置一个平行文本的格式,使单词和句子在两种或更多种语言中对齐。我发现的大多数结构化文本格式都是基于XML的,并且被翻译工具或圣经软件所使用。我想找到或创造一种适合阅读外语文本的格式。读者将有能力选择单词,并在源语言或目标语言中看到它们的等价物。
我已经考虑过使用多维数组,其中包含按索引对齐的单词。但问题是,有许多词和短语没有一对一的映射。因此,我考虑使用关系数据库,例如SQLite。我可以为每种语言提供一个表,每个单词都按id索引,连接表用于对齐。但问题是如何表示标点符号、段落中断和其他必要的格式。
还有其他我没有想到的数据结构或格式吗?理想情况下,它将是一种平面文件,标记格式,以方便编辑。
发布于 2013-08-16 00:08:08
假设您有一个或多个文本文件,一个在语言A中,一个在语言B中,等等,后者是第一个的翻译。根据这一假设:
您可以在纯文本文件中标记单词、短语和/或标点符号周围的唯一编号标记,例如:“亲爱的先生,您今天过得怎么样?”翻译成德语:"Sehr geehrter先生,wie geht es dir heute?":
<Language-English:<11:<4:<1:Dear> <2:Sir><3:,>> <10:<7:<5:How are> <6:you>> <8:today><9:?>>>>
<Language-Deutsch:<11:<4:<1:Sehr geehrter> <2:Herr><3:,>> <10:<7:<5:wie geht> <6:es>> <8:dir heute><9:?>>>>
我的德语相当生疏,所以我的标签可能不太正确,但它们仍然应该显示我的想法。
正如你所看到的,整个句子及其各个部分都有自己的标记。当显示文本时,每个<n:
>
对都会被去掉,可以用下划线或其他形式的高亮显示来表示组。当然,可能有多个下划线/亮点(这个例子最多有四个)。当点击(并在视觉上强调) A语言文本上的突出显示时,相应的B语言(如果有其他语言)的突出显示也会被强调。
自然,人工翻译的工作很可能是完成标记,因为在这一点上自动化实际的翻译和应用标记是一项非常重要的任务。
然而,一个UI,其中的元素在每种语言中可以同时突出显示,然后标记为等效的,可以促进生成标记文件的过程。
至于您的其他考虑事项(数组和数据库),它们似乎有些过于复杂。你仍然需要以某种方式标记你的文本,这样它们才能被加载到这些结构中,因为一种语言中的单词甚至短语不一定有1:1的音译与另一种语言的等效音译),而且通常无法用机器轻松地翻译。一旦有了标记,讨论数组/字典/数据库/其他结构就变得有点不相关了,只会引起UI程序员的关注。
编辑:
进一步考虑,标记可能不是完全嵌套的,可能是拆分的,因此您可能需要一个<n:
:n>
标记对,以允许部分重叠和分割标记区域。例如:
<1:The:1> <2:black:2> <1:dog:1> <3:and <4:the dog:3>'s puppies:4>
有碎片:“狗”,“黑”,“和狗”,“狗的小狗”。
编辑2:
只要在所有语言中都有唯一的标记对ID,就可以支持多个文本:
EN: "The Knight's coat of arms was defaced"
DE: "Das Wappen des Ritters wurde verunstaltet"
FR: "Le blason du Chevalier a été abîmé"
<1:The Knight's:1> <2:coat of arms:2> <5:<3:was:3> <4:defaced:4>:5>.
<2:Das Wappen:2> <1:des Ritters:1> <3:wurde:3> <4:verunstaltet:4>.
<2:Le blason:2> <1:du Chevalier:1> <5:a été abîmé:5>.
如你所见,标签1、2、3和4适用于英语和德语,标签1、2和5适用于英语和法语。标签很容易被分割和部分重叠。
https://stackoverflow.com/questions/18101495
复制相似问题