转自:http://hi.baidu.com/amigoradio/item/841e9c81d97034efe596e04b
app是针对国内市场的,但国内付费软件的状况不咋样,也就顺道卖卖全球市场了。
针对这个需求,对app中的文字和app的软件名称做了国际化处理。另外xib文件和图标貌似都是可以进行国际化处理的。但我的项目中没有这个需求,也就没去查找相关的资料
xcode4和xcode3上面关于制作国际化文件的操作步骤不太一样。网上关于xcode3中国际化的文件很多,xcode4的不多。根据自己制作的过程来记录下来
1)在项目的“supporting files”目录中右键“new file”然后在弹出窗口左侧选择IOS的resource项,在右侧就可以看到“String File”的图标。创建这个文件,新建的文件名要写成“Localizable.strings”
2)点击刚才创建的这个文件,选择xcode4的菜单中的“view”-》“utilities”-》“file inspect” 右侧会看到一些属性的信息
3)找到Localization这项,现在应该是空的,点“+”进行国际化的添加。因为我只制作了中文和英文,所以我加了“English”和“Chinese”,这里要注意的是“Chinese”要选择“zh_Hans”,这个是简体中文。
4)添加好后就可以看到你项目目录下会生成对应的目录,zh-Hans.lproj和en.lproj 目录里面就是Localizable.strings的文件
5)在xcode4中可以看到原先创建的Localizable.strings文件的左侧会多出一个三角图标,点击后会扩展出2个文件,一个中文,一个英文的。点击每个文件进行编辑就可以了。
6)文件中的格式是“Key”=“value”; 引号是必须加的,分号也是。
7)在程序中需要使用国际化字符串的时候,调用NSLocalizedString(@"about", nil)就可以进行字符串的显示。其中第一个字符串就是文件中的key,第二个字符串可以使用nil代替也可以写一些注释
关于程序文件名的国际化
1)按照上面的步骤制作国际化文件,文件名是infoPlist.strings
2)文件中的key使用指定的CFBundleDisplayName,例子CFBundleDisplayName="game";
3)Info.plist,添加一个新的属性Application has localized display name, 设置其类型为YES
4) Info.plist,中检查Bundle name和Bundle display name 是否为${PRODUCT_NAME}
关于xib文件的国际化,这个我的项目使用cocos2d,所以我不关注这个。
关于图片的国际化
原理与文字的国际化类似,就是 “view”-》“utilities”-》“file inspect”里面添加语言类型就可以了。
必须一个图片一个图片的添加。
注意大小写,自己是犯了这样的错误导致查了半天才查到问题