скрипт для перекодировки

Technical questions about this forum, how to use, questions-answers...
Информация о том какие новшества на форуме, как пользоваться, вопросы-ответы...
Ֆորումի նորույթները, հարցեր — պատասխաններ։

скрипт для перекодировки

Postby avetik » 24 Feb 2007, 01:46

... правда, ещё совсем сырой, но если кому интересно, то вот пожалуйста...

Написан на Perl, но мне кажется может быть легко портирован на чё-нть другое.

Code: Select all
use warnings;
use strict;

my $ARMENIAN = 1;
my $ENGLISH  = 2;
my $RUSSIAN  = 3;

# creating a map for character substitution

my $map; # a hash-reference variable to store the map
while (<DATA>) # while we read stuff below section __DATA__ line by line
{
    chomp;     # cut the newline character
   
    my @chars = split /\s+/; # split into by whitespace(s) and store in @chars array variable
   
    #      priority      substitute this        with that
    #~ $map->{$chars[0]}->{$chars[$ARMENIAN]} = $chars[$ENGLISH];
    $map->{$chars[0]}->{$chars[$ARMENIAN]} = $chars[$RUSSIAN];
}

open my $in, "<text.txt"; # open a file with text

my $str = join ("", <$in>); # read all lines into one variable

for my $priority (sort keys %$map) { # do substition by priority order

    for my $key (sort keys %{$map->{$priority}}) {
   
        $str =~ s/$key/$map->{$priority}->{$key}/ge; # regular expression on-the-fly
   
    }

}

print "$str\n"; # print results

close ($in);

# Substitution table columns: priority order, Armenian, English, Russian
# Note: this is not complete!... Just a test!...
__DATA__
1 ä ä я
1 ու u у
2 Ա A А
2 Բ B Б
2 Գ G Г
2 Դ D Д
2 Ե Ye E
2 Զ Z З
2 Է E Э
2 Ը E Ъ
2 Թ Th Т'
2 Ժ Zh Ж
2 Ի I И
2 Լ L Л
2 Խ Kh Х
2 Ծ Dz Дз
2 Կ К К
2 Հ H h
2 Ձ Dz Дз
2 Ղ Gh Гх
2 Ճ Ch Ч
2 Մ M М
2 Յ Y Й
2 Ն N Н
2 Շ Sh Ш
2 Ո O О
2 Չ  Ch Ч
2 Պ P П
2 Ջ DJ Дж
2 Ռ Rr Рр
2 Ս S С
2 Վ V В
2 Տ  T Т
2 Ր R Р
2 Ց C Ц
2 Փ Ph П'
2 Ք Q K'
2 Ւ V В
2 Օ O О
2 Ֆ F Ф
2 ՝ -- --
2 , , ,
2 ՞ ? ?
2 ։ . .
2 ա a а
2 բ b б
2 գ g г
2 դ d д
2 ե e е
2 զ z з
2 է e э
2 ը e ъ
2 թ th т'
2 ժ zh ж
2 ի i и
2 լ l л
2 խ kh х
2 ծ dz дз
2 կ k к
2 հ h h
2 ձ dz тз
2 ղ gh гх
2 ճ ch ч
2 մ m м
2 յ y й
2 ն n н
2 շ sh ш
2 ո о o
2 չ ch ч
2 պ p п
2 ջ dj дж
2 ռ rr рр
2 ս s с
2 վ v в
2 տ t т
2 ր r р
2 ց c ц
2 փ ph п'
2 ք q к
2 ւ v в
2 օ o о
2 ֆ f ф
2 և ev ев
Last edited by avetik on 16 May 2007, 05:50, edited 1 time in total.

astegh badmutine hin
xarnevadza nerin hed,
kidista miy baberun azbarininq himi menq,
azbarininq menq... (c) Hamsheni Azbar
User avatar
avetik
 
Posts: 556
Joined: 20 Jan 2007, 09:12

Postby Mono » 24 Feb 2007, 23:19

А что делает этот скрипт ?
Mono
 
Posts: 5
Joined: 21 Feb 2007, 13:52

Postby avetik » 14 Mar 2007, 18:15

если этому скрипту дать файл написаный армянскими буквами, то он (может быть) переведёт эти буквы в латинский или кириллический алфавит. удобно для тех кто не может читать на армянском.

