多言語プラグイン 🌐

これは私のステージングサイトでも発生していますが、セーフモードから設定でプラグインを無効にすることができ、サイトは再び正常に動作するようになりました。エド、彼らの新しいアップデートスケジュールポリシーについてご存知ですか?彼らは月初の5日間のみコアとの競合をサポートするため、現在本番サイトをアップデートして修正を期待すべきではありません。

「いいね!」 2

ご関心とフィードバックをありがとうございます。

一般的な注意点として、このプラグインを使用する前に必ずドキュメントをお読みください。多くの質問はそこで解決されています。もし記載されていないトピックがあればお知らせください。追加いたします。

また、ドキュメントページ(ゲストとして)をご覧いただくと、このプラグインの機能が実際に動作している様子をご覧いただけます。言語切り替え機能です。

@eax フィードバックをありがとうございます。

はい、おっしゃる通りです。これは「コンテンツ言語」機能の意図するところです。本番環境では、当面はこれをオフにしておく(つまり、サイト設定をオフのままにする)ことをお勧めします。まずは、機能に慣れるために制限された環境でテストしてください。

なお、以下の点にご注意ください。

  • 「multilingual content languages enabled」というサイト設定でオン/オフを切り替えることができます。
  • コンテンツ言語のフィルタリングは、ユーザーがユーザー設定でコンテンツ言語を選択した場合にのみ適用されます。

「コンテンツ言語」に関する完全なドキュメントはこちらでご覧ください:Pavilion

サーバーサイドの操作(こちらで説明されているようなもの)を使って、言語タグを一度に多数適用することができます。コマンドラインや Ruby on Rails に不慣れな場合は、サポートを受けることをお勧めします。「コンテンツ言語」機能は現在初期段階にありますので、既存のサイト(特に大規模なサイト)でこの機能を利用できるように設定する主な方法はこれです。

Translator Plugin の言語検出機能と、このプラグインの multilingual translator content tag sync 機能を組み合わせることで、言語タグを自動的に適用することも可能です。ただし、翻訳サービスによる言語検出は有料です。また、このアプローチは現時点では実験的であり、特に大規模サイトでは注意が必要です。

私は try.thepavilion.io(現在投稿数は 77 件)で、Translator Plugin とコンテンツ言語の同期アプローチをテストしました。手順は以下の通りです。

  1. Translator Plugin とこのプラグインを設定し、同期が機能するために必要なすべての設定をオンにします。詳細はこちら:Pavilion

  2. サーバーで「rebake」操作を実行し、既存のすべての投稿で言語検出をトリガーします。詳細はこちら:Rebake all posts? - #2 by zogstrip

  3. 一部の投稿に自動的に言語タグが付けられました。

ただし、これはすべてのトピックで機能したわけではなく、完璧でもありませんでした。既存のタグを持つ一部のトピックでは機能せず、すべてのケースで正しく判定されたわけではありません。例えば、この投稿はロシア語だと誤判定されました:https://try.thepavilion.io/t/well-have-a-whale-of-a-time/59

より大きな問題は、多くのトピックにタグが付けられなかったことです。これは、Translator プラグインのバッチ操作と、このプラグインのバッチ操作の間の相互作用に起因する問題です。今後 1 ヶ月ほどで、既存の投稿にコンテンツ言語のタグを付けるこの方法を改善し、技術的なサポートなしでも既存のサイトでの導入をより現実的なものにするよう努めます。また、進捗に応じてドキュメントにこの項目を追加する予定です。

@Ed_Bobkov @davidkingham が親切にも指摘している通り、Pavilion は毎月最初の週にのみ、最新の Discourse と互換性のあるようにプラグインを更新します。

ただし、ご支援のため、このプラグインが最新の Discourse と動作するために必要な変更を行いました。最新の Discourse 環境 https://try.thepavilion.io で実際に動作を確認いただけます。

「いいね!」 6

知りませんでした。ありがとうございます!

「いいね!」 2

プラグインの組み合わせが原因かどうかは分かりませんが、設定でプラグインを無効化するとエラー 500 が発生し、セーフモードでも何もできませんでした。

