Olá!!
Hoje vou mostrar como fazer um sistema Multilinguagem (alterando locales) no Flex. Conforme o exemplo:
*Para ver o fonte, clique com o botão direito do mouse e ViewSource.
Para isso você precisa ter os locales das linguagens. Os locales podem ser baixados nesses links:
Estes locales devem ser colocados no diretório: "{instalaçãodoflex}/sdks/{versaodosdk}/frameworks/locale/".
Configurando o projeto
Clique com o botão direito do mouse no projeto, vá em "properties" depois em "Flex Compiler", em "Additional compiler arguments:" coloque o seguinte:
-locale en_US pt_BR -source-path+=../locale/{locale}
Ficando assim:

Após configurar o locale do seu projeto, você deve criar as pastas "{projeto}/locale/en_US" e "{projeto}/locale/pt_BR" e adicionar o arquivo "localization.properties" dentro de cada pasta.
en_US
pt_BR
Para ler estes arquivos faz assim:
sendo a variável LOCALIZATION o nome do arquivo criado (pode ter vários).
para ler cada linha do arquivo utiliza-se:
Por hoje é isso!!
Comente!
Hoje vou mostrar como fazer um sistema Multilinguagem (alterando locales) no Flex. Conforme o exemplo:
*Para ver o fonte, clique com o botão direito do mouse e ViewSource.
Para isso você precisa ter os locales das linguagens. Os locales podem ser baixados nesses links:
Estes locales devem ser colocados no diretório: "{instalaçãodoflex}/sdks/{versaodosdk}/frameworks/locale/".
Configurando o projeto
Clique com o botão direito do mouse no projeto, vá em "properties" depois em "Flex Compiler", em "Additional compiler arguments:" coloque o seguinte:
-locale en_US pt_BR -source-path+=../locale/{locale}
Ficando assim:
Após configurar o locale do seu projeto, você deve criar as pastas "{projeto}/locale/en_US" e "{projeto}/locale/pt_BR" e adicionar o arquivo "localization.properties" dentro de cada pasta.
en_US
label_selecione_linguagem=Select your language label_nome=Name label_sobrenome=Last Name send_btn=Send
pt_BR
label_selecione_linguagem=Selecione a linguagem label_nome=Nome label_sobrenome=Sobrenome send_btn=Enviar
Para ler estes arquivos faz assim:
<?xml version="1.0" encoding="utf-8"?>
<s:Application viewSourceURL="srcview/index.html"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark">
<s:layout>
<s:VerticalLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.resources.ResourceBundle;
[Bindable]
private var locales:Array = ['pt_BR', 'en_US'];
private static const LOCALIZATION:String = 'localization';
private function changeLanguage():void {
this.resourceManager.localeChain = [cbxLanguage.selectedItem];
}
]]>
</fx:Script>
<fx:Metadata>
[ResourceBundle('localization')]
</fx:Metadata>
<mx:Form>
<mx:FormItem label="{resourceManager.getString( LOCALIZATION , 'label_selecione_linguagem' )}:">
<mx:ComboBox id="cbxLanguage"
change="changeLanguage()"
dataProvider="{locales}"/>
</mx:FormItem>
<mx:FormItem label="{resourceManager.getString( LOCALIZATION , 'label_nome' )}:">
<s:TextInput/>
</mx:FormItem>
<mx:FormItem label="{resourceManager.getString( LOCALIZATION , 'label_sobrenome' )}:">
<s:TextInput/>
</mx:FormItem>
<s:Button label="{resourceManager.getString( LOCALIZATION , 'send_btn' )}"/>
</mx:Form>
</s:Application>
sendo a variável LOCALIZATION o nome do arquivo criado (pode ter vários).
para ler cada linha do arquivo utiliza-se:
resourceManager.getString(LOCALIZATION, 'string')
Por hoje é isso!!
Comente!