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

Тема в разделе "Lotus - Программирование", создана пользователем Wanderer, 4 апр 2006.

  1. Wanderer

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    369
    Симпатии:
    14
    Есть у кого пример кода, как провести транслитерацию русских символов на латынь?
    Пример: есть форма с текстовым полем NameField для русских имен (или несколько полей) и есть вычисляемое поле ResultField. В поле ResultField помещается результат перевода русского имени из NameField на латынь по правилам транслитерации.
    В дальнейшем значение поля ResultField должно сохраниться в текстовом файле.
     
  2. Domino6

    Domino6 Гость

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

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    369
    Симпатии:
    14
    :angry: Правила транслитерации я знаю. :blink:
    Как в Лотусе это реализовать?
     
  4. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Идея такая. На собаке.
    Код (Text):
    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).
     
  5. Domino6

    Domino6 Гость

    или простой @ReplaceSubstring
     
  6. Guest_valmont_*

    Guest_valmont_* Гость

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

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7

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

    @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"))

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

Поделиться этой страницей