在CakePHP上使用gettext __d()时定义语言

时间:2010-11-27 23:41:31

标签: cakephp translation gettext

我想用__d()(gettext()CakePHP翻译函数)调用我想要使用的语言。

我想要类似的东西:

__d('domain', 'Hello World!', 'pt_BR');

即使我的网站显示在 en_US 上,我也希望以特定语言显示该消息。

谢谢!

1 个答案:

答案 0 :(得分:2)

这样的东西可以工作(虽然未经测试):

function __dl($domain, $str, $lang, $return = false) {
    $original = Configure::read('Config.language');
    Configure::write('Config.language', $lang);
    $str = __d($domain, $str, true);
    Configure::write('Config.language', $original);

    if ($return) {
        return $str;
    }
    echo $str;
}

__dl('domain', 'Foo bar', 'pt_BR');