Actually, they're mostly charts. And this is somewhat theoretical, since I'm just trying to be runtime-switch-ready - it's not a requirement yet. Thanks.
On Fri, Jun 27, 2008 at 12:40 PM, Gordon Smith <[EMAIL PROTECTED]> wrote: > Try calling invalidateList() on the list-based component that you want to > update with the new locale. > > > > Gordon Smith > > Adobe Flex SDK Team > > > > ________________________________ > > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On > Behalf Of Richard Rodseth > Sent: Friday, June 27, 2008 9:48 AM > To: flexcoders@yahoogroups.com > Subject: Re: [flexcoders] Re: internationalization @ switching runtime > > > > This is working out nicely for me (the eval trick, and the fact that > ResourceManager.getString can take arguments). > The one case where I can't push a direct ResourceManager call all the > way into a binding expression is when labelFunctions or > dataTipFunctions are required. > In that case, assuming I override ResourcesChanged, what's the best > way to re-trigger the functions?. Assign them to null, then back? Call > invalidateDisplayList ? > > On Sat, Jun 21, 2008 at 9:21 PM, Richard Rodseth <[EMAIL PROTECTED]> wrote: >> That's very clever. >> >> Gordon's suggestion of adding [Bindable] metadata to the buildTitle() >> method and overriding resourcesChanged() works nicely, and I could >> imagine caching some strings in the override, but adding the override >> in numerous components is a bit of a nuisance, so your idea is quite >> appealing. >> >> Thanks! >> >> On Fri, Jun 20, 2008 at 7:53 PM, brent80301 <[EMAIL PROTECTED]> wrote: >>> A trick that I have used in this case (when overriding >>> resourcesChanged is inconvenient) is to add a property to your >>> whatever.properties file that has no value but accepts a parameter >>> like the following. >>> >>> eval = {0} >>> >>> Then, in your mxml component, do something like the following. >>> >>> <mx:Label >>> >>> text="{resourceManager.getString('whatever','eval',[buildTitle(someParameter)])}"/> >>> >>> This will reevaluate when the locale is changed, and the eval property >>> will simply pass through the new value. Voila! >>> >>> -Brent >>> >>> --- In flexcoders@yahoogroups.com, "Richard Rodseth" <[EMAIL PROTECTED]> >>> wrote: >>>> >>>> No, no, I am definitely using the ResourceManager. But the expression >>>> is something like >>>> >>>> text="{buildTitle(someParameter)}" >>>> >>>> And buildTitle calls static function getUIString which calls >>>> getResourceManager followed by some string substitution. >>>> >>>> On Fri, Jun 20, 2008 at 2:59 PM, Gordon Smith <[EMAIL PROTECTED]> wrote: >>>> > If you're not using MXML databinding to write code like >>>> > >>>> > >>>> > >>>> > <Button id="b" label="{resourceManager.getString(...)}"/> >>>> > >>>> > >>>> > >>>> > then you can override the resourcesChanged() method and reassign >>> the new >>>> > string, as in >>>> > >>>> > >>>> > >>>> > b.label = resourceManager.getString(...); >>>> > >>>> > >>>> > >>>> > The ResourceManager works with resources in ResourceBundles, which >>> normally >>>> > get compiled from .properties files. Are you loading .properties >>> files at >>>> > runtime and parsing them yourself to get keys and values? In that >>> case, you >>>> > can create new instances of ResourceBundle at runtime, put your >>> resources >>>> > into them, and install them into the ResourceManager like this: >>>> > >>>> > >>>> > >>>> > var rb:ResourceBundle = new ResourceBundle(locale, bundleName); >>>> > >>>> > rb.content[key1] = value1; >>>> > >>>> > rb.content[key2] = value2; >>>> > >>>> > ... >>>> > >>>> > resourceManager.addResourceBundle(rb); >>>> > >>>> > >>>> > >>>> > Gordon Smith >>>> > >>>> > Adobe Flex SDK Team >>>> > >>>> > >>>> > >>>> > ________________________________ >>>> > >>>> > From: flexcoders@yahoogroups.com >>> [mailto:[EMAIL PROTECTED] On >>>> > Behalf Of Richard Rodseth >>>> > Sent: Friday, June 20, 2008 2:37 PM >>>> > To: flexcoders@yahoogroups.com >>>> > Subject: Re: [flexcoders] internationalization @ switching runtime >>>> > >>>> > >>>> > >>>> > Gordon, >>>> > >>>> > Forgive me (or ignore this) if it's in the docs. >>>> > >>>> > Does this assume that the ResourceManager.getString call is in the >>>> > binding expression? >>>> > Currently I have some static utilities that load strings like "Hello, >>>> > {0}" from properties files and then do parameter substitution. I've >>>> > been wondering how that would work out in a runtime locale switching >>>> > scenario. >>>> > >>>> > On Fri, Jun 20, 2008 at 2:14 PM, Gordon Smith <[EMAIL PROTECTED]> wrote: >>>> >> You want to learn about the ResourceManager class in Flex 3. It >>> allows you >>>> >> to simply change its localeChain property at runtime and have the >>> entire >>>> >> application redraw in a new language. >>>> >> >>>> >> >>>> >> >>>> >> Gordon Smith >>>> >> >>>> >> Adobe Flex SDK Team >>>> >> >>>> >> >>>> >> >>>> >> ________________________________ >>>> >> >>>> >> From: flexcoders@yahoogroups.com >>> [mailto:[EMAIL PROTECTED] On >>>> >> Behalf Of artur_desig2dev >>>> >> Sent: Friday, June 20, 2008 6:12 AM >>>> >> To: flexcoders@yahoogroups.com >>>> >> Subject: [flexcoders] internationalization @ switching runtime >>>> >> >>>> >> >>>> >> >>>> >> forgive my newbie question.. >>>> >> >>>> >> just wanted to find out the best practice on this to date. >>>> >> on how to change all the components' language at runtime. >>>> >> >>>> >> i found 2 methods of doing this: >>>> >> >>>> >> http://flexme.wordpress.com/2007/07/11/internationalization-in-flex/ >>>> >> >>>> >> http://www.herrodius.com/blog/123 >>>> >> http://flexme.wordpress.com/2007/07/11/internationalization-in-flex/ >>>> >> >>>> >> thanks >>>> >> >>>> >> >>>> > >>>> > >>>> >>> >>> >> > >