フォーラム内で投稿がブロックされた際、ポップアップに「418 error」または「502 Bad gateway」の表示が出ます。このメッセージは正確さに欠けており、フォーラムのどの部分でこのメッセージを最適化し、ユーザーにより詳細な情報を提供できるでしょうか。
ユーザーがブラウザのDevTools(右クリック > 検証 > コンソール)を開くと、通常、そこにエラーメッセージが記録されます。また、/logs(管理者のみ表示可能)にも記録されます。
このエラーメッセージを変更する方法はありますか?例えば、このポップアップ内のメッセージを「ネットワーク/ゲートウェイエラー」に変更したいです。
これはより大きな根本的な問題かもしれません。このようなエラーは、それほど頻繁には発生しません。
このメッセージの由来がわかったようです。
Discourse がレスポンス内で構造化されたエラーメッセージを見つけられない場合、HTTP ステータスコードと statusText にフォールバックします。
if (!parsedError) {
if (error.status && error.status >= 400) {
parsedError = error.status + " " + error.statusText;
}
}
Discourse ソース: HTTP エラーのフォールバック。[1]
つまり、502 Bad Gateway は通常の Site Text エントリではありません。HTTP レスポンスのステータスとステータステキストから生成されます。
生成されたメッセージは、ここで Discourse のアラートダイアログに渡されます。[2]
サーバーが error_key または他の構造化エラーを返す場合、Discourse はすでに翻訳された文字列を使用しています。しかし、生の 502 レスポンスの場合、上記のフォールバックに到達します。
プラグインは、独自のエラーダイアログを表示する前にメッセージを置き換えることはできますが、このフォールバックをグローバルに変更するための公開されたプラグイン API フックは見当たりません。これらの HTTP フォールバックメッセージをグローバルにカスタマイズ可能/翻訳可能にするには、コアの変更または新しいプラグイン API フックが必要になる可能性があります。
