将代码与i18n混合,没有它

时间:2015-08-05 15:47:55

标签: localization internationalization translation gettext

我有一个正在运行的网站,我已经为我的客户做了。它有两种语言:英语和波兰语。代码中的文本是英文的,波兰语的翻译是通过标准的gettext完成的。​​

现在我的客户订购了另一个网站,其中可以重复使用第一个代码。然而,新网站更多地针对本地市场,并且将使用波兰语,很可能在将来翻译成英语。

当然,我用波兰语提供了新网站的所有文本,而且我没有因将其翻译成英文而获得报酬。

问题是:如果将新网站翻译成英文,我应该如何继续工作并节省我的努力?

最懒惰的做法是:

  1. 请勿触摸旧文本。
  2. 用波兰语撰写新文本,在代码中混合使用两种语言。
  3. 一旦英语翻译准备就绪,请在 .po 文件中翻译这些文件
  4. 这很简单但会造成可怕的混乱,并使最终的翻译变得更加困难(例如,准备德语的人必须翻译波兰语和英语)。

    当客户订购翻译时,有什么更好的方法可以避免手动更换所有新文本吗?

1 个答案:

答案 0 :(得分:0)

我相信你使用懒惰的方法并不是最好的方法:

  1. 请勿触摸旧文本。
  2. 不要用波兰语写新文本,而是使用一些占位符。让占位符最好地描述文本是什么,即 page_title
  3. 一旦英语翻译准备就绪,您可以在.po文件中翻译这些文件,但用英文文本替换占位符可能是有意义的。实际上,当你的.po文件有英文翻译时,这只是一个简单的脚本问题。
  4. 就是这样。当然,当您想要添加新语言时,这种方法可能会使事情变得有点棘手,特别是如果您还没有英语翻译。但是,我相信它仍然可以管理(虽然这取决于代码库的大小)。