Інтеграція із 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).

Керування репозиторієм керування версіями

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

Підказка

За допомогою Безперервна локалізація до репозиторію автоматично надсилаються зміни щоразу, коли вони з’являються, і, як правило, нема потреби виконувати з ними дії власноруч.

../_images/component-repository.png

Доступні такі операції:

Подання

Надсилає будь-які зміни з черги, присутні в базі даних Weblate, а не у репозиторії, див . «Ліниві» внески.

Записати

Записує зміни до основного репозиторію системи якщо його налаштовано за допомогою Адреса для записування до репозиторію.

Оновити, Витягнути, Перенести

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

Заблокувати

Блокування не дозволить перекладачам вносити зміни

Скинути у Супровід

Скидає будь-які зміни, внесені у Weblate, відповідно до основного репозиторію. Це призведе до відхилення всіх перекладів, зроблених у Weblate та відсутніх в основному репозиторії.

Очистити у Супровід

Вилучає не відстежувані файли з репозиторію. Це може бути спричинено неправильною поведінкою додатків або помилками.

Примусова синхронізація у Супровід

Примусово записує всі рядки до файлів перекладу. Застосовуйте це, коли файли репозиторію з якихось причин не синхронізуються з Weblate.