オプションの Weblate モジュール
Weblate を構成するために、オプションのモジュールを複数用意しています。
Git エクスポーター
バージョン 2.10 で追加.
HTTP(S) 接続による、基になる Git リポジトリへの読み取り専用アクセスを提供します。
インストール
settings.py
ファイル内の、インストールするアプリにweblate.gitexport
を追加する:
INSTALLED_APPS += ("weblate.gitexport",)
インストール後にデータベースを移行して、既存のリポジトリをエクスポートする:
weblate migrate
使用方法
モジュールは自動的に Weblate にフックされ、エクスポートしたリポジトリの URL を コンポーネント構成 に設定します。リポジトリには、Weblate の URL の /git/
以降、例えば https://example.org/git/weblate/main/
からアクセスします。
公開しているプロジェクトのリポジトリを認証せずに複製する方法:
git clone 'https://example.org/git/weblate/main/'
アクセスが制限されたリポジトリ(access control を プライベート に設定、もしくは REQUIRE_LOGIN
を有効化している場合)を参照するには、user profile から取得できる API トークンが必要です。例:
git clone 'https://user:KEY@example.org/git/weblate/main/'
ヒント
デフォルトでは、メンバーまたは ユーザー グループおよび匿名ユーザーは、リポジトリへのアクセス および パワー ユーザー のロールを使用して、公開プロジェクトのリポジトリにアクセスします。
請求
バージョン 2.4 で追加.
これは Hosted Weblate を使用する料金プランを設定し、請求書と使用制限を管理するために使用します。
インストール
1. Add weblate.billing
to installed apps in
settings.py
:
INSTALLED_APPS += ("weblate.billing",)
データベースの移行を実行し、オプションである追加のデータベース構造のモジュールをインストールする:
weblate migrate
使用方法
インストールして、管理画面から請求書を管理します。支払いが必要なユーザーは、自分の user-profile`の中に、新しい :guilabel:`請求書 タブが表示されます。
請求モジュールを使用すると、プロジェクト管理者はスーパーユーザーでなくても新しいプロジェクトやコンポーネントを作成できます(参照: 翻訳プロジェクトとコンポーネントの追加)。使用するために必要な条件:
請求は、設定済みの限度額以内(使用限度を超えると、プロジェクトおよびコンポーネントの作成がブロックされる)および支払済み(料金が有料である)の場合
ユーザーは、有料の既存のプロジェクトの管理者である、または請求のアクセス権がある場合(後者は、新しいプロジェクトをインポートするために、新しい請求書を作成する場合に必要です)。
プロジェクト作成時に、ユーザーが他の請求書にアクセスできる場合には、プロジェクトへ請求する請求書を選択できます。
法的文書
バージョン 2.15 で追加.
これは、Hosted Weblate で使用する法的文書を提供します。ドキュメントは空なので、次のテンプレートを記入することが必要です。
legal/documents/tos.html
利用規約文書
legal/documents/privacy.html
プライバシー ポリシー文書
legal/documents/summary.html
利用規約とプライバシー ポリシーの概要
利用規約文書を変更する場合は、LEGAL_TOS_DATE
を調整して、ユーザーが更新された文書に同意するように強制してください。
注釈
Hosted Weblate サービスの法的文書は、この Git リポジトリ <https://github.com/WeblateOrg/wllegal/tree/main/wllegal/templates/legal/documents> から入手できます。
多くの場合、これをそのまま使用することは難しいですが、必要に合わせて変更したりすると、足掛かりとしては参考になります。
インストール
1. Add weblate.legal
to installed apps in
settings.py
:
INSTALLED_APPS += ("weblate.legal",)
# Optional:
# Social auth pipeline to confirm TOS upon registration/subsequent sign in
SOCIAL_AUTH_PIPELINE += ("weblate.legal.pipeline.tos_confirm",)
# Middleware to enforce TOS confirmation of signed in users
MIDDLEWARE += [
"weblate.legal.middleware.RequireTOSMiddleware",
]
データベースの移行を実行し、オプションである追加のデータベース構造のモジュールをインストールする:
weblate migrate
weblate/legal/templates/legal/
フォルダーにある法的文書を、サービスに合わせて編集する。
使用方法
インストールと編集をすると、法的文書が Weblate UI に表示されます。
アバター
アバターはダウンロードして、サーバー側でキャッシュされるので、デフォルトではアバターを提供しているサイトへの情報漏洩を減らせます。設定したメールアドレスからアバターを取得する機能は、ENABLE_AVATARS
を使用して無効化します。
現在 Weblate が対応しているアバター:
スパム対策
Akismet サービスを使用して、ユーザーによるスパムから保護できます。
akismet Python モジュールをインストールする(これはすでに公式の Docker イメージに含まれる)。
Akismet API キーを取得する。
取得した、
AKISMET_API_KEY
もしくはWEBLATE_AKISMET_API_KEY
を Docker に保存する。
次の内容が確認のために Akismet に送信されます。
認証されていないユーザーからの提案
プロジェクトとコンポーネントの説明とリンク
注釈
これは(特に)クライアントの IP アドレスに左右されます。適切に設定するには リバース プロキシの背後で実行 を確認してください。
GnuPG を使用した Git コミットの署名
バージョン 3.1 で追加.
すべてのコミットを、Weblate インスタンスの GnuPG 鍵を使用して署名します。
1. Turn on WEBLATE_GPG_IDENTITY
. (Weblate will generate a GnuPG
key when needed and will use it to sign all translation commits.)
この機能には、GnuPG 2.1 以降がインストールされていることが必要です。
鍵は DATA_DIR
にあり、公開鍵は「Weblate について」 のページに表示されます。表示例:

