• iOS多语言设置


    最近公司做的项目需要向国外推广,因此app需要添加相应的语言设置,为此整理记录下多语言设置的过程。如有不对的地方,欢迎各位大神指正。下面就详细介绍下设置的过程:

    1、基本设置

    第一步:首先在 项目工程-PTROJECT-Info中添加需要支持的语言

    如上点击“+”号会弹出提供的语言列表,我们选择项目需要支持的语言就可以了

    第二步:创建Localizable.strings(⚠️:该文件名不要随意更改)作为多语言资源对应的词典,存储多语言

    创建好后,接下来需要继续做如下操作:

    (1)选中Localizable.strings文件,点击右侧栏对应的Localize...

    (2)在Localization里添加所要支持的语言,并勾选

    第三步,经过以上几步,前期的基本设置完成了,可以在Localizable.strings里设置所需要的语言了。如下所示

    第四步,设置好对应的语言后,就可以去使用了。那么可以按以下方式去使用

    NSString * tempStr = NSLocalizedString(@"test_label", nil); 

    ⚠️:

    以上是对应的创建以Localizable为名字的文件调用方式。如果设置的是自定义的名字,如test.strings,调用的方式为:

    NSLocalizedStringFromTable("name", "test", nil);

    2、StoryBoard和Xib设置

    storyBoard和xib设置同Localizable.strings类似。点那个我们创建Localizable.strings对应的语言文件时,系统自动的生成了app中现有storyBoard对应的系统文件。对于后加的文件,我们可以选中文件,点击右侧的Localize...并勾选对应的语言即可。

    比如在storyBoard和xib中有一个Label,它对以会有一个Object ID了。我们可以通过这个ID来设置对应的语言文本

       

    不过这个建议是所有的UI界面都设置完成后,再去设置多语言。当然可以通过对控件拖线,在代码实现中设置多语言

    3、应用名等相关权限多语言设置

    应用名等设置与上面的几个多语言设置的步骤是基本一致的,只是在创建strings文件的时候文件名要为InfoPlist。

    这里以中文为例,设置app名称:"CFBundleDisplayName" = "测试";

    4、判断系统的语言

    NSArray *languages = [NSLocale preferredLanguages];
    
    NSString *currentLanguage = [languages objectAtIndex:0];
    
    NSLog(@"%@", currentLanguage);

    ⚠️:通过[NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:language ofType:@"lproj"]]设置app语言后,一定要记得重新设置window的rootViewController

    好了,以上就是iOS多语言的相关内容

  • 相关阅读:
    Hadoop-MyEclipse安装配置
    grid搜索最优参数
    python数据集处理
    集合框架
    Java泛型集合
    python机器学习工具包
    IO流
    Eclipse导入Hadoop源码项目及编写Hadoop程序
    Hadoop日志以及日志的格式和命名组成
    VIM键盘映射 (Map)
  • 原文地址:https://www.cnblogs.com/wanli-leon/p/9328378.html
Copyright © 2020-2023  润新知