Delphi: перевод русского текста в транслит

Функция перевода русского текста в транслит для Delphi (русский текст латинскими буквами), на базе которой можно много чего еще интересного придумать.

function Translit(s: string): string;
const
rus: string = 'абвгдеёжзийклмнопрстуфхцчшщьыъэюя';
lat: array[1..33] of string = ('a', 'b', 'v', 'g', 'd', 'e', 'yo', 'zh', 'z', 'i', 'y', 'k',
'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', 'ts', 'ch', 'sh', 'shch',
'''', 'y', '''', 'e', 'yu', 'ya');
var
p, i, l: integer;
begin
s:=widelowercase(s);
Result := '';
l := Length(s);
for i := 1 to l do
begin
p := Pos(s[i], rus);
if p<1 then Result := Result + s[i] else Result := Result + lat[p];
end;
end;

Заметьте, что мягкий и твердый знаки («ь», «ъ») будeт заменены на одинарную ковычку (‘).

Одна мысль про “Delphi: перевод русского текста в транслит”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *