Xcode 6本地化iOS程序

来源:互联网 发布:java createelement 编辑:程序博客网 时间:2024/06/05 16:25

本文翻译来自
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: 翻译过程中略掉了小部分不重要内容。

0 0
原创粉丝点击