我在项目中使用了SORelativeDateTransformer。
我本地化了我的项目(翻译了故事板并创建了Localizable.strings(我使用了NSLocalizedString)),那部分翻译完美。
问题是SORelativeDateTransformer使用它自己的SORelativeDateTransformer.strings(使用NSLocalizedStringFromTable), 它在demo中有效,但在我的项目中没有。
更新:发现我翻译成挪威本地化的一些标签保留了英文单词。 Oughh!
有什么想法吗?
答案 0 :(得分:1)
我知道这个问题已经很老了,但这是我用过的解决方案。有一种方法可以强制SORelativeDateTransformer根据您的偏好加载特定的本地化字符串。如果您进行手动安装而不是使用pod,则可以根据您的偏好编辑.m。例如,这是我在+(NSBundle *)捆绑方法
中实现它的方式+ (NSBundle *)bundle {
static NSBundle *bundle = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSString *systemLanguage = [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0];//you can use conditional statement after here to load a specific bundle since you now have you language codes here (e.g. 'en' for English, 'zh-Hans' for Chinese (Simplified) etc)
NSURL *url = [[NSBundle mainBundle] URLForResource:@"SORelativeDateTransformer" withExtension:@"bundle"];
bundle = [[NSBundle alloc] initWithURL:url];
NSString *path = [bundle pathForResource:systemLanguage ofType:@"lproj"];
bundle = [NSBundle bundleWithPath:path];
});
return bundle;
}
这应该可以解决问题。