【问题标题】:Using language code (en) or full culture code (e.g. en-AU)?使用语言代码 (en) 还是完整的文化代码(例如 en-AU)?
【发布时间】:2013-02-13 21:01:37
【问题描述】:

我有一个国际化的 C#/WPF 应用程序(某些语言的资源字符串)。

目前我对资源文件使用以下代码:default.resx、de-DE、fr-FR、es-ES、pt-BR、pt-PT、nl-NL 等。

但我有一些问题:

  1. 例如对于 nl,有两种变体:nl-NL(荷兰)和 nl-BE。目前我使用 nl-NL,但我想如果来自比利时的人会得到默认文本,因为 nl-BE 没有定义。这是真的吗?

  2. 我应该使用 then nl 而不是 nl-NL?

  3. 对于某些语言,只定义了一个国家(例如 hu-HU)... 那么 hu 和 hu-HU 之间的区别是什么?我什么都不想,但我想确定。

【问题讨论】:

    标签: c# wpf localization internationalization


    【解决方案1】:

    资源搜索顺序有点复杂和灵活,参见 MSDN Packaging and Deploying Resources

    对于您的问题注释项目 5:如果它没有找到像 nl-NL 这样的特定文化,它会搜索父文化 (CultureInfo.Parent)。但是父文化不一定是没有国家的文化名称,例如对于zh-CN,它是zh-CHS。另外,可能还有祖父母文化等等……

    1. 是的
    2. 是的,但要小心选择正确的父文化名称。不要简单地砍掉这个国家
    3. 是的,这无关紧要,只是特定的加载速度可能会快一点。另一方面,你永远不知道未来是否会出现同一种语言的另一种特定文化。也许罗马尼亚的匈牙利少数民族拥有自己的 CultureInfo...

    【讨论】:

      【解决方案2】:

      是的,您通常希望在像“nl”这样的中立文化中提供资源,如果您无法为 nl-BE 和 nl-NL 本地化资源。如果特定文化不可用,资源管理器将自动回退到父文化。

      您的客户是否会对此感到满意,您稍后可能会发现。佛兰芒语和荷兰语非常相似,因此对于这种特定情况,不太可能让他们感到厌烦。巴西对葡萄牙的情况并不那么明确,他们已经有一段时间发展自己的方言,就像美式英语不再是英国式的不同颜色一样。 hu-HU vs hu没关系,选择hu-HU。

      背景信息is here.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-12
        • 2022-10-07
        • 2016-06-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多