もしこの問題に遭遇しても慌てないでください。ターミナルを開き、サーバーに接続して以下のコマンドを実行してください:

cd /var/discourse
./launcher enter app
rails c
SiteSetting.multilingual_enabled = true

フォーラムが復旧したら、ターミナルを安全に閉じるために exit コマンドを 3 回実行してください。

参考情報 - インストール済みプラグイン
      - git clone https://github.com/discourse/discourse-akismet.git
      - git clone https://github.com/discourse/discourse-solved.git
      - git clone https://github.com/discourse/discourse-assign.git
      - git clone https://github.com/discourse/discourse-chat-integration.git
      - git clone https://github.com/discourse/discourse-adplugin.git
      - git clone https://github.com/discourse/discourse-calendar.git
      - git clone https://github.com/discourse/discourse-translator.git
      ## 非公式
      - git clone https://github.com/paviliondev/discourse-multilingual.git
      - git clone https://github.com/Ebsy/discourse-nationalflags.git
      - git clone https://github.com/jannolii/discourse-topic-trade-buttons.git

追記: 「Multilingual Disabled Content Tags」というタググループを削除しても安全でしょうか?

新しいトピックを作成しようとした際、これらのタグが最初にリストに表示されます。これは実用的ではありません(ただし、タグの設定に混乱している可能性もあり、何か見落としているかもしれません)

「いいね!」 5

可能であれば、サイトの中身を詳しく拝見したいのですが(ご都合がよろしければ、PM でご連絡ください)。

はい、そのスクリーンショットの右下にあるコントロール(プラグインによって追加されたものです)をお使いください。

「いいね!」 3

面白いことに、右下のボタンを押しても何も起こりません。

一つずつ削除はできますが、いくつか確認してほしいので、まず認証情報を送ります。それ以外はプラグインは正常に動作しているので、大きな問題ではありません。

「いいね!」 1

投稿や返信の自動翻訳をユーザーが読めるようにする方法を探しています。

discourse-multilingual と discourse-translator の両方のプラグインをインストールしました。

discourse-multilingual の設定はすべて有効にしました。

また、discourse-translator のインライン翻訳を有効にし、Azure のサブスクリプションキーを追加しました(このスクリーンショット用にキーを再生成しています)。

複雑さを減らすために多言語対応の言語を制限しましたが、無効にしたすべての項目で「タグの競合」エラーが表示され、その理由がわかりません(リンクをクリックすると 404 ページが表示されます)。


また、multilingual の翻訳が空のままですが、その理由がわかりません。

さらに、3 つのユーザーのロケール設定もすべて有効にしました。

しかし、他のユーザーのコンテンツを翻訳するオプションはどこにも表示されません。追加のボタンやヘッダー、フッターもありません。

何が不足しているのでしょうか?

私が携わっているフォーラムの設定を確認しましたが、翻訳には Google API を使用しており、問題なく動作しています。このプラグインに問題はないと思われます。

考えられる解決策は以下の 2 つです:

  • 翻訳 API が言語を認識できず、翻訳を提案できない可能性があります。別の言語で非常に短い新規トピックを投稿することをお勧めします。
  • サブスクリプションキーに問題がある可能性があります。/logs を確認して、エラーログに何か記録されていないか確認してください。

ただし、タグの競合問題は奇妙です。私のフォーラムでは最新バージョンで問題なく動作しています(ヘッダー/フッターのゲスト言語切り替えに関する既知の課題は報告されています)。/tags ページを確認し、content_languages タグに問題がないかチェックしてください。必要に応じて、/tag_groups ページでタググループ内のすべてのタグを更新してください。

「いいね!」 1

このプラグインを使用してカテゴリとサブカテゴリの名前を翻訳していますが、通常は正常に動作します。
しかし、サブカテゴリがボックス表示で表示される場合、その名前が翻訳されません。

category-title-link.hbs 内のコードは以下のようになっていることに気づきました:

<span class="category-name">{{dir-span category.name}}</span>

一方、categories-boxes.hbs 内では以下のようになっています:

