博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发------程序实现国际化Localizable
阅读量:2202 次
发布时间:2019-05-03

本文共 1174 字,大约阅读时间需要 3 分钟。

研究AssertsLibaray.framework以及Photos.framework这两个原生静态库的时候,相册的组名需要用到国际化来标示一下,虽然系统提供了组名的国际化,但是稍微的了解了一下国际化还是有必要的。就在这里就稍作记录作为参考。语言国际化就是为不同的语言做的适配,就像iPhone一样,根据不同的语言会将文字变成相应的语言。以下的操作的编译器为Xcode 7.3

内容国际化

1、创建字符串国际化文件(Strings File)

创建国际化文件图 

2、将文件的名字改为Localizable,这里需要注意一个问题,必须是这个名字,不然系统在找适配文件的时候会找不到文件,其次后缀名不需要打,不然会创建了一个叫做Localizable.strings.strings的文件,这样也是在找适配文件的时候找不到文件,楼主之前就是犯了这个错误,下面的截图会出现名字的问题,共勉.

 

3、选中.strings文件,可以从右侧的属性栏看到相关属性以及操作,点击标出的Localize按钮,进行创建

 

4、在弹框中点击Localize选项确认

 

5、在项目中找到PROJECT -> Info -> Localizations点击左下角的+号就可以添加各种适配的语言.这里只添加了本身的英文以及简体中文 ,添加完毕,之前的.strings文件左边会出现小箭头,表示下面已经有适配语言的文件。

 

6、文件右侧的属性栏原本是Localize按钮的地方就成为了选择适配语言的文件选项,将自己适配的语言进行勾选:

 

7、在各自的响应文件中,按照"key" = "value"的形式进行适配就可以了:

//适配中文://这是在Localizable.strings( Chinese(Simplified) )中,对中文进行适配"Hello" = "你好啊";

8、适配在代码中用法如下:

//适配英文//这是在Localizable.strings( English )中,对英文进行适配"Hello" = "Hello";

将iPhone语言进行设置切换运行就可以进行适配,显示如下,完成了相关内容对英文以及中文的适配:

中文 英文

项目名称国际化

步骤与上面的内容是一样的,只说几个不同点 
1、文件名字叫做InfoPlist(.strings) 
2、内容的形式为CFBundleDisplayName = ""

楼主在相应文件里面下写法如下:

//适配中文://这是在InfoPlist.strings( Chinese(Simplified) )中,对中文进行适配CFBundleDisplayName = "岳";
//适配英文//这是在InfoPlist.strings( English )中,对英文进行适配CFBundleDisplayName = "EnName";

效果如下: 

中文 英文

你可能感兴趣的文章
Intellij IDEA使用(四)—— 使用Intellij IDEA创建静态的web(HTML)项目
查看>>
Intellij IDEA使用(五)—— Intellij IDEA在使用中的一些其他常用功能或常用配置收集
查看>>
Intellij IDEA使用(六)—— 使用Intellij IDEA创建Java项目并配置jar包
查看>>
Eclipse使用(十)—— 使用Eclipse创建简单的Maven Java项目
查看>>
Eclipse使用(十一)—— 使用Eclipse创建简单的Maven JavaWeb项目
查看>>
Intellij IDEA使用(十三)—— 在Intellij IDEA中配置Maven
查看>>
面试题 —— 关于main方法的十个面试题
查看>>
集成测试(一)—— 使用PHP页面请求Spring项目的Java接口数据
查看>>
使用Maven构建的简单的单模块SSM项目
查看>>
Intellij IDEA使用(十四)—— 在IDEA中创建包(package)的问题
查看>>
FastDFS集群架构配置搭建(转载)
查看>>
HTM+CSS实现立方体图片旋转展示效果
查看>>
FFmpeg 命令操作音视频
查看>>
问题:Opencv(3.1.0/3.4)找不到 /opencv2/gpu/gpu.hpp 问题
查看>>
目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU设备
查看>>
问题:Mysql中字段类型为text的值, java使用selectByExample查询为null
查看>>
程序员--学习之路--技巧
查看>>
解决问题之 MySQL慢查询日志设置
查看>>
contOS6 部署 lnmp、FTP、composer、ThinkPHP5、docker详细步骤
查看>>
TP5.1模板布局中遇到的坑,配置完不生效解决办法
查看>>