Ios 如何指定本地化属性列表?

Ios 如何指定本地化属性列表?,ios,Ios,我有一个正在调用rest web服务的ios应用程序。我在我的应用程序中创建了一个属性列表文件,其中包含服务器将返回的错误代码字典和要显示的相应消息 我正在考虑为不同的语言提供多个属性列表文件 如何使应用程序根据区域设置获取特定属性列表?您说服务器正在生成错误代码和消息 所以我认为有更多的方法可以做到这一点 首先,您可以在请求中向服务器发送locale头,以便服务器为您执行所有本地化(我认为这不如解决方案2好) 所以我更喜欢让服务器返回错误代码并在客户端处理消息的方式。 您可以在xcode中为要

我有一个正在调用rest web服务的ios应用程序。我在我的应用程序中创建了一个属性列表文件,其中包含服务器将返回的错误代码字典和要显示的相应消息

我正在考虑为不同的语言提供多个属性列表文件


如何使应用程序根据区域设置获取特定属性列表?

您说服务器正在生成错误代码和消息

所以我认为有更多的方法可以做到这一点

首先,您可以在请求中向服务器发送locale头,以便服务器为您执行所有本地化(我认为这不如解决方案2好)

所以我更喜欢让服务器返回错误代码并在客户端处理消息的方式。 您可以在xcode中为要支持的每种语言创建一个语言项目:

在localizable.strings文件中,我将执行以下操作:

"RestServiceXYErrorTitle_1" = "Authentication failed";
"RestServiceXYErrorMessage_1" = "Your credentials were wrong";
"RestServiceXYErrorTitle_2" = "Resource not available";
"RestServiceXYErrorMessage_2" = "The resource you requested is no longer available";
....
然后,我将获取服务器返回的错误代码,例如1,并将其与我的本地化字符串放在一起:

NSString *localizedTitleKey = [NSString stringWithFormat:@"RestServiceXYErrorTitle_%@", errorCode];
NSString *localizedMessageKey = [NSString stringWithFormat:@"RestServiceXYErrorMessage_%@", errorCode];
NSString *errorTitle = NSLocalizedString(localizedTitleKey,@"");
NSString *errorMessage = NSLocalizedString(localizedMessageKey,@"");

我认为这将是一个很好的解决方案

是的,我将实施解决方案2,但有一种可能性,从服务器发送的错误代码在这里没有得到处理,这将导致问题,这就是我选择属性列表的原因。。。。