Laravel localization in Thai ไทย
Everything you need to ship Thai in a Laravel app: the right locale codes,
the exact plural forms trans_choice() expects,
real localized Carbon output and Thai-script considerations.
Every value on this page was generated by running ICU, CLDR and Carbon — not copied from another article.
ISO 639-1
th
Script / Direction
Thai · LTR
Plural forms (Laravel)
1
Text vs English
Similar
Locale codes
Set the base locale in config/app.php. For regional variants,
Thai commonly uses:
th_TH
// config/app.php
'locale' => 'th',
'fallback_locale' => 'en',
// Or switch at runtime
App::setLocale('th');
Plural rules: what Thai actually needs
CLDR defines 1 cardinal category for Thai. The sample numbers below were computed by ICU for this exact locale:
| CLDR category | Numbers that select it |
|---|---|
| other | 0–130, 200, 1000, 1000000, 1.5 |
Laravel's trans_choice() maps numbers to
1 pipe-separated
form for this locale:
| Form index | Numbers that select it |
|---|---|
| 0 | 0–130, 200, 1000 |
// lang/th/messages.php
'items' => ':count'
// Usage
trans_choice('messages.items', $count, ['count' => $count]);
This language has no grammatical plural, so a single form covers every number.
Try any number live in the pluralization tester.
Localized dates with Carbon
Real output for Thai (th locale),
generated by Carbon for March 21, 2026:
$date = now()->locale('th');
$date->translatedFormat('l, j F Y');
// "เสาร์, 21 มีนาคม 2026"
$date->isoFormat('LLLL');
// "Lันเสาร์ที่ 21 มีนาคม 2026 เวลา 14:30"
$date->isoFormat('L');
// "21/03/2026"
$date->subDays(3)->diffForHumans();
// "3 เดือนที่แล้ว"
What to watch out for in Thai
- No spaces between words (spaces separate phrases), so line breaking requires dictionary-based word segmentation.
- No plural, gender, or tense inflection; meaning comes from context and helper words.
- Polite particles (ครับ for male, ค่ะ for female speakers) set register in user-facing text.
- The Buddhist Era calendar (year + 543) is widely used in formal Thai dates.
Framework strings already translated
Laravel's own validation, auth and pagination strings are maintained in Thai 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 th
php artisan lang:update
Translate your app into Thai today
Import your lang files, translate every key into Thai with one AI click, and publish changes live — no deploy. Set up in 5 minutes.