メインコンテンツまでスキップ

多言語機能を使ったメッセージとキャプションの管理

IM-BloomMakerの画面に表示するメッセージやキャプションを、エレメントのプロパティに直接入力(ハードコード)していると、次のような問題が起こりやすくなります。

  • 複数の画面で同じメッセージやキャプションを使っている場合、修正時にすべての画面を個別に修正する必要がある
  • 修正もれにより、画面間で文言が統一されていない状態が発生しやすくなる
  • 将来的に多言語対応(日本語・英語・中国語の切り替え)が必要になったとき、大幅な改修が必要になる

Accel Studioの多言語機能を使えば、メッセージやキャプションを一か所で定義・管理でき、複数の画面やアプリケーションから共通で利用できます。多言語対応が不要なプロジェクトであっても、文言の一元管理によるメンテナンス性の向上が期待できます。

ここでは、Accel Studioの多言語機能を利用したメッセージ・キャプションの管理ルールの一例を紹介します。あくまで一例のため、この形でのルールを強制するものではありません。ルールはプロジェクトやチームの方針に合わせて調整してください。

備考

説明

このページで説明する内容は、以下を前提にしています。

  • 統一管理
    • IM-BloomMakerで利用するすべてのメッセージとキャプションを、Accel Studioの多言語機能で管理する
  • 命名ルール
  • 命名の一貫性
    • 同一機能内では一貫した命名ルールを適用する
    • プロジェクト全体で統一されたメッセージグループIDの命名ルールを規定する
  • メンテナンス性の考慮
    • 多言語メッセージは将来的な変更や追加を考慮した構造で管理する
    • 機能追加時は既存の命名ルールにしたがい、一貫性を保つ
警告

例外的な管理方法(例:ハードコードするなど)がある場合は、プロジェクト全体での一貫性を保つため、事前にチーム内で合意を取ることをおすすめします。

実装イメージ

多言語機能を使ってIM-BloomMakerの画面にメッセージやキャプションを反映するには、次の3つのステップで設定します。

1. 多言語管理でメッセージを定義する

サイトマップAccel Studioユーティリティ多言語管理多言語メッセージ定義一覧で、カテゴリ、メッセージグループ、メッセージを順に定義します。

おもな設定項目

「カテゴリ」「メッセージグループ」「メッセージ」の3つの階層で定義します。

  • カテゴリ:アプリケーション管理・紐づけ単位で作成します(例:外部システム連携、顧客管理、在庫管理、共通機能など)
    • カテゴリIDについては、検索性や管理上の利用はないため初期値でかまいません。
  • メッセージグループ:Accel Studioで管理するアプリケーション単位で作成します(例:ユーザ登録、データ一覧表示、ファイルアップロードなど)
    • メッセージグループIDは以下の例のように設定します。機能を明確に識別できるよう、具体的でわかりやすい名前にします。
      例:ユーザ登録機能の場合:user-registration、データ一覧表示の場合:data-list-display
  • メッセージ:画面に表示するテキストをメッセージキーとともに登録します
メッセージキーの命名ルールの例

メッセージキーは、基本の命名ルールにしたがってコンスタントケース(すべて大文字)で命名します。加えて、用途と表示場所を明確にするため、以下のルールを適用します。

用途がわかる接頭辞を付ける

  • キャプション(短い表示テキスト):CAP を接頭辞にする
    • ボタンのラベル、項目名、見出しなど
    • 例:CAP_USER_NAME(ユーザ名)、CAP_REGISTRATION_DATE(登録日)
  • メッセージ(文章形式のテキスト):MSG を接頭辞にする
    • 説明文やエラーメッセージなど、句点を含む完全な文
    • 例:MSG_SAVE_SUCCESS(保存が完了しました)、MSG_VALIDATION_ERROR(入力内容に誤りがあります)

表示ブロックの付与を検討する

複数箇所で共通利用するメッセージではなく、表示(利用)箇所が決まっているメッセージには、表示ブロック名を含めることで管理しやすくなります。表示場所で絞り込んだ管理ができるため、局所的な変更対応が容易です。

  • ヘッダ部分HEADER を含める(例:MSG_HEADER_WELCOMECAP_HEADER_USER_INFO
  • フッタ部分FOOTER を含める(例:MSG_FOOTER_COPYRIGHTCAP_FOOTER_VERSION
  • サイドバー部分SIDEBAR を含める(例:CAP_SIDEBAR_FILTER

2. Accel Studioと紐づける

作成した多言語メッセージグループを、Accel Studioのアプリケーション管理画面でユーティリティタブ>リソースを追加から定義した多言語メッセージを紐づけます。

3. IM-BloomMakerに取り込む

IM-BloomMakerのデザイナ画面でAccel Studioから多言語メッセージを追加機能を使って、多言語メッセージを変数に取り込みます。取り込んだメッセージは $i18n.メッセージキー の形式でエレメントのプロパティやカスタムスクリプトから参照できます。

多言語メッセージの管理フロー例

多言語メッセージの定義をどのタイミングで行うかについて、以下のいずれかのアプローチが考えられます。プロジェクトの特性や開発フェーズに応じて検討してみてください。

設計段階であらかじめ定義する方法です。

  1. 設計:外部(詳細)設計書で画面のブロック構成を定義する
  2. 多言語定義:Accel Studioで多言語メッセージを作成する
  3. 連携:アプリケーション管理画面でメッセージグループを紐づける
  4. 取り込み:IM-BloomMakerに多言語メッセージを取り込む
  5. 実装:取り込んだ多言語変数($i18n.メッセージキー)を使って画面を実装する

特徴

  • 設計段階でモックなどをもとにブロック構成を作成し、必要なメッセージキーを洗い出す
  • 実装時にID設定で迷うことが少なく、スムーズに進められる
  • IDに入れるべき内容を事前に定義しておくことで統一性を保ちやすい

適しているケース

  • 要件が明確で、画面設計が確定しているプロジェクト
  • 大規模プロジェクトで統一性を重視する場合