astegh badmutine hin
xarnevadza nerin hed,
kidista miy baberun azbarininq himi menq,
azbarininq menq... (c) Hamsheni Azbar
User avatar
avetik
 
Posts: 556
Joined: 20 Jan 2007, 09:12

Postby Hack » 26 Mar 2007, 20:20

На genocide.ru уже есть транслитератор (язык - JavaScript).
Hack
 
Posts: 24
Joined: 26 Feb 2007, 16:55

Postby avetik » 26 Mar 2007, 22:33

Этот замечательный транслитератор я знаю. Мне просто понадобилось работать с уже набранным текстом без выхода в сеть. (К тому же я отношусь к категории недоверчивых программистов любящих самим контролировать процесс насколько возможно :) Обычно это даёт положительный результат. )

astegh badmutine hin
xarnevadza nerin hed,
kidista miy baberun azbarininq himi menq,
azbarininq menq... (c) Hamsheni Azbar
User avatar
avetik
 
Posts: 556
Joined: 20 Jan 2007, 09:12

Postby Hack » 27 Mar 2007, 00:27

Мне просто понадобилось работать с уже набранным текстом без выхода в сеть.

В чем проблема? Страницу можно сохранить на диск и работать в offline-режиме.

(К тому же я отношусь к категории недоверчивых программистов любящих самим контролировать процесс насколько возможно :) Обычно это даёт положительный результат.)

Я бы с вами поспорил. Со своим кодом работать все умеют, но более ценятся программисты, которые умеют работать с чужим кодом. Это другой уровень, если хотите, знак качества.
Hack
 
Posts: 24
Joined: 26 Feb 2007, 16:55

Postby avetik » 27 Mar 2007, 01:03

Hack wrote:
Мне просто понадобилось работать с уже набранным текстом без выхода в сеть.

В чем проблема? Страницу можно сохранить на диск и работать в offline-режиме.

Да, не плохая идея, хотя порой дополнительные модули к странице приходится искать у себя на диске в временных файлах, а мне, честно говоря, лень...

(К тому же я отношусь к категории недоверчивых программистов любящих самим контролировать процесс насколько возможно :) Обычно это даёт положительный результат.)

Я бы с вами поспорил. Со своим кодом работать все умеют, но более ценятся программисты, которые умеют работать с чужим кодом. Это другой уровень, если хотите, знак качества.


Помните, такая пословица была: "два солдата из стройбата заменяют экскаватор" :) Всё можно сделать при наличии сил, времени, напористости... Но мне не очень приятно лазить в чужую программу, всё равно что лезть к ним в личную жизнь. В сети масса программ с открытым кодом, и кому-то очень нравится вносить изменения во всё что программируется, а кому-то не очень. Мне, например, приятнее писать что-то самому, даёт надежду что что-то могу сделать своими мозгами. Но если надо, залезу в чужой код и разберусь. Просто влом.

astegh badmutine hin
xarnevadza nerin hed,
kidista miy baberun azbarininq himi menq,
azbarininq menq... (c) Hamsheni Azbar
User avatar
avetik
 
Posts: 556
Joined: 20 Jan 2007, 09:12

Postby Hack » 27 Mar 2007, 01:47

Но мне не очень приятно лазить в чужую программу, всё равно что лезть к ним в личную жизнь.

Причем тут личная жизнь? Это правило корпоративной этики: программист должен уметь разбираться в чужом коде. Один программист уходит, оставляя свои инструкции и код, другой приходит на его место. Что теперь, новичку заново велосипед изобретать?

Мне, например, приятнее писать что-то самому, даёт надежду что что-то могу сделать своими мозгами.

Кто бы сомневался. Но ведь программа не пишется каждый раз заново. Старый код правиться, совершенствуется, являясь платформой для нового релиза. Иногда усовершенствованием кода приходиться заниматься другому программисту. И он, естественно, используя старые наработки, дополняет или правит его. Это и называется "разбираться в чужом коде".
Hack
 
Posts: 24
Joined: 26 Feb 2007, 16:55


Return to Technical Stuff · Технические Вопросы · Տեքնիկական Հարցեր · Teknik Yardim

Who is online

Users browsing this forum: No registered users and 1 guest

cron

Rambler's Top100