我正在使用翻译行为功能:__()来翻译事物。它很棒。不幸的是,当我在控制器中更改语言时:
Configure::write('Config.language', 'deu');
它改变了整个网站的语言:(
有没有办法翻译只说特定部分? (在视图中) 例如,整个应用程序的语言是英语。但对于一些$ this->元素,我想用德语。
我的尝试:在视图中我改变了这样的语言:
<?php
Configure::write('Config.language', 'deu');
echo __("Hello World");
?>
仅当删除l18n.php中的CakeSession :: read部分时才有效:
if (empty($language)) {
// if (CakeSession::started()) {
// $language = CakeSession::read('Config.language');
// }
if (empty($language)) {
$language = Configure::read('Config.language');
}
}
我可以重写l18n.php所以它对我有用,但它是核心,我不想触摸它。有没有办法在视图中使用CakeSession :: write? cakephp doc说it is not possible。
答案 0 :(得分:0)
您可以在元素文件夹中创建一个名为所需语言的文件夹,然后调用它。
以巴西葡萄牙语为例:<?php echo $this->element('pt_BR/your_element'); ?>