ios - MonoTouch/iOS 上可用的首选本地化

标签 ios localization xamarin.ios nsbundle

查看 Apple Developer Reference,我发现 PreferredLocalizationsPreferredLanguages 一样可用:

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSBundle_Class/Reference/Reference.html

但是,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/

相关文章:

iphone - 如何在 UIScrollView 中绘制垂直线

macos - 操作系统 X : Can I localize the name of a folder/directory?

xamarin.ios - 在 MonoTouch MonoDevelop 中重命名 Controller 类

ios - 如何以编程方式在 iOS 应用程序中添加马拉雅拉姆字体(印度)

android - 如何更改动态Android应用程序的语言?

xamarin.ios - UIActivityIndi​​catorView.StartAnimating 重写 UIActivityIndi​​catorView.Hidden 绑定(bind)

ios - 无法在OSX 10.10上安装的Xamarin Studio中创建iOS项目

ios - 可选和非可选不能从返回可选的函数返回

ios - 转换为 swift 3 语法后,应用无法通过 Facebook 和 Firebase 进行身份验证

ios - ScrollView 未正确调整大小