画面の文言を用途に合わせて変数に置き換えたい
この記事では、画面で使用する文言を用途に合わせて変数に置き換える方法について紹介します。
文言には、UIテキストやメッセージ、説明文などが含まれます。アプリケーション内で文言を直接定義しても問題ありませんが、画面数が増えるにつれて、文言の統一性が求められます。また、利用環境によっては複数の言語に対応する必要が出てきます。これらの用途に対応するため、変数を使った文言管理や多言語対応の方法について理解を深めていきましょう。
画面の文言を整理する
アプリケーション画面に表示する文言は、以下のカテゴリに分けることができます。
- UIテキスト:ボタン・メニュー・ラベル・ヘルプテキストなど、ユーザがインタフェースを操作するために必要な文言
- メッセージ:ユーザへの通知・警告・エラーメッセージなど、システムからユーザに対して表示するメッセージ
- 説明文:ツールチップ・ガイドメッセージなど、画面や機能の使い方を説明するテキスト
各画面で必要な文言を抽出し、画面一覧や用語集などを作成しながら整理します。同じ文言を使用したい箇所や、一定の文言に固定したい箇所が出てきた場合は、メモを残しておくと良いでしょう。
アプリケーション内での用途を考える
通常、画面の文言は、IM-BloomMakerのデザイナ画面(「プロパティ」タブの「固定値」)にテキストを直接入力すると表示されます。
文言を固定値として使用するのも問題ありませんが、 変数値として利用することで、アプリケーション内での活用範囲が広がります。また、用途に合わせて文言をまとめて管理することで、開発中の変更にも柔軟に対応できます。特に、アプリケーションの規模が大きくなるほど、その効果が発揮されます。
用途別に変数を使い分ける
ここでは、用途別に変数を使った文言管理や多言語対応の方法について説明します。IM-BloomMaker では、変数の設定項目が変数・定数・多言語に分かれているため、用途に応じて使い分けることが可能です。
設定項目 | 説明 |
---|---|
変数 | 内部変数を指す。主に必要な情報を表示させる場合に使用する。 |
定数 | 再代入ができない変数を指す。常に同じ値を使用し、変更が発生しない場合に使用する。 |
多言語 | 複数の言語に対応した値を持つ変数を指す。多言語に対応したい場合に使用する。 |
画面の変数設定
変数・定数・多言語は、IM-BloomMakerのデザイナ画面にある変数タブから設定します。エレメントの値と変数値が双方向に影響を与える「双方向バインディング」という仕組みについても理解しておきましょう。
それでは、設定項目ごとに、具体的な例について見ていきましょう。
Case 1 入力した文言を別の画面に表示したい
変数を使用すると、最初の画面で入力した文言を次の画面に表示させることができます。これにより、ユーザの入力内容を引き継ぎながら、アプリケーション画面への反映が可能になります。
IM-BloomMakerでは、以下のように変数を設定します。
- 変数を定義する(例:input_text)
- Page #1で、エレメントに変数値を設定する(例:$variable.input_text)
- Page #2で、エレメントに変数値を設定する(例:$variable.input_text)
変数の定義方法
上記の例について、チュートリアルガイドで変数の設定方法を確認できます。変数を設定した後、エレメント固有のプロパティから設定した変数値を選択してください。
IM-Repositoryから変数をインポートする
変数の定義には、一つずつ設定する方法以外に、IM-Repositoryの辞書項目やエンティティをインポートする方法があります。辞書項目により、共通の文言や用語を一元管理し、複数のアプリケーションで同じ文言を再利用できます。また、エンティティにより、データベース構造に基づいた変数の定義が可能となり、文言管理がさらに効果的になります。
Case 2 アプリケーション内で画面の文言を統一したい
定数を使用すると、複数の画面間で文言を統一することができます。ただし、定数は一度設定すると画面操作などで設定内容を変更できないため、注意が必要です。定数を設定する際は、慎重に検討してから設定することをおすすめします。
IM-BloomMakerでは、以下のように定数を設定します。
- 定数を定義する(例:title)
- Page #1で、エレメントに定数を設定する(例:$constant.title)
- Page #2で、エレメントに定数を設定する(例:$constant.title)
定数の設定方法
ユーザ操作ガイドでは、定数の設定方法について説明しています。定数エディタを使用する手順、IM-RepositoryやAccel Studioで作成した定義をインポートする手順について確認できます。
IM-Repositoryから定数をインポートする
定数の定義には、一つずつ設定する方法以外に、IM-Repositoryの列挙型をインポートする方法があります。すでに定義された定数をインポートできるため、設定作業が効率的に進みます。
Case 3 複数のアプリケーションで文言を統一したい
Accel Studioの共通定数を使用すると、複数のアプリケーション間で文言を統一することができます。
IM-BloomMakerでは、以下のように定数を設定します。
- Accel Studioから共通定数をそれぞれの定数にインポートする(例:sample-1)
- Application #1で、エレメントに定数を設定する(例:$constant.sample-1)
- Application #2で、エレメントに定数を設定する(例:$constant.sample-1)
Accel Studioから共通定数をインポートする
Accel Studioの共通定数は、IM-BloomMakerの画面以外にもIM-LogicDesignerの処理で同じ定数を利用できます。
IM-Repositoryから定数をインポートする
複数のアプリケーションに定数を定義する場合、Accel Studioで共通定数を設定する方法以外に、IM-Repositoryの列挙型をインポートする方法があります。IM-Repositoryを共通データベースとして利用し、それぞれの画面に定数としてインポートすることで、複数のアプリケーションで文言を統一することができます。
Case 4 アプリケーション内で複数の言語に切り替えたい
多言語を使用すると、ユーザが設定しているロケールに合わせて言語を切り替えます。intra-martがサポートしている言語は、日本語(ja)、英語(en)、簡体字中国語(zh-CN)の3言語です。CSVファイルから多言語をインポートすることも可能なので、決められたフォーマットに従って翻訳した文言を準備しておきましょう。
IM-BloomMakerでは、以下のように多言語を設定します。
- 多言語をロケールごとに定義する(例:open_dialog)
- Application #1で、エレメントに多言語を設定する(例:$i18n.open_dialog)
多言語の設定方法
上記の例について、チュートリアルガイドで多言語の設定方法を確認できます。変数を設定した後、エレメント固有のプロパティから設定した変数値を選択してください。
多言語をCSVファイルからインポートする
翻訳した言語をCSVファイルからインポートできます。ヘッダ情報の定義や文字コードなどを確認してください。
Case 5 アプリケーション間で文言を統一し、言語を切り替えたい
Accel Studioの多言語メッセージ定義を使用すると、複数のアプリケーション間で文言を統一し、さらにユーザが設定しているロケールに合わせて言語を切り替えます。
IM-BloomMakerでは、以下のように多言語メッセージを設定します。
- Accel Studioから取り込みたい多言語メッセージを選択する(例:sample-2)
- Application #1で、エレメントに多言語を設定する(例:$i18n.sample-2)
- Application #2で、エレメントに多言語を設定する(例:$i18n.sample-2)
Accel Studioから多言語メッセージをインポートする
Accel Studioの多言語メッセージは、リソースで共通となるメッセージの機能を提供します。IM-BloomMakerの変数(多言語)に追加したメッセージは、キャプション・メッセージ・条件式などで使用できます。
英語や中国語(簡体字)以外にも対応言語を増やしたい
intra-martがサポートしている英語や中国語(簡体字)以外の言語を追加したい場合は、必要なデータを準備し、ロケール情報の追加や画面のサイズ調整などのカスタマイズ作業を行います。
新たに別の言語を追加する
言語追加ガイドでは、新たに別の言語を追加するための基本的な手順について説明しています。前提条件をよくご確認いただき、アプリケーションを公開した後の運用・保守作業も考慮した上で、言語の追加を検討することをおすすめします。
まとめ
アプリケーション内で文言の用途を考え、適切に変数・定数・多言語と使い分けることで、メンテナンス性や拡張性が向上します。また、IM-RepositoryやAccel Studioを使って文言を管理することで、変更管理が容易になり、新しく他のアプリケーションを開発する際にも共通の文言として使用できます。ローコード開発に慣れてから変数・定数・多言語を設定するのも良いですが、ローコード開発に初めて取り組むタイミングから文言の扱い方を意識することで、開発をスムーズに進めることができます。
intra-martでは、IM-BloomMakerをもっと知っていただくために、マニュアルやコンテンツなどを豊富にご用意しています。IM-BloomMakerの機能を最大限に発揮させるためにも、ぜひご活用ください。