iOS国际化和genstrings所有子文件夹本地化字符串
2015-06-25 20:52
531 查看
iOS国际化和genstrings所有子文件夹本地化字符串
在最近的一个繁忙的对外工程。每天加班。没有时间更新博客。简单谈一下知识的国际化。
首先,我们使用串。必须NSLocalizedString(key,comment),所以,我们是不同的Localizable.strings对key指定不同的值,系统会依据当前系统语言。去不同的lproj找不同的字符串。用个图显示吧:
我们应用仅仅支持中文,英文,所以仅仅建了zh-Hans.lproj和en.lproj,然后在Localizable.strings指定了不同的值。举比例如以下:
这样程序就能依据系统语言,去选择“登录”还是“Log In”。
可是假设每次加了一个本地化字符串,就得手动去Localizable.strings加入相应的key,那就太麻烦了,幸好苹果提供了快捷生成本地化key的命令。以下以en.lproj的生成为例:
首先,我们进入程序project所在的文件夹,用命令建立en.lproj
mkdir en.lproj
然后我们遍历全部的子文件夹文件。去生成Localizable.strings,命令例如以下:
find ./ -name *.m -print0 | xargs -0 genstrings -o en.lproj
(基本都说genstrings -o en.lproj *.m就能够生成Localizable.strings。可是这个命令仅仅能生成当前文件夹的。并没有遍历子文件夹。所以基本没用)
这样系统就会把子文件夹用到NSLocalizedString函数的key值都写到文件中。
须要注意的是,NSLocalizedString(key,comment)。用这个函数时,key不能是宏定义或者一些动态字符串,否则用上面的命令会报错。
今天又一次回来做国际化,发现上面的命令是仅仅能遍历.m文件的。但实际发现常常有字符串放在了.h文件。所以应该用例如以下命令去遍历整个.h和.m文件,特它的目的是加:
find . \( -name '*.m' -o -name '*.h' \) -print0 | xargs -0 genstrings -o en.lproj
最后,使,标准化是非常必要的。如果你从来没有使用的代码NSLocalizedString。那就麻烦了。
在最近的一个繁忙的对外工程。每天加班。没有时间更新博客。简单谈一下知识的国际化。
首先,我们使用串。必须NSLocalizedString(key,comment),所以,我们是不同的Localizable.strings对key指定不同的值,系统会依据当前系统语言。去不同的lproj找不同的字符串。用个图显示吧:
我们应用仅仅支持中文,英文,所以仅仅建了zh-Hans.lproj和en.lproj,然后在Localizable.strings指定了不同的值。举比例如以下:
这样程序就能依据系统语言,去选择“登录”还是“Log In”。
可是假设每次加了一个本地化字符串,就得手动去Localizable.strings加入相应的key,那就太麻烦了,幸好苹果提供了快捷生成本地化key的命令。以下以en.lproj的生成为例:
首先,我们进入程序project所在的文件夹,用命令建立en.lproj
mkdir en.lproj
然后我们遍历全部的子文件夹文件。去生成Localizable.strings,命令例如以下:
find ./ -name *.m -print0 | xargs -0 genstrings -o en.lproj
(基本都说genstrings -o en.lproj *.m就能够生成Localizable.strings。可是这个命令仅仅能生成当前文件夹的。并没有遍历子文件夹。所以基本没用)
这样系统就会把子文件夹用到NSLocalizedString函数的key值都写到文件中。
须要注意的是,NSLocalizedString(key,comment)。用这个函数时,key不能是宏定义或者一些动态字符串,否则用上面的命令会报错。
今天又一次回来做国际化,发现上面的命令是仅仅能遍历.m文件的。但实际发现常常有字符串放在了.h文件。所以应该用例如以下命令去遍历整个.h和.m文件,特它的目的是加:
find . \( -name '*.m' -o -name '*.h' \) -print0 | xargs -0 genstrings -o en.lproj
最后,使,标准化是非常必要的。如果你从来没有使用的代码NSLocalizedString。那就麻烦了。
相关文章推荐
- iOS点滴小细节
- IOS数据存储
- iOS多线程编程工具
- iOS中的@class
- ios-动画
- 连载六 奖学金文章更新 张文军 北京IOS第38期学员
- 【笔记】iOS开发基础笔记<—>
- iOS 开发学习40 自动布局约束
- IOS block使用中碰到的一个小坑
- iOS开发中学到的技巧
- IOS7 导航栏适配二
- ios 学习之 NSPredicate 模糊、精确、查询
- iOS下FMDB的多线程操作(二)
- iOS下FMDB的多线程操作(二)
- iOS - 贝塞尔曲线,折线,曲线,波浪线
- iOS开发~CocoaPods使用详细说明
- iOS下FMDB的多线程操作(一)
- iOS下FMDB的多线程操作(一)
- IOS--OC--LessonMermory 内存管理
- IBM WebBIOS配置