Ich habe viele Panels, denen ich mithilfe der Option "Neuer benutzerdefinierter Inhalt" des Panels-Moduls Text- / HTML-Elemente hinzugefügt habe.
Standardmäßig wird dieser Text nicht auf dem Bildschirm "Schnittstelle übersetzen" angezeigt. Wie soll ich sie übersetzen?
Zwei Ansätze, die ich gefunden habe, sind:
- Ändern des benutzerdefinierten Inhaltstextformats in
PHP code
und Drucken der Textzeichenfolge (n) mit t (). Auf diese Weise kann ich die Zeichenfolgen auf dem Bildschirm "Schnittstelle übersetzen" übersetzen. Ich mache mir jedoch Sorgen, dass das Einfügen von PHP-Code wie diesem ein schlechter Präzedenzfall ist. - Da ich nur zwei Sprachen habe, kann ich einen zweiten benutzerdefinierten Inhalt hinzufügen, der in der anderen Sprache lokalisiert ist. Anschließend kann ich jedem benutzerdefinierten Inhalt in Panels eine Sichtbarkeitsregel hinzufügen und festlegen, dass jedes Element nur angezeigt wird, wenn die Sprache des Benutzers mit der Inhaltssprache übereinstimmt. Dies funktioniert, ist aber im Backend zeitaufwändig und hässlich. Es wäre noch schlimmer, wenn ich mich entschließen würde, meiner Website in Zukunft weitere Sprachen hinzuzufügen, was ich möglicherweise tun werde.
Gibt es eine effizientere und wartbarere Möglichkeit, solche benutzerdefinierten Inhalte zu übersetzen?
Ich verwende immer eine einfache Seite (vorhandener Knoten gegen benutzerdefinierten Inhalt). Auf diese Weise haben Sie durch die Entity-Übersetzung die Möglichkeit, mit Sprachen und Fallback umzugehen. Um Probleme mit doppelten SEO-Inhalten zu vermeiden, installieren Sie das Rabbit-Hole-Modul und verwenden Sie die Weiterleitung zu Ihrer Panel-Seite für diese Knoten.
quelle
Wenn Sie einige benutzerdefinierte "Blöcke" (mangels eines besseren Begriffs) exportieren möchten, um sie zu codieren und zu übersetzen, können Sie das Feldmodul mit i18n_boxes verwenden, mit dem Sie Felder in der Benutzeroberfläche übersetzen können (z. B. mit l10n_client) ) und exportieren Sie die Standard-Sprachversion in Code. Sie können dann die Felder in Ihren Panels verwenden.
quelle
l10n_client
die Bildschirmübersetzungssymbolleiste des Moduls verwenden - die sublim blaue Leiste am unteren Rand aller Seiten -, um Übersetzungen für Übersetzer ganz einfach zu machen. Ich weiß nicht, wie weit der Rest der benutzerdefinierten Inhaltsfenster von Panels in i18n_strings integriert ist, aber ich gehe davon aus, dass es defekt ist, wie im OP angegeben.