Probleme mit Sprachdatei - de_DE.mo und po

  • Moin miteinander,

    mein Theme hat eine eigene Sprachdatei, welche ich nun etwas geändert habe. Es geht um folgenden Übersetzungstext.

    1. items = Artikel
    2. [COLOR=#535353][FONT=PT Sans]There are no reviews yet, would you like to [/FONT][/COLOR]submit yours[COLOR=#535353][FONT=PT Sans]? = [/FONT][/COLOR]Es gibt noch keine Bewertung... usw.

    Ich habe nun mit Poedit die Sprachdatei aktualisiert. Andere Übersetzungen funktionieren wie z.B. Item - was ich mal zum Test auf Artikelll umgestellt habe. Es ist also auf jeden Fall die richtige Sprachdatein.

    Nr 1. habe ich über einen Texteditor zur _po - Datei hinzugefügt. Nr 2. war schon vorhanden.

    Im php_code sieht das so aus...

    PHP
    else :
            $title_reply = __('Be the first to review', 'woocommerce').' “'.$post->post_title.'”';
            echo '<p>'.__('There are no reviews yet, would you like to <a href="#review_form" class="inline show_review_form">submit yours</a>?', 'woocommerce').'</p>';
        endif;
    PHP
    .sprintf(_n('%d item', '%d items', $cart_count, 'framework'),

    Also ich sehe da am Code keinen Fehler - was muss ich den noch ändern damit die Sprachdatei funktioniert? Steh mal wieder auf dem Schlauch..

    Schönen Gruß


    Martin

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Moin,

    soo - ich hab das nun mal mit einer gettext.php Anweisung überschrieben. Ist natürlich nicht optimal - aber besser als nichts vorerst.

    Das komische ist nun, das der längere Text richtig übersetzt wird. Das "items" erscheint beim Laden der HP erst richtig - nach knapp 2 - 3 Sekunden springt es aber wieder auf Englisch um?!?!

    PHP
    add_filter('gettext', 'translate_reply');add_filter('ngettext', 'translate_reply'); function translate_reply($translated) {$translated = str_ireplace('items', 'Artikel', $translated);$translated = str_ireplace('There are no reviews yet, would you like to <a href="#review_form" class="inline show_review_form">submit yours</a>?', 'Es gibt noch keine Bewertung. Willst du <a href="#review_form" class="inline show_review_form">deine einreichen</a>?', $translated);return $translated;}

    Schönen Gruß

  • 1. zum Übersetzen hol dir das Plugin Loco Translate => einfacher gehts nicht

    2. schau mal unter WOOCommcerce => Systemstatus==> Reiter: Tools => in der langen Liste recht weit unten: Aktualisierung der Übersetzung => erzwingen

  • Moin Monika (immer die gleichen Verdächtigen hier),

    Zu 2.: Das mit dem Aktualisieren der Übersetung hab ich schon probiert - das bezieht sich doch auf die von WooCommerce installierte Sprachdatei...

    Zu 1.: Kuck ich mir gleich mal an -> ist das denn besser als mit gettext herumzuspielen? Erstellt das eine Sprachdatei oder arbeitet auch über gettext - zweiteres soll ja angeblich ordentlich Ressourcen ziehen.

    Zu .po .mo -> was ich halt nicht verstehe, warum einige texte richtig übersetzt werden - und andere nicht? Gibts da irgend nen speziellen Syntax den man beachten muss?

    Schönen Gruß

  • wenn du die Sprachdatei zb mit PoEdit bearbeitest und da nicht alle verwendeten Schlüsselwörter drin sind

    hier erklärt
    http://www.texto.de/wordpress-them…-anleitung-553/

    hast du Probleme


    mit LocoTranslate kannst du die Sprachdatei sogar vorm Überschreiben sichern indem du sie unter wp-content/languages/ speicherst

    außerdem kümmert sich das Plugin um alle Besonderheiten => Name der Datei etc etc...

    auf etwaiges Caching nicht vergessen, wenn du damit arbeitest und kontrollieren willst.
    Damit mein ich nicht nur den Browsercache, sondern auch ein etwaiges Cache Plugin von WP

  • Hey - is ja super!

    Probier ich doch gleich mal! Ich hab mein Pagecaching Plugin (W3) immer deaktiviert wenn ich am Code arbeite. Mein Theme hat eine Sprachdatei im wp-content/language - das ist die officielle von Wordpress - ist zu 100% übersetzt. Eine zweite Sprachdatein ist im Themeordner integriert. Die hab ich zu knapp 25% übersetzt. Die funktioniert ja auch - eben offensichtlich nur nicht immer.

    Gut - ich schmeiß das Gettext im functions.php mal wieder raus und probier das Plugin... Sicherlich ein cooler Tip für die Zukunft.

    Vielen lieben Dank!

  • Hi

    hab mir deine Anleitung durchgelesen... Nun - kann es sein das es mit den Schlüsselwörtern zusammenhängt? Eingetragen sind in die Themesprachdatei jene: _e, _n, __, gettext, gettext_none, und _.

    Sooooo Nun steht bei meinem langen Satz ja .__ und nicht __?!? Mein zweiter Codeschnippsel ist wohl was anderes und hat mit der Übersetzung nichts zu tun...

    [COLOR=#007700][FONT=monospace].[/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]__[/FONT][/COLOR][COLOR=#007700][FONT=monospace]([/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]'There are no reviews yet, would you like to <a href="#review_form" class="inline show_review_form">submit yours</a>?'[/FONT][/COLOR][COLOR=#007700][FONT=monospace], [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]'woocommerce'[/FONT][/COLOR][COLOR=#007700][FONT=monospace]).

    [/FONT][/COLOR]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!