概要
_x
フィルタは、コンテキストに応じた翻訳テキストを取得するために使用される関数です。このフィルタは多言語対応のサイトを構築する際に特によく使われ、特定のコンテキストに基づいて翻訳を適切に管理することができます。以下に、_x
フィルタがよく使われる機能を挙げます。
- 言語ごとの異なる翻訳を提供する。
- 文脈による意味の異なる単語をサポートする。
- テーマやプラグインの国際化を容易にする。
- エラーメッセージや通知文を翻訳する。
- URLやリダイレクトメッセージを多言語化する。
- ユーザーインターフェースのテキストをローカライズする。
- 文章のトーンやスタイルに応じた翻訳を適用する。
- SEOの観点から多言語ページを管理する。
構文
_x( $text, $context, $domain );
パラメータ
$text
: 翻訳対象のテキスト。$context
: テキストの文脈を示す文字列。$domain
: 翻訳ドメイン(デフォルトは ‘default’)。
戻り値
翻訳されたテキスト(文字列)。
関連する関数
使用可能なバージョン
このフィルタはWordPress 2.1以降で使用可能です。
コアファイルのパス
wp-includes/l10n.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 |
サンプルコード
-
基本的な翻訳の取得
$translated_text = _x( 'Hello', 'Greeting', 'my-text-domain' );
このコードは、「Greeting」というコンテキストで「Hello」を翻訳し、その結果を
$translated_text
に格納します。 -
異なる文脈による翻訳の取得
$translated_apple = _x( 'Apple', 'Fruit', 'my-text-domain' ); $translated_apple_computer = _x( 'Apple', 'Company', 'my-text-domain' );
このコードは、同じ単語「Apple」を文脈によって異なる翻訳を取得する例です。
-
カスタムの翻訳ドメインを使用
$translated_text = _x( 'Submit', 'Button', 'custom-domain' );
このサンプルでは、カスタムの翻訳ドメイン「custom-domain」が使われています。
-
ユーザーレベルによる翻訳
if ( current_user_can( 'edit_posts' ) ) { $translated_text = _x( 'Edit', 'User action', 'text-domain' ); } else { $translated_text = _x( 'View', 'User action', 'text-domain' ); }
ユーザーの権限に応じて異なる翻訳を取得する例です。
-
コンディショナル文を使用した翻訳
$status = 'success'; $translated_text = _x( $status, 'Operation status', 'text-domain' );
操作の状態に応じて異なる翻訳を取得する例です。
サンプルコードの引用元ページはありませんが、これらの例は一般的にWordPressのドキュメントや開発リソースに基づいています。