For normal database connections, I can specify "LANG=..." to choose a language that differs from the default language.
When events run within their internal connections, connection parameters do not apply. What language do they use - the default system language or the language of the user running the database engine?
(It seems the latter: When having "DE" as system language and "EN" as user language, a database engine running within the user context seems to generate event messages in "EN".)
Background: The question comes up as some typical event tasks have to deal with system procedures that may use different languages to return their textual success message - cf. that FAQ: sa_validate() should return a language-agnostic return value.
The language for the locale of the account the server is running under.
From the DCX article on the SALANG environment variable you can follow the evaluation order on how that is determined.
"The first of the following methods that returns a value determines the default language:
For items 1, 3, and 4 those can come from the environment setting for the account. For example if running as a Windows service under the LocalSystem account (i.e. \.\SYSTEM) then those would be evaluated from the System environment. If running under another account then any settings in the user account's environment will take precedence.
Locale support is somewhat different under Windows than for Unix/Linux so expect some variability in how that operates but the software makes locale lookups appropriate to the platform.
From my understanding customer don't often use dblang or set SALANG, so it will often fall to the OS/User Locale setting (possibly overridden by user-specific settings).
answered 03 Mar '15, 10:40
Nick Elson S...