概要
wp_set_script_translations
関数は、JavaScript 向け翻訳ファイル情報を設定するために使用されます。この関数は、テーマやプラグインにおけるローカライズを支援するもので、特にフロントエンドでのスクリプトの翻訳を容易にします。特に、以下のような機能を実装する際によく使われます:
- プラグイン内での JavaScript の国際化。
- テーマ内での JavaScript の国際化。
- 管理画面での JavaScript の翻訳。
- フロントエンドでの特定の機能のローカライズ。
- AJAX リクエストの結果を翻訳。
- JavaScript ライブラリを使用する際の翻訳設定。
- 多言語対応の UI コンポーネントを作成する際。
- サードパーティ製のスクリプトの翻訳をサポートする際。
構文
wp_set_script_translations( $handle, $domain, $path );
パラメータ
$handle
(string) – スクリプトのハンドル名。$domain
(string) – 翻訳ドメイン名。$path
(string) – 翻訳ファイルが格納されているパス。
戻り値
この関数は成功時に真を返し、失敗時には偽を返します。
関連する関数
使用可能なバージョン
この関数は、WordPress 4.6 以降で使用可能です。
コアファイルのパス
wp-includes/script-loader.php
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | 〇 |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
非推奨または削除されたバージョン
この関数は特定のバージョンで非推奨または削除されていません。
サンプルコード
サンプル1: スクリプトの翻訳を設定
function my_enqueue_scripts() {
wp_enqueue_script( 'my-script', 'path/to/my-script.js', array(), null, true );
wp_set_script_translations( 'my-script', 'my-domain', 'path/to/languages/' );
}
add_action( 'wp_enqueue_scripts', 'my_enqueue_scripts' );
このサンプルは、特定のスクリプトに対して翻訳設定を行っています。国際化対応の JavaScript ファイルを適切に読み込むために必要です。
サンプル2: プラグイン内での翻訳設定
function my_plugin_scripts() {
wp_enqueue_script( 'my-plugin-script', plugins_url( 'js/my-plugin-script.js', __FILE__ ) );
wp_set_script_translations( 'my-plugin-script', 'my-plugin-domain', dirname( __FILE__ ) . '/languages' );
}
add_action( 'plugins_loaded', 'my_plugin_scripts' );
このサンプルは、プラグイン内の JavaScript ファイルに翻訳を設定しており、実行時の国際化を実現します。
サンプル3: テーマでの翻訳設定
function my_theme_scripts() {
wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/js/my-theme-script.js' );
wp_set_script_translations( 'my-theme-script', 'my-theme-domain', get_template_directory() . '/languages' );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );
テーマに関連する JavaScript の翻訳を行うサンプルです。テーマのスクリプトが多言語対応になります。
サンプル4: AJAX リクエストの翻訳
function my_ajax_script() {
wp_enqueue_script( 'my-ajax-script', 'path/to/my-ajax-script.js', array('jquery'), null, true );
wp_set_script_translations( 'my-ajax-script', 'my-ajax-domain', 'path/to/languages/' );
}
add_action( 'wp_ajax_my_action', 'my_ajax_script' );
この例では、AJAX リクエスト時にスクリプトの翻訳を設定しています。ユーザーインターフェースの応答をローカライズすることができます。
サンプル5: サードパーティ製スクリプトの翻訳
function my_third_party_script() {
wp_enqueue_script( 'third-party-script', 'https://example.com/path/to/script.js' );
wp_set_script_translations( 'third-party-script', 'third-party-domain', '/path/to/languages/' );
}
add_action( 'wp_enqueue_scripts', 'my_third_party_script' );
サードパーティ製の JavaScript ライブラリを使用し、その翻訳を設定する例です。外部スクリプトにもローカライズを適用できます。