7.11 Sprachen

In diesem Bereich nehmen Sie die Grundinstallation für neue Sprachen vor. Das Thema Sprachen wird in einem Europa mit 23 Amtssprachen7 zunehmend wichtiger. Es ist nicht trivial, mehrsprachige Websites zu erstellen und vor allem zu betreiben. Drupal hat ein mehrstufiges Konzept.

7.11.1 Die Oberflächensprache

Ihre Website besteht aus Inhalten und vordefinierten Texten wie beispielsweise dem Satz „Geben Sie hier das zugehörige Passwort an.“ Bei der Oberflächensprache handelt es sich um diese vordefinierten Texte. Der Drupal-Kern besteht aus mehr als 3000 solcher Sätze (Textstrings) in englischer Sprache. Sie sind diesen im Bereich Verwalten – Strukturierung – Oberflächenübersetzung in Abschnitt 6.5.1 Übersetzen eines Strings „per Hand“ bereits begegnet.

Für diesen Kern gibt es Übersetzungen in mehr als 30 Sprachen. In vielen Ländern gibt es Übersetzungsserver. In Deutschland hat Konstantin Käfer die Initiative ergriffen und einen deutschen Übersetzungsserver gestartet8. Mittlerweile zeichnet es sich ab, dass drupalcenter.de diese Dienstleistung übernehmen wird9.

Wie auch immer die Dateien entstehen. Wenn sie denn mal da sind, handelt es sich um eine .po-Datei nach dem GNU gettext Standard10. Diese Datei kann im Bereich Verwalten – Strukturierung – Oberflächenübersetzung – Importieren in die entsprechende Sprache für Ihr Drupal geladen werden.

In diesem Bereich Einstellungen legen Sie gewissermaßen die „Metadaten der Oberflächensprache“ an. Wenn Sie auf Verwalten – Einstellungen – Sprachen – Sprache hinzufügen klicken, können Sie aus allen Sprachen dieser Welt die Metadaten laden. Sie können sogar eigene Sprachen, beispielsweise Dialekte wie bairisch, sächsisch und schwäbisch erstellen.

7.11.2 Sprache bearbeiten und konfigurieren

Bevor Sie aber so ein Projekt starten, schauen Sie sich bei der deutschen Sprache einfach mal die Einstellungen an.

  • Klicken Sie zunächst auf Verwalten – Einstellungen – Sprachen.

  • Klicken Sie dann neben German auf bearbeiten (Abbildung 7.19).

Einstellungen der Sprache German
Abbildung 7.19: Einstellungen der Sprache German

Der englische Name (German), der Name der Sprache in der Sprache (Deutsch) und die Richtung (links nach rechts) sind noch einfach nachvollziebar. Beim Pfadpräfix (de) der Sprachdomain fängt die „Politik“ an. Wie soll die URL Ihrer Website aufgebaut sein?

  • http://beispiel.de/de/node/123

  • http://beispiel.de/node/123

  • http://de.beispiel.com/node/123

Es gibt keine richtige oder falsche Lösung. Sie müssen sich einfach für einen Weg entscheiden. Sie treffen diese Entscheidung im Bereich Verwalten – Einstellungen – Sprachen – Konfigurieren.

Sie haben dort vier Möglichkeiten:

  • Keine. Hier wird nur die als Standard definierte Oberflächensprache auf der Website benutzt. Benutzer können allerdings in Mein Konto eine andere Umgebungssprache wählen, so sie denn aktiviert ist.

  • Nur Pfadpräfix. Die Oberflächensprache ist davon abhängig, welches Pfadpräfix in der URL benutzt wird. Wird kein Präfix gefunden, wählt Drupal die Standardsprache. Die URL "http://beispiel.com/de/contact" würde die Oberflächensprache auf deutsch setzen, weil das Präfix de im Pfad steht.

  • Pfadpräfix mit Ausweichlösung. Hier greift der gleiche Effekt wie bei Pfadpräfix, allerdings wird dieses Mal noch überprüft, welche Sprache der Benutzer in mein Konto eingestellt hat oder, bei einem nicht angemeldeten Besucher der Website, welche Sprache im Browser eines Gastes der Website eingestellt ist. Erst wenn diese beiden Überprüfungen kein sinnvolles Ergebnis bringen, wird auf die Standardsprache der Website geschaltet.

  • Nur Domainname. In diesem Fall wird der Domainname untersucht. "http://de.beispiel.com/contact" würde die Oberflächensprache auf deutsch setzen. Wikipedia arbeitet übrigens nach dieser Methode.


Ihre Bewertung: Nichts

Pfadpräfix mit Ausweichlösung funzt nicht...

Ich habe i19n installiert und 4 Sprachen definiert. de, fr, it und en. Nun möchte ich gerne, dass die Oberflächensprache, also mein Drupal Adminstrationsbereich immer nur in Deutsch angzeigt wird. Mit Oberflächensprache ist hier doch die Rede vom Drupal-Backend, oder hab ich da was komplett falsch verstanden?

Unter Sprache habe ich Deutsch als Standard definiert. Ich bin als User 1 eingeloggt und in meinem Profil ist Deutsch auch als Standard ausgewählt.

Nun bin ich der Meinung, wenn ich obenstehenden Text lese, dass die richtige Einstellung für mich «Pfadpräfix mit Ausweichlösung» wäre, wenn ich immer in einer deutschen Drupal-Umgebung arbeiten will. Ist aber nicht so.

Bei mir geschieht unter Sprachen -> Konfigurieren -> Spracherkennung folgendes:

Keine:
Der Sprachumschalter wird nicht mehr angezeigt. Ist also keine Lösung. Wieso? Ich dachte diese Einstellung betrifft nur die Einstellung der Drupal-Umgebung. Mir scheint aber eher, dass Drupal hier Inhalt und Oberflächensprache miteinander behandelt und weil Deutsch bei mir als Standar eingestellt ist, ignoriert Drupal hier die anderen Sprachen und zeigt mir deshalb auch den Sprachumschalter nicht mehr an.

Nur Pfad Präfix:
Sprachumschalter wieder aktiv. Sobald ich im Sprachumschalter z.B. auf Italienisch wechsle ist mein ganzes Drupal italienisch. Aber ich möchte ja genau, dass immer alles deutsch bleibt. Also nicht was ich will. In der URL wird dafür nach der Domain der Sprachcode für en, fr und it eingeblendet. Für Standardsprache Deutsch erscheint aber kein Sprachcode.

Pfadpräfix mit Ausweichlösung:
Passiert bei mir genau dasselbe wie «Nur Pfad Präfix». Oder versteh ich alles falsch und die Site würde mir z.B. in deutsch angezeigt, auch wenn die Standardsprache z.B. englisch wäre?

Nur Domainname:
So und hier geschieht eigentlich was ich möchte. Egal ob ich eine it, en oder fr Seite anzeige, mein Backend bleibt immer schön deutsch, aber... und das check ich nun wieder nicht, sind meine en, fr und it Sprachcodes nicht mehr in der URL.

Entweder versteh ich hier die ganzen Erklärungen völlig falsch oder irgendwas ist in meinem Drupal anders als es hier beschrieben ist...

Und meinen nächsten Post mach ich nun noch bei i19n, denn auch dort funzt mein Menu nicht so wie ich dachte dass es soll.

Ich freu mich über Feedback oder vielleicht nimmt sich jemand ein paar Minuten um mir die Geschichte hier zu erklären. Schade übrigens, dass das i19n auf der neuen DVD nicht behandelt wird. Ist doch ein so wichtiges Thema.

Grüsse
Pierre

Sprachpräfix setzen

