我正在编写一个 iOS 应用程序,它从我们公司的服务器下载一些统计数据。如果出现错误,API 会提供错误代码和错误描述。我想保留内部日志的错误描述(始终为英文)并将错误代码映射到一些本地化字符串。解决这个问题的最佳方法是什么?我正在考虑使用 .plist 文件执行映射,但不是 100% 确定。
最佳答案
只要内存占用较低,使用带有 NSDictionary 的 plist 文件就可以了。我也做过类似的事情。
但是,还要注意标准方法 NSLocalizedString并为每种语言使用 .Strings 文件。
以下是如何使用 NSLocalizedString 的示例:
// Set the label using the localized string
self.label.text = NSLocalizedString(@"Select choice:", @"Prompt to make a selection.");
第一部分是键,您在文件 Localized.strings
中定义它。如果字符串文件中不存在条目,则使用键名称,因此我使键等于默认文本。在上面的示例中,如果没有找到默认语言的条目,它将仅使用键名称,即 @"Select choice:"
。
然后,创建一个 Localized.string 文件并按“本地化”按钮,然后为每种语言创建一个文件。您的西类牙语可能如下所示:
/* Contents of Localizable.strings */
"Select choice:" = "Selecciona la opción:";
当然,你可以有一个英文的,如下所示:
/* Contents of Localizable.strings */
"Select choice:" = "Select choice:";
NSLocalizedString() 的第二个参数是注释,它是可选的,但 Apple 提供了工具来查找代码中的所有 NSLocalizedString() 条目,并为您在字符串资源文件中生成行,并包含注释。
关于ios - 将 API 错误代码映射到 iOS 中的本地化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15882007/