首页 > 解决方案 > 我如何使用 WPML 翻译 javascript 中的 html 文本

问题描述

问题是:我想翻译 javascript 中的单词。我在 wordpress 中使用 WPML 插件。HTML 标记中的文本未显示在 WPML 字符串中

let html = `<div attrib class="applyOrCallLinkWrap byjs my-5">
            <div class="applyBtnWrap d-inline-block">
                <a href="/apply-now/" class="btn applyBtn orangeGrdBg thickRounded">
                    <span>**Apply Now**</span>
                    <i class="fas fa-arrow-right"></i>
                </a>
            </div>
            <div class="spratr d-inline-block">
                <span class="">**or**</>
            </div>
            <div class="callNowTxtWrap d-inline-block">
                **Call** <a href="${phoneLink}" class="header-phone-number-link header-phone-number">${phoneTxt}</a> **for instant approval** <sup>1</sup>
            </div>
        </div>`;

标签: javascriptwordpresswpml

解决方案


正如您在评论中提到的,您需要将所有字符串添加到数组并使用 wp_localize_script() 将数组传递给您的 JS:

$translation_array = array(
    'apply_now' => __( 'Apply Now', 'mytheme' ),
);

wp_localize_script( 'maxcashtheme-script', 'object_name', $translation_array );

然后在您的 JavaScript 中使用对象和密钥:

<span>${object_name.apply_now}</span>

最后,您需要在 wp-admin WPML > 主题和插件本地化 > 主题中的字符串中扫描您的主题。之后,该字符串应显示在WPML > String Translation中以供翻译。


推荐阅读