我正在通过其新的 way 开发 WC 扩展。一切都像魅力而不是本地化。我已经通过 wp i18n make-json
生成了 JSON 并在 index.js 中像这样使用:
import { __ } from '@wordpress/i18n';
__( 'Verify licence', 'domain' );
不幸的是,这些字符串从未被翻译过。我应该自己加载 JSON 还是注册脚本 wp_set_script_translations( 'domain-script', 'domain', plugin_dir_path( __FILE__ ) . '/languages' );
?
在服务器端翻译工作。我真的对 JS 翻译流程感到困惑。感谢您的帮助。
答案 0 :(得分:0)
对于后代来说,解决方案很简单。
你必须这样调用:
public function extension_set_script_translations() {
$loaded = wp_set_script_translations( 'extension', 'extension', plugin_dir_path( __FILE__ ) . '/languages' );
}
private function initLocalizations() {
add_action( 'admin_enqueue_scripts', [$this, 'extension_set_script_translations'] );
}
另一个重要的是语言 JSON 文件的名称。
{text-domain}-{locale}-{script-handle}.json