WordPress プラグインをローカライズおよび翻訳する方法 – プラグイン開発者向けの詳細なガイド
公開: 2020-01-20プラグインを開発するときは、英語を第一言語として使用しない視聴者にさらにリーチできるように、翻訳可能にすることを常にお勧めします. 翻訳オプションがどれほど重要か疑問に思っている場合は、リポジトリをチェックして、人気のあるすべてのプラグインが言語のローカライズに利用できることを確認してください。 このオプションは、UpdraftPlus、MetaSlider、WP-Optimize、Contact Form 7、WooCommerce などで利用できます。 これらは利用可能な最も人気のあるプラグインの一部であり、誰でも簡単に母国語に翻訳できるようにコーディングされています。
このブログの目的は、プラグインをコーディングしてローカライズし、サポートされている WordPress 言語に翻訳する方法を読者に示すことです。 たとえば、プラグインをフランス語に翻訳したい場合、次の手順でプラグインの翻訳が可能になり、サポートされているすべての WordPress 言語に対応できるようになります。
入門
プラグインを作成するときは、必ずプラグイン テキスト ドメインをロードする必要があります。 WordPress は次の機能を提供します。
load_plugin_textdomain()
このコードは、プラグインの翻訳された文字列を読み込みます。 少しややこしいかもしれませんが、読み続けてください。そのしくみを簡単に説明します。
まず、この関数をプラグイン コードに追加する方法を見てみましょう。 プラグイン フォルダに、「languages」というディレクトリを作成します。 次に、以下のコードをプラグインのメイン ファイルに追加します。
* Load plugin textdomain. */ function plugin_load_textdomain() { load_plugin_textdomain( 'udp', false, basename( dirname( __FILE__ ) ) . '/languages/' ); } add_action( 'init', 'plugin_load_textdomain' );
上記のコードでは、最初のパラメーター (ドメイン) を「udp」のままにしています。 プラグインの名前に従って、このドメイン名を保持する必要があります。 2 番目のパラメーターのデフォルトは false です。 3 番目のパラメータは、「言語」ディレクトリのパスです。 このコードは、WordPress の初期化時に翻訳ファイルを準備します。
__() および _e() メソッドの使用
プラグインをすべての言語で利用できるようにすることを目指しているため、すべてのプラグイン テキストを次のいずれかでラップする必要があります。
__()
または_e()
関数。
これらの方法を使用するのは非常に簡単です。 どちらの方法もまったく同じように機能しますが、両方を使用するための規則があります。
プラグイン コードには、通常 2 種類のテキストがあります。 1 つ目は HTML で直接ラップされ、2 つ目は PHP のエコー機能を使用して表示されます。 以下に、両方のタイプの例を示します。
タイプ1
<h2>My Plugin Title</h2>
タイプ2
<?php echo '私のプラグイン設定'; ?>
一般的な規則として、PHP エコーを使用してテキストを出力する場合は、テキストを次のコードでラップする必要があります。
<code>__()</code>
HTML の場合は、コード<code>_e()</code>.
上記のコードは、次のように記述する必要があります。
<h2><?php _e('My Plugin Title', 'udp'); ?></h2>
と
<?php echo __('私のプラグイン設定', 'udp'); ?>
上記の例でわかるように、2 番目のパラメーターは「udp」として記述されており、これはプラグイン テキスト ドメインです。 このドメインを使用することで、後でテキストを任意の言語に翻訳できるようになります。 これは、他のプラグインがプラグインの翻訳を準備する方法です。
必要に応じて、プラグインを確認できます。
アップドラフトプラス
テキスト ドメイン「updraftplus」を検索すると、プラグインのテキストが__()
および_e()
関数内でどのようにラップされているかがわかります。
サンプル プラグインを作成する
次の段階では、翻訳をテストできるように、いくつかのテキストを含むサンプル プラグインを作成します。 まず、プラグイン ディレクトリに「udp」フォルダを作成します。 このフォルダー内にファイルudp.php
とフォルダーlanguages
を作成します。 次に、以下のコードをプラグイン ファイルに追加します。
udp.php
<?php /* プラグイン名: UDP 説明: これは、プラグイン テキスト ドメインをテストするためのサンプル プラグインです。 著者:編集部 バージョン: 1.0 ライセンス: GPLv3 以降 テキスト ドメイン: udp ドメイン パス: /languages */ if (!defined('ABSPATH')) die('直接アクセス不可');/** * プラグインのテキストドメインを読み込みます。 */ 関数 udp_load_textdomain() { load_plugin_textdomain( 'udp', false, basename( dirname( __FILE__ ) ) . '/languages/' ); } add_action( 'init', 'udp_load_textdomain' ); 関数 udp_menu_page() { add_menu_page( __( 'UDP 設定ページ', 'udp' ), __( 'UDP 設定ページ', 'udp' ), 'manage_options', 'udp_setting_page', 'udp_setting_page', '', 6 ); } add_action('admin_menu', 'udp_menu_page'); 関数 udp_setting_page() { ?> <h2><?php _e('My Plugin Title', 'udp'); ?></h2> <?php }
翻訳ファイルを作成する
翻訳ファイルを生成するには、次の翻訳エディタ ソフトウェアを使用します。
ポエディット
翻訳ファイル (.po および .mo) には、翻訳する文字列と翻訳された文字列が含まれています。 .po ファイルを作成する際、'{domain}-language code' 形式で保存する必要があります。 この例では、ファイルはudp-fr_FR.poになります。
次に、システムに POEDIT ソフトウェアをインストールします。 このソフトウェアはすべてのプラットフォームで利用でき、Windows、Linux、または Mac にインストールできます。
インストールしたら、POEDIT を開いてFile->Newに移動し、ウィンドウ プロンプトに言語コードを入力します。
[保存] アイコンをクリックすると、ファイル エクスプローラーが開きます。 plugins languages ディレクトリに移動し、次のように保存します: udp-fr_FR.po 。
これで、プラグイン テキストにフランス語の翻訳を追加できるようになりました。 これを行うには、[ソースから抽出] セクションをクリックします。
これにより、カタログ プロパティのポップアップが開きます。 次の 3 つのタブを設定する必要があります。翻訳プロパティ、ソース パス、およびソース キーワードです。 [翻訳プロパティ] タブで、ドメイン「udp」をプロジェクト名として追加します。 ソース パスはプラグイン フォルダーになり、ソース キーワード内に「__ および _e」を追加します。
プラグイン内に複数のフォルダーがある場合は、各ディレクトリを個別に選択する必要があります。
プラグイン フォルダを選択すると、「.」が表示されます。 パスセクションにあります。 必要に応じて、プラグイン ディレクトリ内の他のフォルダーに対して同じプロセスを繰り返します。
[ソース キーワード] の下で、[+] アイコンをクリックし、キーワードとして「__」と「_e」を追加して、[OK] ボタンをクリックします。
次のウィンドウの [ソース テキスト] の下に、プラグインから翻訳できるすべての文字列が表示されます。 文字列を 1 つずつ選択し、フランス語の翻訳を文字列に追加します。
すべての翻訳を追加したら、[保存] アイコンをクリックします。 これにより、すべての文字列の翻訳がudp-ft_FR.po
ファイルに自動的に保存されます。 .po ファイルには次のコードが含まれます。
#: udp.php:24 udp.php:25 msgstr "UDP 設定ページ" msgstr "UDP 設定ページ" #: udp.php:37 msgstr "私のプラグインのタイトル" msgstr "タイトルデーモンプラグイン"
プラグインの翻訳をテストする
これで、プラグイン用の .po および .mo ファイルを作成するタスクが完了しました。 プラグインをテストし、フランス語の翻訳を確認します。
まず、次のアドレスから言語ファイルをダウンロードします。
WordPress 言語リポジトリ。
フランス語の場合、パスは次のとおりです。
フランス語の WordPress 言語リポジトリ。fr_FR.mo
とfr_FR.po
このリンクからファイルをダウンロードし、 wp-content/languagesディレクトリに保存します。 「言語」フォルダーが存在しない場合は作成します。
次に、WordPress インストールのデフォルト言語を変更する必要があります。 wp-config.php
ファイルを開き、次のように言語を追加します。
define('WPLANG', 'fr_FR');
ダッシュボードに移動すると、プラグインがフランス語で表示されます。
結論は
WordPress プラグインのローカライズされた翻訳を作成することは、最初は少し難しく、複雑に思えるかもしれません。 ただし、ブラジル、フランス、ドイツなどの英語を話さない大国にプラグインを母国語で提供することの潜在的な利点は、プラグインをまったく新しい価値のある視聴者に開放するのに役立ちます. 大変な作業のように思えるかもしれませんが、見返りはかなりのものになる可能性があります。
投稿 WordPress プラグインをローカライズして翻訳する方法 – プラグイン開発者向けの詳細なガイドは、UpdraftPlus で最初に登場しました。 UpdraftPlus – WordPress のバックアップ、復元、移行プラグイン。