Swift实用技术系列-XCode6本地化图解

一、首先讲解下本地化和国际化的区别

这是两个非常容易混淆的概念,总的来说,本地化就是把UI变成本地语言,比如英文的cancel变成中文就是取消。国际化就是功能上支持国际化,比如键盘的国际化就是对应不同国家给他们不同的键盘。

本地化的原理:创建对应不同语言的本地化文件,然后每次去读名称一样的本地化文件,ios系统会根据当前语言的不同读不同的文件


二、本地化程序中的字符主要步骤

1、首先建立一个新文件(快捷键Command+N),选择IOS Resource -> Strings File 命名为hwcLocalizable。这样会生成一个Localizable.Strings的新文件


2、选择左上角项目图标->project->在info的最下面->Localizations->选择加号->选择想要本地化的语言->选择所有提示框中的文件->完成。这样在storyboard 和 info.plist两个文件左边会出现两个小的三角形。然后点击这个小的三角形会看到生成了Main.strings(chinese(simplified)),这个就是本地化storyboard的文件


3、选择Localizable.Strings


然后选择



接下来选择中文简体,这样对于选择Localizable.Strings左边会出现一个小的三角形,点击小的三角形,会出现一个对应的中文strings的文件


4、把对应的内容写到Strings的文件里

比如:对于Localizable.strings(English)

“Done” = "Done";

对于Localizable.strings(Chinese(Simplified))

"Done" = "完成";


5、在每次使用到字符串的地方改成读文件

完整的调用函数

func NSLocalizedString(
    key: String,
    tableName: String? = default,
    bundle: NSBundle = default,
    value: String = default,
    #comment: String) -> String
由于swift可以省略含有defalut的变量,所以可以简单调用
NSLocalizedString("Done", comment: "Done")


三、本地化图片

方法1:

采用如二中的方式,把图片的名称写到strings里,然后每次使用的时候用NSLocalizedString去读

方法2:

点击图片,然后



选择对应语言后会像Localizable.Strings那样生成多个图片,右击图片,show in finder,然后在对应文件夹下进行替换

四、本地化应用程序名称

首先在info.plist文件中添加如下key-value对


Application has localized display name

然后仿照(二)中的方式建立InfoPlist.strings(一定要是这个名字)

然后在中文和英文对应的InfoPlistStrings分别对应

"CFBundleDisplayName" = "你的应用程序名称"; 
"CFBundleDisplayName" = "Your_Product_Name"; 

至于本地化应用程序图标,暂时没找到合适的方案

贴上一个stackoverflow的链接

http://stackoverflow.com/questions/18978016/ios-app-icon-localized




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值