dynamicinternet Webdesign

Das Blog

Themen, Tutorials sowie Tipps & Tricks über Webdesign, (X)HTML und CSS, Programmierung, WordPress und was uns sonst noch bewegt.

RSS abonnieren

WordPress Childtheme lokalisieren

Passend zu meiner Timeline hat sich Heiko aufgemacht, sein Plugin Codestyling Localization zu überarbeiten :) . Ich will bei einer Multisite-Installation die Sprachen Deutsch und Englisch mit einem Childtheme fahren. Alles auf der Basis von Xtreme One ( was sonst ;) ). Da dieses Childtheme einige erweiterte Funktionen hat, ist es erforderlich, diese auch zu übersetzten.

Da Heikos Plugin jetzt auch Childthemes richtig behandelt, war es keine Schwierigkeit. Ich habe für das Childtheme eine eigene Textdomain definiert, die nur die zusätzlichen Strings erhält, die nicht durch das Framework abgedeckt sind.
In die functions.php des Childthemes wird die Child-Textdomain gelanden ( Achtung: geht erst ab WordPress 3.0 ):

function x_theme_setup() {
    load_child_theme_textdomain( 'childtheme-textdomain', apply_filters('stylesheet_directory', get_stylesheet_directory() ) . '/languages' );
}
add_action ('after_setup_theme', 'x_theme_setup' );

Achtet darauf, get_stylesheet_directory() zu verwenden und nicht get_template_directory(), das wäre dann der Pfad zum Framework.

5 Kommentare
  1. Dieter sagt:

    Mir ist schon aufgefallen, dass Dein Xtreme Framework beim Plugin Codestyling Localization sowohl beim Framework als auch bei den Childthemes Sprachdateien erkennt. Super!!!

    Habe das sehr zu empfehlende Plugin Codestyling Localization im Zusammenhang mit dem Testen Deiner Beta des Xtreme Frameworks schon erfolgreich eingesetzt. Kann diese Kombination nur wärmstens empfehlen.

  2. Micha sagt:

    Ich muß nur noch einmal die Sprachdatei mit der letzten Version von dem Plugin durchlaufen lassen. Dort hat Heiko nochmal was gefixt.

  3. Meli sagt:

    Hallo,

    ich habe eine kurze Frage. Ich versuche auch grad die Spracheinstellungen für mein eigenes Childtheme zu ändern und das funktioniert einfach nicht. Ich hab das mal so eingebunden in die functions.php

    “otagotypeart” ist dabei mein ChildTheme ordner name. Sprachdateien sind im languages ordner.

    function otagotypeart_setup() {
    load_child_theme_textdomain( 'otagotypeart', apply_filters('stylesheet_directory', get_stylesheet_directory() ) . '/languages' );
    }
    add_action ('after_setup_theme', 'otagotypeart_setup' );

    Theoretisch sollte es ja so irgendwie schon gehn oder? Tuts aber nicht. Vielleicht könnt ihr mir ja helfen

  4. Micha sagt:

    Deine Funktion ist soweit richtig. Ausserdem müssen deine Sprachdateien de_DE.mo und de_DE.po heißen. Im Theme selber muß der zu übersetztende Teil dann so aussehen: __('Hello World!', 'otagotypear'). Also otagotypear ist deine Textdomain. Verstanden?

  5. Meli sagt:

    Achso! Also muss ich dann einfach noch die php-Dateien anpassen. Jetzt weis auch mal für was das gut ist. Wieder was gelernt und gelöst, funktioniert super ! =) Vielen Dank

Einen Kommentar schreiben