本文目录导读:

PowerShell (Windows)
# 获取当前用户的语言 $lang = (Get-WinUserLanguageList)[0].LanguageTag Write-Output $lang # 或者获取系统区域设置 $culture = Get-Culture Write-Output $culture.Name # 获取显示语言 $displayLang = Get-WinSystemLocale Write-Output $displayLang.Name
Bash (Linux/macOS)
# 获取系统语言环境 echo $LANG # 获取完整语言信息 locale # 只获取语言代码 echo $LANG | cut -d'_' -f1 # 获取当前区域设置 echo $LC_ALL
Python (跨平台)
import locale
# 获取当前系统语言
lang, encoding = locale.getdefaultlocale()
print(f"Language: {lang}")
# 或者使用系统的环境变量
import os
print(f"LANG: {os.environ.get('LANG', 'Not set')}")
Node.js (跨平台)
// 使用os模块
const os = require('os');
console.log(os.locale()); // 获取系统语言
// 或者读取环境变量
console.log(process.env.LANG || 'en_US');
Batch (Windows)
@echo off :: 获取系统区域设置 reg query "HKEY_CURRENT_USER\Control Panel\Desktop" /v PreferredUILanguages :: 或读取环境变量 echo %LANG%
实际应用示例 (Python)
import locale
import os
import platform
def get_os_language():
"""获取操作系统语言"""
system = platform.system()
if system == "Windows":
import ctypes
# 使用Windows API获取
windll = ctypes.windll.kernel32
lang_id = windll.GetUserDefaultUILanguage()
return f"Language ID: {hex(lang_id)}"
else:
# Linux/macOS
lang = os.environ.get('LANG', 'Not set')
return lang
def main():
lang = get_os_language()
print(f"System Language: {lang}")
if __name__ == "__main__":
main()
注意事项
- 不同操作系统和环境变量的命名可能不同
- 获取的语言格式可能不同(如
zh_CN.UTF-8或zh-CN) - 某些环境变量可能未设置,需要处理默认值
- Windows 使用不同的 API 来获取语言信息
选择合适的方法取决于你的具体操作系统和脚本环境。