XCODE 4.5 IOS多语言设置 及NSLocalizedString和NSLocalizedStringFromTable的用法。
前 些天升级到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) |
- 此时这两种方法的用途一样:
- NSLog(@"Local string0: %@", NSLocalizedString(@"str0", nil));
- NSLog(@"Local string1: %@", NSLocalizedString(@"str1", nil));
- NSLog(@"Local string0: %@", NSLocalizedStringFromTable(@"str0", @"Localizable", nil));
- 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的用法。的更多相关文章
- iOS多语言设置
最近公司做的项目需要向国外推广,因此app需要添加相应的语言设置,为此整理记录下多语言设置的过程.如有不对的地方,欢迎各位大神指正.下面就详细介绍下设置的过程: 1.基本设置 第一步:首先在 项目工程 ...
- ios多语言设置,操作
多语言在应用程序中一般有两种做法:一.程序中提供给用户自己选择的机会: NSArray *languages = [NSLocale preferredLanguages]; NSString *cu ...
- [iOS]C语言技术视频-16-指针变量高级用法(堆栈内存)
下载地址: 链接: http://pan.baidu.com/s/1qWqWnGo 密码: igjc
- [iOS]C语言技术视频-17-指针变量高级用法练习二(使用堆内存完成链表结构的存储)
下载地址: 链接: http://pan.baidu.com/s/1kTmwIYr 密码: j7xq
- [iOS]C语言技术视频-15-指针变量高级用法练习一(函数指针完成动态排序)
下载地址: 链接: http://pan.baidu.com/s/1o6MOzX4 密码: xzxn
- [iOS]C语言技术视频-14-指针变量高级用法(函数指针)
下载地址: 链接: http://pan.baidu.com/s/1ykyg2 密码: fg5t
- 【转】iOS多语言本地化(国际化)设置
原文网址:http://www.jianshu.com/p/2b7743ae9c90 讨论的iOS应用中的多语言设置,Ok 一般是两种情况: 1.根据当前设备语言自动切换显示 2.在应用中可进行语言设 ...
- iOS 国际化多语言设置 xcode7
iOS 国际化多语言设置 方式一: 1. 在storyboard中创建好UI,然后在 project 里面 Localizables 栏目里面,添加你需要的语言:默认是Englist; 比如这里我添 ...
- iOS应用的语言设置
首先需要明确两个名词的区别:“当前手机的系统语言”.“应用内部的语言设置” 要解决的问题的情景: 在iOS应用中,有时候会调用系统的一些UI控件,例如: 1.在UIWebView中长按会弹出系统的上下 ...
随机推荐
- Azure Active Directory Connect是如何协助管理员工作的?
TechTarget中国原创] 应用基于云的Microsoft Azure Active Directory,管理员们可以将本地Active Directory整合到Windows Server中.通 ...
- Group Policy Object Editor
Group Policy Object Editor The Group Policy Object Editor is a tool that hosts MMC extension snap- ...
- 对于xss等有关的html,url,unicode编码做的一个小总结。
参考:http://bobao.360.cn/learning/detail/292.html,算是对前部分作一个总结性的学习. 1<a href="%6a%61%76%61%73%6 ...
- Monkey日志信息的11种Event percentages
我们查看官方文档,表里只给出了8种事件(可以看我上篇的翻译文档).但我们运行Monkey后,却发现有11种事件!最坑爹的是,在每种事件的百分比后面,他还不给注明是什么事件! 原来不同的Android ...
- Python-S9-Day87——admin的使用
01 admin的使用1 02 admin的使用2 03 admin的使用3 04 url方法的使用 05 单例模式 06 admin源码之注册功能 07 admin源码之url设计 08 admin ...
- PAT——乙级1016
乙级PAT的1016 乙级的题相对比较简单,我也是主要联系写代码的格式,而不是联系算法. 1016 部分A+B (15 point(s)) 正整数 A 的“DA(为 1 位整数)部分”定义为由 ...
- LeetCode with Python -> Dynamic Programming
198. House Robber You are a professional robber planning to rob houses along a street. Each house ha ...
- [oldboy-django][2深入django]浏览器同源策略 + JSONP + cros
浏览器的同源策略: - 同源: 同方法,同域名,同端口 http://www.baidu.com:8000 http: 方法 www.baidu.com: 域名 8000: 端口 - 定义 网上解析非 ...
- Git 笔记 - section 1
1. 创建版本库 创建目录 git init git add <file> git commit -m "本次提交内容的说明" 2. 查看状态 git status g ...
- 查找docker log久远数据方法
问题描述: 同事发现几天前运行的一个文件id存在错误,需要查看docker log,但是使用docker logs -f container_id 上下翻很耗费时间. 解决思路: 每条对应的log都会 ...