Maybe all this will help someone else here looking for a solution to this problem (and maybe some kindly bots will run across it at some point too). In short, you have to compile your own SWCs for each of the languages, and not just the resource library SWFs every other instruction set tells you about. This means finding out on your lonesome all the translations for days of the week and months of the year, and anything else pertinent like date and currency format defaults. The steps are:
1) use the copylocale to copy the en_US files to your new language directories. 2) edit the .properties files located in your equivalent of C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\projects\framework\bundles\es_ES\src. The dayNames and monthNames key/value pairs are located in SharedResources.properties 3) recompile the framework_rb.swc file. From within C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\ I used the following command (taken from the build.xml script, which I'm still struggling to get working - seriously damaging my cred). compc -locale=es_ES -output="locale/{locale}/framework_rb.swc" -include-resource-bundles SharedResources collections containers controls core effects formatters logging skins states styles utils validators -source-path="projects\framework\bundles\{locale}\src","projects\framewo\ rk\src" -external-library-path="libs\player\9\playerglobal.swc" 4) from your project's root directory, re-run your language compiler for each of the languages. Again using Spanish as an example, use: mxmlc -locale=es_ES -source-path=locale/{locale} -include-resource-bundles=LanguageResource,SharedResources,collections,c\ ontainers,controls,core,effects,formatters,logging,messaging,rpc,skins,s\ tyles,utils -output=src/Resources_es_ES.swf Formatters will now do their internationally spelled magic. Hopefully this will all become useless very soon, with Adobe just handing over all these languages by default. A man can dream. A man can dream. - MrB --- In flexcoders@yahoogroups.com, "Ben Reynolds" <mrb...@...> wrote: > > Okay, I have what I suppose is a solution to this, but I'm still short a coupla answers. > > 1) I ran the resource-bundle-list option again on my application > > mxmlc -locale= -resource-bundle-list=myresources.txt -include-libraries+=..\libs\CairngormWithExtensions.swc app.mxml > > which came up with: > > CairngormMessages LanguageResource SharedResources collections containers controls core effects formatters logging messaging rpc skins styles utils > > The difference is the SharedResources and formatters, which wasn't in the original. > > 2) I recompiled the resource bundles (skipping CairngormMessages, which I'm not using) over the 15 languages. ie. > > mxmlc -locale=da -source-path=locale/{locale} -include-resource-bundles=LanguageResource,SharedResources,collections,c\ ontainers,controls,core,effects,logging,messaging,rpc,skins,styles,utils -output=src/Resources_da.swf > > So now it doesn't fall over on MMM or MMMM. > > > However, I have but face. Also, I'm about to make some assumptions... The copylocale that I used earlier to create the resources seems to do exactly that: copies. It doesn't actually create a proper locale for all those places. So "January" in en_US is still "January" in it_IT when, according to Babelfish, it should be "Gennaio" etc. etc. > > What can I do about this? > Where can I get proper versions of these locales? > Is there a way to get the names from the operating system and apply them to DateBase or is this already happening and I just can't see it because I'm running an English machine? > > > Danke for any light you can shed on this. > > --- In flexcoders@yahoogroups.com, "Ben Reynolds" mrben1@ wrote: > > > > Hey guys, > > > > I have a Flex 3 app that employs dynamic resource management - pretty > > much a cut-n-paste job from the Adobe sample - with the ComboBox to > > switch languages. I did all the copylocale rigmarole and it's all > > working perfectly with the languages I've set up. > > > > However, when I try to call a DateFormatter with a full month (MMM or > > MMMM) in the formatString it crashes and burns with the following error: > > > > TypeError: Error #1009: Cannot access a property or method of a null > > object reference. > > at > > mx.formatters::DateBase$/http://www.adobe.com/2006/flex/mx/internal::ext\ \ > > ractTokenDate() > > > > This is probably referring to the DateBase.monthNamesLong array; > > formatting is not an issue with M or MM. Am I perhaps missing something > > in the creation of my resource files? This is a sample of the command I > > used: > > > > mxmlc -locale=es_ES -source-path=locale/{locale} > > -include-resource-bundles=LanguageResource,collections,containers,contro\ \ > > ls,core,effects,logging,messaging,rpc,skins,styles,utils > > -output=src/Resources_es_ES.swf > > > > But it even dies when the locale is set to en_US. > > > > Help? :) > > >