iphone开发过程中的本地化

关于这个问题网上教程无数,但实现的过程中遇到点小麻烦

普通的本地化:

1.在Resources分类下新建文档(右鍵/Add/New File…)
2.在模板对话框中选择Other,然后再选择Strings File 或是 Empty File(我的xcode这一项跑到maxos标签下去了,而不是ios标签页下)
3.将文件保存名设置为Localizable.strings
4.在Localizable.strings 文件上按右键并选择 Get Info
5.点击信息界面的Make File Localizable,然后再将Tab标签切换到General
6.输入新的语言名称 zh 後按 Add,些时有English与zh,jp语言,你还可以增加其它语言.


在源代码中使用NSLocalizedString来引用国际化文件

xxlabel.text =NSLocalizedString(@"text1",@"");


生成key文件
打开Terminal,然后cd到工程所在的目录 cd ~/work/text1 然后


genstrings -o English.lproj  ./classes/*.m
genstrings -o zh.lproj  ./classes/*.m

genstrings -o ja.lproj  ./classes/*.m


Localizable.strings会多一个三角,拉开会有刚刚添加的3种语言文件,在每个文件里添加要翻译的字符串,例如:“text1”=“text1”; “text1”=“文本1”; “text1”=“テキストの1“


对应该程序名字的本地化处理:

比如英语环境下,程序名字叫game,中文下叫游戏

这个需要写到info。plist的CFBundleDisplayName中去,在apple的官方文档:http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102193 有注释


要写到InfoPlist.strings里去。

方法一
1)   对Info.plist进行本地化,然后设置需要的语言(如简体中文zh_CN),设置语言对应的Localization native development region;
2)创建一个空文件,取名为InfoPlist.strings
3)对InfoPlist.strings进行本地化(Get Info  -> Make Localization),然后设置需要的语言(简体中文zh_CN)
4)  编辑不同的InfoPlist.strings文件,设置显示名字,如:CFBundleDisplayName = "游戏";

方法二
1)编辑Info.plist,添加一个新的属性Application has localized display name, 设置其类型为boolean,并将其value设置为选中状态
2)创建一个空文件,取名为InfoPlist.strings
3)对InfoPlist.strings进行本地化(Get Info  -> Make Localization),然后设置需要的语言(简体中文zh_CN)
4)  编辑不同的InfoPlist.strings文件,设置显示名字,如:CFBundleDisplayName = "游戏"; 


InfoPlist.strings与Localizable.strings的区别:

原文:http://lists.apple.com/archives/carbon-dev/2007/Mar/msg00167.html

What's the difference between these two files? Is InfoPList.strings only for properties found in Info.plist?

Yes. If you want strings in Info.plist to be localizable, put them in InfoPList.strings.


按以上步骤,我的应用本地化目前ok了。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值