Транслитерация в латиницу
При отправке SMSок из 1С столкнулся с тем, что текст отправлялся только латиницей, а данные-то в кириллице. В результате написал функцию перевода текста в латиницу.
Может, кому-нибудь пригодится
- Описание
- Подробнее
Описание
Функция глТранслит(Слово)Экспорт
НовоеСлово= "";
спТранслит = СоздатьОбъект("СписокЗначений");
спТранслит.ДобавитьЗначение("j","й");
спТранслит.ДобавитьЗначение("c","ц");
спТранслит.ДобавитьЗначение("u","у");
спТранслит.ДобавитьЗначение("k","к");
спТранслит.ДобавитьЗначение("e","е");
спТранслит.ДобавитьЗначение("n","н");
спТранслит.ДобавитьЗначение("g","г");
спТранслит.ДобавитьЗначение("sh","ш");
спТранслит.ДобавитьЗначение("sch","щ");
спТранслит.ДобавитьЗначение("z","з");
спТранслит.ДобавитьЗначение("h","х");
спТранслит.ДобавитьЗначение("#","ъ");
спТранслит.ДобавитьЗначение("f","ф");
спТранслит.ДобавитьЗначение("y","ы");
спТранслит.ДобавитьЗначение("v","в");
спТранслит.ДобавитьЗначение("a","а");
спТранслит.ДобавитьЗначение("p","п");
спТранслит.ДобавитьЗначение("r","р");
спТранслит.ДобавитьЗначение("o","о");
спТранслит.ДобавитьЗначение("l","л");
спТранслит.ДобавитьЗначение("d","д");
спТранслит.ДобавитьЗначение("zh","ж");
спТранслит.ДобавитьЗначение("je","э");
спТранслит.ДобавитьЗначение("ja","я");
спТранслит.ДобавитьЗначение("ch","ч");
спТранслит.ДобавитьЗначение("s","с");
спТранслит.ДобавитьЗначение("m","м");
спТранслит.ДобавитьЗначение("i","и");
спТранслит.ДобавитьЗначение("t","т");
спТранслит.ДобавитьЗначение("'","ь");
спТранслит.ДобавитьЗначение("b","б");
спТранслит.ДобавитьЗначение("ju","ю");
спТранслит.ДобавитьЗначение("jo","ё");
//Укр
спТранслит.ДобавитьЗначение("je","є");
спТранслит.ДобавитьЗначение("i'","ї");
спТранслит.ДобавитьЗначение("i","і");
//Лат
спТранслит.ДобавитьЗначение("i","i");
спТранслит.ДобавитьЗначение("q","q");
спТранслит.ДобавитьЗначение("w","w");
спТранслит.ДобавитьЗначение("e","e");
спТранслит.ДобавитьЗначение("r","r");
спТранслит.ДобавитьЗначение("t","t");
спТранслит.ДобавитьЗначение("y","y");
спТранслит.ДобавитьЗначение("u","u");
спТранслит.ДобавитьЗначение("i","i");
спТранслит.ДобавитьЗначение("o","o");
спТранслит.ДобавитьЗначение("p","p");
спТранслит.ДобавитьЗначение("","");
спТранслит.ДобавитьЗначение("a","a");
спТранслит.ДобавитьЗначение("s","s");
спТранслит.ДобавитьЗначение("d","d");
спТранслит.ДобавитьЗначение("f","f");
спТранслит.ДобавитьЗначение("g","g");
спТранслит.ДобавитьЗначение("h","h");
спТранслит.ДобавитьЗначение("j","j");
спТранслит.ДобавитьЗначение("k","k");
спТранслит.ДобавитьЗначение("l","l");
спТранслит.ДобавитьЗначение("z","z");
спТранслит.ДобавитьЗначение("x","x");
спТранслит.ДобавитьЗначение("c","c");
спТранслит.ДобавитьЗначение("v","v");
спТранслит.ДобавитьЗначение("b","b");
спТранслит.ДобавитьЗначение("n","n");
спТранслит.ДобавитьЗначение("m","m");
спТранслит.ДобавитьЗначение(" "," ");
спТранслит.ДобавитьЗначение("""","""");
спТранслит.ДобавитьЗначение("-","-");
спТранслит.ДобавитьЗначение(".",".");
спТранслит.ДобавитьЗначение(",",",");
спТранслит.ДобавитьЗначение("/","/");
спТранслит.ДобавитьЗначение("\","\");
спТранслит.ДобавитьЗначение("*","*");
спТранслит.ДобавитьЗначение("#","#");
спТранслит.ДобавитьЗначение("#","№");
спТранслит.ДобавитьЗначение("|","|");
спТранслит.ДобавитьЗначение("!","!");
спТранслит.ДобавитьЗначение("?","?");
спТранслит.ДобавитьЗначение("$","$");
спТранслит.ДобавитьЗначение("%","%");
спТранслит.ДобавитьЗначение("@","@");
спТранслит.ДобавитьЗначение("&","&");
спТранслит.ДобавитьЗначение("=","=");
спТранслит.ДобавитьЗначение("+","+");
спТранслит.ДобавитьЗначение("~","~");
спТранслит.ДобавитьЗначение("'","'");
спТранслит.ДобавитьЗначение("`","`");
спТранслит.ДобавитьЗначение(":",":");
спТранслит.ДобавитьЗначение(";",";");
спТранслит.ДобавитьЗначение("(","(");
спТранслит.ДобавитьЗначение(")",")");
спТранслит.ДобавитьЗначение("[","[");
спТранслит.ДобавитьЗначение("]","]");
спТранслит.ДобавитьЗначение("}","}");
спТранслит.ДобавитьЗначение("{","{");
спТранслит.ДобавитьЗначение("0","0");
спТранслит.ДобавитьЗначение("1","1");
спТранслит.ДобавитьЗначение("2","2");
спТранслит.ДобавитьЗначение("3","3");
спТранслит.ДобавитьЗначение("4","4");
спТранслит.ДобавитьЗначение("5","5");
спТранслит.ДобавитьЗначение("6","6");
спТранслит.ДобавитьЗначение("7","7");
спТранслит.ДобавитьЗначение("8","8");
спТранслит.ДобавитьЗначение("9","9");
Для а=1 по СтрДлина(Слово) Цикл
НовоеСлово = НовоеСлово + спТранслит.Получить(НРЕГ(Сред(Слово,а,1)))
КонецЦикла;
Возврат ВРЕГ(НовоеСлово);
КонецФункции