Налаштування локалізації сайту на українську мову

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування локалізації сайту на українську мову
Проста
від 1 робочого дня до 3 робочих днів
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Налаштування локалізації сайту українською мовою

Українська мова (uk / uk-UA) використовує кирилицю з буквами, відсутніми в російській: Ї ї, І і, Є є, Ґ ґ. Правила схилення числівників відрізняються від російських. Українська — друга за поширеністю мова СНД, обов'язкова для сайтів, орієнтованих на українську аудиторію.

Базова конфігурація

// config/app.php
'locale' => 'uk',
'fallback_locale' => 'en',
// resources/lang/uk/messages.php
return [
    'welcome'       => 'Ласкаво просимо на наш сайт',
    'catalog'       => 'Каталог',
    'cart'          => 'Кошик',
    'checkout'      => 'Оформлення замовлення',
    'search'        => 'Пошук',
    'add_to_cart'   => 'Додати до кошика',
    'price'         => 'Ціна',
    'in_stock'      => 'Є в наявності',
    'out_of_stock'  => 'Немає в наявності',
    'order_placed'  => 'Замовлення оформлено',
    'login'         => 'Увійти',
    'register'      => 'Зареєструватися',
    'logout'        => 'Вийти',
];

Схилення числівників в українській

Українська має три форми, як російська, але з іншими правилами для деяких цифр:

function pluralUk(int $n, string $one, string $few, string $many): string
{
    $abs    = abs($n);
    $mod10  = $abs % 10;
    $mod100 = $abs % 100;

    if ($mod100 >= 11 && $mod100 <= 19) return "$n $many";
    if ($mod10 === 1) return "$n $one";
    if ($mod10 >= 2 && $mod10 <= 4) return "$n $few";
    return "$n $many";
}

// "товар / товари / товарів"
echo pluralUk(1, 'товар', 'товари', 'товарів');  // 1 товар
echo pluralUk(3, 'товар', 'товари', 'товарів');  // 3 товари
echo pluralUk(11, 'товар', 'товари', 'товарів'); // 11 товарів
echo pluralUk(21, 'товар', 'товари', 'товарів'); // 21 товар

Ключова відмінність від російської: в українській форма «few» застосовується для 2–4, а не тільки для «two» (форма збігається, але називається інакше). На практиці код однаковий.

const rules = new Intl.PluralRules('uk')
const forms: Record<string, string> = {
  one:   'товар',
  few:   'товари',
  many:  'товарів',
  other: 'товарів',
}
const pluralize = (n: number) => `${n} ${forms[rules.select(n)]}`

Форматування дат та валюти

const df = new Intl.DateTimeFormat('uk-UA', {
  day: 'numeric',
  month: 'long',
  year: 'numeric',
})
df.format(new Date()) // "28 березня 2026 р."

// Гривня
new Intl.NumberFormat('uk-UA', {
  style: 'currency',
  currency: 'UAH',
  maximumFractionDigits: 0,
}).format(1990) // "1 990 ₴"

// Числа
new Intl.NumberFormat('uk-UA').format(1234567.89)
// "1 234 567,89"

const rtf = new Intl.RelativeTimeFormat('uk', { numeric: 'auto' })
rtf.format(-1, 'day')   // "вчора"
rtf.format(-5, 'day')   // "5 днів тому"
rtf.format(2, 'hour')   // "через 2 години"

Специфіка українських букв

Буква «Ї» (U+0407 / U+0457) — унікальна для української. «І» — відрізняється від російської «И». «Є» ≠ «Е».

Не всі шрифти містять «Ґ» (U+0490 / U+0491). Перевіряйте шрифти:

body {
  font-family: 'PT Sans', 'Roboto', 'Noto Sans', Arial, sans-serif;
}

Усі три шрифти містять повний український алфавіт.

Laravel: валідаційні повідомлення

// resources/lang/uk/validation.php
return [
    'required' => 'Поле «:attribute» є обов\'язковим.',
    'email'    => 'Поле «:attribute» повинно містити коректну email-адресу.',
    'min'      => [
        'string' => 'Поле «:attribute» має містити не менше :min символів.',
    ],
    'unique'   => 'Таке значення поля «:attribute» вже існує.',

    'attributes' => [
        'email'    => 'email',
        'password' => 'пароль',
        'name'     => 'ім\'я',
        'phone'    => 'телефон',
    ],
];

Телефонні номери України

function formatUaPhone(value: string): string {
  const digits = value.replace(/\D/g, '')
  const normalized = digits.startsWith('0') ? '380' + digits.slice(1) : digits

  if (normalized.length !== 12 || !normalized.startsWith('380')) return value

  return `+380 (${normalized.slice(3, 5)}) ${normalized.slice(5, 8)}-${normalized.slice(8, 10)}-${normalized.slice(10)}`
}

formatUaPhone('0671234567') // "+380 (67) 123-45-67"

SEO

<html lang="uk">
<head>
  <meta charset="UTF-8">
  <meta property="og:locale" content="uk_UA">
  <link rel="alternate" hreflang="uk" href="https://example.ua/uk/" />
  <link rel="alternate" hreflang="ru" href="https://example.ua/" />
  <link rel="alternate" hreflang="x-default" href="https://example.ua/" />
</head>

Терміни

Налаштування локалі, переводи інтерфейсу, форматування дат/валюти/телефонів — 1 робочий день.