我必须将当前的语言选择系统从表单提交更改为选择框 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 文件,但我不知道该怎么做。
有没有办法做到这一点?