Играх си с Perl за да превеждам ID3 тагове от латиница на кирилица
(1251).  Ето функцията, която евентуално написах.  Не знам дали това
вече го има някъде, но аз не можах да го намеря за Perl и за български
(каквото намерих беше за руски най-вече).  Надявам се да е полезна по
принцип, а ако има по-добра версия някъде или грешки кажете.

Теодор

--

# CP-1251 specific transliteration
sub en2cyr_translate
{
 my $s = shift @_;
 
 # x transform
 $s =~ s/x/ks/g;
 # sht transform
 $s =~ s/sht/ù/g;
 $s =~ s/Sht/Ù/gi;

 # sh transform
 $s =~ s/sh/ø/g;
 $s =~ s/Sh/Ø/gi;

 # ch transform
 $s =~ s/ch/÷/g;
 $s =~ s/Ch/×/gi;

 # ja/ia transforms
 $s =~ s/ja/ÿ/g;
 $s =~ s/Ja/ß/gi;
 $s =~ s/ia/ÿ/g;
 $s =~ s/Ia/ß/gi;
 $s =~ s/ya/ÿ/g;
 $s =~ s/Ya/ß/gi;

 # ju/iu transforms
 $s =~ s/ju/þ/g;
 $s =~ s/Ju/Þ/gi;
 $s =~ s/iu/þ/g;
 $s =~ s/Iu/Þ/gi;
 $s =~ s/yu/þ/g;
 $s =~ s/Yu/Þ/gi;

 # zh transforms
 $s =~ s/zh/æ/g;
 $s =~ s/Zh/Æ/gi;
 
 # ts transforms
 $s =~ s/ts/ö/g;
 $s =~ s/Ts/Ö/gi;
 
 $s =~ 
tr/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/ÀÁÖÄÅÔÃÕÈÉÊËÌÍÎÏßÐÑÒÓÂÂÕÈÇàáöäåôãõèéêëìíîïÿðñòóââõèç/;

 return $s;
}

Reply via email to