Laravel localization in Czech Čeština
Everything you need to ship Czech in a Laravel app: the right locale codes,
the exact plural forms trans_choice() expects,
real localized Carbon output and Latin-script considerations.
Every value on this page was generated by running ICU, CLDR and Carbon — not copied from another article.
ISO 639-1
cs
Script / Direction
Latin · LTR
Plural forms (Laravel)
3
Text vs English
Similar
Locale codes
Set the base locale in config/app.php. For regional variants,
Czech commonly uses:
cs_CZ
// config/app.php
'locale' => 'cs',
'fallback_locale' => 'en',
// Or switch at runtime
App::setLocale('cs');
Plural rules: what Czech actually needs
CLDR defines 4 cardinal categories for Czech. The sample numbers below were computed by ICU for this exact locale:
| CLDR category | Numbers that select it |
|---|---|
| one | 1 |
| few | 2–4 |
| other | 0, 5–130, 200, 1000, 1000000 |
| many | 1.5 |
Laravel's trans_choice() maps numbers to
3 pipe-separated
forms for this locale:
| Form index | Numbers that select it |
|---|---|
| 0 | 1 |
| 1 | 2–4 |
| 2 | 0, 5–130, 200, 1000 |
// lang/cs/messages.php
'items' => ':count item|:count items'
// Usage
trans_choice('messages.items', $count, ['count' => $count]);
This language uses 3 plural forms. Laravel's built-in trans_choice only resolves two, so for grammatically correct output use an ICU MessageFormat package or handle the extra forms explicitly against the CLDR categories above.
Try any number live in the pluralization tester.
Localized dates with Carbon
Real output for Czech (cs locale),
generated by Carbon for March 21, 2026:
$date = now()->locale('cs');
$date->translatedFormat('l, j F Y');
// "sobota, 21 března 2026"
$date->isoFormat('LLLL');
// "sobota 21. března 2026 14:30"
$date->isoFormat('L');
// "21. 03. 2026"
$date->subDays(3)->diffForHumans();
// "před 3 měsíci"
What to watch out for in Czech
- Seven grammatical cases: nouns inside sentences change form, so avoid inserting raw placeholders mid-sentence.
- Plural rules use one/few/many/other categories (1, 2-4, and 5+ behave differently).
- Diacritics (háček and acute: č, š, ž, ř, á, í) are mandatory; ensure fonts and encoding support them.
- Ty/vy formal-informal distinction; decimal comma with space as thousands separator (1 234,56).
Framework strings already translated
Laravel's own validation, auth and pagination strings are maintained in Czech by the open-source Laravel-Lang project (MIT). Install them, then manage your app's own strings live:
composer require laravel-lang/common --dev
php artisan lang:add cs
php artisan lang:update
Translate your app into Czech today
Import your lang files, translate every key into Czech with one AI click, and publish changes live — no deploy. Set up in 5 minutes.