【发布时间】:2014-04-27 21:00:58
【问题描述】:
我必须将当前的语言选择系统从表单提交更改为选择框 ajax 提交。因此,当语言更改时,我必须返回登录标签以使用 javascript 更改它们(特别是用户名、密码和登录按钮标签)。
问题是,虽然我改语言成功了,但是.po文件已经加载了,所以会返回给我之前的语言。
这是我的代码:
public function cambiar_idioma($idioma)
{
$this->Session->write('login.language', $idioma);
Configure::write('config.language', $idioma);
$this->set(array(
'UsuarioLogin' => __("Usuario"),
'UsuarioPassword' => __("Contraseña"),
'login-button' => __("Ingresar")
));
$this->set('_serialize', array('UsuarioLogin', 'UsuarioPassword', 'login-button'));
}
所以,当我更改为 'spa' 时,它会将其设置为新语言,但由于 .po 文件已加载,该数组将以英文返回。反之亦然。所以我想我必须在返回数组之前再次加载 .po 文件,但我不知道该怎么做。
有没有办法做到这一点?
【问题讨论】:
标签: cakephp internationalization cakephp-2.4 po