Vim 图书翻译数据格式
我在考虑把一本书从英语翻译成我的母语。我可以翻译得很好,而且我很喜欢Vim 图书翻译数据格式,vim,nlp,translation,file-format,Vim,Nlp,Translation,File Format,我在考虑把一本书从英语翻译成我的母语。我可以翻译得很好,而且我很喜欢vim作为文本编辑器。我的问题是,我想以某种方式保留语义,也就是说,我翻译的哪些部分与原文相对应 我基本上可以创建一个简单的基于XML的标记语言 <book> <chapter> <paragraph> <sentence> <original>This is an example sentence.</original&g
vim
作为文本编辑器。我的问题是,我想以某种方式保留语义,也就是说,我翻译的哪些部分与原文相对应
我基本上可以创建一个简单的基于XML的标记语言
<book>
<chapter>
<paragraph>
<sentence>
<original>This is an example sentence.</original>
<translation lang="fi">Tämä on esimerkkilause.</translation>
</sentence>
</paragraph>
</chapter>
</book>
然而,这似乎不是很可靠。这很容易搞砸。也许有人有更好的想法。因此,问题是:
使用文本编辑器进行图书翻译的最佳数据格式是什么?
编辑:添加了tagvim
,因为我更喜欢使用vim,并且相信一些vim大师可能有一些想法
EDIT2:开始悬赏了。我目前倾向于我描述的第二个想法,但我希望得到一些同样容易编辑(并且非常容易实现)但更健壮的东西。假设您希望保持原始文本和翻译文本之间的1-1关系,那么数据库表最有意义 您将有一个包含以下列的表:
- id-Integer-Autonum
- 原始文本-文本-不为空
- 已翻译文本-文本-可空
- 这是适合整句话的行
- 第一个字符有效(空格、特殊字符、+或-)
- 它将相当紧凑
- 也许你不需要那些
部件@
- Vim将支持它,并将英语句子和芬兰语句子涂成不同的颜色
scrollbind
、cursorbind
和简单的垂直拆分将帮助您保持块“同步”。它看起来非常像vimdiff在默认情况下所做的事情。这些文件应该有相同数量的行,你甚至不需要切换窗口
但是,这并不是很完美,因为包裹的线条往往有点乱。如果你的翻译比原文多包含两到三行虚拟行,视觉关联就会消失,因为这些行不再是一对一了。我找不到解决方案或脚本来修复该行为
我建议的另一个建议是将译文与原文交错。这接近于Benoit建议的diff方法。在将原稿分割成块(每行一块)之后,我会在每行上预先添加一个>
或类似的内容。一个区块的翻译将以o
开始。该文件如下所示:
>> This is an example sentence.
Tämä on esimerkkilause.
>> In this format editing is easy.
Tässä muodossa muokkaaminen on helppoa.
我会通过做一个:match Comment/^>.$/
或类似的操作来增强可读性,只要你的配色方案看起来不错。可能值得编写一个:syn
区域来禁用原始文本的拼写检查。最后,作为一个细节,我将
绑定到2j
和
到2k
以允许在重要的部分之间轻松切换
后一种方法的优点还包括,如果您觉得像我一样,您可以将内容包装在80列中:)编写
在翻译之间跳转仍然很简单
缺点:缓冲区完成会受到影响,因为现在它完成了原始和翻译的单词。英语单词不希望经常出现在翻译中!:)但这是它得到的最强大的。完成后,一个简单的
grep
将剥离原始文本。这确实解决了问题,但似乎很麻烦:我必须使用编辑软件。编辑肯定不会是线性的:我肯定需要来回地编辑。你能提出一些实际的方法来实现这一点吗,以及我自己的建议带来的好处?在我看来,我几乎可以用Excel进行翻译……我还将从一大块文本开始,我希望将其拆分为更小的文本块会很容易(数据库不会自动如此)。@dancek:是的,您必须将原始文本拆分为多个部分。您可以在任何编辑器中进行编辑。您只需要几个GUI来输入原始文本和翻译文本。数据库表将文本片段保存在一起。如果愿意,可以在每个数据库行上放置多个句子。您可以使用任何从数据库表创建CRUD事务的软件来创建GUI。然后,我的工作流程将类似于:分割块、翻译、复制原件、粘贴到另一个窗口、复制翻译、粘贴到另一个窗口、将两者插入数据库。我想我可以使用pgAdmin的数据编辑器,它和Excel完全一样,这样可以避免我在窗口之间跳转。如果我事先把它分成/[^\n\.]+[\n\.]+/
的块,它是可行的(但没有那么灵活)。或者我会研究如何将Vim直接连接到db。请注意,我在问题中故意提到了文本编辑器。我需要一个可用的编辑界面。我愿意接受所有的建议(也不是基于文本编辑器的),只要它们不需要付出很大的努力来实现。我还需要做一些测试,看看结果如何。谢谢你的回答。scrollbind
/cursorbind
是一个好主意,但另一个解决方案似乎最稳健。我从DIFF风格的方法开始,但我仍在研究VS拆开版本(即使在中间也很容易改变)。
>> This is an example sentence.
Tämä on esimerkkilause.
>> In this format editing is easy.
Tässä muodossa muokkaaminen on helppoa.