WordPress

(aktualizace 3. 5. 2005: v článku jsem některé informace a odkazy aktualizoval. Dále bych rád upozornil na kompletní počeštěnou verzi v článku Český WordPress ke stažení)

Zdatnost, s jakou se WordPress vypořádá s češtinou, vypoví mnohé o jeho kvalitách. A pro mnohé je to rozhodující kritérium, zda jej jako blogovací nástroj použít, nebo se poohlédnout po něčem onačejším. Dle mého WordPress obstál chvalitebně.

Abyste přeložili celý systém včetně administrace do češtiny, stačí stáhnout jediný soubor cs_CZ.po a v konfiguračním souboru wp-config.php změnit řádek define ('WPLANG', ''); na define ('WPLANG', 'cs_CZ.po');.

Překlad není vše

Překladem textů lokalizace nekončí. České prostředí má i svá další specifika, například způsob psaní datumu a podobně. Toto lze nastavit po přihlášení do administrace v záložce Nastavení. Doporučil bych tyto hodnoty:

  • Výchozí formát datumu: j. n. Y
  • Výchozí formát času: G.i

Datum se formátuje v této podobě: 23. 1. 1980 – tedy po tečce vždy následuje právě jedna mezera, před tečkou žádná není. Dále, datum se nesmí se rozdělit do dvou řádků. Tomu lze zabránit tak, že místo obyčejné mezery vložíme mezeru nedělitelnou. Tu lze obvykle napsat pomocí klávesové zkratky Ctrl+Shift+mezera. Pokud by nefungovala, zadejte ji kódem: stiskněte Alt a na numerické části klávesnice vložte 0160. Aby nedošlo k pochybám: při zadávání výchozího formátu času j. n. Y vložíte mezi tečky a písmenka ony pevné mezery.

Čas se formátuje takto: 14.30 – tedy bez mezer a s tečkou mezi číslicemi. Dvojtečku prosím ne, doba slávy digitálních hodinek je přece dávno pryč.

A ještě něco DŮLEŽITÉHO: Formátování data a času jsem si nevymyslel, řídí podle typografických pravidel. Ta se vyvíjí už několik staletí, tudíž na nich „něco je“. A říkají-li tato pravidla, že datum se formátuje takto a čas zase takto, snažte se jim vyhovět. Pokud by se Vám jejich doporučení nelíbilo a raději byste chtěli použít vlastní a originální formátování, klidně můžete, ale jste máslo 😉

Permalinky

Permalinky možná znáte pod pojmem SEO odkazy. Tedy jde o srozumitelnější zápis URL, o jehož úskalích pěkně píše Václav Štrupl v článku SEO odkazy nejen pozitivní. Protože permalink se automaticky generuje z názvu stránky a protože narozdíl od názvu nemůže obsahovat diakritiku, je třeba generátor pro české prostředí také trošku upravit. Tedy vlastně stačí přidat odstraňovač diakritiky.

Pokud jste uživatel bez programátorských ambicí, přeskočte s klidným svědomím až na konec této kapitoly. V následujícím textu totiž vysvětlím jen několik nudných technických záležitostí týkajících se PHP, kódovaní, konfigurace serverů, kde stáhnout porno s Alenou Šeredovou atd. Tedy nic zajímavého.

Nejprve si ujasníme, co přesně má generátor permalinku za úkol:

  1. Jako vstupní parametr dostane titulek spotu
  2. Odstraní diakritiku
  3. Odstraní další znaky aby zůstali jen číslice, písmena, mezery, podtržítka a pomlčky
  4. Mezery zamění za pomlčky

Pro odstranění diakritiky použiji převodní tabulku. Pomocí ní zaměním všechny české znaky v UTF-8 na ekvivalenty bez diakritiky. Navíc takto ošetřím i přehlasované samohlásky, když budete psát o Müllerovi, bude se to hodit.

Protože WordPress podporuje od verze 1.2 pluginy, pokusil jsem se jich využít. Proč? Modifikace zdrojových kódu WordPress by totiž měla být až tím posledním, k čemu se programátor uchýlí. Už proto, že kód by musel znovu a znovu upravovat při každém updatu. Taktéž používání souboru my-hacks.php je díky pluginům překonané.

Takže výsledkem úsilí je plugin Sanitize CZ, který si po stažení nakopírujte do adresáře /wp-content/plugins a aktivujte v administračním rozhraní. V této souvislosti by Vás mohl zajímat i plugin Sanitize Unique (jen pro WP 1.2).

1 komentář + 4 komentáře = 5 komentářů

Nechci Vás nyní ohromovat svými matematickými dovednostmi, jde mi stále o češtinu. A především o její speciální tvary slov pro různé počty. Pod každým spotem se objevuje informace o počtu komentářů a právě tady se můžeme setkat s problémem tří plurálů. WordPress dokáže rozlišit tvary pro počty 0, 1, a více než 1, ale čeština si žádá ještě speciální tvar pro počet 2–4.

Nejjednodušší řešení, jak problém obejít, je používat zápis Komentáře (3) nebo Komentáře: 3, kde se tvar podstatného jména nemění. Ale pokud se s tímto nespokojíte, bude třeba (bohužel) zasáhnout do kódu.

V adresáři /wp-includes najděte soubor comment-functions.php (ve verzi 1.2 template-functions-comment.php) a v něm funkci comments_number. V ní upravíme část kódu následovně:

if ($number == 0) {
	$blah = $zero;
} elseif ($number == 1) {
	$blah = $one;
} elseif ($number  > 1) {
	$blah = str_replace('%', $number, $more);
}

Změníme do této podoby :

if ($number == 0) {
	$blah = $zero;
} elseif ($number == 1) {
	$blah = $one;
} elseif ($number  > 1) {
	if ($number  < 5)
	  $blah = str_replace('%', $number, '% komentáře');
	else
	  $blah = str_replace('%', $number, $more);
}

Jen nezapomeňte, že slovo komentáře musí být zapsáno ve stejném kódování, jako má Váš web (standardně UTF-8).

A máme zlokalizováno

Byl bych nerad, pokud byste z tohoto článku získali dojem, že lokalizovat WordPress je složité. To rozhodně ne, právě naopak! Skutečně stačí jen stáhnout pár souborů a provést drobné úpravy. Takže hurá do toho! …a nebo zkuste hotové řešení.

UPOZORNĚNÍ: nechtějte po mně podporu k systému WordPress. Nejsem schopen vám pomoci, obraťte se na specializovaná fóra. Díky.