是否有可能在jQuery中实现wordpress函数(_e
)以使用WPML翻译字符串?
我想用jQuery在一些div中添加一些文本,并能够用WPML翻译这个字符串。
$('#MyDiv').html(<?php _e('Text to translate', 'woocommerce'); ?>);
它不起作用,有什么办法吗? 提前致谢
[ANSWER]
@Mukesh Ram,谢谢你的回答,但我不太了解,就像我有这个代码一样;
$(function() {
var left = 35,
$engraved = $('#MyDiv');
$engraved.closest('li').append('<span id="engraved_counter"></span>');
$('#engraved_counter').html("<?php __('Text to translate', 'woocommerce'); ?> <strong>" + left + "</strong>");
$engraved.keyup(function () {
left = 35 - $(this).val().length;
if(left < 0){
$('#engraved_counter').addClass("overlimit");
left = 0;
}if(left >= 0){
$('#engraved_counter').removeClass("overlimit");
}
$('#engraved_counter').html("<?php __('Text to translate', 'woocommerce'); ?> <strong>" + left + "</strong>");
});
});
你能告诉我,我怎么能实现你给我的代码?
$translation_array = array( 'some_string' => __( 'Some string to translate' ), 'a_value' => '10' );
wp_localize_script( 'some_handle', 'object_name', $translation_array );
谢谢你的闪电。
[解决]
只需将代码放入你的孩子function.php中,如上所述:
function add_scripts_to_head() {
wp_enqueue_script( 'custom-js', 'www.mysite.com/js/custom.js' );
$translation_array = array(
'remain_text' => __( 'Maximum number of characters : ', 'woocommerce' )
);
wp_localize_script( 'custom-js', 'count_text', $translation_array );
}
add_action( 'wp_enqueue_scripts', 'add_scripts_to_head' );
并将其称为 js 文件,如下所示:
$('#MyDiv').html(count_text.remain_text);
谢谢!
答案 0 :(得分:6)
如果您想使用jQuery翻译某些内容,则需要对脚本进行本地化。
$translation_array = array( 'some_string' => __( 'Some string to translate' ), 'a_value' => '10' );
wp_localize_script( 'some_handle', 'object_name', $translation_array );