Php 翻译WordPress站点中未包含在.po文件中的主题文本
我正在尝试向Wordpress站点添加另一种语言。一些翻译由一个名为Polylang的插件处理,但我也使用.po/.mo文件来处理Polylang无法访问的一些文本 但是,有些文本甚至没有显示在随主题提供的.po文件中 这里有一个例子 主题选项中有一个设置,用于设置与某些链接(标题和说明)关联的文本。主题模板中的php如下所示:Php 翻译WordPress站点中未包含在.po文件中的主题文本,php,wordpress,wordpress-theming,translation,gettext,Php,Wordpress,Wordpress Theming,Translation,Gettext,我正在尝试向Wordpress站点添加另一种语言。一些翻译由一个名为Polylang的插件处理,但我也使用.po/.mo文件来处理Polylang无法访问的一些文本 但是,有些文本甚至没有显示在随主题提供的.po文件中 这里有一个例子 主题选项中有一个设置,用于设置与某些链接(标题和说明)关联的文本。主题模板中的php如下所示: <div id="homeheadlinks" class="col-md-4"> <a href="<?php echo $o
<div id="homeheadlinks" class="col-md-4">
<a href="<?php echo $options['unf_firstlink']?>" class="headbutton bone"><i class="golink"></i><?php echo $options['unf_firstlinktitle']?> <em><?php echo $options['unf_firstlinkdesc']?></em></a>
<a href="<?php echo $options['unf_secondlink']?>" class="headbutton btwo"><i class="golink"></i><?php echo $options['unf_secondlinktitle']?> <em><?php echo $options['unf_secondlinkdesc']?></em></a>
<a href="<?php echo $options['unf_thirdlink']?>" class="headbutton bthree"><i class="golink"></i><?php echo $options['unf_thirdlinktitle']?> <em><?php echo $options['unf_thirdlinkdesc']?></em></a>
</div>
文本可以通过主题的选项进行更改,但是除了主语言之外,没有其他方法可以通过这种方式添加其他语言
如何为$options['unf\u firstlinktitle']
和$options['unf\u firstlinkdesc']
等项目添加翻译
需要明确的是,这些项目不会出现在Polylang的字符串翻译部分。由于您的代码与主题中的某些设置相关联,您可以在php主题模板中直接覆盖它们。您需要在下面的代码中用真实的标题替换
,用真实的主题替换
:
<div id="homeheadlinks" class="col-md-4">
<a href="<?php echo $options['unf_firstlink']?>" class="headbutton bone"><i class="golink"></i><?php _e('the title …', 'your_theme_slug'); ?> <em><?php echo $options['unf_firstlinkdesc']?></em></a>
<a href="<?php echo $options['unf_secondlink']?>" class="headbutton btwo"><i class="golink"></i><?php _e('the title …', 'your_theme_slug'); ?> <em><?php echo $options['unf_secondlinkdesc']?></em></a>
<a href="<?php echo $options['unf_thirdlink']?>" class="headbutton bthree"><i class="golink"></i><?php _e('the title …', 'your_theme_slug'); ?> <em><?php echo $options['unf_thirdlinkdesc']?></em></a>
</div>
然后,您需要使用Polylang重新扫描此模板以获得新字符串,然后您将找到3个新的可翻译字符串。这是解决问题的最快方法。但是,如果还没有完成,最好启用一个子主题,将更改后的文件复制到其中,避免在主题更新时丢失更改
参考资料:所以,下面是我所做的,它似乎起了作用。我决定添加一些类似于LoicTheAztec建议的内容 在每个链接中,我都将它们更改为
<a href="<?php pll_e('http://mydomainname.com/englishpage/', 'mytheme-child') ?>" class="headbutton bone"><i class="golink"></i><?php pll_e('Link text', 'mytheme-child') ?> <em><?php pll_e ('Link description', 'mytheme-child') ?></em></a>https://wordpress.org/plugins/polylang-theme-strings/
https://wordpress.org/plugins/polylang-theme-strings/
然后我安装了插件,它将我用pll_e()
创建的所有新字符串放入Polylang的字符串翻译选项卡中。在那里我做了翻译(在顶部的菜单栏中选择ShowAll Languages之后)
它几乎可以完美地工作。我还有一个问题,如果我自己不能很快解决的话,我会发布这个问题 我还没试过这个。一旦我尝试过,我会给你反馈。我非常感谢你的回复。