WPMLでGravity Forms を使う

この短いチュートリアルではGravity Formsにより作成されたフォームをWPMLを使って翻訳する方法をご紹介します。

フォームを翻訳する理由

フォームは連絡フォームプラグインやその他の方法で簡単にそれぞれの言語で作成することができます。 ではフォームを他言語に翻訳する利点は何でしょうか?

その理由は利便性です。

フォームの設定は複雑なプロセスになることがあります。 しばしば通知ロジックや確証や「舞台裏」の設定を含むことがあります。 またはコンテンツに1枚の「お問い合わせ」フォームを挿入するだけで、フォームの種類や使用言語を心配することがなくなり簡単になる場合もあります。

WPML はGravity Formsのフォームセットを自分の言語で作成することを可能にします。 その後、フォームのテキストを翻訳すればWPMLがフォームを正しい言語で表示します。 同じフォームに変更を加えると、その変更は他の言語にも適用されます。

準備はいいですか?では始めましょう!

GravityForms フォームの翻訳

1. フォーム作成

フォームを翻訳するには、まず自分のサイトにGravity Formを設定します。 ヘルプには、gravity forms作成資料をご参照ください。これは私がWordPressダッシュボードに作成したシンプルな連絡フォームです。デフォルト言語として英語が使用されました(デフォルト言語が英語ではない場合、下記の英語ではない言語がデフォルトに設定された時」をご覧ください)。

gravity-forms

 

2. 翻訳バスケットに送る

Gravity Formsを翻訳する時、テキストのみが翻訳されます。 WPMLはフォームのテキストをフィルタし、利用可能なテキストを翻訳に使用します。
これにはWPMLのTranslation Management モジュールと「Gravity Forms Multilingual」アドオンを使用します。これらを初めて使用する場合、WPMLの翻訳管理に関する資料を読むことをお薦めします。

 

01GFML_バスケットに追加

a. WPML > 翻訳管理に移動します
b. Type フィルタから“Gravity form”を選択し、青い “表示” ボタンをクリックします。フォームが翻訳ドキュメントリストに表示されます。
c. ‘翻訳’を選択し、 “翻訳バスケットに追加する” ボタンをクリックします。
d. “翻訳バスケット”に移動し、トランスレーターを選択し、青色の”全てのアイテムを翻訳に送る” ボタンをクリックします。 

02GFML_トランスレーターの選択

3. フォーム文字列の翻訳

すでにトランスレーターユーザーを設定したと前提して続けます。していない場合、トランスレーター設定をお読みください

トランスレーターがWPMLにログインします。彼らは”トランスレーター” メニューを閲覧します。ここに移動して作成した翻訳ジョブを確認してください。

a. WPML >翻訳 に移動して- 自分のフォームを確認してください(ここではWPML ENと呼ばれるフォームを使用しています)。

03_GFML_文字列の取得と編集

 

 

b. 文字列を翻訳するには、フォーム名の横の “これを取得して編集” ボタンをクリックします(ストリング翻訳を使用することもできます)。
c. 翻訳に満足したら “翻訳完了” のマークを付けます。
d. 青色の”翻訳保存” ボタンをクリックします。

04_GFML_翻訳

4. 翻訳されたフォームを表示する

WPMLは翻訳された欄を使用して新しいフォームを作成しません。その代わり、既存のフォームを翻訳したように見せます。 「翻訳言語」のページに翻訳したばかりのフォームを挿入するとフォームがその言語で表示されます。

以下はスペイン語のページに挿入された時の「連絡」フォームの例です:

GFML すべて翻訳済み

翻訳に含まれるもの

GravityForms 多言語は 標準、詳細、投稿、価格、クイズ(クイズ欄はGravity Forms 多言語 1.3.7以降でサポートされます)などフォーム内のすべての欄を翻訳します。

もちろんフォームの通知や確認メッセージも翻訳できます。これはString Translation アドオンで翻訳されます。 WPML > String Translationを開き、“Select strings within context” (文脈内での文字列選択)選択ボックスを使用し、 “gravity_form-{form_id}” コンテキストを選択することで、検索ボックスを通して希望の文字列を検索できます。

フォーム欄の選択を変更

Gravity Forms の欄タイプには、ユーザーが選択する多項選択を含むものがあります。 これにはドロップダウン、多項選択、ラジオボタン、チェックボックス欄が含まれます。

すでに翻訳された欄に新しい選択肢を追加したり、選択肢の位置を変更すると、これらの欄の翻訳が失われる可能性があります。 この場合、編集された欄を再度翻訳する必要があります。

翻訳済みフォームに提出するコンテンツ

GravityFormsプラグインは言語感覚がないことにご注意ください。 翻訳済みフォームにコンテンツを提出する場合、コンテンツはデフォルト言語で作成されます。 自分のロジックを書くにはGravityForms hooks and filtersを使用できます。 これにより、GravityForms作成後提出したコンテンツの言語を設定できます。

1. 必要なプラグイン

    1. WPML 多言語CMS 3.2.6 (またはストリング翻訳と翻訳管理アドオンを含む3.2.6以降のバージョン)
    2. GravityForms 1.9 (以降)
    3. GravityForms 多言語 1.3.3 (以降)