开发基于iOS5的可可应用程序,如果本地化是英语的话,下面的比较工作正常,但如果本地化是韩语则会失败。
//title is of type NSString
if([title isEqualToString:NSLocalizedString(@"Power",@"Power")])
韩文标题和本地化字符串明显相同。
isEqualToString:
与韩语/ unicode字符串不匹配吗?
答案 0 :(得分:2)
只是一个猜测。
我认为它不适用于英语,但由于您使用的是NSLocalizedString()
中的英语单词,因此应用程序使用它们是默认值,这就是让您认为有效的原因。
问题应该在其他地方。
检查是否:
NSLog(@"localized power = %@",NSLocalizedString(@"Power",@"Power"));
返回韩语翻译。
答案 1 :(得分:2)
使用NSString的本地化比较方法可能会获得更好的结果:-localizedCaseInsensitiveCompare:
,-localizedCompare:
或-localizedStandardCompare:
。