0
私は多言語で私のアプリケーションをコーディングしようとしています。私が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)
}
をが、これは国際化エキス中にエラーが発生します。
このエントリの翻訳をどのように入手できますか?
は
マット
あなたに役立つことを願っています
\クラス宣言の前にテーブルのクラスファイルの行の下に追加します。ご協力いただきありがとうございます。 "Table" App \ Model \ Table \ UsersTable "は" userRoles "に関連付けられていません。 UserTableの行を追加しても効果はありません。 –
Sry、私のせい。私のテーブルクラスには残った残骸がありました。実行時にエラーはありませんが、ポットファイルを抽出しようとすると「無効なマーカーコンテンツ__($ val)」が表示されます。 –