Ich habe i19n installiert und 4 Sprachen definiert. de, fr, it und en. Nun möchte ich gerne, dass die Oberflächensprache, also mein Drupal Adminstrationsbereich immer nur in Deutsch angzeigt wird. Mit Oberflächensprache ist hier doch die Rede vom Drupal-Backend, oder hab ich da was komplett falsch verstanden? Unter Sprache habe ich Deutsch als Standard definiert. Ich bin als User 1 eingeloggt und in meinem Profil ist Deutsch auch als Standard ausgewählt.

Drupal hat keine "echte" Trennung zwischen Adminbereich und Website so wie beispielsweise Typo3 und Joomla!. Der Adminbereich steht in allen Sprachen zur Verfügung. Wenn Du dich als Admin neu einloggst, sollte Deine Standardsprache (also deutsch) angezeigt werden, kommst Du jedoch von einer Seite in einer anderen Oberflächensprachen, ist der Adminbereich ebenfalls in dieser Sprache.

Nur Pfad Präfix:
Sprachumschalter wieder aktiv. Sobald ich im Sprachumschalter z.B. auf Italienisch wechsle ist mein ganzes Drupal italienisch. Aber ich möchte ja genau, dass immer alles deutsch bleibt. Also nicht was ich will. In der URL wird dafür nach der Domain der Sprachcode für en, fr und it eingeblendet. Für Standardsprache Deutsch erscheint aber kein Sprachcode.
Pfadpräfix mit Ausweichlösung:
Passiert bei mir genau dasselbe wie «Nur Pfad Präfix». Oder versteh ich alles falsch und die Site würde mir z.B. in deutsch angezeigt, auch wenn die Standardsprache z.B. englisch wäre?

Wenn kein Sprachpräfix erscheint, mußt Du in http://deinewebsite.com/de/admin/settings/language/overview im Link bearbeiten einen Präfix eingeben - dann sollte es funktionieren

Hmm... dann hab ich hier

Hmm... dann hab ich hier einiges zu Beginn völlig falsch interpretiert. Ich möchte deshalb kurz resümieren, wie ich das nun verstehe:

Es scheint also nicht möglich zu sein, Drupal zu zwingen das Backend in deutsch zu lassen, wenn man einen englischen Text bearbeiten möchte.

Die Einstellungen des Pfadpräfixes haben grosse Auswirkungen, wie Drupal als ganzes mit den Sprachen umgeht. Ich dachte zuerst nur, dass dies eine rein «optische» Geschichte ist und mit dem System selber nicht viel zu tun hat. Drupal hier «nur» ein de oder en, oder was auch immer dem Pfad anhängt, damit der User eine nette URL zu sehen bekommt. In Wahrheit regelt über diese Einstellung Drupal aber die gesamte Sprachsteuerung. Deshalb hab ich natürlich auch keine Sprachwahl aus i18n mehr gesehen, als ich «Keine» eingegeben hatte.

Ok. Das ganze macht jetzt etwas mehr Sinn. Bin da zu Beginn einfach von falschen Voraussetzungen ausgegangen. Trotzdem stört mich etwas gewaltig: Für oben genannte Website mit den 4 Sprachen ist eine Person verantwortlich. Sie bekommt die Übersetzungen vom Übersetzer und muss die Inhalte dann einpflegen und da ist es doch sehr Benutzerunfreundlich, wenn die Bekannten Funktionen plötzlich nur noch in einer Fremdsprache dastehen. Was ist, wenn z.B. jemand eine ihm völlig fremde Sprache bewirtschaften muss? Der findet ja dann nicht mal mehr den Sichern-Button, oder all die Einstellungen, die man sonst noch irgendwo machen kann? Da wäre doch ein Modul nötig, wo man Drupal sagen kann, dass die Oberflächensprache zwingend auf der Einstellung des Users bleibt. Die Inhalte haben ja mit der Oberflächensprache nicht wirklich was zu tun. Gits denn sowas? Ich bin doch kaum der einzige, der dieses Problem hat?

Besten Dank für deine Antwort.
Pierre