3

我在我的项目中使用 SORelativeDateTransformer。

我本地化了我的项目(翻译了故事板并创建了 Localizable.strings(我使用了 NSLocalizedString)),这部分翻译得很完美。

问题是 SORelativeDateTransformer 使用它自己的 SORelativeDateTransformer.strings(使用 NSLocalizedStringFromTable),它在演示中有效,但在我的项目中无效。

Upd.:还发现我翻译成挪威语本地化的一些标签保留了英文单词。啊!

有任何想法吗?

4

1 回答 1

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;
}

这应该可以解决问题。

于 2016-08-04T15:10:40.367 回答