2010-11-27 38 views
1

Je veux définir avec la langue que je veux utiliser sur un seul appel à __d() (la fonction de traduction CakePHP gettext()).Définir la langue lors de l'utilisation gettext __d() sur CakePHP

Je veux quelque chose comme:

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

Même si mon site apparaît sur en_US, je veux ce message très à afficher sur une langue spécifique.

Merci!

+0

Je sais que le param thirt est de renvoyer le message (sur vrai). :) –

Répondre

2

Quelque chose comme cela pourrait fonctionner (non testé bien):

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

excellente solution! je vais essayer et vous faire savoir –