Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios .xib文件中的多语言标签更改。_Ios_Iphone_Localization_Xib_Nslocalizedstring - Fatal编程技术网

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

Ios .xib文件中的多语言标签更改。,ios,iphone,localization,xib,nslocalizedstring,Ios,Iphone,Localization,Xib,Nslocalizedstring,我必须将应用程序开发成四(4)种语言(英语、法语、斜体、西班牙语) 因此,我想知道是否有任何方法可以只使用顶部栏中的一(1).xib文件来显示不同的语言数据 示例: 我在中有Setting.xib(.xib文件) 其中有四个标签在 在该视图的顶部栏中查看零件和 Nib文件我想更改标签 根据集合语言命名 仅使用一个Nib文件(&O) 所以,请给我一个合适的解决方案 这将减少加载时间。首先,我不明白为什么您不能简单地使用NSLocalizedString设置标签文本时,它完全按照您的需要,根据设备的

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

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

示例:

我在中有Setting.xib(.xib文件) 其中有四个标签在 在该视图的顶部栏中查看零件和 Nib文件我想更改标签 根据集合语言命名 仅使用一个Nib文件(&O)

所以,请给我一个合适的解决方案


这将减少加载时间。

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

无论如何,我想你能找到一些有用的东西

实际上,我也做了类似的事情,使用了六种语言,只有一个笔尖,但在我的情况下,我可以在应用程序中更改语言,因此我需要能够强制告诉它从特定捆绑包中加载字符串的本地化版本

如果您的问题更像我的问题,并且仅使用一个简单的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中设置,这样您就可以从该类中的任何方法/函数访问它