Перейти к содержанию
BioWare Russian Community
Авторизация  
KuraiNeko

DLGEditor

Рекомендуемые сообщения

(изменено)

Народ есть желание собрать эдитор с поддержкой русской локали, вернее даже необходимые изменения в код для 232 внес. Единственное что волнует сейчас, дак это несколько неуменее работать с перлом как таковым.

Нужны следующие модули для перла:

GFF.pm (Bioware::GFF 0.65)

TLK.pm (Bioware::TLK 0.02)

Tk.pm

DragDrop.pm

DropSite.pm

ItemStyle.pm

LabEntry.pm

DialogBox.pm

BrowseEntry.pm

ROText.pm

Adjuster.pm

String.pm

FileOp.pm

TieRegistry.pm

Ini.pm

MRU.pm

К модулям тлк и гфф указал версию, на всякий пожарный ибо она была изначально указана у тк102.

Ну и необходима небольшая инструкция по подключению модулей к перлу.

Так что если кто сможет дать пак оных и объяснит как подрубить модули, то попробую собрать тулзу с поддержкой локали для свободной работы с ру версией.

Тем более что TSL RCM готов + перагус фикс внесли много анг изменений а на ному еще M4-78 и генохронодане.

Изменено пользователем KuraiNeko

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сразу видно у русского комьюнити достаточно большое желание работать с родным языком)

Добыл необходимые модули, подключил.

Осталось ежкин кот 3 дллки, незнаю как это сделать, нужны люди работавшие с перл)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если тема не оживёт в срочном порядке, через пару дней зактрою.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ой да оживить, это не вопрос.

Внес некоторые изменения в исходный код, когда пробовал создать свой вариант с поддержкой русской локали.

--use Unicode::String qw(utf8);--       $stringed_animlist='';       for my $item ($animation_list_current->get(0,'end')) {         $stringed_animlist.="~~$item";       }       if ($txtStrRef_var==-1) {           my $us=Unicode::String->new($txtText1->get('1.0','end'));           $txtText_var=$us->utf8;       }       else {           my $us=Unicode::String->new($txtText2->get('1.0','end'));           $txtText_var=$us->utf8;       }       chomp $txtText_var;----       if ($txtStrRef_var==-1) {           my $us=Unicode::String->new($txtText1->get('1.0','end'));           my $new_text=$us->utf8;           #my $new_text=Unicode::String::utf8($txtText1->get('1.0','end'));           #$new_text =~ s/\000//;           chomp $new_text;----

Толку от этого при сборке так и не прибавилось, изначально русская локаль не понимается даже в поиске пути, хоть и завожу по утф 8.

Вот кстати перл модули необходимые:

KotOR_PM.rar

Ну это уникальные для котора как такового, остальное докачивается через CPAN

KotOR_PM.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смысла просто не видел выкладывать все эти недоидеи в тему ибо они незачем. 

Локаль подключить стандартными средствами не удалось. И непойми в какую область копать.

А перл интересующихся кто чтонить сказал бы в теме не увидал)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
(изменено)

Вот примерно это и происходит, толку от того что модули в теме - ноль, равно как скажем если я сделаю так:

dlgeditor_232_ru.rar

Давайте, делимся идеями, незнаю, думаем. И самое главное интерпритатор перл актив стейт перл дев кит 8.2.1:292072 нужен кряк.

Тут есть ктонить работающий с Идой?)

Или с перлом на худой конец.

dlgeditor_232_ru.rar

Изменено пользователем KuraiNeko

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На данный момент получилось сделать примерно следующее:

post-19883-018311600 1277898437_thumb.jp

post-19883-018311600 1277898437_thumb.jp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А всё-таки я бы дроида-убийцу заменил на дроида-ассасина... Солиднее звучит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я вообще про тулзу скриню. DLG editor позволяет редактить удобненько внутриигровые диалоги, в результате чего можно русифицировать ремтор или улика перагус фикс. Или ту часть перагуса на которую госпожа Ксенон говорила - что файлы игры не поддерживают русский язык.

Да мало того, можно было бы сделать хороший руссификатор с разделением по половым признакам текстов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или это никому на буй не уперлось или почему еще народ молчит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
(изменено)

Я бы помог чем-нибудь, но сейчас занят переводом одной не менее популярной игрушки на нормальный русский (а не надмозг-стайл, в который люди играли лет наверное 5   :blink:   =@ ), и работы там еще море...

Хотя если надо что-то найти, то может и могу помочь..

Изменено пользователем Drazgar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я только за... Даже больше, мечта в голубых облачках - Объединённые в один инсталек Xenon patch, USM, RCM, М4-78 и т. д. с идеальной оптимизацией и переводом. Только вот:

1) Я вот не так уж хорошо говорю на пиндостанском. Максимум могу помочь со стилизацией текста как ценитель вселенной ЗВ.

2) А скрипты я писать вообще не умею...

Ну, а попробовать себя как голосового актёра я давно хотел, но, увы, никому это на фиг не надо... А жаль.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
(изменено)

Ну это уж куда-то совсем в дали дальние Вас понесло.

Текущие изменения в коде позволили с помощью интерпритатора собрать экзешник который распознает ру текст.

