我正在使用包含本地化词汇表文件的SOAP集成标准。基本上,任何文本字段都可以包含语言/国家/地区代码。
<RoleName>
<lang>en</lang>
<text>Administrator</text>
</RoleName>
我们的合作伙伴之一仅向我们发送“en”,但是与标准一起分发的默认词汇表文件仅包括“en-US”,“en-CA”和“en-GB”。
我的直觉是我应该拒绝他们的请求,因为他们没有发送规范定义的语言代码,但他们坚持认为我们应该能够解析“en”,因为它是一个有效的代码,我们有英语词汇表。
我是不是基于这个?什么是最佳做法?如果我们通过使用我们自己的默认值或某些东西,我们应该自动解决一个更具体的国家代码吗?
答案 0 :(得分:1)
平台通常具有映射到每个中性文化的默认特定文化。例如,如果您使用的是.NET,那么CultureInfo.CreateSpecificCulture会为您提供“en-US”的CultureInfo,如果您将其传递给“en”。换句话说,“en-US”是平台默认的“en”(“fr-FR”代表“fr”,“es-ES”代表“es”等)。
我相信在大多数情况下,如果您获得中性文化,让系统选择默认的特定文化是可以接受的。但是,如果文化对您的组件至关重要,并且您更愿意严格,那么您也可以要求您的文化标识符不能像您建议的那样是中性文化。