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

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

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

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

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

iOS文字与图片国际化的使用及小坑提醒_第1张图片
图1-1.一个工程文件

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

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

iOS文字与图片国际化的使用及小坑提醒_第2张图片
图2-1.Localizable国际化文件

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

iOS文字与图片国际化的使用及小坑提醒_第3张图片
图2-2.请点击圈中按钮

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

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

iOS文字与图片国际化的使用及小坑提醒_第4张图片
图3-1.为多语言文件添加语言

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

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

iOS文字与图片国际化的使用及小坑提醒_第5张图片
图3-2.只有故事版和登陆屏

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

iOS文字与图片国际化的使用及小坑提醒_第6张图片
图3-3.正确的多语言添加勾选


iOS文字与图片国际化的使用及小坑提醒_第7张图片
图3-4多语言展开

4.多语言的使用

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

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

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

iOS文字与图片国际化的使用及小坑提醒_第8张图片
图4-1国际化内容

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

5.图片国际化

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

```

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

{

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

{

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

}

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

}

```

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

iOS文字与图片国际化的使用及小坑提醒_第9张图片
图5-1.多语言图片的命名

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

你可能感兴趣的:(iOS文字与图片国际化的使用及小坑提醒)