画面の文言を用途に合わせて変数に置き換えたい

この記事では、画面で使用する文言を用途に合わせて変数に置き換える方法について紹介します。
文言には、UIテキストやメッセージ、説明文などが含まれます。アプリケーション内で文言を直接定義しても問題ありませんが、画面数が増えるにつれて、文言の統一性が求められます。また、利用環境によっては複数の言語に対応する必要が出てきます。これらの用途に対応するため、変数を使った文言管理や多言語対応の方法について理解を深めていきましょう。

画面の文言を整理する

アプリケーション画面に表示する文言は、以下のカテゴリに分けることができます。

  • UIテキスト:ボタン・メニュー・ラベル・ヘルプテキストなど、ユーザがインタフェースを操作するために必要な文言
  • メッセージ:ユーザへの通知・警告・エラーメッセージなど、システムからユーザに対して表示するメッセージ
  • 説明文:ツールチップ・ガイドメッセージなど、画面や機能の使い方を説明するテキスト

各画面で必要な文言を抽出し、画面一覧や用語集などを作成しながら整理します。同じ文言を使用したい箇所や、一定の文言に固定したい箇所が出てきた場合は、メモを残しておくと良いでしょう。

アプリケーション内での用途を考える

通常、画面の文言は、IM-BloomMakerのデザイナ画面(「プロパティ」タブの「固定値」)にテキストを直接入力すると表示されます。

文言を固定値として使用するのも問題ありませんが、 変数値として利用することで、アプリケーション内での活用範囲が広がります。また、用途に合わせて文言をまとめて管理することで、開発中の変更にも柔軟に対応できます。特に、アプリケーションの規模が大きくなるほど、その効果が発揮されます。

用途別に変数を使い分ける

ここでは、用途別に変数を使った文言管理や多言語対応の方法について説明します。IM-BloomMaker では、変数の設定項目が変数・定数・多言語に分かれているため、用途に応じて使い分けることが可能です。

設定項目   説明
変数内部変数を指す。主に必要な情報を表示させる場合に使用する。
定数再代入ができない変数を指す。常に同じ値を使用し、変更が発生しない場合に使用する。
多言語複数の言語に対応した値を持つ変数を指す。多言語に対応したい場合に使用する。

それでは、設定項目ごとに、具体的な例について見ていきましょう。

Case 1 入力した文言を別の画面に表示したい

変数を使用すると、最初の画面で入力した文言を次の画面に表示させることができます。これにより、ユーザの入力内容を引き継ぎながら、アプリケーション画面への反映が可能になります。


IM-BloomMakerでは、以下のように変数を設定します。

  1. 変数を定義する(例:input_text)
  2. Page #1で、エレメントに変数値を設定する(例:$variable.input_text)
  3. Page #2で、エレメントに変数値を設定する(例:$variable.input_text)

Case 2 アプリケーション内で画面の文言を統一したい

定数を使用すると、複数の画面間で文言を統一することができます。ただし、定数は一度設定すると画面操作などで設定内容を変更できないため、注意が必要です。定数を設定する際は、慎重に検討してから設定することをおすすめします。


IM-BloomMakerでは、以下のように定数を設定します。

  1. 定数を定義する(例:title)
  2. Page #1で、エレメントに定数を設定する(例:$constant.title)
  3. Page #2で、エレメントに定数を設定する(例:$constant.title)

Case 3 複数のアプリケーションで文言を統一したい

Accel Studioの共通定数を使用すると、複数のアプリケーション間で文言を統一することができます。


IM-BloomMakerでは、以下のように定数を設定します。

  1. Accel Studioから共通定数をそれぞれの定数にインポートする(例:sample-1)
  2. Application #1で、エレメントに定数を設定する(例:$constant.sample-1)
  3. Application #2で、エレメントに定数を設定する(例:$constant.sample-1)

Case 4 アプリケーション内で複数の言語に切り替えたい

多言語を使用すると、ユーザが設定しているロケールに合わせて言語を切り替えます。intra-martがサポートしている言語は、日本語(ja)、英語(en)、簡体字中国語(zh-CN)の3言語です。CSVファイルから多言語をインポートすることも可能なので、決められたフォーマットに従って翻訳した文言を準備しておきましょう。


IM-BloomMakerでは、以下のように多言語を設定します。

  1. 多言語をロケールごとに定義する(例:open_dialog)
  2. Application #1で、エレメントに多言語を設定する(例:$i18n.open_dialog)

Case 5 アプリケーション間で文言を統一し、言語を切り替えたい

Accel Studioの多言語メッセージ定義を使用すると、複数のアプリケーション間で文言を統一し、さらにユーザが設定しているロケールに合わせて言語を切り替えます。


IM-BloomMakerでは、以下のように多言語メッセージを設定します。

  1. Accel Studioから取り込みたい多言語メッセージを選択する(例:sample-2)
  2. Application #1で、エレメントに多言語を設定する(例:$i18n.sample-2)
  3. Application #2で、エレメントに多言語を設定する(例:$i18n.sample-2)

英語や中国語(簡体字)以外にも対応言語を増やしたい

intra-martがサポートしている英語や中国語(簡体字)以外の言語を追加したい場合は、必要なデータを準備し、ロケール情報の追加や画面のサイズ調整などのカスタマイズ作業を行います。

まとめ

アプリケーション内で文言の用途を考え、適切に変数・定数・多言語と使い分けることで、メンテナンス性や拡張性が向上します。また、IM-RepositoryやAccel Studioを使って文言を管理することで、変更管理が容易になり、新しく他のアプリケーションを開発する際にも共通の文言として使用できます。ローコード開発に慣れてから変数・定数・多言語を設定するのも良いですが、ローコード開発に初めて取り組むタイミングから文言の扱い方を意識することで、開発をスムーズに進めることができます。

intra-martでは、IM-BloomMakerをもっと知っていただくために、マニュアルやコンテンツなどを豊富にご用意しています。IM-BloomMakerの機能を最大限に発揮させるためにも、ぜひご活用ください。