Определите язык при использовании gettext __d () на CakePHP - PullRequest
1 голос
/ 28 ноября 2010

Я хочу определить язык, который я хочу использовать для одного вызова __d() (функция перевода CakePHP gettext ()).

Я хочу что-то вроде:

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

Даже если мой сайт отображается на en_US , я хочу, чтобы это сообщение отображалось на определенном языке.

Спасибо!

1 Ответ

2 голосов
/ 28 ноября 2010

Нечто подобное может работать (хотя и не проверено):

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