<\/HEAD>
前回の投稿で、Web Appbuilder用に独自のウィジェットを作成する方法<\/A>を紹介しましたが、今回はウィジェットでの多言語対応のオプションについて説明したいと思います。<\/P>
NLS<\/H4>これまでのウィジェットの文字列は、現時点ではSetting.htmlとWidget.htmlファイルにほぼハードコーディングされています。ブラウザやポータル内で設定された言語に応じてこれらの文字列を置き換えたい場合は、文字列にラベルを付けて文字列ライブラリを作成する必要があります。これはSetting.htmlとWidget.htmlのウィジェット構造内の異なる場所で行われます。<\/P>Setting.html<\/H4>settingフォルダにはnlsというフォルダがあります。その中にサポートしたい各言語用のフォルダを作成し、デフォルトでウィジェットの設定に使用される文字列を含む初期のstrings.jsファイルを作成します。strings.jsファイルは実際のデフォルト文字列と、単一言語(この例では「de」のみサポート)をサポートしているかどうかの指標で構成されています:<\/P><SPAN class="token function">define<\/SPAN><SPAN class="punctuation token">(<\/SPAN><SPAN class="punctuation token">{<\/SPAN>
root<SPAN class="punctuation token">:<\/SPAN> <SPAN class="punctuation token">(<\/SPAN><SPAN class="punctuation token">{<\/SPAN>
ZoomSetCheckboxText<SPAN class="punctuation token">:<\/SPAN> <SPAN class="string token">"ズームレベルを表示"<\/SPAN><SPAN class="punctuation token">,<\/SPAN>
ScaleSetCheckboxText<SPAN class="punctuation token">:<\/SPAN> <SPAN class="string token">"スケールを表示"<\/SPAN><SPAN class="punctuation token">,<\/SPAN>
configText<SPAN class="punctuation token">:<\/SPAN> <SPAN class="string token">"設定:"<\/SPAN>
<SPAN class="punctuation token">}<\/SPAN><SPAN class="punctuation token">)<\/SPAN><SPAN class="punctuation token">,<\/SPAN>
<SPAN class="string token">"de"<\/SPAN><SPAN class="punctuation token">:<\/SPAN> <SPAN class="number token">1<\/SPAN><SPAN class="punctuation token">,<\/SPAN>
<SPAN class="string token">"es"<\/SPAN><SPAN class="punctuation token">:<\/SPAN> <SPAN class="number token">0<\/SPAN>
<SPAN class="punctuation token">}<\/SPAN><SPAN class="punctuation token">)<\/SPAN><SPAN class="punctuation token">;<\/SPAN><SPAN class="line-numbers-rows"><SPAN><\/SPAN><SPAN><\/SPAN><SPAN><\/SPAN><SPAN><\/SPAN><SPAN><\/SPAN><SPAN><\/SPAN><SPAN><\/SPAN><SPAN><\/SPAN><SPAN><\/SPAN><\/span><\code></pre ><p >変数「ZoomSetCheckboxText」と「ScaleSetCheckboxText」を使い、それらの変数に基本的な文字列を定義していることにお気づきかもしれません。これらの文字列は変数が使われている場所で使用されるべきです。変数はSetting.htmlファイル内に配置します。表記法が少し変わっていて少し奇妙に見えるかもしれません:<br \/ ><pre class = "lia-code-sample line-numbers language-none"><code> <span class = "token tag"><span class = "token tag"><span class = "punctuation token"><<\span >div</span ><span class = "punctuation token" >><\span ></span >
<span class = "token tag"><span class = "token tag"><span class = "punctuation token" ><<\span >div</span > <span class = "attr-name token" >class</span ><span class = "attr-value token"><span class = "punctuation token" >=</span ><span class = "punctuation token" >"</span >title<span class = "punctuation token" >"</span ><\span class = "punctuation token" >><\span ></span >${nls.configText}<\span class = "token tag"><span class = "token tag"><span class = "punctuation token" ></</span >div</span ><span class = "punctuation token" >><\span ></span >
<span class = "token tag"><span class = "token tag"><span class = "punctuation token" ><<\span >div</span > <span class = "attr-name token" >class</span ><span class = "attr-value token"><span class = "punctuation token" >=</span ><span class = "punctuation token" >"</span >row<span class = "punctuation token" >"</span ><\span class = "punctuation token" >><\span ></span >
<span class = "token tag"><span class = "token tag"><span class = "punctuation token" ><<\span >input</span > <span class = "attr-name token" >type</span ><span class = "attr-value token"><span class = "punctuation token" >=</span ><span class = "punctuation token" >"</span >checkbox<span class = "punctuation token" >"</span ><\ span class = "attr-name token" >id</ span >< span class= "attr-value-token">< span class= " punctuation-token ">=</ span >< span class= " punctuation-token ">"ZoomSetCheckbox<span class= " punctuation-token ">"></ span ><\ span class= " punctuation-token ">></ span ><\ span ></ span >< span class= "token-tag ">< span class= "token-tag ">< span class= " punctuation-token "></</ span >input<span class= " punctuation-token ">></ span ><\ span ></ span >
< span class= "token-tag ">< span style-attr language-css-token">< span attr-name-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style-attr language-css-token style- attr-name -token -style - attr -language - css -token -style - attr -language - css -token -style - attr -language - css -token -style - attr -language - css -token -style - attr -language - css -token -style - attr -language - css -token -style - attr -language - css -token -style - attr -language - css -token -style - attr ... (truncated due to length) class="punctuation token">,</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>親フォルダーのデフォルト strings.js ファイルと比較して、文字列インジケーターの使用法が異なることに注意してください。The Widget.html
ウィジェット自体は同様に動作します。Widget フォルダー内に、サポートしたい言語に関するサブフォルダーを持つ nls フォルダーを作成します。サポートされている言語のリストはここで確認できます:

再度、元のファイルで使用されている文字列を "${nls.xyz}" スキーマで置き換えます:
<div class="ZoomLeveLInfo">