用纯PHP和getText翻译子主题

时间:2016-03-21 作者:Philipp Zedler

我试图翻译一个包含所有内容的父主题的子主题msgstr 空的

因此,我创建了该文件de_DE.mo 使用中推荐的“WordPress i18n工具”docs 连同msgfmt. 我将文件放入子主题目录的子文件夹中languages/child.

为了告诉Wordpress,我将其添加到了我的函数中。php何处mo_theme 是父主题的翻译域:

add_action( \'after_setup_theme\', function () {
    load_theme_textdomain( \'mo_theme\', get_stylesheet_directory() . \'/languages/child\' );
} );
但是,没有使用我定义的翻译。这个mo文件看起来正常,还有我的函数中定义的其他内容。php有一定的效果。

我在其他上下文中使用过gettext,但还没有与Wordpress一起使用。有什么特别的事我应该关心吗?

Example

我的父主题定义__(\'View your shopping cart\', \'mo_theme\').

在中。我创建的po文件,翻译如下:

#: woocommerce/woocommerce-integration.php:76
msgid "View your shopping cart"
msgstr "Zum Warenkorb"

1 个回复
SO网友:Jevuska

您的代码使用load_theme_textdomain. 如果您在子主题中,需要加载已翻译的字符串,请使用函数load_child_theme_textdomain. 请也看看这个答案Override parent theme translation on child theme.

相关推荐

How do WP child-themes work?

好的,我已经设置了主主题,现在我创建了一个名为interio\\u child的子主题。从这些instructions 我知道您只需要添加样式。css文件,用于链接到主主题。此外,您还可以添加其他文件来覆盖主主题中的代码。现在我已经激活了我的孩子主题。它只显示“我的子主题”文件夹中的代码,而不显示CSS。这怎么可能?我看过很多教程和wordpress支持主题,但我无法将这个儿童主题链接到我的主主题。这些是我的孩子主题风格的内容。css:/* Theme Name: Interio Child&#x