双语文本的结构化格式?

时间:2013-08-07 10:51:40

标签: text data-structures format

我想格式化并行文本,以便单词和句子以两种或更多种语言对齐。我发现的大多数结构化文本格式都是基于XML的,并且被翻译工具或圣经软件使用。我想找到或创建一个适合阅读外语文本的格式。读者将能够选择单词并在源语言或目标语言中查看它们的等效词。

我考虑过使用多维数组,其中的单词按索引排列。但问题是,有许多单词和短语没有一对一的映射。那么我想到了使用关系数据库,比如SQLite。我可以为每种语言创建一个表,每个单词由id和连接表索引以进行对齐。但问题是如何表示标点符号,段落符号和其他必要的格式。

我还没有想到其他数据结构或格式吗?理想情况下,它将是一种平面文件,标记格式,以方便编辑。

1 个答案:

答案 0 :(得分:1)

据推测,你有一个或多个文本文件,一个在语言A中,一个在语言B中,后者是第一个的翻译。有了这个假设:

您可以在单词,短语和/或标点符号周围标记带有唯一编号标签的纯文本文件,例如:“亲爱的先生,您今天好吗?”翻译成德语变成:“Sehr geehrter Herr,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>标签对,以允许部分重叠和拆分标记区域。 E.g:

<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和&amp; 4适用于英语和德语,标签1,2和2适用于英语和德语。 5适用于英语和法语。标签可以很容易地分开并部分重叠。