iOS开发 语言本地化和手动切换语言

2025-05-15 05:26:49

1、创建工程项目和视图控制器 创建一个single view工程项目,自动创建一个ViewController试图控制器。

iOS开发 语言本地化和手动切换语言

2、配置项目本地化支持简体中文和英文 工程-PROJECT-info->Localizations,点“+”,选择(Chinese(Simplified))添加简体中文,英文Xcode自带有(English),所以不需要再次添加。

iOS开发 语言本地化和手动切换语言iOS开发 语言本地化和手动切换语言iOS开发 语言本地化和手动切换语言

5、这时候Language.strings会多出两个子文件,分别对应英文和简体中文。在项目工程文件夹中也会看到两个文件夹en.lproj和zh-Hans.lproj。这两个文件夹不要复制其他项目的,因为这两个文件跟本项目工程文件相关联,直接复制过来会读取不到里面的.strings文件。当然,直接复制里面的内容是可以的。

iOS开发 语言本地化和手动切换语言

6、在Language.strings添加并完善所有需要转换的文字 1.每个字段都以分号间隔,因为不是OC文件所以不需要使用@表示字符串; 2.“key键”=“value值”,键可以用中文,也可有用英文,性能有没差别看不出。//英文"apple" = "APPLE";//简体中文"apple" = "苹果";

iOS开发 语言本地化和手动切换语言

8、保存当前使用语言到NSUserDefaults 在AppDelegate.m文件didF坡纠课柩inishLaunchi荏鱿胫协ngWithOptions获取当前手机语言,并存储到NSUserDefaults。if (![[NSUserDefaults standardUserDefaults]objectForKey:@"appLanguage"]) { NSArray *languages = [NSLocale preferredLanguages]; NSString *language = [languages objectAtIndex:0]; if ([language hasPrefix:@"zh-Hans"]) {//开头匹配 [[NSUserDefaults standardUserDefaults] setObject:@"zh-Hans" forKey:@"appLanguage"]; }else{ [[NSUserDefaults standardUserDefaults] setObject:@"en" forKey:@"appLanguage"]; } }

iOS开发 语言本地化和手动切换语言iOS开发 语言本地化和手动切换语言

11、添加切换语言事件 在ViewController.m首疏扌熘创建并初始化UILabel用于显示多语言文字,UIButton切换语言按钮及响应事件。 //修改本地获取的语言文件-交替 NSString *language = [[NSUserDefaults standardUserDefaults]objectForKey:@"appLanguage"]; if ([language isEqualToString: @"en"]) { [[NSUserDefaults standardUserDefaults] setObject:@"zh-Hans" forKey:@"appLanguage"]; }else { [[NSUserDefaults standardUserDefaults] setObject:@"en" forKey:@"appLanguage"]; } [[NSUserDefaults standardUserDefaults] synchronize];

iOS开发 语言本地化和手动切换语言

13、切换效果(如图)

iOS开发 语言本地化和手动切换语言iOS开发 语言本地化和手动切换语言
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