我有一个英文的 Wordpress 网站。但是,我需要在网站上有几个以不同语言显示的信息页面(如http://x.com/Info-Spanish、http://x.com/Info-German等)。不是整个站点,只是这 2-3 个单独的页面(所以我不能弄乱 wp-config 文件中的 WPLANG 常量)。
所有这些信息页面都基于完全相同的模板,所以我想使用 PO/MO 文件和 Wordpress 的内置本地化 (l10n) 功能以适当的语言显示模板。
我的代码是这样的:
在functions.php中:
load_theme_textdomain( 'my_theme_name', get_template_directory().'/languages' );
/Info-Spanish 页面的模板:
function set_my_locale( $lang ) { return 'en_ES'; }
add_filter( 'locale', 'set_my_locale' );
add_filter( 'theme_locale', 'set_my_locale' );
require('info.php');
以及底层的 info.php 文件(包括在上面):
_e("Here is some important info which will be displayed in the correct language.");
我已经使用 POedit 在语言/文件夹中创建了适当的翻译文件。但是,它不起作用——信息总是以英文显示。我究竟做错了什么?Wordpress 会切换语言环境吗?
(顺便说一句,有没有办法从 Wordpress 获取这些步骤的一些调试信息?我什至不能 100% 确定它能够在我的语言/文件夹中找到我的 PO/MO 文件,因为屏幕上没有反馈国际化的东西。)