My understanding of “inferred” values for the LocaleInfo object is that, when 
inferred is allowed/used, that values which are not explicitly specified in the 
constructor (eg: calendar), will be inferred as best as possible from the other 
inputs.

For example:  If I construct it with:
var myLocale = new LocaleInfo( { localeName: “en-US”, inferDetails: “true” } );
then it could return a Gregorian calendar for
                var cal = myLocale.calendar;

And, if it wasn’t obvious, it could fall back to defaults:
                var klingon = new LocaleInfo( { localeName: “tlh”, 
inferDetails: “true” } );
                var cal = klingon.calendar;  // ends up at Gregorian because 
there’s no real data here.

If inferred is false, then should it fail by returning undefined or throw an 
error?
                var klingon = new LocaleInfo( { localeName: “tlh”, 
inferDetails: “false” } );
                var cal = klingon.calendar;  // throw or undefined?

Throwing seems a bit heavy to me, however it also seems a bit “safer.”  In the 
i18n meeting we’d said that errors would throw, however testing for whether or 
not a valid value was available seems to me more like a normal condition than 
an exception.


- Shawn

 
http://blogs.msdn.com/shawnste
(Selfhost 7908)

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to