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

 时间:2024-10-12 04:07:31

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开发 语言本地化和手动切换语言
  • 如何在下载炉石传说mac版
  • Parallels desktop pd上的Ubuntu linux怎么删除
  • pg_basebackup方式部署同步流复制(一)
  • 2018 NEW MacBook Air 开箱晒机
  • 索尼DCR-TRV6数码摄像机说明书:[7]
  • 热门搜索
    教学计划怎么写 吉利博瑞怎么样 u盘格式化不了怎么办 怀孕肚子疼怎么回事 黄褐斑是怎么引起的 小炒牛肉的家常做法 qq人脸识别怎么解除 情侣网名大全 公鸡图片大全大图 excel公式怎么用