cocoa应程序本地化之infoPlsit.strings文件
来源:互联网 发布:b超3个数据怎么看 编辑:程序博客网 时间:2024/06/05 16:03
在我们做项目中,有时候需要用到本地化语言设置。比如我们要做一个项目除了默认支持英文,我们还想让它支持中文,日语等其它国家语言。这个时候就需要用到infoPlist.strings文件了。当然也可以在项目中自己创建.strings文件。标准的.strings文件它包含了一个或多个键值对(key-value pairs)作为组成部分,key和vlaue在strings文件中,分别是用双引号括起来,并用等号连接的,比如 "welcome"="welcome to use this app..."; 左边welcome就是一个key,这个key也可以不用双引号。右侧就是key对应的value,这个value一定要用双引号。
对于本地化一个典型的应用程序至少有一个.strings文件。那个strings文件在你工程文件夹下的xx.lproj文件夹下面。如下图所示:
en代表:English。zh-Hans代表:中文汉语。
strings文件的创建有两种方式,一种可以手动创建,另一种可以通过代码创建,通过代码创建需要借助命令行工具genstrings。下面分别介绍创建两种方式的步骤
第一种:
手动创建strings文件方式
在xcode软件打开工程界面选中File->New->File...或者command+N,选中Resource中的Strings File
下一步,命名为Localizable这个是默认的名字,当然你也可以命名为其他的。这样就会在工程目录下,生成一个Localizable.strings文件。在工程的info设置里。找到Localizations,点击+添加其他本地化语言,如下图:
同样的方法可以添加其他strings文件。点击某一个strings文件,在最右侧区域找到如下位置:
点击Make Localized按钮,可以添加前面我们添加的语言,成功之后,在Localizable.strings文件下就会有两个strings文件。
创建和设置完成之后,就可以在代码中使用了。
第二种方式,使用genstrings工具在代码中创建。
使用genstrings命令行创建,至少需要两个参数,其余相关参数可以打开终端man genstrings
1)一系列的.m原文件。如果你不知道那个.m文件会用到strings文件,那么就使用*.m。就是工程下所有的.m文件
2)输出目录。
命令如下所示
genstrings -o en.lproj *.m
用命令行的优势在于,可以创建strings,比较新旧版本,再决定把哪个版本加入到工程中。还可以更新已经存在的strings文件,
在代码中.strings的使用的使用:
系统提供了几个宏函数,如下图所示。加载的本质其实就是NSBundle加载xxx.strings,根据key值,得到value,然后返回给我们使用。
如果你使用的示第一个,那么tableName必须是Localizable.也就是默认的。如果你使用的是test.strings文件去本地化,那么可以调用第二个宏函数。tableName就是test.
第三个宏函数表示在指定bundle中去加载strings文件,并获取key所对应的value值。比如你有时候不需要用应用程序的主bundle去加载,仅仅只是需要在一个Framework或者plgu-in去加载strings文件。
strings文件里一个比较重要的key值就是CFBundleDisplayName.这个是在Dock上,显示程序名的,可以把这个key值放在 infoPlist.strings文件里。在程序的xx.plist文件里添加一个键值对,Key值添加Application has localized display name 它的Type设置为Boolean ,Value设置为YES。这样就可以本地化应用程序名在dock中显示相应的语言了。
如下图所示:
- cocoa应程序本地化之infoPlsit.strings文件
- IOS程序多语言本地化合理使用strings文件
- (本地化).strings文件与genstrings tool
- 如何让Cocoa程序支持多语言本地化处理
- Cocoa简单的excel生成多语言strings文件工具
- IOS 本地化Localizable.strings
- 添加Localizable.strings本地化
- 使用Localizable.strings实现本地化
- Creating Attributed Strings in Cocoa
- 本地化文件
- 使用i18n本地化程序,并使用poedit编辑语言文件
- iOS Xcode配置文件之Strings File文件
- php小偷程序新概念之资源本地化(一)
- [Cocoa]深入浅出 Cocoa 之消息
- [Cocoa]深入浅出 Cocoa 之 Framework
- [Cocoa]深入浅出 Cocoa 之 Plugin
- [Cocoa]深入浅出 Cocoa 之 Framework
- [Cocoa]深入浅出 Cocoa 之消息
- BugFree 使用说明
- SQL基础
- 排序方法
- 灼坠桌鬃拽尊住咨啄
- Cocos2d-x 3.0final 终结者系列教程20 《2048》手游开发揭秘
- cocoa应程序本地化之infoPlsit.strings文件
- SQL Server 触发器
- 在传智播客划动实现梦想的船桨
- 黑马程序员_【总结】_ 高新_6_代理类(高新end)
- PHP处理二进制数据
- cocoapods 错误分析整理 和 cocoapods 在Xcode使用
- 合并分支?你还在这么干?
- mysql的数据导出几种方法
- Android--LocationManager