IOS 应用程序国际化 - 数据库内容国际化

Posted

技术标签:

【中文标题】IOS 应用程序国际化 - 数据库内容国际化【英文标题】:IOS app internazionalization - Internazionalize DB Content 【发布时间】:2014-03-03 11:58:42 【问题描述】:

您好,我想对我的应用的国际化提出一些建议:

让我们考虑应用程序使用数据库来检索一组问题以向用户提出建议。此类问题应翻译成不同的语言。

我考虑了两种方法:

    一个带有“问题”表的数据库。该表包含我想要支持的每种语言的列。 (我不喜欢这种方法,因为如果我想在未来添加新语言,我应该修改一些已经工作的东西) 更多数据库架构。每个数据库架构都专用于一种似乎更好的方法

您对采用最佳解决方案有任何经验吗? 您还有其他解决方案建议吗?

谢谢你和亲切的问候

【问题讨论】:

看看本地化和 NSLocalizedString 谢谢你的建议,你能说得更具体点吗?我说的是国际化数据库内容 nshipster.com/nslocalizedstring 再次感谢您的建议,但是您建议我的网站(就像我找到的大多数链接一样)谈论如何国际化字符串。在我的情况下,我有一个包含超过 1k 个问题的数据库。我认为应该有另一种直接国际化数据库的解决方案 【参考方案1】:

如果您真的想将问题保存在数据库中,我建议仅将 NSLocalizedString 宏使用的键存储在专用本地化文件中(.string) >) - 正如@Adam Richardson 所建议的那样。这样您就可以更新各个翻译(或添加新翻译),而无需触及数据库本身。

【讨论】:

谢谢彼得,我会试着找出你的建议和亚当的建议。使用文件来存储如此多的数据对我来说似乎有点奇怪,我认为这种方法可以仅用于简单的翻译(例如 nib 文件中的字符串)。再次感谢您 这完全取决于具体的实现细节——你需要翻译多少个字符串? 我们说的是超过 1k 个字符串 我还是会选择 NSLocalizedString。这些文件可能会有点笨拙,但也不算太糟糕,您可以利用现有架构来发挥自己的优势,而不是滚动您自己的自定义解决方案。【参考方案2】:

您好,由于进行了更深入的研究,我发现了这个主题 How to represent a localized string type in Core Data? 我将采用建议的技术作为解决方案。

亲切的问候

尼科洛

【讨论】:

以上是关于IOS 应用程序国际化 - 数据库内容国际化的主要内容,如果未能解决你的问题,请参考以下文章

iOS之应用程序国际化

iOS之应用程序国际化

iOS之应用程序国际化

iOS应用内国际化-倾城孤月-博客园

实现iOS语言本地化/国际化

IOS开发之国际化篇第二章:文本信息国际化