基于SQlite语言的表选择

时间:2014-02-25 16:49:27

标签: android sqlite

只是好奇,我有一个问题!

我的应用程序已经准备好了......当用户在“设置”中选择thr首选语言时,我已经实现了双语(英语/泰米尔语),然后整个应用程序转换为该语言(我使用自定义语言环境)。一切正常。

我的问题是,我们可以对SQlite数据库做同样的事吗?根据表中的区域设置自动获取数据 “country-en”或“country-ta”?有什么办法吗?我听说thr是一个方法SQLiteOpenHelper.onConfigure(setLocale());在sqlitedatabase中设置语言环境。我想知道它是如何工作的!

2 个答案:

答案 0 :(得分:4)

您在上面描述的方法与客户端的语言本地化无关。它与数据库上的区域设置选项有关(例如,如何处理带有重音字符的字符串比较)。

无论如何,如果你想到它......本地化数据库是什么意思?您可以本地化结构或数据。本地化结构(表名...)不会产生敏感,因为用户不知道它。本地化数据也没有意义,因为这意味着如果用户更改语言设置,下次他使用您的应用时他将无法看到他的数据!

如果数据库仅包含静态数据,并且您需要为不同的语言提供不同的数据库,则可以使用本地化来查找数据库文件名。

答案 1 :(得分:3)

当然,是的,你可以。

当您进行查询时,只需附加“en”或“ta” 像“SELECT FROM Country_”+ yourLocale +“......”之类的东西 - 如果你想使用两个不同的表。

或者您可以使用一个带有整数字段“Language”的单个表,并传递一个int(0 =英语,1 =泰米尔语 - 仅用于字母顺序,这更容易提醒)...

像“... WHERE ... AND Language = 0”