windows xp - español - ¿Cómo puedo encontrar el idioma de Windows actual de cmd?
windows cmd commands (5)
Me gustaría ejecutar un script para cada idioma. Necesito una forma de encontrar qué idioma se está utilizando, utilizando archivos por lotes. Tanto en Windows XP como en Windows 7.
Gracias
No sé si esto todavía funciona en Windows 7, pero lo hace en Windows XP
reg query "hklm/system/controlset001/control/nls/language" /v Installlanguage
Entonces puedes analizar la salida. p.ej
0409 --> English
0407 --> German
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 eso ayude!
En el comando de escritura CMD de la consola:
intl.cpl
Use el comando "dism / online / get-intl".
No puede usar InstallLanguage en HKLM / SYSTEM / CurrentControlSet / Control / nls / language
porque eso es lo que dice que es: Instalar lenguaje
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.
- Idioma actual de la pantalla del usuario
HKCU / Panel de control / Escritorio
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%
Existe una diferencia entre el idioma de la máquina local, el idioma del sistema y el idioma del usuario. También hay configuraciones separadas para el lenguaje BCD, usadas para recuperación y administrador de arranque
- Máquina local
El idioma de instalación se establece en la instalación y nunca se cambia
también se establece un valor predeterminado para la clave "HKLM / SYSTEM / CurrentControlSet / Control / nls / language" 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 la pantalla, se almacena un nuevo valor en
HKLM / SYSTEM / CurrentControlSet / Control / MUI / Settings
PreferredUiLanguages
esto anulará el valor de 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 el idioma de visualización del usuario
- Lenguaje del sistema
Este es el lenguaje para el 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 de control / Escritorio / MuiCached
MachinePreferredUILanguages
También hay una forma de WMI para obtener el lenguaje del sistema operativo, pero no probé cuál de estos idiomas obtendrás
wmic os get locale, oslanguage, codeset
FOR /F "tokens=2 delims==" %%a IN (''wmic os get OSLanguage /Value'') DO set OSLanguage=%%a
echo OS Language: %OSLanguage%