我正在尝试为我的主题添加翻译。我通过了documentation 还有很多关于Wordpress开发堆栈的问题。
在我的style.css
文件:
/*
Theme Name: My Theme
Text Domain: my-theme
*/
已在my中加载文本域
functions.php
文件:
add_action( \'after_setup_theme\', \'my_theme_load_theme_textdomain\' );
function my_theme_load_theme_textdomain() {
load_theme_textdomain( \'my-theme\' );
}
还尝试将第二个参数传递给
load_theme_textdomain()
:
load_theme_textdomain( \'my-theme\', get_template_directory() . \'/languages\' );
已添加
_e( \'Featured\', \'my-theme\' )
在我的
index.php
文件也在没有第二个参数的情况下进行了尝试
_e( \'Featured\' )
.
添加了两者es.mo
和es.po
将文件放入languages
我的主题根目录中的文件夹。
languages\\es.mo
languages\\es.po
还尝试使用文本域作为前缀来命名它们:
my-theme-es.mo
和
my-theme-es.mo
.
的内容es.po
具体如下:
msgid "Featured"
msgstr "Destacados"
The
es.mo
文件是使用生成的
Poedit 免费版本。也尝试了
po2mo.net.
我在“常规设置”页面中将语言设置为西班牙语。还尝试添加define( \'WPLANG\', \'es\' )
给我的wp-config.php
文件
但是每次呈现页面时,我都会看到“特色”而不是“Destacados”。
我正在Windows(XAMPP)上使用WordPress 5.3。我和phpinfo()
已启用GetText支持。
有什么线索吗?
谢谢你的时间。
最合适的回答,由SO网友:Kaperto 整理而成
从头开始创建一个新主题,看看是否有相同的结果。我用这些文件和翻译作品进行测试
style.css
/*
Theme Name: My Theme
*/
functions.php
<?php
add_action( \'after_setup_theme\', \'my_theme_load_theme_textdomain\' );
function my_theme_load_theme_textdomain() {
load_theme_textdomain( \'my-theme\', get_template_directory() . \'/languages\' );
}
languages/es_ES.po (文件
languages/es_ES.mo 使用poedit创建)
msgid "Featured"
msgstr "Destacados"
index.php
<?php
_e( \'Featured\', \'my-theme\' );