Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Преобразование кириллицы в латиницу (http://forum.oszone.net/showthread.php?t=287890)

Yarr70 13-09-2014 08:01 2402196

Преобразование кириллицы в латиницу
 
Подскажите функцию для преобразования строки из кириллицы в латиницу

madmasles 13-09-2014 11:21 2402244

Транслит или?

Iska 13-09-2014 11:21 2402245

Нет такой функции. Поясните, что Вы имеете в виду, говоря об «из кириллицы в латиницу». Нечто наподобие того, что делает Punto Switcher — исправление текста, набранного в неверной раскладке? Или транслитерацию, как спросил коллега madmasles выше?

Yarr70 13-09-2014 12:10 2402266

нужен именно транслит

Iska 13-09-2014 12:39 2402277

Что из рекомендуемого Google'ом: autoit транслит - Поиск в Google не подошло для Ваших целей?

Yarr70 13-09-2014 12:54 2402286

я очень надеялся есть готовая и удобная функция

Iska 13-09-2014 14:09 2402309

Есть практически готовые. Можно просто взять любую и преобразовать в самое простое, например:
читать дальше »
Код:

AutoItSetOption("MustDeclareVars", 1)

ConsoleWrite(Transliteration("Мама мыла раму") & @CRLF)
ConsoleWrite(Transliteration("Рабы не мы, мы не рабы!") & @CRLF)

Exit(0)
;=============================================================================

;=============================================================================
Func Transliteration($sString)
        Static Local $oTranslit = ObjCreate("Scripting.Dictionary")

        With $oTranslit
                If .Count = 0 Then
                        .Add("А", "A")
                        .Add("Б", "B")
                        .Add("В", "V")
                        .Add("Г", "G")
                        .Add("Д", "D")
                        .Add("Е", "E")
                        .Add("Ё", "YO")
                        .Add("Ж", "ZH")
                        .Add("З", "Z")
                        .Add("И", "I")
                        .Add("Й", "Y'")
                        .Add("К", "K")
                        .Add("Л", "L")
                        .Add("М", "M")
                        .Add("Н", "N")
                        .Add("О", "O")
                        .Add("П", "P")
                        .Add("Р", "R")
                        .Add("С", "S")
                        .Add("Т", "T")
                        .Add("У", "U")
                        .Add("Ф", "F")
                        .Add("Х", "KH")
                        .Add("Ц", "TC")
                        .Add("Ч", "CH")
                        .Add("Ш", "SH")
                        .Add("Щ", "SHC")
                        .Add("Ъ", "'")
                        .Add("Ы", "Y")
                        .Add("Ь", "'")
                        .Add("Э", "E'")
                        .Add("Ю", "YU")
                        .Add("Я", "YA")

                        .Add("а", "a")
                        .Add("б", "b")
                        .Add("в", "v")
                        .Add("г", "g")
                        .Add("д", "d")
                        .Add("е", "e")
                        .Add("ё", "yo")
                        .Add("ж", "zh")
                        .Add("з", "z")
                        .Add("и", "i")
                        .Add("й", "y'")
                        .Add("к", "k")
                        .Add("л", "l")
                        .Add("м", "m")
                        .Add("н", "n")
                        .Add("о", "o")
                        .Add("п", "p")
                        .Add("р", "r")
                        .Add("с", "s")
                        .Add("т", "t")
                        .Add("у", "u")
                        .Add("ф", "f")
                        .Add("х", "kh")
                        .Add("ц", "tc")
                        .Add("ч", "ch")
                        .Add("ш", "sh")
                        .Add("щ", "shc")
                        .Add("ъ", "'")
                        .Add("ы", "y")
                        .Add("ь", "'")
                        .Add("э", "e'")
                        .Add("ю", "yu")
                        .Add("я", "ya")
                EndIf
        EndWith

        For $sKey In $oTranslit
                $sString = StringReplace($sString, $sKey, $oTranslit($sKey))
        Next

        Return $sString
EndFunc
;=============================================================================



Время: 04:30.

Время: 04:30.
© OSzone.net 2001-