使用WPML进行jQuery for Wordpress翻译的PHP

时间:2016-05-11 14:11:33

标签: php jquery wordpress wpml

是否有可能在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);

谢谢!

1 个答案:

答案 0 :(得分:6)

如果您想使用jQuery翻译某些内容,则需要对脚本进行本地化。

 $translation_array = array( 'some_string' => __( 'Some string to translate' ), 'a_value' => '10' );
 wp_localize_script( 'some_handle', 'object_name', $translation_array );