在本地化软件时,我应该使用唯一 ID 还是整个句子



我需要将一个网站翻译成几种语言,我已经阅读了如何做到这一点:

  1. 标记要翻译的字符串
  2. 生成消息文件
  3. 翻译消息文件

问题是,如果我使用整个句子作为消息 ID,例如英语,那么如果以后我决定修改文本,我将不得不在代码和每个消息文件中更改它。或者我可以只更改英文翻译,但随后我的英文消息文件看起来很奇怪,从英语到英语的翻译不匹配。例:

  • 原文:"我不知道该怎么办。
  • 翻译:"我不知道该怎么办。

另一种方法是使用唯一的消息 ID,例如:

  • 原文:《INDECISION_MESSAGE》
  • 翻译:"我不知道该怎么办。

优点是我可以在不更改 id 的情况下更改翻译,并且事情仍然是一致的。但是,翻译人员没有简单的方法可以知道消息应该是什么样子,因为除了查看代码之外没有上下文。

你会用什么?

在PHP中,人们通常使用你提到的第一种方法。在 ASP.NET 第二个。我认为这更多的是个人品味和您使用的框架的问题。

就个人而言,我更喜欢第二种选择。由于您通常已经在列表中的某个位置拥有 ID/翻译对,因此翻译人员可以只使用该列表进行翻译。

你使用什么框架?

最新更新