【问题标题】:Xcode: Put structured data into Localizable.strings fileXcode:将结构化数据放入 Localizable.strings 文件
【发布时间】:2014-05-28 15:36:14
【问题描述】:

我有一个来自数据库的流派列表。

对于每种类型,我需要添加我公司产品团队指定的同义词。

例如,chamber musicclassical 的同义词。

所以我的产品经理提供给我的数据本质上是NSDictionary,其中键是NSStrings 等主要类型,值是NSString 同义词中的NSSet

问题是:我想将此信息与应用中所有其他面向用户的文本一起存储在Localizable.strings 中。我需要在运行时对其进行解析,以根据从数据库返回的流派插入同义词。

是否有一种标准方法可以在本地化字符串文件中指定此结构化数据?然后我需要把它解析成上面描述的数据结构。

对我的产品经理来说,最简单的可能是在字符串文件中使用 CSV 之类的东西,然后在运行时手动解析它。

所以也许我的Localizable.strings 会有这样的条目:

"GenreSynonyms"        = "classical, chamber music, opera\
                          alternative, grunge, indie\
                          spanish, latin, salsa"

这是解决问题的合理方法吗? Apple 是否有任何建议将数据存储在不是简单的平面映射列表的 .strings 文件中?

我查看了Apple's programming guide for Strings Resources,但没有找到类似的内容。


更新:从 Jerome 的评论中,我找到了this answer

听起来像本地化整个 plist(答案中描述的第一个选项)可能是我最好的选择。

还有其他建议吗?

【问题讨论】:

  • 我看不出你为什么不能这样做。但是我可以建议您创建一个 .plist 并对其进行本地化吗?然后,您可以通过阅读直接检索 NSDictionary。
  • @JeromeDiaz 请发表您的评论作为答案。

标签: ios objective-c xcode string cocoa


【解决方案1】:

我看不出你为什么不能这样做。

但是我可以建议您创建一个 .plist 并对其进行本地化吗?然后,您可以通过阅读直接检索 NSDictionary。

【讨论】:

    【解决方案2】:

    我建议一个 plist 文件,它有一个带有语言环境代码的根键。

    【讨论】:

    • 有什么理由比每个区域设置一个单独的plist 更可取?
    • 通过检查键比检查文件更容易检查语言环境是否存在,但这是个人喜好。
    猜你喜欢
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-15
    • 2021-02-01
    • 1970-01-01
    相关资源
    最近更新 更多