IOS 应用程序国际化

一、什么是应用程序的国际化?

       根据当前用户当前移动设备的语言自动将我们的app切换对应语言。

       对于个人开发者而言国外市场比国内市场更加有价值些,毕竟国外的版权意识,付费理念较好些。

二、怎么做?

       1.本地化应用程序名称

       (1)应用程序名称的设置在 InfoPlist.strings文件中,而本地化的InofPlist.strings(simple Chinese)等在Xcode 5

               之后只能在Project ->Info-> Localizations 中点击加号添加即可。操作如下图




(2)点击下图“+”号 选择所要使用的语言选择Chinese 后

         在InfoPlish.strings(english)文件中加入:

         CFBundleDisplayName ="Program" 

         同理在InfoPlish.strings(chinese)文件中加入:

         CFBundleDisplayName ="应用程序"
         其中“应用程序”为中文名称,“Program”为英文名称。

         注意:CFBundleDisplayName加不加双引号都行,这和本地化字符串有些不同

(3)编辑Info.plist,添加一个新的属性Application has localized display name,

         设置其类型为boolean,并将其value设置为YES即可


       2.本地化字符串

        (1)点击“new file”然后在弹出窗口左侧选择IOS的resource项,在右侧就可以看到“String File”的图标。

                 创建这个文件,命名为“Localizable”(一定是这个文件名否则后面调用会有一些区别)就生成一个

                 Localizable.strings文件;

       (2)设置Localizable.strings文件的本地化属性,在完成后选中该文件,在属性选择器中选择Show the File Inspector

                 可以看到多了个按钮,如下图


                注意:当你在本地化应用名称中如果添加上中文,在本地化字符串也是没有的中文的。

               在添加中文后Localizable.strings 里自动会增加一个Localizable.strings(chinese)文件

      (3)在Localizable.strings(english)文件中加入:

                     "welcome"="Click on the screen to continue..."
               同理在Localizable.strings(chinese)文件中加入:
                     "welcome"="点击屏幕继续..."

       3.本地化StoryBoard、Xib

         本地化StoryBoard、Xib 和 本地化字符串类似,选中文件添加Localization文件

         分别在不同的文件做不同的处理。


最后解释NSbundle下几个方法:

#define NSLocalizedString(key, comment) \
        [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]
#define NSLocalizedStringFromTable(key, tbl, comment) \
        [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:(tbl)]
#define NSLocalizedStringFromTableInBundle(key, tbl, bundle, comment) \
        [bundle localizedStringForKey:(key) value:@"" table:(tbl)]
#define NSLocalizedStringWithDefaultValue(key, tbl, bundle, val, comment) \
        [bundle localizedStringForKey:(key) value:(val) table:(tbl)]

(key, tbl, bundle, val, comment)

1.key 所使用的字符串对应的key

2.tbl 所使用的字符串所在的string文件名。 ex:abc.strings的话 就输入abc

3.bundle 资源strings文件所在的文件目录。

4.val 默认字符。

5.comment 注释


参考来源:

http://blog.csdn.net/a_ss_a/article/details/37996265

http://www.iliunian.com/2362.html

http://poolo.iteye.com/blog/1983753

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值