最近遇到需要在app里面设置语言的问题。默认使用系统设置的语言。如果用户在应用中设置了其他语言,以后界面将以新设置的语言显示。.所以,我写了一个新的wheelSOLocalization,希望大家喜欢,其实代码很简单,有兴趣的可以直接阅读源码,有补充的可以直接提交pullrequest大部头书。1.创建本地化文件。创建一个本地化的字符串文件。文件名可以是默认的infoPlist.strings或其他名称。设置此文件支持的语言和内容。2.导入SOLocalization。3.配置SOLocalization。设置支持的语言和默认语言。当系统设置的语言不是支持的语言时,将使用默认语言。[SOLocalizationconfigSupportRegions:@[SOLocalizationEnglish,SOLocalizationSimplifiedChinese]fallbackRegion:SOLocalizationEnglish];4.设置UIKit对象。为UIKit对象设置合适的属性就这么简单,这样设置后,当语言切换时,这些UIKit对象的文本内容会自动更改为新设置的语言,无需任何额外处理。UIBarButtonItem*change=[[UIBarButtonItemalloc]initWithTitle:@""style:UIBarButtonItemStylePlaintarget:selfaction:@selector(changeLanguage:)];//这里的@"Setting"是strings文件中对应的key,同change.sol_title=@"Setting";self.navigationItem.rightBarButtonItem=change;self.label.sol_text=@"label";[self.buttonsol_setTitle:@"button"forState:UIControlStateNormal];self.textField.sol_placeholder=@"textFieldplaceholder";自我.navigationItem.sol_title=@“标题”;对于不支持切换语言后自动修改文本内容的UIKit对象的SOLocalization,可以通过这种方式获取需要的本地化字符串://其中“title”为strings文件中对应的key,“infoPlist”为本地化字符串文件名NSString*localizedString=SOLocalizedStringFromTable(@"title",@"infoPlist");5.修改应用中使用的语言//touseEnglish[SOLocalizationsharedLocalization].region=SOLocalizationEnglish;//touseSimplifiedChinese[SOLocalizationsharedLocalization].region=SOLocalizationSimplifiedChinese;6.SOLocalization提供的API默认使用自定义本地化字符串文件名该文件的本地化字符串文件名为infoPlist.strings。如果使用其他文件名(例如使用这个文件名:local.strings),可以如下://ForsupportedUIKitobjectslabel.sol_table=@"local";//当使用SOLocalizedStringFromTable时NSString*localizedString=SOLocalizedStringFromTable(@"title",@"local");
