0

我正在尝试在 wiki 上维护一个项目的多个翻译。wiki 不支持翻译,但我可以使用文本文件导入/导出。所以为了简单起见,让我们认为文档中的每个文件都是一个简单的文本文件。

它是这样的:

  1. 我用英文写维基文档。
  2. 我下载了它(希望有一个工具为我做这件事)。
  3. 新文件被复制到其他翻译的目录中(它是新的,所以还没有翻译)。
  4. 翻译者用他/她自己的语言翻译新的 wiki 页面。那时它还在磁盘上,仍然在一个 txt 文件中。
  5. 或者,翻译人员将新翻译的文件上传到网络上。

到现在为止还挺好。

  1. 我开发了一项新功能并修改了英文 wiki 页面。
  2. 我下载它。
  3. 我更新了翻译版本……等等,它已经存在了,我不能只写文件来删除翻译者在第 4 步所做的一切!

所以我想有一种方法来创建一个部分翻译的文件,该文件将考虑到:

  1. 文件翻译时的文件(英文)。
  2. 同一文件在同一时刻的文件(以任何语言)。
  3. 我新修改的文​​件(英文)。

它看起来像是 diff3 的一个很好的用例。但是 diff3 并不真正喜欢处理变化很大的文件。诚然,两个英文版本都可以比较,但翻译版本相差太大,处处产生冲突。

我的翻译方法可能有点奇怪,我试图寻找其他策略,但它已经淹没在商业替代方案中,如果我能提供帮助,这显然不是我的首选。

我希望我的解释是有帮助的。如果我可以指定更多,请不要犹豫。

4

1 回答 1

1

因此,就我而言,答案是使用像 Git 这样的 CVS,在不同的分支上有不同的翻译。

我将英文文件放在一个分支上,将法语翻译放在另一个分支上……用我的工具导出 Wiki 内容,一切顺利。下一步,当英文版本更新时,很简单:提交并合并到法文版本。如果 Git 知道它的工作(而且它经常这样做),它会创建一个有冲突的文件的新版本。翻译者必须解决它们,提交(对我来说,上传翻译)。瞧。下一次更新,下一次合并,下一次冲突,下一次上传。我一直在做一些更新,它似乎工作正常。当 Git 并不真正知道发生了什么变化时,它只是选择更多行来确定。有时它会失败,但是,嘿,这就是我们在那里的原因。

于 2016-10-18T03:47:40.070 回答