Skip to content

Конвертация текста с русской на английскую раскладку

&НаКлиенте
Процедура КириллицаВЛатиницу(Строка)
Строка = СокрЛП(Строка);
// Нижний регистр
Раскладка = Новый Соответствие;
Раскладка.Вставить("й", "q");
Раскладка.Вставить("ц", "w");
Раскладка.Вставить("у", "e");
Раскладка.Вставить("к", "r");
Раскладка.Вставить("е", "t");
Раскладка.Вставить("н", "y");
Раскладка.Вставить("г", "u");
Раскладка.Вставить("ш", "i");
Раскладка.Вставить("щ", "o");
Раскладка.Вставить("з", "p");
Раскладка.Вставить("х", "[");
Раскладка.Вставить("ъ", "]");
Раскладка.Вставить("ф", "a");
Раскладка.Вставить("ы", "s");
Раскладка.Вставить("в", "d");
Раскладка.Вставить("а", "f");
Раскладка.Вставить("п", "g");
Раскладка.Вставить("р", "h");
Раскладка.Вставить("о", "j");
Раскладка.Вставить("л", "k");
Раскладка.Вставить("д", "l");
Раскладка.Вставить("ж", ";");
Раскладка.Вставить("э", "'");
Раскладка.Вставить("я", "z");
Раскладка.Вставить("ч", "x");
Раскладка.Вставить("с", "c");
Раскладка.Вставить("м", "v");
Раскладка.Вставить("и", "b");
Раскладка.Вставить("т", "n");
Раскладка.Вставить("ь", "m");
Раскладка.Вставить("б", ",");
Раскладка.Вставить("ю", ".");
Раскладка.Вставить(".", "/");
// Верхний регистр
Раскладка.Вставить("Й", "Q");
Раскладка.Вставить("Ц", "W");
Раскладка.Вставить("У", "E");
Раскладка.Вставить("К", "R");
Раскладка.Вставить("Е", "T");
Раскладка.Вставить("Н", "Y");
Раскладка.Вставить("Г", "U");
Раскладка.Вставить("Ш", "I");
Раскладка.Вставить("Щ", "O");
Раскладка.Вставить("З", "P");
Раскладка.Вставить("Х", "{");
Раскладка.Вставить("Ъ", "}");
Раскладка.Вставить("Ф", "A");
Раскладка.Вставить("Ы", "S");
Раскладка.Вставить("В", "D");
Раскладка.Вставить("А", "F");
Раскладка.Вставить("П", "G");
Раскладка.Вставить("Р", "H");
Раскладка.Вставить("О", "J");
Раскладка.Вставить("Л", "K");
Раскладка.Вставить("Д", "L");
Раскладка.Вставить("Ж", ":");
Раскладка.Вставить("Э", """");
Раскладка.Вставить("Я", "Z");
Раскладка.Вставить("Ч", "X");
Раскладка.Вставить("С", "C");
Раскладка.Вставить("М", "V");
Раскладка.Вставить("И", "B");
Раскладка.Вставить("Т", "N");
Раскладка.Вставить("Ь", "M");
Раскладка.Вставить("Б", "<");
Раскладка.Вставить("Ю", ">");
Раскладка.Вставить(",", "?");
Раскладка.Вставить("""", "@");
Раскладка.Вставить(";", "$");
Раскладка.Вставить(":", "^");
Раскладка.Вставить("?", "&");
СимволыНовойСтроки = Новый Массив;
Для Сч = 1 По СтрДлина(Строка) Цикл
Символ = Сред(Строка, Сч, 1);
СоответствующийСимвол = Раскладка.Получить(Символ);
Если СоответствующийСимвол = Неопределено Тогда
СимволыНовойСтроки.Добавить(Символ);
Иначе
СимволыНовойСтроки.Добавить(СоответствующийСимвол);
КонецЕсли;
КонецЦикла;
Строка = СтрСоединить(СимволыНовойСтроки, "");
КонецПроцедуры