Swift - iOS应用的国际化与本地化

原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_794.html
在Xcode中我们可以很方便的将APP适配各种本地化语言。苹果的框架已经帮我们把不同语言的数据分离开,包括图片,声音,视频,文档,用户界面文字(甚至代码中编写的用户界面文字),它们会被建立在同一个bundle中,便于我们管理。

下面分别介绍字符串,图片,应用程序名是如何实现多语言本地化,以及如何切换语言进行测试。

效果图如下:
这里写图片描述 这里写图片描述
这里写图片描述 这里写图片描述

1,本地化字符串
(1)项目配置 -> “Info” -> “Localizations”区域下,可以看到工程默认只支持英文,我们可以再添加中文语言。
(选择添加语言之后,会出现要选择的本地化文件,这里我们默认都选择)
这里写图片描述

这里写图片描述

这里写图片描述

(2)在工程中,右键添加文件(New File…),选择Resource下的Strings File文件类型,文件名定义为“Localizable.strings”
这里写图片描述

(3)选中刚创建的“Localicable.strings”文件,在右侧属性面板中点击“Localize…”创建本地化资源
这里写图片描述 这里写图片描述
这里写图片描述

(4)分别在英文和中文资源下,输入如下键值对

//英文资源里
"Welcome" = "Welcome to hangge.com";

//中文资源里
"Welcome" = "欢迎来到hangge.com";

(5)使用NSLocalizedString函数来访问Localizable.strings资源文件。
NSLocalizedString函数第一个参数为对应的键名,第二个是自定义的说明,给开发或翻译人员看的。

myLabel.text = NSLocalizedString("Welcome", comment: "Welcome")

2,本地化图片
(1)选中需要本地化的图片,同上面一样点击“Localize…”创建本地化图片资源。
这里写图片描述

(2)打开工程目录,可以看到在中文资源和英文资源下都有这个图片,把需要替换的图片替换掉。

这里写图片描述

(3)图片使用同平时一样

myImage.image = UIImage(named: "logo.png")

3,应用名称的本地化
(1)要实现应用名称根据语言环境显示不一样的名称,只需创建InfoPlist.strings文件,并像上面一样实现本地化资源。
这里写图片描述

(2)分别在英文和中文InfoPlist.strings文件中定义CFBundleDisplayName值。

//英文资源里
"CFBundleDisplayName" = "hangge";

//中文资源里
"CFBundleDisplayName" = "航歌";

4,在Xcode中切换语言
为了调试国际化,我们除了可以进入模拟器或真机里切换系统语言。也可以在Xcode中配置相关项,使Debug运行时预览不同语言和地区APP的界面效果。

(1)选择“Product” -> “Scheme” -> “Edit Scheme…”
这里写图片描述

(2)切换语言后运行工程

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值