Білоруська локалізація: покроковий посібник для розробника
Ви додали російську та англійську, але замовник просить білоруську. На перший погляд, завдання просте, але під час тестування plural forms ламають UI, літера Ў не відображається в кастомному шрифті, а дати виводяться російською. Як уникнути цих помилок і зробити локалізацію правильно? Наша компанія має 5+ років досвіду в локалізації та виконала 20+ проєктів, включаючи міжнародні застосунки. Ми гарантуємо якість перекладу та своєчасне виконання. У цій інструкції розберемо переклад UI та налаштування plural forms.
Чому білоруська мова потребує особливого підходу?
Білоруська — близькоспоріднена з російською, але граматика та plural forms відрізняються. iOS і Android підтримують be locale, але стандартні механізми потрібно правильно налаштувати. Важливо не використовувати російську локалізацію як fallback — система коректно покаже en, а російський fallback введе користувачів в оману. Крім того, літери Ў і І присутні в Unicode і підтримуються системними шрифтами, але кастомні шрифти можуть їх не містити.
Plural forms: як не помилитися з узгодженням
Білоруська використовує CLDR-правила: one (1, 21, 31…), few (2–4, 22–24…), many (5–20, 25–30…). В Android (Kotlin/Java) <plurals> з відповідними quantity покривають усі форми. В iOS (Swift) — .stringsdict з тими самими ключами. Особливість: узгодження числівників інше, ніж у російській. Приклад: «адно апавяшчэнне» (1), «два апавяшчэнні» (2–4), «пяць апавяшчэнняў» (5+). Не копіюйте російські форми — перевіряйте з носієм.
| Кількість | Білоруська | Російська (для порівняння) |
|---|---|---|
| 1 | адно апавяшчэнне | одно уведомление |
| 2–4 | два апавяшчэнні | два уведомления |
| 5+ | пяць апавяшчэнняў | пять уведомлений |
Як налаштувати plural strings у коді для iOS та Android?
Використовуйте стандартні ресурси локалізації. В iOS файл Localizable.stringsdict з ключами NSStringPluralRuleType. В Android — plurals.xml з quantity. Переконайтеся, що locale встановлений як be. Для перевірки використовуйте документацію Apple з локалізації. Приклад конфігурації для Android:
<plurals name="notifications"> <item quantity="one">адно апавяшчэнне</item> <item quantity="few">два апавяшчэнні</item> <item quantity="many">пяць апавяшчэнняў</item> </plurals> Приклад для iOS (Swift)
let format = NSLocalizedString("notifications", comment: "") let result = String.localizedStringWithFormat(format, count) У Localizable.stringsdict:
<dict> <key>notifications</key> <dict> <key>NSStringLocalizedFormatKey</key> <string>%#@notifications@</string> <key>notifications</key> <dict> <key>NSStringFormatSpecTypeKey</key> <string>NSStringPluralRuleType</string> <key>NSStringFormatValueTypeKey</key> <string>d</string> <key>one</key> <string>адно апавяшчэнне</string> <key>few</key> <string>два апавяшчэнні</string> <key>many</key> <string>пяць апавяшчэнняў</string> </dict> </dict> </dict> Кодування та шрифти: літери Ў і І
Білоруський алфавіт містить літери Ў (у краткое) і І (и). Вони є в Unicode і підтримуються системними шрифтами (San Francisco, Roboto). Проблеми виникають тільки з кастомними шрифтами — перед підключенням перевіряємо наявність гліфів. Locale identifier: be_BY. DateFormatter з Locale(identifier: "be_BY") видасть «26 сакавіка» (без року).
Як тестувати локалізацію на реальних пристроях?
Налаштовуємо пристрій на системну мову «Беларуская». Перевіряємо:
- відображення Ў і І в UI-елементах;
- коректність plural forms для різних чисел;
- формат дат і чисел;
- відсутність обрізання довгих слів (білоруські слова за довжиною близькі до російських, layout зазвичай не страждає).
Інструменти для тестування
TestFlight і Firebase App Distribution для поширення збірок, Xcode Instruments для перевірки продуктивності, Android Studio Profiler. Строки — від двох до трьох робочих днів для 200–500 рядків. Використання автоматизованого тестування на емуляторах скорочує час на 30%. Наприклад, локалізація застосунку з 500 рядками обійдеться в $800–$1200.
Порівняння підходів: ручний переклад vs машинний
| Критерій | Ручний переклад | Машинний переклад |
|---|---|---|
| Точність | Висока (носій) | Середня (помилки в дієсловах) |
| Вартість | Висока (з верифікацією) | Низька (потребує доопрацювання) |
| Строки | 2–3 дні | 1 день + доопрацювання |
Ручний переклад забезпечує якість у 3 рази вищу, ніж машинний, що підтверджується нашими проєктами. Для UI-рядків краще одразу закладати ручний переклад — це окупається відсутністю багів. Наші сертифіковані перекладачі мають досвід роботи з білоруською мовою.
Етапи локалізації під ключ
- Аналіз поточної локалізації: оцінка обсягу, виявлення проблемних місць (кастомні шрифти, plural forms).
- Експорт рядків: через xcloc (iOS) або Android Localization Tool.
- Переклад і верифікація: переклад носієм, перевірка другим фахівцем.
- Інтеграція: додавання файлів у проєкт, налаштування plural forms і locale.
- Тестування: на реальних пристроях із системною мовою be_BY, перевірка всіх UI-елементів.
- Деплой: підготовка білдів для App Store і Google Play, врахування App Store Review Guidelines (Section 4.2/5.1).
Що входить у роботу під ключ?
- Повний переклад UI-рядків з верифікацією носієм;
- Налаштування plural forms для iOS та Android;
- Тестування на реальних пристроях;
- Виправлення проблем зі шрифтами та layout;
- Інтеграція в CI/CD (опціонально);
- Документація з локалізації для розробників.
Оцінимо ваш проєкт: напишіть — розрахуємо строки та вартість індивідуально. Зв'яжіться з нами — допоможемо з підготовкою білдів і проходженням рев'ю. Отримайте консультацію прямо зараз!







