Úvodní stránka › Fórum podpory WordPressu › Čeština pro WordPress › Plugin 'Countdown Timer ' a čeština
Štítky: Lokalizace
Zvolené téma obsahuje celkem 3 odpovědi. Do diskuze (2 účastníci) se naposledy zapojil uživatel admin a poslední změna je stará 13 let, 7 měsíců.
-
AutorPříspěvky
-
8. srpna 2010 (10:14) #704
Rád bych se poradil, pokud by některý znalec lokalizace WP měl čas se tím zabývat. Vše, co popisuji, se odehrává v českém WP 3.0.1.
Instaloval jsem plugin Countdown Timer. Plugin se mi líbí a je dokonce vybaven i lokalizačními soubory .po a .mo pro řadu jazyků, mezi nimi i češtinu.
Problém je, že se nezobrazují správně české plurály. Když se dívám na lokalizační soubor ‘fergcorp_countdownTimer-cs_CZ.po’ pomocí pluginu Codestyling Localization, tak plurály jsou tam definovány, ale zkusil jsem je změnit, např. u položky days z den/den na dny/dní, a podobně u dalších plurálů. Ani potom se plurály nezobrazují správně.
Tady jsem se svými znalostmi v koncích.
Děkuji.
8. srpna 2010 (13:27) #7181S lokalizací je vše v pořádku, jde o problém pluginu, který jste už také patrně objevil. Widget využívá pro odpočítávání Javascript a autor pluginu tam někde pozapomněl na chybu, kdy se při tomto odpočítávání pomocí Javascriptu přepisuje správně zobrazené datum pouze výchozí hodnotou množného čísla, respektive stejným řetězcem určeným pro více dní – všimněte si, že jsou v lokalizačním souboru dva řetězce pro dny (day x days), z nichž pouze jeden umožňuje upravovat plurály. Počkal bych chvíli, zda bude autor ve fóru reagovat, zná plugin nejlépe a případná oprava mu bude trvat určitě rychleji, než když se o to pokusíme sami… Nehledě na to, že až vydá autor v budoucnu třeba novou verzi, tak by se naše úpravy automaticky přemazaly…
8. srpna 2010 (15:27) #7182Děkuji za odpověď. Ta věc bude asi složitější. V pluginu je možnost zapnout nebo vypnout javascriptové odpočítávání. Když ho vypnu, zobrazí se vždy plurál pro 2 až 4 věci – dny, když ho zapnu, pak se zobrazí vždy ten druhý pro více než 4 věci – dní. Stejně při vypnutí nebo zapnutí javascriptu v prohlížeči.
K tomu mám jeden obecný dotaz (možná nesmyslný): neměla by v případech, kdy se něco počítá a zobrazuje se k počtu i název jednotky, být v lokalizačním souboru ta jednotka zastoupena jen jednou položkou v singuláru a k ní podle příslušného algoritmu tvary plurálu/ů? Tedy i v angličtině? (Teď nevím, zda se vyjadřuji srozumitelně.)
Děkuji.
8. srpna 2010 (20:19) #7183Odpočítávání funguje bez Javascriptu správně (používají se různé plurály), ale Javascript ho přepisuje, takže když ho vypnete, tak bude vše správně, ale nemělo by se automaticky odpočítávat (jen se zobrazí aktuální hodnota, kolik zbývá času). Funkce pro Javascript není správně gettextována a neumožňuje tedy různé plurály.
V lokalizačním souboru by to mělo být teoreticky pouze jednou. Zatím je to tam dvakrát, jednou jako řetězec “%d days, ” (ten umožňuje pouze jednoduchý překlad) a podruhé jako “%d day, ” (pro jednotné číslo) a “%d day, ” (pro množné číslo). Občas se to stává i v samotném WordPressu, pokud jsou si autoři jisti, že to bude vždy množné číslo, tak použijí funkci __() a nepoužívají pro řetězec plurály (z čehož mají překladatelé jazyků s více formami plurálů radost až na kost). Naopak pro plurály se zase používá funkce _n().
V tomto případě však myslím nelze v pluginu jednoduše změnit __() na _n(), protože má nejen jiný počet argumentů, ale např. předává i proměnnou s počtem pro plurál, která musí být ještě nějak předávána Javascriptu (což zatím bohužel plugin nedělá). Úprava tedy asi nebude zase tak jednoduchá…
Pokud vás problematika zajímá, tak se určitě pusťte do manuálu, kde je to vše přehledně vysvětleno. A až něco pěkného přeložíte, tak dejte určitě vědět…
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.