WordPress插件英转法翻译失效,故障原因排查
WordPress插件翻译不生效问题排查
我正在开发一款新插件,已经用POedit生成了PO和MO文件,也严格按照WordPress官方国际化文档的所有步骤操作——包括在主插件文件里编写规范的文件头、添加加载文本域与MO文件的PHP代码。但把站点语言从英文切换为法语后,插件仍显示英文字符串。想请教:
- 可能的问题原因是什么?
- 是否因为插件尚未上架wordpress.org导致的?
我的本地环境配置:
- 本地服务器:wampserver
- 操作系统:Windows 10
- PHP版本:8.1
主插件文件中加载PO和MO文件的代码如下:
/** * wpdocs_load_textdomain() loads Text Domain for the translation */ function wpdocs_load_textdomain() { load_plugin_textdomain( 'str-sticky-header', false, dirname( plugin_basename( __FILE__ ) ) . '/lang' ); } /** * my_plugin_load_my_own_textdomain( $mofile, $domain ) loads the MO file for the translation * @param $mofile * @param $domain */ function my_plugin_load_my_own_textdomain( $mofile, $domain ) { if ( 'str-sticky-header' === $domain && false !== strpos( $mofile, WP_LANG_DIR . '/plugins/' ) ) { $locale = apply_filters( 'plugin_locale', determine_locale(), $domain ); $mofile = WP_PLUGIN_DIR . '/' . dirname( plugin_basename( __FILE__ ) ) . '/lang/' . $domain . '-' . $locale . '.mo'; } die($mofile); return $mofile; } add_action( 'init', 'wpdocs_load_textdomain' ); add_filter( 'load_textdomain_mofile', 'my_plugin_load_my_own_textdomain', 10, 2 );
另外,die($mofile)已经输出了正确的MO文件路径,会不会是翻译内容本身存在问题?
内容的提问来源于stack exchange,提问作者Sam94
相关产品推荐
相关产品推荐

