ios - 将 API 错误代码映射到 iOS 中的本地化字符串

标签 ios localization mapping error-code

我正在编写一个 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/

相关文章:

ios - Swift 3 - 设备 token 现在被解析为 '32BYTES'

ios - 从 UIDataPicker 日期调用转换后的字符串

以本地化方式将 Java 库转换为 "spell out"数字

arrays - Elasticsearch文档映射类型与存储类型不同

c++ - 映射 "RABBIT"字符串调用new "RABBIT"()

iphone - 如何退出 NSThread

objective-c - 如何通过popoverview Controller 显示imagepickercontroller?

asp.net - 基于 Web 的 .resx 文件编辑器?

ios - iOS 中的马来语

java - 带有嵌套映射器和 unmappedSourcePolicy 的 Mapstruct Bug