PHP gettext (WordPress Plugin) 更改字体样式
PHP gettext (WordPress Plugin) change the font style
大家好,
我目前正在开发一个 WordPress 插件,它将 "translatable"。
我遇到的问题是,如果我在返回的字符串中使用特殊字体样式,我还会看到 "html" police 修改。
例如:
__('This <strong>text</strong> has to be bold', 'my-plugin')
如何让 "text" 变成 "Bold" 但我在翻译 table 中看不到 ?
首先,您必须切换文本和文本域:
__( 'This <strong>text</strong> has to be bold', 'my-plugin' );
我认为您的翻译结果用于某些转义函数。您可以尝试绕过或直接使用 _e()
而不是 __()
回显吗?
在仔细阅读了许多文档之后,我终于想出了解决方案。
事实上,最好的做法是不要在可翻译字符串中输入任何字体样式或 html 代码。
正确的方法是以下之一:
如果您只想更改一个单词的字体样式,并且该单词对每种语言都保持相同,您基本上必须将其从字符串中删除并用 gettext 占位符替换它(如下所示)。
$string = sprintf( __('This %s has to be bold', 'my-plugin'), '<strong>text</strong>');
如果您的整个文本必须采用某种字体样式,您必须在字符串外添加代码:
$string = '<h3>' . __('This is a Title', 'my-plugin') . '</h3>'
当然那些应该在 PHP 标签内。
大家好,
我目前正在开发一个 WordPress 插件,它将 "translatable"。
我遇到的问题是,如果我在返回的字符串中使用特殊字体样式,我还会看到 "html" police 修改。
例如:
__('This <strong>text</strong> has to be bold', 'my-plugin')
如何让 "text" 变成 "Bold" 但我在翻译 table 中看不到 ?
首先,您必须切换文本和文本域:
__( 'This <strong>text</strong> has to be bold', 'my-plugin' );
我认为您的翻译结果用于某些转义函数。您可以尝试绕过或直接使用 _e()
而不是 __()
回显吗?
在仔细阅读了许多文档之后,我终于想出了解决方案。
事实上,最好的做法是不要在可翻译字符串中输入任何字体样式或 html 代码。
正确的方法是以下之一:
如果您只想更改一个单词的字体样式,并且该单词对每种语言都保持相同,您基本上必须将其从字符串中删除并用 gettext 占位符替换它(如下所示)。
$string = sprintf( __('This %s has to be bold', 'my-plugin'), '<strong>text</strong>');
如果您的整个文本必须采用某种字体样式,您必须在字符串外添加代码:
$string = '<h3>' . __('This is a Title', 'my-plugin') . '</h3>'
当然那些应该在 PHP 标签内。