> On Oct 1, 2017, at 2:42 PM, Idylog - Nicolas Granon <[email protected]> 
> wrote:
> 
> Hi Harbs,
> 
> "I’m not sure if a default resource bundle should be included at compile time 
> as well."
> 
> Well, it seems to me that, in Flex, there must be a default bundle (cooked 
> inside the swf) that is used by the framework itself for a number of tasks :
> Standard validators, standard formatters, default button label (ok, 
> cancel...), default loader label (loading ...%) and, in a general manner, all 
> "standard" texts and value come from there.

There is a default locale for compiled swfs which is usually en_us.

> The default locale is any of the locales defined in the frameworks/locale 
> folder or the selected sdk.
> 
> Maybe it is not necessary to cook that default locale inside the compile js 
> but I cannot imagine there is no default locale at all..??
> (if the default locale is not cooked inside the base js, we must manage the 
> case where it fails to load…)

Right. This is something that needs to be considered for resources loaded at 
runtime.

> As for the PAYG way, it seems to me that if we have ResourceBundle and 
> ResourceManager it is acceptable to load resources (any resource!) at run 
> time, and at any time. Or maybe I did not correctly understand your concerns ?

PAYG means that there’s no extra code if you don’t need it, so for resources 
that are defined at compile time, there should not be a need for 
ResourceManager.

For this to work, there would probably need to be “ResourceManager beads” and 
“non-ResourceManager beads”.

> 
> "I’m actually not really sure how resource bundles are compiled and used in 
> classic Flex."
> 
> "Compiled" resources are really nothing more than an object whose property 
> name are the .properties file keys and the values are the values from the 
> .properties (might be indirect in case of binary values).
> 
> Resource bundle can even be created at runtime (we use this a lot : it allows 
> us to have resources containing values that depend on user login).
> 
> Maybe I can help about this. What exactly is unclear to you ?\

What parses the resource into objects? The resources are not in true object 
notation.

> Nicolas Granon
> 
> 
> 
> 
>> -----Message d'origine-----
>> De : Harbs [mailto:[email protected]]
>> Envoyé : dimanche 1 octobre 2017 11:41
>> À : [email protected]
>> Objet : Struggling with resource files
>> 
>> I’m trying to figure out an elegant way to use resource bundles in a
>> PAYG way and I’m having trouble.
>> 
>> I’m actually not really sure how resource bundles are compiled and used
>> in classic Flex.
>> 
>> As I see it, there’s three cases where resource bundles might be used:
>> 
>> 1. The locale is known at compile time.
>> 2. The locale is known at app initialization.
>> 3. The locale might be changed during runtime.
>> 
>> The ResourceManager classes in classic Flex is designed with #3 in mind
>> and it’s not very PAYG at all.
>> 
>> I’d venture to say that the biggest use case is #1. #2 is relatively
>> common as well. #3 is probably pretty rare.
>> 
>> For case #2, it’s probably necessary to load the resource bundles as
>> separate HTTP request(s) once the app initializes. I’m not sure if a
>> default resource bundle should be included at compile time as well.
>> Dunno.
>> 
>> Case #1 seem the most straight-forward and there really should be some
>> way to specify resources when compiling an app.
>> 
>> I just committed some code which takes a stab at compile time resource
>> strings, but it’s kind of hacky, and I feel like there’s a better way
>> to go about it. Ideally, there should be some way to specify and
>> .properties file and have it included in the app.
>> 
>> To use what I committed you’d do something like this (not tested and
>> probably not working, but I wanted to commit the general idea):
>> 
>> <js:CurrencyValidator>
>>  <js:beads>
>>    <js:SimpleResourceStringBead
>> resources=“org.apache.flex.utils.validation.resources.creditcard.en_us”
>> />
>>  </js:beads>
>> </js:CurrencyValidator>
>> 
>> Any ideas on how to better go about this?
>> 
>> Harbs
> 

Reply via email to