Translate-Text.ps1

<#PSScriptInfo
 
.VERSION 1.0.0.1
 
.GUID 35ff3c68-43a6-467e-844e-00b6218dfa7b
 
.AUTHOR Rafael Costa (rafaeljsc)
 
.COMPANYNAME Microsoft
 
.COPYRIGHT 2021
 
.TAGS Translate Translator Google PowerShell Tradutor Traduzir
 
.LICENSEURI
 
.PROJECTURI
 
.ICONURI
 
.EXTERNALMODULEDEPENDENCIES
 
.REQUIREDSCRIPTS
 
.EXTERNALSCRIPTDEPENDENCIES
 
.RELEASENOTES
    Fix parameter behavior
 
.DESCRIPTION Translate text easily with a simple script. Type de content to be translated, source and target and done!
 
#>


param(
     [Parameter(Mandatory)]
     [string]$Content,

     [Parameter(Mandatory)]
     [ValidateSet("auto","af","sq","de","am","ar","hy","az","eu","bn","be","my","bs","bg","kn","ca","kk","ceb","ny","zh-CN","sn","si","ko","co","ht","hr","ku","da","sk","sl","es","eo","et","tl","fi","fr","fy","gd","gl","cy","ka","el","gu","ha","haw","iw","hi","hmn","nl","hu","ig","yi","id","en","yo","ga","is","it","ja","jw","km","rw","lo","la","lv","lt","lb","mk","ml","ms","mg","mt","mi","mr","mn","ne","no","or","ps","fa","pl","pt","pa","ky","ro","ru","sm","sr","st","sd","so","sw","sv","su","tg","th","ta","tt","cs","te","tr","tk","uk","ug","ur","uz","vi","xh","zu")]
     [string]$From,
 
     [Parameter(Mandatory)]
     [ValidateSet("af","sq","de","am","ar","hy","az","eu","bn","be","my","bs","bg","kn","ca","kk","ceb","ny","zh-CN","sn","si","ko","co","ht","hr","ku","da","sk","sl","es","eo","et","tl","fi","fr","fy","gd","gl","cy","ka","el","gu","ha","haw","iw","hi","hmn","nl","hu","ig","yi","id","en","yo","ga","is","it","ja","jw","km","rw","lo","la","lv","lt","lb","mk","ml","ms","mg","mt","mi","mr","mn","ne","no","or","ps","fa","pl","pt","pa","ky","ro","ru","sm","sr","st","sd","so","sw","sv","su","tg","th","ta","tt","cs","te","tr","tk","uk","ug","ur","uz","vi","xh","zu")]
     [string]$To
 )

$Uri = "https://translate.googleapis.com/translate_a/single?client=gtx&sl=$From&tl=$($To)&dt=t&q=$Content".Replace(" ", "%20").Replace("\", "\\")
((Invoke-WebRequest -Uri $Uri -Method Get -UseBasicParsing).Content | ConvertFrom-Json)[0][0][0]