Mudlet 4.0 на русском
Здравствуйте!
Я один из разработчиков Mudlet, и мы стремимся к тому, чтобы Mudlet 4.0 работал с русским. Я хотел бы предложить всем поделиться своим опытом с переведенным программным обеспечением, списками пожеланий для Mudlet и откликами на предложенную «дорожную карту» на наших форумах. Если вы уже работали над добавлением поддержки i18n в Mudlet, присоединяйтесь к нам в Github, чтобы присоединиться к нашим усилиям ;) С уважением Вадим |
Скачал исходники Мудлета отсюда https://github.com/Mudlet/Mudlet
Попробовал собрать в среде Ubuntu 16.10 x86_64 Выполнял инструкции из файла COMPILE, в частности, установил Qt5 с их сайта Не собирается, такое впечатление, что исходник ищет файлы, которых нет в Qt5, но которые есть в Qt4 Вот эти ui_main_window.h: #include <QtGui/QAction> #include <QtGui/QApplication> #include <QtGui/QButtonGroup> #include <QtGui/QHeaderView> #include <QtGui/QMainWindow> #include <QtGui/QMdiArea> #include <QtGui/QMenu> #include <QtGui/QMenuBar> #include <QtGui/QVBoxLayout> #include <QtGui/QWidget> Или я что-то не так делаю, что вероятнее |
Привет! Попробуй http://wiki.mudlet.org/w/Compiling_M...n_Ubuntu_16.04 - работает?
|
Получилось
Полученный mudlet отправляет кириллицу нормально (тестовые кириллические команды в кодировке UTF-8 в моем маде работают). Но не показывает кириллицу, рисует квадратики Кто-то уже нашел, как устранить эту проблему, или надо искать в коде, где режется старший бит (или что-то аналогичное) Вот скриншот https://gyazo.com/cc5e5a3d91fbe6913325329e4b765be9 |
Вот почему "стремимся" :) возьми https://github.com/Mudlet/Mudlet/pull/969, там есть начало того - a тут карта разработки.
|
Мудлет из пулла 969 собрался и ведет себя именно так, как на твоих скриншотах: показывает UTF-8 кириллицу, но не всегда, причем почему, пока не понятно
|
Помоги разяснить почему! Я тоже с етой проблемой столкнулся, но при расследовании мы нашли неверный utf-8.
|
SlySven сделал новую версию, уже без этих глюков:
https://github.com/SlySven/Mudlet/tr...extTranscoding Я думаю, обязательно нужно добавить в кодировку koi8-r |
https://github.com/SlySven/Mudlet/tr...extTranscoding ето и тоже самое https://github.com/Mudlet/Mudlet/pull/969!
Почему так думаешь об koi8-r? |
Я имею ввиду эту версию https://github.com/SlySven/Mudlet/co...c27e3c95bd09b6
Это последняя (2 дня назад) версия с тегом Enhance_addTextTranscoding Там переделан код перекодировки (зачем, я не понял, наверное для исправления ошибок). И эта версия уже почти нормально работает с UTF-8. Минимум глюков обнаруживается при смене цвета esc-последовательностями, и то не всегда. Там же нормально работает кириллица в кодировках WINDOWS-1251 и koi8-r. Там даже реализована старая кодировка кириллицы - CP866 А почему я агитировал за koi-8r? Потому что UTF, хоть и является стандартом де-факто, реализовано не во всех русских мадах. А koi, как и 1251 есть везде. Но у кодировки 1251 есть проблема с маленькой буквой я, код которой ff совпадает со служебным кодом протокола telnet. А у koi этой проблемы нет |
Цитата:
|
Цитата:
|
У меня есть подозрение, что протокол telnet не дружит с кодировкой UTF-8 из-за того, что код 0xFF, присуствующий в UTF, интерпретируется телнетом как команда.
Вот эта версия https://github.com/SlySven/Mudlet/co...c27e3c95bd09b6 работает практически идеально, глюков не наблюдается Вот скриншот https://gyazo.com/bbb64b7b91aaa8dabe1ce3391f1d8333 Я тестирую сборку Mudlet в Ubuntu, может Windows версии ведут себя по другому? * * * Уточните, пожалуйста, какую именно версию Mudlet и в каких условиях надо протестировать? |
Да нет, я на убунте тоже, на Windows пока сильно так не тестировали даже.
Mudlet с https://github.com/Mudlet/Mudlet/pull/969 на всех русских мадах, с разными кодировками, пожалуйста! |
Я не почему надо тестировать именно эту версию (как я уже выше писал, в форке у SlySven есть другая ветка, там больше кодировок и почти нет глюков)
Но раз надо, то вот: В пулле номер 969 в меню только две кодировки - UTF-8 и WINDOWS-1251. Кодировка 1251 не работает из-за ошибки (опечатки) в коде: else if (mpHost->mTelnet.getEncoding() == QLatin1String("WINDOWS-1250")) { mMudLine.append(QString(decodeByteToWindows_1250(c h))); } else if (mpHost->mTelnet.getEncoding() == QLatin1String("WINDOWS-1251")) { mMudLine.append(QString(decodeByteToWindows_1250(c h))); А кодировка UTF-8 в целом работает, но иногда дает вот такие глюки https://gyazo.com/b3cfd3fcff96ae83aa860801e021335c (на линии на экране не смотри, это глюки моего gyazo. Глюки Мудлета - это квадратики в третьей строке, после слова "Листать") Причем эти квадратики на этом месте появляются не всегда. Если листать помощь, просматривая каждую страницу помощи один раз, глюки не появляются. А если первую страницу просмотреть пару раз, глюки появляются. Почему - непонятно |
Привет! У него только одна ветка, 969 етот тотже Enhance_addTextTranscoding :) он просто добавляет туда коммиты.
Смотри на https://github.com/Mudlet/Mudlet/pull/969/files - ошибки там больше нету. Вот об етих и глюках я и говорю всё: не понятно ети мад или mudlet ошибочна. Ето случается на других мадах? |
Я скачал последний коммит из ветки Enhance_addTextTranscoding командой
git checkout Enhance_addTextTranscoding В этой версии реализовано много кодировок, в частности, UTF-8, WINDOWS-1251, KOI8-R, KOI8-U, CP866 Я потестировал Мудлет на двух разных мадах. В кодировках 1251, koi8, 866 глюков нет. А в кодировке UTF-8 глюки иногда появляются, но редко, чаще всего в том месте, где переключается цвет. На одном и том же месте глюк может быть, а может и не быть Я приложил скриншоты http://mud.kharkov.org/pic/mudlet/1/ Обрати внимание: внизу экрана иногда появляется буква m, это скорее всего кусок esc-sequence вроде \x1b[30m Первые два скриншота от моего мада на базе кода "Былин" Третий скриншот - частично русифицированный мад на базе библиотеки DeadSouls Глюки есть в обоих мадах, значит, это что-то в коде Мудлета, в подпрограмме перекодировки с UTF-8 |
Ага - спасибо за расследование! Посмотрим!
|
Сможешь записать replay с багом? Ето касетта внизу-справа на главном екране.
|
Очень-очень странно. Дома мне не удалось повторить баг с мадами на базе кода "Былин". Я ношу с собой ноутбук, так что условия входа в мад были теми же самыми. Только Интернет-соединение другое, но может ли это влиять?
Но мне удалось повторить баг в маде на базе библиотеки DeathSouls Это тестовый мад, который я русифицирую. telnet mud.kharkov.org 6666 Вот запись http://mud.kharkov.org/pic/mudlet/1/...2320-37-30.dat |
Спасибо! Попробуй сейчас (git pull)?
|
То же самое. При включенной кодировке UTF-8 иногда (редко) проявляются глюки, заключающиеся в появлении одной или двух букв m в конце строки или в том месте, где переключается цвет
|
ОК, прошлую запись починили: https://cloud.githubusercontent.com/...fe015edc61.png можешь достать новую с проблемой?
|
@prool ^ ?
|
Sorry, я тут немного отвлекся на сетевые проблемы.
Так вот, русификация клиента Mudlet почти идеальна. В кодировках koi8-r, cp866, windows1251 проблем не замечено. А глюки с UTF-8 проявляются очень редко. Пока мне удалось повторить глюки только в маде "Былины": если несколько раз поряд просматривать ПОМОЩЬ НОВИЧОК, то примерно 1 раз из пяти появится лишняя буква m в конце таблицы с текстом Других глюков я пока не обнаружил |
И такие же глюки появилятся иногда в Ancestry MUD при хождении из комнаты в комнату: по коридору с запада на восток и обратно, и с какой то долей вероятности появляется эта буква m
|
ОК - можешь запись достать, пожалуйста? Нам с ней намного легче работать.
|
Вот запись глюка, наблюдаемого в AncestryMUD (mud.kharkov.org:6666)
http://mud.kharkov.org/pic/mudlet/2/ Но вот что интересно: на экране лишние буквы m были, а в логе их не видно Предполагаю, что это из-за некорректной обработки ansi esc sequences |
Думаем проблема была в переносе utf-8 символов на разные сетевые пакеты. Исправили, попробуй опять!
|
Обновил исходники. Пересобрал. Потестировал.
Похоже, что ошибки пропали, повторить их на тех же местах, где они проявлялись ранее, не удалось Всё OK |
Отлично, спасибо!
|
Часовой пояс GMT +4, время: 04:34. |
Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot