如何使用Xcode 5本地化我的应用程序?

10
2个回答

23

一旦你理解了它,它就很简单。

第一件事是将一个本地化文件添加到你的项目中。为此,只需选择项目的主组:

main group

然后从工具栏中选择文件→新建→文件...(或者按住⌘N键)New File

资源类别下,选择Strings File Select "Strings File", 并将其命名为Localizable.strings(注意它区分大小写)localizable.strings Name

现在有了本地化文件后,我们可以在文件检查器中点击本地化...按钮

File Inspector.

Xcode会询问你是否要对该文件进行本地化,请选择Base并点击本地化 Localize?

现在接下来的步骤有些棘手。我们需要进入项目的信息部分,为此,请在Xcode的导航器中点击项目文件,然后在右侧你会看到一个名为PROJECT的类别,在这个类别下选择你的项目文件

Project File.

接下来,我们可以在本地化类别下添加我们想要的语言。我将添加Norwegian(挪威语)

Languages.

重要的一点是,我们只能在菜单中选中我们的Localizable.strings文件 Localizable.strings file checked

现在我们可以在导航器中展开Localizable.strings文件以查看我们的本地化文件 Strings file expanded

我们现在拥有了我们的Base文件(在我们的Localizable.strings文件中),它将是我们应用程序的“主语言”,和我们之前选择的语言。

重要的是要知道这些文件的结构必须相同。你很快就会理解我的意思。

在我们的Base中,我将添加一个名为it_worked的字符串,并添加它的本地化

it_workedEN.

在我们之前选择的语言(在我的例子中是Norwegian),我将添加相同的it_worked字符串(以保持结构),但有不同的本地化

it_workedNO.

现在我们有了本地化文件后,我们可以使应用程序在需要时读取它。

我向我的应用程序添加了一个UILabel,这

[myLabel setText:NSLocalizedString(@"it_worked", nil)];
现在如果我启动我的应用程序,我们将看到我们的基本语言Base Language (EN), 如果我将模拟器的语言更改为挪威语,我们将看到另一种语言Other Language (NO)

3
你不需要在代码中添加uilabel并更改文本。
你可以利用用户定义的运行时属性:

http://cupobjc.blogspot.com.es/2014/04/interfaz-builder-localization.html

首先定义一个新的UILabel类别:

#import "UILabel+Localized.h"

@implementation UILabel (Localized)
-(void) setTextLocalized:(NSString *)aText{
     [self setText:NSLocalizedString(aText, nil)];
}
@end

在界面构建器中,选择用户定义的运行时属性:
textLocalized 字符串 你需要本地化的字符串

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接