web-dev-qa-db-ja.com

翻訳可能テキスト内の変数

TGM Plugin Activationを使って私のテーマに推奨プラグインのリストを追加しています - https://github.com/thomasgriffin/TGM-Plugin-Activation/

しかし、テーマチェックを実行すると、プラグインが翻訳可能な関数で変数を使用するため、約40ほどの推奨が表示されました。プラグインの作者が使用している変数を使用する代わりに、テキストドメインに入力することで、問題の約半分を取り除くことができました。しかし、私は以下のエラーを修正するために助けが必要です:

推奨:class-tgm-plugin-activation.phpの変換関数で、可能な変数$ instanceが見つかりました。変換関数呼び出しはPHP変数を含んではいけません。

これがエラーに関連するコードです。

$table_data[$i]['source'] = __( 'External Link', TGM_Plugin_Activation::$instance->domain );

私は翻訳関数が__( 'Item Name'、 'text-domain')のように見えるべきであることを知っています、しかし私は関数の後半部分で何をするべきかよくわかりません:

TGM_Plugin_Activation::$instance->domain

翻訳で正しく機能するようにこれを調整するにはどうすればよいですか。

1
chowwy

翻訳文字列は、レンダリング中(画面/ブラウザでの出力)に解析されるだけでなく、GNU gettextパーサーでも解析されます。これはnot a PHPパーサーなので、変数を取得できません。これはテーマまたはプラグインの唯一の部分であり、ここで自分自身を繰り返し、プレーン文字列everyに追加する必要がありますtranslation/gettext関数呼び出し。

// Wrong:
__( 'External Link', TGM_Plugin_Activation::$instance->domain );

// Right:
__( 'External Link', 'your_textdomain' );

これを明確にするために:上記の両方の呼び出しwillはPOEditで動作します。 Automattic/wp.orgがMark Jaquithが約束した自動翻訳ツールを提供するとき、最初のものは機能しません。そして、これは「テーマチェック」-プラグインが悩んでいる部分です。 "RECOMMENDED"メッセージを無視しても大丈夫です。これを読むことができます M.Jaquithによる投稿 -簡単に読んでからコメントに移ります-これがまさに「公式」ソース/リード開発者による推奨です。

3
kaiser