2

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

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

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

4

1 回答 1

0

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

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

首先,您可以将请求中的语言环境标头发送到服务器,以便服务器为您完成所有本地化(我认为这不如解决方案#2)。

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

在 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,@"");

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

于 2012-11-13T09:34:55.337 回答