【发布时间】:2013-03-13 21:14:28
【问题描述】:
我有兴趣让我的用户选择我的应用程序显示给他们的语言/区域设置。我已经知道如何加载正确的包,选择正确的字符串文件等。但是,我仍然有一些系统项目似乎无法控制。例如,切换控件。
我有什么方法可以告诉系统这个应用现在应该以特定语言运行,而不是用户当前的系统设置?
【问题讨论】:
-
哇-哇。
method_setImplementation(class_getInstanceMethod([NSLocale class], @selector(currentLocale)), (IMP)spoofedImpl);? -
有什么方法可以做到不打搅?
-
您是否尝试过为 NSLocale 创建一个类别以返回您为类方法选择的语言环境?
-
@MarcusAdams 这比方法调配更糟糕,因为类别上的覆盖方法具有未定义的行为
-
@Mike 成为 Apple 从事 UIKit 工作的软件开发人员,创建一个允许您执行此操作的秘密/私有方法,并将其放入 iOS 的下一个版本中。
标签: ios localization nsbundle