Na navigaci | Klávesové zkratky

Jak počeštit WordPress?

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.

Komentáře

  1. MARINAKX http://marinakx.wz.cz/ #1

    Diky za clanek ale ten preklad z .cz stranky ma u me jeste par chyb
    Edit This Links
    a smesnou nemcinu “RSS Feed für Kommentare zu diesem Eintrag.”
    snad to nekde najdu…

    před 12 lety
  2. Mixer #2

    Tak vtom budeš mít za chvilku bordel.

    před 12 lety
  3. Pitsonek #3

    avatar

    Mohl bys my prosim poradit s Wordpressem? Kdyz jsem si ho nainstaloval a pokusil se ho pocestit podle uvedenych navodu. Tak my akorat vypisuje chyby: Warning: fread() [function.fread]: Length parameter must be greater than 0. in C:\dev\www\osobni\wordpress\wp-includes\streams.php on line 107
    jinak kdyz nastavim zakladni jazyk tak jde vse ok. Dekuji za radu ci tip.

    před 12 lety | reagoval [4] David Grudl
  4. David Grudl http://davidgrudl.com #4

    avatar

    #3 Pitsonku, možná Ti tu některý ze čtenářů poradí, jinak se zkus poohlédnout na diskuzních fórech věnovaných přímo WordPressu. Tento článek je už starší, WordPress nepoužívám a kde je problém vážně netuším.

    před 12 lety
  5. emk #5

    Zdravím autora článku „Jak počeštit WordPress?“ a mám následující dotaz.

    Kde se nachází ve výše uvedeném elaborátu adresa na Alenku (cituji: V následujícím textu ........... serverů, kde stáhnout porno s Alenou Šeredovou atd. Tedy nic zajímavého.)? Než jsem se rozhodl napsat svůj „zásadní“ komentář, tak předesílám, že jsem článek přečetl několikrát a dosti podrobně (pro jistotu jsem to projel v Internet Exploreru, Maxthonu, Opeře, Mozille a Mozille Firefoxu) a nic!!! :(

    Je fakt, že hledám „jiné informace“ a to k problému, který řeším s publikováním ve WordPressu, ale když se něco naznačí ............

    před 11 lety
  6. karas http://www.beercity.cz #6

    avatar

    Hi Mr. dgx
    Nejdrive diky za Vas preklad Wordpressu :-) Chtel bych Vas poprosit o jednu radu, je to nejspis asi malickost, ale vubec na to nemuzu prijit :-)
    Prohlem nejspis v kodovani stranky, ale nevim. Pri prekladu zbyvajicich anglickych slovicek v systemu, musim psat diakriticka znamenka v html kodu, jinak se to blbe zobrazuje. Muzu poprosit o radu jak se toho zbavit a psát vše „normalně“ :-)?! Diky za odpoved. karas

    před 11 lety
  7. Jonas http://stargate.wi.cz/sg #7

    avatar

    Mne to proste v tom blogu nejde.

    před 11 lety
  8. Putas #8

    avatar

    Mám podobný problém jako karas, a to takový, že při změně grafiky (themes.wordpress.net) jsou tam zpátky anglické popisky (Comments …). Počeštil jsem to přimo v kódu grafiky, ale pravděpodobne utf-8 zobrazuje takto zadaná slova bez diakritiky. Například se zobrazí slovo, které je v kódu zapsáno jako „Komentáře“, tak na stránce to zobrazí jako „Koment??e“. Můžu poprosit o radu. Diky

    před 10 lety
  9. ricc21 #9

    Mam problém s počeštěním… prostě se nepočeštuje…
    viz http://wordpress.org/…/topic/88621?…

    Nevíte co s tim? sorry ze tu pisu sem ale newim kam jinam bych moh…

    před 10 lety
  10. Pajčus http://www.pajcus.wz.cz #10

    avatar

    Velice pěkný článek jen bych podotkl, že datum, pokud ho píšeme jen číselně, se podle typografických pravidel může psát jak s mezerami, tak bez mezer:
    23. 1. 1980
    23.1.1980

    Pozor na tyto tvary zápisu, sami jistě vidíte, že je asi něco špatně:
    23.1. 1980
    23. 1.1980

    Jestli napsat mezeru nebo ne, je věc vkusu, kompozice a zvoleného písma. V jednom textu, publikaci, webu se nesmí použít více variant – to ostatně platí i u znaků, u kterých se můžeme rozhodnout, jestli před ním a za ním psát mezery nebo ne – takovým znakem je třeba lomítko (správné zápisy: levý/pravý, levý / pravý – vždy se ale musí v celém textu používat zvolená varianta!)

    před 9 lety

Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.