説明
_x() は、文脈(コンテキスト)を付けて、文字列を翻訳する関数です。同じ綴りで意味が違う語の区別に使います。
基本構文
_x( string $text, string $context, string $domain = 'default' ): string
引数
$text:翻訳元の文字列$context:文脈$domain:テキストドメイン
戻り値
翻訳された文字列。
使い方(サンプル)
$word = _x( 'Post', 'noun', 'my-theme' );
注意点
- 翻訳者にとって手がかりとなる文脈を指定します。
実務での使いどころ
- 同じ文字列が、文脈によって、訳が変わるとき(「投稿」の、名詞と動詞など)に、区別して翻訳するとき。
よくあるミスと対処
$contextが、翻訳ファイルの、文脈と、合っていない。訳が、反映されない。- 出力したいのに、値を返すだけの関数を、使っている。出力するなら、
_ex()。 - テキストドメインを、変数にしている。
NG例
_x( 'Post', 'noun' ); // ドメインがなく、値を返すだけ
OK例
echo esc_html( _x( 'Post', 'noun', 'my-plugin' ) );
使い分け早見表
| 関数 | 役割 |
|---|---|
_x() |
文脈つきで、翻訳して、値を返す |
__() |
翻訳して、値を返す |
_n() |
数に応じて、単数形・複数形を、切り替える |

コメント