Транскодировка
- Author
- Message
-
Offline
- Posts: 14
- Joined: Wed Sep 13, 2006 7:56 am
Транскодировка
Возможно сделать плагин для транскодировки текста: руский текст переводить в латиницу и обратно?
-
Offline
- Posts: 14
- Joined: Wed Sep 13, 2006 7:56 am
Re: Транскодировка
Ну может кто-нибудь сделает, буду очень признателен!!!
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Re: Транскодировка
Ну, я бы мог сделать, но ничего не могу сказать о сроках. В данный момент у меня "в очереди" ("в стеке") уже несколько других вещей.Pred_2000 wrote:Ну может кто-нибудь сделает, буду очень признателен!!!
Кстати, IMHO, товарища Hader следует заблокировать навсегда. Шоб неповадно было.
-
Offline
- Posts: 14
- Joined: Wed Sep 13, 2006 7:56 am
Re: Транскодировка
[quote="DV"][Ну, я бы мог сделать, но ничего не могу сказать о сроках. [quote]
Большое спасибо, что откликнулись, буду ждать...
Большое спасибо, что откликнулись, буду ждать...
-
Offline
- Posts: 14
- Joined: Wed Sep 13, 2006 7:56 am
Re: Транскодировка
Можно узнать, когда ожидать плагин, или не стоит надеяться?DV wrote:[Ну, я бы мог сделать, но ничего не могу сказать о сроках.
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Re: Транскодировка
Я и сам уже думал над этим вопросом... Последних пару месяцев катастрофически не хватает времени. В начале этой недели (или это было уже на прошлой?) почти доделал проверку типа файла в плагине AkelBrackets, а вот закончить некогда...Pred_2000 wrote:Можно узнать, когда ожидать плагин, или не стоит надеяться?
Идея транскодировки весьма интересная, в любом случае надо будет разработать независимый класс для этих целей, но ничего не могу сказать о сроках... А каким вы видите формат внешнего файла перекодировки? Что-то типа
Ф=F
З=Z
Ш=SH
...
ф=f
з=z
ш=sh
...
в обычном текстовом формате? Или лучше в Юникоде?
Или лучше использовать 16-ричные символы? Типа такого:
'Ф'=0x46 // 'F'
0xC7='Z' // то есть 'З'='Z'
0xD8=0x53 0x48 // то есть 'Ш'="SH"
??
-
Offline
- Posts: 14
- Joined: Wed Sep 13, 2006 7:56 am
Re: Транскодировка
Наверно было бы лучше в обыкновенном текстовом формате, чтобы можно было поправить таблицу... У людей разные мнения о том какие буквы на какие должны заменяться!!!DV wrote: А каким вы видите формат внешнего файла перекодировки? Что-то типа
Ф=F
З=Z
Ш=SH
...
ф=f
з=z
ш=sh
...
в обычном текстовом формате?
Можно и так, смотрите как проще, так и делайте! Главное чтобы места в оперативке поменьше занимал и работал!!!!DV wrote: Или лучше использовать 16-ричные символы? Типа такого:
'Ф'=0x46 // 'F'
0xC7='Z' // то есть 'З'='Z'
0xD8=0x53 0x48 // то есть 'Ш'="SH"
За ранее благодарен!
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Re: Транскодировка
Работа над базовой функциональностью начата. Списки пар перекодировок думаю хранить в списках строк типа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'. Пока что я не знаю, как это лучше реализовать.
-
Offline
- Posts: 14
- Joined: Sat Mar 17, 2007 7:45 pm
В одном чате видел:
При переводе строки из русской раскладки в английскую проводится сравнивание начала строки например со строкой "реезЖ..", если сошлось - заменяется на "http://". В противном случае сравнивается с "р", если сошлось меняется на "h". И так далее. Главный принцып сравнивать сначала самые длинные слова, а в конце короткие.
При переводе строки из русской раскладки в английскую проводится сравнивание начала строки например со строкой "реезЖ..", если сошлось - заменяется на "http://". В противном случае сравнивается с "р", если сошлось меняется на "h". И так далее. Главный принцып сравнивать сначала самые длинные слова, а в конце короткие.
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
В виду внешних обстоятельств свободного времени у меня теперь еще меньше, чем было Так что, если кто-то чувствует в себе силы заняться вопросом транскодировки, я могу поделиться своими соображениями по этому поводу и выслать исходники (несколько базовых классов), если надо. Сам же я не могу обещать, что что-то будет сделано в течение ближайших нескольких месяцев. Тем более что в отпуск я смогу выйти не раньше октября.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
С версии 2.6 архив Scripts плагина включает в себя:
KeybLayoutEngRus.js -конвертировать раскладку En->Ru.
KeybLayoutRusEng.js -конвертировать раскладку Ru->En.
KeybTranslitEngRus.js -транслитерация латиница->кириллица.
KeybTranslitRusEng.js -транслитерация кириллица->латиница.
KeybLayoutEngRus.js -конвертировать раскладку En->Ru.
KeybLayoutRusEng.js -конвертировать раскладку Ru->En.
KeybTranslitEngRus.js -транслитерация латиница->кириллица.
KeybTranslitRusEng.js -транслитерация кириллица->латиница.
-
Offline
- Posts: 3
- Joined: Sun Sep 07, 2008 7:34 am
Re: Транскодировка
Хороший бесплатный набор 4TEADV wrote:А каким вы видите формат внешнего файла перекодировки? Что-то типа
Ф=F
З=Z
Ш=SH
...
ф=f
з=z
ш=sh
...
http://soft.softodrom.ru/ap/p3521.shtml
но его можно использовать не только для текстового редактора TEA:)
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Архив Scripts плагина теперь включает в себя Keyboard.js (который объединил KeybLayoutEngRus.js, KeybLayoutRusEng.js, KeybTranslitRusEng.js, KeybTranslitEngRus.js).