Bei der Erstellung von ICanLocalize Übersetzer haben wir die eine oder andere Sache über die Übersetzung von Drupal-Blöcken gelernt.
Wenn Ihre mehrsprachige Drupal-Seite Blöcke enthält, gibt es zwei mögliche Herangehensweisen:
- Einzelne Blöcke pro Sprache
- Einen Block für alle Sprachen, der mit Hilfe von String-Übersetzung übersetzt wird
Methode 1: Einzelne Blöcke pro Sprache
Drupal-Knoten werden pro Sprache erstellt. Jeder Knoten enthält Inhalte in einer einzigen Sprache, wobei das 18in-Modul sie als Übersetzungsgruppen miteinander verbindet.
Es erscheint nur logisch, bei Blöcken auf dieselbe Weise vorzugehen. Was Sie nun machen könnten, ist mehrere Blöcke zu erstellen, jedem seine Sprache zuzuordnen und ihn für die Knoten in dieser Sprache zu aktivieren.
Der Nachteil dieser Vorgehensweise ist, dass Blöcke dupliziert werden und Drupal keine Funktion für die Synchronisierung von Block-Übersetzungen anbietet. Im Gegensatz zu Knoten, für welche das i18n-Modul Sprachgruppierung anbietet und die Synchronisierung des Inhalts einfach macht, ist die Übersetzung von Blöcken ein manueller Vorgang.
Wenn Sie pro Sprache verschiedene Versionen desselben Blocks erstellen, müssen Sie diese selbst verwalten, ohne viel Hilfe von i18n.
Vorteile:
- Jeder Block in jeder Sprache ist unabhängig, sodass Sie volle Kontrolle darüber haben, wie der Block verwendet wird.
Nachteile:
- Die Anzahl der zu verwaltenden Blöcke ist größer. Wenn Sie 7 Originalblöcke haben und 5 Sprachen, müssen Sie am Ende insgesamt 7x5 = 35 Blöcke verwalten.
Methode 2: Einen Block für alle Sprachen, der mit Hilfe von String-Übersetzung übersetzt wird
Sie werden eine einzelne Version jedes Blocks erstellen, der in allen Sprachen angezeigt werden. Die Inhalte der Blöcke werden mit Hilfe von Drupals String-Übersetzungsfunktion übersetzt.