将自定义语言添加到iOS应用程序
问题描述:
我需要在支持语言中添加自定义语言(iOS没有本地化)。用户可以在应用程序设置中选择所需的语言(内置屏幕,在设置应用程序中不可以)。我将它存储到NSUserDefaults
:将自定义语言添加到iOS应用程序
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"lv"] forKey:@"AppleLanguages"];
下一次,当应用程序启动时,它将使用所选语言加载。并且效果很好。
但是,这是一个'小'的问题。该应用程序需要重新启动。因此,我需要一种方法来退出应用程序。
我不希望添加到UIApplicationExitsOnSuspend
Info.plist
,因为通常用户不会切换语言,因此,我希望应用程序通常被切换到后台和恢复,当用户回来。
我知道,我不允许用exit()
杀死进程。因此,我想也许有可能在运行时设置UIApplicationExitsOnSuspend
?情景与此类似: 用户设置所需语言并进行确认。 该应用程序设置UIApplicationExitsOnSuspend
(或做类似的事情)。 该应用程序通过按主页按钮指示用户退出应用程序。
当然,我可以通过终止进程(转到主屏幕,双击主屏幕按钮,点击并按住应用程序图标,点击减号)来指示用户退出应用程序。但它看起来很复杂和烦人。
也许你有另一种建议,如何添加到应用程序切换语言的能力?
答
我已经通过实现我自己的字符串包实现了应用内语言切换。
源可以在这里找到:https://github.com/amjaliks/ObjCAdditions/tree/master/Source/Classes
只是显示一个UIAlertView中告诉用户终止该应用新语言生效。我知道这不是最好的。但它的工作。 – 2011-05-01 18:14:57
iOS 4.x上的应用程序非常不方便。 – 2011-05-03 17:12:23