2016-07-31 97 views
0

定义:CakePHP的3翻译的问题

我想翻译我的网站阿拉伯英语的。我完全遵循CakePHP 3文档,但它不起作用。

我做什么,到现在为止:

我的网站的所有内容可以被翻译除了闪离的消息:所有files.ctp通常翻译

/src目录/控制器/ UsersController:

$this->Flash->error(__('Your username or password is incorrect.')); 

当我改变语言

.po文件生成没有翻译出现:

... 

msgid "Your username or password is incorrect." 

msgstr "اسم المستخدم او كلمة السر غير صحيحتان" 

... 

区域设置目录结构

在/ src目录/区域设置文件看起来现在像这样:

/ar_JO 
    /default.po 

尽管我尝试在我的网站中翻译我的FLASHES消息,但我没有得到任何工作。我认为这是一个缓存问题,所以我删除了/ tmp/cache/persistent /中的文件。

回答

1

我解决了这个问题,谢谢大家

我只是说在控制器下面的代码:

public function beforeFilter(Event $event) { 
..... 
.... 
$session = $this->request->session(); 
$lang=$session->read(’System.language.code’); 
     if($lang=='en_US'){ 
      \Cake\I18n\I18n::locale('en_US'); 
     }else{ 
      \Cake\I18n\I18n::locale('ar_JO'); 
     } 
    }