ウィジェットのインターナショナライズ
ウィジェットの [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>