上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。




リソースバンドル(ResourceBundle)を使用してアプリケーション実行後のイベントでリソースを切り替える方法をメモします。



リソースファイルの作成


リソースファイルの作成については、下記ページを参照してください。
http://studynet.blog54.fc2.com/blog-entry-24.html

リソースファイルのコンパイル(Flex Builder編)


下記ページにコンパイル方法を記載していますが、少々手順が異なるので。
http://studynet.blog54.fc2.com/blog-entry-24.html

①Flex Builder(Eclipse)[メニュー]→[プロジェクト]→[プロパティ]を開きます。
②左ペイン[FLEX コンパイラ]を選択し、右ペイン[追加コンパイラ引数]に下記を追加・変更します。
 -locale ja_JP en_US -load-config+=flex-config.xml

※-locale ja_JP en_USのように日本語用と英語用の2つのリソースファイルを記載します。

リソースファイル切り替え サンプルソース


index.mxml
 <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
<mx:Metadata>
[ResourceBundle("resource")]
</mx:Metadata>

<mx:Script>
<![CDATA[
import mx.resources.ResourceBundle;

[Bindable]
private var locales:Array = [ "ja_JP" , "en_US" ];

private function localeComboBox_initializeHandler(event:Event):void
{
localeComboBox.selectedIndex = locales.indexOf(resourceManager.localeChain[0]);
}

private function localeComboBox_changeHandler(event:Event):void
{
trace(Capabilities.language);
resourceManager.localeChain = [ localeComboBox.selectedItem ];
resourceManager.update();
}

]]>
</mx:Script>

<mx:ComboBox id="localeComboBox" dataProvider="{locales}" initialize="localeComboBox_initializeHandler(event)" change="localeComboBox_changeHandler(event)"/>
<mx:Label text="{resourceManager.getString('resource','sample')}" textAlign="left" paddingLeft="0" paddingRight="0" letterSpacing="5" fontFamily="Arial"/>

</mx:Application>


リソースファイル切り替え 実行結果


実行結果は以下のようになります。

ドロップダウンの値を変更すると表示されている文字列も変更されます。
”ja_JP”を選択した場合は、日本語リソースから取得し”en_US”の場合は英語リソースから取得し表示しています。

参考サイト


http://livedocs.adobe.com/flex/3_jp/html/help.html?content=l10n_6.html 少しでも参考になれば応援お願いします。












上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。