Xcode4.6 国际化设置 NSLocalizedString
来源:互联网 发布:cnc数控编程 编辑:程序博客网 时间:2024/06/07 13:58
因为这两天还做国际化相关的东西,所以网上搜索了下国际化相关的教程,但是发现由于xcode升级,按照以前的那种方法是行不通的。所以自己摸索了一些时间,终于搞出来了,特地写在这里,标记一下。
首先看一下 NSLocalizedString 是什么。
#define NSLocalizedString(key, comment) \
[[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]
这是一个宏,本质上是调用了函数 localizedStringForKey:这样,这个宏做的其实就是在当前bundle中查找资源文件名Localizable.strings中键值key所指向的字符串.
下面开始动手实现
1.首先创建个名字为Localizable.strings的文件。
2.创建完成后选中该文件, 然后右侧的属性选择器中点击 localize按钮
点击后会出来国际化的选择框, 通常会只有一个English选项, 然后点击Localize按钮。
3.
点击工程根目录,并选择PROJECT,然后选择Info选项卡,底部我们就看到了Localizations
然后点击+号,选择Chinese
4.这时工程目录中Locallizable.strings就有了两个子文件,
然后打开Localizable.strings(English)文件,在里面添加
"button" = "btn";
记得要以分号结尾。在Localizable.strings(Chinese)文件中添加
5。 然后在代码中创建个按钮,然后设置按钮的标题。
[self.btnsetTitle:NSLocalizedString(@"button",@"this is a title") forState:UIControlStateNormal];
运行后,将会发现标题的按钮名字已经改好了
如果模拟器的语言是英文的话,那么就显示btn
是中文的话,就显示 "按钮"。
到这里,国际化操作就完成了。
注意:
如果创建.strings文件是自定义的名字的话,如当前我起名为 Internation.strings,那么调用的方式为:
NSLocalizedStringFromTable(@”title”,@”Internation”, nil) NSLocalizedStringFromTable(@”name”,@”Internation”, nil)
当自定义名字后,使用NSLocalizedString的方式不起作用,这里要注意;
- Xcode4.6 国际化设置 NSLocalizedString
- Xcode 4.6 国际化设置NSLocalizedString
- 国际化NSLocalizedString
- NSLocalizedString 实现国际化
- NSLocalizedString 实现国际化
- NSLocalizedString 实现国际化
- ios国际化-NSLocalizedString
- NSLocalizedString 国际化失败
- 开发国际化 NSLocalizedString用法
- 国际化NSLocalizedString(续)
- iOS国际化:NSLocalizedString的使用
- iOS 国际化 xcode4.5
- iPhone中使用NSLocalizedString实现国际化
- iPhone 中使用NSLocalizedString实现国际化
- iPhone 中使用NSLocalizedString实现国际化
- iPhone 中使用NSLocalizedString实现国际化
- iPhone中使用NSLocalizedString实现国际化
- iPhone应用中使用NSLocalizedString实现国际化
- Oracle回收站解决误删除表
- 【Android 预定义样式】
- C# 在项目中设置命令行的多个参数
- 黑马程序员-编码
- runtime的个人理解
- Xcode4.6 国际化设置 NSLocalizedString
- python内置HTMLParser模块
- C#下判断当前操作系统代码
- 将dropbear SSH移植到arm9开发板
- golang操作mysql数据库
- 图片浏览(附带样式+效果)
- 数据库范式总结
- Android应用开发以及设计思想深度剖析
- 安卓源码编译