是的,这是完全相反的问题:为什么人们使用简单的英语作为翻译占位符?
我一直使用标准的 gettext 方式进行翻译,但现在我正在做前端,我意识到不仅大多数库都在使用键/占位符,而且有时建议(参见i18next)而不是使用简单的英语。
我对占位符的工作不多,但我觉得这很困难,因为:
- 您必须一直发明独特的占位符名称,您需要约定
- 也许您想重用相同的占位符名称,因此您必须找到一个与您正在翻译的内容相匹配的现有名称
- 将所有翻译都限定在每个模块范围内还是共享翻译更好?我不确定
根据 i18-next 的文档,建议使用占位符,因为:
虽然这可行并且可能会减少要加载的文件,但它会使翻译的管理变得更加困难,因为您需要更新对代码和 json 文件中的备用值的更改。
- 我不会使用简单的英语来减少要加载的文件数量。这显然是错误的。
- JSON?PO/POT 有什么问题?已经有很多工具可供翻译人员使用。
- 如果需要更改措辞,则应审查所有翻译,所以我想它会破坏旧翻译,这有点“好”,对吧?
- 对我来说,开发人员可以专注于正确翻译英文文本,让翻译人员正确翻译其他语言,这似乎更容易。
- 我真的不明白使用简单的英语有多难。一个现实生活中的例子会很棒。
我的猜测是这两种方法都有利有弊,但我看不到占位符的优点,所以我想了解一下。