Discourse-Assign が非英語文字のサポートが不十分で 500 エラーが発生するという問題はよく話題になっているため、ここではむしろ厄介な状況の組み合わせで発生する問題についてのみ議論します。
Discourse には便利な補助機能があります。それは、Jobs::EnsureDbConsistency が実行されるたびに、ページ上の文字列をローカライズされた名前に置き換えるというものです。これは絶対にユーザーフレンドリーな機能として称賛されるべきですが、このケースでは、それが害を及ぼす可能性があります。簡体字中国語を例にとると、まずデフォルト言語をこの非英語言語に設定し、次に Jobs::EnsureDbConsistency を実行します。その後、自動グループの名前が変更され、ユーザーがそのグループの「割り当て済み (Assigned)」ページを開くと、500 エラーがトリガーされます。
要約すると、これらの言語で Discourse-Assign を通常どおり使用するには、まずデフォルト言語を英語に設定し Jobs::EnsureDbConsistency を実行してグループ名を英語にする必要があり、その後デフォルト言語を目的の言語に戻して「フルネーム (Full Name)」を中国語にする必要があります。
しかし、通常の場合 Jobs::EnsureDbConsistency は定期的に実行されるため、次にトリガーされたときに自動グループの名前は目的の言語に戻り、再び「割り当て済み (Assigned)」ページが 500 エラーを引き起こします。![]()



