知识维护 · 内容更新 · 长期阅读ARTICLE MAINTENANCE JOURNAL

Telegram汉化包在Windows上使用PowerShell脚本自动部署的方法

本文详细讲解如何在Windows系统下,通过PowerShell脚本实现Telegram汉化包的一键自动部署,免去手动复制与配置的麻烦,并附有完整脚本示例与故障排查方案。

阅读提示建议先浏览文章结构,再按需深入阅读具体段落。

Telegram 官方版默认只有英文界面,对于习惯中文的用户来说,每次安装后都需要手动下载汉化包、复制文件、修改配置,操作繁琐且容易出错。尤其是在多台电脑或需要频繁重装系统时,这种重复劳动更是浪费时间。本文将介绍一种基于 PowerShell 脚本的自动部署方法,只需双击运行一次脚本,即可自动完成 Telegram 汉化包的全部安装流程,实现真正的一键汉化。

准备工作:下载官方 Telegram 与汉化包

在编写脚本之前,请确保你拥有以下两个核心文件:

  • Telegram Desktop 官方安装包:请从 Telegram 官网(telegram.org)下载 Windows 版安装包,并完成基础安装。注意不要使用来路不明的修改版,以保证安全。
  • 汉化语言包文件:通常是 .tdesktop 格式的文件,例如 zh-hans-custom.tdesktop。你可以从 Telegram 官方汉化频道或可信的翻译项目获取。将语言包文件放在一个固定目录,例如 D:\TelegramLang\

为了后续脚本能稳定工作,建议将语言包文件名保持为简单的英文,如 zh.tdesktop,并确保 Telegram 的安装路径不包含空格(默认是 %AppData%\Telegram Desktop,但建议自定义到 C:\Telegram\ 等路径)。

PowerShell 脚本核心逻辑

自动部署脚本的核心思路是:

  1. 定义 Telegram 安装路径和语言包文件路径。
  2. 检测 Telegram 是否正在运行,若运行则先关闭,避免文件占用。
  3. 将语言包文件复制到 Telegram 的 Languages 子目录(通常为 安装目录\Languages)。
  4. 修改 Telegram 的配置文件 tdata\config 或使用内置命令参数使语言包生效。
  5. 自动重启 Telegram,完成汉化。

在实际操作中,最可靠的方式是使用 Telegram 的 -lang=<路径> 命令行参数,但为了持久生效,我们更推荐修改配置文件。下面给出的脚本兼容这两种方式,并优先使用修改配置的方法。

完整 PowerShell 脚本示例

以下是一次性完成全部步骤的 PowerShell 脚本,你可以复制后保存为 deploy-telegram-lang.ps1。请根据实际路径修改变量。

# Telegram 汉化包自动部署脚本
# 适用:Windows 10/11

# === 配置区 ===
$TelegramPath = "C:\Telegram\Telegram.exe"          # Telegram 可执行文件路径
$LangSource = "D:\TelegramLang\zh.tdesktop"          # 汉化包文件路径
$LangDestDir = Split-Path $TelegramPath -Parent       # 得到 Telegram 安装目录
$ConfigFile = Join-Path (Split-Path $TelegramPath -Parent) "tdata\config"

# === 检查文件是否存在 ===
if (!(Test-Path $TelegramPath)) {
    Write-Host "错误:找不到 Telegram.exe,请检查路径" -ForegroundColor Red
    exit 1
}
if (!(Test-Path $LangSource)) {
    Write-Host "错误:找不到汉化包文件,请检查源路径" -ForegroundColor Red
    exit 1
}

# === 关闭正在运行的 Telegram ===
$proc = Get-Process -Name "Telegram" -ErrorAction SilentlyContinue
if ($proc) {
    Write-Host "检测到 Telegram 正在运行,正在关闭..." -ForegroundColor Yellow
    $proc | Stop-Process -Force
    Start-Sleep -Seconds 2
}

# === 复制语言包 ===
$LangDest = Join-Path $LangDestDir "Languages\zh.tdesktop"
New-Item -ItemType Directory -Path (Join-Path $LangDestDir "Languages") -Force | Out-Null
Copy-Item -Path $LangSource -Destination $LangDest -Force
Write-Host "语言包已复制到:$LangDest" -ForegroundColor Green

