CakePHP:国际化Web应用程序
基于下面的文章,我能够在一定程度上国际化我的CakePHP应用程序- 我想扩展此功能,并提供用户可以在其用户配置文件中保存首选语言的功能。每次用户登录时,我都希望使用首选语言并以该语言显示网站内容。前Facebook语言设置。一旦更改语言,网站中的静态内容将更改为该语言 此外,我还有一些静态数据,如下拉列表的查找信息。为了支持i18n,我的表设计应该是怎样的CakePHP:国际化Web应用程序,cakephp,cakephp-1.3,Cakephp,Cakephp 1.3,基于下面的文章,我能够在一定程度上国际化我的CakePHP应用程序- 我想扩展此功能,并提供用户可以在其用户配置文件中保存首选语言的功能。每次用户登录时,我都希望使用首选语言并以该语言显示网站内容。前Facebook语言设置。一旦更改语言,网站中的静态内容将更改为该语言 此外,我还有一些静态数据,如下拉列表的查找信息。为了支持i18n,我的表设计应该是怎样的 任何代码片段或想法?具有用户语言首选项设置都是微不足道的。只需在用户表中添加一个字段language,并允许用户在某处为其设置一个值。在
任何代码片段或想法?具有用户语言首选项设置都是微不足道的。只需在用户表中添加一个字段
language
,并允许用户在某处为其设置一个值。在应用程序中,您可以使用Configure::write('Config.language','eng')
在core.php
中设置默认语言,并在其他地方覆盖它,最好是在AppController::beforeFilter
中:
public function beforeFilter() {
if ($this->Auth->user('language')) {
Configure::write('Config.language', $this->Auth->user('language'));
}
}
现在,Cake的所有L10n功能都将以用户选择的语言输出内容
如果您需要蛋糕中没有包含的任何其他语言逻辑,您可能必须自己实现它。我建议你就你所关心的问题提出一个新的具体问题。通常,任何自定义语言逻辑都将基于
Configure::read('Config.language')
中的值。比如说,如果你有多种语言描述的产品,你可以有一个Product
有许多Description
关系,其中每个Description
都有一个language
属性,你可以根据它进行筛选。这正是我想要的。对于您的产品,有很多描述……您能否提供一个示例,说明如何根据您喜欢的语言检索语言内容?或者我可以提出一个新问题!是的,请在对问题进行充分思考后再提出一个新问题,不要得出自己的结论。:)好啊这是我的新问题-