Problem mit "GetLocaleInfoMap"

Antworten
poly
Beiträge: 11
Registriert: 13 Okt 2011, 09:28

Problem mit "GetLocaleInfoMap"

Beitrag von poly »

Hallo,

ich habe einen Rechner mit Windows 7 Professional in englisch. In meinem Installations-Scripts möchte ich ein Programm abhängig von der Sprache des Betriebssystems installieren. Dafür verwende ich wie vorgeschlagen den Befehl "GetLocaleInfoMap" und möchte gerne den Eintrag "language_id_2chars" verwenden, leider liefert der Befehl aber nicht das gewünschte Ergebnis.

Nachdem ich das LogLevel etwas höher gesetzt habe zeigt das Log-File folgendes Ergebnis:

Code: Alles auswählen

[1] [Mrz 25 13:17:48:462] LogLevel set to 7
[5] [Mrz 25 13:17:48:462] 
[5] [Mrz 25 13:17:48:462] Set  $languagemap$ = GetLocaleInfoMap
[7] [Mrz 25 13:17:48:462] Registry started with redirection (32 Bit)
[6] [Mrz 25 13:17:48:462] Registry key [HKEY_LOCAL_MACHINE\System\CurrentControlset\Control\Nls\Language]  opened
[6] [Mrz 25 13:17:48:462] Key closed
[6] [Mrz 25 13:17:48:463]     retrieving strings from GetLocaleInfoMap [switch to loglevel 7 for debugging]
[7] [Mrz 25 13:17:48:463]         (string   0)language_id_2chars=DE
[7] [Mrz 25 13:17:48:463]         (string   1)language_id=DEU
[7] [Mrz 25 13:17:48:463]         (string   2)localized_name_of_language=German (Germany)
[7] [Mrz 25 13:17:48:463]         (string   3)English_name_of_language=German
[7] [Mrz 25 13:17:48:463]         (string   4)abbreviated_language_name=DEU
[7] [Mrz 25 13:17:48:463]         (string   5)native_name_of_language=Deutsch
[7] [Mrz 25 13:17:48:463]         (string   6)country_code=49
[7] [Mrz 25 13:17:48:463]         (string   7)localized_name_of_country=Germany
[7] [Mrz 25 13:17:48:463]         (string   8)English_name_of_country=Germany
[7] [Mrz 25 13:17:48:463]         (string   9)abbreviated_country_name=DEU
[7] [Mrz 25 13:17:48:463]         (string  10)native_name_of_country=Deutschland
[7] [Mrz 25 13:17:48:463]         (string  11)default_language_id=0407
[7] [Mrz 25 13:17:48:463]         (string  12)default_language_id_decimal=1031
[7] [Mrz 25 13:17:48:463]         (string  13)default_country_code=49
[7] [Mrz 25 13:17:48:463]         (string  14)default_oem_code_page=850
[7] [Mrz 25 13:17:48:463]         (string  15)default_ansi_code_page=1252
[7] [Mrz 25 13:17:48:463]         (string  16)system_default_language_id=0409
[7] [Mrz 25 13:17:48:463]         (string  17)system_default_posix=en_US
[7] [Mrz 25 13:17:48:463]         (string  18)system_default_lang_region=en-US
[7] [Mrz 25 13:17:48:463]         
[1] [Mrz 25 13:17:48:463] LogLevel was 7
[1] [Mrz 25 13:17:48:463] LogLevel set to 6
Offensichtlich enthält die InfoMap sowohl deutsche als auch englische Einträge. Wie gesagt, die Installierte Windows-Version ist in englisch.
Die Registry-Einträge in [HKLM\System\CurrentControlSet\NIs\Language] sind wie folgt: Default = "0407" und InstallLanguage = "0409".
Ich habe momentan einen Workaround und verwende einen modifizierten Eintrag von "system_default_lang_region", trotzdem scheint ja irgend etwas nicht richtig zu sein.

Vielen Dank.
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3327
Registriert: 04 Jun 2008, 14:27

Re: Problem mit "GetLocaleInfoMap"

Beitrag von d.oertel »

Hi,

die Einträge 'language_id_2chars' bis 'default_ansi_code_page' verwenden den WindowsAPI Call

Code: Alles auswählen

GetLocaleInfo(LOCALE_SYSTEM_DEFAULT
dieser liefert Infos zur Installierten GUI Sprache.

Daher gibt es extra die Einträge 'system_default*' welche auf dem von Dir erwähnten Registry Eintrag
"HKEY_LOCAL_MACHINE\System\CurrentControlset\Control\Nls\Language','InstallLanguage'" beruhen und Infos zur Systemsprache liefern.

Wie die 'deutschen' Einträge in Dein System kommen, kann ich Dir auch nicht sagen.

gruß
d.oertel


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


Benutzeravatar
tobias
Beiträge: 1294
Registriert: 20 Aug 2008, 12:36
Wohnort: Braunschweig
Kontaktdaten:

Re: Problem mit "GetLocaleInfoMap"

Beitrag von tobias »

eventuell gar kein englisches System sondern ein Deutsches mit Englischem Sprachpaket. Das geht mittlerweile bei Windows (also sprache umstellen)
Antworten