zoukankan      html  css  js  c++  java
  • iOS 应用程序本地化

    由于iPhone,iPad等苹果产品在全世界范围内的广泛流行,那么通过App Store下载应用程序的用户也将是来自世界范围的人们,所以开发者在开发过程中势必要考虑到不同语言环境下用户使用,好在iOS拥有健壮的本地化(localization)体系结构,使用它可以轻松的将应用程序翻译成多种语言。

     多语言在应用程序中一般有两种做法:

    一、程序中提供给用户自己选择语言的机会;
    二、根据当前用户当前移动设备的语言自动将我们的app切换对应语言,这里在设置中需要设置的内容有两项:语言(Language)和区域格式(Region Format)。

    第一种做法比较简单完全靠自己的发挥了,这里主要讲第二种做法,主要分一下几点:

    1.本地化应用程序名称------InfoPlist.plist

    2.本地化字符串-----Localizable.strings
    3.本地化图片文件
    4.本地化storyboard文件-----MainStoryboard.storyboard


    1、应用程序本地化步骤:

    (1)首先需要向项目中添加以上需要本地化的元素,也就是根据项目的需要向项目中添加以上文件,一般需要添加的是字符串文件和图片文件,其它两个项目中已经自动创建好了的。

    • 添加字符串文件Localizable.strings(在Resource中选择Strings file)其中要注意的是,文件名称一定是Localizable
    • 添加图片文件就比较简单啦--add file 就可以了

    (2)接着分别对新加入的项目进行本地化


    (3)添加语言,并选择需要本地化的内容




    (4)这样基本的xoode操作就完成了。




    2、下面需要的是对这些与本地化有关的文件进行编辑。


    (1)首先是设置应用程序的名称,这个需要在InfoPlist.plist文件中添加

    CFBundleDisplayName = "应用程序名称";

    (2)接着是本地化字符串,在Localizable.strings文件中添加相应内容(都是一些key-value对)

    如下:

     

    /* The number 5 */
    "LABEL_FIVE" = "Five";
    
    /* The number 4 */
    "LABEL_FOUR" = "Four";
    
    /* The number 1 */
    "LABEL_ONE" = "One";
    
    /* The number 3 */
    "LABEL_THREE" = "Three";
    
    /* The number 2 */
    "LABEL_TWO" = "Two";

    (3)本地化图片文件

    图片文件的本地化处理一般是在Finder中直接替换文件


    (4)本地化storyboard文件

    这部分的本地化就比较多样了,像这个demo是选择不同的国家国旗。


    程序本地化中用到比较多的是这个方法

     

    NSString *NSLocalizedString(NSString *key, NSString *comment)

    通过key获取在字符串文件中的value,comment只是一个解释字符串,用于提示该字符串所代表的意义和内容,可以置为nil。

    这部分的内容比较简单,附上一个小demo 下载地址




  • 相关阅读:
    Android Media Playback 中的MediaPlayer的用法及注意事项(二)
    Android Media Playback 中的MediaPlayer的用法及注意事项(一)
    34. Search for a Range
    33. Search in Rotated Sorted Array
    32. Longest Valid Parentheses
    31. Next Permutation下一个排列
    30. Substring with Concatenation of All Words找出串联所有词的子串
    29. Divide Two Integers
    28. Implement strStr()子串匹配
    27. Remove Element
  • 原文地址:https://www.cnblogs.com/riskyer/p/3233933.html
Copyright © 2011-2022 走看看