Get-Translit.psm1
function Get-Translit { param([string]$inString) $Translit = @{ [char]'�' = "a" [char]'�' = "a" [char]'�' = "b" [char]'�' = "b" [char]'�' = "v" [char]'�' = "v" [char]'�' = "g" [char]'�' = "g" [char]'�' = "d" [char]'�' = "d" [char]'�' = "e" [char]'�' = "e" [char]'�' = "yo" [char]'�' = "yo" [char]'�' = "zh" [char]'�' = "zh" [char]'�' = "z" [char]'�' = "z" [char]'�' = "i" [char]'�' = "i" [char]'�' = "y" [char]'�' = "y" [char]'�' = "k" [char]'�' = "k" [char]'�' = "l" [char]'�' = "l" [char]'�' = "m" [char]'�' = "m" [char]'�' = "n" [char]'�' = "n" [char]'�' = "o" [char]'�' = "o" [char]'�' = "p" [char]'�' = "p" [char]'�' = "r" [char]'�' = "r" [char]'�' = "s" [char]'�' = "s" [char]'�' = "t" [char]'�' = "t" [char]'�' = "u" [char]'�' = "u" [char]'�' = "f" [char]'�' = "f" [char]'�' = "h" [char]'�' = "h" [char]'�' = "c" [char]'�' = "c" [char]'�' = "ch" [char]'�' = "ch" [char]'�' = "sh" [char]'�' = "sh" [char]'�' = "sch" [char]'�' = "sch" [char]'�' = "" [char]'�' = "" [char]'�' = "y" [char]'�' = "y" [char]'�' = "" [char]'�' = "" [char]'�' = "e" [char]'�' = "e" [char]'�' = "yu" [char]'�' = "yu" [char]'�' = "ya" [char]'�' = "ya" } $outCHR = "" foreach ($CHR in $inCHR = $inString.ToCharArray()) { if ($Null -cne $Translit[$CHR] ) { $outCHR += $Translit[$CHR] } else { $outCHR += $CHR } } Write-Output $outCHR } Get-Translit($args[0].ToString()) |