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

    最近公司的项目有可能向国外推广,我们的app也要添加多语言设置,之前从没有接触过这方面的东西,感觉会很麻烦吧。上网查了一下,还行,主要是把语言转换一下就可以了。下面就详细介绍一下设置过程:

    1,基本设置

    第一步:先在Project的info里添加项目所要支持的语言

    如上点击“+”号会弹出所提供的语言,选择所需要的语言就可以了

    第二步:创建Localizable.strings(注意:文件名最好不要随意更改,以免带来不必要的麻烦)作为多语言对应的词典,存储多重语言。

    (1)点击Localizable.strings文件右侧的Localiza...

    (2)继续在Localization里添加所要支持的语言,将其勾选上

    第三步,此时,我们的前期工作基本就完成了,可以在Localizable.strings里随意设置所需要支持的语言了。

    假设,我们设置了简体中文

    "testName" = "多语言设置成功啦";

    第四步,设置完对应的语言后,我们就可以去使用它啦

       NSString *nameStr= NSLocalizedString(@"testName", nil);  //获取配置语言文字

        UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(10, 100, 300, 100)];

        [btn setBackgroundColor:[UIColor cyanColor]];

        [btn setTitle:nameStr forState:UIControlStateNormal];

        [self.view addSubview:btn];

    注意:

    如果创建.strings文件是自定义的名字的话,如Internation.strings,那么调用的方式为:

    NSLocalizedStringFromTable(@”title”,@”Internation”, nil)

    NSLocalizedStringFromTable(@”name”,@”Internation”, nil)

    当自定义名字后,使用NSLocalizedString的方式不起作用,这里要特别注意,注意,注意!!!(重要的说三遍);

    2,应用名设置

    (1)应用名设置与多语言基本设置的步骤大致是一样的,只是创建的.strings文件的名字要为InfoPlist.strings。

    (2)同样以简体中文为例,"CFBundleDisplayName" = "慧眼"。

    (3)在info.plist文件中设置Bundle display name为CFBundleDisplayName即可。

    3,StoryBoard设置

    storyboard同Localizable.strings类似。当我们创建Localizable.strings对应的语言文件时,系统自动生成了storyboard对应的系统文件。假如我们在storyboard拖入了一个UILabel,我们想要直接在这里设置label的文本,这里就要用到了UILabel的Object ID了。

    在对应的语言文件中添加如下格式的设置:

    /* Class = "UILabel"; text = "测试"; ObjectID = "PXo-pJ-2Ml"; */

    "PXo-pJ-2Ml.text" = "测试";

    4,判断系统语言

        NSArray *languages = [NSLocale preferredLanguages];

        NSString *currentLanguage = [languages objectAtIndex:0];

        NSLog(@"%@", currentLanguage);

  • 相关阅读:
    iPhone 上利用MKMapView实现简单地图的方法
    项目经理:做好项目开始阶段的九条经验(1) 项目 技术应用
    iPhone的Push(推送通知)功能原理浅析
    iPhone拍照/摄像软件开发实例
    每位开发人员都应铭记的10句编程谚语
    注册itunes 中国区app Store账号详细步骤
    [转载]:各位技术牛人和应届毕业生,外企是唯一的选择吗?
    [推荐] IT外企那点儿事(1):外企也就那么回事[
    CheckBox全选与不全选(不用刷新页面)
    CheckBox的全选与不全选(刷新页面效果) .
  • 原文地址:https://www.cnblogs.com/whongs/p/6727610.html
Copyright © 2011-2022 走看看