Перевести строку в массиве с __ в CakePHP - PullRequest
0 голосов
/ 02 декабря 2010

У меня есть массив различных приоритетов в моем контроллере:
var $priorities = array(3 => 'Low', 2 => 'Medium', 1 => 'High');

Как мне теперь удается перевести эти значения с помощью функции __-?Я получаю массив, который PHP ожидает закрывающую скобку ')'.Вот код, который я пытался использовать:
var $priorities = array(3 => __('Low'), 2 => __('Medium'), 1 => __('High'));

Я использую эту переменную, чтобы установить ее в своем действии добавления и редактирования.Это опции выбора ввода, и если есть изменения, я не хочу возиться с представлениями.

Ответы [ 2 ]

3 голосов
/ 03 декабря 2010

Судя по ключевому слову var, я подозреваю, что вы пытаетесь объявить здесь свойство класса.Это не работает, вы можете объявлять свойства только с использованием статических значений, то есть вы не можете вызывать какие-либо функции на этом этапе или выполнять какие-либо операции.

Вам нужно будет перевести значения на более позднем этапе,или назначьте их $this->priorities позже.* * * * * * * * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 100 * * * * * * *.1011 *
$this->priorities = array(3 => __('Low', true), 2 => __('Medium', true), 1 => __('High', true));
0 голосов
/ 02 декабря 2010

Почему бы не попробовать array_map?

var $priorities = array(3 => 'Low', 2 => 'Medium', 1 => 'High');

$priorities = array_map("__", $priorities, true);

Обязательно размещайте переводы в нужных местах.больше информации здесь о Интернационализации и Локализации

...