Клиент Weblate¶
Добавлено в версии 2.7: Полная поддержка вспомогательной команды wlc существует с версии Weblate 2.7. Если вы используете более старую версию, могут возникнуть некоторые несовместимости с API.
Установка¶
Клиент Weblate поставляется отдельно и включает в себя Python’ий модуль. Для использования нижеприведённых команд необходимо установить модуль wlc:
pip3 install wlc
Начало работы¶
Конфигурация 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 [parameter] <command> [options]
Какая операция должна быть выполнена на самом деле указывает параметр command.
Описание¶
Weblate Client — это Python’ья библиотека и инструмент командной строки для удалённого управления Weblate с помощью его API. Инструмент командной строки может быть вызван как команда wlc, которая построена на основе модуля wlc.
Параметры для всего сайта¶
Программа принимает следующие параметры для всего экземпляра приложения, которые должны быть введены до какой-либо подкоманды.
-
--format{csv,json,text,html}¶ Определяет формат вывода.
-
--urlURL¶ Укажите URL-адрес API. Переопределяет любое значение, найденное в конфигурационном файле, смотрите раздел Файлы конфигурации. URL-адрес должен заканчиваться на
/api/, например,https://hosted.weblate.org/api/.
-
--keyKEY¶ Определяет пользовательский ключ API. Переопределяет любое значение, найденное в конфигурационном файле, смотрите раздел Файлы конфигурации. Свой ключ вы можете найти в своём профиле на Weblate.
-
--configPATH¶ Переопределяет путь к конфигурационному файлу, смотрите раздел Файлы конфигурации.
-
--config-sectionSECTION¶ Переопределяет используемый раздел конфигурационного файла, смотрите раздел Файлы конфигурации.
Подкоманды¶
Доступны следующие подкоманды:
-
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¶ Указывает файл, в который нужно сохранить вывод, если не задать, вывод будет распечатан в стандартный поток вывода.
-
Файлы конфигурации¶
.weblateПроектный файл конфигурации
~/.config/weblateПользовательский файл конфигурации
/etc/xdg/weblateСистемный файл конфигурации
Программа следует спецификации XDG, поэтому вы можете скорректировать пути размещения конфигурационных файлов переменными окружения XDG_CONFIG_HOME или XDG_CONFIG_DIRS.
Можно настроить следующие параметры, находящиеся в разделе [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
source_language: en
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
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