1:建立一个工具类
myTools
在.h中声明类方法
#define CURR_LANG ([[NSLocale preferredLanguages] objectAtIndex:0])
@interface myTools :NSObject
+ (NSString *)DPLocalizedString:(NSString *)translation_key;
+ (NSString *)DPLocalizedString:(NSString *)translation_key {
NSString * s = NSLocalizedString(translation_key, nil);
if (![CURR_LANGhasPrefix:@"en"] && ![CURR_LANGhasPrefix:@"zh"] && ![CURR_LANGhasPrefix:@"ko"]) {
NSString * path = [[NSBundlemainBundle] pathForResource:@"en"ofType:@"lproj"];
NSBundle * languageBundle = [NSBundlebundleWithPath:path];
s = [languageBundle localizedStringForKey:translation_keyvalue:@""table:nil];
}
return s;
}
#import "myTools.h"
#define MyLocalizedString(str,nil) [myTools DPLocalizedString:str]
接下来只要在国际化时候把系统的NSLocalizedString改成MyLocalizedString就可以了
本文介绍了如何在iOS应用中处理未适配的语言设置,通过创建一个工具类myTools,当用户的首选语言不是英语、中文或韩语时,自动回退到英语作为默认显示语言。该工具类利用NSBundle加载'en.lproj'资源文件来实现这一功能。

1612

被折叠的 条评论
为什么被折叠?