<a class="parent-box-link" href={{c.url}}>
  <h3>
    {{#if c.read_restricted}}
      {{d-icon "lock"}}
    {{/if}}
    {{c.name}}
  </h3>
</a>

ボックス表示でも翻訳が機能するように、categories-boxes テンプレートをオーバーライドする方法をご教示ください。

「いいね!」 2

要点がわかりません。
categories-boxes と category-title-link という 2 つのコンポーネントで、カテゴリー名データがどのように取得されているのかが理解できません。
カテゴリー名データの取得において、これらのコンポーネントの違いは何でしょうか。

見つけました。categories-boxes.hbs を以下のように変更してください:

<a class="parent-box-link" href={{c.url}}>
     <h3>
        {{category-title-link tagName="span" category=c}}
    </h3>
</a>

カテゴリタイトルにはこの category-title-link コンポーネントを使うだけで、問題なく動作します。:laughing::laughing::laughing::laughing::laughing:

「いいね!」 2

こんにちは、このプラグインを実際に動作させているフォーラムの具体例はありますか?実際の仕組みを理解したいと考えています。

また、言語によってユーザーを異なるリンクに誘導することは可能でしょうか。

「いいね!」 2

現在の Discourse と Multilingual プラグインのバージョンで、tags に問題が発生している方はいますか?

ローカル除外部分のみを抽出できれば素晴らしいのですが、それは私のフォーラムには必須ですが、プラグインの残りの部分は使用しない予定です。

「いいね!」 4

同じ問題が見つかりました。このプラグインは、タグの古いルートを使用しています。プラグインを無効にしたところ解決しました。

「いいね!」 1

皆さん、ご辛抱ありがとうございます。

@anon20593648 @Ed_Bobkov 新しいタグ用ルートに対応するようにプラグインを更新しました。

機能の詳細と例については、ドキュメントで詳しく説明されています。

そこに記載されている機能について具体的なご質問がある場合は、関連するトピックに投稿してください。追って対応いたします。

「いいね!」 7

@angus、こんにちは!カスタムユーザーフィールドの翻訳を追加するにはどうすればよいですか?

「いいね!」 3

ディスカッションフォーラムでは、ユーザープロフィールページに表示する言語を選択するために多言語インターフェースを使用しています。ユーザープロフィールページには、選択された言語のみが表示されます。つまり、以下の言語です。

アラビア語
英語
フランス語
ドイツ語
ポルトガル語
ルーマニア語
ロシア語
スペイン語

上記の言語を多言語インターフェースから選択し、「変更を保存」ボタンをクリックすると、「内部サーバーエラー」が表示されます。
しかし、データベースにはデータが保存されていることが確認できました。ところが、3日後に確認すると、多言語インターフェースから最後に選択された値の選択が解除されていました(/admin/multilingual/languages)。
デフォルト値(英語、フランス語、スペイン語、イギリス英語など)のみが表示されています。これに関連するエラーログは見つかりませんでした。同様の問題に遭遇した方がいらっしゃいましたら、ご提案をお願いします。

「いいね!」 1

来週初めにこのプラグインに集中して、その際にあなたの質問に対応します :+1:

「いいね!」 3

ご返信ありがとうございます。

「いいね!」 1

この質問をここでして良いか迷いましたが、プラグインに直接関係する問題だと思い投稿します。

新しいフォーラム(https://forums.sociocracyforall.org)で「Multilingual Plugin」を有効にしたところ、ほぼ正常に動作しているのですが、以下の問題が発生しています:

  1. プラグイン有効化前に投稿された投稿の言語タグを変更しようとすると、500 エラーが表示され、変更できません。自分の投稿でも、他人の投稿でも同様です。
    原因と解決策についてご存知でしょうか?

  2. 言語タグを入力しない場合の警告メッセージが、一般ユーザーには少し分かりにくいと感じています。

  3. 内容の言語選択が、インターフェースの言語(この場合はスペイン語)で表示されません。
    これは翻訳されていないためでしょうか、それとも他の理由でしょうか?

もしこのスレッドよりも適切な場所(GitHub など)があれば、教えてください :slight_smile:
追記:実は、GitHub にもそれぞれ個別に issue を投稿しました:Issues · paviliondev/discourse-multilingual · GitHub

「いいね!」 1