Php多语言:如何存储主动语言?

时间:2013-02-14 17:42:09

标签: php mysql multilingual

我正在构建一个php切换器,以便为我的网站添加多语言功能。

MySQL中的每个内容都有一个特定于语言的文本,我想根据活动语言检索它。

一开始,我想在MySQL中构建一个定制的表来存储语言状态
例如:
意大利语1 中文0
..其中1表示语言处于活动状态,0表示关闭。

每次用户切换语言时,我都会调用此表并更改语言状态。然后,在通话结束时,我刷新页面,php检索正确的内容。

这似乎是一个好主意,直​​到我发现每次用户切换时MySQL中的语言状态都会发生变化。因此,如果用户正在用意大利语查看该网站,而其他用户同时切换到英语,则第一个用户也将查看该英文。

我的问题是:我如何存储特定用户的语言状态,避免更改其他每个用户的语言状态?

非常感谢

2 个答案:

答案 0 :(得分:1)

如果要进行持久保存,请在用户表

上添加“Lang”列

用户(id,username,passhash,lang);

只需将语言设置存储在那里。如果您有另一个包含语言的表,则可以使用外键来避免完整性问题。

如果您不关心持久性(如果用户从其他计算机登录,则默认使用默认语言),您可以使用会话或Cookie。

答案 1 :(得分:0)

不要使用数据库。改为设置$_SESSION变量(在修改之前不要忘记调用session_start())。 (Php Manual)