HTML 实体的 WordPress 翻译问题
WordPress translation issue with HTML enteties
我目前正在尝试翻译 WordPress 中的文本。问题是我正在尝试翻译 HTML 个字符,这些字符似乎在翻译过程中被转换了,但我需要它们,因为它们在我正在本地化的 JS 中:
wp_localize_script( 'main-js', 'main_object', array(
'homepage_typed_text' => __( 'Apples & Bananas', 'ewk' )
) );
所以在 JS 中它需要是 Apples & Bananas
而不是 Apples & Bananas
。当我将它直接复制到 JS 时,一切正常,但不是通过翻译。知道为什么会这样吗?
更新
我检查了代码并在本地化函数中发现了这个小东西:
$l10n[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
因此,此函数将每个实体转换回其原始符号。该死。所以不知道如何跳过这个..
我在 PHP 中找不到解决方案,所以我转向 JS:
main_object.homepage_typed_text.replace( /[\u00A0-\u9999<>\&]/gim, function ( i ) {
return "&#" + i.charCodeAt( 0 ) + ";";
} );
So 将 &、ä、ü 等替换回他的实体。如果有人有更好的解决方案,请告诉我。
我目前正在尝试翻译 WordPress 中的文本。问题是我正在尝试翻译 HTML 个字符,这些字符似乎在翻译过程中被转换了,但我需要它们,因为它们在我正在本地化的 JS 中:
wp_localize_script( 'main-js', 'main_object', array(
'homepage_typed_text' => __( 'Apples & Bananas', 'ewk' )
) );
所以在 JS 中它需要是 Apples & Bananas
而不是 Apples & Bananas
。当我将它直接复制到 JS 时,一切正常,但不是通过翻译。知道为什么会这样吗?
更新
我检查了代码并在本地化函数中发现了这个小东西:
$l10n[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
因此,此函数将每个实体转换回其原始符号。该死。所以不知道如何跳过这个..
我在 PHP 中找不到解决方案,所以我转向 JS:
main_object.homepage_typed_text.replace( /[\u00A0-\u9999<>\&]/gim, function ( i ) {
return "&#" + i.charCodeAt( 0 ) + ";";
} );
So 将 &、ä、ü 等替换回他的实体。如果有人有更好的解决方案,请告诉我。