Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Translit(Str:string):string;
- var Regex:TRegExpr;
- Dict:TDictTrans;
- Ch,oStr,oTrans:string;
- I:LongInt;
- begin
- Regex:=TRegExpr.Create;
- Regex.Expression:='[А-Я]|[а-я]|\s';
- if not Regex.Exec(Str) then begin
- exit(Str);
- end;
- Dict:=TDictTrans.Create;
- Dict.Add(' ','_');
- Dict.Add('А','A'); Dict.Add('а','a');
- Dict.Add('Б','B'); Dict.Add('б','b');
- Dict.Add('В','V'); Dict.Add('в','v');
- Dict.Add('Г','G'); Dict.Add('г','g');
- Dict.Add('Д','D'); Dict.Add('д','d');
- Dict.Add('Е','E'); Dict.Add('е','e');
- Dict.Add('Ё','YO'); Dict.Add('ё','yo');
- Dict.Add('Ж','ZH'); Dict.Add('ж','zh');
- Dict.Add('З','Z'); Dict.Add('з','z');
- Dict.Add('И','I'); Dict.Add('и','i');
- Dict.Add('Й','J'); Dict.Add('й','j');
- Dict.Add('К','K'); Dict.Add('к','k');
- Dict.Add('Л','L'); Dict.Add('л','l');
- Dict.Add('М','M'); Dict.Add('м','m');
- Dict.Add('Н','N'); Dict.Add('н','n');
- Dict.Add('О','O'); Dict.Add('о','o');
- Dict.Add('П','P'); Dict.Add('п','p');
- Dict.Add('Р','R'); Dict.Add('р','r');
- Dict.Add('С','S'); Dict.Add('с','s');
- Dict.Add('Т','T'); Dict.Add('т','t');
- Dict.Add('У','U'); Dict.Add('у','u');
- Dict.Add('Ф','F'); Dict.Add('ф','f');
- Dict.Add('Х','KH'); Dict.Add('х','kh');
- Dict.Add('Ц','TS'); Dict.Add('ц','ts');
- Dict.Add('Ч','CH'); Dict.Add('ч','ch');
- Dict.Add('Ш','SH'); Dict.Add('ш','sh');
- Dict.Add('Щ','SHCH'); Dict.Add('щ','shch');
- Dict.Add('Ъ','_'); Dict.Add('ъ','_');
- Dict.Add('Ы','Y'); Dict.Add('ы','y');
- Dict.Add('Ь','_'); Dict.Add('ь','_');
- Dict.Add('Э','JE'); Dict.Add('э','je');
- Dict.Add('Ю','JU'); Dict.Add('ю','ju');
- Dict.Add('Я','JA'); Dict.Add('я','ja');
- Ch:=''; oStr:='';
- for I:=1 to Length(Str) do begin
- Ch:=Copy(Str,I,1);
- if Dict.TryGetData(Ch, oTrans) then begin
- oStr:=oStr+oTrans; //russkaya bukva - transliteriruem
- end
- else begin
- oStr:=oStr+Ch; //nerusskaya bukva, ostavlaem v pokoe
- end;
- end;
- Dict.Free;
- exit(oStr);
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement