Übersetzen Sie das Plugin von Drittanbietern und speichern Sie Übersetzungsdateien in einem benutzerdefinierten Design

Ich verwende Codestyling-Lokalisierung und möchte ein Plug-In übersetzen und möchte, dass die Übersetzungsdateien im Übersetzungsverzeichnis im Design gespeichert werden, das ich erstelle und nicht im Plugins-Verzeichnis.

Ist das möglich?

Ich habe versucht, load_plugin_textdomain und load_textdomain aber das scheint nicht zu funktionieren.

 // Add localization load_theme_textdomain( 'my_theme', $translation_directory ); $domain = 'other_plugin'; $locale = apply_filters('plugin_locale', get_locale(), $domain); load_textdomain( $domain, WP_LANG_DIR.'/'.$domain.'/languages/'.$domain.'-'.$locale.'.mo'); load_plugin_textdomain( $domain, FALSE, $translation_directory ); 

Solutions Collecting From Web of "Übersetzen Sie das Plugin von Drittanbietern und speichern Sie Übersetzungsdateien in einem benutzerdefinierten Design"

Zunächst einmal würde ich dringend davon abraten, Übersetzungen für ein Plug-in in Ihrem Design zu speichern. Es gibt keinen Grund, dort zu sein, und Sie verlieren die Übersetzungen, wenn Sie das Thema ändern / aktualisieren.

Der richtige Ort, um Übersetzungen zu speichern, ist wp-content/languages/plugins/ .

Dieser Code tut das und zielt auf die Domain ‘other_plugin’:

 function wpse159536_override_mofile_path( $mofile, $domain ){ if( 'other_plugin' == $domain ){ $mofile = WP_LANG_DIR . '/plugins/' . basename( $mofile ); } return $mofile; } add_filter( 'load_textdomain_mofile', 'wpse159536_override_mofile_path', 10, 2 ); 

Eine noch bessere Lösung wäre natürlich, die Übersetzungsdatei an den Entwickler zu senden, um sie in die nächste Version aufzunehmen (falls dies angebracht ist).