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

МПМ Былины - Мир Древней Руси (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. Глюки Мудлета - это квадратики в третьей строке, после слова "Листать")

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


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

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