Heute stand ich vor dem Problem, daß manche Module die Titel ihrer Blöcke nicht in einer deutschen Übersetzung mitbringen bzw. der Titel eines Views nur für eine Sprache festgelegt werden kann.
Die grundsätzliche Idee fand ich nach etwas googeln im englischsprachigen chirale-Blog. Da ich es jedoch hasse, html-Tags mittels PHP zu schreiben, entschied ich mich für einen etwas anderen Ansatz.
Ich verwende sowieso ein eigenes Theme, welches in einem Unterordner von sites/all/themes zu finden ist. Da ich gundsätzlich alle Blocktitel übersetzen will, habe ich einfach eine allgemeine Themedatei für Blöcke angelegt.
block.tpl.php
<?php if (!empty($block->subject)): ?>
<h1><?php print t($block->subject) ?></h1>
<?php endif;?>
<?php print $block->content ?>
Diese Datei sorgt dafür, daß Blocktitel immer von einem h1-Tag umschlossen werden, sofern ein Titel vorhanden ist und der Titel immer durch mittels der t-Funktion in der korrekten Übersetzung angezeigt wird.
Wenn Ihr lieber eine Blockanzeige möchtet, die mehr dem Drupal-Original entspricht, dann empfehle ich Euch einen Blick in den entsprechenden Abschnitt des Drupal 6 Buchs von Hagen Graf.
Fehlende Übersetzung anlegen
Was nun aber wenn trotz dieser Themedatei der Titel immer noch englisch angezeigt wird? In diesem Fall ist ganz einfach noch keine Übersetzung vorhanden. Dies geht im Admin-Menü unter Strukturierung > Öberfläche übersetzen > Suchen. Dort einfach den englischen Blocktitel oder einen Teil davon eingeben und in der Ergebnisliste Bearbeiten anklicken.
Das Interessante hierbei ist, daß manuell in der Blockverwaltung vergebene Titel hierbei auch auftauchen und zwar als Zeichenkette der Textgruppe Integrierte Oberfläche. Somit bietet es sich an, Blocktitel immer manuell in englischer Sprache zu vergeben und dann eine deutsche Übersetzung zu hinterlegen.
Notwendige Module
Es kann sein, daß eines oder mehrere Module aus der nachfolgenden Liste aktiviert sein müssen, damit die Blocktitel überhaupt im Rahmen der Oberflächenübersetzungen angezeigt werden.
Kern - optional
- Locale
- Content translation
i18n (Mehrsprachigkeit)
- Internationalization
- String translation
- Block translation
Das i18n-Modul gibt es auf der nachfolgenden Seite:
http://drupal.org/project/i18n



Kommentar hinzufügen