具有 1 个资源文件的 uwp 本地化,适用于一种语言的所有变体

uwp localization with 1 resource file for all variants of a language

我知道 uwp 中的本地化是如何工作的,我目前有 en-USes-es 资源文件。

我想问的是我可以只使用 1 个资源文件,即 en 吗,这会影响所有英语变体吗?像 en-usen-as 和所有其他人?然后是 Spanish 的 1 个文件,即:es 等等。

所有语言变体之间只有很少的差异,在我的应用程序中几乎可以忽略不计。我注意到我的应用程序的大部分用户仅来自 西班牙美国。我想那是因为我现在只支持这两种语言。所以我想支持西班牙语的所有变体和英语的所有变体,但只有 2 个文件,这行得通还是我需要为每个变体提供 1 个文件?

是的,您可以通过使用短语言名称来处理单个文件。在您的情况下,英语应为 Resources.en.resx,西班牙语应为 Resources.es.resx。您可以参考 here 语言标签。

首先尝试检查当前应用程序语言是否为任何英语变体(en-US、en-AS 等),如果是,则用您想要的语言覆盖它。

If ( CurretLanguage == "en-US" || CurrentLanguage == "en-AS" || ...) 
{
      Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = "en-US";
}