如何使用Xcode 4本地化我的应用程序?
我刚刚更新到Xcode 4。
通常,在本地化应用程序时,我们将“Localizable.String”文件添加到项目中,然后导航到“Get Info”菜单并单击“Make It Localized”button。
但是,在Xcode 4中,没有“获取信息”菜单。
当我尝试添加一种语言时,它只会影响“InfoPlist.String”文件(只能本地化应用程序的名称)。
我如何在Xcode 4中添加本地化到我的应用程序?
一旦你明白这一点很简单。
如果你想用Xcode 5 .x和iOS 7或者Xcode 6 .x和iOS 8来完成这个工作,请查看“ 如何用Xcode 5本地化我的应用程序? ”。
我喜欢SNR的联系 ,但是他的回答有点短。
另外,我看到这个问题有点老了,我的答案可能不同于旧版本的Xcode。 (我用Xcode 4.3.3)
但是 ,我已经更新了我的答案,使用Xcode 4.3.5及以下版本+ 4.4以上(以及Xcode 5.x和6.x这里: 如何使用Xcode 5本地化我的应用程序? )。
首先,你应该在iOS资源类别中添加一个新的“string文件”。
接下来,创build文件为“Localizable.strings”。
创build文件时,select它并打开File Inspector。
编辑 :事情已经改变(一点点)与新的Xcode 4.4,4.5(及以上)(iOS 6支持)。 如果您不使用Xcode 4.4或更高版本 ,请跳过此步骤。
{ Xcode 4.4,4.5 (及以上)的方式:
点击“Make localized”button
现在转到您的主项目页面。
然后点击“本地化”下的“+”button,然后select您想要支持的语言。
(我会select德语/德语)
现在会出现一个窗口,询问您要本地化哪些文件,确保只select“Localizable.strings”文件,然后单击完成。
}
{ Xcode 4.3.5及以下的方式:
点击本地化下的“+”button,然后select您想要支持的语言。
(我会select德语/德语)
}
。
。
。
。
您现在应该看到“Localizable.strings”文件下有两个文件。
接下来,在两个本地化文件中添加您的本地化string。
现在来编码部分。
在这里,我将简单地声明一个UILabel
并将其文本设置为Localizable文件string。
宣布:
IBOutlet UILabel *testLabel;
和里面的ViewDidLoad我会使用NSLocalizedString
设置文本:
[testLabel setText:NSLocalizedString(@"TEST", nil)];
完成后,只需在“Interface Builder”中连接我们的testLabel
。
现在,您应该能够运行项目并查看本地化的string。 如果你改变语言,你也应该看到本地化的string改变。
select您想要本地化的文件,然后点击公用程序部分的文件检查器。 有一个部分本地化
您可以在select文件时查看文件信息(并添加本地化),并通过主菜单的“查看” – >“实用程序” – >“文件检查器”打开“文件检查器”。
首先你需要添加新的Localizable.string文件,并select它并转到查看“ – >”实用工具“ – >”文件检查点击+button在本地化部分添加语言。 也检查它XCode 4,添加本地化
xcode4本地化的方式已经改变! 右键单击localizable.strings并添加对其他语言的支持,只需单击右侧“本地化”窗格中的“+”即可。
您可以使用用户定义的运行属性的高级function:
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将您的string串起来进行本地化
你不需要声明IBOutlet,也不需要在ViewDidLoad [testLabel setText:NSLocalizedString(@“TEST”,nil)]中编写代码。
或者你可以使用TraductoPro为你自动化这个过程,并节省很多时间。 这是一个与Xcode很好集成的Mac应用程序。
如果您想要在您的应用程序内切换语言的dynamic方式并使用基于Pod的解决scheme,请查看:
https://github.com/nullic/DPLocalizationManager
安装时使用: pod 'DPLocalization', '~> 1.2'
它支持相同的标准本地化文件,但也使用dynamic链接使用User Defined runtime attributes
,也内部代码,如viewDidLoad
。
示例项目中的一些示例:
self.startup.text = DPLocalizedString(@"TITLE", nil); self.label.autolocalizationKey = @"LABEL_TEXT"; [self.label updateAutolocalizationArguments:@[@"Hello", @1234567890, [NSDate date]]]; self.autolocalizationKey = @"TITLE";
下载包含示例项目的git项目,其中显示了几个示例。