Извините за мой английский, но я надеюсь, что вы меня поймете. упрощенный код выглядит следующим образом:Cakephp 3 не работает для языка по умолчанию
// в bootstrap.php
ini_set ('intl.default_locale', 'ДЭУ');
// MainMenusTable.php
общественная функция инициализации (массив $ конфигурации) { родительская :: инициализировать ($ конфигурации); ...
$this->addBehavior('Translate', ['fields' => ['title']]);
... }
// в контроллере - ЭТО РАБОТАЕТ!
public function add() { I18n::locale('eng'); $mainMenu = $this->MainMenus->newEntity(); if ($this->request->is('post')) { $mainMenu = $this->MainMenus->patchEntity($mainMenu, $this->request->data); $this->MainMenus->save($mainMenu) } $this->set(compact('mainMenu')); }
// в контроллере НО ЭТО does't РАБОТА:
public function add() { I18n::locale('deu'); $mainMenu = $this->MainMenus->newEntity(); if ($this->request->is('post')) { $mainMenu = $this->MainMenus->patchEntity($mainMenu, $this->request->data); $this->MainMenus->save($mainMenu) } $this->set(compact('mainMenu')); }
У меня такая же проблема, когда я прочитал запись
// в контроллер - ЭТО РАБОТЫ!
I18n::locale('eng'); $query = $this->MainMenus->find('all')->order(['MainMenus.id' => 'ASC'])->all();
// в контроллере НО ЭТО does't РАБОТА:
I18n::locale('deu'); $query = $this->MainMenus->find('all')->order(['MainMenus.id' => 'ASC'])->all();
Для 'ДЭУ' I введенных вручную записей. Знаете ли вы, в чем проблема? Спасибо!