1

是的,这是完全相反的问题:为什么人们使用简单的英语作为翻译占位符?

我一直使用标准的 gettext 方式进行翻译,但现在我正在做前端,我意识到不仅大多数库都在使用键/占位符,而且有时建议(参见i18next)而不是使用简单的英语。

我对占位符的工作不多,但我觉得这很困难,因为:

  • 您必须一直发明独特的占位符名称,您需要约定
  • 也许您想重用相同的占位符名称,因此您必须找到一个与您正在翻译的内容相匹配的现有名称
  • 将所有翻译都限定在每个模块范围内还是共享翻译更好?我不确定

根据 i18-next 的文档,建议使用占位符,因为:

虽然这可行并且可能会减少要加载的文件,但它会使翻译的管理变得更加困难,因为您需要更新对代码和 json 文件中的备用值的更改。

  1. 我不会使用简单的英语来减少要加载的文件数量。这显然是错误的。
  2. JSON?PO/POT 有什么问题?已经有很多工具可供翻译人员使用。
  3. 如果需要更改措辞,则应审查所有翻译,所以我想它会破坏旧翻译,这有点“好”,对吧?
  4. 对我来说,开发人员可以专注于正确翻译英文文本,让翻译人员正确翻译其他语言,这似乎更容易。
  5. 我真的不明白使用简单的英语有多难。一个现实生活中的例子会很棒。

我的猜测是这两种方法都有利有弊,但我看不到占位符的优点,所以我想了解一下。

4

1 回答 1

2

我认为这只能归结为先前的假设,即固定的占位符 id 意味着您以后可以在不破坏占位符与已完成外文翻译的连接的情况下对英语翻译字符串进行微调。

但是,我对你的看法是一样的——简单的英语更好,如果英语发生变化,那么当然也需要检查外文翻译是否也需要更新。

约定可能是错误的。

于 2018-11-10T06:59:58.450 回答