Để dịch được văn bản trong Javascript bằng bộ công cụ hỗ trợ wp.i18n thì việc đầu tiên bạn cần phải cài đặt WP-CLI.
Tiếp đến thì tạo file wp.bat với nội dung như dưới:
@ECHO OFF
F:\xampp\php\php.exe "D:\wp-cli\wp-cli.phar" %*
Thay đổi đường dẫn đến file php.exe và thư mục lưu wp-cli.phar
Trong hàm tải Javascript của WordPress bạn phải tải kèm thư viện wp-i18n và đăng ký bằng hàm wp_set_script_translations.
wp_enqueue_script( $this->textdomain . '-frontend', $this->get_url( 'custom/js/frontend.js' ), [
'jquery',
'wp-i18n'
], false, true );
wp_set_script_translations( $this->textdomain . '-frontend', $this->textdomain, $this->get_basedir( 'custom/languages' ) );
wp_localize_script(
$this->textdomain . '-frontend',
'wpQuizzesFrontend',
[
'textdomain' => $this->textdomain,
'ajaxUrl' => admin_url( 'admin-ajax.php' ),
'ajaxAction' => $this->get_option_name(),
'nonce' => wp_create_nonce( 'check_quiz_answer' )
]
);
Trong nội dung tập tin Javascript, bạn có thể dịch bằng cách gọi hàm như sau:
wp.i18n.__(
'Correct',
wpQuizzesFrontend.textdomain
);
Cuối cùng là chạy lệnh WP-CLI bằng Command Prompt để tạo tập tin JSON chứa bản dịch.
D:\wp-cli\wp.bat i18n make-json F:\xampp\htdocs\daotaolaixetaynguyen\wp-content\plugins\wp-quizzes\custom\languages
Chú ý thay đổi đường dẫn thư mục chứa WP-CLI và thư mục đường dẫn đến các tập tin bản dịch của WordPress.