.xib文件中的多语言标签更改。

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

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

例:

我有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中设置是个好主意,这样您就可以从该类中的任何方法/函数访问它。