Перевод кириллицы на латынь

Wanderer

Well-Known Member
Lotus team
23.03.2006
409
18
37
Москва
#1
Есть у кого пример кода, как провести транслитерацию русских символов на латынь?
Пример: есть форма с текстовым полем NameField для русских имен (или несколько полей) и есть вычисляемое поле ResultField. В поле ResultField помещается результат перевода русского имени из NameField на латынь по правилам транслитерации.
В дальнейшем значение поля ResultField должно сохраниться в текстовом файле.
 
D

Domino6

Гость
#2
Отправь себе СМСку с алфавитом вот и получиш транслимтерацию
 

Wanderer

Well-Known Member
Lotus team
23.03.2006
409
18
37
Москва
#3
:angry: Правила транслитерации я знаю. :blink:
Как в Лотусе это реализовать?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#4
Идея такая. На собаке.
Код:
st := "вася";
kyr := @Explode("а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ь,ы,ъ,э,ю,я"; ","; @True);
lat := @Explode("a,b,v,g,d,e,е,zh,z,i,y,k,l,m,n,o,p,r,s,t,u,f,kh,ts,ch,sh,shch,,y,,e,yu,ya"; ","; @True);
@For(i := 1; i <= @Length(st); i := i + 1;
ch := @Middle(st; i - 1; 1);
n := @Member(ch; kyr); s := s + @If(n = 0; ch; lat[n])
);
Надо доработать с учетом заглавных букв (т.е. Женя -> Zhеnya) и с учетом транслитерации слов, написаных заглавными буквами (т.е. ЖЕНЯ -> ZHENYA).
 
G

Guest_valmont_*

Гость
#6
@ReplaceSubstring("абвг";"а":"б":"в":"г":"д";"a":"b":"v":"g":"d")
translit.ru там есть как заменяются символы.
 

DNT

Постоялец форума
Lotus team
12.10.2005
590
7
37
Украина, Одесса
#7
@ReplaceSubstring("абвг";"а":"б":"в":"г":"д";"a":"b":"v":"g":"d")
translit.ru там есть как заменяются символы.

Вот более полный код, с учётом больших букв.

@ProperCase (@ReplaceSubstring(@LowerCase(LastName);"а":"б":"в":"г":"д":"е":"ё":"ж":"з":"и":"й":"к":"л":"м":"н":"о":"п":"р":"с":"т":"у":"ф":"х":"ц":"ч":"ш":"щ":"ь":"ы":"ъ":"э":"ю":"я";"a":"b":"v":"g":"d":"e":"е":"zh":"z":"i":"y":"k":"l":"m":"n":"o":"p":"r":"s":"t":"u":"f":"kh":"ts":"ch":"sh":"shch":"":"y":"":"e":"yu":"ya"))

просто сейчас столкнулся с этим и решил обновить топик :)