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:
_e()
und __()
ruft eingebettete js in der Fußzeile auf jede Hilfe wird geschätzt
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' ); }