Інтеграція із Weblate

Основи Weblate

Структура проєктів і складників

У Weblate переклади упорядковано за проєктами та складниками. Кожен проєкт може містити декілька складників, які містять переклади окремими мовами. Складник відповідає одному файлу перекладу (наприклад, GNU Gettext або Рядкові ресурси Android). Проєкти призначено для полегшення упорядковування складників у логічні набори (наприклад, для групування усіх перекладів, які використовуються у одній програмі).

На внутрішньому рівні, у кожному проєкті містяться переклади типових рядків, які типово поширюються на усі інші складники перекладу. Це полегшує роботу, усуваючи потребу у нудному повторному перекладі та ручному перенесенні перекладів між версіями. Поширення перекладів можна вимкнути на рівні складника за допомогою налаштування поширення перекладів, якщо переклади мають відрізнятися.

Імпортування проєкту з локалізації до Weblate

Weblate розроблено з урахуванням можливості інтеграції із системами керування версіями, як його основної можливості, тому найпростішим підходом до інтеграції є надання Weblate доступу до вашого сховища керування версіями. У процесі імпортування Weblate допоможе вам у налаштуванні складників із вашими перекладами.

Крім того, ви можете скористатися Weblate для налаштовування локального сховища, у якому міститимуться усі переклади, без інтеграції.

Отримання оновлень перекладів з Weblate

Щоб отримати оновлені рядки з Weblate можете просто отримати базове сховище Git (або з файлової системи, або за допомогою Засіб експортування Git). До цього, можливо, вам варто внести всі зміни з черги (див. «Ліниві» внески). Це можна зробити за допомогою графічного інтерфейсу користувача (розділ Супровід сховища) або інтерфейсу командного рядка за допомогою Клієнт Weblate.

Це можна автоматизувати, надавши Weblate доступ до запису до вашого сховища і налаштувавши адресу запису у складнику перекладу, див. Записування змін з Weblate.

Крім того, ви можете скористатися Програмний інтерфейс REST Weblate для оновлення перекладів у відповідності з найсвіжішою версією.

Отримання зовнішніх змін у Weblate

Щоб отримати до Weblate рядки, які було оновлено у вашому сховищі, просто надайте програмі можливість отримання даних з основного сховища. Це можна налаштувати за допомогою графічного інтерфейсу користувача (розділ Супровід сховища) або інтерфейсу командного рядка за допомогою Клієнт Weblate.

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

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

Додавання нових рядків

Якщо ваші файли перекладу зберігаються в VCS разом з кодом, ви, швидше за все, маєте робочий простір для розробників, щоб ввести нові рядки. Яким би не був спосіб отримання доданих рядків, скористайтеся Шлюз якості для початкових рядків, щоб уникнути помилок.

Коли файли перекладу є окремими від коду, можна скористатися описаними далі способами, щоб ввести нові рядки у Weblate.

  • Власноруч, застосувавши :guilabel:` Додати новий рядок перекладу` з меню Знаряддя розділу мови, яка використовується початковою мовою для перекладів.

  • Програмно, використовуючи API POST /api/translations/(string:project)/(string:component)/(string:language)/units/.

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

Примітка

Доступність можливості додавати рядки у Weblate залежить від Керування рядками.

Оновлення файлів мови перекладу

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

Крім того, Weblate не намагатиметься оновлювати двомовні файли у будь-який спосіб, тому якщо вам потрібне оновлення файлів po на основі pot, вам слід виконати оновлення власноруч за допомогою пункту Оновити рядки джерела Способи імпортування або за допомогою додатка Оновити файли po, порівнявши із pot (msgmerge).