BLOG

【WPML】テーマ内に直接書かれているテキストを翻訳対象にする

2015-06-06

Gettextコールでテキストを書く

WPMLに翻訳対象を認識してもらうには、「Gettextコール」でテキストを書く必要があります。
パターンは決まっているので、正規表現で置換しても良いかと思います。

<?php _e('テキスト','テキストドメイン'); ?>

このように書くのですが、「テキストドメイン」て何やねん???と思いましたが、何かと同じにする必要もなく、サイトで使う翻訳対象をグループ化するための名前のようです。

まずはテーマ内に直接書いているテキストは、上記のようにする必要があります。

テーマとプラグインローカライゼーション

WPMLメニュー内、「テーマとプラグインローカライゼーション」にある、
中央の「テーマ内のストリング」箇所で、「ストリング用のテーマをスキャンする」をクリックします。

すると、先ほどGettextでラップしたテーマ内テキストが検索されたかと思います。
後は、「翻訳が必要なストリングを見る」ボタンから進むと、翻訳画面へ遷移します。

ストリング翻訳

最後に一つ一つ翻訳するか、翻訳者に丸投げし、翻訳完了です。

上部に、「文脈内のストリングを選択する」という、翻訳テキストを絞り込むメニューがありますが、
その中のプルダウンメニュー内に先ほどのテキストドメインがあると思います。
恐らく、テキストドメインごとに検索を絞り込むことができそうなので、うまく使うと何か効率よく作業できるのでしょう。

私は今のところ、テキストドメインを分岐させる必要には迫られていませんが、
何か良い使い方があれば報告します。