Локалізація мобільної програми на узбецьку мову
Узбецька мова — формально одна, але технічно існує у двох активних письменностях: кириліця (старший сегмент аудиторії, сільські райони) та латиниця (офіційна з 1993 року, молодь, міська середа). Більшість продуктів, розраховані на Узбекистан, підтримують обидві. Це не удвоєння роботи, але додаткова логіка вибору письменності.
Locale та письменності
iOS locale: uz_UZ (узбецька кирилицею за умовчанням на старих системах) та uz_Latn_UZ (латиниця). Android аналогічно: uz → кириліця історично, uz-Latn → латиниця.
Реальна поведінка системи залежить від версії ОС та регіональних налаштувань пристрою. Надійний підхід — визначати переважання письменності явно: дати користувачу вибір у налаштуваннях програми та зберігати у UserDefaults (iOS) або SharedPreferences (Android).
Узбецька латиниця містить специфічні символи: Oʻ (O з хвостиком) та Gʻ (G з хвостиком) — це не стандартні Unicode символи O та G з діакритикою, а специфічні кодові точки. Системні шрифти підтримують, користувацькі — перевіряємо.
Кирилічний узбецький містить Ў (у краткое) та Қ, Ғ, Ҳ, Ң — аналогічно казахському, але набір трохи інший.
Plural forms
Узбецька — агглютинативна мова (тюркська група). По CLDR plural rules: лише one та other. Це технічно простіше російської — двох форм достатньо. Але падежні суфікси при підстановці іменників потребують того ж підходу, що й казахський: переформулювати строки без проблемних узгоджень.
Приклад: «5 ta xabar» (5 повідомлень у латиниці) — іменник не змінюється, використовується числівник «ta» як частка множинності. Перекладач повинен враховувати цю структуру.
Напрямок тексту
Узбецька — LTR в обох письменностях. Layout не змінюється.
Формати
DateFormatter з Locale(identifier: "uz_Latn_UZ") для латинського узбецького. Формат дати: DD/MM/YYYY. Числа: розділювач тисяч — пробіл, десятковий — кома: «1 234,56».
Якщо програма працює з валютою — узбецький сум (UZS). NumberFormatter з currencyCode: "UZS" та uz_UZ locale.
Практика реалізації
Стандартний workflow:
- Експорт строк у XLIFF (iOS) або Android Localization strings
- Переклад з верифікацією носієм (окремо кириліця та латиниця, якщо підтримуємо обидві)
- Додавання
uz.lprojтаuz-Latn.lprojна iOS,values-uzтаvalues-b+uz+Latnна Android - Тестування з обома системними локалями
Машинний переклад на узбецький — гірший, ніж на російський або англійський. Для UI-строк з юридичним змістом (політика конфіденціальності, згоди) — обов'язково носій.
Часові рамки: три-п'ять робочих днів при підтримці однієї письменності, п'ять-вісім при підтримці обох — з урахуванням тестування та верифікації перекладу.







