【问题标题】:Maintain wiki translation维护维基翻译
【发布时间】:2017-02-12 01:00:29
【问题描述】:

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

是这样的:

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

到目前为止,一切都很好。

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

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

  1. 文档翻译时的文件(英文)。
  2. 同一文件在同一时刻的文件(无论采用何种语言)。
  3. 我新修改的文​​件(英文)。

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

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

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

【问题讨论】:

  • 你需要一个版本控制系统!边界类似问题已回答here
  • 我没有想过那个解决方案,尽管我现在使用 CVS 做任何事情。我尝试过应用这个策略,但我不确定它是否有效:
  • $ mkdir doc $ cd doc
  • 好吧,看来我不能给 cmets 留下换行符,也不能回答我自己的问题。我尝试使用 Git 来解决这个问题,一个分支存储英文版本,第二个分支存储法语版本。但是'git format-patch fr..en'在英文版中确实显示了变化,但需要手动应用。
  • 好的,我一直在寻找一种棘手的方法……合并分支是一个非常简单的解决方案。我猜它确实在某种程度上执行了 diff3 。无论如何,我在一个分支上有英文版本,在另一个分支上有法语版本,我只需要合并到另一个分支来更新......并修复冲突!

标签: diff translation diff3


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多