我必须将应用程序开发成四 (4) 种语言(英语、法语、斜体、西班牙语)。
因此,为此我想知道是否有任何方法可以.xib file
在顶部栏中仅使用一 (1) 来显示不同的语言数据。
例子:
我有 Setting.xib (.xib 文件),其中视图部分有四个标签,并且在该 Nib 文件的顶部栏中我想根据设置的语言使用 One & Only 一个 Nib 文件更改标签名称。
所以,请给我适当的解决方案。
这将花费更少的时间来加载。
我必须将应用程序开发成四 (4) 种语言(英语、法语、斜体、西班牙语)。
因此,为此我想知道是否有任何方法可以.xib file
在顶部栏中仅使用一 (1) 来显示不同的语言数据。
例子:
我有 Setting.xib (.xib 文件),其中视图部分有四个标签,并且在该 Nib 文件的顶部栏中我想根据设置的语言使用 One & Only 一个 Nib 文件更改标签名称。
所以,请给我适当的解决方案。
这将花费更少的时间来加载。
首先,我不明白为什么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 中设置,这样您就可以从该类中的任何方法/函数访问它。