2010-06-14 28 views
3

我有一个关于Kohana的网站,我打算让它拥有多种语言。
现在我知道有国际化文件夹,每个语言文件夹
有某种strings.php文件..
但我想一个动态的方式(对DB)内的方式,使每当我想
我可以改变的值通过网站。MySQL中国际化的建议方法?

是否有任何常用的表格模式通常用于多语言内容?

+0

虽然这是一个很好的问题,我觉得把翻译字符串在DB会导致性能问题。 – Gogol 2016-02-05 09:19:18

回答

2

好吧,你也许可以模仿“资源”的文件在你的数据库,

你可以有一个表工作作为一个目录你的字符串,有两列,就像

Lang_Constants 
ID, Constant_Name 
1, HELLO_STRING 

另一个表与支持的语言:

Languages 
ID, Name 
1, English 
2, Spanish 

,并与实际数据的表:

ID, Language, Constant, Value 
1, 1, 1, "Hello world!" 
10, 2, 1, "Hola mundo!" 

,你可以做这样的查询:

SELECT Value from Lang_Constant_values where 
    Language = (Select ID from Languages where Name = 'English') 
and 
    Constant = (Select ID from Lang_Constants where Constant_Name = 'HELLO_STRING')