这是How to localize my app with Xcode 4?问题的后续问题(和答案)。
如何使用Xcode 5.x本地化我的应用程序?
答案 0 :(得分:22)
一旦你理解它就很简单。
您要做的第一件事是向项目添加本地化文件。 为此,只需选择项目的主要组
即可,
然后,从工具栏中选择File → New → File...
(或只需按住⌘N
)
在Resource
类别下,选择Strings File
,
并将其命名为Localizable.strings
(请注意,它区分大小写)。
现在我们有了可本地化的文件,我们可以点击Localize...
File Inspector
按钮
Xcode会询问您是否要对文件进行本地化,只需点击Localize
并选择Base
现在下一部分有点棘手。我们需要输入我们项目的Info
部分,为此,点击Xcode Navigator
中的项目文件,然后在您的右侧,您会看到一个类别命名为PROJECT
,单击此类别下的项目文件
现在,我们可以在Localizations
类别下添加所需的语言。我将添加Norwegian
important
我们只在出现的菜单中选中了Localizable.strings
文件
现在,我们可以展开Localizable.strings
中的Navigator
文件,以查看我们的可本地化文件
我们现在如何处理Base
文件(在我们的Localizable.strings
文件中),这将是我们的应用程序&#34;主要语言&#34;以及我们之前选择的语言。< / p>
了解这些文件的结构必须完全相同非常重要。你会在一秒钟内看到我的意思。
在我们的Base
中,我将添加一个名为it_worked
的字符串,并添加它的本地化
在我们之前选择的语言中(在我的情况下为Norwegian
),我会添加相同的字符串it_worked
(以保留结构),但具有不同的本地化
现在我们已经拥有了本地化文件,我们可以在需要时让我们的应用程序读取它。
我在我的应用中添加了UILabel
,以便我们可以让我们的应用显示本地化文字。
[myLabel setText:NSLocalizedString(@"it_worked", nil)];
现在,如果我启动了我的应用,我们就会看到我们的基本语言
,
如果我将模拟器的语言更改为挪威语,我们会看到我们的其他语言
答案 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将字符串字符串化为本地化