zoukankan      html  css  js  c++  java
  • iOS - 国际化语言切换

     
    iOS国际化:如何切换语言
     
    1、国际化就是将标签、提示信息等信息放到资源文件中,随着程序需要的语言提供对应的资源文件。以key/value对存储,每个资源的key值不变,value随着需求改变。
    一般改变的都是写“死”的东西,网络请求的不能改变。
    2、添加多语言:
    新建工程(国际化)——> 国际化——>project——>info——>Localizations——> "+"Chinese(Simplified)


    ——> finish:


    3、创建InfoPlist.strings:修改工程名语言
    cmd+N(新建)——>Resource——> Strings File ——>Next

     
    ——>命名为InfoPlist.strings ——> creates ——>Finish
     
       添加属性:
    点击InfoPlist.strings——>右侧Locatize ——> Locatize
    ——>取消Base,勾选English, Chinses(Simplified):
    ——>点击左侧InfoPlist.strings下三角添加属性:
    InfoPlist.string(English)里面输入:CFBundleDisplayName = "Localizable";
    InfoPlist.string(Chinese(Simplified))里面输入:CFBundleDisplayName = "国际化";
     
    此时:工程的名字改为国际化(中文下),对应的英文下变为:Localizable
     
    4.同理创建Localizable.strings(步骤同3):修改标签显示语言
    在Localizable.strings(Simplified)下写:"labelText" = "简体中文";
    在Localizable.strings(English)下写:"labelText" = "Now is English";
    在VC中创建一个labelText(label的对象):

     UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 175, 50)];

        label.backgroundColor = [UIColor grayColor];

        label.text = NSLocalizedString(@"labelText", nil);

        [self.view addSubview:label];

    结果如下:

     
    获取所有语言和当前语言:
  • 相关阅读:
    lua类对象
    toLua初始化碰到的问题
    Unity经验之谈-DoTween动画结束匿名委托闭包之坑
    toLua关于委托没有注册的解决方案
    xLua使用require改变路径加载Lua脚本
    unity常用的比较函数
    Shader中颜色混合的算法
    UnityShader中插值平滑曲线
    Shader中的Uniforms(只读标识)
    ShaderLab中Properties语义块支持的属性类型
  • 原文地址:https://www.cnblogs.com/gongyuhonglou/p/9031016.html
Copyright © 2011-2022 走看看