Page 1 of 1
Транскодировка
Posted: Thu Oct 19, 2006 4:56 am
by Pred_2000
Возможно сделать плагин для транскодировки текста: руский текст переводить в латиницу и обратно?
Re: Транскодировка
Posted: Thu Jan 25, 2007 8:16 am
by Pred_2000
Ну может кто-нибудь сделает, буду очень признателен!!!
Re: Транскодировка
Posted: Thu Jan 25, 2007 9:18 am
by DV
Pred_2000 wrote:Ну может кто-нибудь сделает, буду очень признателен!!!
Ну, я бы мог сделать, но ничего не могу сказать о сроках. В данный момент у меня "в очереди" ("в стеке") уже несколько других вещей.
Кстати, IMHO, товарища Hader следует заблокировать навсегда. Шоб неповадно было.
Re: Транскодировка
Posted: Mon Jan 29, 2007 4:39 am
by Pred_2000
[quote="DV"][Ну, я бы мог сделать, но ничего не могу сказать о сроках. [quote]
Большое спасибо, что откликнулись, буду ждать...
Re: Транскодировка
Posted: Wed Apr 18, 2007 2:34 am
by Pred_2000
DV wrote:[Ну, я бы мог сделать, но ничего не могу сказать о сроках.
Можно узнать, когда ожидать плагин, или не стоит надеяться?
Re: Транскодировка
Posted: Fri Apr 20, 2007 7:30 pm
by DV
Pred_2000 wrote:Можно узнать, когда ожидать плагин, или не стоит надеяться?
Я и сам уже думал над этим вопросом... Последних пару месяцев катастрофически не хватает времени. В начале этой недели (или это было уже на прошлой?) почти доделал проверку типа файла в плагине AkelBrackets, а вот закончить некогда...
Идея транскодировки весьма интересная, в любом случае надо будет разработать независимый класс для этих целей, но ничего не могу сказать о сроках... А каким вы видите формат внешнего файла перекодировки? Что-то типа
Ф=F
З=Z
Ш=SH
...
ф=f
з=z
ш=sh
...
в обычном текстовом формате? Или лучше в Юникоде?
Или лучше использовать 16-ричные символы? Типа такого:
'Ф'=0x46 // 'F'
0xC7='Z' // то есть 'З'='Z'
0xD8=0x53 0x48 // то есть 'Ш'="SH"
??
Re: Транскодировка
Posted: Mon Apr 23, 2007 2:53 am
by Pred_2000
DV wrote:
А каким вы видите формат внешнего файла перекодировки? Что-то типа
Ф=F
З=Z
Ш=SH
...
ф=f
з=z
ш=sh
...
в обычном текстовом формате?
Наверно было бы лучше в обыкновенном текстовом формате, чтобы можно было поправить таблицу... У людей разные мнения о том какие буквы на какие должны заменяться!!!
DV wrote:
Или лучше использовать 16-ричные символы? Типа такого:
'Ф'=0x46 // 'F'
0xC7='Z' // то есть 'З'='Z'
0xD8=0x53 0x48 // то есть 'Ш'="SH"
Можно и так, смотрите как проще, так и делайте! Главное чтобы места в оперативке поменьше занимал и работал!!!!
За ранее благодарен!
Re: Транскодировка
Posted: Tue May 08, 2007 8:26 am
by DV
Pred_2000 wrote:Главное чтобы места в оперативке поменьше занимал и работал!!!!
Работа над базовой функциональностью начата. Списки пар перекодировок думаю хранить в списках строк типа
std::vector<std::string> left;
std::vector<std::string> right;
а непосредственно перед перекодировкой слева направо или справа налево загонять их в ассоциативный массив
std::map<std::string, std::string>
в котором первое значение - ключ - будет соответствовать исходной кодировке и второе значение, связанное с ключом, будет соответствовать желаемой кодировке. По идее, std::map должен обеспечить быстрый поиск по ключу.
Но! Сложность в том, что ключ может состоять из нескольких букв, например, 'y' = 'у', 'ya' = 'я' и 'yo' = 'ё'. И, встречая в тексте 'y', нужно эффективно определить, перекодируем ли мы сочетание 'ya', 'yo' или же это одиночный символ 'y'. Пока что я не знаю, как это лучше реализовать.
Posted: Mon May 14, 2007 7:49 pm
by Torbins
В одном чате видел:
При переводе строки из русской раскладки в английскую проводится сравнивание начала строки например со строкой "реезЖ..", если сошлось - заменяется на "http://". В противном случае сравнивается с "р", если сошлось меняется на "h". И так далее. Главный принцып сравнивать сначала самые длинные слова, а в конце короткие.
Posted: Wed Jun 13, 2007 11:23 am
by DV
В виду внешних обстоятельств свободного времени у меня теперь еще меньше, чем было

Так что, если кто-то чувствует в себе силы заняться вопросом транскодировки, я могу поделиться своими соображениями по этому поводу и выслать исходники (несколько базовых классов), если надо. Сам же я не могу обещать, что что-то будет сделано в течение ближайших нескольких месяцев. Тем более что в отпуск я смогу выйти не раньше октября.
Posted: Sun Dec 09, 2007 8:18 pm
by Instructor
С версии 2.6 архив
Scripts плагина включает в себя:
KeybLayoutEngRus.js -конвертировать раскладку En->Ru.
KeybLayoutRusEng.js -конвертировать раскладку Ru->En.
KeybTranslitEngRus.js -транслитерация латиница->кириллица.
KeybTranslitRusEng.js -транслитерация кириллица->латиница.
Re: Транскодировка
Posted: Sun Sep 07, 2008 8:56 am
by tt_ari
DV wrote:А каким вы видите формат внешнего файла перекодировки? Что-то типа
Ф=F
З=Z
Ш=SH
...
ф=f
з=z
ш=sh
...
Хороший бесплатный набор 4TEA
http://soft.softodrom.ru/ap/p3521.shtml
но его можно использовать не только для текстового редактора TEA:)
Posted: Sun Apr 24, 2011 4:52 pm
by Instructor
Архив
Scripts плагина теперь включает в себя
Keyboard.js (который объединил KeybLayoutEngRus.js, KeybLayoutRusEng.js, KeybTranslitRusEng.js, KeybTranslitEngRus.js).