2. Alternatively you can also import existing keys into Weblate, just set
HOME=$DATA_DIR/home
when invoking gpg.
接続制限
バージョン 3.2 で変更: 接続制限は、さらに詳細な設定が可能になりました。
バージョン 4.6 で変更: 接続制限は、スーパーユーザーには適用されなくなりました。
Weblate のいくつかの操作は接続回数が制限されています。 RATELIMIT_WINDOW
秒以内で最大 RATELIMIT_ATTEMPTS
回の試行が許可されています。その後、ユーザーは RATELIMIT_LOCKOUT
秒間遮断されます。 RATELIMIT_CONTACT_ATTEMPTS
や RATELIMIT_TRANSLATE_ATTEMPTS
などの、スコープを限定した設定もあります。次の表は、すべての使用可能なスコープの一覧です。
接続制限が対象の操作:
名前 |
対象範囲 |
試行回数限度 |
試行可能秒数 |
接続遮断秒数 |
---|---|---|---|---|
登録 |
|
5 |
300 |
600 |
管理者へメッセージの送信 |
|
2 |
300 |
600 |
サイン イン時のパスワード認証 |
|
5 |
300 |
600 |
サイト全体の検索 |
|
6 |
60 |
60 |
翻訳 |
|
30 |
60 |
600 |
用語集に用語を追加 |
|
30 |
60 |
600 |
新しい言語での翻訳の開始 |
|
2 |
300 |
600 |
新しいプロジェクトの作成 |
|
5 |
600 |
600 |
ユーザーがサインインを AUTH_LOCK_ATTEMPTS
回失敗すると、パスワードのリセット処理が完了するまで、アカウントのパスワード認証が無効になります。
Docker コンテナでは、設定名の接頭辞に WEBLATE_
を追加して設定します。たとえば、RATELIMIT_ATTEMPTS
は、WEBLATE_RATELIMIT_ATTEMPTS
とします。
API には、個別の接続制限があります。参照: API 接続制限。
Fedora Messaging の統合
Fedora Messaging は AMQP ベースのパブリッシャーで、Weblate で発生するすべての変更に対応しています。これを使用して、Weblate で発生する変更に追加のサービスをフックします。
Fedora Messaging の統合は、別の Python モジュール weblate-fedora-messaging
として使用します。設定手順については、<https://github.com/WeblateOrg/fedora_messaging/> を確認してください。