quarta-feira, 9 de junho de 2010

Locale pt_BR

O Flex utiliza fortemente internacionalização (i18n). Os componentes Alert, DateChooser, DateField, validadores, formatadores, entre outros permitem que suas propriedades que estão vinculadas ao idioma / locale sejam alteradas via código, alguns exemplos:
  • Alert: cancelLabel, noLabel, okLabel e yesLabel.
  • DateChooser e DateField: dayNames e monthNames.
  • Formatadores e Validadores (classes Formatter e Validator e suas classes filhas): possuem propriedades terminadas em error que são as mensagens que irão ser mostradas de acordo com a situação.
  • Os formatadores possuem a propriedade formatString (com exceção de CurrencyFormatter e NumberFormatter) e outras propriedades específicas de cada formatador, tais como: decimalSeparatorFrom, decimalSeparatorTo, thousandsSeparatorFrom, thousandsSeparatorTo para CurrencyFormatter e NumberFormatter e currencySymbol para CurrencyFormatter.
  • Os validadores CurrencyValidator e NumberValidator possuem as propriedades: decimalSeparator e thousandsSeparator e currencySymbol para CurrencyValidator.
Mas o melhor é poder informar o idioma / locale e o Flex configurar "automagicamente" estas propriedades. Para informar os locales, você precisa na hora da compilação indicar qual ou quais locales irá utilizar, para isso você precisa ir em Project > Properties > Flex Compiler e na linha Additional compiler arguments colocar:
-locale pt_BR // Para usar somente pt_BR
ou
-locale=pt_BR,en_US // Para usar pt_BR e en_US

E para trocar de idioma em runtime usa-se:
resourceManager.localeChain = ['pt_BR'];

Os arquivos de locale do framework são arquivos .properties compactados dentro de arquivos .swc. No Flex / Flash Builder estes arquivos se encontram em builder_dir/sdks/sdk_version/frameworks/locale e quando se estiver usando somente o sdk estará em sdk_dir/frameworks/locale. Se for necessário, você poderá abrir o arquivo .swc com qualquer descompactador e alterar o conteúdo dos arquivos .properties contidos nele.

Estes são exemplos do framework, você também pode criar traduções específicas para sua aplicação.

Veja mais

Introduction to localization
NumericInput (comentários)

Links para o locale pt_BR
No download do Flash Builder 4 e do SDK 4. Links de download aqui.
SVN atualizado (.properties) aqui e aqui.
Deixei disponível para download o do Flex 3 e 4.

3 comentários:

  1. Boa tarde!

    Não estou conseguindo baixar os locales. Os links parecem estar quebrados.

    ResponderExcluir
  2. Max, obrigado, situação regularizada, estrava trocando de servidor de hospedagem.

    ResponderExcluir
  3. veja também: http://desenvolvendoemflex.blogspot.com/2011/06/flex-com-multilinguagem.html

    ResponderExcluir