IOS应用的国际化

1.国际化和本地化的差别
简单说,国际化是一个应用程序国际兼容性设计的过程,比如:
1.以用户母语处理文本输入和输出;
2.处理不同的日期、时间以及数字格式;
3.利用适当的历法和时区处理数据;
 
国际化是一项你和开发者通过利用系统提供的API来实现的活动,并在代码上做一些补充和修改,从而让应用的中文版、阿拉伯语版本和英文版一样好。
 
相比之下,本地化仅仅是把应用的用户界面和资源翻译成不同的语言,这是你可以也应该交给别人做的工作,除非你能精通app应该支持的每种语言。
2.开始实现应用的本地化 
(1)新建一个项目

图片
(2)添加本地化文件,右键点击项目,选择
 File>New File
图片
(3)命名:此处很重要,请将本地化文件命名为:Localizable。
Localizable.strings是iOS用来本地化文本默认的文件名称。请抑制以其他内容给它命名的冲动,否则以后你每次引用本地化字符串的 时候要一次次输入.strings 文件名。
图片
(4)添加你需要的语言,系统默认的是English,点击添加你需要的语言。
图片
(5)添加后,点击新建的本地化文件,在右侧点击localize(箭头所指),然后添加需要的语言。
图片
(6)添加完毕后,如下图所示。点击Localizable.strings,在base和simplified中分别写入你需要语言的对应字符。
  你需要添加所有的文本--当前硬编码在app中的文本。你需要遵从一个特定但简单的格式,类似于字典:
“key” = “value”;
比如下面我给的key分别是“hello”,“world”。在base和
simplified分别写入需要语言的对应翻译。英文的文件为“hello”和“world”,中文的为“你好”和“世界”。

Key/content对也可以包含格式化字符串: "Yesterday you sold %d apps"  =  "Yesterday you sold %d apps";
_salesCountLabel.text = [NSString stringWithFormat:@"Yesterday you sold %d apps"
10];  
图片


(7)使用,如果用的是代码编程,可使用
NSLocalizedString ( @"key" nil );  key对应的是所需要的key,后面的参数为nil是因为我们的本地化文件文件名是 Localizable。

(8)如果,用的是storyboard的开发,可使用以下方法进行本地化
首先,找到对应控件的Object ID 
图片
然后在main.strings中修改对应的文字即可



最后要注意一点:本地化的测试都必须用真机测试!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值