我正在为我的网站设置一个翻译文件。我注意到即使是CSS前端文件中的文本也被翻译了,这破坏了我的CSS主题。
下面是CSS部分代码:
.wpem-tbl-status.Confirmed {
background-color: #0daf0b;
}
字符串
当我在控制台中检查网页时,我得到如下内容:
<span class="wpem-tbl-status translated_Confirmed">translated_Confirmed</span>
型
当我想拥有:
<span class="wpem-tbl-status Confirmed">translated_Confirmed</span>
型
下面是WordPress的代码inclined:
<td data-title="<?php _e( 'Status', 'wp-event-manager-registrations' ); ?>">
<span class="wpem-tbl-status <?php echo ( $wp_post_statuses[ get_post_status( $registration_id ) ]->label); ?>">
<?php echo esc_html( _e( $wp_post_statuses[ get_post_status( $registration_id ) ]->label, 'wp-event-manager-registrations' ) ); ?>
</span>
</td>
型
1条答案
按热度按时间tktrz96b1#
有几件事你应该知道...
始终转义输出,即使是属性
使用
esc_attr__()
返回翻译后的值,或使用esc_attr_e()
回显翻译后的值。如果不需要翻译,只需使用esc_attr()
/echo esc_attr()
。如何在翻译函数中传递变量
如果你不知道文本是什么,你就不能翻译文本。According to the docs,你必须传递一个字符串,你不能翻译变量。
因此,此不工作:
_e( 'Current status:' . $status, 'my-text-domain' );
**解决方法:**使用sprintf在字符串中插入变量。
字符串
避免双重回显
因此,应改为(参见代码片段中的第3行):
echo esc_html( _e( ... ) );
执行类似于:
esc_html_e( .... );
做同样的事情:
esc_html_e( 'Blablabla' );
个echo esc_html__( 'Blablabla' );
个阅读更多关于差异在这里:
__()
-返回翻译后的字符串docs(https://developer.wordpress.org/reference/functions/__/)_e()
- echo翻译字符串docs(https://developer.wordpress.org/reference/functions/e/)_n()
-根据提供的数字docs(https://developer.wordpress.org/reference/functions/n/)返回转换后的字符串的单数/复数形式_x()
-返回带有gettext上下文的翻译字符串docs(https://developer.wordpress.org/reference/functions/x/)_ex()
- echo翻译的字符串与gettext上下文docs(https://developer.wordpress.org/reference/functions/ex/)esc_html__()
-转义并返回转换后的字符串,以便在HTML输出中安全使用docs(https://developer.wordpress.org/reference/functions/esc_html/)esc_html_e()
-转义和回显转换后的字符串,用于HTML输出docs(https://developer.wordpress.org/reference/functions/esc_html_e/)esc_html_x()
-转义并返回带有gettext上下文的翻译后的字符串,以便在HTML输出中安全使用docs(https://developer.wordpress.org/reference/functions/esc_html_x/)esc_attr__()
-转义并返回转换后的字符串,以便在属性docs(https://developer.wordpress.org/reference/functions/esc_attr/)中安全使用esc_attr_e()
-转义和回显转换的字符串,以便在属性docs(https://developer.wordpress.org/reference/functions/esc_attr_e/)中安全使用esc_attr_x()
-转义并返回带有gettext上下文的翻译字符串,以便在属性docs(https://developer.wordpress.org/reference/functions/esc_attr_x/)中安全使用最后,您的代码应类似于以下内容
型
还要确保
$status
的值尚未在代码中的其他地方被翻译。