Клиент Weblate

Добавлено в версии 2.7: Полная поддержка вспомогательной команды wlc существует с версии Weblate 2.7. Если вы используете более старую версию, могут возникнуть некоторые несовместимости с API.

Установка

Клиент Weblate поставляется отдельно и включает в себя модуль Python. Для использования нижеприведённых команд необходимо установить модуль wlc:

pip3 install wlc

Docker usage

The Weblate Client is also available as a Docker image.

The image is published on Docker Hub: https://hub.docker.com/r/weblate/wlc

Installing:

docker pull weblate/wlc

The Docker container uses Weblate’s default settings and connects to the API deployed in localhost. The API URL and API_KEY can be configured through the arguments accepted by Weblate.

The command to launch the container uses the following syntax:

docker run --rm weblate/wlc [WLC_ARGS]

Пример:

docker run --rm weblate/wlc --url https://hosted.weblate.org/api/ list-projects

Начало работы

Конфигурация 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 с помощью его API. Инструмент командной строки может быть вызван как команда 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

Файл, из которого читается содержимое, если не задать, чтение будет производиться со стандартного потока ввода.

Подсказка

You can get more detailed information on invoking individual commands by passing --help, for example: wlc ls --help.

Файлы конфигурации

.weblate, .weblate.ini, weblate.ini

Изменено в версии 1.6: The files with .ini extension are accepted as well.

Проектный файл конфигурации

C:\Users\NAME\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/master

Дополнительно ключи 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/master

$ wlc show
branch: master
file_format: po
source_language: en
filemask: weblate/locale/*/LC_MESSAGES/django.po
git_export: https://hosted.weblate.org/git/weblate/master/
license: GPL-3.0+
license_url: https://spdx.org/licenses/GPL-3.0+
name: master
new_base: weblate/locale/django.pot
project: weblate
repo: git://github.com/WeblateOrg/weblate.git
slug: master
template:
url: https://hosted.weblate.org/api/components/weblate/master/
vcs: git
web_url: https://hosted.weblate.org/projects/weblate/master/

При такой настройке закоммитить отложенные изменения в текущем проекте проще простого:

$ wlc commit