Gruppenzugriff aktivieren, um Übersetzungen im Discourse-Website-Text zu ändern

Ich frage mich, ob es möglich ist, die Textbearbeitung für Gruppen zu ermöglichen, die über Administratoren hinausgehen. Zumindest Moderatoren?

Wir möchten einen anderen Ton anschlagen und unsere eigenen Worte in unserer Community verwenden, um mit unseren Nutzern einen Abschluss zu finden.

2 „Gefällt mir“

Sie können Gruppen die Berechtigung erteilen, Beiträge anderer zu bearbeiten, indem Sie die Website-Einstellung Edit all post groups ändern – ist das, wonach Sie suchen?

1 „Gefällt mir“

Hallo, danke für deine Antwort. Ich möchte die Discourse-Textbearbeitungen (auch bekannt als Lokalisierung, Sprachzeichenfolgen) aktivieren :)\n\nIch verstehe, dass dies derzeit nur für Administratoren aktiviert ist, und ich denke, dass es eine Funktion ist, die für Moderatoren/Redakteure besser geeignet ist.

1 „Gefällt mir“

Vielen Dank für die Klarstellung, dies ist derzeit nicht möglich

Okay, ich teile die Antwort des Discourse Helpers für diejenigen, die daran interessiert sind und das Wissen dafür haben :slight_smile:

Ich denke, es ist wichtig, die UI/UX zu verbessern (unsere Foren zu modernisieren), wie den Composer, KI und die neuesten Verbesserungen, die wir gesehen haben.

Die verwendete englische Sprache ist super neutral/einfach und das macht Sinn, aber -in meinem Fall- sind die spanischen Übersetzungen standardmäßig nicht gut.

Das Bearbeiten von Zeichenketten in der Discourse-Benutzeroberfläche ist in Ordnung, aber sehr zeitaufwändig, und ich möchte diese Aufgabe einfach delegieren.

Ich verstehe, dass es nicht möglich ist, alle Zeichenketten als JSON-Datei herunterzuladen, aber die bearbeiteten Texte?

Das Herunterladen aller Sprach texte und das Bearbeiten der Datei sollte ein Workaround sein, um das gewünschte Ergebnis in 1/5 der Zeit zu erzielen.


Struktur des High-Level-Plugins

  1. Plugin-Skelett erstellen

    • Verwenden:

      rake plugin:create[custom-site-texts-group]
      
  2. Backend: Berechtigungen erweitern

    • Überschreiben Sie den relevanten Controller, z. B. Admin::SiteTextController, um Mitgliedern Ihrer benutzerdefinierten Gruppe(n) den Zugriff auf Endpunkte zur Textbearbeitung zu ermöglichen.

    • Sie könnten etwas Ähnliches verwenden:

      add_to_class(:admin_constraint, :matches?) do |request|
        user = ... # aktuellen Benutzer aus der Anfrage laden
        return true if user.admin?
        # Prüfen Sie auf die Mitgliedschaft Ihrer Gruppe
        group_id = Group.find_by(name: 'yourgroupname')&.id
        return user.group_ids.include?(group_id)
      end
      

      Dies ist nur illustrativ – Sie müssen die richtige Berechtigungsprüfung finden und sicherstellen, dass sie nur auf die Lokalisierungsbearbeitung beschränkt ist, nicht auf die vollständige Administratorfunktion.

  3. Frontend: UI für Gruppenmitglieder bereitstellen

    • Verwenden Sie PluginAPI, um UI für die Mitglieder Ihrer Gruppe einzufügen, wo Administratoren “Site-Texte anpassen” haben.

    • Blenden Sie diese UI für andere Benutzer aus.

  4. Sicherheit

    • Überprüfen Sie Berechtigungen in allen überschriebenen Controller-Aktionen und Routen erneut. Vertrauen Sie niemals clientseitigen Prüfungen.