Клиент 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