Define the language when using gettext __d() on CakePHP

浪子不回头ぞ 提交于 2019-12-23 03:32:11

问题


I want to define with language I want to use on a single call to __d() (the gettext() CakePHP translation function).

I want something like:

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

Even if my site is shown on en_US, I want that very message to be shown on a specific language.

Thanks!


回答1:


Something like this could work (untested though):

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');


来源:https://stackoverflow.com/questions/4294543/define-the-language-when-using-gettext-d-on-cakephp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!