管理コマンド¶
注釈
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
参考
benchmark¶
- weblate benchmark¶
Imports given content into Weblate, useful for benchmarking.
# Run benchmark with a profiling
python -m cProfile -o benchmark.prof ./manage.py benchmark --project benchmark --filemask '*.tbx' --format tbx --zipfile /tmp/MicrosoftTermCollection2.zip
# Convert to SVG for visualization
uvx gprof2dot -f pstats benchmark.prof | dot -Tsvg -o benchmark.svg
# Display SVG
firefox ./benchmark.svg
# Run benchmark under memray
uvx memray run ./manage.py benchmark --project benchmark --filemask '*.tbx' --format tbx --zipfile /tmp/MicrosoftTermCollection2.zip
# Render the profile
uvx memray flamegraph ./memray-manage.py.2554179.bin
# Display it
fixefox memray-flamegraph-manage.py.2554179.html
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_memory¶
- weblate cleanup_memory¶
Added in version 5.13.
Removes all obsolete entries with pending status from the translation memory.
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
The regular expression has to contain groups named component and language,
for example: (?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¶
使用するファイル形式も指定できます(参照: Localization file formats)。デフォルトは自動検出。
- --main-component¶
メインのコンポーネントとして選択するコンポーネント、つまり VCS リポジトリを実際に含むコンポーネントを指定します。
- --license NAME¶
全体、プロジェクト、またはコンポーネントの翻訳ライセンスを指定します。
- --license-url URL¶
翻訳ライセンスを取得する URL を指定します。
- --vcs NAME¶
使用するバージョン管理システムの指定が必要な場合は、ここで設定します。既定のバージョン管理は Git。
例として、2 つのプロジェクトをインポートします。
はじめは、Debian ハンドブックの翻訳です。言語ごとにフォルダが別れていて、各章の翻訳が入っています。
weblate import_project \
debian-handbook \
https://salsa.debian.org/hertzog/debian-handbook.git \
bullseye/main \
'*/**.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 を代わりに使用できます。
import_projectbackup¶
- weblate import_projectbackup <project_name> <project_slug> <username> <filename>¶
Added in version 5.10.
Imports プロジェクト レベルのバックアップ.
ヒント
Usually it is more comfortable to import project when 翻訳プロジェクトとコンポーネントの追加.
importuserdata¶
- weblate importuserdata <file.json>¶
ユーザー データを、dumpuserdata によって作成されたファイルからインポートします。
importusers¶
- weblate importusers --check <file.json>¶
Django auth_users データベースの JSON ダンプからユーザーをインポートします。
- --check¶
このオプションを指定すると、指定したファイルがインポート可能かどうかを検査し、ユーザー名やメール アドレスが原因で発生する競合の可能性を報告します。
You can dump users from the existing Django site using:
./manage.py dumpdata auth.User > users.json
ヒント
Use dumpuserdata for dumping data from other Weblate server as that includes user settings as well.
参考
install_addon¶
- weblate install_addon --addon ADDON <project|project/component>¶
アドオンをコンポーネントのセットにインストールします。
- --addon ADDON¶
インストールするアドオンの名前。例:
weblate.gettext.customize。
- --configuration CONFIG¶
アドオンの JSON エンコードの設定。
- --update¶
既存のアドオンの設定を更新します。
アドオンをインストールするプロジェクトまたはコンポーネント(例: weblate/application)を設定するか、--all を使用して既存のすべてのコンポーネントを含めることができます。
To install MO ファイルの生成 for all components:
weblate install_addon --addon weblate.gettext.mo --configuration '{"fuzzy": true}' --update --all
参考
install_machinery¶
Added in version 4.18.
- weblate install_machinery --service SERVICE¶
サイト全体の自動提案サービスをインストールします。
- --service SERVICE¶
インストールするサービスの名前。例:
deepl。
- --configuration CONFIG¶
JSON エンコードされたサービスの設定。
- --update¶
既存のサービスの設定を更新します。
DeepL のインストール方法:
weblate install_machinery --service deepl --configuration '{"key": "x", "url": "https://api.deepl.com/v2/"}' --update
参考
list_addons¶
- weblate list_addons¶
Lists add-ons in reStructuredText as a template for アドオン.
list_permissions¶
- weblate list_permissions¶
Lists permissions in reStructuredText as a template for アクセス制御.
list_checks¶
- weblate list_checks¶
Lists quality checks in reStructuredText as a template for 検査と修正 and 検査と修正.
list_languages¶
- weblate list_languages <locale>¶
MediaWiki マークアップで対応している言語(言語コード、英語名、現地語化された名前)を一覧表示します。
これは、<https://wiki.l10n.cz/Slovn%C3%ADk_s_n%C3%A1zvy_jazyk%C5%AF> を生成するために使用します。
list_machinery¶
- weblate list_machinery¶
Lists automatic suggestions services in reStructuredText as a template for 自動提案.
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 の依存関係とそのバージョンを一覧表示します。
list_file_format_params¶
- weblate list_file_format_params¶
Lists File format parameters.
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 を使用して既存のすべてのコンポーネントを更新します。
migrate¶
- weblate migrate¶
データベースを現在の Weblate スキーマに移行します。コマンドライン オプションの詳細は Django migrate に解説があります。
ヒント
コマンドでインストールをするには、weblate migrate --noinput を使用してから、createadmin コマンドを使用して admin ユーザーを作成します。
move_language¶
- weblate move_language source target¶
Allows you to merge language content. This is useful when updating to a new
version which contains aliases for previously unknown languages that have been
created with the (generated) suffix. It moves all content from the source
language to the target one.
例:
weblate move_language cze cs
After moving the content, you should check whether there is anything left (this is
subject to race conditions when somebody updates the repository meanwhile) and
remove the (generated) language.
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 を使用して既存のすべてのコンポーネントを更新します。