[ic] Solution for config error: Please specify the Locale directive in the configuration file 'catalog.cfg'

Kevin Walsh kevin at cursor.biz
Thu Feb 14 12:19:02 EST 2008


Mike Heins <mike at perusion.com> wrote:
> Quoting Davor Ocelic (docelic at mail.inet.hr):
> > Regarding the error that a few others have reported in the past,
> > 
> > config error: Please specify the Locale directive in the configuration file
> > 'catalog.cfg'
> > 
> > I've got an update. The error is lurking somewhere in the Admin UI code,
> > where the setting of DEFAULT_LOCALE gets assigned an invalid value.
> > 
> > The value of DEFAULT_LOCALE should be "en_US" (or another valid locale),
> > but the Admin UI (irreproducibly) lowercased it to "en_us".
> > 
> > This, of course, caused the Locale directive to end up undefined (no
> > locale 'en_us' exists), resulting in the above unhelpful message.
> > 
> > I've recorded this as a bug in our RT; until it is fixed, editing
> > products/variable.txt and changing en_us to en_US is a good solution.
> > 
> > The previous posts on this topic were:
> > http://www.icdevgroup.org/pipermail/interchange-users/2004-May/039193.html
> > http://www.icdevgroup.org/pipermail/interchange-users/2004-May/039194.html
> > http://www.icdevgroup.org/pipermail/interchange-users/2004-May/039192.html
> > http://www.icdevgroup.org/pipermail/interchange-users/2005-September/043823.html
> > http://www.icdevgroup.org/pipermail/interchange-users/2004-November/041503.html
> > 
> Is there any way to duplicate this? It doesn't happen for me or any catalog
> I have, that I know of.
> 
I can't reproduce it either, Davor.

Are you suggesting that the Interchange core somehow transmutes a
DEFAULT_LOCALE of "en_US" to "en_us", or that the admin system is
saving it that way in the variable table?

If it's the admin system that's doing this then is it only that one
variable that's affected, or is there a whole swathe of variable values
that are suddenly lower-cased?

The referenced articles suggest that using "en_US" instead of the
DEFAULT_LOCALE variable works around the problem.  That suggests to
me that it's the admin system that's saving the value, and is either
incorrectly lower-casing it, or is using a user-supplied lower-cased
value.

It would be nice to see this problem reliably reproduced, as that would
aid in its discovery and correction.  Having said that, I'm not entirely
sure that it's not just caused by user error (i.e. someone entering
"en_us" into the variable editor).  Such a change can go unnoticed for
a while if the changes are not applied immediately.

Also, while I think of it, make sure that there is no other
VariableDatabase directive pointing to a variable table that contains an
overriding DEFAULT_LOCALE value, or a hard-coded "Variable DEFAULT_LOCALE"
directive hiding somewhere in the configuration.

-- 
   _/   _/  _/_/_/_/  _/    _/  _/_/_/  _/    _/
  _/_/_/   _/_/      _/    _/    _/    _/_/  _/   K e v i n   W a l s h
 _/ _/    _/          _/ _/     _/    _/  _/_/    kevin at cursor.biz
_/   _/  _/_/_/_/      _/    _/_/_/  _/    _/


More information about the interchange-users mailing list