【问题标题】:WPF Localization Language GroupsWPF 本地化语言组
【发布时间】:2020-02-03 14:55:59
【问题描述】:

我有一个使用 .resx 文件的标准 WPF 本地化应用程序。目前我支持 en-US(默认)en-AU、es 和 zh-CN。

我是否需要为每种语言创建一个单独的 resx 文件,或者有什么方法可以对它们进行分组?例如,我想区域 id 为 en-GB 的人会更喜欢 en-AU 而不是 en-US。或者 zh-TW 肯定更喜欢 zn-CN 而不是 en-US。我当然可以只复制文件,但有更简单的方法吗?

【问题讨论】:

    标签: wpf localization


    【解决方案1】:

    您需要为每种语言创建一个单独的 resx 文件,并且每个文件必须具有相同的键。将自动选择匹配的 resx 文件。 如果您也想知道,也可以有一个默认的 resx 文件。

    【讨论】:

      【解决方案2】:

      这个问题有点晚了,但我刚刚找到它,所以我不妨给出一个答案。

      我想有两种选择,具体取决于您的需要:

      如果没有定义特定的 en-GB 资源文件,您可以定义 en-GB 用户将回退到的“Resources.en.resx”。 en-GB 用户将尝试按以下顺序查找资源:

      1. Resources.en-GB.resx
      2. Resources.en.resx
      3. Resources.resx

      这适用于每个资源条目。您可以在 Resources.en.resx 中定义所有常见的“en”资源,而只需在 Resources.en-AU 中定义差异,因此您不必复制粘贴所有资源。

      您也可以根据语言代码手动设置文化:如果用户是 en-GB,您可以将文化设置为 en-AU:

      CultureInfo userCulture = CultureInfo.InstalledUICulture;
      if(userCulture.Name == "en-AU") // do what you want
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-10-14
        • 1970-01-01
        • 2017-05-26
        • 2018-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多