前 些天升级到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 时,那么你就可以用以下方式调用即可:

1
NSLocalizedString(@"title", nil)     NSLocalizedString(@"name", nil)
  1. 此时这两种方法的用途一样:
  1. NSLog(@"Local string0: %@", NSLocalizedString(@"str0", nil));
  2. NSLog(@"Local string1: %@", NSLocalizedString(@"str1", nil));
  3. NSLog(@"Local string0: %@", NSLocalizedStringFromTable(@"str0", @"Localizable", nil));
  4. NSLog(@"Local string1: %@", NSLocalizedStringFromTable(@"str1", @"Localizable", nil));

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

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

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

XCODE 4.5 IOS多语言设置 及NSLocalizedString和NSLocalizedStringFromTable的用法。的更多相关文章

  1. iOS多语言设置

    最近公司做的项目需要向国外推广,因此app需要添加相应的语言设置,为此整理记录下多语言设置的过程.如有不对的地方,欢迎各位大神指正.下面就详细介绍下设置的过程: 1.基本设置 第一步:首先在 项目工程 ...

  2. ios多语言设置,操作

    多语言在应用程序中一般有两种做法:一.程序中提供给用户自己选择的机会: NSArray *languages = [NSLocale preferredLanguages]; NSString *cu ...

  3. [iOS]C语言技术视频-16-指针变量高级用法(堆栈内存)

    下载地址: 链接: http://pan.baidu.com/s/1qWqWnGo 密码: igjc

  4. [iOS]C语言技术视频-17-指针变量高级用法练习二(使用堆内存完成链表结构的存储)

    下载地址: 链接: http://pan.baidu.com/s/1kTmwIYr 密码: j7xq

  5. [iOS]C语言技术视频-15-指针变量高级用法练习一(函数指针完成动态排序)

    下载地址: 链接: http://pan.baidu.com/s/1o6MOzX4 密码: xzxn

  6. [iOS]C语言技术视频-14-指针变量高级用法(函数指针)

    下载地址: 链接: http://pan.baidu.com/s/1ykyg2 密码: fg5t

  7. 【转】iOS多语言本地化(国际化)设置

    原文网址:http://www.jianshu.com/p/2b7743ae9c90 讨论的iOS应用中的多语言设置,Ok 一般是两种情况: 1.根据当前设备语言自动切换显示 2.在应用中可进行语言设 ...

  8. iOS 国际化多语言设置 xcode7

    iOS 国际化多语言设置 方式一: 1. 在storyboard中创建好UI,然后在 project 里面  Localizables 栏目里面,添加你需要的语言:默认是Englist; 比如这里我添 ...

  9. iOS应用的语言设置

    首先需要明确两个名词的区别:“当前手机的系统语言”.“应用内部的语言设置” 要解决的问题的情景: 在iOS应用中,有时候会调用系统的一些UI控件,例如: 1.在UIWebView中长按会弹出系统的上下 ...

随机推荐

  1. Win 10激活

    Win10专业版激活(亲测有效) 来源:http://jingyan.baidu.com/article/295430f1ce2e880c7e0050ff.html 1.首先,我们先查看一下Win10 ...

  2. 设计模式之序章-UML类图那点事儿

    设计模式之序-UML类图那点事儿 序 打14年年底就像写那么一个系列,用于讲设计模式的,代码基于JAVA语言,最早接触设计模式是大一还是大二来着,那时候网上有人给推荐书,其中就有设计模式,当时给我推荐 ...

  3. 【Reverse Integer】cpp

    题目: Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 click ...

  4. Python-S9-Day123——爬虫两示例

    01 今日内容回顾 02 内容回顾和补充:面向对象约束 03 爬虫之抽屉新热榜 04 爬虫之抽屉自动登录(一) 05 爬虫之抽屉自动登录(二) 06 爬虫之登录github(一) 07 爬虫之登录gi ...

  5. github 上传项目

    注册账户以及创建仓库 要想使用github第一步当然是注册github账号了.之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之 ...

  6. 精通CSS高级Web标准解决方案(7、布局)

    7.1 让设计居中 7.1.1 使用自动空白边让设计居中 <body> <div id="wrapper"> </div> </body& ...

  7. Java学习2

    final在修饰类时,并不限制用户修改对象包含的变量值,只是限制了对象的主转移,只能针对某一个对象进行操作,中途不可更改对象. 重写父类的方法 重写(Override)和重载(Overload)都是针 ...

  8. 初识面向对象-python

    Python 面向对象 一.概念的区分: 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好 ...

  9. Linux互斥锁、条件变量和信号量

    Linux互斥锁.条件变量和信号量  来自http://kongweile.iteye.com/blog/1155490 http://www.cnblogs.com/qingxia/archive/ ...

  10. [Android]APK一键反编译

    每次反编译就是件很烦的事情,烦了就开始偷懒.直接写成脚本节省操作. 使用apktool,d2j-dex2jar进行反编译 脚本:reseve-complie-apk.py import os impo ...