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

Localization 本地化软件时,我应该使用唯一ID还是整个句子?,localization,translation,Localization,Translation,我需要将一个网站翻译成几种语言,我已经阅读了如何做到这一点: 标记要翻译的字符串 生成消息文件 翻译消息文件 问题是,如果我使用完整的句子作为消息ID,例如英语,那么如果以后我决定修改文本,我必须在代码和每个消息文件中更改它。或者我可以更改英文翻译,但是我的英文邮件文件看起来会很奇怪,从英文到英文的翻译不匹配。 例如: 原文:“我不知道该怎么办。” 翻译:“我不知道该怎么办。” 另一种方法是使用唯一的消息ID,例如: 原文:“犹豫不决信息” 翻译:“我不知道该怎么办。” 优点是我可以在不

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

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

    • 原文:“我不知道该怎么办。”
    • 翻译:“我不知道该怎么办。”
    另一种方法是使用唯一的消息ID,例如:

    • 原文:“犹豫不决信息”
    • 翻译:“我不知道该怎么办。”
    优点是我可以在不更改id的情况下更改翻译,并且事情仍然是一致的。但是,对于翻译人员来说,要知道消息应该是什么样子并不容易,因为除了查看代码之外,没有上下文


    您会使用什么?

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

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


    您使用什么框架?

    为什么要从英语->英语进行翻译?通常,每种语言都有一个键/值表。这些键在tables.Django中是一致的。我一直在思考第二种选择的缺点,我想知道你是如何处理的,就是思考ID所浪费的时间,以及代码是否更难用ID而不是文本来阅读…我认为这是个人的。没有所有文本,代码更清晰。但你也有较少的上下文。