Quantcast
Channel: Kommentare zu: WordPress Core Strings ohne Verlust beim nächsten Update überschreiben
Viewing all 17 articles
Browse latest View live

Von: Caspar

0
0

Danke für den sehr nützlichen Tipp! Zur Rettung meiner Ehre muss ich sagen: ich habe selbstverständlich keine Core-Datei überschrieben! ;) Bei mir sieht’s so aus:

function backend_custom_translations_de_DE( $text ) {    
    $words = array( 'Dashboard' => 'Übersicht' );    
    return str_replace( array_keys( $words ), $words, $text );
}
add_filter('gettext', 'backend_custom_translations_de_DE', 10, 4);
add_filter('ngettext', 'backend_custom_translations_de_DE', 10, 4);

Allerdings ist meine Lösung trotzdem weniger schlau, weil eben nur der String „Dashboard“ gefiltert wird, völlig unabhängig von den dazugehörigen bestimmten oder unbestimmten Artikeln. So liest man dann manchmal „das Übersicht“. Das lässt sich mit deiner Einbindung einer komplett eigenen Übersetzungsdatei natürlich gut beheben.


Von: Bernhard

0
0

Hey, den Filter “gettext” kannte ich ja noch garnicht. Der kann unter Umständen schon mal helfen. Aber ich denke mit meiner Lösung funktioniert das auch alles ohne diesen Trick.

Zur Verbesserung deiner Funktion hättest du natürlich auch Reguläre Ausdrücke verwenden können, um nur genau den String “Daahboard”, nicht aber String, mit dem Begriff “Dashboard” zu überschreiben. Aber ich poste hier jetzt mal keine bessere Lösung, sonst kommt noch jemand auf die Idee, diese auch zu verwenden, statt sauber eine Übersetzungsdatei zu verwenden ;)

Von: Caspar

Von: Caspar

0
0
Danke für den sehr nützlichen Tipp! Zur Rettung meiner Ehre muss ich sagen: ich habe selbstverständlich keine Core-Datei überschrieben! ;) Bei mir sieht's so aus: [php gutter="false"] function backend_custom_translations_de_DE( $text ) { $words = array( 'Dashboard' => 'Übersicht' ); return str_replace( array_keys( $words ), $words, $text ); } add_filter('gettext', 'backend_custom_translations_de_DE', 10, 4); add_filter('ngettext', 'backend_custom_translations_de_DE', 10, 4); [/php] Allerdings ist meine Lösung trotzdem weniger schlau, weil eben nur der String „Dashboard“ gefiltert wird, völlig unabhängig von den dazugehörigen bestimmten oder unbestimmten Artikeln. So liest man dann manchmal „das Übersicht“. Das lässt sich mit deiner Einbindung einer komplett eigenen Übersetzungsdatei natürlich gut beheben.

Von: Bernhard

0
0

Hey, den Filter “gettext” kannte ich ja noch garnicht. Der kann unter Umständen schon mal helfen. Aber ich denke mit meiner Lösung funktioniert das auch alles ohne diesen Trick.

Zur Verbesserung deiner Funktion hättest du natürlich auch Reguläre Ausdrücke verwenden können, um nur genau den String “Dashboard”, nicht aber Strings, mit dem Begriff “Dashboard” zu überschreiben. Aber ich poste hier jetzt mal keine bessere Lösung, sonst kommt noch jemand auf die Idee, diese auch zu verwenden, statt sauber eine Übersetzungsdatei zu verwenden 😉

Von: Caspar

Von: Willem-Siebe

0
0

Hi Bernhard,

As WordPress is made in Texas, all core strings are written in American English. If I need my website to display text in American English, but want to change some of the strings, what do I need to do then without changing the core?

Or can I use ‘default-en_US.mo’ with your textdomain-overwrite plugin?

Kind regards,

Willem-Siebe Spoelstra

Von: Bernhard

0
0

It should indeed be possible to have a file `deafult-en_US.mo` file with some changes to the translation. Just give it a try and report back, if it doesn’t work as expected.

P.S. Why do you think WordPress is made in Texas? 🙂


Von: Willem-Siebe

0
0

It worked :-).

P.S. Have read it somewhere WordPress started in Texas…

Von: Uli

0
0

Hey Bernhard,
nochmal eine Frage für Blöde. Hab´ jetzt dein plugin installiert und die Datei de_DE.mo in default-de_DE.mo neu abgespeichert und in das gleiche Verzeichnis geladen. wp-content/languages/

Was muss ich jetzt in deinem plugin genau abändern, damit er die default-de_DE.mo Datei verwendet? Kriege das irgendwie nicht hin. Danke für Deine Hilfe. Bin da jetzt schon seit 2 Tagen am rumprobieren.
Viele Grüße aus Hamburg.
Uli

Von: Bernhard

0
0
Hallo Uli, lies einfach nochmal <a href="https://github.com/2ndkauboy/textdomain-overwrite" rel="nofollow">in der Anleitung nach</a>. Dort steht, wie die Ordnerstruktur aussehen muss. In deinem Fall müsste die neue mo-Datei also folgenden Pfad haben: <code>wp-content/languages/overwrites/default-de_DE.mo</code>

Von: Uli

0
0

Danke Bernhard,
hat geklappt!! 🙂 Spitze!

Von: Volker

0
0

Hallo Bernhard,

bevor ich probiere, frag ich lieber: wie verhält sich Dein äußerst nützliches Plugin im Multisite-Modus?

Danke und Gruß,

Volker

Von: Bernhard

0
0

Hallo Volker,

auch in einer Multisite funktioniert es. Ein Feature, dass ich allerdings noch nachreichen möchte, ist die Steuerung von unterschiedlichen Übersetzungen pro Seite einer Multisite. Das ist aber nicht ganz so einfach. Wenn ich dazu aber eine Lösung gefunden habe, dann stelle ich es wohl ins Plugin-Verzeichnis.

Von: Sascha

0
0

Hallo Volker,

vielleicht eine blöde Frage: Wo muss die textdomain-overwrite.php hin???

Danke Dir

LG, Sascha


Von: Bernhard

0
0

Hallo Sascha,

du kannst die ZIP-Datei einfach über “Plugins -> Installieren -> Plugin hochladen” in deine WordPress Installation hochladen und dann aktivieren.

Von: Sascha

0
0

Hallo Bernhard (nicht Volker – sorry…)

das ist ja viel einfacher als ich dachte. Tausend Dank!

Beste Grüße

Sascha

Viewing all 17 articles
Browse latest View live




Latest Images