Skip to content

Ћирко - ћирилично-латинични конвертор

License

Notifications You must be signed in to change notification settings

igordejanovic/cirko

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ћирко - ћирилично-латинични конвертор

Ћирко је алат за конверзију српске латинице у ћирилицу и обрнуто.

Инспирисан је сјајном екстензијом OOOtranslit за Либре Офис која ме је верно служила годинама, али пошто доста времена проводим у Emacs едитору, досадило ми је да копирам текст у/из Либре Офиса када радим са текстом на српском језику и потребно ми је пресловљавање. Други и главни разлог који је довео до креирања ћирка је потреба за аутоматизацијом нормализације писма код употребе RAG система и алата emqu. Екстензија за Либре Офис није предвиђена за позивање из скрипти а, и да јесте, превише је комплексно користити читав канцеларијски пакет за релативно једноставну функционалност.

Ћирко је замишљен као флексибилан алат који прати Unix филозофију (једноставност, композабилност, алати који раде једну ствар и раде је добро). Захваљујући имплементацији на програмском језику Rust перформансе су одличне тако да се може несметано користити и за пресловљавање велике количине текста.

Подразумевано, Ћирко чита текст са стандардног улаза и шаље конвертован текст на стандардни излаз. Ово се може променити параметрима команде --улаз, односно --излаз које очекују улазни, односно излазни фајл.

На пример, можете резултат команди једноставно усмерити на ћирка и он ће обавити конверзију:

grep -i kako file.txt | ћирко

Смер конверзије се детектује аутоматски. Уколико је садржај на ћирилици конвертује се у латиницу и обратно. Ово се такође може променити параметрима --ћирилица односно --латиница којима се дефинише жељени излаз.

Подразумевани начин рада омогућава једноставну интеграцију ћирка у друге алате и едиторе. На пример, ако ваш едитор подржава позив екстерне команде над селектованим садржајем онда једноставно конфигуришете да се садржај шаље команди ћирко.

Све параметре можете добити командом:

ћирко --помоћ

Интеграција са едиторима

Из Emacs+evil/(neo)vim едитора можете позвати ћирка са:

:%!ћирко

за конверзију комплетног садржаја бафера, или:

:<,>!ћирко

за конверзију само селектованог дела текста.

У едитору Kate из KDE пакета можете креирати екстерну команду на дијалогу Tools->External Tools->Configure->Add. Поља попуните на следећи начин:

  • Name: ћирко
  • Executable: ћирко
  • Input: %{Document:Selection:Text}
  • Output: Replace selected text

Сада можете позвати пресловљавање селектованог текста менијем Tools->External Tools->ћирко. Опционо подесите пречицу на тастатури путем менија Settings->Configure keyboard shortcuts.

На сличан начин можете конфигурисати било који едитор који има опцију позива екстерних алата.

Особине

Као и OOOTranslit и Ћирко ради исправну конверзију у контексту малих и великих слова. На пример, ако је реч писана великим словима, ћирилична слова која резултују двословнихм латиничним секвенцама (нпр. Љ, Њ) ће бити исправно конвертована што се тиче величине слова (Љубав -> Ljubav, али ЉУБАВ -> LJUBAV).

Такође, двословне верзије у латиници ће бити исправно конвертоване у случају изузетака. Нпр. nadživeti, tanjug, injekcija.

Делови текста које не треба пресловљавати (веб адресе, адресе електронске поште, хештагове, LaTeX команде и математичке формуле итд.) се прескачу.

Имплементација

За разлику од OOOTranslit, Ћирко је имплементиран тако да се и слова и изузеци у коду дефинишу само малим словима а сва правила конверзије малих и великих слова су дефинисана алгоритамски. Ово омогућава једноставно додавање нових изузетака без потребе дефинисања варијанти са различитом величином слова.

Ћирко има и подршку за делове текста које не треба пресловљавати (веб адресе, адресе елекстронске поште, хештагове итд.)

Инсталација

Са странице са издањима преузмите зип архиву за Вашу плаформу, распакујте извршни фајл тако да буде доступан на путањи (PATH). Верификујте да сте добро инсталирали позивом следеће компанде из командног интерпретера:

ћирко --помоћ

Алат је имплементиран на програмском језику Rust тако да инсталацију можете обавити и из изворног кода употребом cargo алата:

cargo install --git https://github.com/igordejanovic/cirko.git

About

Ћирко - ћирилично-латинични конвертор

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors