本文目录导读:

- 1. Windows (PowerShell)
- 2. Linux/macOS (Bash)
- 3. Python (跨平台)
- 4. Node.js (JavaScript)
- 5. Windows (CMD/Batch)
- 实用示例 - 自动检测并输出格式
Windows (PowerShell)
# 获取当前用户区域设置 Get-Culture | Select-Object Name, DisplayName, LCID # 获取系统区域设置 Get-WinSystemLocale | Select-Object Name, DisplayName # 获取所有区域信息 [System.Globalization.CultureInfo]::CurrentCulture.Name [System.Globalization.CultureInfo]::CurrentUICulture.Name # 获取区域代码 (如 zh-CN) $locale = Get-Culture Write-Output "Locale: $($locale.Name)"
Linux/macOS (Bash)
# 获取当前区域设置
echo $LANG
echo $LC_ALL
# 显示所有区域相关变量
locale
# 获取特定信息
locale | grep LANG
locale | grep LC_TIME
# 获取系统默认区域
localectl status
# 只获取语言代码
echo ${LANG%%_*}
Python (跨平台)
import locale
# 获取默认区域设置
default_locale = locale.getdefaultlocale()
print(f"Default locale: {default_locale}")
# 获取当前区域
current_locale = locale.getlocale()
print(f"Current locale: {current_locale}")
# 获取编码
encoding = locale.getpreferredencoding()
print(f"Preferred encoding: {encoding}")
# 设置区域并获取
locale.setlocale(locale.LC_ALL, '')
print(locale.getlocale())
Node.js (JavaScript)
const os = require('os');
// 获取系统区域
const locale = os.userInfo().lang || process.env.LANG;
console.log('System locale:', locale);
// 使用Intl API
const systemLocale = Intl.DateTimeFormat().resolvedOptions().locale;
console.log('System locale:', systemLocale);
// 获取所有区域信息
const locales = new Intl.Locale(systemLocale);
console.log('Language:', locales.language);
console.log('Region:', locales.region);
console.log('Script:', locales.script);
Windows (CMD/Batch)
@echo off :: 获取当前区域代码 reg query "HKEY_CURRENT_USER\Control Panel\International" /v LocaleName :: 显示区域名称 echo %LOCALE_NAME% :: 使用系统变量 echo %LANG%
实用示例 - 自动检测并输出格式
跨平台脚本 (Python)
import platform
import locale
def get_system_locale():
system = platform.system()
if system == "Windows":
import ctypes
windll = ctypes.windll.kernel32
locale_name = ctypes.create_unicode_buffer(100)
windll.GetUserDefaultLocaleName(locale_name, 100)
return locale_name.value
elif system == "Linux":
return locale.getdefaultlocale()[0]
elif system == "Darwin": # macOS
import subprocess
result = subprocess.run(['defaults', 'read', '-g', 'AppleLocale'],
capture_output=True, text=True)
return result.stdout.strip()
print(f"System locale: {get_system_locale()}")
选择哪种方法取决于你的操作系统和脚本环境,PowerShell适合Windows,Bash适合Linux/macOS,Python适合跨平台需求。