应用程序中的本地化sqlite文件

应用程序中的本地化sqlite文件,sqlite,localization,appcelerator-mobile,titanium-mobile,Sqlite,Localization,Appcelerator Mobile,Titanium Mobile,我正在用两种语言开发一款钛合金应用程序​​. 我正在寻找有关如何翻译sqlite数据库中字段的建议。 我想做得更好。在表中为languagedesc\u en/desc\u es创建两个字段是有意义的? 然后基于语言Ti.Platform.Local调用该字段 提示、教程?非常感谢您可以在每个相关表格中包括一个[language]列,而不是根据用户的语言动态更改列: PRODUCTS productid

我正在用两种语言开发一款钛合金应用程序​​. 我正在寻找有关如何翻译sqlite数据库中字段的建议。 我想做得更好。在表中为languagedesc\u en/desc\u es创建两个字段是有意义的? 然后基于语言Ti.Platform.Local调用该字段


提示、教程?非常感谢

您可以在每个相关表格中包括一个[language]列,而不是根据用户的语言动态更改列:

                 PRODUCTS
                 productid
                 languageid
                 productname

                 composite primary key (productid, languageid) 


                 1 | english | widget                    
                 1 | russian | виджет 

这将使支持新语言变得更加容易-无需更改表架构。

请原谅,我有点困惑。我必须创建一个“语言”表来进行连接?现在我有了一个表PRODUCTS p|u id | p|u name | p|u desc en | p|u desc | p|u id | p|u name LAUNGUAGE l|id | p|u id | p| u desc我是SLQ的新手。语言表无论如何都不是绝对必要的。如果您使languageid易于理解,例如“english”或含义明显的标准缩写,则您不一定需要语言表来解释该值。每当需要检索特定于语言的数据时,您只需在where子句中附加and languageid='xx'。好的,我想我理解了,所以我将为语言中的每一行提供一个产品。但据我所知,这样未翻译的字段将被复制?我在where子句中将有一个优势,它将放置语言变量。我不理解你的问题:未翻译的字段将被复制?我建议的方法不会以任何方式复制字段和列。示例PRODUCTS表将包含更多的行,但列远少于备选方案,其中product name列的数量与英语、俄语、西班牙语、意大利语、日语等语言的数量相同:englishProductName、russianProductName、spanishProductName、italianProductName、japaneseProductName、,在我的例子中,我有一个表产品:成本、名称、fav\u p描述。只有desc_p列被转换,其他列不被转换。所以我想更改两列中的desc列:desc_lang。然后在查询中使用一个变量:desc_VAR。这也是因为我的应用程序将始终且仅使用两种语言​​. 非常感谢你的头脑风暴