| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
BeaVe 01.05.2006 14:44
В продолжение треда о классе транслитератора...@CLASS
transliter
@auto[]
$default[^table::create{rus lat
А A
а a
Б B
б b
В V
в v
Г G
г g
Д D
д d
Э Ye
э ye
Ю Yu
ю yu
Я Ya
я ya
Е E
е e
Ё E
ё e
Ж Zh
ж zh
З Z
з z
И I
и i
Й J
й j
К K
к k
Л L
л l
М M
м m
Н N
н n
О O
о o
П P
п p
Р R
р r
У U
у u
Ф F
ф f
Ц Ts
ц ts
Т T
т t
Щ Shch
щ shch
Ч Ch
ч ch
Ш Sh
ш sh
С S
с s
Х H
х h
ь '
Ь '
ъ "
Ъ "
Ы Y
ы y
}]
# Таблица ГОСТ 16876-71
$GOST[^table::create{rus lat
А A
а a
Б B
б b
В V
в v
Г G
г g
Д D
д d
Э Eh
э eh
Ю Ju
ю ju
Я Ja
я ja
Е E
е e
Ё E
ё e
Ж Zh
ж zh
З Z
з z
И I
и i
Й Jj
й jj
Л L
л l
М M
м m
Н N
н n
О O
о o
П P
п p
Р R
р r
Т T
т t
У U
у u
Ф F
ф f
Х Kh
х kh
К K
к k
Ч Ch
ч ch
Ц С
ц с
Щ Shh
щ shh
Ш Sh
ш sh
С S
с s
ъ "
Ъ "
Ы Y
ы y
ь '
Ь '
}]
#end @auto[]
@format[params][table]
^if(!def $params.string){
^throw[transliter.string;^$.string option MUST be specified.]
}
^if($params.table is 'table'){
$table[$params.table]
}{
^switch[$params.table]{
^case[DEFAULT]{
$table[$default]
}
^case[GOST]{
$table[$GOST]
}
}
}
^if($params.untranslit){
$table[^table::create{lat rus
^table.menu{
$table.lat $table.rus
}
}]
}
$result[^params.string.replace[$table]]
^if(def $params.optimize){
^switch[$params.optimize]{
^case[whitespaces]{
$result[^result.match[\s][g]{_}]
}
}
}
#end @format[]Примеры вызовов. $tmp[^transliter:format[ $.table[GOST] $.string[Вася Петров Шьявлев Эмолъволяновь] ]] $tmp ^transliter:format[ $.table[GOST] $.untranslit(1) $.string[$tr1] $.optimize[whitespaces] ]$.string[STRING] - обязательный параметр. В него передаётся строка для преобразования.