我想显示设备UI正在使用的当前语言.我会用什么代码?
我希望这是一个NSString完全拼写的格式.(不是@"en_US")
编辑:对于那些开车的人来说,这里有很多有用的评论,因为答案随着新的iOS版本的发展而演变.
在iPhone上NSLocalizedString返回iPhone 语言的字符串.是否可以强制NSLocalizedString使用特定语言使应用程序使用与设备不同的语言?
localization objective-c internationalization nslocalizedstring ios
有谁知道在Swift中获取用户时区的方法?
我正在从数据库中获取特定时间的某些东西,然后需要从它们所在的位置减去/添加它们以向它们显示正确的时间.
现在我知道苹果不推荐这个.
通常,您不应在应用程序中更改iOS系统语言(通过使用AppleLanguages pref键).这违反了在Settings应用程序中切换语言的基本iOS用户模型,并且还使用了未记录的首选项键,这意味着在将来的某个时候,键名可能会更改,这会破坏您的应用程序.
但是,这是一个应用程序,在运行中改变语言是有道理的,只要相信我.我也知道这里提出了这个问题:在运行iOS时,以编程方式动态更改语言.然而,这已经老了,我想知道是否有更新,更好或更简单的方法来做到这一点.目前在我的应用程序中,我有一个语言选择屏幕.单击此视图中的按钮可使用与该按钮关联的语言调用以下函数:
func changeLang(language: String) {
if language != (currentLang as! String?)! {
func handleCancel(alertView: UIAlertAction!)
{
}
var alert = UIAlertController(title: NSLocalizedString("language", comment: "Language"), message: NSLocalizedString("languageWarning", comment: "Warn User of Language Change Different Than Defaults"), preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler:handleCancel))
alert.addAction(UIAlertAction(title: "Yes", style: UIAlertActionStyle.Default, handler:{ (UIAlertAction) in
NSUserDefaults.standardUserDefaults().setObject([language], forKey: "AppleLanguages")
NSUserDefaults.standardUserDefaults().synchronize()
println(self.currentLang)
let alert = UIAlertView()
alert.title = NSLocalizedString("language", comment: "Sign In Failed")
alert.message = NSLocalizedString("languageChangeNotification", comment: "Notify of language change")
alert.addButtonWithTitle(NSLocalizedString("ok", comment: …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现可以更改应用程序语言的功能.
我试着像这样设置:
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("de", forKey: "AppleLanguages")
Run Code Online (Sandbox Code Playgroud)
应用程序重启后语言仍为"系统默认".
现在我通过设置测试不同的语言Scheme > Application Language > language.
但用户是否可以单击按钮并在重新启动后查看所选语言?
还有什么方法可以避免在重启时更改语言?
ios ×5
swift ×3
objective-c ×2
cocoa-touch ×1
ios8 ×1
iphone ×1
localization ×1
macos ×1
nslocale ×1
nstimezone ×1
xcode ×1