use encoding 'cp1251', STDOUT => 'koi8-r';----------------        }        if ($txtStrRef_var==-1) {            my $us=Unicode::String->new($txtText1->get('1.0','end'));            $txtText_var=$us->latin1;        }        else {            my $us=encoding->new($txtText2->get('1.0','end'));            $txtText_var=$us->cp1251; 

Однако дальнейшая часть оного остается вне системы и вносить изменения не получается,

Читать пока можем, записывать и править свое - нет

Думаю копать надо тут, а если быть серьезнее то тупо подключать энкод

        if ($txtStrRef_var==-1) {            my $us=Unicode::String->new($txtText1->get('1.0','end'));            my $new_text=$us->utf8;            #my $new_text=Unicode::String::utf8($txtText1->get('1.0','end'));            #$new_text =~ s/\000//;            chomp $new_text;
Изменено пользователем KuraiNeko

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А прописывается ли там где-нибудь диапазон кодировки? 

Как правило, если в данный момент там сейчас прописывается английский язык, то бишь латиница (ANSI-1252), то диапазон сейчас должен быть "0x0000, 0x007F" (это диапазон Basic Latin, который используется во многих играх). А для русского языка нам нужен диапазон кириллицы (ее номер, 1251, у вас там уже прописан), а в юникоде он за номером "0x0400, 0x04FF". 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задавал ручками и сейчас думаю, что зря немножко)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Просто есть риск, что даже если и можно так прописывать диапазон, то в сам движок (может быть где-то в DLL'ках), может ставиться присадка неизвестного типа, которая может блокировать подобные попытки, в итоге вообще текста не будет. В одной такой игрушке (на движке сурс, который сам изначально всякие разные кириллицы поддерживает) стояло ограничение, которое формально давало использовать что угодно, НО не позволяло использовать более 128 символов из любой таблицы. А поскольку русские буковки ни в одной шрифтовке первичными не являются технически и стоят в конце, перед всякими значками, цыфрами, и abcdef... вам лучше не знать, на какое извращенство пришлось пойти, чтобы "обойти" это ограничение..)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока мой предел на сегодня оказалось несколько в еще более простом варианте чем предпологалось.

Стабильно, можно читать что коннектит, понимать но не вносить изменения на русском пока)

dlgeditor_232_src.rar

dlgeditor_232_src.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, я тут еще одну утилитку случайно нашел. Не знаю правда есть от нее какой то толк, но она позволяет добавлять поддержку других языков в файлы .utc, .uti, .dlg и .mod, но пока есть только языки английский, французский, итальянский, простой китайский (!), традиционный китайский (китаезы ликуют),  польский, испанский, японский и корейский. Я думаю, если как то в програмку "вшить" еще и русский... может что-то выйдет.

dlgconv_11.rar

dlgconv_11.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сразу встает несколько вопросов в поиске:

Bioware::ERF

А разбирать думаю этот участок кода:

my @chkcaptions=('English', 'Espaсol', 'Franзais', 'Deutsch','Italiano','Polski', 'Simplified Chinese','Traditional Chinese', 'Korean','Japanese');my @chknames=('chkEnglish','chkSpanish', 'chkFrench','chkGerman', 'chkItalian','chkPolish', 'chkChineseSimplified','chkChineseTraditional','chkKorean','chkJapanese');for (my $i=0; $i<scalar @chkcaptions; $i++) {   Win32::GUI::Checkbox->new(                             -parent=>$mw->fraLanguages,                             -caption=>$chkcaptions[$i],                             -height=>195/15,                             -left=>(($i % 2) ? 2025/15 : 315/15),                             -width=>1680/15,                             -top=>(315+((($i-($i % 2))/2)*270))/15,                             -name=>$chknames[$i],                            );}$mw->AddLabel(     -caption         =>   "Output Folder",     -height          =>   195/15,     -left            =>   225/15,     -top             =>   3870/15,     -width           =>   960/15            );$mw->AddTextfield (     -height          =>   330/15,     -left            =>   225/15,     -top             =>   4095/15,     -width           =>   3885/15,     -name=>'txtOutputPath'                 );$mw->AddListbox(     -height          =>   1425/15,     -left            =>   225/15,     -top             =>   585/15,     -width           =>   6450/15,     -multisel        =>   2,     -addstyle =>  WS_VSCROLL,     -name=>'lstFiles');$mw->AddLabel(     -caption         =>   "List of Files to Convert  (.dlg, .utc, .uti, .mod)",     -height          =>   195/15,     -left            =>   270/15,     -top             =>   270/15,     -width           =>   3090/15,            );$mw->fraLanguages->{'chkEnglish'}->Change(-checked=>1);

This tool will not translate the game. It will only allow you to see custom dialogue in the original instead of a black screen when you use another language version.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

This tool will not translate the game. It will only allow you to see custom dialogue in the original instead of a black screen when you use another language version.

Хм, ну значит 100% не подойдет? Я просто думал что имелось ввиду, что таким образом прописанный на другом языке в игровых ресурсах текст сможет поддерживаться.. ну чтож.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думаю тыкнуться к обсидианам на форум, поговорить за их структуру, модель файлов.

Может что полезного скажут. 

Просто пока слишком геморно переписывать длг эдитор при учете, что активстейт перл еще неактивирован)))

На самом деле при текущем варианте вижу только 1ну возможность для реализации недостающих диалогов да еще и на русском. Это через dialog.tlk

Ибо в оном присутствует очень много пустых значений ( строк) равно как и строк из первого котора, на данный момент можно прописывать на русязе туда недостающий текст а потом через эдитор модифицированный присваивать значение с -1 строки на ту - в которую мы все это запихнули в тлк.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ув. KuraiNeko, если с технической стороны вы поможете мне, сделаю адаптацию русификатора под TSLRCM !

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
(изменено)

 Там я думаю многие вещи вообще надо будет переписать... в отличие от первого котора, в русификации для второго хламота сплошная местами, и смешные ошибки в простых словах, и вообще... надо будет организованно перефильтровать всю работу, а лучше вообще с нуля написать, все таки очень сыро было местами.. 

Изменено пользователем Drazgar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да не вопрос)) Я с нуля как раз начал переводить)) Так, что никаких ляпов, быть не должно! Но не рассчитывайте, что я за неделю справлюсь)) Буду вылизывать перевод, чтобы как официальная локализация была))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...