Визначення мов

Для належного представлення різних перекладів потрібні дані щодо назви мови, напрямку запису тексту, визначення форм множини та коду мови.

Вбудовані визначення мов

До пакунка Weblate включено близько 650 мов. Кожного випуску список мов зростає. Під час оновлення Weblate (точніше, під час виконання команди migrate, перегляньте Загальні настанови щодо оновлення) виконується оновлення бази даних мов для включення усіх визначень мов, які є у новому пакунку Weblate.

Оновлення можна вимкнути за допомогою параметра UPDATE_LANGUAGES. Ви також можете примусово оновити базу даних так, щоб вона відповідала вбудованим до Weblate даним, за допомогою команди setuplang.

Обробка кодів мов

Під час обробки перекладів Weblate намагається прив’язати код мови (зазвичай, код зі списку ISO 639-1) з маски файлів складника до усіх наявних об’єктів мов.

Ви можете поліпшити цю прив’язку на рівні проєкту за допомогою Альтернативні назви мови.

Якщо точної прив’язки не буде знайдено, буде зроблено спробу встановлення найкращої відповідності до наявного запису мови. Буде виконано такі кроки:

  • Пошук без врахування регістру символів.

  • Нормалізація підкреслень та дефісів.

  • Пошук вбудованих альтернативних назв мов.

  • Пошук за назвою мови.

  • Ігнорування типового коду країни для вибраної мови — вибираємо cs замість cs_CZ.

Якщо і це не допоможе, нове визначення мови буде створено за допомогою типових значень (напрям запису тексту зліва праворуч, одна форма множини). Автоматично створений запис мови із кодом xx_XX матиме назву xx_XX (generated). Ви можете змінити цю назву пізніше за допомогою адміністративного інтерфейсу (див. Зміна визначень мов) і повідомити про помилку у системі стеження за вадами (see Участь у розробці Weblate), щоб належне визначення було додано у майбутньому випуску Weblate.

Підказка

Якщо у списку мов ви бачите якісь небажані записи, вам варто скоригувати Фільтр мов для ігнорування відповідного файла при обробці перекладів.

Зміна визначень мов

Ви можете змінити визначення мов за допомогою інтерфейсу роботи з мовами (адреса /languages/).

Під час редагування переконайтеся, що усі поля заповнено правильно (особливо, на форми множини та напрямок запису тексту). Якщо ви цього не зробите, перекладачі не зможуть належним чином редагувати відповідні переклади.

Неоднозначні коди мови і макромови

Здебільшого, не варто використовувати код макромови для перекладу. Типовим проблемним випадком є курдська мова, яку можна записувати арабською або латинською писемністю, залежно від варіанта. Щоб Weblate обробляв такі випадки належним чином, рекомендуємо використовувати лише коди окремих мов і уникати використання кодів макромов.

Визначення мов

Кожен запис мови складається з таких полів:

Код мови

Код ідентифікації мови. Weblate надає перевагу дволітерним кодам, які визначаються стандартом ISO 639-1, але використовує коди ISO 639-2 або ISO 639-3 для мов, які не мають дволітерного коду. Крім того, передбачено підтримку розширених кодів, які визначено стандартом BCP 47.

Назва мови

Видима назва мови. Назви мов, які включено до Weblate, також локалізуються, залежно від мови інтерфейсу користувача.

Напрямок тексту

Визначає, записується мова справа ліворуч чи зліва праворуч. Ця властивість автоматично визначається належним чином для більшості мов.

Кількість мовців

Кількість людей, які розмовляють цією мовою.

Визначення форм множини

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

Попередження

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

Зміна кількості форм множини або формули форм множини впливає лише на показ рядків, але не на обробку і зберігання рядків до файлів. Якщо ви вважаєте, що Weblate працює неправильно, будь ласка, створіть повідомлення про ваду у нашій системі стеження за вадами.

Кількість форм множини

Кількість форм множини, які використовуються у мові.

Форма множини

Для визначення, яку форму множини буде використано для вказаної кількості, буде використано формулу множини, яка сумісна із Gettext.