_x() の使い方|説明・引数・注意点

説明

_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() 数に応じて、単数形・複数形を、切り替える

関連項目

__()、_n()

公式リファレンス:_x() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました