Xcode 6本地化iOS程序

本文详细介绍了将iOS应用程序转化为不同语言的过程,包括国际化和本地化的步骤,通过具体实例展示了如何在Xcode中实现本地化,并提供了从导出Strings文件到导入并测试本地化的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文翻译来自
http://code.tutsplus.com/tutorials/localizing-an-ios-application-in-xcode-6–cms-23502转载请注明,谢谢!

转化iOS应用程序到不同的语言可以分为2步

第一步就是列出所有需要显示的文字,图片,以及其它代码和storyboards(后面直接译为故事板)需要被转化的。这个步骤叫做国际化。
在国际化App值后,接下来是做本地化。将翻译者翻译好的资源文件导入到Xcode中,没有意外的话,App就已经能够支持其它语言了。

  1. 设置

我们将使用一个简单的例子来实现本地化。创建一个新的工程名为LocalzationExample,接下来我们创建一个简单的用户界面来先是我们的本地化效果。在Main.Storyboard中,添加一个label和imageView,改变label的文字为”Hello,World!”. 下载链接中的资源文件,然后添加到你的Xcode工程中(如果需要,请勾选Copy items if needed).然后设置ImageView的image为当前添加的图片,确保勾选Center Horizontaly in Container.

你也应当知道如何本地化代码中的文字,在AppDelegate.m的applicationDidFinishLaunching

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
    NSLog(@"Hello, World!");
    return YES;
}

这样我们就需要本地化三种资源,image,label,以及代码中的文字

  1. 国际化

第一步: 故事版设置
选中LocalizationExamle然后在Localizations下面点击”+”,然后选择Spanish(es).然后就将会弹出一个窗口,确保选中了Main.Storyboard和LaunchScreen.xib,然后点击Finished

然后你会发现在Main.Storyborad 下面出现了一个base和一个Spanish文件.

第二步: 设置代码中的国际化

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{
    NSString *greeting = NSLocalizedString(@"Hello, World!", @"A friendly greeting");
    NSLog(@"%@", greeting);
    return YES;
}
  1. 本地化
    第一步: 导出Strings文件
    Xcode可以很见到就导出一个XML Localization Interchange File Format (.xliff)文档,选中工程,然后在菜单中点击Editor->Export For Localization,选择一个位置,然后保存

将文件发送给你的翻译者,他们有特定的软件来打开并且翻译。此处我们直接进行修改

打开文件,找到”Hello, World!”,可以看到,第一个是label的文字,第二个就是代码中的文字。然后修改target都为”Hola,Mundo!”,第二个没有就添加一个target,然后保存

第二步: 导入Strings 文件
选中工程然后在菜单栏中点击Editor->Import Localizations 然后选中刚修改的.xliff 文件。这个时候我们就已经搞定了语言了

第三步: 本地化图片
本地化图片要比本地化语言稍微复杂点

首先选中图片,然后点击Localize按钮,然后弟那集English,选中English和Spanish2个. 然后到Xcode工程文件中打开语言对应的包,分别替换图片

第四步:测试本地化

修改Scheme,将程序的语言改变为Spanish和English,分别查看效果

PS: 翻译过程中略掉了小部分不重要内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值