.mo-Übersetzungszeichenfolgen werden nicht in PHP-Skripts geladen, die AJAX-Aufrufe verarbeiten

Mit dem Standard __('some-string', 'myplugin') für Übersetzungen werden Strings für ein japanisches (ja) Gebietsschema in allen anderen functionen und Skripten als meinen AJAX-functionen korrekt geladen.

Meine-Plugin.php:

 *Text Domain: myplugin *Domain Path: /languages/ */ add_action( 'init', 'myplugin_load_textdomain' ); function myplugin_load_textdomain() { load_plugin_textdomain( 'myplugin', false, basename( dirname( __FILE__ ) ) . '/languages' ); } require_once(basename( dirname( __FILE__)."/classes/myplugin_handler.class.php"); global $myplugin_handler; $myplugin_handler = new myplugin_handler(); 

myplugin_handler.class.php:

 class myplugin_handler { public function __construct() { add_action('wp_ajax_myplugin_ajax', array($this, 'myplugin_ajax_handler')); add_action('wp_ajax_nopriv_myplugin_ajax', array($this, 'myplugin_ajax_handler')); } public function myplugin_ajax_handler() { if ($_POST['action'] != 'myplugin_ajax') { wp_die(0); } if (!check_ajax_referer('myplugin-ajax-nonce', 'security')) { wp_die(0); } $closemsg = __('Close', 'myplugin'); wp_die($closemsg); } } 

Schließen sollte zu translate じ る übersetzen, tut es aber nicht. Wo Übersetzung funktioniert:

  • Plugin-function ruft vom Thema auf
  • Plugin-function ruft von einem Admin-Bildschirm
  • _e() und __() ruft eingebettete js in der Fußzeile auf
  • scheinbar überall sonst außer AJAX-functionen

jede Hilfe wird geschätzt

Solutions Collecting From Web of ".mo-Übersetzungszeichenfolgen werden nicht in PHP-Skripts geladen, die AJAX-Aufrufe verarbeiten"

Ich denke, Sie müssen die Übersetzungen nur früher laden, um sie für Ajax-Hooks verfügbar zu machen:

 add_action( 'plugins_loaded', 'myplugin_load_textdomain' ); function myplugin_load_textdomain() { load_plugin_textdomain( 'myplugin', false, basename( dirname( __FILE__ ) ) . '/languages' ); }