2013-07-05 21 views
3

我正在构建一个医疗翻译应用程序,该应用程序将数千种预先确定的从英语翻译成少数几种语言的翻译。翻译将始终从英语转换为外语,因此应用程序本身不需要按钮,标题,文本等的本地化。我还会在每种语言中使用人类朗读每种翻译的mp3录音(〜30 KB文件大小)。我应该将翻译存储在核心数据中还是作为本地化字符串?

现在我不确定是否应该将字符串存储在Core数据中或使用iOS本地化,因为翻译似乎更像是应用程序数据,而不是真正的本地化。我还需要将每个翻译与mp3链接起来,我相信核心数据可以处理这些小二进制文件。

我还需要将翻译分成3个类别之一并显示相关翻译,这似乎更适合于数据库。最终,我需要添加一个后端以允许非技术人员管理这些内容,我认为可以使用Python脚本来与Core数据进行交互。

回答

1

本地化字符串用于本地化应用程序的UI,而不是为最终用户提供翻译功能。

本地化字符串依靠OS的语言设置返回正确的字符串。您的用户不需要在他们的设备上设置语言以使用您的应用程序。因此,不应该使用本地化的字符串在您的应用中提供此功能。

现在,如果你想使用核心数据,或者更像NSDictionary那样简单,那是另一回事。

使用NSDictionary的一个缺点是它必须适合内存。所以,如果你翻译的整个数据集很大,像Core Data(或者至少SQLite)这样的东西看起来是正确的选择。

+1

由于这是需要预先加载的只读数据,我是否应该使用Core Data?或者只是去一个我可以从后端生成的sqlite数据库? – Erich

+0

是的,如果你在其他地方创建数据库,SQLite似乎是一个不错的选择。 –

0

我会使用核心数据来存储MP3和翻译。像这样管理它们会更容易。如果您在核心数据中以字符串和mp3的形式进行翻译。您正在管理2个数据存储。

核心数据是最好的选择!

相关问题