Я пытаюсь закодировать свое приложение на нескольких языках. Когда я создаю свой default.pot, я вижу, что мои варианты выбора не будут переведены.Как перевести варианты выбора в CakePHP3
//UsersTable
<?php
class UsersTable extends Table {
public $userRoles = ['admin' => 'Administrator', 'author' => 'Author' ...];
}
// UsersController
public function edit($userId = 0) {
$user = $this->Users->newEntity();
$this->set("user", $user);
$this->set("userRoles", $this->Users->userRoles);
}
//edit.ctp
<?php
echo $this->Form->create($user);
echo $this->Form->input("role",["type" => "select","options" => $userRoles,"label" => __("Userrole")]);
Я пытался что-то вроде этого:
$_userRoles = [];
foreach ($userRoles as $key => $value) {
$_userRoles[$key] = __($value); // tried also __($value, true)
}
, но это создает ошибку при выписке i18n.
Как я могу получить перевод?
Спасибо
Мат
Hi , и спасибо за вашу помощь. Первый метод возвращает следующую ошибку: «Таблица« Приложение \ Модель \ Таблица \ UsersTable »не связана с« userRoles »». Просто добавление строки в UserTable не влияет. –
Sry, моя вина. в моем классе таблицы было плохое. во время выполнения отсутствует ошибка, но когда я пытаюсь извлечь файл банка, я получаю «недопустимое содержимое маркера __ ($ val)». –