## The *translate-text.ps1* Script This PowerShell script translates text into other languages. ## Parameters ```powershell /home/mf/Repos/PowerShell/Scripts/translate-text.ps1 [[-Text] ] [[-SourceLangCode] ] [[-TargetLangCode] ] [] -Text Specifies the text to translate Required? false Position? 1 Default value Accept pipeline input? false Accept wildcard characters? false -SourceLangCode Required? false Position? 2 Default value en Accept pipeline input? false Accept wildcard characters? false -TargetLangCode Required? false Position? 3 Default value any Accept pipeline input? false Accept wildcard characters? false [] This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. ``` ## Example ```powershell PS> ./translate-text "Hello World" de en ``` ## Notes Author: Markus Fleschutz | License: CC0 ## Related Links https://github.com/fleschutz/PowerShell ## Source Code ```powershell <# .SYNOPSIS Translates text into other languages .DESCRIPTION This PowerShell script translates text into other languages. .PARAMETER Text Specifies the text to translate .PARAMETER SourceLang Specifies the source language .PARAMETER TargetLang Specifies the target language .EXAMPLE PS> ./translate-text "Hello World" de en .LINK https://github.com/fleschutz/PowerShell .NOTES Author: Markus Fleschutz | License: CC0 #> param([string]$Text = "", [string]$SourceLangCode = "en", [string]$TargetLangCode = "any") function UseLibreTranslate { param([string]$Text, [string]$SourceLangCode, [string]$TargetLangCode) $Parameters = @{"q"="$Text"; "source"="$SourceLangCode"; "target"="$TargetLangCode"; } $Result = (Invoke-WebRequest -Uri https://translate.mentality.rip/translate -Method POST -Body ($Parameters|ConvertTo-Json) -ContentType "application/json" -useBasicParsing).content | ConvertFrom-Json return $Result.translatedText } try { if ($Text -eq "" ) { $Text = read-host "Enter text to translate" } if ($TargetLangCode -eq "any") { $TargetLangCodes = "ar","de","es","fr","ga","hi","it","ja","ko","pt","ru","zh" foreach($TargetLangCode in $TargetLangCodes) { $Translation = UseLibreTranslate $Text $SourceLangCode $TargetLangCode write-output "$($TargetLangCode): $Translation" } } else { $Translation = UseLibreTranslate $Text $SourceLangCode $TargetLangCode write-output "$Translation" } exit 0 # success } catch { "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" exit 1 } ``` *Generated by convert-ps2md.ps1 using the comment-based help of translate-text.ps1*