Клиент Weblate
Добавлено в версии 2.7: Полная поддержка вспомогательной команды wlc существует с версии Weblate 2.7. Если вы используете более старую версию, могут возникнуть некоторые несовместимости с API.
Установка
Клиент Weblate поставляется отдельно и включает в себя модуль Python. Для использования нижеприведённых команд необходимо установить модуль wlc
:
pip3 install wlc
Использование Docker
Клиент Weblate также доступен в виде образа Docker.
Этот образ публикуется на Docker Hub: https://hub.docker.com/r/weblate/wlc
Установка:
docker pull weblate/wlc
Контейнер Docker использует настройки по умолчанию Weblate и соединяется с API, развёрнутом на локальной машине. 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. Проще всего будет это сделать добавив текущий каталог в качестве тома /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
См.также
Обзор
wlc [arguments] <command> [options]
Какая операция должна быть выполнена на самом деле указывает параметр command
.
Описание
Weblate Client — это библиотека Python и инструмент командной строки для удалённого управления Weblate с помощью его REST API Weblate’а. Инструмент командной строки может быть вызван как команда wlc, которая построена на основе модуля wlc
.
Аргументы
Программа принимает следующие аргументы, определяющие формат вывода или то, какой надо использовать экземпляр Weblate’а. Они должны быть введены до какой-либо команды.
- --format {csv,json,text,html}
Определяет формат вывода.
- --url URL
Задаёт URL-адрес API. Переопределяет любое значение, найденное в файле настроек, смотрите раздел Файлы настроек. URL-адрес должен заканчиваться на
/api/
, например,https://hosted.weblate.org/api/
.
- --key KEY
Задаёт пользовательский ключ API. Переопределяет любое значение из файла настроек, смотрите раздел Файлы настроек. Свой ключ вы можете найти в своём профиле на Weblate.
- --config 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
Добавлено в версии 0.7: Поддерживается с версии wlc 0.7.
Сбросить изменения в объекте Weblate (переводе, компоненте или проекте) для приведения их в соответствие с удалённым репозиторием.
- cleanup
Добавлено в версии 0.9: Поддерживается с версии wlc 0.9.
Удалить любые неотслеживаемые изменения в объекте Weblate (переводе, компоненте или проекте) для приведения их в соответствие с удалённым репозиторием.
- repo
Вывести статус репозитория для данного объекта Weblate (перевода, компонента или проекта).
- statistics
Вывести подробную статистику по данному объекту Weblate (переводу, компоненту или проекту).
- lock-status
Добавлено в версии 0.5: Поддерживается с версии wlc 0.5.
Вывести статус блокировки.
- lock
Добавлено в версии 0.5: Поддерживается с версии wlc 0.5.
Заблокировать компонент в Weblate от дальнейшего перевода.
- unlock
Добавлено в версии 0.5: Поддерживается с версии wlc 0.5.
Разблокировать перевод компонента Weblate.
- changes
Добавлено в версии 0.7: Поддерживается с версии wlc 0.7 и Weblate 2.10.
Вывести список изменений для данного объекта.
- download
Добавлено в версии 0.7: Поддерживается с версии wlc 0.7.
Скачать файл перевода.
- --convert
Преобразовывать формат файла; если не указан, то ни каких преобразований на стороне сервера не происходит и файл скачивается в том виде, в котором он сохранён в репозитории.
- --output
Задаёт файл, в который нужно сохранить файл перевода, если не указан, он будет распечатан в стандартный поток вывода.
- upload
Добавлено в версии 0.9: Поддерживается с версии wlc 0.9.
Загрузить файл перевода.
- --overwrite
Перезаписывать существующие переводы во время загрузки.
- --input
Файл, из которого читается содержимое, если не указан, чтение будет производиться со стандартного потока ввода.
Подсказка
Более подробную информацию по выполнению конкретных команд можно получить с помощью параметра --help
, например, wlc ls --help
.
Файлы настроек
.weblate
,.weblate.ini
,weblate.ini
Изменено в версии 1.6: Также допустимы и файлы с расширением .ini.
Проектный файл настроек
C:\Users\ИМЯ\AppData\weblate.ini
Добавлено в версии 1.6.
Пользовательский файл настроек в Windows.
~/.config/weblate
Пользовательский файл настроек
/etc/xdg/weblate
Системный файл настроек
Программа следует спецификации XDG, поэтому вы можете изменить пути размещения файлов настроек с помощью переменных окружения XDG_CONFIG_HOME
и XDG_CONFIG_DIRS
. В Windows предпочтительным местом для файла настроек является каталог APPDATA
.
Можно настроить следующие параметры, находящиеся в разделе [weblate]
(изменить этот раздел вы можете ключом командной строки --config-section
):
- key
Ключ API для доступа к Weblate.
- url
Адрес API сервера, по умолчанию установлен в
http://127.0.0.1:8000/api/
.
- translation
Путь к переводу по умолчанию — компоненту или проекту.
Файл настроек является INI-файлом, например:
[weblate]
url = https://hosted.weblate.org/api/
key = APIKEY
translation = weblate/application
Дополнительно ключи API могут быть сохранены в разделе [keys]
:
[keys]
https://hosted.weblate.org/api/ = APIKEY
Это позволяет вам сохранять ключи в ваших личных настройках, а файл настроек .weblate
хранить в системе контроля версий, чтобы wlc знал, с каким сервером ему следует общаться.
Примеры
Печать текущей версии программы:
$ 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:
$ 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