2009-10-22 41 views

Respuesta

11

No sé si esto todavía funciona en Windows 7, pero que en Windows XP

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

A continuación, puede analizar que la salida . p.ej.

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

Gracias, jitter. esto funciona en Windows 7 también. usted resolvió mi problema BTW: 040D -> hebreo Gracias Velocidad –

+0

'040C ->' Francés; '0C0A ->' español. – Alicia

3

El siguiente código solucionó mi problema. Funciona en Windows Server 2003 y 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 
) 

Espero que ayude!

+2

Falta a) al final – remyremy

3

Utilice el comando "dism/online/get-intl".

1

En la consola CMD comando de escritura:

intl.cpl

2

No puede utilizar InstallLanguage en HKLM \ SYSTEM \ CurrentControlSet \ Control \ nls \ idioma
porque eso es justo lo que se dice que es: Install Language
Aunque puede instalar directamente la versión localizada de Windows, esto no siempre se hace, ya que no estaba en mi PC. En su lugar, se aplica un paquete de idioma, lo que está bien, pero el idioma de visualización no es lo mismo que instalar el idioma.
Además, si un usuario cambia su idioma de visualización, InstallLanguage no reflejará el cambio. Y podría haber más usuarios con diferentes idiomas de visualización.

  • actual usuario de la pantalla Idioma

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% 


Hay una diferencia entre el idioma de la máquina local, el idioma del sistema y el idioma del usuario. También hay ajustes separados para el lenguaje BCD, que se utiliza para la recuperación y el gestor de arranque de

  • equipo local

idioma de instalación se establece durante la instalación y no se cambia nunca
también un valor predeterminado para la clave "HKLM \ SYSTEM \ CurrentControlSet \ Control \ nls \ language" se establece en el mismo valor. Algunos programas de instalación de InstallShield leen erróneamente este valor, lo que da como resultado una interfaz en inglés en Windows localizado.
Si cambia el idioma de visualización, el nuevo valor se almacena en

HKLM \ SYSTEM \ CurrentControlSet \ Control \ MUI \ Configuración
PreferredUiLanguages ​​

Esto anulará el valor InstallLanguage en HKLM \ SYSTEM \ CurrentControlSet \ Control \ nls \ language
Hay una confusión en los tipos de valor, mientras que InstallLanguage es LCID, PreferredUiLanguages ​​es una cadena LCID. Este idioma se informa como Lenguaje local de máquina. No es Usuario idioma de la pantalla

  • Sistema Idioma

Este es el lenguaje de usuario del sistema.
Antes de que un usuario inicie sesión, se utiliza este idioma.
Eso significa que es un idioma para la pantalla de bienvenida y para el OOBE.

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



Existe también una forma de WMI para obtener idioma del sistema operativo, pero No probé cuál de estos idiomas obtendrá

wmic o s obtener la configuración regional, oslanguage, CODESET

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