Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP gettext,视图文件中的多种语言_Php_Cakephp_Gettext - Fatal编程技术网

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

CakePHP gettext,视图文件中的多种语言,php,cakephp,gettext,Php,Cakephp,Gettext,在我的CakePHP 2.4应用程序中, 在控制器文件中,我设置了如下不同的语言: $this->Session->write('Config.language', "eng"); Configure::write('Config.language', "eng"); 我在查看文件时使用此选项: echo __("Hello"); 但有时我需要不同语言的gettext 例如,我的ctp文件中需要这样的输出: Hola Bonjour Алло 如何获得此输

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

$this->Session->write('Config.language', "eng");
Configure::write('Config.language', "eng");
我在查看文件时使用此选项:

echo __("Hello");
但有时我需要不同语言的gettext

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

Hola    
Bonjour   
Алло    
如何获得此输出

我能想到的唯一可能性是:
-在会话中设置Config.language
-制作这样的gettext:
\uuuu(“你好”)

-再次更改Config.language
-制作这样的gettext:
\uuuu(“你好”)

-再次更改Config.language
-制作这样的gettext:
\uuu(“Hello”)

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

如何获取此信息?

I18n::translate
的唯一包装


使用“plain”(language param)

或在调用
\uu()
之前编写语言+1.这很有效。多谢各位
I18n::translate(“我的句子”,null,null,6,null,“fr”)
会话助手有点假约束-您可以在任何地方使用
CakeSession
静态界面。