【问题标题】:iOS localization with sqlite database使用 sqlite 数据库进行 iOS 本地化
【发布时间】:2012-09-25 15:43:33
【问题描述】:
我读了一些关于 iOS 本地化的文章,似乎主要有两件事是本地化 nib 文件,以及使用 NSLocalizedString 从字符串文件中获取本地化字符串。对于我们的应用程序,我们显示的大部分内容都有一个 sqlite 数据库(使用 FMDB 包装器)。在这种情况下,我们将如何本地化我们的应用程序?我们需要中文版的数据库吗?或者我们是否需要一个中文字符串文件,作为我们从数据库中提取的字符串的查找表。就像数据库中有汽车的描述一样,我们是否在字符串文件中查找该描述?我还没有真正看到任何关于使用数据库进行本地化的示例。
谢谢!
【问题讨论】:
标签:
iphone
sqlite
multilingual
nslocalizedstring
【解决方案1】:
这里实际上有两种数据:1) 由您的应用程序操作的数据,以及您的应用程序用来显示的字符串数据。您希望保持 1) 分开,以便如果有人更改其设备上的语言,数据仍然是正确的。对于 2),您可以按照您的建议使用数据库中的字符串文件查找。您还可以使用特定语言的表来保存这些字符串,并在运行应用程序时打开该语言的表。例如,您当前的数据库存储温度(数字)和城市名称。使用您的字符串名称,您将从数据库中获取城市名称并将其用作 strings.h 中的查找,或者您可以拥有每种语言的城市名称数据库表,并根据语言设置加入该表,但只将温度存储在一个地方,以便所有语言都可以访问它。您必须决定哪些数据对所有语言都是通用的,例如温度以上,并且可能还要编写根据语言显示该数据的例程。