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

时间:2014-04-26 07:55:33

标签: ios xcode localization internationalization xcode5

这是How to localize my app with Xcode 4?问题的后续问题(和答案)。

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

2 个答案:

答案 0 :(得分:22)

一旦你理解它就很简单。

您要做的第一件事是向项目添加本地化文件。  为此,只需选择项目的主要组

即可

main group

然后,从工具栏中选择File → New → File...(或只需按住⌘NNew File

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

现在我们有了可本地化的文件,我们可以点击Localize...

中的File Inspector按钮

File Inspector

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

现在下一部分有点棘手。我们需要输入我们项目的Info部分,为此,点击Xcode Navigator中的项目文件,然后在您的右侧,您会看到一个类别命名为PROJECT,单击此类别下的项目文件

Project File

现在,我们可以在Localizations类别下添加所需的语言。我将添加Norwegian

Languages

important我们只在出现的菜单中选中了Localizable.strings文件 Localizable.strings file checked

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

我们现在如何处理Base文件(在我们的Localizable.strings文件中),这将是我们的应用程序&#34;主要语言&#34;以及我们之前选择的语言。< / p>

了解这些文件的结构必须完全相同非常重要。你会在一秒钟内看到我的意思。

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

it_workedEN

在我们之前选择的语言中(在我的情况下为Norwegian),我会添加相同的字符串it_worked(以保留结构),但具有不同的本地化

it_workedNO

现在我们已经拥有了本地化文件,我们可以在需要时让我们的应用程序读取它。

我在我的应用中添加了UILabel,以便我们可以让我们的应用显示本地化文字。

[myLabel setText:NSLocalizedString(@"it_worked", nil)];

现在,如果我启动了我的应用,我们就会看到我们的基本语言

Base Language (EN)

如果我将模拟器的语言更改为挪威语,我们会看到我们的其他语言

Other Language (NO)

答案 1 :(得分: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