Weblate クライアント

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

インストール

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

pip install wlc

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

設定ファイル を Docker コンテナに渡す場合、最も簡単な現在のディレクトリを /home/weblate ボリュームとして追加する方法:

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 ライブラリであり、Weblate の REST 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 オブジェクト(翻訳、コンポーネントまたはプロジェクト)のリポジトリ状況を表示する。

stats

指定した 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 から読み込む。

--method

使用するアップロードの方法。参照: インポート方法

--fuzzy

あいまい(要編集付き)文字列処理(、`` process``、`` approve``)

--author-name

翻訳者名、現在認証されているユーザーを上書き

--author-email

翻訳者名のメールアドレス、現在認証されているユーザーを上書き

ヒント

--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/application

さらに、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 upload project/component/language --input /tmp/hello.po

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