管理コマンド¶
注釈
Web サーバーを実行しているのとは異なるユーザーで管理コマンドを実行すると、ファイルのアクセス権が不正になることがあります。詳しくは ファイル システムのアクセス権 を参照してください。
基本的な管理コマンドがあります(Django ソースでは、./manage.py
として、または Weblate にインストール可能な weblate というスクリプトの拡張セットとして使用できます)。
管理コマンドの起動¶
前述のように、起動方法は Weblate のインストール方法によ方法はなります。
Weblate に virtualenv を使用する場合は、weblate へのフル パスを指定するか、呼び出す前に virtualenv を有効化します。
# Direct invocation
~/weblate-env/bin/weblate
# Activating virtualenv adds it to search path
. ~/weblate-env/bin/activate
weblate
ソースコードを直接(tarball または Git チェックアウトから)使用している場合、Weblate から管理スクリプト ./manage.py
を実行します。実行例:
python ./manage.py list_versions
pip インストーラを使用して Weblate をインストールした場合、または ./setup.py
スクリプトを使用してインストールした場合、weblate がパス(または virtualenv パス)にインストールされます。パスから Weblate を管理する方法:
weblate list_versions
Docker イメージの場合、スクリプトは上記のようにインストールします。docker exec を使用した実行例:
docker exec --user weblate <container> weblate list_versions
docker-compose-plugin の場合、作業は似ていますが、docker compose exec を使用します。実行例:
docker compose exec --user weblate weblate weblate list_versions
ファイルを渡すことが必要な場合に、一時的にボリュームを追加する方法:
docker compose exec --user weblate /tmp:/tmp weblate weblate importusers /tmp/users.json
add_suggestions¶
- weblate add_suggestions <project> <component> <language> <file>¶
指定された翻訳の候補として、使用する翻訳をファイルからインポートします。重複した翻訳は除外し、異なる翻訳のみ追加します。
- --author USER@EXAMPLE.COM¶
提案に必要な著者のメールアドレス。著者のアカウントは、インポートする前に登録されていることが必要です(必要に応じて、管理画面から作成できます)。
例:
weblate --author michal@cihar.com add_suggestions weblate application cs /tmp/suggestions-cs.po
auto_translate¶
- weblate auto_translate <project> <component> <language>¶
バージョン 4.6 で変更: 翻訳モードのパラメータを追加しました。
他のコンポーネントの翻訳に基づいて自動翻訳します。
- --source PROJECT/COMPONENT¶
翻訳の参考に使用する基のコンポーネントを指定します。指定しない場合、プロジェクト内のすべてのコンポーネントを使用します。
- --user USERNAME¶
翻訳の著者として登録しているユーザー名を指定します。指定しない場合は、 「匿名ユーザー」 となります。
- --overwrite¶
既存の翻訳を上書きするかどうか。
- --add¶
指定した言語の翻訳が存在しない場合は、自動的に言語を追加します。
- --mt MT¶
自動翻訳用に、他のコンポーネントの代わりに機械翻訳を使用します。
- --threshold THRESHOLD¶
機械翻訳の類似性のしきい値。デフォルトは 80。
- --mode MODE¶
翻訳モードの指定。デフォルトは
translate
ですが、fuzzy
やsuggest
にもできます。
例:
weblate auto_translate --user nijel --inconsistent --source weblate/application weblate website cs
参考
celery_queues¶
- weblate celery_queues¶
Celery タスク キューの長さを表示します。
checkgit¶
- weblate checkgit <project|project/component>¶
バックエンド Git リポジトリの現在の状態を出力します。
更新するプロジェクトまたはコンポーネント(例: weblate/application
)を設定するか、--all
を使用して既存のすべてのコンポーネントを更新します。
commitgit¶
- weblate commitgit <project|project/component>¶
保留中の可能性がある変更を、バックエンド Git リポジトリにコミットします。
更新するプロジェクトまたはコンポーネント(例: weblate/application
)を設定するか、--all
を使用して既存のすべてのコンポーネントを更新するか、--file-format
を使用してファイル形式に基づいてフィルタリングできます。
commit_pending¶
- weblate commit_pending <project|project/component>¶
指定された経過時間より古い保留中の変更をコミットします。
更新するプロジェクトまたはコンポーネント(例: weblate/application
)を設定するか、--all
を使用して既存のすべてのコンポーネントを更新します。
注釈
これは、Weblate が自動でバックグラウンドで実行しています。そのため、コンポーネント構成 で指定した時間よりも早い段階でコミットを強制する以外は、これを手動で実行する必要はありません。
cleanuptrans¶
- weblate cleanuptrans¶
個別の検査結果と翻訳の提案をクリーンアップします。クリーンアップはバックグラウンドで自動的に行われるため、通常はこれを手動で実行する必要はありません。
cleanup_ssh_keys¶
- weblate cleanup_ssh_keys¶
Added in version 4.9.1.
保存している SSH ホスト鍵をクリーンアップします。
GitHub への接続で問題が発生することがある GitHub の非推奨の RSA 鍵を削除します。
ホスト鍵内の重複するエントリーを削除します。
参考
createadmin¶
- weblate createadmin¶
指定がなければ、ランダムなパスワードで admin
アカウントを作成します。
- --password PASSWORD¶
ランダムなパスワードが生成されないように、コマンドラインでパスワードを指定します。
- --no-password¶
パスワードを設定しない。これは --update と合わせて使用すると便利です。
- --username USERNAME¶
admin
の代わりに、指定した名前を使います。
- --email USER@EXAMPLE.COM¶
管理者のメール アドレスを指定します。
- --name¶
管理者名を指定します(表示用)。
- --update¶
既存のユーザーを更新します(これを使用してパスワードを変更できます)。
dump_memory¶
- weblate dump_memory¶
Weblate 翻訳メモリのコンテンツを含む JSON ファイルをエクスポートします。
dumpuserdata¶
- weblate dumpuserdata <file.json>¶
importuserdata
を後で使用するために userdata をファイルにダンプします。
ヒント
これは、Weblate インスタンスを移行またはマージするときに便利です。
import_demo¶
- weblate import_demo¶
Added in version 4.1.
<https://github.com/WeblateOrg/demo> に基づくコンポーネントを含んだデモプロジェクトを作成します。このコマンドを実行する前に、celery のタスクが実行されていることを確認してください。
これは Weblate の開発時に便利です。
- --delete¶
既存のデモ プロジェクトを削除します。
import_json¶
- weblate import_json <json-file>¶
JSON データに基づくコンポーネントの一括インポート。
インポートした JSON ファイル構造は、コンポーネント オブジェクトにほぼ対応しています (参照: GET /api/components/(string:project)/(string:component)/
)。name
フィールドと filemask
フィールドを必ず含めてください。
- --project PROJECT¶
コンポーネントのインポート元を指定します。
- --main-component COMPONENT¶
このコンポーネントから取得した VCS リポジトリを、すべての VCS に使用します。
- --ignore¶
(既に)インポートしたコンポーネントをスキップします。
- --update¶
(既に)インポートしたコンポーネントを更新します。
JSON ファイルの例:
[
{
"slug": "po",
"name": "Gettext PO",
"file_format": "po",
"filemask": "po/*.po",
"new_lang": "none"
},
{
"name": "Android",
"filemask": "android/values-*/strings.xml",
"template": "android/values/strings.xml",
"repo": "weblate://test/test",
"file_format": "aresource"
}
]
import_memory¶
- weblate import_memory <file>¶
Imports a file into the Weblate translation memory.
Supported file formats are TMX, JSON, XLIFF, PO, CSV.
Specifying a source and a target languages might be necessary for formats other than JSON and TMX.
- --language-map LANGMAP¶
TMX の言語を Weblate 翻訳メモリに対応付けます。言語コードは、通常 Weblate によって行われる正規化の後に対応付けられます。
たとえば、
--language-map en_US:en
は、すべてのen_US
文字列をen
文字列としてインポートします。これは、TMX ファイルの言語が Weblate で使用しているものと一致しない場合に便利です。
- --source-language SOURCE_LANG¶
Specifies the source language for imported translations. Typically needed for formats where the languages cannot be determined from the file itself.
- --target-language TARGET_LANG¶
Specifies the target language for imported translations. Typically needed for formats where the languages cannot be determined from the file itself.
import_project¶
- weblate import_project <project> <gitrepo> <branch> <filemask>¶
ファイルマスクに基づいてコンポーネントをプロジェクトに一括でインポートします。この機能は、コンポーネントの検出 アドオンに基づいているので、代わりにそちらを使うといいかもしれません。
<project> に、コンポーネントをインポートする既存のプロジェクトを指定します。
<gitrepo> に、使用する Git リポジトリの URL を設定し、<branch> に Git ブランチを指定します。既存の Weblate コンポーネントから追加の翻訳コンポーネントをインポートするには、<gitrepo> に weblate://<project>/<component> URL を設定します。
<filemask> はリポジトリのファイル検出を設定します。ワイルドカードを使用して単純にすることも、正規表現を全面的に使用することもできます。
単純な一致では、コンポーネント名に **
を使用し、言語に *
を使用します。例: **/*.po
正規表現には、component と language という名前のグループを両方とも含めてください。例: (?P<language>[^/]*)/(?P<component>[^-/]*)\.po
インポートは、ファイルに基づいて既存のコンポーネントを照合し、存在しないコンポーネントを追加します。既存のものは変更されません。
- --name-template TEMPLATE¶
Django テンプレート構文を使用して、コンポーネントの名前をカスタマイズします。
例:
Documentation: {{ component }}
- --base-file-template TEMPLATE¶
モノリンガル用の、基礎となる翻訳ファイルをカスタマイズします。
例:
{{ component }}/res/values/string.xml
- --new-base-template TEMPLATE¶
新しい翻訳の追加用の、基礎となる翻訳ファイルをカスタマイズします。
例:
{{ component }}/ts/en.ts
- --file-format FORMAT¶
使用するファイル形式も指定できます(参照: 対応するファイル形式)。デフォルトは自動検出。
- --main-component¶
メインのコンポーネントとして選択するコンポーネント、つまり VCS リポジトリを実際に含むコンポーネントを指定します。
- --license NAME¶
全体、プロジェクト、またはコンポーネントの翻訳ライセンスを指定します。
- --license-url URL¶
翻訳ライセンスを取得する URL を指定します。
- --vcs NAME¶
使用するバージョン管理システムの指定が必要な場合は、ここで設定します。既定のバージョン管理は Git。
例として、2 つのプロジェクトをインポートします。
はじめは、Debian ハンドブックの翻訳です。言語ごとにフォルダが別れていて、各章の翻訳が入っています。
weblate import_project \
debian-handbook \
git://anonscm.debian.org/debian-handbook/debian-handbook.git \
squeeze/master \
'*/**.po'
次は、Tanaguru ツールです。このツールでは、ファイル形式と基礎となる翻訳ファイルのテンプレートを指定する必要があり、すべてのコンポーネントの翻訳が1つのフォルダに配置されています。
weblate import_project \
--file-format=properties \
--base-file-template=web-app/tgol-web-app/src/main/resources/i18n/%s-I18N.properties \
tanaguru \
https://github.com/Tanaguru/Tanaguru \
master \
web-app/tgol-web-app/src/main/resources/i18n/**-I18N_*.properties
ファイル名を解析して、src/security/Numerous_security_holes_in_0.10.1.de.po
のようなファイル名から、正しいコンポーネントと言語を取得する、もっと複雑な例:
weblate import_project \
tails \
git://git.tails.boum.org/tails master \
'wiki/src/security/(?P<component>.*)\.(?P<language>[^.]*)\.po$'
選択した言語の翻訳のみをフィルタする方法:
./manage import_project \
--language-regex '^(cs|sk)$' \
weblate \
https://github.com/WeblateOrg/weblate.git \
'weblate/locale/*/LC_MESSAGES/**.po'
Sphinx ドキュメントを、複数のファイルに分割してインポートする方法:
$ weblate import_project --name-template 'Documentation: %s' \
--file-format po \
project https://github.com/project/docs.git master \
'docs/locale/*/LC_MESSAGES/**.po'
Sphinx ドキュメントを、複数のファイルおよびディレクトリに分割してインポートする方法:
$ weblate import_project --name-template 'Directory 1: %s' \
--file-format po \
project https://github.com/project/docs.git master \
'docs/locale/*/LC_MESSAGES/dir1/**.po'
$ weblate import_project --name-template 'Directory 2: %s' \
--file-format po \
project https://github.com/project/docs.git master \
'docs/locale/*/LC_MESSAGES/dir2/**.po'
参考
詳細な例については、 国際化に向けた取り組み の章を確認してください。または、import_json
を代わりに使用できます。
importuserdata¶
- weblate importuserdata <file.json>¶
ユーザー データを、dumpuserdata
によって作成されたファイルからインポートします。
importusers¶
- weblate importusers --check <file.json>¶
Django auth_users データベースの JSON ダンプからユーザーをインポートします。
- --check¶
このオプションを指定すると、指定したファイルがインポート可能かどうかを検査し、ユーザー名やメール アドレスが原因で発生する競合の可能性を報告します。
既存のインストールした Django でユーザーをダンプする方法:
weblate dumpdata auth.User > users.json
install_addon¶
- weblate install_addon --addon ADDON <project|project/component>¶
アドオンをコンポーネントのセットにインストールします。
- --addon ADDON¶
インストールするアドオンの名前。例:
weblate.gettext.customize
。
- --configuration CONFIG¶
アドオンの JSON エンコードの設定。
- --update¶
既存のアドオンの設定を更新します。
アドオンをインストールするプロジェクトまたはコンポーネント(例: weblate/application
)を設定するか、--all
を使用して既存のすべてのコンポーネントを含めることができます。
すべてのコンポーネントに gettext 出力のカスタマイズ をインストールする方法:
weblate install_addon --addon weblate.gettext.customize --configuration '{"width": -1}' --update --all
参考
install_machinery¶
Added in version 4.18.
- weblate install_machinery --service SERVICE¶
サイト全体の自動提案サービスをインストールします。
- --service SERVICE¶
インストールするサービスの名前。例:
deepl
。
- --configuration CONFIG¶
JSON エンコードされたサービスの設定。
- --update¶
既存のサービスの設定を更新します。
DeepL のインストール方法:
weblate install_service --service deepl --configuration '{"key": "x", "url": "https://api.deepl.com/v2/"}' --update
参考
list_languages¶
- weblate list_languages <locale>¶
MediaWiki マークアップで対応している言語(言語コード、英語名、現地語化された名前)を一覧表示します。
これは、<https://wiki.l10n.cz/Slovn%C3%ADk_s_n%C3%A1zvy_jazyk%C5%AF> を生成するために使用します。
list_translators¶
- weblate list_translators <project|project/component>¶
指定したプロジェクトの提供言語別に、翻訳者を一覧表示します。
[French] Jean Dupont <jean.dupont@example.com> [English] John Doe <jd@example.com>
- --language-code¶
言語名ではなく言語コードで名前を一覧表示します。
使用するプロジェクトまたはコンポーネント(例: weblate/application
)を設定するか、--all
を使用して既存のすべてのコンポーネントから一覧表示できます。
list_versions¶
- weblate list_versions¶
すべての Weblate の依存関係とそのバージョンを一覧表示します。
loadpo¶
- weblate loadpo <project|project/component>¶
ディスクから翻訳を再読み込みします(たとえば、VCS リポジトリで更新を行った場合)。
- --force¶
ファイルがアップグレード済みであっても、強制的にアップグレードさせる。
- --lang LANGUAGE¶
処理を 1 つの言語に制限します。
更新するプロジェクトまたはコンポーネント(例: weblate/application
)を設定するか、--all
を使用して既存のすべてのコンポーネントを更新します。
注釈
これを実行する必要性はほとんどありませんが、Weblate は VCS の更新ごとに変更されたファイルを自動的にロードします。これは、基礎となる Weblate VCS リポジトリを手動で変更した場合や、アップグレード後の特別な場合に必要です。
lock_translation¶
- weblate lock_translation <project|project/component>¶
今後、コンポーネントの翻訳を防ぎます。
ヒント
基礎となるリポジトリをメンテナンスする場合に使用できます。
更新するプロジェクトまたはコンポーネント(例: weblate/application
)を設定するか、--all
を使用して既存のすべてのコンポーネントを更新します。
移行¶
- weblate migrate¶
データベースを現在の Weblate スキーマに移行します。コマンドライン オプションの詳細は Django migrate
に解説があります。
ヒント
コマンドでインストールをするには、weblate migrate --noinput
を使用してから、createadmin
コマンドを使用して admin ユーザーを作成します。
move_language¶
- weblate move_language source target¶
言語コンテンツを統合します。これは、接尾辞 (generated) を使用して自動生成された、いままでになかった言語のエイリアスを含む新しいバージョンに更新する場合に使用します。すべてのコンテンツを ソース 言語から 対象 言語に移動します。
例:
weblate move_language cze cs
コンテンツを移動した後、空であることを確認してください(残っているものがあると、誰かがリポジトリを更新したときに競合状態の影響を受けます)。また、(generated) 言語も削除してください。
pushgit¶
- weblate pushgit <project|project/component>¶
コミットした変更を上流の VCS リポジトリにプッシュします。
- --force-commit¶
プッシュする前に、保留中の変更を強制的にコミットします。
更新するプロジェクトまたはコンポーネント(例: weblate/application
)を設定するか、--all
を使用して既存のすべてのコンポーネントを更新します。
注釈
Weblate は、コンポーネント構成 の コミット時にプッシュする が有効になっている場合(これはデフォルトです)、変更を自動的にプッシュします。
unlock_translation¶
- weblate unlock_translation <project|project/component>¶
指定したコンポーネントのロックを解除して、翻訳できるようにします。
ヒント
基礎となるリポジトリをメンテナンスする場合に使用できます。
更新するプロジェクトまたはコンポーネント(例: weblate/application
)を設定するか、--all
を使用して既存のすべてのコンポーネントを更新します。
setupgroups¶
- weblate setupgroups¶
デフォルトのグループを設定し、必要であればすべてのユーザーをそのデフォルトのグループに割り当てます。
- --no-privs-update¶
デフォルトのグループの自動更新を無効にします(新しいグループのみを追加します)。
- --no-projects-update¶
デフォルトのプロジェクトのグループが、自動的に更新されないようにします。これにより、新規に追加したグループを、デフォルトのプロジェクトに追加します。参照: プロジェクトのアクセス制御 。
参考
setuplang¶
- weblate setuplang¶
Weblate で定義されている言語リストを更新します。
- --no-update¶
デフォルトの言語の自動更新を無効にします(新しい言語のみを追加します)。
updatechecks¶
- weblate updatechecks <project|project/component>¶
すべての文字列のすべての検査結果を更新します。
ヒント
検査に大きな変更を加えるようなアップグレードに使用すると便利です。
更新するプロジェクトまたはコンポーネント(例: weblate/application
)を設定するか、--all
を使用して既存のすべてのコンポーネントを更新します。
注釈
Weblate により定期的にバックグラウンドでチェックが実行されます。頻度は BACKGROUND_TASKS
から設定します。
updategit¶
- weblate updategit <project|project/component>¶
リモート VCS リポジトリを取得し、内部キャッシュを更新します。
更新するプロジェクトまたはコンポーネント(例: weblate/application
)を設定するか、--all
を使用して既存のすべてのコンポーネントを更新します。