您的位置:首页 > 移动开发 > IOS开发

iOS开发------程序实现国际化Localizable

2016-04-15 15:34 113 查看
研究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" = "你好啊";


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


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

//进行本地语言国际化适配

//Objective-C
self.lblText.text = NSLocalizedString(@"Hello", @"")

//Swift
lblText.text! = NSLocalizedString("Hello", comment: "")


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





项目名称国际化

步骤与上面的内容是一样的,只说几个不同点

1、文件名字叫做InfoPlist(.strings)

2、内容的形式为
CFBundleDisplayName = ""


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

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


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


效果如下:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: