Weblate クライアント

バージョン 2.7 で追加: Weblate 2.7 以降、wlc ユーティリティにすべて対応しています。古いバージョンを使用している場合は、API との互換性に問題が発生することがあります。

導入

Weblate クライアントは個別に提供され、Python モジュールを含んでいます。以下のコマンドを使用するには、wlc をインストールすることが必要です。

pip3 install wlc

ヒント

Please use Power Shell or another modern equivalent when you install wlc under Windows. Since wlc uses some very long file paths/names during installation, cmd may fail due to the windows path length limit.

Docker の使用

Weblate クライアントは Docker イメージでも動作します。

イメージは Docker Hub: https://hub.docker.com/r/weblate/wlc で公開しています

インストール:

docker pull weblate/wlc

Docker コンテナは Weblate のデフォルト設定を使用して、localhost にデプロイされた API に接続します。API URL と API_KEY は、Weblate が受け入れる引数で設定できます。

コンテナがコマンドで起動する構文:

docker run --rm weblate/wlc [WLC_ARGS]

例:

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

You might want to pass your 設定ファイル to the Docker container, the easiest approach is to add your current directory as /home/weblate volume:

docker run --volume $PWD:/home/weblate --rm weblate/wlc show

はじめに

wlc 設定は ~/.config/weblate に保存されます(他の場所については 設定ファイル for other locations を参照:)。環境に合わせて作成してください:

[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]

コマンドは、実際に実行が必要な操作を示しています。

解説

Weblate クライアントは Python ライブラリであり、API を使用して Weblate をリモートで管理するためのコマンドライン ユーティリティです。コマンドライン ユーティリティは、wlc として呼び出すことができ、wlc に標準搭載されています。

引数

プログラムは、出力形式を定義する以下の引数、または使用する Weblate インスタンスを受け入れます。これらは、コマンドの前に入力が必要です。

--format {csv,json,text,html}

出力形式を指定する。

--url URL

API の URL を指定します。設定ファイル内の値を上書きします。参照: 設定ファイル。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

内容を読み込むファイル。指定しない場合は、stdin から読み込む。

ヒント

--help を付加すると、個々のコマンドの呼び出しに関するより詳細な情報を取得できる。例: wlc ls --help

設定ファイル

.weblate.weblate.iniweblate.ini

バージョン 1.6 で変更: 拡張子が .ini のファイルにも対応する。

プロジェクト別の構成ファイル

C:\Users\NAME\AppData\weblate.ini

バージョン 1.6 で追加.

Windows のユーザー設定ファイル。

~/.config/weblate

ユーザー設定ファイル

/etc/xdg/weblate

システム全体の設定ファイル

このプログラムは XDG の仕様に準拠しているので、環境変数 XDG_CONFIG_HOMEXDG_CONFIG_DIRS を使って設定ファイルの配置を設定できます。Windows では、設定ファイルは APPDATA ディレクトリに保存することを推奨します。

[weblate] セクションで設定可能な設定( --config-section でカスタマイズできる):

key

Weblate に接続するための API キー。

url

API サーバーの URL、デフォルトは 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

これにより、VCS リポジトリー内の .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