興味のある方、知識のある方のためにDiscourse Helperの返信を共有します ![]()
UI/UXの改善(フォーラムの近代化)、例えばコンポーザー、AI、そして最近見た最新の改善などは不可欠だと思います。
使用されている英語は非常にニュートラル/プレーンで理にかなっていますが、私の場合はデフォルトのスペイン語翻訳はあまり良くありません。
Discourse UIの文字列を編集することは可能ですが、非常に時間がかかり、このタスクを委任したいだけです。
すべての文字列をJSONファイルとしてダウンロードすることは可能ではありませんが、編集済みのテキストは可能ですか?
すべての言語テキストをダウンロードしてファイルを編集することは、時間の1/5で目的の結果を得るための回避策になるはずです。
プラグインのハイレベル構造
-
プラグインスケルトンの作成
-
使用:
rake plugin:create[custom-site-texts-group]
-
-
バックエンド:権限の拡張
-
関連するコントローラー(例:
Admin::SiteTextController)をオーバーライドして、カスタムグループのメンバーがテキスト編集エンドポイントにアクセスできるようにします。 -
以下のようなものを使用するかもしれません:
add_to_class(:admin_constraint, :matches?) do |request| user = ... # リクエストから現在のユーザーをロード return true if user.admin? # あなたのグループのメンバーシップを確認 group_id = Group.find_by(name: 'yourgroupname')&.id return user.group_ids.include?(group_id) endこれはあくまで例です—正しい権限チェックを見つけ、それがローカライゼーション編集のみにスコープされていることを確認する必要があります。完全な管理者権限ではありません。
-
-
フロントエンド:グループメンバーへのUIの公開
-
PluginAPIを使用して、管理者が「サイトテキストのカスタマイズ」を持つ場所に、グループメンバー向けのUIを挿入します。
-
他のユーザーにはこのUIを非表示にします。
-
-
セキュリティ
- オーバーライドされたコントローラーのアクションとルートで権限を再確認します。クライアントサイドのチェックを絶対に信頼しないでください。