私は自分のプラグインを持っています:
form.jsでは、js_lang.phpのvar(msg_must_match)を使います。
function inputsMatch( inputTypes, idInputReferring, idInputRepeat ){
var inputReferring = document.getElementById( idInputReferring );
var inputRepeat = document.getElementById( idInputRepeat );
var checkPasswordValidity = function() {
if (inputReferring.value != inputRepeat.value) {
inputRepeat.setCustomValidity( msg_must_match /*<-- here*/ );
} else {
inputRepeat.setCustomValidity('');
}
};
inputReferring.addEventListener('change', checkPasswordValidity, false);
inputRepeat.addEventListener('change', checkPasswordValidity, false);
}
私のjs_lang.php私はmy-plugin-domain-fr_FR.poをうまくロードできないように翻訳を管理しています
$locale = "fr_FR";
putenv("LANG=".$locale);
setlocale('LC_ALL', $locale);
bindtextdomain("my-plugin-domain", "./locale/");
textdomain("my-plugin-domain");
$str = 'It is must match with the previous input';
?>
msg_must_match = "<?php echo gettext( $str ); ?>"
.poファイルを正しく読み込めません。誰かが私を助けることができる?これを行う簡単なワードプレスの方法はありますか?
これを行うためのWordPressの方法はwp_localize_script()
関数です。
スクリプトをエンキューするときは、wp_localize_script()
への呼び出しも追加します。
wp_register_script( 'my-script', 'path/to/script.js' );
wp_localize_script( 'my-script', 'myScript', array(
'msg_must_match' => __( 'Message must match', 'my-plugin-domain' ),
) );
これは、3番目の引数で配列として渡されるキーと値を含むmyScript
というグローバルJavaScriptオブジェクトを作成します。だからあなたはWordPressの翻訳機能を使って文字列を渡すことができます。
それからあなたのスクリプトであなたの文字列のためにそれらの値を使うことができます:
inputRepeat.setCustomValidity( myScript.msg_must_match );