Ein Discourse-Plugin, das mehrere lokalisierte Versionen von Beitragsinhalten ermöglicht.
Dieses Plugin ist ein Proof-of-Concept: Ohne die Möglichkeit, Thementitel zu lokalisieren, ist es nicht sehr nützlich.
Wie man es verwendet
Verwenden Sie in einem Beitrag [lang=xx]-Blöcke:
[lang=en]
Hello World!
[/lang]
[lang=fr]
Bonjour monde !
[/lang]
[lang=de]
Hallo Welt !
[/lang]
Ergebnis:
Hallo Welt !
Ländercodes müssen aus zwei Buchstaben bestehen (Regionen werden nicht unterstützt).
Funktionsweise
Beim Rendern eines Beitrags sucht das Plugin nach einem [lang=xx]-Block zur Anzeige. Die Suche wird beendet, sobald einer der folgenden Fälle eintritt:
Der Block für die Sprache des Benutzers (wie von Discourse ausgewählt)
Der Block für die Standardsprache der Discourse-Instanz
Haben Sie bereits über die Behandlung von Titeln in Rails nachgedacht? Die Standardsprache ist die bestehende, während zusätzliche Titel benutzerdefinierte Themenfelder sind. Anschließend passen Sie die Serialisierer so an, dass sie den Titel der ausgewählten Sprache im Payload senden.
Hallo! Ich liebe dieses Plugin und wie einfach es ist. Ich finde, es wäre noch nützlicher, wenn es die Dekoration von Diskurs-Seiten unterstützen würde (FAQ/Richtlinien, AGB, Datenschutz), da die Überschriften ohnehin übersetzt werden. Ich habe versucht, es selbst zu forkieren und zu erweitern, aber um ehrlich zu sein, bin ich ein absoluter Anfänger. Ich habe zwar das Gefühl, dass es umgeschrieben werden muss, um decorateWidget() anstelle von decorateCooked() zu verwenden.
Das Dekorieren einer statischen Discourse-Seite (FAQ/Richtlinien, AGB, Datenschutz) wäre eine schöne Funktion. Ich bin mir jedoch nicht sicher, ob decorateWidget einen Hook für statische Seiten hat. Hat jemand einen Hinweis dazu?