因此,我认为我具有翻译集的所有配置,但我的可翻译字符串未加载到.po或.pot。
在functions.php中:
function opportune_child_setup() {
load_child_theme_textdomain( 'opportune', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'opportune_child_setup' );
在style.css中:
/*
[...]
Text Domain: opportune
*/
可翻译字符串(示例):
<label for="custom_field"><?php _e( "Company Tax ID", 'opportune' ) ?></label>
翻译文件目录:
themes/opportune-child/languages/opportune.pot
themes/opportune-child/languages/pt_PT.mo
themes/opportune-child/languages/pt_PT.po
.po和.mo文件是使用Poedit基于父主题(位于等效目录:)中的opportune.pot创建的。
themes/opportune/languages/opportune.pot
我什至在wp-config.php中进行了硬编码(尽管已在WP Admin中设置):
define('WP_LANG', 'pt_PT');
查看字符串是否已加载到.po或.pot的方法是:我转到包含可翻译字符串的页面,进行强制刷新(删除缓存),下载.po和.pot,然后搜索字符串。尚未加载任何字符串。
我使用过Loco Translate插件,我认为配置正确,仍然没有结果。
我想念什么?非常感谢!
答案 0 :(得分:0)
首先,子主题不应使用与父主题相同的文本域。
如果仅使用父主题中的字符串,则只需翻译父主题即可。但是,如果要将新字符串添加到自己的PHP文件中,请使用单独的文本域。
因此,如果您添加的“公司税号”是一个字符串,并且不在父级中,请确保它在与子主题文件夹(即“ opportune-child”)匹配的文本域中。
第二,如您所说,字符串不会自动“加载到po文件中”。您可以通过从PHP文件中提取字符串来创建.pot文件。然后,您从中建立.po文件。阅读有关WordPress internationalization的信息以了解此过程。
不要创建“基于opportune.pot”的文件,因为父主题是一个单独的实体。您只需要提取并加载为孩子定义的字符串即可。让父母照顾自己。
这里有翻译儿童主题的指南: https://localise.biz/wordpress/plugin/child-themes
完全公开:我是作者。