chore: translate CLI and installer messages to English

This commit is contained in:
2026-02-18 21:04:28 +08:00
parent d1e23a3179
commit 95324ce199
16 changed files with 219 additions and 249 deletions

View File

@@ -13,27 +13,27 @@ function Fail($msg) { Write-Host "[ERROR] $msg" -ForegroundColor Red; exit 1 }
function Require-Cmd($name) {
if (-not (Get-Command $name -ErrorAction SilentlyContinue)) {
Fail "Не найдено: $name"
Fail "Not found: $name"
}
}
function Select-Mode {
Write-Host "Выбери способ установки:"
Write-Host " 1) Скачать готовый бинарник из GitHub Release (рекомендуется)"
Write-Host " 2) Собрать из git"
$choice = Read-Host "Введите 1 или 2 [1]"
Write-Host "Choose installation mode:"
Write-Host " 1) Download prebuilt binary from GitHub Release (recommended)"
Write-Host " 2) Build from git"
$choice = Read-Host "Enter 1 or 2 [1]"
if ([string]::IsNullOrWhiteSpace($choice)) { $choice = '1' }
switch ($choice) {
'1' { return 'release' }
'2' { return 'build' }
default { Fail 'Неизвестный вариант' }
default { Fail 'Unknown option' }
}
}
function Get-Target {
if ($env:PROCESSOR_ARCHITECTURE -ne 'AMD64') {
Fail "Поддерживается только x86_64 Windows, текущая архитектура: $env:PROCESSOR_ARCHITECTURE"
Fail "Only x86_64 Windows is supported, current architecture: $env:PROCESSOR_ARCHITECTURE"
}
return 'x86_64-pc-windows-msvc'
}
@@ -44,17 +44,17 @@ function Install-FromRelease {
New-Item -ItemType Directory -Path $InstallPath -Force | Out-Null
$assetName = "dcr-$target.exe"
Info "Получение последнего релиза..."
Info "Fetching latest release..."
$release = Invoke-RestMethod -Method Get -Uri $ApiUrl
$asset = $release.assets | Where-Object { $_.name -eq $assetName } | Select-Object -First 1
if (-not $asset) {
Fail "Не найден ассет $assetName в релизе $($release.tag_name)"
Fail "Asset $assetName not found in release $($release.tag_name)"
}
Info "Скачивание $assetName..."
Info "Downloading $assetName..."
Invoke-WebRequest -Uri $asset.browser_download_url -OutFile $BinaryPath
Ok "Скачан бинарник $assetName"
Ok "Binary downloaded: $assetName"
}
function Install-FromSource {
@@ -66,17 +66,17 @@ function Install-FromSource {
$tmp = Join-Path $env:TEMP 'dcr-install'
if (Test-Path $tmp) { Remove-Item -Recurse -Force $tmp }
Info 'Клонирование репозитория...'
Info 'Cloning repository...'
git clone --depth 1 $RepoUrl $tmp | Out-Null
Info 'Сборка release-бинарника...'
Info 'Building release binary...'
Push-Location $tmp
cargo build --release --target $target
Pop-Location
New-Item -ItemType Directory -Path $InstallPath -Force | Out-Null
Copy-Item (Join-Path $tmp "target\$target\release\dcr.exe") $BinaryPath -Force
Ok 'Установлен бинарник из исходников'
Ok 'Binary installed from source'
Remove-Item -Recurse -Force $tmp
}
@@ -93,13 +93,13 @@ function Setup-Path {
$newPath = if ($userPath) { "$userPath;$BinPath" } else { $BinPath }
[Environment]::SetEnvironmentVariable('Path', $newPath, 'User')
$env:Path = "$env:Path;$BinPath"
Warn "Добавлен путь в PATH: $BinPath"
Warn "Added path to PATH: $BinPath"
}
Ok "Команда dcr доступна через $linkPath"
Ok "dcr command is available via $linkPath"
}
Info 'Запуск установки DCR'
Info 'Starting DCR installation'
$mode = Select-Mode
$target = Get-Target
@@ -110,4 +110,4 @@ if ($mode -eq 'build') {
}
Setup-Path
Ok 'Установка завершена успешно'
Ok 'Installation completed successfully'