我的应用程序有一个localizable.strings文件,支持英语,法语和德语。我点击一个按钮时会弹出一个警报视图,这样我怎样才能使这个警报视图的语言与设备的语言相匹配设置为? 任何帮助将不胜感激。
答案 0 :(得分:14)
与应用中的任何其他本地化字符串一样,将UIAlertView
消息,标题和按钮标题本地化在Localizable.strings文件中。
见这个例子:
UIAlertView *alert2 = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Connection Error", nil) message:NSLocalizedString(@"Couldn't connect to the internet. Please check your network connection", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"Ok", nil) otherButtonTitles:nil, nil];
答案 1 :(得分:0)
检查语言的设备区域设置。
NSString *localeLang = [[NSLocale preferredLanguages] objectAtIndex:0];
这将返回该语言的代码...您可以在此搜索中找到使用哪些语言代码的列表:
http://www.google.com/search?client=safari&rls=en&q=ISO+639-1+codes&ie=UTF-8&oe=UTF-8
应该注意的是,某些语言 * 可能 * 有多个代码,我从未检查过,所以我不知道。
答案 2 :(得分:0)
对于Swift 2.0,请参阅此示例:
let alert = UIAlertController(
title: (NSLocalizedString("alert_Title" , comment: "Alert title.") as String),
message: "Your message here",
preferredStyle: .Alert)
alert.addAction(UIAlertAction(
title: (NSLocalizedString("alert_RateButton" , comment: "Alert button to rate in App Store.") as String),
style: .Default,
handler: { action in UIApplication.sharedApplication().openURL(NSURL(
string: "https://itunes.apple.com/your_app_at_app_store")!)
print("Going to App at AppStore")
}))
// DISMISS
alert.addAction(UIAlertAction(
title: (NSLocalizedString("alert_BackButton" , comment: "Alert back button.") as String),
style: .Default,
handler: nil))
presentViewController(
alert,
animated: true,
completion: nil)
}
享受。