2016年12月1日 星期四

讓NSLocalizedString自動讀Base.lproj

#ifndef L
#define L(key) [NSBundle.mainBundle localizedStringForKey:(key)]
#endif
@interface NSBundle (NSLocalizedString_Base)
- (NSString *)localizedStringForKey:(NSString *)key;
@end
@implementation NSBundle (NSLocalizedString_Base)
- (NSString *)localizedStringForKey:(NSString *)key {
NSString * s = [self localizedStringForKey:key value:@"" table:nil];
if ([s isEqualToString:key]) {
NSString * path = [[NSBundle mainBundle] pathForResource:@"Base" ofType:@"lproj"];
NSBundle * languageBundle = [NSBundle bundleWithPath:path];
s = [languageBundle localizedStringForKey:key value:@"" table:nil];
}
if (s == nil) {
s = key;
}
return s;
}
@end

沒有留言: