Background
我用的是Sportpress的主题新秀。
我创建了一个儿童主题。
翻译文件是存在的,尤其是德语在我的情况下。
Wordpress设置为德语。
The Problem
除了搜索结果页面内容或分页等模板提供的主题外,翻译在任何地方都可以正常工作。
受影响的是SRP标题、未找到的页面标题和未找到的页面内容。它们只是停留在默认的英语中。分页也会受到影响。
未找到页面内容中的搜索表单翻译得很好。我猜是因为它是Wordpress的默认模板。
Code
这里是来自父主题的一些受影响的代码行。
搜索标题
<h1 class="page-title entry-title"><?php printf( __( \'Search Results for: %s\', \'rookie\' ), \'<span>\' . get_search_query() . \'</span>\' ); ?></h1>
找不到标题:
<h1 class="page-title"><?php _e( \'Nothing Found\', \'rookie\' ); ?></h1>
找不到文本:
<p><?php _e( \'Sorry, but nothing matched your search terms. Please try again with some different keywords.\', \'rookie\' ); ?></p>
分页:
<?php if ( get_next_posts_link() ) : ?>
<div class="nav-previous"><?php next_posts_link( __( \'<span class="meta-nav">←</span> Older posts\', \'rookie\' ) ); ?></div>
<?php endif; ?>
<?php if ( get_previous_posts_link() ) : ?>
<div class="nav-next"><?php previous_posts_link( __( \'Newer posts <span class="meta-nav">→</span>\', \'rookie\' ) ); ?></div>
<?php endif; ?>
Findings
我检查了一下。德语的mo条目与Locao translate插件一起存在。
我替换了搜索结果标题Search Results for: %s
与类别标题Category: %s
, 它在分类页面上进行翻译(因为分类档案标题由Wordpress提供),但也不在SRP上!
这种行为的原因是什么
Workaround
父主题正在通过加载域
load_theme_textdomain( \'rookie\', get_template_directory() . \'/languages\' );
并指向存在所有翻译文件(.pot、de\\u de.po和de\\u de.mo)的正确位置。
我抄了相关的。采购订单和。mo文件转到wp content/languages/themes/directory,现在一切正常。
但这真的是最好的解决方案吗