_USTN_LOCALE_LANGUAGE is a predefined and locked variable. According to recommendations I'm using this var to set some configuration issues.
Now I have computers on which my config does not work as the variable points to 'de', although the application is started in english (en) (and no language pack is installed anymore, either).
Where does MicroStation draw the language from? I can't find _USTN_LOCALE_LANGUAGE set (as a definition) anywhere in the config, only as a reference.
I know that. I know where to find the variable visually in the configuration dialog. My question was where MS CE creates the variable. it is not part of the configuration, you won't find it in any cfg.
I also know that you can change the language of the MS GUI via preferences. This does not answer the real question though: how can _ustn_locale_language be used in a config to determine the language of MS CE. Can't it be used for that purpose. Obviously I have difficulties.
As a workaround I use this construct:
%if $(_USTN_LOCALE_COUNTRY) == "" MS_KEYBOARDSHORTCUTSSEED = $(MS_ORGANIZATION_USER_APPSETTINGS_DFLTS)KeyboardShortcutSeed_$(_USTN_LOCALE_LANGUAGE).xml MS_KEYBOARDSHORTCUTS = $(_USTN_PREFNAMEBASE).KeyboardShortcuts_$(_USTN_LOCALE_LANGUAGE).xml%endif
because I found that _ustn_locale_language is only correct if _Ustn_locale_country is not set.
So how are these 2 variables determined by Bentley?
Rob.G said:Where does MicroStation draw the language from? I can't find _USTN_LOCALE_LANGUAGE set (as a definition) anywhere in the config, only as a reference.
You could find the variable after creating _ustn_displayallcfgvars = 1 in your Configuration Variables dialog box. That variable seems to be needed for certain localized versions of MS in order to process their delivered font resource files (e.g. MS_SYMBRSRC).
For the selection of language, you could have access Preferences > Language > Select Language after installing the language pack.
I don't know exactly at what you're hinting at. I never refered to Upgrades. In my first post I mentioned that the german LP is currently not installed but the variable nevertheless Points to 'de'.
But as a matter of fact, yes, we do not use the german full download, we use the std. english download and use a language pack usually.
Can someone at Bentley please just look into the Code and determine how the value for this variable is build?
This issue happened now longer ago, I'll have to look again into the matter. Also if this is related to the omnious file msdefaultlanguage.txt which MicroStation creates in the prefs (and which cannot be predefined administratively).
According to the following upgrade test cases by default (no custom configuration variables are involved), these are expected and work as designed.
Test Case 1
- English MS U12 + German LP
- Upgrade by English MS U13
Result: The German LP will be uninstalled while the latest English version will be upgraded. The equivalent LP should be downloaded and installed separately after the upgrade.
Test Case 2
- German MS U12
- Upgrade by German MS U13
Result: Everything will be upgraded as per the language.
So, I am guessing that what you are seeing is Test Case 1. Is that right?
Can please somebody from Bentley comment on this issue. We're in the middle of our rollout and get more and more cases where our configuration does not work as expected. Is the above mentioned variable intended to reflect the current application (MicroStation) locale, or that of the OS? I think it's the applications locale, as usually the variable switches if you're using the language settings (if a language pack is installed). We have cases I'm pretty sure that a language pack never was installed and after starting MS in english the variable nevertheless points to de. Also, I double checked on my pc that the region setting, as proposed by Kevin, is set to de and MS absolutely correct sets the engl. MS to en...
This has rather large impact as the pop-up menu is a central interface component, and Bentley sadly set up the space bar command in a localized manner...