Клієнт Weblate¶
Установлення¶
Клієнт Weblate постачається окремо і включає до себе модуль Python. Щоб користуватися наведеними нижче командами, вам слід встановити wlc за допомогою pip:
pip install wlc
Ви також можете виконати його безпосередньо, використовуючи uvx:
uvx wlc --help
Підказка
Ви також можете використовувати цей wlc як модуль Python, див. wlc.
Користування Docker¶
Крім того, клієнт Weblate доступний у форматі образу для Docker.
Образ оприлюднено на Docker Hub: https://hub.docker.com/r/weblate/wlc
Установлення:
docker pull weblate/wlc
Контейнер Docker використовує типові параметри Weblate і встановлює з’єднання із програмним інтерфейсом, який розгорнуто на локальному вузлі. URL-адресу API та API_KEY можна налаштувати за допомогою аргументів, які приймаються Weblate.
У команді запуску контейнера використовують такий синтаксис:
docker run --rm weblate/wlc [WLC_ARGS]
Приклад:
docker run --rm weblate/wlc --url https://hosted.weblate.org/api/ list-projects
Можливо, вам знадобиться передати файл Файли налаштувань у контейнер Docker. Якщо у вашому репозиторії міститься файл конфігурації проекту, наприклад .weblate, найпростішим способом буде додати поточний каталог як том /home/weblate:
docker run --volume $PWD:/home/weblate --rm weblate/wlc show
Перші кроки¶
Найпростіший спосіб розпочати роботу — створити особистий файл конфігурації wlc у каталозі ~/.config/weblate (повні правила виявлення та інші розташування див. у Файли налаштувань):
[weblate]
url = https://hosted.weblate.org/api/
[keys]
https://hosted.weblate.org/api/ = APIKEY
Далі, ви можете викликати команди на типовому сервері:
wlc ls
wlc commit sandbox/hello-world
Дивись також
Застаріла конфігурація¶
Змінено в версії 1.17: Застаріла конфігурація з використанням ключа без області видимості більше не підтримується.
Перенести застарілу конфігурацію:
[weblate]
url = https://hosted.weblate.org/api
key = YOUR_KEY_HERE
До конфігурації з ключем, область дії якого обмежена URL-адресою API:
[weblate]
url = https://hosted.weblate.org/api
[keys]
https://hosted.weblate.org/api = YOUR_KEY_HERE
Короткий опис¶
wlc [arguments] <command> [options]
Команди вказують на те, яку дію має бути виконано.
Опис¶
Weblate Client — це бібліотека Python та утиліта командного рядка для віддаленого керування Weblate за допомогою Програмний інтерфейс REST Weblate. Утиліту командного рядка можна викликати як wlc, вона вбудована в wlc.
Аргументи¶
Програма приймає вказані нижче аргументи, які визначають формат виведення даних або екземпляр Weblate, яким слід скористатися. Ці аргументи слід вводити перед будь-якою командою.
- --format {csv,json,text,html}¶
Вказати формат виведення даних.
- --url URL¶
Вказати адресу програмного інтерфейсу. Має вищий пріоритет за будь-яке значення, яке буде виявлено у файлі налаштувань, див. Файли налаштувань. Адреса має завершуватися
/api/. Приклад:https://hosted.weblate.org/api/.
- --key KEY¶
Вказати ключ до програмного інтерфейсу, яким слід скористатися. Має вищий пріоритет за будь-яке значення, яке буде виявлено у файлі налаштувань, див Файли налаштувань. Знайти ваш ключ можна у профілі на Weblate.
- --config PATH¶
Завантажувати конфігурацію лише з каталогу
PATHзамість виявлених глобальних файлів конфігурації та файлів конфігурації проєкту; див.: Файли налаштувань.
- --config-section SECTION¶
Перевизначає розділ файла налаштувань для використання, див. Файли налаштувань.
Команди¶
Можна скористатися такими командами:
- version¶
Виводить поточну версію.
- list-languages¶
Виводить список використаних у Weblate мов.
- list-projects¶
Виводить список проєктів у Weblate.
- list-components¶
Виводить список складників у Weblate.
- list-translations¶
Виводить список перекладів у Weblate.
- show¶
Показує об’єкт Weblate (переклад, складник або проєкт).
- ls¶
Виводить список об’єкта Weblate (переклад, складник або проєкт).
- commit¶
Вносить зміни, які виконано в об’єкті Weblate (перекладі, складнику або проєкті).
- pull¶
Отримує зміни у віддаленому сховищі до об’єкта Weblate (перекладу, складника або проєкту).
- push¶
Записує зміни у об’єкті Weblate до віддаленого сховища (переклад, складник або проєкт).
- reset¶
Скидає зміни в об’єкті Weblate так, щоб дані збігалися із даними у віддаленому сховищі (переклад, складник або проєкт).
- cleanup¶
Влучає усі незаписані зміни в об’єкті Weblate так, щоб дані збігалися із даними у віддаленому сховищі (переклад, складник або проєкт).
- repo¶
Показує стан у сховищі для вказаного об’єкта Weblate (перекладу, складника або проєкту).
- stats¶
Показує докладну статистику щодо вказаного об’єкта Weblate (перекладу, складника або проєкту).
- lock-status¶
Показує стан блокування.
- lock¶
Блокує складник від подальшого перекладу на Weblate.
- unlock¶
Розблоковує переклад складника Weblate.
- changes¶
Показує зміни у вказаному об’єкті.
- download¶
Отримує файл перекладу.
- --convert¶
Перетворює формат файла. Якщо формат файла не вказано, перетворення на сервері не відбуватиметься, а файл буде отримано у форматі, у якому він зберігається у сховищі.
- --output¶
Вказує файл для зберігання виведених даних. Якщо файл не вказано, дані буде виведено до стандартного виведення (stdout).
- upload¶
Вивантажує файл перекладу.
- --overwrite¶
Перезаписати наявні переклади під час вивантаження.
- --input¶
Файл, з якого читатимуться дані. Якщо не вказано, дані буде прочитано зі stdin.
- --method¶
Спосіб вивантаження, яким слід скористатися. Див. Способи імпортування.
- --fuzzy¶
Обробка неточних (позначених для редагування) перекладів (empty,
process,approve)
- --author-name¶
Ім’я автора, щоб перевизначити ім’я із запису поточного користувача системи
- --author-email¶
Адреса електронної пошти автора, щоб перевизначити дані із запису користувача системи
Підказка
Докладніші відомості щодо виклику окремих команд можна отримати за допомогою параметра --help. Приклад: wlc ls --help.
Файли налаштувань¶
Якщо вказано параметр --config, програма wlc завантажує лише цей файл.
Якщо не вказано опцію --config, програма wlc спочатку завантажує виявлений файл глобальних налаштувань зі стандартних для платформи каталогів:
C:\Users\NAME\AppData\Roaming\weblate.iniГлобальний файл конфігурації в Windows у профілі з перенесенням даних.
C:\Users\NAME\AppData\Local\weblate.iniГлобальний файл конфігурації в Windows у локальному профілі.
~/.config/weblateФайл глобальних налаштувань у системах типу Unix.
/etc/xdg/weblateФайл резервної конфігурації для всієї системи.
Програма відповідає специфікації XDG, тому ви можете налаштувати розташування файлів конфігурації за допомогою змінних середовища XDG_CONFIG_HOME або XDG_CONFIG_DIRS.
У Windows каталоги APPDATA і LOCALAPPDATA є кращими розташуваннями для файлу конфігурації.
Після завантаження глобальної конфігурації wlc завантажує найближчий файл конфігурації проекту з поточного каталогу або його батьківських каталогів:
.weblate,.weblate.ini,weblate.iniФайл конфігурації проєкту розміщено в репозиторії.
Завантажується лише файл конфігурації проекту, що знаходиться найближче. Файли конфігурації, розташовані у більш віддалених батьківських каталогах, ігноруються.
Вказані нижче параметри може бути налаштовано за допомогою розділу [weblate] (ви можете змінити розділ за допомогою параметра --config-section):
- key
Removed in version 1.17: Використовуйте розділ
[keys], щоб вказати ключі, що використовуються для окремих URL-адрес API, див. Застаріла конфігурація.
- url
Адреса сервера програмного інтерфейсу, типово,
http://127.0.0.1:8000/api/.
- translation
Шлях до типового перекладу — складника або проєкту.
- retries, timeout, allowed_methods, backoff_factor, status_forcelist
Додаткові параметри повторних спроб та часу очікування для HTTP, що передаються до
urllib3. Використовуйтеallowed_methods, щоб вказати методи запитів, для яких можливі повторні спроби. У поточних версіях wlc цей параметр використовується замість старого параметраmethod_whitelist.
Файл налаштувань є файлом формату INI. Приклад:
[weblate]
url = https://hosted.weblate.org/api/
translation = weblate/application
retries = 3
allowed_methods = PUT,POST,GET
backoff_factor = 0.2
status_forcelist = 429,500,502,503,504
timeout = 30
Ключі API зберігаються в розділі [keys]:
[keys]
https://hosted.weblate.org/api/ = APIKEY
Це дозволяє зберігати ключі у ваших особистих налаштуваннях, використовуючи конфігураційний файл .weblate у репозиторії системи контролю версій, щоб wlc знав, з яким сервером йому слід зв’язуватися. У CI зберігайте в системі контролю версій лише конфігурацію репозиторію, а API-ключ передавайте за допомогою WLC_KEY.
Змінні середовища¶
Added in version 1.18.0.
URL-адресу та ключ API також можна налаштувати за допомогою змінних середовища. Це особливо корисно для робочих процесів безперервної інтеграції (CI), де репозиторій містить конфігурацію проєкту, а змінна WLC_KEY вводиться як секретний параметр:
- WLC_URL¶
Адреса API
- WLC_KEY¶
Ключ до API
Порядок пріоритету параметрів конфігурації (від найвищого до найнижчого) такий:
Приклади¶
Вивести версію поточної програми:
$ wlc version
version: 0.1
Список усіх проєктів:
$ wlc list-projects
name: Hello
slug: hello
url: http://example.com/api/projects/hello/
web: https://weblate.org/
web_url: http://example.com/projects/hello/
Вивантажити файл перекладу:
$ wlc upload project/component/language --input /tmp/hello.po
Ви також можете позначити проєкт, з яким має працювати wlc:
$ cat .weblate
[weblate]
url = https://hosted.weblate.org/api/
translation = weblate/application
$ wlc show
branch: main
file_format: po
source_language: en
filemask: weblate/locale/*/LC_MESSAGES/django.po
git_export: https://hosted.weblate.org/git/weblate/application/
license: GPL-3.0+
license_url: https://spdx.org/licenses/GPL-3.0+
name: Application
new_base: weblate/locale/django.pot
project: weblate
repo: git://github.com/WeblateOrg/weblate.git
slug: application
template:
url: https://hosted.weblate.org/api/components/weblate/application/
vcs: git
web_url: https://hosted.weblate.org/projects/weblate/application/
З цими налаштуваннями доволі просто надсилати зміни з черги у поточному проєкті:
$ wlc commit