美文网首页Objective-c
iOS国际化详解

iOS国际化详解

作者: 易水寒208 | 来源:发表于2016-12-07 10:29 被阅读0次

    iOS国际化详解

    对于iOS国际化,一般包括:

    1. 工程项目名称国际化
    2. 工程内控件内容国际化
    3. 工程内图片的国际化
    4. 工程中其它文件的国际化

    首先我们对于第一种情况 工程项目名称国际化进行说明:(我使用的是iOS 8.4系统 Xcode 版本是6.4)

    1.1 首先创建一个Single View Application模板项目, 并命名为LocalizationDemo。

    1.2 点击工程PROJECT 在Info列表下的Localizations下点击加号 添加国际化语言。这里为了演示方便只添加了Chinese(Simplified)


    1.3 然后在Supporting Files 文件夹下 只发现了两个文件 一个Info.plist 一个main.m文件,如果要进行工程名称国际化需要有一个InfoPlist。strings文件(Xcode6之前有) 这里我们创建一个就行了, 然后选中该文件在右侧的inspector下点击Localizetion添加需要的语言即可。


    然后在InfoPlist.strings(Englist)添加代码:

    CFBundleDisplayName ="China";
    在InforPlist.strings(Chinese Simplifified)添加代码:
    CFBundleDisplayName ="中国";

    然后运行项目 即可, 当改变手机中的语言环境的时候工程的名称就会出现不同的中英文。

    2.1 对于工程内的控件,这里我们需要为工程添加一个UILabel 一个UIImageView 控件,并命名为nameLabel与myImageView, 然后同InfoPlist.strings类似 创建一个Localizable.strings并在Localizable.strings(English)添加代码:

    image="qsmyEn.png";```
    ###在Localizable.strings(Chinese Simplified)中添加代码:
    ```name ="名字";
    image="qsmyCh.png";```
    ##2.2 然后使用的时候 只需使用NSLocalizedString即可:
    ```self.nameLabel.text = NSLocalizedString(@"name", nil);
    self.myImageView.image= [UIImage imageNamed:NSLocalizedString(@"image", nil)];```
    ####如果你的Location文件是自己自定义的,而且名称不是Localizable是其它的,那么你需要使用这样的代码:
    ```self.nameLabel.text = NSLocalizedStringFromTable(@"name",@"你的Localization名称", nil);
    self.myImageView.image= [UIImage imageNamed:NSLocalizedStringFromTable(@"image",@"你的Localization名称", nil)];```
    ####然后运行即可。
    ##3.1 对于图片的国际化 一种是上面提到的 使用Localizable文件进行使用,通过NSLocalizedString来获取图片名称,另一种方法就比较正规化了,点中你要本地化的图片,如“icon.png”, 然后在右侧的**inspector下点击Localization选中需要国际化得语言即可。**
    ##**4.1 对于其他文件的国际化,同图片进行国际化的第二种方法即可。**
    ####**最后运行结果:**
    ****
    ![](https://img.haomeiwen.com/i3718166/c62e6774cf4e1e49.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    ![](https://img.haomeiwen.com/i3718166/143474e04a15f312.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

    相关文章

      网友评论

        本文标题:iOS国际化详解

        本文链接:https://www.haomeiwen.com/subject/cnjdmttx.html