Налаштування локалізації сайту білоруською мовою
Білоруська мова (be / be-BY) використовує кирилицю з кількома унікальними літерами: Ў ў (коротке у), І і (десяткове і), а також апостроф замість м'якого знака в деяких словах. Схилення числівників відрізняється від російської.
Базова конфігурація
// config/app.php
'locale' => 'be',
'fallback_locale' => 'ru',
// resources/lang/be/messages.php
return [
'welcome' => 'Вітаем на нашым сайце',
'catalog' => 'Каталог',
'cart' => 'Кошык',
'checkout' => 'Афармленне заказу',
'search' => 'Пошук',
'add_to_cart' => 'У кошык',
'price' => 'Цана',
'in_stock' => 'Ёсць у наяўнасці',
'out_of_stock' => 'Няма ў наяўнасці',
'order_placed' => 'Заказ аформлены',
];
Схилення числівників у білоруській
Правила близькі до російських, але не ідентичні:
function pluralBe(int $n, string $one, string $few, string $many): string
{
$abs = abs($n);
$mod10 = $abs % 10;
$mod100 = $abs % 100;
// 11–19 → many
if ($mod100 >= 11 && $mod100 <= 19) return "$n $many";
// 1 → one
if ($mod10 === 1) return "$n $one";
// 2–4 → few
if ($mod10 >= 2 && $mod10 <= 4) return "$n $few";
return "$n $many";
}
// "тавар / тавары / тавараў"
echo pluralBe(1, 'тавар', 'тавары', 'тавараў'); // 1 тавар
echo pluralBe(3, 'тавар', 'тавары', 'тавараў'); // 3 тавары
echo pluralBe(11, 'тавар', 'тавары', 'тавараў'); // 11 тавараў
Через Intl.PluralRules на фронтенді:
const rules = new Intl.PluralRules('be')
// Білоруська підтримується у всіх сучасних браузерах
const forms: Record<string, string> = {
one: 'тавар',
few: 'тавары',
many: 'тавараў',
other: 'тавараў',
}
const pluralize = (n: number) => `${n} ${forms[rules.select(n)]}`
Форматування дат та валюти
// Дата білоруською
const df = new Intl.DateTimeFormat('be-BY', {
day: 'numeric',
month: 'long',
year: 'numeric',
})
df.format(new Date()) // "28 сакавіка 2026 г."
// Валюта Беларусі — білоруський рубль (BYN)
new Intl.NumberFormat('be-BY', {
style: 'currency',
currency: 'BYN',
}).format(49.99) // "49,99 Br"
// Відносний час
const rtf = new Intl.RelativeTimeFormat('be', { numeric: 'auto' })
rtf.format(-1, 'day') // "учора"
rtf.format(-7, 'day') // "7 дзён таму"
Особливості шрифтів та типографіки
Літера «Ў» (коротке у) присутня не у всіх системних шрифтах. Перевірте, що вибраний шрифт містить гліф U+040E (Ў) і U+045E (ў):
/* Безпечний стек для білоруської */
body {
font-family: 'PT Sans', 'Roboto', 'Noto Sans', Arial, sans-serif;
}
Google Fonts: PT Sans, Roboto, Noto Sans — усі містять Ў/ў.
HTML та SEO
<html lang="be">
<head>
<meta charset="UTF-8">
<meta property="og:locale" content="be_BY">
<link rel="alternate" hreflang="be" href="https://example.by/be/" />
<link rel="alternate" hreflang="ru" href="https://example.by/" />
</head>
Для сайтів, орієнтованих на білоруську аудиторію: Яндекс.Вебмастер враховує hreflang. Більшість білоруських користувачів розуміють обидві мови, тому мовний перемикач «Бел / Рус» — обов'язковий елемент інтерфейсу.
Апостроф у білоруському тексті
У білоруській мові апостроф — самостійний знак пунктуації, що відокремлює м'який знак: м'яч, з'явіцца. Використовуйте типографічний апостроф U+2019 ('), а не ASCII-апостроф:
// У перекладах
'description' => 'Дэталь\u2019ная інфармацыя аб прадукце',
Терміни
Базова локалізація з перекладами UI-рядків та налаштуванням форматування — 1 робочий день.







