I'm not very familiar with the chart classes, but setting the
labelFunction to null and then back again will probably make them
display 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 1:19 PM
To: flexcoders@yahoogroups.com
Subject: Re: [flexcoders] Re: internationalization @ switching runtime

 

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]
<mailto:gosmith%40adobe.com> > 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:flexcoders%40yahoogroups.com>
[mailto:flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
] On
> Behalf Of Richard Rodseth
> Sent: Friday, June 27, 2008 9:48 AM
> To: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.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]
<mailto:rrodseth%40gmail.com> > 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]
<mailto:brent80301%40yahoo.com> > 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(someParam
eter)])}"/>
>>>
>>> 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
<mailto:flexcoders%40yahoogroups.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:flexcoders%40yahoogroups.com> 
>>> [mailto:flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.com> ] On
>>>> > Behalf Of Richard Rodseth
>>>> > Sent: Friday, June 20, 2008 2:37 PM
>>>> > To: flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.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:flexcoders%40yahoogroups.com> 
>>> [mailto:flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.com> ] On
>>>> >> Behalf Of artur_desig2dev
>>>> >> Sent: Friday, June 20, 2008 6:12 AM
>>>> >> To: flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.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://flexme.wordpress.com/2007/07/11/internationalization-in-flex/> 
>>>> >>
>>>> >> http://www.herrodius.com/blog/123
<http://www.herrodius.com/blog/123> 
>>>> >>
http://flexme.wordpress.com/2007/07/11/internationalization-in-flex/
<http://flexme.wordpress.com/2007/07/11/internationalization-in-flex/> 
>>>> >>
>>>> >> thanks
>>>> >>
>>>> >>
>>>> >
>>>> >
>>>>
>>>
>>>
>>
>
> 

 

Reply via email to