我正在尝试为我的主题添加翻译。我通过了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.molanguages\\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\' );