我的应用程序中有2种语言,英语和荷兰语,重点是我希望语言能够动态更改,让我们说按一下按钮。
有没有办法在不必在代码中编写NSLocalizedString(@"key",@"comment")
的情况下执行此操作?即:仅使用故事板,并以某种方式使故事板在点击按钮或其他东西时自动刷新。
非常感谢任何帮助。
答案 0 :(得分:3)
使用Singleton调用本地字符串。
首先设置语言类型按钮;
- (void)setLanguageType:(LanguageType)languageType {
if (_languageType != languageType) {
_languageType = languageType;
[self setBundleForName:bundleForType(languageType)];
//POST notification if necessary
}
}
- (void)setBundleForName:(NSString* )name {
NSString* path = [[ NSBundle mainBundle ] pathForResource:name ofType:@"lproj"];
_bundle = [NSBundle bundleWithPath:path];
}
然后, 通过localizedString获取字符串。
[[__class sharedInstance] localizedStringForKey:__key];
- (NSString* )localizedStringForKey:(NSString* )key {
return [_bundle localizedStringForKey:key value:nil table:nil];
}
如果您需要更多帮助,请给我留言。
答案 1 :(得分:2)
如果要创建自定义本地化系统。我们试试这个http://aggressive-mediocrity.blogspot.in/2010/03/custom-localization-system-for-your.html
答案 2 :(得分:0)
我最终使用这个link中的LocalizationSystem类来加载我需要的语言,我不得不通过代码绑定所有文本,我担心没有办法解决这个问题,如果您希望您的语言更改为应用内和实时!!
感谢大家的帮助。