オプションの Weblate モジュール

Weblate を構成するために、オプションのモジュールを複数用意しています。

Git エクスポーター

バージョン 2.10 で追加.

HTTP(S) 接続による、基になる Git リポジトリへの読み取り専用アクセスを提供します。

インストール

  1. settings.py ファイル内の、インストールするアプリに weblate.gitexport を追加する:

INSTALLED_APPS += ("weblate.gitexport",)
  1. インストール後にデータベースを移行して、既存のリポジトリをエクスポートする:

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",)
  1. データベースの移行を実行し、オプションである追加のデータベース構造のモジュールをインストールする:

weblate migrate

使用方法

インストールして、管理画面から請求書を管理します。支払いが必要なユーザーは、自分の user-profile`の中に、新しい :guilabel:`請求書 タブが表示されます。

請求モジュールを使用すると、プロジェクト管理者はスーパーユーザーでなくても新しいプロジェクトやコンポーネントを作成できます(参照: 翻訳プロジェクトとコンポーネントの追加)。使用するために必要な条件:

  • 請求は、設定済みの限度額以内(使用限度を超えると、プロジェクトおよびコンポーネントの作成がブロックされる)および支払済み(料金が有料である)の場合

  • ユーザーは、有料の既存のプロジェクトの管理者である、または請求のアクセス権がある場合(後者は、新しいプロジェクトをインポートするために、新しい請求書を作成する場合に必要です)。

プロジェクト作成時に、ユーザーが他の請求書にアクセスできる場合には、プロジェクトへ請求する請求書を選択できます。

アバター

アバターはダウンロードして、サーバー側でキャッシュされるので、デフォルトではアバターを提供しているサイトへの情報漏洩を減らせます。設定したメールアドレスからアバターを取得する機能は、ENABLE_AVATARS を使用して無効化します。

現在 Weblate が対応しているアバター:

スパム対策

Akismet サービスを使用して、ユーザーによるスパムから保護できます。

  1. akismet Python モジュールをインストールする(これはすでに公式の Docker イメージに含まれる)。

  2. Akismet API キーを取得する。

  3. 取得した、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 について」 のページに表示されます。表示例:

../_images/about-gpg.png

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_ATTEMPTSRATELIMIT_TRANSLATE_ATTEMPTS などの、スコープを限定した設定もあります。次の表は、すべての使用可能なスコープの一覧です。

接続制限が対象の操作:

名前

対象範囲

試行回数限度

試行可能秒数

接続遮断秒数

登録

REGISTRATION

5

300

600

管理者へメッセージの送信

MESSAGE

2

300

600

サイン イン時のパスワード認証

LOGIN

5

300

600

サイト全体の検索

SEARCH

6

60

60

翻訳

TRANSLATE

30

60

600

用語集に用語を追加

GLOSSARY

30

60

600

新しい言語での翻訳の開始

LANGUAGE

2

300

600

新しいプロジェクトの作成

PROJECT

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/> を確認してください。