如何枚举WinRT应用程序中可用的语言/文化资源?

时间:2013-07-08 16:04:52

标签: windows-runtime windows-store-apps

我正在将现有应用移植到'WinRT'平台。此应用程序搜索卫星资源DLL,以确定已本地化的语言。

我的WinRT应用程序中是否有可用枚举可用资源的语言的等效机制?

修改

仍在寻找如何做到这一点,但与此同时,我希望这些文章能帮助我更好地了解WinRT资源:

http://www.silverlightrecipes.com/2012/03/building-global-windows-8-metro-xaml.html http://www.silverlightrecipes.com/2012/04/building-global-windows-8-metro-xaml.html http://www.silverlightrecipes.com/2012/04/pri-files-deep-dive-building-global.html

2 个答案:

答案 0 :(得分:1)

您可以尝试Windows.Globalization.ApplicationLanguages.Languages

答案 1 :(得分:0)

以下是我为了搜索资源字符串的所有值而提出的问题,这些值由资源字符串的语言编制索引:

在我的情况下,' resourceKey'是这样的字符串:

string resourceKey = "Namespace/Resources/thekeyhere";

如果要检查,可以检索ResourceMap中的所有键。

    private static Dictionary<string, string> GetResourceValuesByLanguage(string resourceKey)
    {
        var languages = new Dictionary<string, string>();

        var markerResource = ResourceManager.Current.MainResourceMap[resourceKey];
        var candidates = markerResource.Candidates;

        foreach (var c in candidates)
        {
            var lq = c.Qualifiers.FirstOrDefault(q => q.QualifierName == "Language");
            if (lq != null)
                languages[lq.QualifierValue] = c.ValueAsString;
        }
        return languages;
    }