Language Switcher WordPress Plugin

Dies ist eine Übersetzung des Artikels “Language Switcher WordPress Plugin” von Poplarware.

Einleitung

Das Language Switcher WordPress Plugin ermöglicht es, einen zwei- oder mehrsprachigen WordPress-Blog zu erstellen. Es funktioniert folgendermaßen: Man schreibt den Inhalt seines Blogs in verschiedenen Sprachen und benutzt dazu spezielle HTML Tags. Außerdem verwendet man “gettext” im Theme, in anderen Plugins und in WordPress selber, um per Sprachdatei die Textteile in die gewünschten Sprachen zu übersetzen. Das Language Switcher Plugin zeigt dann im Blog eine Liste der verfügbaren Sprachen an, so dass die Besucher nur auf einen Link klicken müssen, um den gesamten Blog in der gewählten Sprache anzuzeigen.

Um den Language Switcher in Aktion zu sehen, besuche HodgBlog, das persönliche, zweisprachige Blog der Autorin des Plugins. Klick auf den Spanisch-Link in der Sidebar oder unter einem Beitragstitel, und du solltest sehen können dass der meiste Text nun auf Spansich erscheint. (Anmerkung der Übersetzerin: Auch hier auf meinem Blog läuft das Plugin.)

Unglücklicherweise erfordert das Aufsetzen eines mehrsprachigen Blogs einiges an Arbeit. Es ist erforderlich, dass du alle Schritte die hier aufgeführt werden genaustens befolgst, damit dein Blog richtig funktioniert, und du solltest zumindest grundlegendes Wissen über WordPress und bestenfalls auch über HTML haben. Auch sind leider viele WordPress Themes und Plugins, die von anderen Autoren geschrieben wurden, nicht vollständig oder gar nicht für die Internationalisierung und die Einrichtung eines mehsprachigen Blogs mit dem Language Switcher vorbereitet. In diesem Artikel findest du Anleitungen wie du dies beheben kannst, aber dafür wird ein wenig PHP-Programmierung (oder eher PHP-Bearbeitung) nötig sein. Dazu solltest du also in der Lage sein! Die gute Nachricht ist, dass der WordPress Kern große Funktionsvielfalt besitzt, und dass der Language Switcher gut mit der Funktionsweise des WordPress Kerns zusammenarbeitet.

Beachte: Der Language Switcher übersetzt nicht von selber! Er ermöglicht nur die Anzeige von Text, den du selber eingegeben hast, lediglich in der vom Benutzer bevorzugten Sprache anzuzeigen. Es gibt andere Plugins mit denen man mehrsprachige Blogs erstellen kann, die eine andere Herangehensweise haben, darunter auch automatische Übersetzungen. Um andere Plugins zu finden, besuche den Plugin Artikel auf WordPress.org.

Da das Aufsetzen eines zwei- oder mehrsprachigen Blogs recht komplex ist, versteht sich diese Seite hauptsächlich als Tutarial darüber, wie du deinen Blog einstellen und bearbeiten musst, vom Anfang bis zum Ende. Inhalt:

Hinweis bezüglich der Terminologie für Windows- und Mac-Benutzer: Das Wort “Verzeichnis” in diesem Artikel entspricht der Bezeichnung “Ordner” — eine Speichereinheit im Computer, die Dateien enthält.


Blogsoftware installieren oder upgraden

WordPress installieren oder upgraden

Der erste Schritt zur Erstellung eines zwei- oder mehrsprachigen Blogs ist die Installation oder das Upgrade von WordPress. Der Language Switcher ist hauptsächlich kompatibel mit WordPress 2.1.2 und neueren Versionen. Dennoch haben die von WordPress veröffentlichten Versionen ein paar kleine Bugs oder Eigenheiten, die die Kompatibilität mit dem Language Switcher stören, deshalb befolge bitte die folgenden Anweisungen für die Installation von WordPress oder für das Updaten auf eine der neuesten Versionen. Wichtig: Wenn du später einmal deine WordPress Installation updaten willst, auf der du den Language Switcher benutzt, komme bitte erst erneut auf diese Seite und führe das Upgrade nach den Anweisungen auf dieser Seite durch.

  1. Lies die Anweisungen in der WordPress Installations-Anleitung (oder in der WordPress Upgrade-Anleitung, wenn du ein Upgrade von einer früheren Version durchführen möchtest). Aber — führe die Anweisungen noch nicht aus! Stattdessen führe die folgenden, leicht modifizierten Schritte durch.
  2. Lade die neueste Version von WordPress auf der WordPress Download-Seite herunter. Wichtig: Lade die Dateien nicht von einer anderen Seite herunter! Verwende insbesondere keine Version, die für eine andere Sprache bearbeitet wurde. Damit ein mehrsprachiges Blog funktioniert, musst du mit der englischsprachigen Standardversion von WordPress beginnen. Wenn du mit einer anderen Version anfängst wirst du eventuell auf Probleme stoßen, weil einigen anderssprachige WordPress Versionen modifizierte Dateien enthalten, die nicht mit der mehrsprachigen Funktion kompatibel sind.
  3. Entpacke die Dateien auf deinem Computer.
  4. Wenn du WordPress zum ersten Mal installierst, setze deinen MySQL Server wie in der Installations-Anleitung beschrieben auf. When du ein Upgrade durchführst, mach ein Backup deiner MySQL-Datenbank wie in der Upgrade-Anleitung beschrieben.
  5. Bearbeite die Konfigurationsdatei (wie in der Installations-Anleitung beschrieben — wenn du upgradest, kannst du die alte Konfigurationsdatei von deiner Seite kopieren).
  6. Wenn deine Konfigurationsdatei (wp-config.php) die folgende Zeile enthält, entferne die Zeile — sie scheint aus irgendwelchen Gründen nicht kompatibel mit dem Language Switcher zu sein:
    define('ENABLE_CACHE', true);
    Wenn du eine Sprache verwendest, die einen nicht-westlichen Zeichensatz hat (so wie Chinesisch oder Hebräisch), musst du außerdem eventuell die folgenden zwei Zeilen aus der Konfigurationsdatei entfernen, damit diese Zeichen angezeigt werden:
    define('DB_CHARSET', 'utf8');
    define('DB_COLLATE', '');
    Für weitere Informationen lies diese Seite im WordPress Support Forum. David, ein Chinesisch/Englisch Language Switcher User, schrieb dort dass bei ihm das Entfernen der Zeilen nichts brachte. Was funktionierte, war das Ändern der Zeilen, so dass sie zu dem passten was seine Datenbank aktuell verwendete, diese Angaben findest du in PHPMyAdmin. Der Zeichensatz wird auf der PHPMyAdmin Startseite angezeigt (meistens utf8), und die Kollation wird angezeigt wenn du eine Datenbank oder eine Tabelle auswählst. Wenn du eine funktionierende Datenbanktabelle hast, die die Zeichen deiner Sprache in PHPMyAdmin anzeigen kann, sollte es möglich sein die Einstellung für DB_COLLATE in der Datei wp-config.php von dort zu übertragen. Bei David funktionierte für Chinesisch/Englisch die Einstellung ‘utf8_unicode-ci’.
  7. Lade die Zip-Datei mit den WordPress-Modifikationen (falls vorhanden) passend zu deiner WordPress Version aus der Download-Abteilung weiter unten herunter und kopiere die enthaltenen Dateien an die richtigen Stellen (wie in der Datei README.txt, die in der Zip-Datei enthalten ist, angegeben).
  8. Wenn du upgradest, lösche die alten Dateien deiner Installation, wie in der Upgrade-Anleitung beschrieben.
  9. Wenn für deine WordPress-Version unten in der Download-Abteilung angegeben, folge auch der Datenbank-Modifikations-Anleitung weiter unten.
  10. Wenn du ein Upgrade durchführst, lösche die alten Dateien von deinem Server, wie in der Upgrade-Anleitung beschrieben.
  11. Lade alle WordPress Dateien auf deinen Server (siehe Installations-Anleitung für eine genaue Beschreibung wo die Dateien hin müssen).
  12. Führe die Datei install.php oder upgrade.php aus, um die Installation zu vervollständigen (wie in der Installations- / Upgrade-Anleitung beschrieben).

Installieren und Einstellen des Language Switcher Plugins

Der nächste Schritt zur Erstellung deines mehrsprachigen Blogs ist die Installation des Language Switcher Plugins. Lade es aus der Download-Abteilung weiter unten herunter, folge den Anweisungen zum installieren und aktivieren, und stelle es ein:

  1. Lade langswitch.php (die Plugin-Hauptdatei) nach wp_content/plugins in deiner WordPress-Installation hoch. Wenn du WordPress 2.6 oder höher verwendest und den Speicherort deines wp_content Verzeichnisses verändert hast, dann verwende stattdessen dein neues Verzeichnis für die folgenden Anweisungen.
  2. Lade die Flaggen-Icons (*.png) in dem Unterverzeichnis “langswitch_flags” nach wp-content/plugins in deiner WordPress-Installation hoch. Du kannst mehr Flaggen hinzufügen oder die vorhandenen Bilddateien austauschen, indem du deine eigenen Flaggen oder Bilder in dieses Verzeichnis lädst.
  3. Wenn du den Language Switcher lokalisieren willst so dass das Administrationsmenü in einer anderen Sprache als Englisch angezeigt wird, ebenso der Titel des Widgets für die Sprachenliste (wenn du Widgets benutzt), kannst du die Datei langswitch.pot verwenden und mit deiner bevorzugten Lokalisierungs-Software Language Switcher übersetzen. Lies dir die allgemeinen Anweisungen zum Übersetzen von Plugins und Themes weiter unten durch; deine Lokalisierungs-Datei muss “langswitch-ll.mo” heißen, wobei “ll” der ISO Code der Sprache ist, die du benutzen willst, und sie muss in das Unterverzeichnis “langswitch_flags”. Einige Lokalisationsdateien sind bereits in der Zip-Datei enthalten, aber es kann sein dass sie nicht vollständig oder komplett richtig sind (sie stammen von Benutzern des Plugins).
  4. Aktiviere das Plugin in deinem WordPress Administrationsmenü (logge dich ein, klick auf “Plugins” in der oberen Menüleiste, und aktiviere das Language Switcher Plugin, indem du auf den “Activate”-Link (Aktivieren) rechts neben dem Pluginnamen klickst). Wenn du ausführlichere Informationen über WordPress Plugins brauchst, bitte besuche die Seite Managing Plugins auf WordPress.org.
  5. Gib die Daten zu den Sprachen, die du in deinem Blog verwenden möchtest, auf der Seite Language Switcher Einstellungen ein.
    • Um zur richtigen Seite im Administrationsmenü zu gelangen, klick auf “Options” (Einstellungen) und dann auf “Language Switcher”.
    • Gib den zwei Buchstaben langen ISO Code für deine Hauptsprache (Die Sprache, die jemand der auf deine Seite kommt beim ersten Besuch sieht) oben im ersten Feld ein; eine Tabelle mit ISO Codes findest du auf dieser Wikipedia Seite (vergewissere dich, dass du die zwei Buchstaben langen Codes aus der ersten Spalte verwendest). Beachte: Wenn du keinen ISO Code für deine Sprache finden kannst, kannst du dir einen ausdenken. Der Language Switcher funktioniert, solange du auf der Einstellungsseite, beim eingeben von mehrsprachigem Text und für den Dateinamen der MO-Datei (siehe weiter unten) den gleichen zweistelligen Code verwendest.
    • In der darunterstehenden Tabelle gibst du alle Angaben über die Sprachen, die du in deinem Blog verwenden wirst, an, eine Sprache pro Zeile (inklusive der Standardsprache). Felder:
      • ISO Code: Der zweistellige ISO Code für die Sprache, zum Beispiel “en” für Englisch, und “es” für Spanisch (die Anführungszeichen nicht eingeben).
      • Language: Der Name der Sprache in der jeweiligen Srache. Für Englisch zum Beispiel gib “English” ein, für Spanisch “español” (ohne die Anführungszeichen).
      • Flag File: Der Name der Bilddatei für die Flagge, die du für die Sprache verwenden möchtest (aus dem Verzeichnis langswitch_flags im Plugin-Verzeichnis). Zum Beispiel könntest du für englisch “en.png” für die britische Flagge oder “us.png” für die US-amerikanische Flagge eintragen. Gib die Dateinamen ohne die Anführungszeichen und ohne den Verzeichnisnamen ein.
      • Time Format: Das Zeitformat, das du für die Zeitangaben in der jeweiligen Sprache verwenden möchtest, Standard-PHP-Zeitformat-Codes findest du in dieser PHP Dokumentation. Wenn du z.B. die Zeit im Format “3:15 PM” anzeigen möchtest, gibst du “g:i A” ein, um ein 24-Stunden-Format zu verwenden “G:i” (in beiden Fällen ohne die Anführungszeichen).
      • Date Format: Das Datumsformat, das du für die Datumsangaben in der jeweiligen Sprache verwenden willst, Standard-PHP-Datumsformat-Codes siehe oben. Um das Datum z.B. im Format “25 Dec. 2008″ anzuzeigen, gib “j M. Y” ein; um das Ergebnis “12/25/2008″ zu bekommen “m/d/Y”; und wenn der Tag vor dem Monat stehen soll “d/m/Y” (jeweils ohne die Anführungszeichen).
      • Text Missing Message: Nachricht, die auf dem Bildschirm angezeigt wird, wenn ein Artikel nicht in die ausgewählte Sprache übersetzt wurde.
    • Klick auf “Update Options” (Einstellungen aktualisieren) wenn du alle Sprachinformationen eingegeben hast.
    • Wenn du einige Daten ändern möchtest, gib die neuen Informationen in der Zeile mit dem ISO Code den du bearbeiten möchtest ein, und klick auf “Update Options” (Einstellungen aktualisieren).
    • Wenn du eine Sprache löschen möchtest, aktiviere die “Delete”-Checkbox (Löschen) in der entsprechenden Zeile und klick auf “Update Options” (Einstellungen aktualisieren).
    • Wenn du eine zusätzliche Sprache hinzufügen möchtest, gib die dazugehörigen Daten in die erste freie Zeile ein und klick auf “Update Options” (Einstellungen aktualisieren).
    • Wenn du mehr Sprachen eingeben möchtest als Zeilen vorhanden sind, gib so viele Sprachen wie möglich ein und klick auf “Update Options” (Einstellungen aktualisieren), dann erscheinen neue leere Zeilen. Wiederhole diesen Vorgang, bis du alle Sprachen eingegeben hast.

Themes und Plugins installieren

Ein Theme installieren

Der nächste Schritt beim Erstellen deines mehrsprachigen Blogs, außer wenn du das Standard-Wordpress-Theme verwendest, ist ein Theme zu finden und es zu installieren. Themes findest du im Wordress Theme Verzeichnis und auf vielen anderen Webseiten. Wichtig: Nimm wenn möglich ein internationalisiertes Theme. Wenn du kein internationalisiertes Theme findest dass dir gefällt, nimm ein englischsprachiges Theme. Ein nicht-englisches Theme zu internationalisieren ist wesentlich komplexer als ein englisches Theme zu internationalisieren, und du brauchst auf jeden Fall ein internationalisiertes Theme damit der Text des Themes mit dem Language Switcher umgeschaltet werden kann. Ein Theme installieren:

  1. Lade das Theme vom Themeverzeichnis oder wo immer du es gefunden hast herunter. Du erhältst höchstwahrscheinlich eine Zip-Datei.
  2. Entpacke die Themedateien und lade sie hoch in das Verzeichnis “themes”, welches sich in “wp-content” befindet (vorausgesetzt du hast nicht den Speicherort des content Verzeichnisses verändert, wenn du WordPress 2.6 oder höher verwendest).
  3. Geh zur WordPress Administrationsseite, klick auf “Presentation” (Themes), “Design” (Design) oder “Appearance” (hängt ab von deiner WordPress Version) und aktiviere dein neues Theme indem du es anklickst.

Andere Plugins installieren

Als nächstes kannst du weitere Plugins installieren; Plugins findest du in der WordPress Plugins Liste. Neben dem Language Switcher, den du bereits installiert haben solltest, ist es ratsam, alle Plugins die du später einmal verwenden möchtest nun zu installieren. Ein Plugin installieren:

  1. Lade das Plugin von der (im Pluginverzeichnis verlinkten) Plugin-Seite herunter. Du erhältst entweder eine Zip-Datei oder ein einzelnes PHP-File.
  2. Entpacke die Plugin-Dateien in deine lokale WordPress-Kopie in das “plugins”-Verzeichnis, du findest es unter “wp-content” (vorausgesetzt du hast nicht den Speicherort des content Verzeichnisses verändert, wenn du WordPress 2.6 oder höher verwendest). Befolge die Anweisungen des Plugins — manche Plugins haben Unterverzeichnisse, in denen sie in das Plugins-Verzeichnis kommen, manche müssen direkt in das Plugins-Verzeichnis kopiert weden.
  3. Geh ins WordPress Administrationsmenü, klick auf “Plugins” und aktiviere dein neues Plugin, indem du den “Activate”-Link (Aktivieren) in der Liste klickst.

Wenn du WordPress 2.3 oder höher benutzt und mehrsprachige Tags mit der eingebauten Tag-Funktion von WordPress für deine Beiträge setzen möchtest, empfehle ich das Plugin Advanced Tag Entry. Das eingebaute Feld für die Tags in WordPress 2.3 ist unzureichend für mehrsprachige Tags, weil man keine Tag-”Slugs” definieren kann (diese werden in Tag-URLs verwendet). Ab WordPress 2.5 gibt es allerdings eine Tag-Verwaltungsseite, auf der du Tags mit Slugs einstellen kannst.


Language Switcher Funktionen zum Theme hinzufügen

Der nächste Schritt auf dem Weg zu deinem mehrsprachigen Blog ist die Bearbeitung deines Themes, so dass die Besucher verschiedene Sprachen auswählen können. Es gibt zwei Möglichkeiten, die man ins Theme einbauen kann.

Liste aller verfügbaren Sprachen

Um eine klickbare Liste aller verfügbaren Sprachen in der Sidebar deines Blogs anzuzeigen, verwende die Funktion “langswitch_list_langs”. Willst du zum Beispiel die Sprachen nach Namen sortiert anzeigen, baue folgendes in die Datei sidebar.php deines Themes ein:

<li><h2><?php _e('Language');?></h2>
<ul>
<?php if(function_exists('langswitch_list_langs')){
langswitch_list_langs(false, true, 'li');
}?>
</ul>
</li>

Die Variablen dieser Funktion:

  • Use Flags: true oder false (true bedeutet Flaggen verwenden, um Sprachen anzuzeigen)
  • Use Text: true oder false (true bedeutet Sprachnamen anzeigen)
  • HTML Tag: (Nur Language Switcher 1.10 und spätere Versionen) HTML Tag, der jede Flagge / jeden Sprachnamen umschließt — mit Hochkommata umschließen. Standard ist ‘li’ zur Verwendung von <li> Tags (Listenelemente). Alternativen wären z.B. ‘p’ für Absatz Tags, ‘h3′ für Level3 Überschriften usw. Wenn du sie gar nicht in HTML Tags haben möchtest, versuche es mit ‘span’, da dies ein einigermaßen neutraler Tag ist. Beachte dass diese Einstellung allerdings in keinem Fall den einleitenden <ul> Tag einschließt!

Wenn du also Flaggen verwenden willst, jedoch keinen Text anzeigen, wähle (true, false), wenn du beides anzeigen möchtest (true, true). BEACHTE: Wenn du von Polyglot auf den Language Switcher umsteigst, füge einfach die o.a. Zeilen in dein Template ein. Wegen dem Codeteil der überprüft ob die Funktion vorhanden ist wird so lange, wie du nur Polyglot oder Language Switcher (nicht beide) aktiviert hast, nur eines der beiden Plugins die Sprachen auflisten.

Alternativ kannst du, wenn du WordPress 2.2 oder höher verwendest und die eingebauten Widgets mit deinem Theme benutzt, die Sidebar-Liste mit einem dafür bereitgestellten Widget einbauen. Die Einstellungen für das Widget (verfügbar nachdem du die Box in die Sidebar gezogen hast) ermöglichen dir das Anzeigen von Flaggen, Sprachnamen oder beidem, indem du einfach Checkboxen anklickst. In diesem Fall wird immer ‘li’ als HTML Tag verwendet, aber du kannst natürlich die Liste mit dem Stylesheet deines Themes anpassen.

Beachte auch dass diese Liste von Sprachen (oder Flaggen) ebenfalls im Header, Footer oder wo immer du sie haben möchtest platziert werden kann. Setz die Funktion einfach da hin, wo die Liste erscheinen soll.

Eine letzte Anmerkung: Auch wenn du <li>-Tags verwendest, kannst du das Aussehen deiner Sprachenliste in der Datei style.css deines Themes anpassen. Außerdem verwenden die meisten Themes Listen mit Menüpunkten in der Sidebar — das ist ein WordPress Standard.

Liste der anderen Sprachen für einen Beitrag / eine Seite

Um eine klickbare Liste aller verfügbaren Sprachen für einen Blogeintrag oder eine Seite anzuzeigen (ausgenommen die Sprache, die aktuell angezeigt wird), benutze die Funktion “langswitch_post_other_langs”. Am besten passt dies zwischen dem Titel und dem Inhalt deines Beitrags / deiner Seite. Du solltest die Funktion in allen Themedateien einbauen, die Beiträge/Seiten anzeigen, in denen die Sprachlinks erscheinen sollen (z.B. index.php, single.php, etc. — siehe diesen Artikel über die Hierarchie der Template Dateien um mehr darüber zu erfahren, welche Theme-Dateien verwendet werden, um deinen Blog anzuzeigen). Um zum Beispiel eine UL-Liste der Sprachen anzuzeigen, in der die Sprachnamen und keine Flaggen verwendet werden um die Sprachen darzustellen, verwendest du folgenden Code:

<?php if(function_exists('langswitch_post_other_langs')){
langswitch_post_other_langs(false, true, ' ','<ul>', '</ul>', '<li>', '</li>');
}?>

Die Variablen dieser Funktion:

  • Use Flags: true oder false (true bedeutet Flaggen verwenden, um Sprachen anzuzeigen)
  • Use Text: true oder false (true bedeutet Sprachnamen anzeigen)
  • “None” Text: Text, der angezeigt wird, wenn keine Sprachen zum auflisten vorhanden sind (in Anführungszeichen oder Hochkommata setzen)
  • Pre-List Text: Text, der vor der Liste der Sprachen ausgegeben werden soll (in Anführungszeichen oder Hochkommata setzen)
  • Post-List Text: Text, der hinter der Liste der Sprachen ausgegeben werden soll (in Anführungszeichen oder Hochkommata setzen)
  • Pre-Item Text: Text, der vor jeder Sprache ausgegeben werden soll (in Anführungszeichen oder Hochkommata setzen)
  • Post-Item Text: Text, der hinter jeder Sprache ausgegeben werden soll (in Anführungszeichen oder Hochkommata setzen)

Willst du Flaggen, aber keine Sprachnamen anzeigen, ändere die true/false Angaben in den o.a. Codezeilen entsprechend, und falls du keine Liste der Sprachen sondern einfach die verschiedenen Sprachen nebeneinander anzeigen möchtest, ersetze die UL und LI Tags mit Leerzeichen. Du kannst auch Namen und Flaggen verwenden, indem du die beiden ersten Variablen auf true setzt.

Beachte: Wenn du von Polyglot auf den Language Switcher umsteigst, füge einfach die o.a. Zeilen in dein Template ein. Wegen dem Codeteil der überprüft ob die Funktion vorhanden ist wird so lange, wie du nur Polyglot oder Language Switcher (nicht beide) aktiviert hast, nur eines der beiden Plugins die Sprachen auflisten.


Plugins und Themes für Language Switcher bearbeiten

Unglücklicherweise funktionieren nicht alle Plugins und Themes gut mit dem Language Switcher. Im folgenden Abschnitt werden ein paar geläufige Handgriffe erklärt, mit denen man sie so bearbeiten kann, dass sie besser in einem mehrsprachigen Blog funktionieren.

Language Meta Tags for Themes

Eventuell möchtest du Sprachen-”Meta”-Tags in den HTML-Header deines Themes schreiben. Damit die Sprachtags jedem Blogbesucher die aktuell angezeigte Sprache ausgeben, verwende die folgenden Zeilen (ersetze damit etwaige bereits vorhandene Sprachtags deines Themes):

<meta name="language" content="<?php echo(get_locale()); ?>" />

<meta http-equiv="content-language" content="<?php echo(get_locale()); ?>" />

Internationalisierung von Plugins und Themes mit Gettext

Damit deine Plugins und dein Theme richtig in einem mehrsprachigen Blog funktionieren, musst du sie internationalisieren. Viele Plugins und Themes sind bereits internationalisiert (eingeschlossen der Language Switcher und alle anderen Plugins, die du auf dieser Seite [Poplarware, Anm. der Übers.] herunterladen kannst). Dennoch sind nicht alle Plugins und Themes internationalisiert, und in diesem Abschnitt wird erklärt wie man sie internationalisieren kann. Es ist also möglich dass deine Plugins und dein Theme bereits internationalisiert sind, und wenn dies der Fall ist, kannst du diesen Abschnitt überspringen. Wenn du dir nicht sicher bist, versuche einfach den Abschnitt zu überspringen, und wenn du dann doch feststellst dass etwas nicht richtig funktioniert, kannst du hierher zurückkehren und den Abschnitt befolgen. Besuche die Seite WordPress übersetzen für weitere Informationen über die Internationalisierung mit “gettext”, welches die Internationalisierungs-Methode ist, die WordPress verwendet. Eventuell möchtest du auch den Abschnitt über die Internationalisierung im Plugin-Artikel lesen; bei Themes funktioniert es genauso.

Dein Ziel ist es, den gesamten Text und alle Begriffe, die dein Theme und deine Plugins ausgeben, in der Sprache anzuzeigen, die der Blog-Besucher auswählt. Damit dies möglich ist (vorausgesetzt dass du Sprachdateien installiert und alle Begriffe übersetzt hast; siehe Abschnitt Übersetzung), musst du alle Textausgaben in Theme und Plugins mit einer der beiden WordPress-”gettext”-Funktionen umschließen: “_e” und “__” (zwei Unterstriche). Beachte: Das kannst du auch wenn du kein PHP-Programmierer bist! Es ist wirklich nur einfaches ersetzen von Textteilen, die bereits in deinen Plugins und im Theme vorhanden sind. Mach aber vorsichtshalber trotzdem eine Sicherungskopie deiner Dateien bevor du beginnst. Beachte auch, dass der Text innerhalb der Funktionen “_e” und “__” in Englisch sein muss.

Die “_e”-Funktion wird für Text verwendet, der vorher nicht in einer PHP-Funktion stand. Um z.B. die Überschrift “Kategorien” in deiner Sidebar zu bearbeiten, musst du die entsprechende Stelle in deiner sidebar.php hiervon:

<h2>Categories</h2>

in folgendes umändern:

<h2><?php _e("Categories", "text_domain"); ?></h2>

Beachte dass du, um die “_e”-Funktion zu verwenden, zunächst auf PHP “umschalten” musst, was die Tags <?php und ?> bewirken, und dass innerhalb dieser Funktion der Text in Englisch sein und in Anführungszeichen oder Hochkommata stehen muss. Technisch gesehen gibt die “_e”-Funktion den Text (nachdem er übersetzt wurde) im Browser aus.

Beachte auch, dass du hinter dem Text der internationalisiert werden soll, einen “Textdomain”-Namen angeben musst. Du musst dir einen Namen überlegen und dann dafür sorgen, dass die Textdomain korrekt von WordPress geladen wird. Wenn du zum Beispiel für dein Theme den Textdomain-Namen “mytheme” auswählst, musst du die folgenden Zeilen am Anfang der Datei functions.php deines Themes eingeben (wenn keine functions.php vorhanden ist, musst du eine erstellen):

<?php
load_theme_textdomain('mytheme');
?>

Beachte: Die obenstehenden Zeilen sollten direkt am Anfang deiner functions.php stehen, vor allen anderen <?php Tags die eventuell in der functions.php vorhanden sind, wenn die Datei bereits existierte! Oder du kannst es ganz am Ende der Datei platzieren, nach dem abschließenden ?> dass wahrscheinlich am Ende dieser Datei steht.

Für ein Plugin musst du die folgenden Zeilen irgendwo in der Plugin-Hauptdatei einbauen, angenommen alle Plugin-Funktionen beginnen mit der Präfix “abc_plugin” und der Textdomain-Name den du verwenden willst ist “abc_text_domain”:

add_action('init', 'abc_plugin_init' );
function abc_plugin_init() {
load_plugin_textdomain( 'abc_text_domain' );
}

Die “__”-Funktion verwendet man für Text, der bereits in einer PHP-Funktion steht (technisch gesehen gibt diese Funktion den Text einfach an die bereits vorhandene Funktion zurück, statt ihn auszugeben). Wenn du z.B. den “more”-Text bearbeiten willst, der auf dem Bildschirm erscheint um den Link zum vollständigen Beitrag auszugeben, ändere in deiner index.php folgendes von:

<h2><?php the_content('Read more...'); ?></h2>

in:

<h2><?php the_content(__('Read more...', "text_domain")); ?></h2>

Im Grunde ersetzt du also nur

'( Read more...)'

(was dann mit der PHP-Funktion the_content das Wort “more” und drei Punkte auf dem Bildschirm ausgibt) mit

__( 'Read more...', "text_domain" )

(wodurch es übersetzt wird, bevor es ausgegeben wird).

Zusammengefasst musst du also die “__( )”-Funktion um sämtlichen Text (in Englisch) in Anführungszeichen oder Hochkommata setzen, der ausgegeben werden könnte und in einer PHP-Funktion steht. Und bei Text, der noch nicht in einer PHP-Funktion steht, musst du auf PHP umschalten und die “_e( )”-Funktion sowie Anführungszeichen oder Hochkommata um den Text (in Englisch) setzen. Siehe auch Testen und Problembehebung für einige Vorschläge wie du herausfindest, welchen Text du tatsächlich bearbeiten musst.

Ausgaben von Plugins und Themes filtern

Manchmal wirst du feststellen, dass ein Theme oder Plugin, welches du verwenden möchtest, Daten ausgibt wie etwa Beitragstitel oder Kategorienamen, die du mit Sprachtags versehen hast (oder die du noch mit Sprachtags versehen möchtest) — aber das Theme oder Plugin “filtert” die Informationen nicht (siehe Abschnitt Übersetzung). So bekommst du mehrere Sprachen angezeigt und auch die Sprachtags werden ausgegeben. Wenn dies der Fall ist, kannst du das Problem beheben, indem du den PHP-Code des Theme oder Plugin modifizierst. Hier die erforderlichen Schritte:

  1. Finde heraus, an welcher Stelle das Plugin/Theme die Informationen ausgibt. Zum Beispiel könnte in einem Widget eine ähnliche Zeile wie die folgende stehen, dort wo der Titel des Widgets ausgegeben wird:

    echo $before_title . $title . $after_title;

    Eine andere Möglichkeit ist etwas in dieser Art dort, wo ein Beitragstitel ausgegeben wird:

    echo '<li><a href="' . $external->post_content . '">' .
    $external->post_title . '</a></li>';

  2. Wenn du die betreffende Stelle gefunden hast, musst du eine “Filter”-Funktion um den Text herum setzen. In den beiden genannten Beispielen würdest du den Code aus deinem Plugin/Theme mit folgendem ersetzen:

    echo $before_title .
    apply_filters( 'the_title', $title ) . $after_title;

    und:

    echo '<li><a href="' . $external->post_content . '">' .
    apply_filters( 'the_title', $external->post_title )
    . '</a></li>';

  3. Die obenstehenden Ersatzangaben sind beide vom Typ “Titel”. Das Language Switcher Plugin wendet exakt die gleichen Filter auf Beitragstitel, Kategorien, Beitragsinhalt, Blogrolleinträge usw. an. Daher werden die obenstehenden Modifikationen bei jeder Art von Information funktionieren. Allerdings kann es vorkommen, dass bei einigen anderen Plugins ebenfalls spezielle Filter auf die Information für den Beitragstitel angewendet werden. Dann kannst du aber auch andere Filter außer ‘the_title’ verwenden, zum Beispiel ‘the_content’ (Beitragsinhalt), ‘comment_text’ (Kommentare), ‘the_category’ (Kategorienamen), ‘link_title’ (Namen von Blogroll-Links) und ‘link_description’ (Beschreibung von Blogroll-Links). Den Language Switcher stört das nicht, aber wenn du Probleme mit Störungen bei andern Plugins hast, kannst du einen der anderen Filter ausprobieren.

Zeit und Datum in Themes

Der Language Switcher überschreibt die WordPress Theme-Funktionen the_time() und the_date(), damit die Zeit/Datumsformate verwendet werden, die du auf der Einstellungen-Seite angegeben hast. Um andere Zeit/Datumsformate in deinem Theme zu verwenden (wie etwa nur den Monat und das Jahr oder nur das Jahr), musst du daher herausfinden wo in deinem Theme diese Formate ausgegeben werden und dort the_time( Irgendetwas ) oder the_date( Irgendetwas ) ersetzen mit

echo get_the_time( Irgendetwas )

Achte darauf, dass du das “Irgendetwas” innerhalb der Klammern der Funktion nicht veränderst!

Solltest du immernoch Probleme mit Daten und Zeiten haben wenn du den Language Switcher verwendest, stelle sicher dass du die obenstehenden Anweisungen befolgt hast, und wenn die Probleme weiterhin auftreten, kontaktiere die Plugin-Autorin und beschreibe dein Problem.

Weitere Sektionen deines Themes für Language Switcher bearbeiten

In einigen Themes gibt es Sektionen in Header, Footer oder Sidebar, in denen die Sprache umschalten soll, deren Inhalt aber nicht von der Datenbank kommt. Zum Beispiel könnte dies ein Banner, eine Navigation oder sonstiges HTML sein, das je nach Sprache unterschiedlichen Inhalt ausgeben soll. Hier ein Beispiel, wie das funktioniert — du kannst es bearbeiten für so viele Sprachen, wie du benötigst:

<?php
global $langswitch_lang_pref;
if( $langswitch_lang_pref == 'en' ) {
?>
(HTML für Englisch hier einsetzen)
<?php
} else if( $langswitch_lang_pref == 'es' ) {
?>
(HTML für Spanisch hier einsetzen)
<?php
} else if( $langswitch_lang_pref == 'it' ) {
?>
(HTML für Italienisch hier einsetzen)
<?php
}
?>


WordPress, Plugins, Themes und Content übersetzen

Es gibt zwei Arten von Text in WordPress: Text, der in der Datenbank gespeichert wird (Beiträge, Kategorien, Einstellungen usw.) und “statischen” Text (Text, der direkt in verschiedenen PHP-Dateien von WordPress, deinem Theme und Plugins eingegeben ist). Für diese Arten von Text gibt es zwei verschiedene Methoden, um sie mit dem Language Switcher zu übersetzen.

Text in der Datenbank übersetzen

Der meiste Text, der in der Datenbank gespeichert ist, wird “gefiltert”, bevor er deinen Besuchern angezeigt wird. Plugins wie der Language Switcher können Filter definieren, die im Grunde PHP-Funktionen sind, und WordPress schickt den Text durch die Filter-Funktionen bevor es ihn an den Browser des Betrachters sendet. Der Language Switcher hat Filter definiert für Beitrags- und Seiteninhalt, Kategorien und Tags, Blogroll Link-Beschreibung und Titel, und für den Blogtitel und die Beschreibung.

Die Filter des Language Switcher nehmen mehrsprachigen Text der mit speziellen Sprachtags umgeben wurde, erkennen welche Sprache der Blogbesucher sehen möchte, und geben den Text nur in der gewünschten Sprache wieder. Hier ein Beispiel, wie man mehrsprachigen Text eingibt:

[lang_en]This is the post text in English.[/lang_en]
[lang_es]Esto es el texto del artículo en español.[/lang_es]
[lang_all]Dieser Text soll in allen Sprachen angezeigt werden.[/lang_all]
Dieser Text ist nicht in Sprachtags gefasst und wird ebenfalls in allen Sprachen angezeigt.

Ein paar Hinweise:

  • In diesem Beispiel sind “en” und “es” die Sprachcodes für Englisch und Spanisch. Vergewissere dich, dass die Sprachtags mit den Einstellungen der Sprachcodes, die du beim einrichten eingegeben hast, übereinstimmen.
  • Du kannst diese speziellen Sprachtags in deinen Beiträgen, Seiten, Beitrags- und Seitentiteln, Kategorien und Tags, in der Blogroll (Link-Titel und -Beschreibungen), im Blogtitel und in der Blogbeschreibung verwenden. Blogbesucher können sie ebenfalls in den Kommentaren verwenden (wenn sie sie kennen). Wenn du WordPress 2.5 oder höher verwendest und die zusätzlichen Fixes aus dem Download weiter unten installiert hast, kannst du auch Sprachtags in die Titel deiner Sidebar Widgets einfügen, bei Widgets die WordPress bereits mitbringt und ebenfalls in das Textfeld bei Textwidgets.
  • Wenn du WordPress 2.3 oder höher verwendest und mehrsprachige Tags zu deinen Beiträgen hinzufügen willst, empfehle ich dir das Plugin Advanced Tag Entry. Das eingebaute Feld für die Tags in WordPress 2.3 ist unzureichend für mehrsprachige Tags, weil man keine Tag-”Slugs” definieren kann (diese werden in Tag-URLs verwendet). Ab WordPress 2.5 gibt es allerdings einen Einstellungsbereich für Tags, in dem du die “Slugs” einstellen kannst.
  • Für Abwärtskompatibilität mit Polyglot und anderen Plugin kannst du eine alternative Form der Sprachtags verwenden, mit <lang_en> anstelle von [lang_en] (usw.), aber dies verursacht häufig Probleme, insbesondere bei Verwendung des visuellen WordPress Editors (WYSIWYG-Editor).
  • Du kannst bestimmte Textteile in allen Sprachen anzeigen lassen, indem du den Text in [lang_all] Tags setzt oder ihn wie oben gezeigt ohne Sprachtags stehen lässt.
  • Wenn du den speziellen WordPress <–more–> Tag verwendest um Seitenabschnitte zu erzeugen, vergewissere dich dass du Text für alle Sprachen über diesen Tag setzt, weil das Abtrennen des Abschnitts erfolgt, bevor WordPress deinen Beitrag mit dem Language Switcher filtert, um die angezeigte Sprache auszuwählen.
  • Wenn du in deiner Permalinkstruktur die Titelform verwendest, kannst du diese manuell bearbeiten, wenn du einen Beitrag verfasst. Du findest die Titelform auf der rechten Seite des Schreiben- / Bearbeiten-Bildschirms (klicke auf das “+” um es zu öffnen).
  • Wenn du von Polyglot auf Language Switcher umsteigst, bleibt alles beim alten. Du musst deine Beiträge, Kategorien etc. nicht erneut bearbeiten, damit Language Switcher funktioniert.

Statischen Text übersetzen

Wie oben im Abschnitt Plugins und Themes für Language Switcher bearbeiten erwähnt, wird statischer Text in Plugins, WordPress und Themes internationalisiert, indem man “gettext” verwendet. Die Grundidee ist, dass jedes Mal wenn WordPress, dein Theme oder ein Plugin Text ausgibt (vorausgesetzt dieser Text ist in eine gettext-Funktion eingebunden), dieser Text durch einen Übersetzer gefiltert wird, der im Grunde den Textteil in einer Sprachdatei nachschlägt und ihn dann in der richtigen Sprache ausgibt. Ohne Language Switcher kannst du in WordPress eine einzelne Sprache in der Konfigurationsdatei festlegen, und die eingebauten Blogkomponenten und Menüs escheinen in dieser Sprache (siehe WordPress in deiner Sprache für weiteführende Informationen).

Das Language Switcher Plugin erweitert diese Basisfunktion, indem es den Blogbesucher wählen lässt, in welche Sprache der statische Text auf deinem Blog übesetzt werden soll. Wenn du also deine Themes und Plugins erstmal internationalisiert hast, musst du sie in die Sprachen übersetzen, die du auf deinem Blog verwendest (abgesehen von Englisch, welches der Standard ist). Hier die notwendigen Schritte zum Übersetzen deiner Themes, Plugins, deines Inhalts und von WordPress:

  1. Notiere die Sprachcodes die du für die verschiedenen Sprachen in deinem Blog auf der Einstellungsseite des Language Switcher eingegeben hast.
  2. Um den WordPress-Kern zu übersetzen, lade WordPress-Sprachdateien herunter für alle Sprachen die du auf deinem Blog verwenden willst außer Englisch, oder erstelle welche. Du brauchst Dateien wie es_ES.po und es_ES.mo (ersetze “es” mit dem zwei Buchstaben langen Code der gewünschten Sprache und “ES” mit dem dazugehörigen Ländercode; es funktioniert auch ohne Ländercode im Stil es.po und es.mo). Du findest die Sprachdateien an verschiedenen Stellen:
    • Besuche WordPress in deiner Sprache, finde deine Sprache, und wenn du Glück hast sind die beiden Dateien die du brauchst im Download für diese Sprache vorhanden, oder aber auf einer dort verlinkten Seite. Stelle sicher dass die heruntergeladenen Dateien für die WordPress Version die du nutzt vorgesehen sind.
    • Auf der SeiteWordPress Localization gibt es ebenfalls ein paar Sprachdateien.
    • Auch auf der WordPress Language Repository gibt es ein paar Dateien — finde auf dieser Seite deine Sprache / dein Land, klick auf “trunk” und dann “messages”, und wenn du Glück hast, wirst du sie dort finden.
    • Wenn es erforderlich ist, kannst du auch ganz von vorn anfangen — eine Anleitung dazu findest du auf der Seite WordPress übersetzen.
  3. Starte ein Übersetzungsprogramm deiner Wahl, um deine Themes und Plugins zu übersetzen. (Ich empfehle poEdit, wenn du ein Windows-Benutzer bist.)
    • Wenn du ein Plugin oder Theme heruntergeladen hast, das bereits internationalisiert ist und eine POT Datei beinhaltet, lade die POT Datei in dein Übersetzungsprogramm um PO und MO Dateien für die von dir gewählten Sprachen zu erstellen.
    • Wenn du deine Plugins oder dein Theme selber internationalisiert hast, musst du eine neue PO/MO-Datei erstellen. Dazu verwende dein Übersetzungsprogramm um eine neue PO-Datei zu erstellen, verweise damit auf das Themeverzeichnis, Pluginverzeichnis oder die Plugin-Datei, und weise das Programm an sich selbstständig zu aktualisieren (“Update from sources” (Aus Quelltexten aktualisieren) im Menü “Catalog” (Katalog) in poEdit). Das Übersetzungspogramm sollte nun das Plugin oder Theme, das du übersetzen willst, nach zu übersetzendem Text durchsuchen. Beachte: Jedes Mal wenn du ein Theme oder Plugin bearbeitest, musst du diesen Schritt erneut durchführen, daher rate ich dir alle Modifikationen wie oben angegeben durchzuführen, bevor du mit der Übersetzung beginnst.
    • Übersetze alle Begriffe die dein Übersetzungsprogramm findet und speichere die PO- und MO-Dateien. (Wenn du poEdit benutzt, vergewissere dich dass du die Option “Automatically compile MO file on save” (Erstelle .mo-Datei beim Speichern) in der Registerkarte “Editor” in den Einstellungen im Menü “File” (Datei) aktiviert hast, und speichere dann deine Datei ab. So erstellst du gleichzeitig PO und MO Datei.)
  4. Lade die neue Haupt-Sprachdatei in das Verzeichnis “languages” in “wp-includes” hoch (oder in “wp_content”, wenn du WordPress 2.2 oder höher verwendest). Du musst sie ohne den Ländercode speichern, z.B. “es.mo” anstelle von “es_ES.mo”. Beachte: Die PO Datei/en musst du nicht hochladen, aber speichere sie in deiner lokalen Kopie ab.
  5. Wenn du Plugins oder dein Theme internationalisiert hast, lade die MO-Datei(en) an die entsprechenden Stellen hoch. Für Themes gehört die MO-Datei in das Theme-Verzeichnis, neben index.php, style.css, und allen anderen Themedateien; sie muss ll.mo heißen, wobei ll der Sprachcode ist. Für Plugins musst du anhand der Anweisungen des Plugin-Autors herausfinden, wo die MO-Datei hinkommt. Wenn du die Internationalisierung selber gemacht hast, kopiere die MO-Datei ins Verzeichnis wp-content/plugins, und benenne sie “domain-ll.mo” (ohne die Anführungszeichen), wobei “domain” die Textdomain des Plugins ist und ll der Sprachcode. Noch einmal, du musst den Ländercode aus dem Dateinamen der MO-Dateien entfernen.

Testen und Problembehebung

Hast du die obigen Schritte einmal durchgeführt, solltest du einiges testen, bevor du deinen Blog der Öffentlichkeit zugänglich machst. Folgende Schritte empfehle ich dir:

  1. Lösche die Beispielartikel, -kategorien, -kommentare und die Blogroll-Links, die bei der Installation von WordPress angelegt werden.
  2. Erstelle ein oder zwei mehrsprachige Beiträge inklusive Titel mit Sprachtags wie im Abschnitt Übersetzung beschrieben. Erstelle außerdem eine mehrsprachige Kategorie für die Beiträge und eine weitere für Links, und füge einen mehrsprachigen Link zu deiner Blogroll hinzu. Füge auch einen mehrsprachigen Tag hinzu.
  3. Rufe deinen Blog auf. Vergewissere dich dass alles in deiner Hauptsprache angezeigt wird.
  4. Klick auf einen Sprachlink oder eine Flagge, um zu einer anderen Sprache zu wechseln, und vergewissere dich dass alles in dieser Sprache angezeigt wird. Stelle außerdem sicher dass, wenn du auf einen Link klickst, die Sprache beibehalten wird (du musst Cookies erlauben, damit die Sprache auch dann gespeichert wird, wenn du den Browser schließt).
  5. Wiederhole die beiden letzten Schritte auf einer Archivseite einer Kategorie, einer Archivseite für ein Datum/einen Monat, einer Seite mit Suchergebnissen und einem einzelnen Beitrag.
  6. Wiederhole die letzten drei Schritte für jede Sprache, die du in deinem Blog verwendest.
  7. Du kannst auch sicherstellen, dass der WordPress Administrationsbereich in der jeweils gewählten Sprache angezeigt wird. Mit WordPress 2.5 und höher sowie Language Switcher 1.16 oder höher kannst du die Sprache ändern, indem du einen Sprachenlink auf der rechten Seite im Header des Administrationsbereiches klickst.
  8. Wenn du Textphrasen entdeckst, die nicht in der richtigen Sprache erscheinen, hier ein paar Ratschläge wie du die Fehler beheben kannst:
    • Wenn der Text der nicht richtig angezeigt wird von dir in die Datenbank eingegeben wurde (Artikel, Titel, Blogroll, Kategorien usw.), überprüfe ob du die Sprachtags richtig verwendest.
    • Wenn sich der gesamte statische Text nicht ändert, fehlt eventuell eine MO-Datei, hat den falschen Namen oder ist an der falschen Stelle abgelegt. Oder es könnte dieser Fehler in der “gettext”-Funktionalität von WordPress sein, der damit zusammenhängt, ob deine Website auf einem 64-Bit Prozessor läuft oder auf einem 32-Bit Prozessor. (Auf der verlinkten Seite wird erklärt, wie man dieses Problem behebt.)
    • Wenn einige der Begriffe sich ändern und andere nicht, musst du eventuell weitere Plugins internationalisieren oder filtern, oder mehr Begriffe übersetzen. Siehe Plugins und Themes bearbeiten oder Übersetzung weiter oben für mehr Informationen.
    • Wenn du feststellst dass einige Dinge “stur” in einer Sprache bleiben (also dass beim wechseln der Sprache trotzdem Links weiterhin zu Artikeln in der vorherigen Sprache weisen), hast du eventuell ein “Cache”-Problem, wobei WordPress einen Teil des Output beibehält und wiederverwendet, statt ihn beim Wechseln der Sprache zu ändern. Überprüfe, ob du folgende Zeile in deiner wp-config.php-Datei hast, und wenn ja, entferne sie:
      define('ENABLE_CACHE', true);
    • Wenn der Text, der nicht in der richtigen Sprache angezeigt wird, Teil des WordPress Administrationsbereiches ist, musst du eventuell Übersetzungen zu den WordPress Haupt-Sprachdateien hinzufügen, oder die Namen der WordPress Haupt-Sprachdateien ändern. Wenn der gesamte Text im Administrationsbereich beim wechseln in eine nicht-englische Sprache nicht übersetzt wird, fehlt vielleicht die entsprechende Sprachdatei oder hat den falschen Namen. Sie muss ll.mo heißen, wobei ll der zweibuchstabige Sprachcode ist, und sie muss im Verzeichnis wp-content/languages deiner WordPress Installation abgelegt sein (wp-includes/languages funktioniert eventuell ebenfalls). Siehe Übersetzen weiter oben für mehr Informationen. Beachte dass der Administrationsbereich zur selben Sprache wechseln sollte wie die letzte Sprache, die du auf dem Blog zum anzeigen ausgewählt hast. In WordPress 2.5 oder höher mit Language Switcher 1.16 oder höher kannst du die Sprache ändern, indem du einen Sprachenlink auf der rechten Seite im Header des Administrationsbereiches klickst.

Häufig gestellte Fragen (und Antworten)

1. Wie kann ich andere Flaggenbilder verwenden?
Lade die Bilddateien die du verwenden möchtest in das Unterverzeichnis “langswitch_flags” in wp-content/plugins deiner WordPress-Installtion. Ändere dann in den Language Switcher Einstellungen die Angaben für die verwendeten Flaggen für deine Sprachen.

2. Ich überlege, ein bereits existierendes Blog mehrsprachig zu machen. Kann ich die Übersetzung meiner alten Beiträge vorbereiten, bevor ich das Plugin aktiviere?
Ich würde empfehlen dass du den Language Switcher installierst und aktivierst, und dann die Übersetzungen deiner Artikel nachträgst sobald du Zeit hast. Language Switcher funktioniert super auch mit Beiträgen die keine Sprachtags haben — sie werden einfach genauso angezeigt wie vor der Installation und Aktivierung von Language Switcher. Die Alernative wäre, die Artikel offline in Textdateien zu übersetzen, und wenn du damit fertig bist den Language Switcher zu aktivieren und alle Übersetzungen einzufügen. Aber das würde eine Verzögerung bedeuten, solange du die alten Beiträge bearbeitest kannst du ja keine neuen, mehrsprachigen schreiben. Alternativ kannst du etwas wie das folgende in allen Sprachen auf deinem Blog vorbereiten:

[lang_en]I'm working on translating my past posts. For now, this post is only available in English.[/lang_en]
[lang_es]Estoy traduciendo blah blah blah [/lang_es] [lang_it]...[/lang_it]

Wenn du etwas in dieser Art in all deine alten Artikel einsetzt, können Blogbesucher in ihrer Sprache lesen was vor sich geht, gefolgt vom nicht übersetzten Text des Beitrags. Du solltest allerdings vermeiden den Language Switcher auszuschalten, dabei aber Beiträge mit Sprachtags darin zu haben. Das würde nicht sonderlich gut aussehen!

3. Ich habe bereits sehr viele Artikel in meinem Blog, und es würde sehr lange dauern, Tags oder den obigen Text in all meine Artikel zu setzen. Gibt es einen Weg, dies automatisch zu erledigen?
Ja, du kannst mit PHPMyAdmin eine Datenbankabfrage ausführen. So geht’s:

  1. Logge dich in PHPMyAdmin ein, und wähle die Datenbank deines Blogs aus.
  2. Mach ein Backup deiner Datenbank! Wenn deine Abfrage nicht funktioniert, kannst du so deine Datenbank wiederherstellen.
  3. Ermittle den Namen deiner “posts”-Tabelle. Meistens ist das etwas wie “wp_posts”, allerdings hast du vielleicht eine andere Präfix in deiner Tabelle.
  4. Klicke auf den Tab/Link “SQL”.
  5. Gib die folgende Abfrage ein:
    UPDATE wp_posts SET post_content=CONCAT( "VOR_TEXT", CONCAT( post_content, "NACH_TEXT" ))
    WHERE post_type='post'
    Ersetze wp_posts mit dem richtigen Namen der post-Tabelle deiner Datenbank, falls sie nicht wp_posts heißt. Außerdem musst du VOR_TEXT und NACH_TEXT ersetzen mit dem Text, den du zu jedem Beitrag hinzufügen willst. Zum Beispiel könntest du “[lang_en]” als Vor Text einsetzen und “[/lang_en]” als Nach Text, damit all deine Beiträge als Englisch markiert sind.
  6. Sende die Abfrage ab.
  7. Du kannst diese Abfrage wiederholen mit post_title anstelle von post_content, um die Titel mit der gleichen Vorgehensweise zu bearbeiten (Beachte: Stelle sicher, dass du in der Abfrage zwei mal post_content in
    post_title änderst!). Wenn dein Blog statische Seiten hat, kannst du sie bearbeiten, indem du am Ende der Abfrage post_type=’page’ mit post_type=’post’ ersetzt.
  8. Teste und stelle sicher, dass es geklappt hat. Wenn nicht, stelle deine Datenbank mit dem Backup wieder her.

4. Übersetzt Language Switcher die Benutzerdefinierten Felder in meinem Blog?
Ja und nein. Ab Version 1.16 des Language Switcher, wenn du die Funktion “the_meta” in deinem Theme nutzt, kannst du Sprachtags sowohl in Name als auch Wert deiner Benutzerdefinierten Felder verwenden, und Language Switcher wird sie in der richtigen Sprache anzeigen. Wenn du aber die Funktion “get_post_meta” in deinem Theme verwendest um nur bestimmte Meta-Informationen anzuzeigen, werden nur die Werte übersetzt, und du musst ein bisschen mehr bearbeiten. Hast du zum Beispiel ein Beitrags-Meta-Feld mit dem Namen “fav” dass du im Bereich Benutzerdefinierte Felder auf der Seite Beitrag Bearbeiten erstellt hast, würdest du das in deinem Theme normalerweise so aufrufen:

<?php echo get_post_meta($post->ID, "fav", true); ?>

Damit Language Switcher die richtige Sprache anzeigt, ersetze diese Zeile in deinem Theme mit der folgenden:

<?php echo apply_filters('the_title', get_post_meta($post->ID, "fav", true)); ?>

Siehe auch den Artikel Benutzerdefinierte Felder verwenden auf der Seite WordPress Codex für weiterführende Informationen über Benutzerdefinierte Felder.

5. Ich habe das Plugin installiert und aktiviert, aber einige Textteile werden nicht übersetzt. Wieso?
Siehe Abschnitt Testing and Troubleshooting weiter oben.

6. Ich verwende die eingebauten WordPress-Widgets für meine Sidebar, aber die Titel der Widgets werden nicht übersetzt. Was kann ich tun?
Du kannst die Language Switcher Sprachtags in die Titel einfügen, die du im Einstellungsbildschirm der Widgets eingibst. Wenn du die neuesten Versionen von WordPress und dem Language Switcher verwendest und die Dateien mit den WordPress Fixes weiter unten auf dieser Seite installiert hast, sollten bereits mit WordPress mitgelieferte Widgets bereits richtig funktionieren. Wenn dein Widget von einem Plugin stammt, musst du eventuell die Plugindatei so bearbeiten, dass der Titeltext “gefiltert” wird. Siehe Abschnitt Themes und Plugins bearbeiten weiter oben um zu lernen, wie du Filter zu PHP-Dateien hinzufügst.

7. Was passiert mit den Kommentaren eines Beitrags?
Die Kommentare laufen durch den Language Switcher genau wie der Text in deinen Beiträgen. Wenn der Kommentator also keine Sprachtags in seinem Kommentar verwendet, ist das so als würde er [lang_all] Tags um den Kommentar setzen, und er erscheint in allen Sprachen.

8. Ein anderes Plugin das ich verwende generiert spezielle URLs, und es funktioniert nicht mehr wenn ich den Language Switcher aktiviere. Wie kann ich das beheben?
Der Language Switcher fügt Suffixen zu deiner Blog-URL hinzu, um die Sprache auszuwählen. Wenn du in deinem Blog Permalinks aktiviert hast, hat die Suffix ein Format im Stile von “/langswitch_lang/de” um auf Deutsch umzuschalten (Code “de”). Wenn du keine Permalinks aktiviert hast, sieht die Suffix stattdessen wie folgt aus: “?langswitch_lang=de”.

Während es WordPress und sauber geschriebene Plugins nicht stört, verwenden einige Plugins eine spezielle URL-Erkennung, die mit der ersten Version der URL-Suffix nicht arbeiten kann. Wenn dies in deinem Blog der Fall ist, kannst du den Language Switcher so einstellen, dass er nur die URL-Suffix mit “?”-Stil verwendet. Wenn du die neueste Version des Language Switcher verwendest, öffne dazu die Language Switcher Einstallungsseite (unter Einstellungen/Language Switcher). Setze einen Haken bei “Check this box to force Language Switcher URL suffixes to use ? or &, if you are having trouble with permalink-style URL suffixes”. Danach speichere deine Änderungen, und dein anderes Plugin wird hoffentlich wieder funktionieren.

9. Ich finde die vom Language Switcher generierten URLs hässlich. Kann ich sie irgendwie ändern?
Ja. Öffne die Einstellungsseite des Language Switcher (unter Einstellungen/Language Switcher). Unten auf der Seite gibt es eine Einstellung für “URL slug for Language Switcher”. Standardmäßig fügt Language Switcher Suffixen wie “/langswitch_lang/de” oder “?langswitch_lang=de” zu deinen URLs hinzu. Du kannst den Teil “langswitch_lang” in etwas anderes ändern, indem du es in das Eingabefeld eingibst und dann die Einstellungen speicherst. Aber sei vorsichtig — verwende nichts was WordPress mit anderen WordPress-URLs durcheinanderbringen könnte! So sind zum Beispiel “cat”, “tag”, “s”, “p”, Zahlen, und jeder Text der Teil deiner benutzerdefinierten Permalinkstruktur ist, schlechte Ideen.

10. Aus SEO-technischen Gründen oder weil ich ein Cache-Plugin nutze, möchte ich dass jede URL in meinem Blog eine Sprachsuffix hat, damit ich sicher sein kann dass eine bestimmte URL immer zu einer bestimmten Sprache verweist. Ist das möglich?
Öffne die Einstellungsseite des Language Switcher (unter Einstellungen/Language Switcher). Unten auf der Seite gibt es eine Einstellung, die Language Switcher anweist, zu allen URLs eine Sprachsuffix hinzuzufügen.

11. Der Sprachteil der URL erscheint immer am Ende der URL. Kann ich das ändern?
Nein, außer du schreibst das Plugin so um, dass es dies tut.

12. Ich glaube, nicht all meine Sprachen werden von den Suchmaschinen indexiert. Warum?
Eventuell musst du mehrere RSS-Feeds an die Suchmaschinen übermitteln, eine für jede Sprache die indexiert werden soll, als ob es seperate Blogs wären. Der Grund dafür ist, dass Blog-Suchmaschinen meistens anhand des RSS Feeds indexieren, und jeder Feed beinhaltet nur eine Sprache. Schalte auf eine andere Sprache um, und du solltest in der Lage sein herauszufinden, welche Feed-URL für diese Sprache steht.

13. Die Sprachlinks auf meiner Seite, die der Language Switcher erstellt, funktionieren nicht. Ich hoste auf Windows/IIS. Was kann ich tun?
Leider scheinen einige Windows/IIS Hosting-Plattformen inkompatibel mit dem Language Switcher zu sein. Derzeit gibt es keine Pläne, der Language Switcher kompatibel mit IIS zu machen, sorry! Du wirst womöglich entweder einen Linux-basierten Webhoster oder aber ein anderes Sprachplugin finden müssen.

14. Wenn ich Language Switcher aktiviere, bekomme ich seltsame Zeit- und Datumsangaben in meinen Beiträgen. Wie kann ich das beheben?
Siehe Abschnitt Plugins und Themes bearbeiten weiter oben.

15. Ich glaube dass die Einstellung der Standardsprache nicht funktioniert. Warum?
Der Language Switcher geht die folgenden Schritte durch, um festzustellen, welche Sprache angezeigt werden soll, wenn ein Besucher deine Seite ansieht:

  1. Überprüft die Spracheinstellung des Browsers des Besuchers.
  2. Überprüft ob ein Cookie vorhanden ist – dieser Cookie wird vom Language Switcher gesetzt sobald er zum ersten Mal diese Schritte durchgegangen ist, und wenn der Cookie existiert, ersetzt er die Browsereinstellung.
  3. Überprüft ob in der URL eine Sprache angegeben ist, und falls dort eine ist, ersetzt sie Cookies und Browsereinstellung (d.h. wenn die Person einen Link zum Wechseln der Sprache geklickt hat).
  4. Wenn keiner der vorangehenden Schritte eine gültige Sprache ergibt (d.h. eine Sprache die du auf der Language Switcher Einstellungsseite als eine der in deinem Blog verwendeten Sprachen angegeben hast), verwendet Language Switcher deine Standardsprache von der Einstellungsseite.

Die Standardsprache wird also nur genutzt, wenn es keine anderen Informationen gibt, die eine Sprache festelegen. Nebenbei bemerkt, die Variable WPLANG wird in diesem Prozess nicht verwendet. Und wenn einmal anhand der obigen Schritte eine Sprache ausgewählt ist, speichert Language Switcher ein Cookie, das dafür sorgt dass weiterhin alles (inklusive Administrationsbereich) in dieser Sprache angezeigt wird, bis du eine andere Sprache auswählst.

16. Was, wenn es keinen offiziellen zweibuchstabigen Code für meine Sprache gibt, oder wenn ich zwei Sprachumgebungen nutzen möcht, deren Sprachen den gleichen Code haben?
Den Language Switcher kümmert es im Grunde nicht, ob du “offizielle” zweibuchstabige Sprachcodes verwendest oder nicht. Also erfinde einfach einen zweibuchstabigen Code für deine Sprache und verwende ihn konsequent in deine Language Switcher Einstellungen und beim erstellen von Beiträgen, Kategorien, usw., und es sollte einwandfrei funktionieren. Das einzige was nicht funktionieren wird ist die Erkennung der Sprache aus den Browsereinstellungen — Besucher müssen auf einen Link für die Sprache mit dem von dir erfundenen Sprachcode klicken, um sie auszuwählen.

17. Ich verwende eine statische Seite als Startseite, und wenn ich eine leere Suche (ohne Suchwort) ausführe (was mich auf die Home-Seite leitet) und dann zu einer anderen Sprache als der Hauptsprache wechsle, erscheint stattdessen eine Liste von Beiträgen. Was kann ich tun?
Einige Themes teilen dem HTML Tag des Suchbuttons ein “name” Attribut zu, wenn das Suchformular angezeigt wird. Dieses Attribut musst du entfernen oder durch ein “id” Attribut ersetzen (eventuell musst du auch die CSS-Datei deines Themes dafür anpassen). Wenn zum Beispiel dein Suchformular so aussieht:

<input type="submit" name="sbutton" value="<?php _e('Search'); ?>" />

musst du es hiermit ersetzen:

<input type="submit" id="sbutton" value="<?php _e('Search'); ?>" />

Das sollte das Problem beheben, wobei danach noch der Fehler auftreten kann, dass man, wenn man zu einer anderen Sprache als der Hauptsprache wechselt, eine Suche durchführt und das Cookie zum speichern der bevorzugten Sprache nicht akzeptiert, zur Hauptsprache zurückgeschaltet wird. Man muss aber dann nur auf den Link in der Sidebar klicken, um die gewünschte Sprache wieder anzuzeigen.

Für alle die daran interessiert sind, hier ein bisschen Hintergrundwissen. Wenn man nach einem Begriff sucht, wird die Suffix “?s=term” zur URL hinzugefügt (ohne die Anführungszeichen), und WordPress erkennt, dass es in den Beiträgen nach diesem Begriff suchen soll. Wird kein Suchwort eingegeben, wird “?s=” zur URL hinzugefügt, da aber kein Suchwort vorhanden ist, ignoriert WordPress das und leitet weiter zur Startseite. Wenn aber dann ein Sprachlink zur URL hinzugefügt wird, bringt die zusätzliche URL Suffix für die Sprache WordPress durcheinander und es gibt eine Liste mit Beiträgen aus, was ja in Ordnung ist wenn deine Startseite die letzten Beiträge anzeigt, nicht aber wenn du eine statische Seite als Startseite verwendest. Deswegen löscht Language Switcher leere “?s=” URL Suffixe, wenn es Sprachlinks erstellt, damit deine Besucher trotzdem die Startseite sehen. Wenn nun dein Suchbutton einen Namen hat, wird “?s=&sbutton=Search” zur URL hinzugefügt, was wieder WordPress durcheinanderbringt, und da Language Switcher den Namen deines Suchbuttons nicht kennt, weiß es nicht dass es die leere Suffix löschen muss. Nimmt man aber den Namen aus dem Suchbutton, ist dieses Problem behoben.

18. Ich kann ein bisschen PHP programmieren, und ich wüsste gerne ob ich etwas in PHP schreiben kann, das erkennt welche Sprache der Besucher im Language Switcher ausgewählt hat.
Ja, kannst du. Es gibt eine globale Variable im Language Switcher namens $langswitch_lang_pref, die im Endeffekt auf den aktuellen zweistelligen Sprachcode gesetzt wird. Daher kannst du etwas in der Art schreiben:

global $langswitch_lang_pref;
if( $langswitch_lang_pref == 'ru' ) {
   // etwas tun wenn die Sprache Russisch ist
} else {
   // etwas anderes tun wenn die Sprache nicht Russisch ist
}

19. Gibt es einen einfacheren Weg, beim bearbeiten eines Beitrags Sprachtags einzufügen?
Wenn du willst, kannst du Quicktagbuttons zur Bearbeiten-Seite hinzufügen. Suche dazu die Datei “quicktags.js” im Verzeichnis wp-includes/js deiner WordPress Installation. Bearbeite diese Datei mit einem Texteditor, finde den Bereich wo die Buttons definiert werden, und füge so einen neuen Button hinzu:

edButtons[edButtons.length] =
   new edButton( 'ed_en', 'lang_en', '[lang_en]', '[/lang_en]', 'e' );

Danke an Christina für diesen Vorschlag!

20. Mit welchen WordPress-Versionen ist dieses Plugin kompatibel? Language Switcher läuft auf WordPress Version 2.1.2 und höher, wenn die Modifikationen für WordPress installiert sind (wie im Abschnitt WordPress installieren genau beschrieben). Die letzte WordPress Version, mit der dieses Plugin getestet wurde, ist 2.7.

21. Was hat sich in den verschiedenen Versionen von Language Switcher verändert?

  • Version 1.18 – Neue Funktion: Bessere Kategorien/Tag-Sortierung (alphabetisch in der aktuellen Sprache anstelle von alphabetisch nach dem Kategorie/Tag-Namensfeld, was Sprachtags und mehrere Sprachen einschließt). Beachte dass diese Funktion nur in WordPress 2.7 geht, wenn die WordPress 2.7 Fixes installiert sind (siehe Downloadbereich weiter unten). Das Plugin selber funktioniert weiterhin auch mit älteren WordPress Versionen — du wirst nur nicht diese neue Funktion haben.
  • Version 1.17 – Bugfix: Das Plugin hat nicht immer seine URL-Regeln neu geladen wenn ein WordPress Update durchgeführt wurde. Bugfix für mehrseitige Beiträge und deren URLs. Update für WordPress 2.7 (läuft weiterhin mit älteren Versionen). Neue Einstellung um Sprachsuffixen für jede URL zu erzwingen, und einige Änderungen an der Logik, wann Sprachsuffixen in URLs einzusetzen sind, wenn die neue Option nicht genutzt wird.
  • Version 1.16 – Updates für WordPress 2.6 (funktioniert weiterhin mit älteren Versionen). Sprachenlinks zum Administrationsbereich hinzugefügt. Bessere Effizienz beim Laden von Einstellungen. Benutzerdefinierte Felder von Beiträgen (Meta-Daten) können nun Sprachtags verwenden. Bessere Standard-URL-”Slugs” für Beiträge, Kategorien, usw. Neue Einstellungsmöglichkeit zum verwalten von URLs.
  • Version 1.15 – Bugfix für WordPress 2.5.x Widget Filterung (benötigt Updates für 2.5 aus dem Download weiter unten).
  • Version 1.14 – Fix für WordPress 2.5.x Tag Filterung
  • Version 1.13 – Abschließenden / zu den generierten URLs hinzugefügt für weniger Weiterleitungen.
  • Version 1.12 – Bug behoben bei generierten URLs für Seite 2, Seite 3 usw.
  • Version 1.11 – Bugfix für Kommentardaten im Kommentar-RSS-Feed. Update für Kompatibilität zur kommenden Version 2.5 von WordPress.
  • Version 1.10 – Neues Argument für HTML Tag zur Sidebar Funktion Sprachenliste hinzugefügt. Updates für WordPress 2.3.1. Update für Datum/Zeit Anzeigen. Ein weiterer Bugfix für Nextpage-Links. Wenn die Nachricht ‘Kein Text für diese Sprache’ ausgegeben wird, dann nur wenn der ursprüngliche Beitrag Text beinhaltet.
  • Version 1.09 – Updates damit Language Switcher besser mit WordPress 2.3 arbeitet (läuft weiterhin auch mit älteren Versionen). Noch ein Bugfix für Nextpage-Links. Logik zur Erkennung der bevorzugten Sprache des Benutzers verbessert (beachtet Browserpräferenzen und akzeptiert nur Sprachen, die in den Einstellungen existieren). Bug behoben, der endlose Backshlashes auf dem Einstellungsbildschirm verursachte.
  • Version 1.08 – Ein weiterer Bugfix für Netxpage-Tags und Permalinks
  • Version 1.07 – Mehrere Bugfixes, inklusive der Nachricht die ausgegeben wird wenn der Text in der ausgewählten Sprache keinen Titel hat, der korrekten Sprache in RSS Feeds, Permalink-Struktur verbessert, der Nextpage-Tag funktioniert nun in Artikeln. Außerdem ein Widget für die Sprachenliste in der Sidebar für WordPress 2.2 und höher (beachte dass du eine geänderte widgets.php aus der Zip-Datei benötigst, damit das Letzte Kommentare-Widget richtig funktioniert).
  • Version 1.06 – Nur internes Release.
  • Version 1.05 – Bugfixes für statische Startseiten und für die Situation, wenn ein Beitrag nicht in der vom Benutzer bevorzugten Sprache vorhanden ist.
  • Version 1.04 – Bugfix für Trackback/Feed-Links.
  • Version 1.03 – Bugfix für Sprach-Permalink auf der Startseite für manche Benutzer.
  • Version 1.02 – Bugfix für Kommentardatum/-zeit.
  • Version 1.01 – Kleine Veränderungen in der Syntax der Sprachenliste-Funktion. Permalink-Support hinzugefügt.
  • Version 1.0 – Erster Release.

22. Wie kann ich erfahren, ob es eine neue Version des Plugins gibt?
Abonniere den RSS Feed in der Sidebar dieser Seite, oder besuche die Seite regelmäßig um nachzusehen ob es eine neue Version gibt. Beachte: Der Mechanismus in WordPress 2.3 zum automatischen Überprüfen auf Updates funktioniert NICHT mit diesem Plugin! Es funktioniert nur mit Plugins, die auf einer speziellen WordPress Plugin-Seite gehosted werden, und dieses Plugin wird nicht dort gehosted. Sorry!


Downloads

Language Switcher Plugin

Hier klicken, um die Plugin-Dateien herunterzuladen (Zip Datei). Die Datei ist 209 KB (214,506 Bytes) groß. Die aktuelle Version vom Language Switcher ist 1.18.

WordPress Modifikationen

WordPress 2.1.2 und spätere Versionen sind standardmäßig beinahe kompatibel mit dem Language Switcher. Dennoch gibt es ein paar Probleme, daher musst du, wenn dein mehrsprachiges Blog richtig funktionieren soll, eingeschlossen Beiträge, Kategorien, Links, Link-Kategorien usw., und die WordPress-Administrationsseite richtig angezeigt werden soll, ein paar Dateien deiner WordPress-Installation bearbeiten (siehe Abschnitt Installation weiter oben). Daher gibt es hier ein paar Zip-Dateien mit Modifikationen — jede ist speziell für eine bestimmte Version von WordPress vorgesehen. Welche Version du hast, kannst du im Adminpanel ganz unten am Ende der Seite sehen, wenn du WordPress bereits installiert hast. Wenn du es noch nicht installiert hast, kannst du die Versionsnummer dem Namen der Zip-Datei entnehmen. In der “README”-Datei jeder Zip-Datei wird erklärt, wo diese Dateien hingehören.

Fix der Datenbank-Schema-Datei vor der Installation

Für WordPress 2.3 bis 2.6 möchtest du eventuell das Datenbankfeld, das Kategorie- und Tag-Namen enthält, größer machen, damit du genug Platz für mehrsprachige Kategorien und Tags hast. Bei späteren Versionen von WordPress kannst du das Feld ebenfalls immer noch größer machen, wenn du viele Sprachen verwendest, lange Kategorie- oder Tag-Namen, oder eine Sprache wie Chinesisch oder Japanisch, die Multi-Byte Zeichen verwendet. Am besten nimmt man diese Änderung vor dem Ausführen des Installations- oder Upgradescripts deiner neuen/upgegradeten WordPress Installation vor. Andernfalls musst du die Anweisungen zum manuellen Bearbeiten deiner Datenbank befolgen. Hier die notwendigen Schritte vor dem Installieren:

  1. Finde eine Datei mit dem Namen “schema.php” im Unterverzeichnis “includes” des Ordners “wp-admin” deiner WordPress-Installation.
  2. Öffne diese Datei mit einem Texteditor (zum Beispiel dem Windows Texteditor).
  3. Etwa in der 10. Zeile finde eine Zeile die die Tabelle “terms” erstellt. Sie sollte in etwa so aussehen:
    $wp_queries="CREATE TABLE $wpdb->terms (
  4. Ein paar Zeilen darunter finde die Zeile, die das Feld “name” in dieser Tabelle erstellt. Sie sollte in etwa so aussehen:
    name varchar(55) NOT NULL default '',
  5. Ändere die 55 in 200 (oder eine größere Zahl wenn du viele verschiedene Sprachen in deinem Blog verwendest und feststellst, dass dir der Platz für Kategorien und Tags ausgeht).
  6. Speichere die Datei, und wenn du bereits deine WordPress Dateien hochgeladen hast, lade es auf deinen Server hoch.

Manuelle Bearbeitung des Feldes in der Datenbank nach der Installation

Wenn du die obigen Anweisungen nicht vor der Installation von WordPress befolgt hast, um die Felder in der Datenbank zu vergrößern, und feststellst dass du ein größeres Kategorie-Feld benötigst, kannst du der folgenden Anleitung folgen, um deine Datenbank so zu bearbeiten, dass mehr Platz für Kategorien vorhanden ist.

Auch wenn du von einer früheren WordPress Version upgradest, den Language Switcher bereits installiert hast und vor dem Upgrade auf die neue Version nicht die Modifikationen hochgeladen hast, wirst du eventuell feststellen, dass deine Kategorienfelder auf 55 Zeichen zurückgesetzt wurden, und höchstwahrscheinlich wird dein kompletter Blog nicht korrekt angezeigt werden bis du die folgenden Anweisungen zur manuellen Bearbeitung des Feldes in der Datenbank durchführst und anschließend alle Kategorien bearbeitest (was du eventuell ebenfalls in der Datenbank machen musst).

Um das Feld für den Kategorienamen manuell zu bearbeiten, logge dich zunächst auf deiner PHPMyAdmin-Seite ein (siehe WordPress Installation für weitere Infos). In PHPMyAdmin musst du folgendes tun:

  1. Öffne die WordPress Datenbank, die du während der Installation von WordPress erstellt hast (eventuell ist sie bereits vorausgewählt).
  2. Öffne den Menüpunkt “Struktur” in der Tabelle “categories”, die vermutlich noch eine Präfix vor dem Namen hat (z.B. “wp_categories” ). Wenn du WordPress 2.3 oder höher verwendest, heißt die Tabelle “terms” anstelle von “categories”.
  3. Klick auf den “Bearbeiten”-Link oder das entsprechende Icon in der Zeile des Feldes “cat_name” (in meiner PHPMyAdmin-Version ist das Icon z.B. ein Stift). In WordPress 2.3 oder höher heißt das Feld “name”.
  4. Setze den Wert für die Länge höher; ich würde eine Länge von 200 Zeichen vorschlagen.
  5. Speichere deine Änderungen.
  6. Wenn du bereits von einem mehrsprachigen Blog upgradest, musst du eventuell auch deine Kategorien in der Datenbank bearbeiten. Klick einfach auf “Anzeigen” in der Tabelle “categories” (oder “terms”), suche alle Kategorienamen die geändert werden müssen, um dann über den Bearbeiten-Link die Kategorienamen wieder zu ändern.

Fragen, Kommentare und Fehler

Jennifer Hodgdon, die Eigentümerin von Poplar ProductivityWare und Autorin des Language Switcher, dankt jedem, der einen Fehlerreport oder Vorschläge zum Language Switcher eingesandt hat. Er würde nicht so gut funktionieren ohne eure Hilfe! Language Switcher basiert auf Polyglot von Martin Chlupac (die Flaggen stammen vom Polyglot Plugin), welches wiederum auf Language Picker basiert (existiert nicht mehr).

Das Language Switcher Plugin ist umsonst, ohne Garantie auf Service und Support. Allerdings sind Kommentare immer willkommen. Wenn du also Fragen zur Installation oder Benutzung des Plugins hast, Vorschläge wie man es besser machen könnte oder einen Fehler im Plugin melden möchtest, bitte kontaktiere Poplar ProductivityWare. Jennifer wäre dankbar, wenn du vor dem Kontaktieren die obenstehende Dokumentation sorgfältig erneut lesen würdest. Danke!


[Angelina]
Related Posts: •  Language Switcher WordPress Plugin   •  Ein mehrsprachiges WordPress-Blog erstellen   •  Language Switcher Übersetzung erneuert  

114 Kommentare

  1. ncfcb sagt:

    Hallo!
    Ich habe das Program erfolgreich installiert, und der Haupttext funktieoniert, aber wenn ich den Static text übersetzen will, klappt nichts. Ich kenne mich mit Code nicht aus. Wie kann ich die Sidebar übersetzen? Danke.

  2. Angelina sagt:

    Das wird im Abschnitt über gettext erklärt. Lies dir den Artikel noch einmal genau durch, es steht alles drin. Besser als in der Anleitung kann ich es auch nicht erklären. Wenn du Hilfe zu gettext brauchst, dann geh am besten ins Forum von WordPress Deutschland, dort kann man dir sicher helfen.

  3. Thomas sagt:

    Oh prima, genau was ich gesucht habe. Vielen Dank!

  4. Susanne sagt:

    Danke für die deutsche Anleitung :-)
    Frage: Ich würde gern LanguageSwitscher für eine Website mit WP als CMS einsetzen. Dafür erstelle ich eigene Themes mit dem Website-Designs auf Basis z.B. des default themes. Hast du Ähnliches schon ausprobiert und Erfahrungen?

  5. Thomas sagt:

    smilie Für Textpattern gibt es übrigens auch ein Plugin für mehrsprachige Websites…

  6. Angelina sagt:

    Ich nutze den Language Switcher nur hier auf meinem Blog. Ich denke aber es dürfte kein Problem sein, es mit WP als CMS zu verwenden. Du musst halt darauf achten dass alle teile des Themes gettexted sind. smilie

  7. designer sagt:

    Das ist wohl das größte Problem, daß nicht alle Zeichensätze vorhanden sind (arabisch, chinesisch etc..)

  8. Angelina sagt:

    Die Zeichensätze müssen ja auch auf dem PC des Besuchers vorhanden sein, damit sie angezeigt werden. Daher ist das nicht so ganz einfach. smilie

  9. Wichtelfräulein sagt:

    Hallo,

    danke für die tolle Anleitung, es funktioniert schon fast alles.

    Aber eines kapier ich leider nicht. Wie schreibe ich nun einen zweisprachigen Beitrag? Geht das über den Editor? Ich habe auch die “Advanced Tags” installiert, weiß aber leider nicht, was ich damit machen soll – bitte um Hilfe.

  10. Angelina sagt:

    Das schreiben von mehrsprachigen Beiträgen wird im Abschnitt “WordPress, Themes und Content übersetzen” erklärt, gleich im ersten Absatz. Du umgibst einfach den deutschen Text mit lang_de-Tags.

    Wie im Abschnitt beschrieben besteht ein Sprachtag aus dem Wort “lang”, einem Unterstrich und dem Sprachkürzel, in diesem Fall de für Deutschland. Das ganze wird mit eckigen Klammern umschlossen. Wenn der deutsche Text fertig ist, kommt ein abschließender Tag dahinter: /lang_de mit eckigen Klammern darum. Wichtig ist der Slash.

    Das ganze dann nochmal in lang_en für englisch oder für welche Sprache auch immer. Und eingeben kann man es einfach über den Editor, der aber auf Codeansicht stehen muss und nicht auf WYSIWYG stehen darf.

    Die Advanced Tags benötigst du nur, wenn du für deine Beiträge Tags vergibst. Das sind Stichworte, über die der Besucher dann Beiträge leichter finden kann.

  11. isatzky sagt:

    hallo.
    ich habe das plugin jetzt nach dem tutorial installiert. wenn ich jetzt aber mit dem language tags einen beitrag erstelle, wird über dem beitrag zwar die auswahl der anderen sprache angezeigt, wenn ich aber darauf klicke, dann erscheint:
    “Sorry. The page you are looking for is not here.”
    Habe in wp-includes/languages die “de_DE.mo” liegen und habe auch sonst soweit alles beachtet glaub ich. woran kanns liegen?
    mfg

  12. isatzky sagt:

    ich glaub es hat was mit den permalinks zu tun, der link der generiert wird, stimmt wohl nicht. weiß aber nicht wie ich das änder.

  13. isatzky sagt:

    sorry für mehrmals posten. hatte bei mir nix mit der anleitung zu tun. htaccess und permalinks waren das problem. smilie

  14. ninom sagt:

    Hi,

    Danke für das tolle Tutorial, das ganze funktioniert schon einigermassen! Ich habe allerdings eine Frage und ein Problem.

    Ist es möglich die Sprachauswahl mit ändern der URL zu wählen?

    http://en.nino-net.org – englisch
    http://de.nino-net.org – deutsch

    Nun das Problem. Ich verwende wie oben angedeutet die beiden Sprachen deutsch und englisch. Ich kann auch zwischen den beiden Sprachen hin und herschalten, das klappt super. Allerdings kann ich auf der Startseite (aber nur dort!) nicht auf Deutsch umschalten. Ansonsten klappts… Woran könnte das liegen?

  15. Angelina sagt:

    @isatzky: kp smilie ich hätte ja vermutet es liegt am Namen der Sprachdatei, die soll an sich de.mo heißen damit es funktioniert.

    @ninom: Die Sprachauswahl über die URL zu ändern ist soweit ich weiß nicht möglich.

    Für dein Problem muss ich dich bitten, dich an Jennifer Hodgon zu wenden, die das Plugin geschrieben hat. Wie es aussieht besteht ein Problem mit irgendwelchen Zugriffsrechten, da der Fehler Forbidden auftritt, wenn man den Sprachlink klickt. Woran das liegt, weiß ich leider nicht.

  16. Carlo sagt:

    Bei meinem Blog (2.3.2) läuft es soweit ganz gut.
    Auch der Adminbereich ist voll in deutsch und englisch.

    Allerdings ist einiges immer noch auf englisch.
    Die Widgets und dessen Überschriften werden alle übersetzt.
    Aber statische Sachen wie z.B. “Postet in” und “Archives” sind nur in englisch.

    Ich weiss einfach nicht mehr weiter… smilie

  17. Maettu sagt:

    hey,

    vielen dank für den tollen artikel, hab damit erfolgreich und problemlos ein zweisprachiges blog eingerichtet.

    gruess

  18. Angelina sagt:

    @Carlo: Das wird vermutlich entweder daran liegen dass die Sprachdatei nicht vorhanden ist oder falsch benannt wurde, oder aber daran dass die entsprechenden Bereiche im Theme noch nicht gettexted sind.

    @Meattu: Gern geschehn smilie Schickes Bergblog! Schöööner Schnee smilie

  19. Dani sagt:

    toll =D das plugin auf deutsch…ich hab nur noch ein kleines problem ;) vielleicht könntest du mir dabei helfen? Ich krieg die Übersetzungsdatei mit Poedit nicht hin smilie ich hab keine ahnung wieso nicht…hab meine theme-dateien internationalisiert…heeeelp! Danke schonmal im voraus!

  20. Angelina sagt:

    Hallo! Natürlich helf ich dir gern, dafür brauch ich aber noch ein bisschen genauere Infos. Was genau funktioniert nicht? Oder ist einfach das Programm zu kompliziert? Ich hab da am Anfang auch nicht durchgeblickt smilie

  21. Robert sagt:

    Habe das gleiche Problem. WordPress 2.3.2, languageswitcher funktioniert einwandfrei – aber irgendwie kriege ich die menüs nicht übersetzt. Ist es richtig das die po & mo datei in den Ordner wp-content/languages muss? in der wp-config WPLANG leer lassen? Ich sitz hier schon seit Stunden und weiß, ich bin kurz davor. smilie smilie HILFE

  22. Angelina sagt:

    Die po-Datei muss gar nicht hochgeladen werden, sie ist nur zum bearbeiten da. Die mo-Datei für das Theme muss in den Ordner des Themes, einfach zu den anderen Themedateien.

    WPLANG muss natürlich nicht leer sein, denn dann wäre einfach nur keine Standardsprache ausgewählt. Normal steht dort “de_DE”, für das Plugin einfach mit “de” ersetzen.

    Allerdings ist bei dir ja das Menü standardmäßig in deutsch – das spricht dafür dass du auch gettext nicht richtig eingebaut hast. Die Standardsprache im Theme muss immer englisch sein, d.h. die in gettext in die Themedateien eingebauten Begriffe (Menüüberschriften) müssen englisch sein.

  23. Robert sagt:

    DANKE Angelia – es funktioniert. Die .htaccess Datei hatte die Datei blockiert. Jetzt läuft es. Ich hatte noch nicht alles internationalisiert. Wollte es erstmal an 2 Stellen testen. Jetzt kann es ja richtig losgehen. Danke noch einmal.

  24. Hisky sagt:

    Nabend smilie

    Ich habe einen 2.3.3 Blog mit einem ehemals englischem Theme, welches ich selbst ins Deutsche übersetzt habe.

    Einbaue klappt auch, er ändert das Datumsformat, wenn ich im ISO de etwas ändere. Das war es aber leider auch schon.

    - Admin bleibt Englisch
    - die Seite bleibt Deutsch, egal welche Flagge ich anklicke

    Was mache ich falsch? smilie

    Danke
    Heiko

  25. Angelina sagt:

    Da wär erstmal ein Link ganz nützlich. Auf deiner Seite kann ich keine Flaggen entdecken, ist das die Seite wo du es eingebaut hast?

    Der Grund lässt sich nicht so einfach sagen. Wie hast du das Theme übersetzt, mit Sprachdatei oder im Theme direkt? Wenn im Theme direkt kann es natürlich nicht funktionieren. Überprüfe nochmal alle Schritte. Hat die Sprachdatei für das Theme, wenn vorhanden, den richtigen Namen? Ist im Theme alles mit gettext versehen? usw.

  26. Hisky sagt:

    Hi Angi!

    Ich hab das Plugin erstmal deaktiviert, da die Flaggen ja eh nichts brachten.

    Ich hab das Theme direkt übersetzt. Aber zumindest der Adminbereich müsste sich wieder zurückändern, oder? smilie

  27. Angelina sagt:

    Mit direkt übersetztem Theme kann das ja nicht klappen smilie Dann stehen die Variablen ja nicht drin, die der Language Switcher zum umschalten braucht.

    Der Adminbereich sollte sich ändern, ja. Hast du auch die deutsche Sprachdatei in de.mo umbenannt und das auch in der config-Datei eingetragen? Klingt so als würde er die Sprachdatei nicht finden.

  28. Hisky sagt:

    Hmm. Ich hab die Sprachdateien so gelassen wie sie sind. Also languageswitch_de.mo usw.

    Als Standard ISO hab ich “de” hinterlegt und eben de als Sprache mit Datum und Zeiteinstellung hinterlegt.

  29. Angelina sagt:

    Neeneneee das ist die Sprachdatei für das Plugin. Die sollte im Ordner wp-content/plugins liegen, zusammen mit langswitch.php . Die Sprachdatei heißt langswitch_de.mo, nicht languageswitch. Diese Datei ist nur für die Adminseite vom Language Switcher zuständig.

    Die wichtigere Sprachdatei liegt in wp-includes/languages und sollte de.mo heißen. Normal heißt sie de_DE.mo. Das muss man für Language Switcher ändern.

  30. Hisky sagt:

    Also irgendwo ist ein Fehler drin.

    Ich hab mir das Plugin runtergeladen und in meinen Pluginordner reingeladen. Die langswitch.php in das Plugin Verzeichnis und eben den langeswitch_flags Ordner mit Inhalt.

    Die langswitch_de.mo befand sich bereits im langeswitch_flags Ordner?!

    Aber egal ob diese dort liegt oder ob ich sie eine Eben höher schiebe…Admin bleibt Englisch. (de_DE.mo liegt dort wie Du sagtest)

  31. Angelina sagt:

    Oh sorry, stimmt ja, Jen hat die in den flags-Ordner gepackt. Hab mich vertan. smilie

    Aber wie ich bereits sagte, wenn der komplette Admin Bereich englisch bleibt liegt es an der Hauptsprachdatei, und die soll eben nicht de_DE.mo heißen, sondern in de.mo umbenannt werden. Sonst erkennt das Plugin sie nicht.

  32. Hisky sagt:

    Moin!

    Danke für den Tipp…klappt aber auch nicht. Hab die Hauptsprachdatei im /html/wp-includes/languages/ nun in de.mo umbenannt.

    Was mir nur einfällt. Ich hatte wegen Umlautproblemen das hier in der config Datei hinterlegen müssen:
    define (‘WPLANG’, ‘de_DE’);

    Daran dürfte es liegen – dass er nchts übersetzt. Das Adminproblem ist aber wohl ein anderes smilie

  33. Angelina sagt:

    Dieser Eintrag in der config Datei muss ebenfalls in de umbenannt werden. Also so: define (’WPLANG’, ‘de’);

  34. Hisky sagt:

    Schon passiert…ohne Erfolg smilie

  35. Angelina sagt:

    Puh, das ist seltsam. Eventuell hast du zuletzt englisch ausgewählt gehabt, das merkt sich der Browser per Cookie und läd dann automatisch auf englisch. Müsstest du mal die Flaggen wieder einbauen und auf deutsch schalten, damit du das prüfen kannst.

  36. Hisky sagt:

    Es wird langsam smilie
    Deutsche Flagge + aktualisieren im Admin war es.

    Wenn ich nun eine Flagge anwähle, kommt das hier:

    404 – Not Found
    Sorry, no posts matched your criteria.

    Was sagt mir das? Das er nichts übersetzt läge am Theme. Aber der Fehler!?

  37. Hisky sagt:

    Nachtrag: Plugin ist wieder aktiviert – nicht wundern smilie

  38. Angelina sagt:

    Du könntest mal Nr. 6 von den Häufig gestelten Fagen hier im Artikel ausprobieren, eventuell ist es ein Problem mit einem anderen Plugin das die Permalinkstruktur stört.

  39. Hisky sagt:

    Okay. Das wars. Meine SEO Urls haben da qohl quer geschossen.

    Jetzt kommt der schwerste Schritt…die gettext Umwandlung, richtig? smilie

  40. Angelina sagt:

    Right smilie Das ist nochmal ein ganzer Batzen Arbeit. Wenn du dich genau an die Anleitung oben hältst, müsste es aber funktionieren. smilie Falls du bei den Einstellungen für poedit Hilfe brauchst, sag Bescheid. smilie

  41. fg sagt:

    Danke für die Übersetzung. smilie

  42. Branchenbuch sagt:

    Jau, vielen Dank auch von mir smilie

  43. Susanne sagt:

    Hallo Angie,

    hast du schon mal einen Test mit dem neuen WP 2.5 und LanguageSwitcher gemacht?
    Mein Versuch ist leider nicht so gut ausgegangen…

  44. Susanne sagt:

    ….STOP – ich nehme alles zurück – es klappt bestens, ich hatte noch vergessen, die Permalinkstruktur wieder so einzurichten wie vorher smilie

  45. Angelina sagt:

    Super smilie Hab mich auch schon gewundert, da ich es schon getestet habe und alles wunderbar lief.

  46. Chris sagt:

    Was ist denn bitte gemeint mit:
    “Wenn du in deinem Blog Permalinks aktiviert hast,….”

    Aktiviert?

    Ich habe im Admin-Bereich -> Einstellungen -> Permalinks nur Optionen wie “Standard”, “nach Datum…” usw. – aber von “aktivieren” oder “deaktivieren” kann ich hier nichts finden.

    Woher weiß ich dann, ob ich “Permalinks aktiviert” habe? smilie

  47. Angelina sagt:

    Standard ist Permalinks nicht aktiviert, sprich man sieht die Page-ID im Link. Alle anderen Optionen sind aktivierte Permalinks, die normale URL wird dann suchmaschinenfreundlich umgeschrieben. smilie

  48. al sagt:

    hallo A

    deine Anleitung ist super, alles funktioniert besten.
    Es tritt noch ein Problem auf:
    ‘ Größe des Datenbankfeldes für Kategorie anpassen, dass Platz für mehrsprachige Kategorien entsteht ‘

    Ich habe die Anweisung von oben ausgefüht, aber es passiert nichts. Ich benutze WP 2.33 und habe die Kategorien über Themes – Widges in die Sidebar eingefügt.

    Gibt es noch eine Möglichkeit?

  49. Angelina sagt:

    Das ist seltsam. An sich sollte es auch bei der Verwendung von Widgets funktionieren. Verwendest du vielleicht irgendein Plugin, das an den Kategorien etwas verändert?

    Ansonsten prüf nochmal nach ob das Feld in der Datenbank wirklich richtig ist, auf mindestens 200.

    Oder aber: Wie genau sieht nach der Eingabe die Anzeige im Blog aus? Werden die Sprachtags vll mit angezeigt? Dann kann das Widget sie nicht interpretieren und es muss erst der Filter eingebaut werden.

  50. Susanne sagt:

    Hi Angie,
    sorry, da war was weggeschnitten. Bitte alten Beitrag löschen.

    Mit dem excerpt-reloaded Plugin habe ich folgendes Problem.

    Entweder behandelt es den englischen Part so, als gäbe es keine Übersetzung und gibt keine Kurzfassung aus sondern nur die Standardmeldung oder wenn ich mit dem more-tag arbeite und für beide Sprachen die Kurzfassung vorschalte – so

    deutsche Kurfassung [
    /lang_de]

    ....more tag ....

    deutsch lang

    wird in der Lanfassung noch mal das Excerpt ausgegeben.
    Weiß jemand einen Tipp?

  51. Angelina sagt:

    Puh, da bin ich leider überfragt. Mit dem more-Tag und diesem Plugin habe ich mich noch nie beschäftigt. Wenn ich mich nicht irre war da was mit dem more Tag in der Anleitung, in diesem Abschnitt. Aber wie das mit dem excerpt Plugin ist weiß ich leider nicht smilie am besten du fragst mal Jennifer. Link steht oben im Artikel smilie

  52. al sagt:

    zu >>
    Größe des Datenbankfeldes für Kategorie anpassen, dass Platz für mehrsprachige Kategorien entsteht ‘
    vielen dank erstmal für die antwort.

    hier noch ein paar infos.

    eingabe z.B.

    Unterkunft
    ausgabe
    beim wieder aufrufen im admin
    Unterkunft[l

    es werden immer nur 52 zeichen berücksichtigt die eingabe wird also immernoch begrenzt.

    ausgabe im blog dementsprechend
    also z.B.
    Unterkunft[l
    Lodget[l

    das Feld in der Datenbank wurde richtig auf 300 geändert.

    zu plugins:
    ich benutze
    EBQuery

    wenn ich das plugin deaktiviere ändert sich allerdings nichts.

    danke für deine hilfe

  53. Hallo Angie!

    Ich möchte ein zweisprachiges Blog in deutsch und russisch aufsetzen. Schreiben werden Deutsche und Russen. Kann ich in den Userprofilen einstellen, dass die Admin-Oberfläche für einen Russischen User in russisch erscheint?

    Viele Gruesse,
    Bernd

  54. Angelina sagt:

    Soweit ich weiß, müsste sich das automatisch einstellen. Die Sprache wird ja über Cookies gespeichert. Wenn du also eine russiche Sprachdatei hast und die russische Sprache im Blog zur Auswahl stellst, müsste der Adminbereich bei jedem User der die russische Sprache wählt beim nächsten Aufruf automatisch in russisch sein, da der Language Switcher die bevorzugte Sprache per Cookie registriert.

  55. Alex sagt:

    Hi,

    Sobald ich die entsprechenden Dateien upgeloadet habe und das Plugin aktiviere, wird das Admin-Panel meines WordPress englisch angezeigt, wenn ich es wieder deaktiviere ist es wie gewünscht wieder auf deutsch.

    Habe wie oben beschrieben die Sprachdatei in /wp-content/languages in “de.mo” umbenannt und auch die config.php entsprechend angepasst.

    Woran könnte das liegen bzw. wie kann ich das beheben?

    (Habe WordPress 2.5.1 DE-Edition installiert)

  56. Alex sagt:

    Hmm,
    Hat sich jetzt doch geklärt. Scheint so, als ob die Admin-Panel-Sprache von der Sprache, die ich ageklickt habe abhängt.

    Habe jetzt aber noch eine andere Frage: Wie kann ich die Fahnen-Symbole nebeneinander, und nicht untereinander einblenden lassen?

    Danke für die Hilfe!

  57. Berni sagt:

    Hallo du,

    zwei Fragen, wie lange hast du für das Einrichten des LanguageSwitchers gebraucht? Wenn man den dann hat, ist das dann für weitere Sprachen auch wieder so aufwendig?

  58. Alan sagt:

    Wieso passiert es immer nur wenn das Plugin aktiv ist, dass mein WordPress, und mein Adminbereich von deutschen defaultsprache auf Englisch wechselt?, sonst ist fast alles OK, nur dass ich alles noch einstallen muss. Mit Plugind, Widgets, und so.

    Alan

  59. Angelina sagt:

    Da bräuchte ich schon etwas genauere Angaben. Schaltet WP automatisch auf englisch um sobald du das Plugin aktivierst? Dann hast du evtl. die Sprachdatei nicht richtig benannt (muss de.mo heißen) oder nicht richtig in der config-Datei eingetragen.

  60. Ingo sagt:

    Vielen Dank für deine Arbeit – das hört sich ja ganz vielversprechend an … und nach Arbeit smilie
    Noch weiß ich zwar nicht, wann ich das Plugin einbauen kann, aber es steht schonmal auf meiner ToDo-Liste.
    Gruß,Ingo

  61. Ferdi sagt:

    Hallo,

    diesen Teil der Beschreibung kapiere ich nicht bzw. es funktioniert bei mir nicht:

    add_action(‘init’, ‘abc_plugin_init’ );
    function abc_plugin_init() {
    load_plugin_textdomain( ‘abc_text_domain’ );
    }

    (Dieser Code soll irgendwo in der Hauptdatei des Plugins eingebunden werden.)

    Angenommen die Textdomain des zu “internationalisierenden” Plugins heißt “car”, meine Textdomain aber heißt “ferdi”, muss ich dann den oben stehenden Code so abändern:

    add_action(‘init’, car_init’ );
    function car_init() {
    load_plugin_textdomain( ‘ferdi’ );
    }

    ??

    Falls ja: Was muss ich dann noch tun? Muss ich die mo-Sprachdatei umbenennen? Wo lade ich sie hin?

    Danke für eine Antwort im Voraus.

    Grüße

    Ferdinand

  62. Angelina sagt:

    Uff! Na du stellst Fragen. smilie Ich muss ehrlich zugeben, da bin ich überfragt, denn ich habe bisher nur Themes internationalisiert. Da muss ich dich leider bitten, dich an die Autorin des Plugins zu wenden! smilie

  63. codestyling sagt:

    Hi Angelina,
    ich finde diesen Artikel zu Thema Lokalisierung ein gelungene Arbeit. Ich selbst beschäftige mich schon seit längerer Zeit aus Richtung Programmierung damit.
    Was mich am meisten am gettext Thema gestört hat, war die Notwendigkeit von PoEdit und die mühsame Kontrolle der Übersetzungen.
    Deshalb hab ich ein WP Plugin geschrieben, das den PoEdit ersetzt und die Übersetzung direkt in WP selbst erlaubt und *.po/*.mo korrekt erzeugt, die man sofort prüfen kann durch reload in eine Browser-Tab mit dem “Zielobjekt”. Auch das Einlesen der PHP Dateien wird erledigt. Wenn dich das interessiert, hier der Link: Plugin: Codestyling Localization
    Ich denke, das würde so manches vereinfachen beim Lokalisieren von Themes und Plugins.

  64. Chris sagt:

    Hi,

    arbeite gerade dein Tutorial durch und habe festgestellt, dass das englische WP 2.6.2 bereits von Haus aus die schema.php auf 200 geändert hat. Man muss also jetzt selbst nichts mehr ändern.

    Grüße Chris

  65. Ben sagt:

    Moinsen, super vielen Dank für die Anleitung.
    Was bei mir nur nicht wirklich funktioniert ist der RSS Feed. Wenn ich den aktualisiere lädt er mir nur den englischen Artikel runter. Die Deutschen werden überhaupt nicht geladen… Hast du eine Idee wie ich das lösen könnte?
    Danke schon mal und viele Grüße
    der Ben

  66. TomPress sagt:

    Hallo Zusammen.
    ohne diese schöne Anleitung hätte ich nicht so einen tollen Sprachen-Umschalter auf meiner Webseite. Er funktioniert prächtig.
    Nur leider hab ich erheblich Probleme mit einigen Plug-Ins.
    ich bin kein Programmier und nutze PHP-code nur nach Try&Error.
    So hab ich es mit Nutzung des Befehls “apply_filters(’the_title’, $title)” geschafft einige Plug-Ins umzubauen, sowie auch mein Theme anzupassen.

    Bei den Plug-Ins, wo es nicht funktioniert, muss ich irgendetwas übersehen haben, oder es ist hier nicht erwähnt.
    Erfolgreich abgeänderte hab u.a.:
    - wordpress Navigation List NAVT
    - Theme ZyRed/Zyblog

    Erfolglos war ich z.B. bei
    - Seo TitleTag
    - gd-pages-navigator
    Durch testweisen Austausch von Klartext statt den Variablen Strings bin ich mir sicher, dass ich die richtige Stelle gefunden habe.

    Bau ich den Filter ein, geschieht gar nichts. Keine Fehlermeldung, nix. er wird einfach ignoriert.

    Würde mich freuen, wenn hier nun andere ihre Erfahrungen mitteilen.

    neugierige Grüße auf eure Antworten,
    Tom

  67. Angelina sagt:

    @Chris: Ja, ich muss mal die Übersetzung aktualisieren smilie Im Original Artikel steht das nämlich auch so drin.

    @Ben: Es müsste zwei Feeds geben, einen englischen und einen deutschen. Die sind getrennt und je nach Permalink sehen sie so aus:
    http://www.angis-blog.de/feed/?langswitch_lang=en
    http://www.angis-blog.de/feed/?langswitch_lang=de
    (Weiterleitung des englischen klappt bei mir nicht, weil ich Feedburner benutze und man im Plugin nur einen eintragen kann)

    @TomPress: Oh weia, da bin ich leider überfragt smilie hab das selber erst bei einem einzigen Plugin hinbekommen, A year before. Ich kann nämlich auch nicht wirklich mehr als Try & Error smilie

  68. krabbe sagt:

    Hallo angi,
    vielleicht erinnerst du dich, du hast mir vor ca. 2 jahren sehr mit dem plugin geholfen (unter dem namen kruisko?). Daraus ist dann diese seite geworden: 17hippies.de
    Jetzt sitze ich gerade an nem upgrade der seite, wp 2.7 mit angepasstem k2-theme und merke, die seite lahmt. Im wordpress-forum wies mich jemand auf die anzahl der db-queries hin (428) und ich habe herausgefunden, daß bei deaktiviertem language switcher nur noch ca. 30 abfragen erfolgen… wie kann das sein? ist das so? der link zur baustellenseite ist HIER
    Nicht dass das die seite schneller macht, mein eigentliches problem besteht weiterhin (die seite hat ladehemmung), aber interessant ist das schon, gelle?
    Vielleicht weißt du mehr…
    Lieben gruß,
    krabbe * kruisko * wer auch immer

  69. Angelina sagt:

    Damit habe ich mich ehrlich gesagt noch nie beschäftigt. Bei mir lief bisher immer alles ordentlich, daher habe ich keine Ahnung ob das normal ist mit den vielen Queries. Da müsstest du mal auf Poplarware nachfragen, wo das Plugin herkommt. Sorry! smilie

  70. krabbe sagt:

    Ja, werd ich bei gelegenheit mal machen.
    Die 400 extra-abfragen sind auch nicht wirklich spürbar. also kann es so schlimm nicht sein…
    Grüße…

  71. kristian sagt:

    Hi,

    Ich bekomme das plugin einfach nicht zum Laufen und bin am Verzweifeln. Wenn ich das Plugin aktiviere ist das Admin-panel auf Englisch, wenn ich es deaktiviere ist es auf Deutsch ?? Wenn ich auf meiner webpage auf die deutsche Flagge klicke wird gerade “language” in “sprache” übersetzt, der Rest bleibt sich gleich (english).

    WordPress V. 2.7.1 (wie empfohlen die englische Version installiert… dann weil es erst alles nur Englisch war, das deutsche Sprachpaket (de_DE) in der wp-config.php definiert. Es bleibt alles englisch bis ich das plugin deaktiviere.

    Hab das neueste Update fuer 2.7.1 installiert… auch hier ändert sich nichts.

    Hat da irgenjemand eine Idee zu? Ich fänd die Multilingualoption ja ganz toll!

    Danke und Gruss

  72. Angelina sagt:

    Artikel komplett gelesen? smilie
    Die Sprachdatei muss de.mo heißen, nicht de_DE.mo. Dementsprechend auch der Eintrag in der Config de statt de_DE. Sonst funktioniert das Plugin nicht!

    Das scheint mir die naheliegendste Lösung für dein Problem zu sein. Ansonsten wäre es noch möglich dass dein Theme nicht gettexted ist oder dass keine Sprachdatei für das Theme vorhanden ist. (Die sollte natürlich auch auf de.mo enden.)

  73. kristian sagt:

    Aaaaarrrrrrrrrrrrrrrrrrrrrrrrrrrr smilie

    Natuerlich hab ich es gelesen… 100.000 mal den ganzen Abend smilie Habs gearde ausprobiert. Genau das war das Problem. Verdammt, wie konnte ich das nur uebersehen?

    Danke, Angi, danke fuer die schnelle Hilfe.
    Funktioniert super… fast jedenfalls. Im Theme geht noch nicht alles, aber das bekomm ich hin…. steht ja alles hier auf der Seite smilie

  74. Fan! sagt:

    Man is das geil! nur ich hab jetzt eben das wort “geil” immer 10 mal normal auf der page stehen^^ ansonsten wird alles wunderbar übersetzet! Geiles Plugin! Hab auch die ganzen Schriften installiert also kann garantieren das des auch geht^^

    smilie

  75. Susanne sagt:

    Ich würde gerne unseren Blog zweisprachig laufen lassen. Was muss ich beachten, wenn ich den Blog in deutsch und italienisch laufen lassen will?
    Danke

  76. Angelina sagt:

    Da gibt es nichts spezielles, lies dir einfach den Artikel gründlich durch und befolge die Anweisungen. smilie

  77. Fritzchen sagt:

    Bin total an verzwefeln, hab alles von anfang an gemacht, aber das Admin Menü bleibt englisch und der Theme bleibt auch in Englisch und wenn ich den theme bei einem reinen deutschen wp installier, dann is er plötzlich auch auf deutsch smilie(

    HILFE

  78. Angelina sagt:

    Wie lautet der WP-Lang Eintrag in der wp-config und wie heißt die Sprachdatei?

  79. Fritzchen sagt:

    also die sprachdatei in der /wp-content/languages/ heißt de.mo und in der config steht define (‘WPLANG’, ‘de’);

    ich bin langsam echt am verzweifeln

  80. Angelina sagt:

    Hmm welche Sprache hast du zuletzt angeklickt? Wähl mal Deutsch aus.

    Und sind die Sprachen auch in den Language Switcher Einstellungen richtig definiert? Ist dort deutsch als Standardsprache eingetragen?

  81. Fritzchen sagt:

    ja, das admin menü hab ich soweit hin nur bekomme ich nun im frontend folgende meldung wenn ich ne sprache auswähle, hier als beispiel french

    Project-Id-Version: WordPress 2.7.1 Report-Msgid-Bugs-To: wp-polyglots@lists.automattic.com POT-Creation-Date: 2009-02-10 20:55+0000 PO-Revision-Date: 2009-02-10 23:18+0100 Last-Translator: Amaury BALMER Language-Team: WordPress-Francophone (www.http://wordpress-fr.net/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rosetta-Version: 0.1 X-Poedit-Country: FRANCE X-Poedit-SourceCharset: utf-8 X-Poedit-KeywordsList: _e;_c;__ X-Poedit-Basepath: . Plural-Forms: nplurals=2; plural=n>1 X-Poedit-Language: French

  82. Fritzchen sagt:

    Wenn ich einen Eintrag nicht in eine Sprache übersetzt habe, hätte ich es gerne, dass dieser dann in keiner anderen Sprache erscheint, also auch nicht der “Missing Text” hinweis. Wie erreiche ich das??

  83. Angelina sagt:

    Sind denn die Fehlermneldungen mittlerweile weg? Die sind sehr seltsam, habe ich bisher noch nie gesehen.

    Hmm, versuch einfach mal den Missing Text Eintrag leer zu lassen *vorschlag*

  84. Fritzchen sagt:

    nein, leider sind die fehlermeldungen noch da. find ich nichts dazu im netz smilie

  85. Fritzchen sagt:

    Sooo die Fehlermeldung habe ich raus. <– das darf in keiner Theme DAtei stehn, wenn man mehrere Sprachen benutzen möchte. Nun muss ich nur noch rausfinden, wie das ganze geht, das wenn er einen Eintrag in nicht der Sprache hat, gar nichts anzeigt smilie

  86. Fritzchen sagt:

    Also ich meine das er den kompletten eintrag ausblendet. Bis jetzt macht er das ja nur bei dem Text, das “Geschrieben von xxx am xx” steht da noch und die Tags und Kommentar optionen, aber die sollen ja alle raus smilie

  87. Fritzchen sagt:

    Ach und die Stichworte müssen sich ja nach Sprache ändern, also bei spanischen muss ich ja eigentlich andere angezeigt bekommen, als bei deutschen

  88. Angelina sagt:

    Hmm das mit dem Eintrag komplett ausblenden dürfte schwer werden. Da musst du mal bei der Pluginautorin nachfragen ob sich sowas einbauen lässt, mal eben so codieren ist da nicht drin denke ich.

    Stichworte sind Tags nehme ich an? Hast du die denn zweisprachig eingegeben?

  89. Besten Dank! Das funktioniert echt super!!!!

  90. John Doe sagt:

    Hallo,
    allem voran, die Anleitung ist klasse.
    Hat mir sehr geholfen einen mehrsprachigen Blog zu basteln, jedoch habe ich Angst das es so zu dupicate Content kommen kann !? Oder ist meine Angst unberechtigt?
    Denn http://www.url.com/crazy-post/langswitch_lang/de ist ja das selbe wie: http://www.url.com/crazy-post/ sofern der Cookie gesetzt ist… Ich frage mich überhaupt, wie ich Google das richtig erkläre, dass die Seite 2 Sprachig ist und er auch alles schön indexiert….

    MFG

  91. Marc sagt:

    eine kurze frage: beherrscht language switcher die zweite sprache auf für seiten-namen?
    bis jetzt benutze ich seit kurzem polyglott und bin auch sehr zufrieden damit – bis auf die fehlende unterstützung für die seitentitel (der statischen seiten).
    siehe hier

  92. Angelina sagt:

    Ja, auch Seitennamen können übersetzt werden, und nicht nur das sondern eigentlich so ziemlich alle Inhalte. Language Switchet ist um Längen besser als Polyglot, da es sich im Grunde um eine umfassende Weiterentwicklung handelt. smilie

  93. c-r-u-x sagt:

    Ich verwende Language Switcher mit dem Suffusion Theme und bekomme nun bei der Zeitanzeige folgende Doppelanzeige: http://www.c-r-u-x.de/date_error.png
    Kann mir jemand sagen, wo und wie ich das beheben kann? Vermutlich muss ich das Theme editieren – nur was genau muss ich da wo ändern?

    Ich würde mich sehr über eine Antwort per Mail (mein Name über diesem Post müsste mit meiner E-Mailadresse verlinkt sein) oder als Kommentar hier freuen! smilie

    Danke,
    c-r-u-x

  94. Angelina sagt:

    Kannst du mal einen Link zu dem Theme posten, dann kann ich es mir herunterladen und schauen ob ich den Fehler finde. smilie Datum und Uhrzeit werden von LanguageSwitcher überschrieben, daher vermute ich dass da irgendwo etwas mit dem Zeitformat für Verwirrung sorgt.

  95. Sandra sagt:

    Finde ich echt witzig diese vielen Smileys hier smilie Aber nun zu meinem anliegen. Kann man auch von italienisch auf englisch übersetzen oder immer nur von deutsch? Das habe ich nicht ganz kapiert leider. Sandra

  96. Angelina sagt:

    @Sandra: Schön dass die Smilies dir gefallen. Für Shoplinks sind sie allerdings nicht da, deshalb habe ich diesen entfernt. Deine Frage beantwortet sich von selber, wenn du den gesamten Beitrag lesen würdest – was bei mir den Verdacht nahelegt, dass es sich um einen ausschließlich werbezweckmäßigen Kommentar handelt. Falls das nicht der Fall sein sollte – ja, kann man. Wie genau? Beitrag aufmerksam lesen, denn dort steht alles drin smilie

  97. Paul sagt:

    Hallo Angis,

    ahhhhhh HILFE!
    Nach einer ewigen Sucherei bin ich fündig geworden und musste feststellen,dass es dieses Plugin ja gar nicht mehr gibt?

    Was mache ich denn nun?

    Ich danke die im Vorraus,

    Paul

10 Trackbacks

  1. [...] “Language Switcher” bevorzugt. Eine tolle deutsche Anleitung zur Integration bietet Angelina, welche ebenfalls mit Ihrem Blog als Beispiel [...]

  2. [...] Ich experimentiere momentan mit dem LanguageSwitcher Plugin, falls Teile des Blogs in einer anderen Sprache erscheinen bitte nicht wundern. Tausend Dank an die wunderbare Anleitung von Angi’s Blog. [...]

  3. [...] Jennifer Hodgdon’s Plugin ist also schon eine tolle Sache, aber mindestens genau so toll ist dazu verfasste detailierte Installationsanleitung die einem alles über das Einrichten eines gut funktionierenden multilingualen Blogs verrät. Eine tolle Sache ist auch die von J. “Angi” Kranz übersetzte deutsche Fassung. [...]

  4. [...] “Language Switcher“. Eine detaillierte Anleitung zur Installation kann man auf Angis Blog finden. Hat jemand Erfahrung mit diesem Plugin, würde ich mich über eine Hilfeanbietung freuen, [...]

  5. [...] könnten sich für das Language Switcher Plugin (LSP) interessieren, dessen Installationsanleitung galant als komplex zu bezeichnen ist. In LSP werden [...]

  6. [...] könnten sich für das Language Switcher Plugin (LSP) interessieren, dessen Installationsanleitung galant als komplex zu bezeichnen ist. In LSP werden [...]

  7. [...] Installations-/Konfiguartionsanleitung dazu in Englisch gibt es direkt auf der Plugin-Seite. Auf Angi’s Blog findet man auch eine passende Übersetzung in [...]

  8. [...] rest is here: Angi’s Blog » Language Switcher WordPress Plugin Comments0 Leave a Reply Click here to cancel [...]

  9. [...] (Wer auch möchte, ich nutze das Language Switcher Plugin, zu dem es hier eine wunderbare Übersetzung der Installationsanweisungen ins Deutsche [...]

0 Tweetbacks

  1. @planetsab this might help: WordPress language switcher plugin (description in German): http://tinyurl.com/afljrm

  2. Tschigo sagt:

    @piloly http://bit.ly/aTjEbh mit einen Plugin, dann ist es leichter die Seiten/Posts zu verwalten http://bit.ly/9qeTnZ

Einen Kommentar hinterlassen

smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie