iOS多语言工具genstrings for Localizable.strings
来源:互联网 发布:坐船去美国 知乎 编辑:程序博客网 时间:2024/05/22 14:45
最近在忙着一个国外项目,天天加班,没时间更新博客。就简单讲讲国际化的知识。
首先,我们使用字符串,必须用NSLocalizedString(key,comment),这样我们在不同的Localizable.strings对key指定不同的值,系统会根据当前系统语言,去不同的lproj找不同的字符串。用个图显示吧:
我们应用只支持中文,英文,所以只建了zh-Hans.lproj和en.lproj,然后在Localizable.strings指定了不同的值。举例如下:
这样程序就能根据系统语言,去选择“登录”还是“Log In”。
但是如果每次加了一个本地化字符串,就得手动去Localizable.strings添加对应的key,那就太麻烦了,幸好苹果提供了快捷生成本地化key的命令。下面以en.lproj的生成为例:
首先,我们进入程序工程所在的目录,用命令建立en.lproj
然后我们遍历所有的子目录文件,去生成Localizable.strings,命令如下:
(基本都说genstrings -o en.lproj *.m就可以生成Localizable.strings,但是这个命令只能生成当前目录的,并没有遍历子目录,所以基本没用)
这样系统就会把子目录用到NSLocalizedString函数的key值都写到文件里。
首先,我们使用字符串,必须用NSLocalizedString(key,comment),这样我们在不同的Localizable.strings对key指定不同的值,系统会根据当前系统语言,去不同的lproj找不同的字符串。用个图显示吧:
我们应用只支持中文,英文,所以只建了zh-Hans.lproj和en.lproj,然后在Localizable.strings指定了不同的值。举例如下:
这样程序就能根据系统语言,去选择“登录”还是“Log In”。
但是如果每次加了一个本地化字符串,就得手动去Localizable.strings添加对应的key,那就太麻烦了,幸好苹果提供了快捷生成本地化key的命令。下面以en.lproj的生成为例:
首先,我们进入程序工程所在的目录,用命令建立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不能是宏定义或者一些动态字符串,否则用上面的命令会报错。
0 0
- iOS多语言工具genstrings for Localizable.strings
- 【iOS开发】Localizable.strings文件&&语言国际化
- IOS 本地化Localizable.strings
- ios Xcode7.2下创建本地化语言Localizable.strings
- Localizable.strings IOS 国际化支持
- iOS多语言-Localizable.strings2Excel 使用笔记
- 本地化语言 Localizable iOS
- genstrings iOS国际化语言支持
- Localizable.strings 文件 切换语言国际化
- Localizable.strings
- Localizable strings
- Localizable strings
- iOS UITextView 与 Localizable.strings中的换行
- ios里面 Localizable.strings文件一点小知识(个人理解)
- iOS开发 – 应用国际化开发 - Localizable.strings
- ios里面 Localizable.strings文件一点小知识(转载)
- Localizable.strings 文件
- 添加Localizable.strings本地化
- 升级yosemite后java出错的解决
- UIResponder
- linux-mysql-rpm安装方式
- Swift学习之UILabel基本用法
- shell 使用中碰到的问题及解决方法
- iOS多语言工具genstrings for Localizable.strings
- 设计模式学习笔记-单例模式
- 2 million pixels RTMP protocol IP camera,Push stream to FMS/RED5/WOWZA
- 进阶
- alibaba/druid 使用ConfigFilter
- 人脸识别,人脸关键点检测算法
- Android Studio中NDK的配置
- QT模拟时钟
- MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践