美文网首页iOS过坑技巧iOS开发文字国际化
iOS文字与图片国际化的使用及小坑提醒

iOS文字与图片国际化的使用及小坑提醒

作者: 奔奔奔跑 | 来源:发表于2016-03-21 14:27 被阅读1901次

          以前做加菲狗的时候因为面向的是国际市场,所以运营对APP的一些国际化要求比较高。涉及了八国语言,但是因为推广力度的加强,一些未做国际化的语言国家也进行了推广,这样一来,app与AppStore中的默认语言的设置就成了中文,于是程序再次被运营吊打······

         其实上面的解决办法是自己工程里面设置好默认语言为英文,上传AppStore中的时候也设置成英文就行了。 好了,言归正传,下面我们一步一步的让我们的项目走向国际化。

    1.让我们建立一个多语言文件

        给我们的国际化文件命名为Localization,这个随意哈~

    图1-1.一个工程文件

    2.让我们建立一个多语言文件

        注意哦,这里苹果给了我们一点点小惊喜,这个多语言文件的命名必需是“Localizable”这样才能被Xcode识别。

    图2-1.Localizable国际化文件

          注意哦,这里有个小坑!下面,我们可以看一下我们国际化后的工程目录。 请点击那个红框标注的按钮哦,原因在下面

    图2-2.请点击圈中按钮

    3.为我们的多语言文件添加新的语言

          注意咯,如果不按照第二部操作的话你可能会遇见一个问题,那就是你无法为你的多语言文件添加新的语言!为毛?那是因为找不到多语言文件了,原谅我没有深究下去吧~

    图3-1.为多语言文件添加语言

       点击”+“后里面后很多语言的选择,这里不好截图我就不贴出来了。下面有两种情况:

    (1).不按照第二步点击的,会找不到多语言文件,无法为其添加语言:

    图3-2.只有故事版和登陆屏

    (2).正常的是为所需要的多语言文件添加语言

    图3-3.正确的多语言添加勾选 图3-4多语言展开

    4.多语言的使用

          iOS会根据你的系统语言自己判别使用哪种语言,例如你使用简体中文,并且多语言文件夹里有简体中文的文件自己进行相应的替换。使用的API就是

                       NSLocalizedString(<#key#>, <#comment#>)

          ”key“就是多语言文件对应关键字,comment就是内容,可以写备注,也可以不写,iOS就是由这个key根据系统的语言寻找对应语言文本的关键字进行替换的。不过建议关键字的选取要尊重原文,不要图简单,因为后面内容多了,你图简单省事,缩写少写,你就会发现,全乱套了~

    图4-1国际化内容

    大家做两个文件一个中文繁体,一个英文切换系统语言试试看~~~

    5.图片国际化

         这些东西说穿了一文不值。

    ```

    + (NSString *) getLanPicNameWithPicName:(NSString *)picName

    {

    if ([SYSTEM_LANG hasPrefix:@"zh-Hans"])

    {

    return [NSString stringWithFormat:@"%@_hans",picName];

    }

    return [NSString stringWithFormat:@"%@_en",picName];

    }

    ```

          这个是我封装的一个方法,将图片的名字输入,来”自动“进行图片国际化。其实就是将图片的名字进行却分开而已,通过判别系统语言,再给imageNmae换个名字而已。看了我图片的命名方式你就明白了。

    图5-1.多语言图片的命名

          细数iOS开发已经快两年了吧,头一次写文章,感觉比敲代码要难一点,但是分享的感觉令我很是舒畅,希望有机会能在github上参与开源项目。下回我将与大家分享我是如何在内网搭建git服务器的,希望能与大家多多交流~谢谢O(∩_∩)O~

    相关文章

      网友评论

      • 玉思盈蝶:话说collectionView或者tableView的cell的切换语言图片对应切换为什么换不过来呢?是复用的问题么?
      • Simba_LX:App Store里面的简介,截图,关键字可以分国家设置吗
        熊梓君:可以的
      • 75afc06dcc73:没有故事版和启动图就无法添加国际化吗?
        奔奔奔跑:@dwang 为毛这么说
        75afc06dcc73:@纯属玩笑 但是我的没法选择啊
        奔奔奔跑:@dwang 国际化与这些无关哦
      • JustPP:不错,大赞!学习了 ,希望大神多发一些有用的东西出来。
        奔奔奔跑:@JustPP :smile:
      • 笨鸟后飞了:支持加油鼓励
        奔奔奔跑:@海东 谢谢啦~

      本文标题:iOS文字与图片国际化的使用及小坑提醒

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