我在themes / languages文件夹中有en_US.mo和en_US.po文件。 我的主题/ functions.php是
function custom_theme_setup() {
$lang_dir = get_template_directory() . '/languages';
$locale = "en_US"; // get_locale() is also returning same
if ( is_readable( "$lang_dir/$locale.mo"))
echo "Yes, its working";
echo load_theme_textdomain('tutsplus', $lang_dir);
_e("Hello\n","tutsplus");
}
add_action('after_setup_theme', 'custom_theme_setup');
_e("Hello\n","tutsplus");
我的en_US.po文件包含
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-07-22 18:39+0530\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: getetxt.php:80
#, php-format
msgid "Hello\n"
msgstr "bonjure\n"
我在最后包含了一个文件,它也有相同的
_e("Hello\n", 'tutsplus');
但这似乎都不起作用。
答案 0 :(得分:0)
Wordpress中的原生翻译无法识别"
,因此会跳过该翻译,这就是为什么您没有在前端看到翻译文本
你应该,这是一个黄金法则,总是使用单'
。所以你的字符串应该是
_e( 'Hello\n', 'tutsplus');
另一点值得注意。您可以完全删除文本域。
e( 'Hello\n' );
如果您使用文本域,必须与主样式表标题中明确指定的文本域相同。