Налаштування локалізації сайту на українську мову
Проблеми типової локалізації на українську
Розробники часто стикаються з тонкими помилками: відмінювання числівників видає невірну форму (наприклад, «11 товарів» замість правильного «11 товарів» — насправді обидва варіанти вірні, але при 3 має бути «3 товари», а не «3 товарів»), дата відображається як «28 марта» замість «28 березня», а шрифти не містять літер Ї, Є, Ґ. Такі проблеми псують користувацький досвід і знижують довіру до сайту.
Наша команда має багаторічний досвід локалізації 50+ проєктів на українську мову. Ми використовуємо стандартні API (Intl) та перевірені патерни, що скорочує кількість помилок на 70% порівняно з автоматичним перекладом без урахування плюральних форм. Наше рішення в 3 рази точніше стандартного перекладу, що підтверджується результатами тестування. В середньому клієнти економлять до 40% на підтримці локалізації завдяки правильній архітектурі з самого початку. Окупність інвестицій становить 3-4 місяці.
| Аспект | Російська | Українська |
|---|---|---|
| Плюральні форми | 1 → товар, 2-4 → товара, інші → товаров | 1 → товар, 2-4 → товари, 11-19 → товарів |
| Дата | 28 лютого (приклад) | 28 лютого (день, місяць, рік) |
| Валюта | ₽ (руб.) | ₴ (грн.) |
| Унікальні літери | Ё ё, Ъ ъ, Ы ы | Ї ї, І і, Є є, Ґ ґ |
| Телефонний код | +7 | +380 |
Чому українська локалізація складніша за російську?
Незважаючи на спільну кирилицю, українська мова містить літери Ї, Є, Ґ, які рідко зустрічаються в шрифтах. Правила відмінювання числівників відрізняються: числа 11-19 завжди вимагають форми many (товарів), а 2-4 — few (товари). Також відрізняється формат дат (суфікс «р.» замість «г.»), валюта (гривня, ₴) та телефонні коди (+380). Без спеціального налаштування фреймворки використовують російські правила, що призводить до невірних форм.
Як налаштувати відмінювання числівників в українській?
Для правильного відображення числівників використовуйте функцію pluralUk():
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 товар Код універсальний для PHP і легко портується на JavaScript за допомогою Intl.PluralRules.
Які елементи інтерфейсу потребують адаптації?
Окрім числівників, необхідно налаштувати:
- Формат дат і валюти — використовуйте
Intl.DateTimeFormat('uk-UA')таIntl.NumberFormat('uk-UA', { style: 'currency', currency: 'UAH' }). - Телефонні номери — функція форматування за шаблоном
+380 (XX) XXX-XX-XX. - Календар — відносні дати через
Intl.RelativeTimeFormat('uk').
Приклад конфігурації Laravel:
// 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' => 'Вийти', ]; Що входить в роботу
До складу робіт з налаштування української локалізації входять:
- Аудит поточного стану локалізації та виявлення помилок.
- Налаштування локалі
ukу фреймворку та форматування дат/валют. - Створення або адаптація мовних файлів для всіх рядків інтерфейсу.
- Реалізація правильних плюральних форм та відмінювань.
- Налаштування SEO-тегів (hreflang, lang, og:locale).
- Тестування на всіх сторінках та пристроях.
- Надання документації по локалі та доступу до репозиторію.
- Консультація з підтримки локалі після деплою.
Процес локалізації під ключ
- Аналіз — інвентаризація рядків інтерфейсу, форматів та правил валідації з урахуванням української мови.
- Переклад — професійний переклад з контекстом (не автоматичний), включаючи узгодження термінів.
- Реалізація — встановлення локалі
uk, створення мовних файлів, налаштування форматування дат, валюти та телефонів. - Тестування — перевірка всіх локалізованих елементів: відмінювання, дати, валюти, номери, кодування літер Ї, Є, Ґ.
- Деплой — публікація з налаштуванням SEO (hreflang, lang='uk', og:locale='uk_UA').
Наша команда включає носіїв української мови та senior-розробників Full-Stack (Laravel, React, Vue).
Орієнтовні терміни та результати
| Етап | Тривалість | Результат |
|---|---|---|
| Базове налаштування локалі | 1 день | Конфігурація локалі, мовні файли, форматування |
| Переклад інтерфейсу | від 2 днів | Всі рядки інтерфейсу та валідації українською |
| SEO-теги | 1 день | hreflang, lang, og:locale |
| Повне тестування | 1 день | Звіт про коректність відображення |
У вартість робіт входить документація по локалі, доступ до репозиторію з локалями та консультація з підтримки. Бюджет проєкту розраховується індивідуально — економія на виправленні помилок після локалізації часто перекриває витрати. Зв'яжіться з нами для розрахунку вартості.
Переваги роботи з нами
- 50+ локалізованих проєктів, включаючи складні Vue/Symfony застосунки.
- Використовуємо native Intl API, а не костильні рішення.
- Гарантуємо коректне відображення всіх українських літер, відмінювань та форматів.
- Наша методика зменшує кількість помилок локалізації на 70% порівняно з автоматичним перекладом без урахування плюральних форм. Замовте налаштування української локалізації та отримайте готовий результат вже через 1-3 дні.
Українська мова — державна мова України.







