CakePHP gettext,视图文件中的多种语言

时间:2014-04-16 20:44:08

标签: php cakephp gettext

在我的CakePHP 2.4应用程序中, 在我的控制器文件中,我设置了不同的语言:

$this->Session->write('Config.language', "eng");
Configure::write('Config.language', "eng");

我在我的视图文件中使用它:

echo __("Hello");

但有时我需要不同语言的gettext。

例如我需要在我的ctp文件中输出这样的输出:

Hola    
Bonjour   
Алло    

如何获得此输出?

我能想到的唯一可能性是:
- 在会话中设置Config.language
- 制作这样的gettext:__("Hello")
- 再次更改Config.language
- 制作这样的gettext:__("Hello")
- 再次更改Config.language
- 制作这样的gettext:__("Hello")

但是在视图文件中,不可能使用SessionHelper的set方法。只能使用get方法。我不喜欢使用像$_SESSION这样的原始PHP会话变量。但我需要为我的视图文件中的字符串获取不同的翻译。

我怎样才能获得这个?

1 个答案:

答案 0 :(得分:2)

__()只是I18n::translate的包装。

使用“普通”I18n::translate(语言参数)