每个人的好日子,
我目前正在开发一个可翻译的WordPress插件"。
我遇到的问题是,如果我在返回的字符串中使用特殊字体样式,我也会看到" html"警方修改。
例如:
__('This <strong>text</strong> has to be bold', 'my-plugin')
我如何做到&#34; text&#34;成为&#34; Bold&#34;但是我没有在翻译表中看到 ?
答案 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标签内。