• Resolved anikoni

    (@anikoni)


    Hallo,
    ich würde gerne ein paar Texte ändern, z.B. ” Umsatzsteuerbefreit gem. §19 (1) UStG” statt “Kein Mehrwertsteuerausweis, da Kleinunternehmer nach §19 (1) UStG.” Normalerweise nutze ich dafür LocoTranslate aber im frontent sind die gemachten änderungen nicht sichtbar. scheinbar wird immernoch die originalsprachdatei in /wp-content/plugins/woocommerce-germanized/i18n/languages geladen statt der von locotranslate erzeugten datei in wp-content/languages/plugins.
    In woocommerce-germanized.php habe ich folgende funktion gefunden:

    public function load_plugin_textdomain() {
    		$domain = 'woocommerce-germanized';
    		$locale = apply_filters( 'plugin_locale', get_locale(), $domain );
    
    		load_textdomain( $domain, trailingslashit( WP_LANG_DIR ) . $domain . '/' . $domain . '-' . $locale . '.mo' );
    		load_plugin_textdomain( $domain, FALSE, basename( dirname( __FILE__ ) ) . '/i18n/languages/' );
    	}

    Wenn ich das mit meinen mangelhaften php kenntnissen richtig verstehe, wird hier befohlen, die Textdomain aus dem Pluginordner und nicht aus dem globalen Sprachordner zu laden.
    Wie gehe ich nun am besten vor um meine Änderungen sichtbar zu machen? Kann ich etwas in meine functions.php einfügen um zu sagen von wo aus die sprachdatei geladen werden soll? Wenn ja – wie würde der entsprechende Code aussehen?
    Wäre suuuuper dankbar wenn mir jemand weiterhelfen könnte!
    Liebe Grüße!

    https://wordpress.org/plugins/woocommerce-germanized/

Viewing 9 replies - 1 through 9 (of 9 total)
  • Plugin Author vendidero

    (@vendidero)

    Hi,

    nein, keine Sorge. Es wird als erstes die Sprache in wp-content/languages/ gesucht – wenn dort also etwas liegt, sollte das auch verwendet werden. Ich habe das selbst auch mal getestet. Du müsstest sichergehen, dass du wirklich alle Strings zum Thema Kleinunternehmer (da gibt es mehrere) übersetzt hast.

    Grüße

    Thread Starter anikoni

    (@anikoni)

    Hi,
    danke! Ja ich habe definitiv alle übersetzt. Wenn ich die deutschen Sprachdateien aus dem Germanized Sprachorder lösche (so dass sie dann nur noch im globalen Sprachordner existiert), funktioniert auch alles und meine angepasste Übersetzung wird angezeigt. Sobald ich die deutschen Sprachdateien wieder in den Ursprungsordner lege, erscheinen wieder die Original-Übersetzungen :/

    Plugin Author vendidero

    (@vendidero)

    Hi,

    also am sichersten fährst du mit folgendem Ort für deine Übersetzung:
    wp-content/languages/woocommerce-germanized/

    Grüße

    Thread Starter anikoni

    (@anikoni)

    Hey,
    ja das hatte ich zwischenzeitlich auch probiert, hat auch funktioniert. Nur leider kann man bei LocoTranslate (noch) keinen alternativen Speicherort angeben. D.h. ich müsste die Übersetzungen immer manuell hin- und herschieben (zum Bearbeiten wieder in wp-content/languages/plugins und zum Anwenden wieder in wp-content/languages/woocommerce-germanized/)
    Liebe Grüße!

    Plugin Author vendidero

    (@vendidero)

    Hi,

    deshalb solltest du dafür am besten eine Software wie Poedit verwenden 🙂

    Grüße

    Thread Starter anikoni

    (@anikoni)

    Hä aber das machts doch noch komplizierter – ich habe ja kein Problem beim Bearbeiten der Datei sondern beim Laden. War vor einiger Zeit von Poedit auf LocoTranslate umgestiegen und es hat mir Ausnahme von Germanized alles super funktioniert. Habe mir den o.g. Code nochmals angeschaut. Das Problem ist einfach, dass
    load_textdomain( $domain, trailingslashit( WP_LANG_DIR ) . $domain . '/' . $domain . '-' . $locale . '.mo' );auf den Ordner wp-content/languages/woocommerce-germanized/ verlinkt und nicht – wie scheinbar seit WordPress 3.7. üblich auf wp-content/languages/plugins. Wenn ich den Code entsprechend wie folgt ändere, funktioniert alles und die Sprachanpassungen sind sichtbar:
    load_textdomain( $domain, trailingslashit( WP_LANG_DIR ) . ‚/plugins/‘ . $domain . ‚-‚ . $locale . ‚.mo‘ );
    Aber ich will ja nicht immer das Template bearbeiten. Gibts eine Möglichkeit dass du das entweder in kommenden Updates aktualisierst und damit dein Plugin mit Loco kompatibel machst oder mir einen Code verrätst, mit dem ich das über die functions.php bewirken kann?
    Vielen Dank schonmal!

    Plugin Author vendidero

    (@vendidero)

    Hi,

    keine Sorge, der Code funktioniert schon und ist korrekt. Wir machen das genauso, wie es WooCommerce macht. Da liegt also sicher kein Fehler. Du scheinst den Code auch falsch zu interpretieren. WP_LANG_DIR steht für den Ordner wp-content/languages/

    Grüße

    Thread Starter anikoni

    (@anikoni)

    Ja das hab ich schon verstanden. Und dann gehts weiter mit . $domain . '/' und das führt zu /woocommerce-germanized/. das funktioniert alles wenn man die sprachdatei in wp-content/languages/woocommerce-germanized/ legt aber dann ists halt nicht mit loco kompatibel, zumindest nicht ohne hin- und herschieben, weil loco und WordPress die Dateien seit WordPress 3.7 eben aus wp-content/languages/plugins laden. hat mir der Autor auch so bestätigt. aus dem Grund ist loco auch (noch) nicht mit woocommerce kompatibel. schade.

    Thread Starter anikoni

    (@anikoni)

    Wollte dem noch hinzufügen dass es mit Woocommerce ironischerweise trotzdem funktioniert, weil: Woocommerce lädt die Sprachdateien zwar genauso wie Germanized, allerdings hinterlegt Woocommerce die Sprachdateien im Gegensatz zu Germanized nicht Plugin-intern sondern direkt in wp-content/languages/plugins. Und da WordPress wie gesagt seit 3.7. standardmäßig in wp-content/languages/plugins sucht falls im Plugin-internen Ordner nichts gefunden wird, werden dann auch die richtigen Sprachdateien geladen. Falls der Code von Germanized also so bleiben soll und die Sprachdateien plugin-intern hinterlegt werden, wäre die nervige, aber zumindest relativ unkomplizierte Lösung einfach die, die Sprachdateien jedes Mal manuell aus /i18n/languages/ rauszulöschen.

Viewing 9 replies - 1 through 9 (of 9 total)

The topic ‘Texte ändern’ is closed to new replies.