web-dev-qa-db-ja.com

JavaScriptによるローカライズ

Wordpressは現在gettextで利用可能なphp機能を使用していますが、残念ながらJavascriptでは利用できません。
私はこの問題をウェブ上で検索し、 このトリック を思い付きました。しかし、Wordpress機能を利用するには、gettextシステムを介してphpファイルを呼び出す必要があるため、問題があります。
Wordpressの中でphpファイルを呼び出して、組み込みの関数や変数を使えるようにする方法があるのでしょうか。
あるいは、誰かがもっと良い解決策を思いつくことができるのであれば、それは素晴らしいことです。

1
Hamed Momeni

WordPressには主にそのためのNice関数があります wp_localize_script

最初にそれを使用するには、スクリプトをキューに入れます。

wp_enqueue_script( 'My_Script_handle', 'path/to/script.js' );

次に、ローカライズしたい文字列の配列を作成します。

$data = array( 
   'exit' => __( 'Exit','my-plugin-domain' ),
   'open' => __( 'Open','my-plugin-domain' ),
   'close' => __( 'Close','my-plugin-domain' ),
   'next' => __( 'Next','my-plugin-domain' ),
   'previous' => __( 'Previous','my-plugin-domain' )
);

そしてwp_localize_scriptを使ってそれを呼び出す

wp_localize_script( 'My_Script_handle', 'mystrings', $data );

それから、あなたはこのようなJavaScriptを使用しているページでそれにアクセスすることができます:

alert(mystrings.exit);
alert(mystrings.open);

...

あなたはアイデアを得ます。

4
Bainternet