9 Commits
Author SHA1 Message Date
SuspiciousActivity 7f87059a4f Update Manifest Downloader 2026-05-30 23:34:22 +02:00
SuspiciousActivity 3cfec102d4 Update ManifestDownloader 2025-05-02 14:16:00 +02:00
SuspiciousActivity fe6017240d fix and statement 2022-07-01 14:58:56 +02:00
SuspiciousActivity 314cc2f3b5 Update README.md 2022-06-17 18:26:49 +02:00
SuspiciousActivity e073802c5a fix first start 2022-06-15 21:52:39 +02:00
SuspiciousActivity 118671e09f fix lang file download 2022-06-02 20:48:12 +02:00
SuspiciousActivity 23ba78c38a Update vallc.ps1 2022-06-01 22:09:06 +02:00
SuspiciousActivity 6cfdffb413 Update README.md 2022-06-01 20:41:57 +02:00
SuspiciousActivity 0c8df311f8 Added start.bat 2022-06-01 20:39:36 +02:00
3 changed files with 75 additions and 28 deletions

No files matched your search

+3 -2
View File
@@ -5,9 +5,10 @@ Want to hear those uwu-voices from japan but don't understand anything that is w
## Usage
1. Change your ingame language to whatever you want the *voice* language to be.
2. Download the latest vallc.ps1 file from [here](https://github.com/SuspiciousActivity/ValorantLanguageChanger/releases).
3. Right click and choose "Run with PowerShell".
2. Download the latest VLC.zip file from [here](https://github.com/SuspiciousActivity/ValorantLanguageChanger/releases/latest/download/VLC.zip) and unpack it somewhere.
3. Run the start.bat file.
4. Follow the setup and have fun!
5. You can delete the zip and the unpacked files afterwards.
## Is this a virus??
No. This file downloads an additional exe file from [here (github.com)](https://github.com/Morilli/ManifestDownloader) which might be flagged as a virus.
+1
View File
@@ -0,0 +1 @@
powershell -ExecutionPolicy Bypass ./vallc.ps1
+71 -26
View File
@@ -1,7 +1,7 @@
$savePath = "$($env:LOCALAPPDATA)/ValorantLangChanger/"
$configPath = -join($savePath, 'config.csv')
$savePakPath = 'ShooterGame/Content/Paks/'
$manifestDownloaderUrl = 'https://github.com/Morilli/ManifestDownloader/releases/download/v1.8_fix1/ManifestDownloader.exe'
$manifestDownloaderUrl = 'https://github.com/Morilli/ManifestDownloader/releases/download/v2.0_fix1/ManifestDownloader.exe'
function Get-Hash([string]$textToHash) {
$hasher = new-object System.Security.Cryptography.MD5CryptoServiceProvider
@@ -52,10 +52,13 @@ if (Test-Path $configPath) {
}
}
$modified = 0
$tried = 0
while (!$valid.regions.Contains($config.region)) {
$modified = 1
$outer = @{}
function Ensure-Config {
$outer.modified = 0
$tried = 0
while (!$valid.regions.Contains($config.region)) {
$outer.modified = 1
if ($tried -eq 1) {
Write-Host 'That is not a valid region!' -ForegroundColor Red
}
@@ -63,14 +66,14 @@ while (!$valid.regions.Contains($config.region)) {
Write-Host (-join('(', [string]::Join(', ', $valid.regions), ')')) -ForegroundColor DarkGray
$config.region = Read-Host
$tried = 1
}
}
$regionConfig = $patchConfigs | Where-Object 'id' -eq $config.region
$valid.langs = $regionConfig | ForEach-Object {$_.locale_data.available_locales}
$outer.regionConfig = $patchConfigs | Where-Object 'id' -eq $config.region
$valid.langs = $outer.regionConfig | ForEach-Object {$_.locale_data.available_locales}
$tried = 0
while (!$valid.langs.Contains($config.voiceLang)) {
$modified = 1
$tried = 0
while (!$valid.langs.Contains($config.voiceLang)) {
$outer.modified = 1
if ($tried -eq 1) {
Write-Host 'That is not a valid language!' -ForegroundColor Red
}
@@ -78,11 +81,11 @@ while (!$valid.langs.Contains($config.voiceLang)) {
Write-Host (-join('(', [string]::Join(', ', $valid.langs), ')')) -ForegroundColor DarkGray
$config.voiceLang = Read-Host
$tried = 1
}
}
$tried = 0
while (!$valid.langs.Contains($config.textLang)) {
$modified = 1
$tried = 0
while (!$valid.langs.Contains($config.textLang)) {
$outer.modified = 1
if ($tried -eq 1) {
Write-Host 'That is not a valid language!' -ForegroundColor Red
}
@@ -90,11 +93,11 @@ while (!$valid.langs.Contains($config.textLang)) {
Write-Host (-join('(', [string]::Join(', ', $valid.langs), ')')) -ForegroundColor DarkGray
$config.textLang = Read-Host
$tried = 1
}
}
$tried = 0
:out while (($null -eq $config.pakPath) -or (!$config.pakPath.EndsWith($savePakPath)) -or !(Test-Path $config.pakPath)) {
$modified = 1
$tried = 0
:out while (($null -eq $config.pakPath) -or (!$config.pakPath.EndsWith($savePakPath)) -or !(Test-Path $config.pakPath)) {
$outer.modified = 1
if ($tried -eq 1) {
Write-Host 'That is not the correct folder!' -ForegroundColor Red
} else {
@@ -142,15 +145,42 @@ $tried = 0
}
}
$tried = 1
}
# save the config
if ($outer.modified -eq 1) {
$config.GetEnumerator() | Select Key, Value | Export-Csv (-join($savePath, 'config.csv'))
}
}
# save the config
if ($modified -eq 1) {
$config.GetEnumerator() | Select Key, Value | Export-Csv (-join($savePath, 'config.csv'))
}
Ensure-Config
# continue setup
if ($args.count -eq 0) {
if ($outer.modified -eq 0) {
$tried = 0
while ($true) {
if ($tried -eq 1) {
Write-Host 'That is not a valid choice!' -ForegroundColor Red
}
Write-Host 'What do you want to do? (Please type the number of your choice)' -ForegroundColor Yellow
Write-Host '1. Create a shortcut' -ForegroundColor Yellow
Write-Host '2. Run setup from the start (change region, language, ...)' -ForegroundColor Yellow
$choice = Read-Host
if ($choice -eq "1") {
break
} elseif ($choice -eq "2") {
$config = @{}
Ensure-Config
Write-Host 'Saved new config!' -ForegroundColor Green
Write-Host 'Press enter to exit.' -ForegroundColor DarkGray
Read-Host
Exit
}
$tried = 1
}
}
$shell = New-Object -COM WScript.Shell
$tried = 0
@@ -159,6 +189,7 @@ if ($args.count -eq 0) {
Write-Host 'That is not a valid path to a shortcut!' -ForegroundColor Red
}
Write-Host 'Please drag your VALORANT shortcut into this window and press enter.' -ForegroundColor Yellow
Write-Host '(The file which you double-click to start Valorant usually.)' -ForegroundColor DarkGray
Write-Host '(The path to the shortcut should appear.)' -ForegroundColor DarkGray
$shortcutPath = (Read-Host).Replace('"', '')
$tried = 1
@@ -178,7 +209,8 @@ if ($args.count -eq 0) {
Invoke-WebRequest -UseBasicParsing -Uri $manifestDownloaderUrl -OutFile (-join($savePath, $manifestDownloaderFile))
Write-Host 'Done! You can now close this window and start VALORANT from the new icon on your desktop!' -ForegroundColor Green
Write-Host 'You can also delete this file now.' -ForegroundColor Green
Write-Host 'You could delete this file now.' -ForegroundColor Green
Write-Host 'If you want to change anything (like your language), just (download and) run this script again.' -ForegroundColor Green
Read-Host
Exit
}
@@ -195,11 +227,17 @@ if ($checkBefore) {
Write-Host 'Checking for new language files...' -ForegroundColor DarkGray
try {
$lastPatchUrl = ''
# check if both lang files exist, if not download
if ((Test-Path (-join($savePath, 'url.txt'))) -and (!(Test-Path (-join($savePath, $savePakPath, $config.textLang, '_Text-WindowsClient.pak'))) -or !(Test-Path (-join($savePath, $savePakPath, $config.voiceLang, '_Text-WindowsClient.pak'))))) {
Remove-Item (-join($savePath, 'url.txt'))
}
if (Test-Path (-join($savePath, 'url.txt'))) {
$lastPatchUrl = Get-Content -Path (-join($savePath, 'url.txt'))
}
$patchUrl = $regionConfig.patch_url
$patchUrl = $outer.regionConfig.patch_url
if ($patchUrl -ne $lastPatchUrl) {
Write-Host 'Downloading new language files...' -ForegroundColor Green
@@ -216,11 +254,18 @@ try {
Write-Host 'Up to date!' -ForegroundColor Green
}
} catch {
Write-Error 'Can not check for new language files' -ForegroundColor Red
Write-Host 'Can not check for new language files' -ForegroundColor Red
Write-Host $_
Read-Host
Exit
}
if (!(Test-Path (-join($config.pakPath, $config.voiceLang, '_Text-WindowsClient.pak')))) {
Write-Host (-join('Please change your language *ingame* to ', $config.voiceLang, '!')) -ForegroundColor Red
Write-Host 'Press enter to continue, after you changed your language, please restart Valorant.' -ForegroundColor Red
Read-Host
}
Write-Host 'Starting Valorant...' -ForegroundColor Green
# copy 'voice' text lang files to valorant (to fool the launcher)