PHP gettext(WordPress插件)改变了字体样式

时间:2015-05-26 10:17:25

标签: php html wordpress gettext

每个人的好日子,

我目前正在开发一个可翻译的WordPress插件"。

我遇到的问题是,如果我在返回的字符串中使用特殊字体样式,我也会看到" html"警方修改。

例如:

__('This <strong>text</strong> has to be bold', 'my-plugin')

我如何做到&#34; text&#34;成为&#34; Bold&#34;但是我没有在翻译表中看到

2 个答案:

答案 0 :(得分:3)

首先,您必须切换文本和文本域:

__( 'This <strong>text</strong> has to be bold', 'my-plugin' );

我认为您的翻译结果用于某些转义功能。您是否可以尝试使用_e()代替__()直接绕过或回应?

答案 1 :(得分:0)

在看了很多文档后,我终于提出了解决方案。

事实上,最佳做法是不在可翻译字符串中输入任何字体样式或html代码。

正确的方法之一是:

如果您只想更改1个单词的字体样式,并且该单词对于每种语言保持不变,则基本上必须将其从字符串中删除并将其替换为gettext占位符(如下所示)。

$string = sprintf( __('This %s has to be bold', 'my-plugin'), '<strong>text</strong>');

如果你的整个文字必须是某种字体样式,你必须在字符串之外添加代码:

$string = '<h3>' . __('This is a Title', 'my-plugin') . '</h3>'

当然那些应该在PHP标签内。