查看 Apple Developer Reference,我发现 PreferredLocalizations
与 PreferredLanguages
一样可用:
但是,NSBundle
中似乎没有实现“PreferredLocalizations”。我在这里错过了什么吗?我正在使用 MonoTouch.Foundation
最佳答案
你说得对,MonoTouch 目前没有它。获得它的最好和最快的方法是填写 bug report并要求它。
在许多情况下(如本例),很容易给出一种适用于现有 MonoTouch 版本的解决方法。
请注意,您的链接适用于 OSX,而不是 iOS和某些类型,包括 NSBundle
两者之间存在一些差异(但在 preferredLocalizations
的情况下,它存在于两个操作系统中)。
更新
我为下一个(将是 5.3.5)版本的 MonoTouch 添加了这个。同时,这里有一个解决方法:
using MonoTouch.ObjCRuntime;
...
var bh = NSBundle.MainBundle.Handle;
var sel = Selector.GetHandle ("preferredLocalizations");
var pl = NSArray.StringArrayFromHandle (Messaging.IntPtr_objc_msgSend (bh, sel));
Console.WriteLine (pl [0]); // en
关于ios - MonoTouch/iOS 上可用的首选本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10938950/