MonoTouch:设置“语言”时的CurrentCulture

时间:2012-11-05 22:09:47

标签: ios xamarin.ios currentculture

在iPhone上,当用户将语言设置为法语,将区域格式设置为美国时,CurrentCulture代表 en-US

只有当用户将地区格式设置为法国时才能获得 fr-FR ;

如果用户设置了 Langauge ,但未设置区域格式,如何确定语言?

enter image description here

2 个答案:

答案 0 :(得分:5)

您想查看NSLocale,例如NSLocale.CurrentLocale.Identifier获取en-US之类的字符串。这将为您提供iOS正在使用的完全值。

.NET和iOS都有相似但略有不同的API来获取这些值。仅使用iOS数据很难与.NET完全兼容(它不是一个完美的选择)。在某些情况下,例如RegionInfo,我们已经能够使用iOS提供的数据引导 .NET类。随着越来越多的功能可用,我们可能会在将来为其他类型做同样的事情。

答案 1 :(得分:0)

NSLocale.CurrentLocale提供区域格式,而不是语言。

要获取该语言,请改用NSLocale.PreferredLanguages[0]。对于所选语言,结果将是fren-US之类的字符串。

有关详细信息,请参阅Getting current device language in iOS?