Nette překlady – nefungují plurály

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
David Krupička
Člen | 45
+
0
-

Zdravím, dávám do kdyby/translatoru výpis plurálů ale vypisuje se mi celý text. Používám https://github.com/…/en/index.md a takto vypadá homepagePresenter:

echo $this->translator->translate('messages.homepage.applesCount', ['count'=>10]);

takto messages.en_US.neon

homepage:
    applesCount: 'There is one apple|There are %count% apples'

Výpis ale vypadá takto: There is one apple|There are 10 apples Místo toho, aby mi to vypsalo jedno nebo druhé to vypisuje oboje. Nevíte čím to může být?

Editoval David Krupička (23. 12. 2015 20:20)

Myiyk
Člen | 321
+
+1
-

Nevím jak jsi přišel na tu syntaxi zápisu překladu, ale má to být takhle

{0} There are no apples|{1} There is one apple|]1,Inf[ There are %count% apples

zdroj http://symfony.com/…slation.html#…

edit
hmm, jak se dívám na testy, tak je možná i syntaxe bez těch čísel

Editoval Myiyk (23. 12. 2015 20:37)

David Krupička
Člen | 45
+
0
-

Pokud tam ty čísla dám podle syntaxe ze zdroje tak mi to vypíše i ty čísla, to už jsem taky zkoušel právě.

Myiyk
Člen | 321
+
0
-

Možná ty uvozovky tam dělají neplechu. Překlady v testech uvozovky nemají.

jiri.pudil
Nette Blogger | 1032
+
+1
-

Zkus

echo $this->translator->translate('messages.homepage.applesCount', 10);

(počet jako přímý argument, ne v poli)

Editoval jiri.pudil (23. 12. 2015 21:15)

David Krupička
Člen | 45
+
0
-

To mi vypíše messages.homepage.applesCount

abc
Člen | 92
+
0
-

Nemělo by to být tak, že jsou uvozovky okolo roury? Jinak to je jako jeden string…
Tedy:

homepage:
    applesCount: 'There is one apple'|'There are %count% apples'
Mysteria
Člen | 797
+
+1
-

Já to mám takto:

info: '{0} Publikoval %0% %1% dne %2% a byl ohodnocen %3% body.|{1} Publikoval %0% %1% dne %2% a byl ohodnocen %3% bodem.|[2,+Inf] Publikoval %0% %1% dne %2% a byl ohodnocen %3% body.'

{_info $comment->review, [$country, $comment->name, $comment->timestamp->format('d. m. Y H:i'), $comment->review]}
// První $comment->review je pro určení, který plurál se vezme a v poli jsou pak jednotlivé parametry
David Krupička
Člen | 45
+
0
-

Uvozovky okolo nefungují.

Problém byl v tom, že jsem neměl ošetřené kolik je count a co se má k čemu přiřadit. Doplnil jsem složené závorky a už to běží jak má. Ale pokud ošetřím například {0} a {1} tak pro 10 to bude vypisovat celý řetězec. Pokud nepřidám Inf.

Každopádně díky za pomoc.

Editoval David Krupička (27. 12. 2015 20:37)