Witam,
Mam mały problem z tłumaczeniem tekstów walidacji w ZF2.
Problem polega na tym, że w pliku php z tłumaczeniem walidacji, nie są dostępne zmienne max, min, value, a co za tym idzie, nie zgadzają się pary klucz - wartość.
Przykład. Mam takie pole:
$inputFilter->add(array(
'name' => 'username',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name' => 'StringLength',
'options' => array(
'encoding' => 'UTF-8',
'min' => '3',
'max' => '15'
),
),
),
));
i takie tłumaczenie
"The input is less than %min% characters long" => "Podana wartość zawiera mniej niż %min% znaków",
"The input is more than %max% characters long" => "Podana wartość zawiera więcej niż %max% znaków"
Do całości mam ustawione w pliku module.config.php coś takiego
'translator' => array(
'locale' => 'pl_PL',
'translation_file_patterns' => array(
array(
'type' => 'phparray',
'base_dir' => __DIR__ . '/../language',
'pattern' => '%s.php',
),
),
),
I tak jak wspominałem całość działa prawidłowo do momentu wystąpienia tych zmiennych. Jeśli jest natomiast mniej niż 3 znaki, pojawia się komunikat po angielsku.
Dopiero zaczynam z ZF2 i całkiem możliwe że coś przeoczyłem. Ogólnie chciałem uzyskać taki efekt, by wszystkie komunikaty w ZF2 były domyślnie po polsku, ale wpis w global.php
'translator' => array(
'locale' => 'pl_PL'
),
nie przyniósł rezultatów, więc stworzyłem to co widać powyżej. Będę wdzięczny za jakieś wskazówki, pomagające w rozwiązaniu tego problemu.