当前位置:首页 > 操作系统 > Ios

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

研究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";
        

效果如下:
技术分享技术分享

原文:http://blog.csdn.net/runintolove/article/details/51159939


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!