# === 修改配置文件 ===
# 如果 config 不存在,使用 -lang 参数方式;否则尝试写入 language 键值
if (Test-Path $ConfigFile) {
    # 备份原文件
    Copy-Item $ConfigFile "$ConfigFile.bak" -Force
    try {
        $config = Get-Content $ConfigFile -Raw -Encoding UTF8
        # 替换或新增 language 字段(此处根据 Telegram 的配置格式进行简单处理)
        if ($config -match '"language":"[^"]*"') {
            $config = $config -replace '"language":"[^"]*"', '"language":"zh"'
        } else {
            $config = $config.TrimEnd('}') + ', "language":"zh"}'
        }
        Set-Content -Path $ConfigFile -Value $config -Encoding UTF8 -NoNewline
        Write-Host "配置文件已更新" -ForegroundColor Green
    } catch {
        Write-Host "修改配置失败,将使用命令行参数方式" -ForegroundColor Yellow
        $args = "-lang=$LangDest"
    }
} else {
    $args = "-lang=$LangDest"
}

# === 启动 Telegram ===
if ($args) {
    Start-Process -FilePath $TelegramPath -ArgumentList $args
} else {
    Start-Process -FilePath $TelegramPath
}
Write-Host "Telegram 已启动,汉化部署完成!" -ForegroundColor Green

使用方法:三步完成汉化部署

使用该脚本非常简单,只需按照以下步骤操作:

  1. 保存脚本:将上面的代码复制到记事本,另存为 deploy-telegram-lang.ps1,注意编码选择 UTF-8。同时将汉化包放到步骤中指定的路径。
  2. 运行脚本:右键点击“开始”按钮,选择“Windows PowerShell (管理员)”,在打开的窗口中执行以下命令:
    Set-ExecutionPolicy Bypass -Scope Process -Force\.\deploy-telegram-lang.ps1
  3. 验证汉化:脚本执行完毕后,Telegram 会自动打开。如果一切正常,你将看到全中文的界面。如果仍显示英文,请检查第 6 节中的故障排查。

自动化进阶:计划任务与批量部署

上述脚本还可以结合 Windows 任务计划程序,实现登录系统时自动部署,尤其适合最新版 Telegram 频繁更新的场景。

  • 登录时自动汉化:打开“任务计划程序”,创建基本任务,触发器选择“当前用户登录时”,操作选择“启动程序”,程序填 powershell.exe,参数填 -ExecutionPolicy Bypass -File "D:\Scripts\deploy-telegram-lang.ps1"。这样每次登录系统都会自动执行,即使 Telegram 更新重置了语言设置,也能自动修正。
  • 企业批量部署:如果你需要在公司多台电脑上统一汉化,可以通过 Group Policy 或 PowerShell 远程会话(Invoke-Command)将脚本分发到各客户端执行。建议将脚本和语言包放在共享网络位置,并设置好适当的读取权限。

常见问题与故障排查

问题 1:脚本执行被阻止,提示“无法加载脚本,因为在此系统上禁止运行脚本”?

这是 PowerShell 默认执行策略的限制。解决方法是:在运行当前脚本前先执行 Set-ExecutionPolicy Bypass -Scope Process,或使用 powershell -ExecutionPolicy Bypass -File script.ps1。如果你经常运行,也可以永久修改策略为 RemoteSigned,但要注意安全风险。

问题 2:脚本执行成功,但 Telegram 仍显示英文。

首先确认语言包文件复制是否成功,检查 Languages 目录下是否有对应文件。其次,Telegram 某些版本禁止通过修改配置文件切换语言,你需要改用命令行参数方式,即直接在 Telegram 快捷方式的目标末尾添加 -lang="D:\TelegramLang\zh.tdesktop"。另外,请确保语言包版本与 Telegram 当前版本兼容,过旧的语言包可能只会部分生效。

问题 3:Telegram 更新后汉化失效。

官方版本更新时会覆盖语言包或重置配置。此时只需重新运行一次部署脚本即可。如果设置每周运行一次任务计划,就能在绝大多数更新后自动修复,无需人工介入。

总结

通过 PowerShell 脚本自动部署 Telegram 汉化包,可以将繁琐的手动操作浓缩为一条命令,极大地提升了效率。本文提供的脚本覆盖了关闭进程、复制文件、修改配置、重启应用的全部环节,并提供了自动化扩展方案。无论你是个人用户还是系统管理员,都值得尝试这一方法。如果你在部署过程中遇到任何问题,欢迎在评论区留言交流。

FAQ

最新版本下载

常见问题