Ο παρακάτω κώδικας μετατρέπει ελληνικό κείμενο σε λατινικούς χαρακτήρες. Χρησιμοποιεί διάφορους κανονισμούς που βρήκα από δω και από κει στο web ώστε να κάνει σωστή απόδοση της μετάφρασης, πχ. όπως γίνεται όταν τα ελληνικά ονόματα βγαίνουν με λατινικούς χαρακτήρες στα διαβατήρια.
Public
Function GetGreenglish(ByVal Text As String) As StringDim ResultString As String = LCase(Text)ResultString = ResultString.Replace("@", "")
ResultString = ResultString.Replace("ά", "α")
ResultString = ResultString.Replace("έ", "ε")
ResultString = ResultString.Replace("ί", "ι")
ResultString = ResultString.Replace("ύ", "υ")
ResultString = ResultString.Replace("ή", "η")
ResultString = ResultString.Replace("ό", "ο")
ResultString = ResultString.Replace("ώ", "ω")
ResultString = ResultString.Replace("ϊ", "ι")
ResultString = ResultString.Replace("ϋ", "υ")
ResultString = ResultString.Replace("ς", "σ")
Dim ELDipthongs As String() = New String() {"αυ", "ευ", "ηυ", "γγ", "γκ", "γχ", "μπ", "ντ", "σλ", "τζ", "τθ"}Dim ENDipthongs As String() = New String() {"af", "ef", "if", "ng", "ng", "nh", "b", "d", "zl", "tj", "tth"}Dim Consonants As String() = New String() {"θ", "κ", "ξ", "π", "σ", "τ", "φ", "χ", "ψ"}For DipthongCounter As Integer = 0 To ELDipthongs.Length - 1For Each Consonant As String In ConsonantsResultString = ResultString.Replace(ELDipthongs(DipthongCounter) & Consonant, ENDipthongs(DipthongCounter) & Consonant)
NextNextResultString = ResultString.Replace("αι", "e")
ResultString = ResultString.Replace("ει", "i")
ResultString = ResultString.Replace("οι", "i")
ResultString = ResultString.Replace("υι", "i")
ResultString = ResultString.Replace("ου", "u")
ResultString = ResultString.Replace("αυ", "av")
ResultString = ResultString.Replace("ευ", "ev")
ResultString = ResultString.Replace("ηυ", "iv")
ResultString = ResultString.Replace("α", "a")
ResultString = ResultString.Replace("β", "v")
ResultString = ResultString.Replace("γ", "g")
ResultString = ResultString.Replace("δ", "d")
ResultString = ResultString.Replace("ε", "e")
ResultString = ResultString.Replace("ζ", "@z@")
ResultString = ResultString.Replace("η", "i")
ResultString = ResultString.Replace("θ", "th")
ResultString = ResultString.Replace("ι", "i")
ResultString = ResultString.Replace("κ", "k")
ResultString = ResultString.Replace("λ", "l")
ResultString = ResultString.Replace("μ", "m")
ResultString = ResultString.Replace("ν", "n")
ResultString = ResultString.Replace("ξ", "x")
ResultString = ResultString.Replace("ο", "o")
ResultString = ResultString.Replace("π", "p")
ResultString = ResultString.Replace("ρ", "r")
ResultString = ResultString.Replace("σ", "@s@")
ResultString = ResultString.Replace("τ", "t")
ResultString = ResultString.Replace("υ", "i")
ResultString = ResultString.Replace("φ", "f")
ResultString = ResultString.Replace("χ", "ch")
ResultString = ResultString.Replace("ψ", "ps")
ResultString = ResultString.Replace("ω", "o")
'---ResultString = ResultString.Replace("a@z@a", "asa")
ResultString = ResultString.Replace("a@z@e", "ase")
ResultString = ResultString.Replace("a@z@i", "asi")
ResultString = ResultString.Replace("a@z@u", "asu")
ResultString = ResultString.Replace("a@z@o", "aso")
ResultString = ResultString.Replace("a@z@y", "asy")
ResultString = ResultString.Replace("e@z@a", "asa")
ResultString = ResultString.Replace("e@z@e", "ase")
ResultString = ResultString.Replace("e@z@i", "asi")
ResultString = ResultString.Replace("e@z@u", "asu")
ResultString = ResultString.Replace("e@z@o", "aso")
ResultString = ResultString.Replace("e@z@y", "asy")
ResultString = ResultString.Replace("i@z@a", "asa")
ResultString = ResultString.Replace("i@z@e", "ase")
ResultString = ResultString.Replace("i@z@i", "asi")
ResultString = ResultString.Replace("i@z@u", "asu")
ResultString = ResultString.Replace("i@z@o", "aso")
ResultString = ResultString.Replace("i@z@y", "asy")
ResultString = ResultString.Replace("u@z@a", "asa")
ResultString = ResultString.Replace("u@z@e", "ase")
ResultString = ResultString.Replace("u@z@i", "asi")
ResultString = ResultString.Replace("u@z@u", "asu")
ResultString = ResultString.Replace("u@z@o", "aso")
ResultString = ResultString.Replace("u@z@y", "asy")
ResultString = ResultString.Replace("o@z@a", "asa")
ResultString = ResultString.Replace("o@z@e", "ase")
ResultString = ResultString.Replace("o@z@i", "asi")
ResultString = ResultString.Replace("o@z@u", "asu")
ResultString = ResultString.Replace("o@z@o", "aso")
ResultString = ResultString.Replace("o@z@y", "asy")
ResultString = ResultString.Replace("y@z@a", "asa")
ResultString = ResultString.Replace("y@z@e", "ase")
ResultString = ResultString.Replace("y@z@i", "asi")
ResultString = ResultString.Replace("y@z@u", "asu")
ResultString = ResultString.Replace("y@z@o", "aso")
ResultString = ResultString.Replace("y@z@y", "asy")
'---ResultString = ResultString.Replace("a@s@a", "aza")
ResultString = ResultString.Replace("a@s@e", "aze")
ResultString = ResultString.Replace("a@s@i", "azi")
ResultString = ResultString.Replace("a@s@u", "azu")
ResultString = ResultString.Replace("a@s@o", "azo")
ResultString = ResultString.Replace("a@s@y", "azy")
ResultString = ResultString.Replace("e@s@a", "aza")
ResultString = ResultString.Replace("e@s@e", "aze")
ResultString = ResultString.Replace("e@s@i", "azi")
ResultString = ResultString.Replace("e@s@u", "azu")
ResultString = ResultString.Replace("e@s@o", "azo")
ResultString = ResultString.Replace("e@s@y", "azy")
ResultString = ResultString.Replace("i@s@a", "aza")
ResultString = ResultString.Replace("i@s@e", "aze")
ResultString = ResultString.Replace("i@s@i", "azi")
ResultString = ResultString.Replace("i@s@u", "azu")
ResultString = ResultString.Replace("i@s@o", "azo")
ResultString = ResultString.Replace("i@s@y", "azy")
ResultString = ResultString.Replace("u@s@a", "aza")
ResultString = ResultString.Replace("u@s@e", "aze")
ResultString = ResultString.Replace("u@s@i", "azi")
ResultString = ResultString.Replace("u@s@u", "azu")
ResultString = ResultString.Replace("u@s@o", "azo")
ResultString = ResultString.Replace("u@s@y", "azy")
ResultString = ResultString.Replace("o@s@a", "aza")
ResultString = ResultString.Replace("o@s@e", "aze")
ResultString = ResultString.Replace("o@s@i", "azi")
ResultString = ResultString.Replace("o@s@u", "azu")
ResultString = ResultString.Replace("o@s@o", "azo")
ResultString = ResultString.Replace("o@s@y", "azy")
ResultString = ResultString.Replace("y@s@a", "aza")
ResultString = ResultString.Replace("y@s@e", "aze")
ResultString = ResultString.Replace("y@s@i", "azi")
ResultString = ResultString.Replace("y@s@u", "azu")
ResultString = ResultString.Replace("y@s@o", "azo")
ResultString = ResultString.Replace("y@s@y", "azy")
ResultString = ResultString.Replace("@", "")
Return ResultStringEnd Function