1

我正在使用包含本地化词汇文件的 SOAP 集成标准。基本上,任何文本字段都可以包含一个语言/国家代码。

<RoleName>
    <lang>en</lang>
    <text>Administrator</text>
</RoleName>

我们的一个合作伙伴只向我们发送“en”,但是随标准分发的默认词汇文件仅包括“en-US”、“en-CA”和“en-GB”。

我的直觉是我应该拒绝他们的请求,因为他们没有发送规范定义的可接受的语言代码,但他们坚持认为我们应该能够解析“en”,因为它是有效的代码并且我们有英语可用的词汇。

我是不是基于这个?最佳做法是什么?如果我们使用自己的默认值或其他方式拥有它,是否期望给定一个通用语言代码,我们应该自动解析为更具体的国家代码?

4

1 回答 1

1

该平台通常具有映射到每个中性文化的默认特定文化。例如,如果您使用的是 .NET,如果您传递“en”,CultureInfo.CreateSpecificCulture将为您提供“en-US”的 CultureInfo。换句话说,“en-US”是平台为“en”建立的默认值(“fr-FR”为“fr”,“es-ES”为“es”等)。

我相信在大多数情况下,如果您获得中性文化,让系统选择默认的特定文化是可以接受的。但是,如果文化对您的组件至关重要并且您更喜欢严格,那么您也可以要求您的文化标识符不能是中性文化,正如您所建议的那样。

于 2012-12-13T09:59:03.137 回答