zoukankan      html  css  js  c++  java
  • XCODE 4.5 IOS多语言设置

    转:http://blog.csdn.net/samuelltk/article/details/8480403

      前些天升级到Xcode4.5,现在正在用Xcode4.5+IOS6开发项目,当使用国际化时,遇到了一点问题,之前版本Xcode上新建Localizable.strings后,添加语言的“+”号不见了,找了半天无果,自己研究了下,后来在Stackoverflow上找到了解决方案,原来Apple把这个“+”号换地方了。下面来看看如何使用。

      首先新建一个名为Localizable.strings的资源文件

       完成后选中该文件,在属性选择器中可以看到多了个按钮:

      点击这个按钮后,出现国际化语言选择框,但只有一个English的选项:

       没关系,继续,点击Localize按钮,这时只支持英语。Xcode4.5之前的版本会在属性选择器里面有个“+”号用来添加其他语言支持,现在没了,其实是在别的地方。点击工程根目录,并选择PROJECT,然后选择INFO选项卡,底部我们就看到了Localizations:

       点击“+”号选择一门语言添加上,我这里选的是Chinese,ok,完成了,再看Localizable.strings文件,就多了两个子文件,分别支持英文和汉语:

       在属性选择器中也看到了English和Chinese:

       这样,就完成了在Xcode4.5上国际化的设置和操作,下面来看如何使用。

      首先选择Localizable.strings(English)文件,添加如下内容:

      "loading" ="Loading...";

      然后选择Localizable.strings(Chinese)文件,添加如下内容:

      "loading" ="加载中...";

      内容注意一定要以分号结尾,否则无法识别。然后是在代码中使用:

      NSString *loading = NSLocalizedString(@"loading",@"");

      系统会根据当前设备的语言环境来识别使用中文还是英文,到此,在Xcode4.5上国际化的操作就完成了。

      如果在命名.strings文件为 Localizable.strings 时,那么你就可以用以下方式调用即可:

      NSLocalizedString(@"title", nil) 

      此时这两种方法的用途一样:  

    1. NSLog(@"Local string0: %@", NSLocalizedString(@"str0", nil));  
    2. NSLog(@"Local string1: %@", NSLocalizedStringFromTable(@"str1", @"Localizable", nil));  

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

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

      当自定义名字后,使用NSLocalizedString的方式不起作用,这里要注意;

  • 相关阅读:
    jQuery EasyUI API 中文文档 数字框(NumberBox)
    jQuery EasyUI API 中文文档 数值微调器(NumberSpinner)
    jQuery EasyUI API 中文文档 日期时间框(DateTimeBox)
    jQuery EasyUI API 中文文档 微调器(Spinner)
    jQuery EasyUI API 中文文档 树表格(TreeGrid)
    jQuery EasyUI API 中文文档 树(Tree)
    jQuery EasyUI API 中文文档 属性表格(PropertyGrid)
    EntityFramework 数据操作
    jQuery EasyUI API 中文文档 对话框(Dialog)
    jQuery EasyUI API 中文文档 组合表格(ComboGrid)
  • 原文地址:https://www.cnblogs.com/xingfuzzhd/p/3043521.html
Copyright © 2011-2022 走看看