Пресловљавање у ћирилицу

Пребацивање текста из латинице у ћирилицу није једнозначно и постаје утолико теже уколико се у тексту налазе и стране речи. Постоји неколико програма који могу да пребаце чист текст из латинице у ћирилицу.

Програм „Вучко“

Програм [Вучко] се може користити за пребацивање текста и HTML странице из латинице у ћирилицу, и обратно. Ради са текстом/HTML документима написаним у било ком кодном распореду. Пресловљена страница је дата у Unicode UTF-8 распореду што је чини читљивом на свим рачунарским платформама.

За разлику од већине програма те намене, он препознаје велики број изузетака, на пример неће пребацити речи које у себи садрже слово Q, W, X или Y. Нажалост, за разлику од Рас-а не препознаје речи као "надживети" у којима латиничне двословне знаке треба очувати као два слова а не пребацити у једно ћирилично слово. Такође се труди се да преуреди наводнике тако да буду исправни по правопису ("Вучко" постаје „Вучко")

Пример: страница пресловљена у ћирилично писмо

Пример странице која је пребачена у ћирилицу уз помоћ програма [Вучко]:

Брзо упутство:

Windows

  • Windows корисници могу користити bvucko.bat датотеку и позивати програм и на следећи начин: bvucko -cp1250 -in index.html -out index-c.html
  • Windows корисници могу користити и bc2l.bat датотеку и позивати програм и на следећи начин: bc2l -iso8859-5 -in index.html -out index-c.html

Linux

  • Пример позива: htmlany2utf -cp1250 -in index.html | vucko -out index-c.html (програм htmlany2utf улазну датотеку index.html која је у cp1250 кодном распореду пребацује у Unicode UTF-8 распоред и шаље је на stdout-стандардни излаз (пошто -out датотека није наведена) који даље прихвата „Вучко“ са stdin-стандардног улаза (пошто -in датотека није дата) и резултат, текст пребачен у ћирилицу, уписује у датотеку index-c.html).
  • Пример позива за пребацивање странице из ћирилице у латиницу: htmlany2utf -iso8859-5 -in index.html | c2l -out index-l.html (ћирилични HTML документ index.html се уз помоћ програма htmlany2utf пребацује из iso8859-5 распореда у UTF-8 распоред и шаље на стандардни излаз одакле га прихвата програм c2l, пребацује у латиницу и уписује у датотеку index-l.html). c2l такође познаје <code></code> тагове и текст који се у њима налази не пребацује у латинично писмо.

Основне карактеристике:

  • htmlany2utf може да пребаци интернет странице из било ког распореда у стандардни Unicode UTF-8 распоред без пребацивања текста у ћирилицу. Може се искористити да се поправе странице које су грешком записане у распореду где нема ни наших латиничних слова већ је за њих коришћен децимални или хексадецимални Unicode HTML запис (&#xxx;).
  • Препознаје мејл и интернет адресе и не пребацује их у ћирилицу.
  • Текст између <lang></lang> и <code></code> тагова не пребацује у ћирилицу! Интернет читачи игноришу непознате тагове (<lang>) па је њихова употреба безбедна, а при пребацивању у ћирилицу „Вучко“ уклања <lang></lang> тагове.
  • Реч која у себи садржи неко од слова qwyx се не пребацује у ћирилицу (треба имати у виду да програм не разуме енглески и друге језике па ће стране речи без тих слова ипак бити пребачене у ћирилицу; у тим случајевима делове текста претходно ставити у <lang></lang> тагове — што је коришћено при пребацивању неких од тест страница на ћирилицу).
  • Труди се да преуреди наводнике тако да буду исправни по правопису ("Вучко" постаје „Вучко“)
  • Ако треба спречити стапање слова, n и j у слово њ онда треба поставити празан таг између,<!> ће послужити.
  • Ради из командне линије (DOS-а, UNIX терминала). Може да ради и као филтер текста, за пребацивање текста „у лету“. Програм долази са помоћним програмом htmlany2utf који представља предфилтар и омогућава рад са великим бројем кодних распореда:
    htmlany2utf 0.801 (2003-10-26)
    Program that converts HTML file from given encoding to UTF-8 encoding replacing
    HTML decimal and hex unicode encoded characters to single unicode character.
    Usage:
    htmlany2utf -inputencoding [-in inputfile] [-out outputfile]
      If inputfile is omitted stdin is used.
      If outputfile is omitted stdout is used.
      Inputencoding is one of: cp850, cp852, cp855, cp866, cp1250, cp1251,
        cp1252,iso8859-1 (latin1), iso8859-2 (latin2), iso8859-3 (latin3),
        iso8859-4, iso8859-5, iso8859-6, iso8859-7, iso8859-8, iso8859-9,
        iso8859-10, iso8859-11, iso8859-13, iso8859-14, iso8859-15 (latin9),
        iso8859-16, koi8-r, utf8.
    Vucko 0.989 (2003-11-10)
    Program that transliterates Serbian HTML/TXT documents written in Latin
    alphabet to Cyrillic alphabet. Works only for pages in UTF-8 encoding!
    For HTML/TXT pages in other encodings first use program 'htmlany2utf'.
    Usage:
    vucko [-text] [-in inputfile] [-out outputfile]
      If inputfile is omitted stdin is used.
      If outputfile is omitted stdout is used.
      -text	Process file as text, ignore HTML tags.
             Useful for emails, agency news...
    c2l 0.01 (2003-10-26)
    Program that transliterates Serbian HTML/TXT documents written
    in Cyrillic alphabet to Latin alphabet. Works only for pages in
    Unicode UTF-8 encoding!  For HTML/TXT pages in other encodings
    first use program 'htmlany2utf'.
    Usage:
    c2l [-in inputfile] [-out outputfile]
      If inputfile is omitted stdin is used.
      If outputfile is omitted stdout is used.

Како је настао?

Програм је настао на Електротехничком факултету у Београду као део подухвата „Рачунарски алати за српски језик“, а у склопу акција „Националног већа за српски језик и писмо“. Овај мали лични пројекат је за сада удомљен на овој страници и рад на њему се наставља

Програм ради са HTML страницама и чистим текстом у следећим кодним распоредима: cp850, cp852, cp855, cp866, cp1250, cp1251, cp1252,iso8859-1 (latin1), iso8859-2 (latin2), iso8859-3 (latin3), iso8859-4, iso8859-5, iso8859-6, iso8859-7, iso8859-8, iso8859-9, iso8859-10, iso8859-11, iso8859-13, iso8859-14, iso8859-15 (latin9), iso8859-16, koi8-r и utf8 (текстови на српском језику у латиничном писму су углавном писани у cp1250 и iso8859-2 кодном распореду). Програм „Вучко“ интерно ради као Unicode, а подаци му се достављају преко другог модула, htmlany2utf који улазну страницу/текст из било ког кодног распореда пребацује у Unicode. Нова ћирилична страница је такође у Unicode UTF-8 распореду и то омогућава читљивост и едитовање текста на свим оперативним системима!

За пребацивање текста из ћирилице у латиницу на располагању је програм c2l. И овај програм као и „Вучко“ ради само са HTML/TXT датотекама у Unicode UTF-8 распореду. Ако у латинично писмо треба пребацити текст писан у неком другом распореду податке програму треба доставити преко htmlany2utf програма — на исти начин као и за „Вучка“.

Страница/текст која је пребачена у ћирилицу/латиницу је у Unicode UTF-8 распореду што омогућава читљивост на свим оперативним системима!

Тест странице - ћириличне:

Преузимање програма:

Преузмите нову верзију (0.989) програма

Windows верзија (84kb)     Linux верзија (54kb)     UNIX-Solaris верзија (55kb)


Повратна информација о програму „Вучко“ је пожељна: шта мислите да би требало да се дода или одузме, шта за сада ваља а шта не...

Ауторска права - да ли и под којим условима могу користити програм?

За личну употребу: За ваше личне стране коришћење програма је слободно и бесплатно. На личном сајту који је пребачен на ћирилицу уз помоћ „Вучка" ставити линк на http://galeb.etf.bg.ac.yu/~alexa/ и послати е-пошту .

За употребу за сајтове група, установа, предузећа и држава, те друге сајтове који имају службену или полуслужбену сврху: контактирати ради једноставног договора и регистрације!

Пресловљавање целих интернет презентација

За пребацивање целих сајтова се може искористити Perl скрипт:

	#!/usr/bin/perl -w
	# Аутор: Александар Веселиновић
	# Користити за пресловљавање свих докумената у директоријуму и свим
	# директоријумима изнад у ћирилично писмо.

	use strict;
	use File::Find;

	my $filename;

	my $VUCKO = "~/bin/vucko";		# где се налази програм „Вучко“
	my $HTMLANY = "~/bin/htmlany2utf";	# где се налази програм за пребацивање у UTF-8 распоред
	my $encoding = "utf8";
	my $extension;
	my $html_page;
	my $FILE;

	@ARGV = qw(.) unless @ARGV;

	# Кодни распоред докумената (cp1250, iso8859-5, utf8..., за цео списак
	# погледати Вучко документацију.
	print "Enter encoding: ";
	chomp($encoding = <STDIN>);

	# Унети екстензију датотека које треба пресловити (рецимо: htm, html, txt...)
	print "Enter default extension: ";
	chomp($extension = <STDIN>);

	find(\&vucko, @ARGV);

	sub vucko {
		return unless -f $_;
		$filename = $_;
		print "Processing: $File::Find::name\n";
		if ($_ =~ /.\.*${extension}/) {
			unlink("vucko_tmp");
			rename ($filename, "vucko_tmp");
	
	#############################################################################
	#    Изузеци: ако неки део текста треба да остане у латиничном писму, а
	#    појављује се на свакој страници интернет презентације коју треба
	#    пресловити:
	#############################################################################
	#	open (FILE, "<vucko_tmp");
	#	$html_page = join("",<FILE>);
	#	$html_page =~ s#Designed by Miloje#<lang>$&</lang>#g;
	#	close(FILE);
	#	open (FILE, ">vucko_tmp");
	#	print FILE $html_page;
	#	close (FILE);
	#############################################################################
	
			system("$HTMLANY -$encoding -in vucko_tmp | $VUCKO -out $filename");
			unlink("vucko_tmp");
		}
		return;
	}

Уколико се сајт налази на мрежи, а желели би да га пресловите можете га снимити у локалу на ваш диск уз помоћ програма [wget], Хрвоја Никшића, командом:

	wget -m -k -p http://некисајт/

Програм wget можете наћи на мрежи за све оперативне системе. Windows корисници могу погледати следећу [страницу].