管理コマンド
注釈
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 の場合、作業は似ていますが、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>
バージョン 2.5 で追加.
指定された翻訳の候補として、使用する翻訳をファイルからインポートします。重複した翻訳は除外し、異なる翻訳のみ追加します。
- --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>
バージョン 2.5 で追加.
バージョン 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
バージョン 3.7 で追加.
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
バージョン 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
既存のユーザーを更新します(これを使用してパスワードを変更できます)。
バージョン 2.9 で変更: パラメータの追加、--username
、--email
、--name
および --update
。
dump_memory
- weblate dump_memory
バージョン 2.20 で追加.
Weblate 翻訳メモリのコンテンツを含む JSON ファイルをエクスポートします。
dumpuserdata
- weblate dumpuserdata <file.json>
importuserdata
を後で使用するために userdata をファイルにダンプします。
ヒント
これは、Weblate インスタンスを移行またはマージするときに便利です。
import_demo
- weblate import_demo
バージョン 4.1 で追加.
<https://github.com/WeblateOrg/demo> に基づくコンポーネントを含んだデモプロジェクトを作成します。このコマンドを実行する前に、celery のタスクが実行されていることを確認してください。
これは Weblate の開発時に便利です。
import_json
- weblate import_json <json-file>
バージョン 2.7 で追加.
JSON データに基づくコンポーネントの一括インポート。
インポートした JSON ファイル構造は、コンポーネント オブジェクトにほぼ対応しています (参照: GET /api/components/(string:project)/(string:component)/
)。name
フィールドと filemask
フィールドを必ず含めてください。
- --project PROJECT
コンポーネントのインポート元を指定します。
- --main-component COMPONENT
このコンポーネントから取得した VCS リポジトリを、すべての VCS に使用します。
- --ignore
(既に)インポートしたコンポーネントをスキップします。
- --update
(既に)インポートしたコンポーネントを更新します。
バージョン 2.9 で変更: 既にインポートされたコンポーネントを処理するためのパラメータ --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>
バージョン 2.20 で追加.
TMX または JSON ファイルを Weblate 翻訳メモリにインポートします。
- --language-map LANGMAP
TMX の言語を Weblate 翻訳メモリに対応付けます。言語コードは、通常 Weblate によって行われる正規化の後に対応付けられます。
たとえば、
--language-map en_US:en
は、すべてのen_US
文字列をen
文字列としてインポートします。これは、TMX ファイルの言語が Weblate で使用しているものと一致しない場合に便利です。
import_project
- weblate import_project <project> <gitrepo> <branch> <filemask>
バージョン 3.0 で変更: import_project コマンドは、コンポーネントの検出 アドオンに基づいているため、動作と受け入れるパラメータに変更があります。
バッチは、ファイル マスクに基づいてコンポーネントをプロジェクトにインポートします。
<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>
Imports user data from a file created by dumpuserdata
.
importusers
- weblate importusers --check <file.json>
Django auth_users データベースの JSON ダンプからユーザーをインポートします。
- --check
このオプションを指定すると、指定したファイルがインポート可能かどうかを検査し、ユーザー名やメール アドレスが原因で発生する競合の可能性を報告します。
既存のインストールした Django でユーザーをダンプする方法:
weblate dumpdata auth.User > users.json
install_addon
バージョン 3.2 で追加.
- 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 --config '{"width": -1}' --update --all
参考
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
を使用して既存のすべてのコンポーネントを更新します。
move_language
- weblate move_language source target
バージョン 3.0 で追加.
言語コンテンツを統合します。これは、接尾辞 (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
を使用して既存のすべてのコンポーネントを更新します。
updategit
- weblate updategit <project|project/component>
リモート VCS リポジトリを取得し、内部キャッシュを更新します。
更新するプロジェクトまたはコンポーネント(例: weblate/application
)を設定するか、--all
を使用して既存のすべてのコンポーネントを更新します。