МПМ Былины - Мир Древней Руси

МПМ Былины - Мир Древней Руси (https://www.bylins.su/vbb/index.php)
-   Клиенты для игры (https://www.bylins.su/vbb/forumdisplay.php?f=52)
-   -   Mudlet 4.0 на русском (https://www.bylins.su/vbb/showthread.php?t=4407)

Вадис 12.04.2017 11:20

Mudlet 4.0 на русском
 
Здравствуйте!

Я один из разработчиков Mudlet, и мы стремимся к тому, чтобы Mudlet 4.0 работал с русским. Я хотел бы предложить всем поделиться своим опытом с переведенным программным обеспечением, списками пожеланий для Mudlet и откликами на предложенную «дорожную карту» на наших форумах. Если вы уже работали над добавлением поддержки i18n в Mudlet, присоединяйтесь к нам в Github, чтобы присоединиться к нашим усилиям ;)

С уважением
Вадим

prool 07.05.2017 15:52

Скачал исходники Мудлета отсюда 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>

Или я что-то не так делаю, что вероятнее

Вадис 08.05.2017 11:28

Привет! Попробуй http://wiki.mudlet.org/w/Compiling_M...n_Ubuntu_16.04 - работает?

prool 08.05.2017 12:33

Получилось

Полученный mudlet отправляет кириллицу нормально (тестовые кириллические команды в кодировке UTF-8 в моем маде работают). Но не показывает кириллицу, рисует квадратики

Кто-то уже нашел, как устранить эту проблему, или надо искать в коде, где режется старший бит (или что-то аналогичное)

Вот скриншот https://gyazo.com/cc5e5a3d91fbe6913325329e4b765be9

Вадис 08.05.2017 14:18

Вот почему "стремимся" :) возьми https://github.com/Mudlet/Mudlet/pull/969, там есть начало того - a тут карта разработки.

prool 10.05.2017 12:16

Мудлет из пулла 969 собрался и ведет себя именно так, как на твоих скриншотах: показывает UTF-8 кириллицу, но не всегда, причем почему, пока не понятно

Вадис 10.05.2017 16:34

Помоги разяснить почему! Я тоже с етой проблемой столкнулся, но при расследовании мы нашли неверный utf-8.

prool 10.05.2017 22:12

SlySven сделал новую версию, уже без этих глюков:

https://github.com/SlySven/Mudlet/tr...extTranscoding

Я думаю, обязательно нужно добавить в кодировку koi8-r

Вадис 11.05.2017 11:00

https://github.com/SlySven/Mudlet/tr...extTranscoding ето и тоже самое https://github.com/Mudlet/Mudlet/pull/969!

Почему так думаешь об koi8-r?

prool 11.05.2017 12:46

Я имею ввиду эту версию 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 этой проблемы нет

Вадис 11.05.2017 15:20

Цитата:

Сообщение от prool (Сообщение 62287)
Я думаю, обязательно нужно добавить в кодировку koi8-r

А, ок, KOI8-R там уже есть - надо что-то менять?

Вадис 11.05.2017 15:26

Цитата:

Сообщение от prool (Сообщение 62289)
Там переделан код перекодировки (зачем, я не понял, наверное для исправления ошибок). И эта версия уже почти нормально работает с UTF-8. Минимум глюков обнаруживается при смене цвета esc-последовательностями, и то не всегда.

Нам тут непонятно ести текст с мада проблематичный или нет когда ети глюки происходят: https://gitter.im/Mudlet/Mudlet?at=5...c00c092adf30d1 (могу перевести если хочешь)

prool 11.05.2017 23:14

У меня есть подозрение, что протокол telnet не дружит с кодировкой UTF-8 из-за того, что код 0xFF, присуствующий в UTF, интерпретируется телнетом как команда.

Вот эта версия https://github.com/SlySven/Mudlet/co...c27e3c95bd09b6 работает практически идеально, глюков не наблюдается

Вот скриншот https://gyazo.com/bbb64b7b91aaa8dabe1ce3391f1d8333

Я тестирую сборку Mudlet в Ubuntu, может Windows версии ведут себя по другому?

* * *

Уточните, пожалуйста, какую именно версию Mudlet и в каких условиях надо протестировать?

Вадис 12.05.2017 06:38

Да нет, я на убунте тоже, на Windows пока сильно так не тестировали даже.

Mudlet с https://github.com/Mudlet/Mudlet/pull/969 на всех русских мадах, с разными кодировками, пожалуйста!

prool 12.05.2017 13:19

Я не почему надо тестировать именно эту версию (как я уже выше писал, в форке у 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. Глюки Мудлета - это квадратики в третьей строке, после слова "Листать")

Причем эти квадратики на этом месте появляются не всегда. Если листать помощь, просматривая каждую страницу помощи один раз, глюки не появляются. А если первую страницу просмотреть пару раз, глюки появляются. Почему - непонятно

Вадис 13.05.2017 13:15

Привет! У него только одна ветка, 969 етот тотже Enhance_addTextTranscoding :) он просто добавляет туда коммиты.

