ウィジェットが翻訳可能のストリングを含む場合、WPMLで翻訳を編集できます。しかし翻訳がサイトに表示される保証はありません。

方法1) WordPressフィルタを使う

WPMLはスタンダードのWordPressフィルタを使い、フィルタされた内容を翻訳します。

スタンダートのWordPressウィジェットはすべてデフォルトでフィルタを適用します。 自分のウィジェットを作る時、同じことが起こるように確認する必要があります。

例えばフィルタをウィジェットのタイトルに適用するには、下記を使います:

$wtitle = apply_filters('widget_title', $wtitle);

WPMLはapply_filters呼び出しに接続し、このストリングをストリング翻訳ページに通して翻訳可能にします。

方法 2) 手動でストリングを登録する

もう一つの方法として、WPMLのストリング翻訳機能を手動で使用できます。 ストリングを翻訳に登録し、表示された時翻訳を調べます。

ストリングを登録するには、icl_register_string呼び出しを使用します:

icl_register_string($context, $name, $value)
    • $context – プラグイン名、人間が読めるフォーマット
    • $name – ユーザー(または翻訳者)が何を翻訳するか理解できるようなストリング名
    • $value – 翻訳が必要なストリング

テキストを表示する時、翻訳と一緒に表示されるようにicl_tを使います。

icl_t($context, $name, $value)

方法 3)ハードコード化されたストリング用にGetTextを使う

前記の二方法は動的に生成されたテキストに適しています。 これらのテキストはWordPress Admin パネルを通してユーザーが編集できます。

あなたがPHPでハードコード化されたスタティックテキストをお持ちなら、GetText呼び出しを以下のように使用します:

<?php __('Hello world','cool_theme'); ?>

WPMLはGetText呼び出しに結びつき、これらのテキストをストリング翻訳インターフェースに通して翻訳可能にします。 この方法は編集できない、またテーマに固定されたテキストにのみ有効であることにご注意ください。