Narazil jsem na problém při použití Phrase:

V presenteru

$form = new Form;
$form->setTranslator($this->translator->domain('forms.catalogue'));

$form->addSelect('perPage', 'per-page', [
    10 => new Phrase('records', 10),
    25 => new Phrase('records', 25),
]);

ve slovníku forms.cs_CZ.neon:

catalogue:
    records: '%count% záznamů'

Očekával bych přeložený výsledek, tedy xy záznamů. Výsledkem je %count% záznamů, bez náhrady parametru.

Z tohoto dostanu správný výsledek:

$this->translator->translate(new Phrase('forms.catalogue.records', 10));

Z tohoto ne:

$form->translator->translate(new Phrase('records', 10));

Všechno ostatní ve formuláři je přeloženo správně, což mě mate. Kde dělám chybu?

  • Comments:

  • Ještě dodám, že jsem zkoušel i variantu s new Phrase('records', [ 'count' => 10]) se stejným výsledkem.

    by BigCharlie at 27.2.2015 15:53

Když jsem tuhle otázku četl poprvé, tak jsem si nevšiml že používáš prefixed translator a nevěděl jsem kde je problém. Teď už to vím a dokonce je na to i pullrequest, který to fixuje https://github.com/…tion/pull/74 :)


You must first log in to participate in this discussion