zoukankan      html  css  js  c++  java
  • iOS 国际化多语言设置 xcode7

    iOS 国际化多语言设置

    方式一:

        1. 在storyboard中创建好UI,然后在 project 里面  Localizables 栏目里面,添加你需要的语言;默认是Englist; 比如这里我添加了 简体中文

      2.添加完之后,原来的Main.storyboard 就会多了一个国际化的语言配置文件

     

       3. 点击 Main.strings 文件,就可以在这里配置中文的语言;里面自动添加现在storyboard上面创建好的UI控件的代码,直接在这里修改即可;此时sotyboard上设计的理解为 英文状态;这里是运行时的中文状态;

    /* Class = "UILabel"; text = "LABEL A"; ObjectID = "I0M-DM-Gzt"; */
    "I0M-DM-Gzt.text" = "标题 A";
    
    /* Class = "UIButton"; normalTitle = "BUTTON B"; ObjectID = "XJX-jB-S2s"; */
    "XJX-jB-S2s.normalTitle" = "按钮 B";
    
    "cRs-Hi-BTS.text" = "标题 C";

    4. 那么以后我们在storyboard上另外添加新的ui控件时,这里的文件不会自动更新怎么办呢;

       这时我们就要自己找到新添加控件的 object-id; 就是上面 cRs-Hi-BTS 这样的东西,标识id,然后手动添加上述类似的代码;

       如何回去已经添加新控件的 object-id; 在storybrad上选中相应的控件,然后右边属性栏里面找 object-id

     

    方式二:手动创建 Localizable.strings文件

       新建文件,创建 Localizable.strings 文件; 先选中一个 English 或是 添加的中文;最后 点击 文件;在右边属性栏的 反正是勾选你需要国际化的语言;

    我这里就是 中文 和英文;选中之后,同样  Localizable.strings 就会展开变成国际化开发的两个文件

     

    分别在这两个文件 里面以 key = value 写;

    english 里面: TName = "Name";

    Simplified 里面:TName = "名字";

    在代码中使用的时候:

        self.titleLabel.text = NSLocalizedString(@"TName", nil);

     即可

     

    三:另外关于 app 显示名称的国际化处理

      和上面差不多;只需要手动创建一个 InfoPlist.strings 文件;同样选中 需要国际化的语言;

     在 English文件和 中文文件 里面;

    写上对应的 

    CFBundleDisplayName = "ABS-EN";

    CFBundleDisplayName = "ABS-CN";

    即可;

    四:另外关于图片的国际化

       可以准备多套图片,然后在 strings 文件 里面,处理名称即可

     

    参考:http://www.cocoachina.com/ios/20150114/10911.html

     

  • 相关阅读:
    windows C++ 获得一个进程的线程数目
    乌龟 SVN 在update后,如何知道 update前的版本号?
    C++ 类中的static对象貌似不能是类对象
    WinForms C#:html编辑器工程源码,含直接写WebBrowser的文件流、IPersistStreamInit接口的声明和一些相关的小方法
    用Remoting 实现一个文件传输组件
    [转载]Extreme Game Programming
    C#:10进制转2进制函数
    bindows 源码格式化工具(测试中的测试)C#源码
    明天又是周末,可以好好休息了!
    将文件加入到图形文件里;
  • 原文地址:https://www.cnblogs.com/cocoajin/p/4914747.html
Copyright © 2011-2022 走看看