回答:
echo
またはprint()
を使用してテキスト出力を生成しないでください。代わりに、WordPress関数__()
を使用して_e()
ください:
/** Not localization friendly */
echo "Welcome to my plugin";
// OR
print("Welcome to my plugin");
/** Localization friendly */
_e('Welcome to my plugin', 'my-plugin');
// OR
$my_text = __('Welcome to my plugin', 'my-plugin');
echo $my_text;
_e()
そして__()
現在の言語で- -最初のパラメータとして提供されたテキストの翻訳を提供します。_e()
テキストを出力しますが、それ__()
を返します。
2番目のパラメーターはテキストドメインです。最初のパラメーターとして提供されたテキストがこのプラグインに属することをWordPressに伝えるために使用します。任意の名前を使用できますが、プラグインに使用したのと同じ名前を使用することを好みますディレクトリのファイル、私はそれをより直感的に見つけます。
と__()
とsprintf()
:
/** Get the username */
$username = 'Magictrick';
/** Not localization friendly */
echo "Hello $username";
/** Localization friendly */
printf(__('Hello %s', 'my-plugin'), $username);
// OR
$my_text = sprintf(__('Hello %s', 'my-plugin'), $username);
echo $my_text;
定義
Poeditを開き、次の設定で新しいカタログ を作成します(ファイル›新しいCatallog ...)。
.
..
ます(言語と呼ばれるプラグインサブディレクトリに言語ファイルを保存します)__
と_e
保存としてカタログをしてスキャンし、更新ボタンを押して、変換可能なテキストのためのプラグインファイルを。そのカタログの近くで更新が終了したら、プラグインに新しい翻訳可能な文字列(またはで囲まれた)を追加しない限り、そのファイルを更新する必要はありません。/my_wordpress_blog/wp-content/plugins/my-plugin/languages/my-plugin.pot
__()
_e()
では、最初の翻訳を作成しましょう(fr_FRを使用します)。
使用Podeit、POTファイルからカタログを作成します (POTファイルからファイル>新規カタログを...) :
カタログをとして保存します。文字列の一部またはすべてを翻訳し、.poファイルを再度保存し、.poファイルと.moファイルの両方をアップロードします。/my_wordpress_blog/wp-content/plugins/my-plugin/languages/my-plugin-fr_FR.po
.poファイルを保存するたびに、.moファイルが同じ名前で生成されることに注意してください。.poファイルのファイル名は重要であり、プラグインテキストドメイン(my-plugin)と言語ロケールの連結で構成されます( fr_FR)、プラグインの.poファイルには常に[textdomain]-[locale] .poのような名前を付けます。いくつか例を示します。
wpcf7-it_IT.po
wpcf7-pt_BR.po
wpcf7-ar.po
...はい!プラグインは新しいテキストで更新されるたびに、更新、poファイルを変換する新しい文字列をとの.poや.moの再アップロードファイルを
プラグインのどこかで、.moファイルを使用するようにWordPressに指示する必要があります。プラグインファイルの先頭で次のコードを使用して、これを行うことができます。
function my_plugin_init() {
load_plugin_textdomain( 'my-plugin', false, 'my-plugin/languages' );
}
add_action('init', 'my_plugin_init');
関数のmy-plugin
1番目と3番目のパラメーターのプラグイン名に置き換えますload_plugin_textdomain
。
動作しない可能性があるいくつかの理由:
_e('my text')
て_e('my text', 'my-plugin')
)Nabilの答えはかなり完全ですが、簡単なバリエーションが用意されています。
プラグインはWordPress.orgプラグインリポジトリにあります
プラグインはWordPress 4.6以降でのみ動作することを要求します。
手順は次のとおりです。
プラグインのreadme.txtファイルに、を追加し
Requires at least: 4.6
ます。https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/をご覧ください
まだの場合は、プラグインをWordPressプラグインリポジトリにアップロードします。https://wordpress.org/plugins/developers/add/を参照してください。
プラグインのslug / textドメインを見つけます。そのためには、WordPressプラグインリポジトリのプラグインのページにアクセスします。URLはhttps://wordpress.org/plugins/your-plugin-slug/のようになります。URLの最後の部分「your-plugin-slug」は、プラグインのスラッグです。それが翻訳機能のテキストドメインに使用するものです。
プラグインでWordPressの翻訳機能を使用します(など__e(‘hello’, ‘my-plugin-domain’);
)。前の手順で取得した正しいプラグインテキストドメインを必ず使用してください。詳細については、https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/を参照してください。
上記の手順を実行すると、WordPressが次の処理を行います。
(私のブログ投稿に対する回答:https : //cmljnelson.blog/2019/01/01/the-really-lazy-way-to-translate-a-wordpress-plugin/)