Questetra では、公開 Web フォームを作成し、外部ユーザからのデータ入力を受け付けることができます。
「公開フォームを作成しよう(基本編)」では、メールアドレスと氏名の入力をフォームで受け付けるアプリを作成しながら、フォームの設定方法や公開方法を解説しました。次に「公開フォームを作成しよう(入力チェック編)」では、フォームに入力されたメールアドレスのバリデーションやフォーム入力の待ち受け期限を設定する方法を紹介しました。
今回は応用編として、公開フォームを多言語対応させる方法についてご紹介します。多言語に対応することで、外国人従業員や海外の取引先など、日本語の理解が難しい人にもフォームに入力してもらいやすくなります。フォームを多言語対応させるには、クエリパラメータを利用します。
クエリパラメータとは
サーバに追加情報を送信するために URL の末尾に付与する文字列のことです。クエリパラメータは、下記のように URL 末尾に “?” から始まり、<パラメータ名>=<パラメータの値>と続ける形で記述されます。
https://example.com/?exampleParam=exampleValue
Questetra では、クエリパラメータで公開フォームの表示言語の指定ができます。
表示言語を指定する
[メッセージ開始イベント(フォーム)]、[受信タスク(フォーム)]で生成される公開フォームは、クエリパラメータの指定がない場合、ワークフロー基盤のシステム言語に従って表示されます。
(ログイン画面:https://<お使いのワークフロー基盤のドメイン>/Login_show の表示言語がシステム言語です。)
URL に locale パラメータを追加すると、送信ボタンの表記や確認メッセージなどの公開フォームの表示言語を指定することができます。言語指定により、システムメッセージや処理ボタンのラベルなど、[アカウント設定]の[言語]に依存する表示が切り替わります。
注意点
アプリで定義される工程名やデータ項目名、あるいは実際にデータ項目に入力された文字列などの言語を切り替えることはできません※。複数の言語を併記するなどの方法で対処してください。
※[件名]は、表記言語が切り替わります
指定方法
フォーム URL の後ろに?locale=<言語コード> をつけてください。
指定可能な言語
日本語 (ja)、英語 (en)、ドイツ語 (de)※、スペイン語 (es)※、フランス語 (fr)※、ハングル語 (ko)※、ポルトガル語 (pt)※、簡体中国語 (zh)※
※ ベータ機能
指定例([受信タスク(フォーム)]で英語を指定する場合)
https://<お使いのワークフロー基盤のドメイン>/System/ReceiveTask/Form/<アプリID>/<ノード番号>/<プロセスID>/view?locale=en
多言語対応フォームの作成例
では、実際に多言語対応の公開フォームを作成してみましょう。
注意点でも書いた通り、工程名やデータ項目名、データ項目に入力された文字列などはフォームの言語指定では切り替わりません。そのため、多言語に対応した公開フォームを作成するには、次のような工夫が必要です。
- 1つのアプリ内でデータ項目、工程名に複数の言語を併記する
- 1つのワークフローアプリ内でデータ項目や[メッセージ開始イベント(フォーム)]などを言語ごとに用意する
- 言語ごとに別のアプリにする
b. の1つのアプリ内に言語ごとのフォームとデータ項目を用意する場合、フォーム中の表記言語を1つにすることで入力しやすくなりますが、統合処理を行わないとデータが分かれてしまいますし、設定する項目が多くなるとメンテナンス性が下がります。
c. の言語ごとに別のワークフローアプリにする場合、アプリ自体の構造は b. の1つのアプリ内にフォームを複数用意する場合よりも簡単になり、a. の複数の言語を併記する場合と同様です。メールでフォーム入力を依頼し[受信タスク(フォーム)]で待ち受けるなど、複雑なワークフローの場合はワークフロー図の可読性が上るため、処理状況や問題の発生箇所を把握しやすくなります。一方で、データの統合はより難しくなります。
複数の言語に対応したフォームを使用することで、より多様なユーザに公開フォームを入力してもらえるようになります。ぜひご活用ください。
Questetra では、クエリパラメータを利用することで、公開フォームに入力初期値を指定することができます。次回のブログでは、クエリパラメータを使ったフォームの初期値設定ついて紹介します。



