如果我有一个CultureInfo
实例,是否有任何简单的方法 - 内置,通过框架或通过操作系统 - 获得匹配的"标志"图标匹配那种文化?这样可以避免创建单独的查找。
我无法找到成员函数来完成the documentation for CultureInfo
中的工作,但也许还有其他一些不太费力的方法涉及其他.NET类,我还没有找到
答案 0 :(得分:3)
没有。通过.NET框架或Windows操作系统,没有简单的内置方法可以获得匹配的标记"给定CultureInfo
实例的图标。
答案 1 :(得分:2)
正如@Peter Duniho所说,.NET Framework中没有内置方式。此外,CultureInfo表示区域设置,而标志代表国家/地区,并且在许多情况下两者不完全匹配。如果遇到一些用户,可能会引发外交问题。
无论如何,如果你想要一些简单的东西,你可能想要使用famfamfam's flag icons,它们已经按照ISO 3166-alpha1 2字母国家代码方便地命名,然后在给定语言环境的情况下将CultureInfo转换为RegionInfo,最后获得两个字母的ISO区域名称:
//wrong one
var roominventory = {};
var room_name = "something";
var item_name = "something item";
var item_description = "something description";
roominventory[room_name] = {item_name : item_description};
console.log(roominventory);
//correct way
var roominventory1 = {};
var room_name = "something";
var item_name = "something item";
var item_description = "something description";
var obj = {};
obj[item_name] = item_description;
roominventory1[room_name] = obj;
console.log(roominventory1);
最后,如果存在这样的文件,则显示它。请注意,您可以使用PNG版本,并且不同的语言可能会映射到同一个国家/地区(我在想瑞士,他们会说4种官方语言)。
答案 2 :(得分:1)
扩展亚历克斯的答案。获得ISO代码后,您可以使用这个简单的库从两个字符串中生成ImageSource
标志(来自famfamfam集):
https://github.com/drewnoakes/famfamfam-flags-wpf
它不是内置的,但它易于使用。
图像最终看起来像这样: