2009-10-22 4 views

Répondre

11

Je ne sais pas si cela fonctionne encore sous Windows 7, mais il ne sous Windows XP

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

Ensuite, vous pouvez analyser le ouput . par exemple.

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

Merci, gigue. Cela fonctionne aussi sur Windows 7. vous avez résolu mon problème. BTW: 040D -> Hébreu Remerciements Vitesse –

+0

'040C ->' Français; '0C0A ->' Espagnol. – Alicia

3

Le code ci-dessous a résolu mon problème. Cela fonctionne sur Windows Server 2003 et 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 
) 

Espérons que cela aide!

+2

Il y a a) manquant à la fin – remyremy

3

Utilisez la commande "dism/online/get-intl".

1

Dans la console CMD commande d'écriture:

intl.cpl

2

Vous ne pouvez pas utiliser InstallLanguage sous HKLM \ SYSTEM \ CurrentControlSet \ Control \ nls \ langue
parce que c'est juste ce qu'il dit qu'il est: Installer la langue
Bien que vous pouvez directement installer la version localisée de Windows, ce n'est pas toujours fait, car ce n'était pas sur mon PC. Au lieu de cela, un pack de langue est appliqué, ce qui est correct, mais la langue d'affichage n'est pas la même que la langue d'installation.
De même, si un utilisateur change sa langue d'affichage, le libellé InstallLanguage ne reflète pas la modification. Et il pourrait y avoir plus d'utilisateurs avec différents langages d'affichage.

  • Affichage actuel de l'utilisateur Langue

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% 


Il existe une différence entre la langue de la machine locale, la langue du système et la langue de l'utilisateur. Il y a aussi des réglages séparés pour la langue BCD, utilisée pour la récupération et le gestionnaire de démarrage

  • Local Machine

langue d'installation est défini lors de l'installation et ne change jamais
également une valeur par défaut La clé "HKLM \ SYSTEM \ CurrentControlSet \ Control \ nls \ language" est définie sur la même valeur. Cette valeur est mal lu par certains programmes d'installation InstallShield, ce qui entraîne l'interface en anglais sur Windows localisé.
Si vous changez la langue d'affichage, la nouvelle valeur est stockée dans

HKLM \ SYSTEM \ CurrentControlSet \ Control \ MUI \ Paramètres
PreferredUiLanguages ​​

ceci surpassera valeur InstallLanguage sous HKLM \ SYSTEM \ CurrentControlSet \ Control \ nls \ language
Il existe une confusion dans les types de valeurs, alors que InstallLanguage est LCID, PreferredUiLanguages ​​est une chaîne LCID. Cette langue est ensuite signalée en tant que langue machine locale. Il n'est pas utilisateur Langue d'affichage

  • système Langue

C'est la langue de l'utilisateur du système.
Avant qu'un utilisateur ne soit connecté, cette langue est utilisée.
Cela signifie qu'il s'agit d'une langue pour l'écran d'accueil et pour l'OOBE.

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



Il y a aussi un moyen WMI pour obtenir la langue du système d'exploitation, mais Je n'ai pas testé laquelle de ces langues vous obtiendrez

wmic o s get locale, oslanguage, CODESET

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