2

我必须将应用程序开发成四 (4) 种语言(英语、法语、斜体、西班牙语)。

因此,为此我想知道是否有任何方法可以.xib file在顶部栏中仅使用一 (1) 来显示不同的语言数据。

例子:

我有 Setting.xib (.xib 文件),其中视图部分有四个标签,并且在该 Nib 文件的顶部栏中我想根据设置的语言使用 One & Only 一个 Nib 文件更改标签名称。

所以,请给我适当的解决方案。

这将花费更少的时间来加载。

4

1 回答 1

2

首先,我不明白为什么NSLocalizedString在设置标签文本时不能简单地使用,它完全按照您的意愿,根据设备的语言加载适当版本的文本。

无论如何,我想你可以在这里找到一些有用的东西。

我实际上做了类似的事情,有六种语言,只有一个 Nib,但在我的情况下,我可以在应用程序内部更改语言,所以我需要能够强制告诉它从特定的捆绑包。

如果您的问题更像我的问题并且一个简单的 NSLocalizedString 还不够,这里是应该可以帮助您的确切代码:

NSString* path= [[NSBundle mainBundle] pathForResource:[[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] objectAtIndex:0] ofType:@"lproj"];

NSBundle* languageBundle = [NSBundle bundleWithPath:path];

someLabel.text = [languageBundle localizedStringForKey:@"textKey" value:@"" table:nil];

由于您可能有多个标签,因此最好将路径存储为类属性并在 viewDidLoad 中设置,这样您就可以从该类中的任何方法/函数访问它。

于 2012-06-01T10:19:00.623 回答