Laravel localization in Russian Русский

Everything you need to ship Russian in a Laravel app: the right locale codes, the exact plural forms trans_choice() expects, real localized Carbon output and Cyrillic-script considerations. Every value on this page was generated by running ICU, CLDR and Carbon — not copied from another article.

ISO 639-1

ru

Script / Direction

Cyrillic · LTR

Plural forms (Laravel)

3

Text vs English

Expands

Locale codes

Set the base locale in config/app.php. For regional variants, Russian commonly uses: ru_RU, ru_BY, ru_KZ, ru_UA

// config/app.php
'locale' => 'ru',
'fallback_locale' => 'en',

// Or switch at runtime
App::setLocale('ru');

Plural rules: what Russian actually needs

CLDR defines 4 cardinal categories for Russian. The sample numbers below were computed by ICU for this exact locale:

CLDR category Numbers that select it
one 1, 21, 31, 41, 51, 61, …
few 2–4, 22–24, 32–34, 42–44, 52–54, 62–64, …
many 0, 5–20, 25–30, 35–40, 45–50, 55–60, …
other 1.5

Laravel's trans_choice() maps numbers to 3 pipe-separated forms for this locale:

Form index Numbers that select it
0 1, 21, 31, 41, 51, 61, …
1 2–4, 22–24, 32–34, 42–44, 52–54, 62–64, …
2 0, 5–20, 25–30, 35–40, 45–50, 55–60, …
// lang/ru/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 Russian (ru locale), generated by Carbon for March 21, 2026:

$date = now()->locale('ru');

$date->translatedFormat('l, j F Y');
// "суббота, 21 марта 2026"

$date->isoFormat('LLLL');
// "суббота, 21 марта 2026 г., 14:30"

$date->isoFormat('L');
// "21.03.2026"

$date->subDays(3)->diffForHumans();
// "3 месяца назад"

What to watch out for in Russian

Framework strings already translated

Laravel's own validation, auth and pagination strings are maintained in Russian 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 ru
php artisan lang:update

Translate your app into Russian today

Import your lang files, translate every key into Russian with one AI click, and publish changes live — no deploy. Set up in 5 minutes.

We use cookies to improve your experience and analyze site traffic. Cookie Policy

Cookie Preferences

Essential

Required for the site to work

Analytics

Help us improve the site

Marketing

Personalized ads and content