ウィジェットの国際化

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:2分
  • ウィジェットの [HTML テンプレート]、[クライアントスクリプト]、または [サーバースクリプト] フィールドで ${} または gs.getMessage() 構文を使用して翻訳対象の文字列にタグを付けると、サービスポータルコンテンツをローカライズできます。

    ${} または gs.getMessage() はプラットフォーム内のメッセージ テーブル [sys_ui_message] を検索し、翻訳の内容を確認します。

    ウィジェットで文字列を国際化するには、HTML テンプレートを使用します。HTML テンプレートに次のように入力します。

    <div>
      <p>${This message will be internationalized.}</p>
      <p>However, this will NOT be.</p>
    </div>

    テキストを ${message} と記述することは、システムの他の部分で ${gs.getMessage("message")} と記述することに相当しますが、より読みやすい省略表現として記述することになります。

    注:
    場合によっては、翻訳に一重引用符や二重引用符が含まれることがあります。クライアント スクリプトで ${} 構文を使用している場合、これにより JavaScript エラーが発生する可能性があります。翻訳されたメッセージを取得する場合、サーバー スクリプトでそれを行うと最も安全です。その後、値をクライアント側の Angular バインディングに割り当てます。

    クライアント スクリプトの文字列の翻訳

    function() {
      var c =this;
      c.message="${This message will be internationalized}";
    }
    HTML テンプレート
    <div>
      <!-- The output of this text will be internationalized. -->
      <p>{{c.message}}</p>
    </div>

    サーバー スクリプトの文字列の翻訳

    サーバー側での実行時は、サーバー スクリプトを使用してスキーマ オプションやその他の値を翻訳します。

    サーバースクリプト
    function() {  
      data.message=gs.getMessage("this message contains 'quotes'");
      //You can also translate schema options using the server script
      //For example, data.message=gs.getMessage(options.title);
    }
    HTML テンプレート
    <div>  
      <p>{{c.data.message}}</p>
    </div>