2009-10-22 5 views

Antwort

11

Sie wissen nicht, ob dies auf Windows funktioniert immer noch 7 aber es funktioniert in Windows XP

reg query "hklm\system\controlset001\control\nls\language" /v Installlanguage 

Dann können Sie die ouput analysieren . z.B.

0409 --> English 
0407 --> German 
+0

Danke, Jitter. Dies funktioniert auch unter Windows 7. Du hast mein Problem gelöst. BTW: 040D -> Hebräisch Danke Geschwindigkeit –

+0

'040C ->' Französisch; '0C0A ->' Spanisch. – Alicia

3

Der folgende Code behoben mein Problem. Es funktioniert unter Windows Server 2003 und Windows 7

FOR /F "tokens=3 delims= " %%G in ('reg query "hklm\system\controlset001\control\nls\language" /v Installlanguage') DO (
IF [%%G] EQU [0409] (
    ECHO English install language detected 
) ELSE (
    ECHO Some other language detected 
) 

Hoffe es hilft!

+2

Es gibt a) fehlt am Ende – remyremy

3

Verwenden Sie den Befehl "dism/online/get-intl".

1

In Konsole CMD Schreibbefehl:

intl.cpl

2

Sie nicht Install unter HKLM \ SYSTEM \ CurrentControlSet \ Control \ nls \ Sprache
, denn das ist genau das, was können sie sagt es ist: Install Language
Obwohl Sie lokalisierte Version von Windows direkt installieren können, wird dies nicht immer getan, da es nicht auf meinem PC war. Stattdessen wird ein Sprachpaket angewendet, was in Ordnung ist, aber dann entspricht die Anzeigesprache nicht der Sprache für die Installation.
Auch wenn ein Benutzer seine Anzeigesprache ändert, wird InstallLanguage die Änderung nicht wiedergeben. Und es könnte mehr Benutzer mit verschiedenen Anzeigesprachen geben.

  • Current User Anzeigesprache

HKCU \ Control Panel \ Desktop
PreferredUILanguages ​​

FOR /F "tokens=3" %%a IN ('reg query "HKCU\Control Panel\Desktop" /v PreferredUILanguages ^| find "PreferredUILanguages"') DO set UILanguage=%%a 
echo User Display Language: %UILanguage% 


Es gibt Unterschiede zwischen der Sprache der lokalen Maschine, der Systemsprache und der Benutzersprache. Es gibt auch separate Einstellungen für BCD Sprache, verwendet für die Wiederherstellung und Bootmanager

  • Local Machine

Installieren Sprache bei der Installation festgelegt ist und wird nie
auch einen Standardwert geändert Der Schlüssel "HKLM \ SYSTEM \ CurrentControlSet \ Control \ nls \ language" wird auf denselben Wert gesetzt. Dieser Wert wird von einigen InstallShield-Installationsprogrammen falsch gelesen. Dies führt zu einer englischen Schnittstelle in lokalisierten Windows.
Wenn Sie Display-Sprache ändern, wird neuer Wert gespeichert in

HKLM \ SYSTEM \ CurrentControlSet \ Control \ MUI \ Settings
PreferredUiLanguages ​​

diese Install Wert unter HKLM \ SYSTEM \ CurrentControlSet außer Kraft gesetzt wird \ Control \ nls \ language
Es gibt eine Verwechslung von Werttypen, während InstallLanguage LCID, PreferredUiLanguages ​​LCID-String ist. Diese Sprache wird dann als lokale Maschinensprache gemeldet. Es ist nicht Benutzeranzeigesprache

  • Systemsprache

Dies ist die Sprache für Systembenutzer.
Bevor ein Benutzer angemeldet ist, wird diese Sprache verwendet.
Das bedeutet, es ist eine Sprache für Begrüßungsbildschirm und für die OOBE.

HKEY_USERS \ S-1-5-18 \ Control Panel \ Desktop \ MuiCached
MachinePreferredUILanguages ​​



Es ist auch ein WMI Weg OS Sprache zu bekommen, aber Ich habe nicht getestet, welche dieser Sprachen Sie erhalten

wmic o s erhalten locale, OSLanguage, CODESET

FOR /F "tokens=2 delims==" %%a IN ('wmic os get OSLanguage /Value') DO set OSLanguage=%%a 
echo OS Language: %OSLanguage%