iOS 对未适配语言设置默认语言

1:建立一个工具类

 myTools

在.h中声明类方法

#define CURR_LANG  ([[NSLocale preferredLanguages] objectAtIndex:0])


@interface myTools :NSObject


+ (NSString *)DPLocalizedString:(NSString *)translation_key;


在.m中实现方法

+ (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;

}

这里我适配了中英韩三种语言。所以判断如果首选语言不是其中之一的话设置为英语

在PCH文件中 导入工具类并且宏定义方法

#import "myTools.h"



#define MyLocalizedString(str,nil) [myTools DPLocalizedString:str]


接下来只要在国际化时候把系统的NSLocalizedString改成MyLocalizedString就可以了

你可能感兴趣的:(iOS,适配,国际化)