Смотри на https://github.com/Mudlet/Mudlet/pull/969/files - ошибки там больше нету.

Вот об етих и глюках я и говорю всё: не понятно ети мад или mudlet ошибочна. Ето случается на других мадах?

prool 13.05.2017 20:01

Я скачал последний коммит из ветки 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

Вадис 13.05.2017 20:07

Ага - спасибо за расследование! Посмотрим!

Вадис 13.05.2017 20:08

Сможешь записать replay с багом? Ето касетта внизу-справа на главном екране.

prool 13.05.2017 21:45

Очень-очень странно. Дома мне не удалось повторить баг с мадами на базе кода "Былин". Я ношу с собой ноутбук, так что условия входа в мад были теми же самыми. Только Интернет-соединение другое, но может ли это влиять?

Но мне удалось повторить баг в маде на базе библиотеки DeathSouls

Это тестовый мад, который я русифицирую. telnet mud.kharkov.org 6666

Вот запись

http://mud.kharkov.org/pic/mudlet/1/...2320-37-30.dat

Вадис 14.05.2017 12:00

Спасибо! Попробуй сейчас (git pull)?

prool 14.05.2017 15:24

То же самое. При включенной кодировке UTF-8 иногда (редко) проявляются глюки, заключающиеся в появлении одной или двух букв m в конце строки или в том месте, где переключается цвет

Вадис 14.05.2017 17:48

ОК, прошлую запись починили: https://cloud.githubusercontent.com/...fe015edc61.png можешь достать новую с проблемой?

Вадис 18.05.2017 16:03

@prool ^ ?

prool 19.05.2017 15:59

Sorry, я тут немного отвлекся на сетевые проблемы.

Так вот, русификация клиента Mudlet почти идеальна. В кодировках koi8-r, cp866, windows1251 проблем не замечено.

А глюки с UTF-8 проявляются очень редко. Пока мне удалось повторить глюки только в маде "Былины": если несколько раз поряд просматривать ПОМОЩЬ НОВИЧОК, то примерно 1 раз из пяти появится лишняя буква m в конце таблицы с текстом

Других глюков я пока не обнаружил

prool 19.05.2017 16:03

И такие же глюки появилятся иногда в Ancestry MUD при хождении из комнаты в комнату: по коридору с запада на восток и обратно, и с какой то долей вероятности появляется эта буква m

Вадис 19.05.2017 16:06

ОК - можешь запись достать, пожалуйста? Нам с ней намного легче работать.

prool 19.05.2017 17:28

Вот запись глюка, наблюдаемого в AncestryMUD (mud.kharkov.org:6666)

http://mud.kharkov.org/pic/mudlet/2/

Но вот что интересно: на экране лишние буквы m были, а в логе их не видно

Предполагаю, что это из-за некорректной обработки ansi esc sequences

Вадис 22.05.2017 09:05

Думаем проблема была в переносе utf-8 символов на разные сетевые пакеты. Исправили, попробуй опять!

prool 22.05.2017 15:14

Обновил исходники. Пересобрал. Потестировал.

Похоже, что ошибки пропали, повторить их на тех же местах, где они проявлялись ранее, не удалось

Всё OK

Вадис 22.05.2017 15:15

Отлично, спасибо!


Часовой пояс GMT +4, время: 09:53.

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot