Autor Zpráva
Foi
Profil
Je nějakým způsobem možné začít tvořit plural verze od češtiny ?:

ngettext('jablko', 'jablka', 'jablek', 35);

Samozřejmě to vyhodí chybu, protože očekává jenom 3 parametry. Předpokládám že to přes tuhle funkci nepůjde, protože v po souborech se určuje "funkce" na plural verze. Nerad bych začínal aplikaci v angličtině, která je primárně určena pro češtinu a moje znalost angličtiny není zrovna na profi úrovni, abych si to dovolil.

PS: Nerad bych používal gettext extratory apod. Jenom mě zajímá zda je nějaká možnost to udělat.
juriad
Profil
Obecně se předpokládá, že výchozí jazyk .po souborů je angličtina a tam problémy s množným číslem nejsou.
Ta funkce je navržená pro angličtinu a proto potřebuje jako své prvni dva argumenty jednotné a množné číslo.
1. parametr - singulár
2. parametr - plurál
3. parametr - skutečné číslo.

Pokud pro daný jazyk neexistuje překlad, použije se první nebo druhý parametr v závislosti na 3. parametru.
Pokud překlad existuje, 1. a 2. parametr se vůbec nepoužije.

Takže nejspíš můžeš napsat:
# ten nejčastější tvar množného čísla
ngettext('jablko', 'jablek', 35);
a v .po souboru definuješ skutečná pravidla pro češtinu.

V každém případě ti nezbyde nic jiného než pravidla pro češtinu vždy mít v .po souborech. V PHP neexistuje možnost, jak to reprezentovat za pomocí této funkce. Aplikace bude fungovat i bez překladu definovaného v .po souboru, ale bude obsahovat chybné tvary. To v případě angličtiny nehrozí, ta nevyžaduje externí překlad.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: