=
3.235.45.196

Daschmi's Notizblog

Logo des Etikators - Tool um online drucken von Etiketten für selbst angefertigte Tinkturen

WordPress Sprache für eine Domain ändern

Erstellt in Plugins am 22. November 2012

Im wpShopGermany ist es notwendig bestimmte Aktionen (Mail, Template und PDF Generierung) die Sprache des Backends zu ändern. Hat beispielsweise ein Kunde mit der Sprache Englisch bestellt, das Backend läuft aber in deutscher Sprache so werden normalerweise alle vom Backend ausgelösten Aktionen (Rechnung, Mail etc.) in der Sprache des Backends ausgeführt.

Um diesses Problem zu löscen wurde ab der Version 3.0.0 die Sprache während der Bestellung mitgespeichert. Damit nun im Backend die Sprache umgestellt werden kann wird vom wpShopGermany ab Version 3.0.9 die Übersetzung in der entsprechenden Sprache nachgeladen. Dies geschieht durch folgenden Aufruf:

load_textdomain('wpsg', dirname(__FILE__).'/../lang/wpsg-'.$locale.'.mo');

in der Variable $locale ist die Sprache während der Bestellung gespeichert (z.B. us_US)

Damit man nach der Aktion in der anderen Sprache wieder auf die Originalsprache wechseln kann sollte man die Übersetzung der Domain vorher sichern:

$old_l10n = clone $l10n['wpsg']; 

Die Variable $l10n ist dabei eine globale Variable. Das zurückschalten geschieht wie folgt:

$l10n['wpsg'] = clone $old_l10n;