iOS国际化:NSLocalizedString的使用
因为iOS和XCode版本号更新得太快的原因,导致网上非常多文章都失去了时效性,或许再过两三个月我这篇文章也将走上这条路,但起码能够让现阶段看到的人对iOS的国际化有个比較清楚的认识。
- NSLocalizedString的定义
来看宏定义部分:
- #define NSLocalizedString(key, comment) \
- [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]
第二个參数comment能够是nil,能够是一段为空的字符串,也能够是对key的凝视
第一个參数key是从Localizable.strings这个文件里读取相应的key-value值。
- 认识Localizable.strings文件
XCode4和之前的版本号已经变化太大,之前被诸多文章提及的Get Info之类的已全然失效。请採用本文方法进行又一次配置Localizable.strings
假设认为图片太小的话。能够右击复制图片到新窗体看









- NSLocalizedString槽点
使用NSLocalizedString的时候,文件名称必须是Localizable.strings。大写和小写我没測试过,有兴趣的朋友能够自已測试下。假设文件名称不正确,就仅仅能显示key的名称,而不是value。就这个小问题,困扰了我2个小时,次奥。必须吐槽!BTW:CSDN的排版也非常渣啊,想偷个懒都不行。还得HTML编辑排版。
。。假设还有不明确的地方能够參考这位朋友的博客链接点击打开链接
稍后会发布源码。让大牛们见笑了。。。
iOS国际化:NSLocalizedString的使用的更多相关文章
- iOS 国际化 NSLocalizedString
iOS 国际化.根据系统不同的语言自动切换. 首先.选择项目 Add new file -->iOS -->Resource -->Strings File . 命名为Locali ...
- iOS国际化
本文介绍iOS国际化包含以下几种: 应用名称,文字,图片和xib 首先在工程里添加支持的语言,这里用了English和中文 然后创建两个.strings类型的文件,文件名分别为InfoPlist和Lo ...
- iOS 国际化多语言设置 xcode7
iOS 国际化多语言设置 方式一: 1. 在storyboard中创建好UI,然后在 project 里面 Localizables 栏目里面,添加你需要的语言:默认是Englist; 比如这里我添 ...
- 详述iOS国际化
在真正将国际化实践前,只知道通过NSLocalizedString方法将相应语言的字符串加载进来即可.但最近公司项目的新需求增加英文版本,并支持应用内无死角切换~,这才跳过各种坑实现了应用内切换语言, ...
- iOS国际化和genstrings所有子文件夹本地化字符串
iOS国际化和genstrings所有子文件夹本地化字符串 在最近的一个繁忙的对外工程.每天加班.没有时间更新博客.简单谈一下知识的国际化. 首先,我们使用串.必须NSLocalizedString( ...
- 【转】详述iOS国际化
原文网址:http://www.cocoachina.com/ios/20151120/14258.html 在真正将国际化实践前,只知道通过NSLocalizedString方法将相应语言的字符串加 ...
- Ios国际化翻译工具
IOS Translation Tool(IOS国际化翻译工具) 介绍 当IOS项目国际化的时候,手工去翻译每一个字符串是一件非常痛苦的事情.尤其是当项目中存在N多种语言.而且又很难保证,手工翻译的准 ...
- 吐槽iOS国际化:关于NSLocalizedString的使用
http://blog.csdn.net/aries4ever/article/details/8185405
- iOS学习——iOS国际化(十二)
开发的移动应用更希望获取更多用户,走向世界,这就需要应用国际化,国际化其实就是多语言.这篇文章介绍Xcode4.5以后的国际化,包括应用名国际化和应用内容国际化.如果是Xcode4.5之前版本请参考. ...
随机推荐
- swift详解之九---------------自动引用计数、循环引用
自动引用计数.循环引用(这个必须理解,必须看) 注:本文详细介绍自动引用计数,以及各种循环引用问题.一网打尽! 1. 自动引用计数原理 Swift 使用ARC机制来跟踪和管理你的内存,一般情况下,Sw ...
- C字符串指针遇到的问题
看下面的示例代码: int main() { char *ptr = "GeeksQuiz"; printf("%c\n", *&*&*ptr) ...
- 22. SCHEMA_PRIVILEGES
22. SCHEMA_PRIVILEGES SCHEMA_PRIVILEGES表提供有关schema(数据库)特权的信息.它从mysql.db系统表中获取其值. SCHEMA_PRIVILEGES表有 ...
- linux系统日志中出现大量systemd Starting Session ### of user root 解决
这种情况是正常的,不算是一个问题 https://access.redhat.com/solutions/1564823 Environment Red Hat Enterprise Linux 7 ...
- webpack之source map
先来一个webpack小例子,项目结构如下: // greeter.js module.exports = function() { var greet = document.createElemen ...
- 虚拟机如何设置静态IP
一.本机环境 Mac.VMware Fusion 10, CentOS6.8 二.设置静态IP地址 1.选择网络连接模式,选择NAT模式 注意: 1)必须要选择NAT模式,否则你的虚拟机与主机始终会在 ...
- NowCoder栗酱的连通图(最小生成树, 结论)
链接: https://www.nowcoder.com/acm/contest/52/K 题意: 给定n个点,每个点有自己的权值, 然后让你添加n-1条边,使其边权和最大, 边权的定义是两点的点权和 ...
- 【01】魔芋使用MDN的一点点经验
[01]魔芋使用MDN的一点点经验 1,MDN地址: https://developer.mozilla.org/en-US/(下图) 2,建议看英文原文.因为中文翻译落后,并且有些翻译并 ...
- INFO main org.springframework.context.support.AbstractApplicationContext
原因, spring-framework-5.0.2.RELEASE 需要使用 jdk8.
- zoj 1383 Binary Numbers
Binary Numbers Time Limit: 2 Seconds Memory Limit: 65536 KB Given a positive integer n, print o ...