0

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

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

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

4

1 回答 1

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>对标签,以允许部分重叠和拆分标签区域。例如:

<1:The:1> <2:black:2> <1:dog:1> <3:and <4:the dog:3>'s puppies:4>

有片段:“The dog”、“black”、“and the dog”和“the dog's puppies”。

编辑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 适用于英语和法语。标签很容易被拆分和部分重叠。

于 2013-08-16T00:08:08.873 回答