Руби пакет за брзо пресловљавање ћирилице у латиницу и обратно
Byk се може користити као самостални конзолни алат или као String додатак у Руби програмима. Не зависи ни од каквих пакета поред програмског језика Руби и стандардних алата за компајлирање 1.
Можеш га инсталирати директно:
$ gem install bykили додати у Gemfile своје апликације:
gem "byk"1 За Windows, види DevKit
Ево прегледа могућности конзолног алата:
$ byk --help
usage: byk [options] [files]
options:
-c, --cyrillic convert input to Cyrillic (default)
-l, --latin convert input to Latin
-a, --ascii convert input to "ASCII Latin"
-v, --version show version
За превод "у лету", проследи текст команди:
$ byk -a <<< "Вук Стефановић Караџић"
Vuk Stefanovic KaradzicАлтернативно, позови команду, унеси текст за превод и обележи крај уноса помоћу Ctrl D:
$ byk
a u ruke Mandušića Vuka
biće svaka puška ubojita!
^D
а у руке Мандушића Вука
биће свака пушка убојита!Превод се шаље на стандардни излаз, те га можеш преусмерити по потреби. На пример, за превод текстуалне датотеке на ћирилицу и чување превода:
$ byk lat.txt > cir.txtУ случају да не користиш Bundler, увези пакет "ручно":
require "byk"што ће проширити String новим методама:
"Šeširdžija".to_cyrillic #=> "Шеширџија"
"Шеширџија".to_latin #=> "Šeširdžija"
"Шеширџија".to_ascii_latin #=> "Sesirdzija"и њиховим деструктивним верзијама:
text = "Šeširdžija"
text.to_ascii_latin! #=> "Sesirdzija"
text #=> "Sesirdzija"У случају да не желиш да проширујеш String, можеш извршити "безбедан" увоз:
# унутар Gemfile-а:
gem "byk", require: "byk/safe"
# иначе:
require "byk/safe"па се ослонити на методе модула:
Byk.to_latin("Жвазбука") #=> "Žvazbuka"Ретки случајеви диграфа које треба сачувати код превођења у ћирилицу нису узети у разматрање: Танјуг, надживети и слично.
С друге стране, методе за латинизацију исправно преводе велике диграфе:
"ЉИЉА Љ. Љиљановић".to_latin #=> "LJILJA Lj. Ljiljanović"
"ĐORĐE Đ. Đorđević".to_ascii_latin #=> "DJORDJE Dj. Djordjevic"Byk је 10-30x бржи од наивне Руби имплементације, у зависности од састава улаза и смера превођења.
Клонирај пројекат и покрени тестове:
$ bundle && bundle exec rake
Byk је подржан само на стандардном Рубију (MRI).
Овај пакет је објављен под МИТ лиценцом.
Уздравље!