只是好奇,我有一个问题!
我的应用程序已经准备好了......当用户在“设置”中选择thr首选语言时,我已经实现了双语(英语/泰米尔语),然后整个应用程序转换为该语言(我使用自定义语言环境)。一切正常。
我的问题是,我们可以对SQlite数据库做同样的事吗?根据表中的区域设置自动获取数据 “country-en”或“country-ta”?有什么办法吗?我听说thr是一个方法SQLiteOpenHelper.onConfigure(setLocale());在sqlitedatabase中设置语言环境。我想知道它是如何工作的!
答案 0 :(得分:4)
您在上面描述的方法与客户端的语言本地化无关。它与数据库上的区域设置选项有关(例如,如何处理带有重音字符的字符串比较)。
无论如何,如果你想到它......本地化数据库是什么意思?您可以本地化结构或数据。本地化结构(表名...)不会产生敏感,因为用户不知道它。本地化数据也没有意义,因为这意味着如果用户更改语言设置,下次他使用您的应用时他将无法看到他的数据!
如果数据库仅包含静态数据,并且您需要为不同的语言提供不同的数据库,则可以使用本地化来查找数据库文件名。
答案 1 :(得分:3)
当然,是的,你可以。
当您进行查询时,只需附加“en”或“ta” 像“SELECT FROM Country_”+ yourLocale +“......”之类的东西 - 如果你想使用两个不同的表。
或者您可以使用一个带有整数字段“Language”的单个表,并传递一个int(0 =英语,1 =泰米尔语 - 仅用于字母顺序,这更容易提醒)...
像“... WHERE ... AND Language = 0”