こんにちは。
新しい「カスタムモデレーションフラグ」機能を試していたところ、場合によっては新しいフラグを作成するとテキストキーが見つからないというエラーが発生することに気づきました。
例えば、「投稿を非表示にする」というモデレーションオプションを使用した場合、ユーザーに送信されるメッセージには、「flag_reasons.mycustomflag」というテキストキーが存在することが期待されます。
欠落しているキーを追加/定義することは可能でしょうか? 私が理解している限りでは、サイトテキスト機能では、すでに存在するキーを翻訳することしかできません。
何かガイダンスやヒントをいただけると幸いです。
「いいね!」 2
今後のリリースに向けて、新たに追加された文字列の翻訳を進めています。カスタムフラグの文字列で何か問題が発生しましたか?ご質問からは、それが明確ではありません。スクリーンショットを共有していただけますか?フォーラムはどの言語ですか?米国英語ではフラグは正しく機能しますか?
RGJ
(Richard - Communiteq)
2024 年 12 月 1 日午後 5:59
4
米国英語フォーラムから送信されたメール、カスタムフラグ「its_hostile」
「いいね!」 3
Moin
2024 年 12 月 1 日午後 6:33
5
翻訳に固有の問題ではないと思います。
コミュニティからのフラグによって投稿が非表示になると、作成者に個人メッセージが送信されます。このメッセージには理由が含まれています。例:
これらの理由は、メッセージが作成される際に使用されます。
この理由をメッセージに追加するコードは、post_action_type を使用します。
# inform user
if user.present?
options = {
url: url,
edit_delay: SiteSetting.cooldown_minutes_after_hiding_posts,
flag_reason:
I18n.t(
"flag_reasons.#{post_action_type_view.types[post_action_type_id]}",
locale: SiteSetting.default_locale,
base_path: Discourse.base_path,
),
}
message = custom_message
message = hiding_again ? :post_hidden_again : :post_hidden if message.nil?
Jobs.enqueue_in(
5.seconds,
:send_system_message,
user_id: user.id,
This file has been truncated. show original
これは、上記のスクリーンショットで見られるように、flag_reasons.spam のようなデフォルトのフラグ理由で機能します。問題は、カスタムフラグ理由に対応する文字列がないことです。たとえば、「Testing」という理由を作成し、「Auto hide flagged content」を有効にした場合です。
その場合、flag_reasons.custom_testing が使用されます。しかし、この理由は存在しません。言語は関係ありません。カスタムフラグであるため、英語にさえ存在しません。
そして、投稿が削除された場合にも同じ理由が使用されます(RGJの投稿のスクリーンショットを参照)。
message_options: {
flagged_post_raw_content: notify_responders ? options[:parent_post].raw : @post.raw,
flagged_post_response_raw_content: @post.raw,
url: notify_responders ? options[:parent_post].url : @post.url,
flag_reason:
I18n.t(
"flag_reasons#{".responder" if notify_responders}.#{flag_type}",
locale: SiteSetting.default_locale,
base_path: Discourse.base_path,
),
},
ちなみに、「responders」についても、不正な理由が欠落しています。
「いいね!」 4
@scharnkn 、報告ありがとうございます。@moin 、フォローアップありがとうございます!
他に、期待されるテキストの代わりにテキストキーが予期せず表示される場所はありますか?
皆さん、こんにちは。
有益な背景情報を提供していただきありがとうございます。最初の投稿で詳細が不足していたことをお詫び申し上げます。
テキストキーが予期せず表示される他の場所はありますか?
他の場所ではこの問題に遭遇していません。
よろしくお願いいたします。
カトリン
Moin
2024 年 12 月 4 日午後 12:06
9
FIX: update flag reason message with default value (#30026) · discourse/discourse@28b4ff6 · GitHub を見つけました。
それで、もう一度試してみました。
例えば、「あなたの投稿はトピック外 としてフラグが立てられました:コミュニティは、タイトルと最初の投稿で現在定義されているトピックに合わないと感じています」と比較すると、カスタムフラグの理由はキーワードのみです。
おそらく、「あなたの投稿は理由 としてフラグが立てられました。」もカスタムフラグに使用できるのではないでしょうか。
そして、回答者向けのバージョンでは、「投稿は理由 としてフラグが立てられました。」となります。
(「違法」に対するデフォルトのテキストもあると便利だと思います。これはカスタム理由ではないためです。)
「いいね!」 1
Moin に賛成する傾向があります。
カスタムフラグではない「illegal」については、topic_flag_types.illegal.description の内容を表示してください。これは存在します。米国英語では、「This topic requires staff attention because I believe it contains content that is illegal.」(このトピックは、違法なコンテンツが含まれていると思われるため、スタッフの注意が必要です。)となります。
カスタムフラグについては、明確にするために reason を「The post was flagged as reason 」(投稿は reason としてフラグ付けされました)に変更してください。
メールに理由の説明を含めることを妨げる技術的な制限はありますか?
「いいね!」 1
Moin
2024 年 12 月 4 日午後 7:36
11
Tobias Eigen:
存在する
存在しません。説明は存在しますが、理由と同じではありません。3つのテキストがあります。
投稿をフラグ付けしたユーザーに表示される説明。
投稿の作成者に表示される理由:
投稿が削除され、設定が有効になっている場合に、削除された投稿に応答した人に表示される理由。「違法」については、これが欠落しています。
「いいね!」 1
なるほど、興味深いですね。(2)と(3)はほぼ同一です。これらの2つのケースで異なるテキストを用意することで、物事を複雑にしすぎているのではないでしょうか。
とりあえず、不正の新しい文字列を作成し、それが機能することを確認するだけでよさそうです。例えば
responder:
illegal: 「投稿は**不正**としてフラグが立てられました。コミュニティは法律違反の可能性があると考えています。」
カスタムフラグをすべてカバーするために、(2)と(3)に新しい文字列を作成することもできます。例えば
flag_reasons:
custom: 「あなたの投稿は**理由**としてフラグが立てられました。
responder:
custom: 「投稿は**理由**としてフラグが立てられました。
「いいね!」 2