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

时间:2013-09-11 19:38:20

标签: localization translation

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

  1. 标记要翻译的字符串
  2. 生成消息文件
  3. 翻译消息文件
  4. 问题是,如果我使用整个句子作为消息ID,例如英文,那么如果以后我决定修改文本,我将不得不在代码和每个消息文件中更改它。或者我可以改变英文翻译,但是我的英文消息文件看起来很奇怪,从英文到英文的翻译不匹配。 例如:

    • 原文:“我不知道该怎么做。”
    • 翻译:“我不知道该怎么办。”

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

    • 原文:“INDECISION_MESSAGE”
    • 翻译:“我不知道该怎么办。”

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

    你会用什么?

1 个答案:

答案 0 :(得分:0)

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

我个人更喜欢第二种选择。由于您通常已在列表中的某处具有ID /翻译对,因此翻译人员可以将该列表转换为。

您使用什么框架?