我正在将现有应用移植到'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
答案 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;
}