Moderní tvorba webových aplikací

O webu

České skloňování

Jak v JS, PHP nebo CSS správně vytvořit skloňování slov pro české prostředí.

3 minuty

Pokud se má na stránce automaticky vypisovat něco ve stylu „5 nových komentářů“, je třeba řešit skloňování.

Bez správného ohýbání slov by web mohly hyzdit texty typu:

  • 2 nových komentářů
  • Nových komentářů: 1

Skloňování počtu v češtině

Zatímco angličtina rozlišuje mezi jedničkou a vším ostatním (1 comment vs. 2 comments), čeština je v tomto komplikovanější.

  • 1 komentář
  • 2, 3, 4 komentáře
  • 5 a více komentářů

Při psaní českého textu aplikace jsou proto potřeba tři různé tvary.

Skloňování v JavaScriptu

Funkce zajišťující správné skloňování musí zvolit česky korektní tvar na základě počtu. Aby funkce fungovala i pro záporná čísla převádí se počet na číslo kladné – absolutní hodnotu (Math.abs).

function sklonovani(pocet, slova) {
  pocet = Math.abs(pocet);
  if (pocet == 1) return slova[0];
  if (pocet < 5 && pocet > 0) return slova[1];
  return slova[2];
}

Použití je následovné (tvary pro jednotlivé počty se předávají jako pole):

var pocetKomentaru = 5;
alert(
  sklonovani(
    pocetKomentaru, 
    ['komentář', 'komentáře', 'komentářů']
  )
);
webů

Samostatná ukázka

Skloňování slov v PHP

PHP a JS jsou si hodně podobné.

Skloňující funkce tedy bude velmi podobná jako v JavaScriptu.

function sklonovani($pocet, $slova) {
  $pocet = abs($pocet);
  if ($pocet == 1) return $slova[0];
  if ($pocet < 5 && $pocet > 0) return $slova[1];
  return $slova[2];
}

Použití:

echo sklonovani(
  3, // tři komentáře 
  array('komentář', 'komentáře', 'komentářů')
);

Správný tvar slov v CSS

I v prostém HTML/CSS jde skloňování nouzově vyřešit.

Dá-li se zajistit výpis počtu do CSS třídy, správného tvaru slov se docílí vypsáním v CSS vlastností content.

Související články

JavaScript Battery API

Jak v JS zjistit stav baterie, co dnes funguje a kdy API nepoužívat.

3 minuty

Výpis náhodného textu

Jak na stránce náhodně vypsat obrázek, odkaz, reklamu, text nebo cokoliv jiného.

5 minut

Instalace Apache, PHP a MySQL za 30 vteřin

Jak si ve Windows spustit vlastní Apache, PHP a MySQL na svém PC za půl minuty.

7 minut

MySQL přes PDO

PDO je PHP rozhraní pro pohodlnější práci s SQL databásí. Jaké přináší výhody a jak ho používat.

7 minut

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků
2013–2025