ウィジェットの国際化
ウィジェットの [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>