KuraiNeko 35 21 апреля, 2010 (изменено) Народ есть желание собрать эдитор с поддержкой русской локали, вернее даже необходимые изменения в код для 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 и генохронодане. Изменено 21 апреля, 2010 пользователем KuraiNeko 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KuraiNeko 35 28 апреля, 2010 Сразу видно у русского комьюнити достаточно большое желание работать с родным языком) Добыл необходимые модули, подключил. Осталось ежкин кот 3 дллки, незнаю как это сделать, нужны люди работавшие с перл) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Xenon 173 22 июня, 2010 Если тема не оживёт в срочном порядке, через пару дней зактрою. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KuraiNeko 35 26 июня, 2010 Ой да оживить, это не вопрос. Внес некоторые изменения в исходный код, когда пробовал создать свой вариант с поддержкой русской локали. --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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KuraiNeko 35 27 июня, 2010 Смысла просто не видел выкладывать все эти недоидеи в тему ибо они незачем. Локаль подключить стандартными средствами не удалось. И непойми в какую область копать. А перл интересующихся кто чтонить сказал бы в теме не увидал) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KuraiNeko 35 28 июня, 2010 (изменено) Вот примерно это и происходит, толку от того что модули в теме - ноль, равно как скажем если я сделаю так: dlgeditor_232_ru.rar Давайте, делимся идеями, незнаю, думаем. И самое главное интерпритатор перл актив стейт перл дев кит 8.2.1:292072 нужен кряк. Тут есть ктонить работающий с Идой?) Или с перлом на худой конец. dlgeditor_232_ru.rar Изменено 28 июня, 2010 пользователем KuraiNeko Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KuraiNeko 35 30 июня, 2010 Думаю рыть надо в этом направлении и подключать как таковой энкод: http://perldoc.perl.org/Encode.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KuraiNeko 35 30 июня, 2010 На данный момент получилось сделать примерно следующее: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Илериан 4 30 июня, 2010 А всё-таки я бы дроида-убийцу заменил на дроида-ассасина... Солиднее звучит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KuraiNeko 35 30 июня, 2010 Я вообще про тулзу скриню. DLG editor позволяет редактить удобненько внутриигровые диалоги, в результате чего можно русифицировать ремтор или улика перагус фикс. Или ту часть перагуса на которую госпожа Ксенон говорила - что файлы игры не поддерживают русский язык. Да мало того, можно было бы сделать хороший руссификатор с разделением по половым признакам текстов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KuraiNeko 35 30 июня, 2010 Или это никому на буй не уперлось или почему еще народ молчит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Drazgar 370 30 июня, 2010 (изменено) Я бы помог чем-нибудь, но сейчас занят переводом одной не менее популярной игрушки на нормальный русский (а не надмозг-стайл, в который люди играли лет наверное 5 :blink: ), и работы там еще море... Хотя если надо что-то найти, то может и могу помочь.. Изменено 30 июня, 2010 пользователем Drazgar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Илериан 4 30 июня, 2010 Я только за... Даже больше, мечта в голубых облачках - Объединённые в один инсталек Xenon patch, USM, RCM, М4-78 и т. д. с идеальной оптимизацией и переводом. Только вот: 1) Я вот не так уж хорошо говорю на пиндостанском. Максимум могу помочь со стилизацией текста как ценитель вселенной ЗВ. 2) А скрипты я писать вообще не умею... Ну, а попробовать себя как голосового актёра я давно хотел, но, увы, никому это на фиг не надо... А жаль. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KuraiNeko 35 30 июня, 2010 (изменено) Ну это уж куда-то совсем в дали дальние Вас понесло. Текущие изменения в коде позволили с помощью интерпритатора собрать экзешник который распознает ру текст. 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; Изменено 30 июня, 2010 пользователем KuraiNeko Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Drazgar 370 30 июня, 2010 А прописывается ли там где-нибудь диапазон кодировки? Как правило, если в данный момент там сейчас прописывается английский язык, то бишь латиница (ANSI-1252), то диапазон сейчас должен быть "0x0000, 0x007F" (это диапазон Basic Latin, который используется во многих играх). А для русского языка нам нужен диапазон кириллицы (ее номер, 1251, у вас там уже прописан), а в юникоде он за номером "0x0400, 0x04FF". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KuraiNeko 35 30 июня, 2010 Задавал ручками и сейчас думаю, что зря немножко) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Drazgar 370 30 июня, 2010 Просто есть риск, что даже если и можно так прописывать диапазон, то в сам движок (может быть где-то в DLL'ках), может ставиться присадка неизвестного типа, которая может блокировать подобные попытки, в итоге вообще текста не будет. В одной такой игрушке (на движке сурс, который сам изначально всякие разные кириллицы поддерживает) стояло ограничение, которое формально давало использовать что угодно, НО не позволяло использовать более 128 символов из любой таблицы. А поскольку русские буковки ни в одной шрифтовке первичными не являются технически и стоят в конце, перед всякими значками, цыфрами, и abcdef... вам лучше не знать, на какое извращенство пришлось пойти, чтобы "обойти" это ограничение..) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KuraiNeko 35 30 июня, 2010 Пока мой предел на сегодня оказалось несколько в еще более простом варианте чем предпологалось. Стабильно, можно читать что коннектит, понимать но не вносить изменения на русском пока) dlgeditor_232_src.rar dlgeditor_232_src.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Drazgar 370 30 июня, 2010 Кстати, я тут еще одну утилитку случайно нашел. Не знаю правда есть от нее какой то толк, но она позволяет добавлять поддержку других языков в файлы .utc, .uti, .dlg и .mod, но пока есть только языки английский, французский, итальянский, простой китайский (!), традиционный китайский (китаезы ликуют), польский, испанский, японский и корейский. Я думаю, если как то в програмку "вшить" еще и русский... может что-то выйдет. dlgconv_11.rar dlgconv_11.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KuraiNeko 35 1 июля, 2010 сразу встает несколько вопросов в поиске: 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Drazgar 370 1 июля, 2010 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% не подойдет? Я просто думал что имелось ввиду, что таким образом прописанный на другом языке в игровых ресурсах текст сможет поддерживаться.. ну чтож. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KuraiNeko 35 1 июля, 2010 Думаю тыкнуться к обсидианам на форум, поговорить за их структуру, модель файлов. Может что полезного скажут. Просто пока слишком геморно переписывать длг эдитор при учете, что активстейт перл еще неактивирован))) На самом деле при текущем варианте вижу только 1ну возможность для реализации недостающих диалогов да еще и на русском. Это через dialog.tlk Ибо в оном присутствует очень много пустых значений ( строк) равно как и строк из первого котора, на данный момент можно прописывать на русязе туда недостающий текст а потом через эдитор модифицированный присваивать значение с -1 строки на ту - в которую мы все это запихнули в тлк. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KlinOK 92 6 августа, 2010 Ув. KuraiNeko, если с технической стороны вы поможете мне, сделаю адаптацию русификатора под TSLRCM ! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Drazgar 370 6 августа, 2010 (изменено) Там я думаю многие вещи вообще надо будет переписать... в отличие от первого котора, в русификации для второго хламота сплошная местами, и смешные ошибки в простых словах, и вообще... надо будет организованно перефильтровать всю работу, а лучше вообще с нуля написать, все таки очень сыро было местами.. Изменено 6 августа, 2010 пользователем Drazgar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KlinOK 92 6 августа, 2010 Да не вопрос)) Я с нуля как раз начал переводить)) Так, что никаких ляпов, быть не должно! Но не рассчитывайте, что я за неделю справлюсь)) Буду вылизывать перевод, чтобы как официальная локализация была)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты