Перейти к содержимому

  • Войти / Регистрация

Фото

[Патч] Поддержка русского языка для Patchus Maximus/SkyProc

SkyProc PatchusMaximus

Важно! DJ_Kovrik , 24 Февраль 2015 - 14:02

Данный патч уже встроен в русскую версию PerMa Compatibility and PaMa Patches (PCaPP) v2.4.4+


Остальные темы по моду:

ПЕРЕЙТИ К ОТВЕТУ


  • Чтобы отвечать, сперва войдите на форум
64 ответов в теме

#1 pieron

Опубликовано 23 Февраль 2015 - 17:03  

pieron

    Постоялец клуба

  • Завсегдатай
  • Фишка
  • 19
  • Сообщений: 56

Привет всем. Сделал небольшой патч который фиксит русский язык (да-да, можно использовать кириллицу для Patchus Maximus/Reproccer, но об этом ниже) во всех SkyProc библиотеках. Сразу скажу это не вирус, для параноиков - измененный файл приведу ниже, можете собрать и внедрить сами.

 

SkyProc преамбула:

Автор библиотеки вообще начисто забил о символах отличных от латиницы, в итоге строки читаются так:

int input;
while ((input = stream.read()) != 0) {
string += (char) input;
}
text.setString(string);

Игровые строки для русской версии хранятся в windows-1251 в Java строки UTF-16 - простое приведение типа не конвентирует в UTF-16 автоматом, в итоге библиотека читает каракули вместо текста.

Простой патч конвентирует кодировки в нужный формат (UTF-16) при чтении и обратно в Windows-1251 при записи. Будет работать только для русской версии игры

 

Использование c PatchusMaximus (PM):

1) Сначала надо установить системный язык для программ не поддерживающих юникод в Русский, иначе PM не будет читать корректно XML файлы (Спасибо тендо за FileReader/FileWriter)

2) XML файлы в которых будет кириллица должны быть перекодированы в Windows-1251 (например через Notepad++), так же надо заменить в этих файлах строку в начале: <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> на <?xml version="1.0" encoding="windows-1251" standalone="yes" ?>

3) Скопировать Skyrim_Russian.STRINGS, Skyrim_Russian.DLSTRINGS... и все остальные и переименовать в Skyrim_English.STRINGS... (Снова спасибо тендо за то что сделал настройку языка в патчере которая ни на что не влияет, и еще он использует какую-то левую или собственную сборку SkyProc)

4) Не помню было ли это указано, но PM принимает в расчет нижний/верхний регистр. Так что <substring>Меч</substring> не найдет имя "Супер меч"

5) OutputLanguage PMxml/GeneralSettings.xml влияет на строки в PMxml/Languages.xml, так чтобы превратить [Broadsword] в [Палаш] добавьте в файл Languages.xml:

	<language>
		<languageID>RUSSIAN</languageID>
		<stringBinding>
			<identifier>Broadsword</identifier>
			<outputString>Палаш</outputString>
		</stringBinding>
	</language>

6) Language опция в настройках самого патчера бесполезна и ни на что не влияет.

 

Инсталляция/Установка и прочее

По ссылке - архив, в нем две папки:

1) General - Скомпилированный модифицированный файл из skyproc-a и исходный код

2) Patched PatchusMaximus - сам PM с внедренным патчем, заменить им оригинальный

 

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

Откройте нужный JAR архив в архиваторе (не распаковывайте), например в 7z - найдете директорию skyproc (если архив содержит skyproc.jar - откройте его тоже) и просто перетащите SubStringPointer.class из Generic/Compiled в архив, далее обновите архив если предложит. Все.

Как скомпилировать файл самому подробно рассказывать не буду - скачайте исходники skyproc, затем замените SubStringPointer.java на мой, скомпилируйте, на выходе получится все тот же SubStringPointer.class

 

Ссылка на архив

 

2ic4i1g.jpg

 

 

От себя хочу сказать спасибо за переводы


Изменено: DJ_Kovrik, 26 Февраль 2015 - 11:56

  • 3

#2 DJ_Kovrik

Опубликовано 23 Февраль 2015 - 18:15  

DJ_Kovrik

    The Companions

  • Модератор
  • 3 100
  • Сообщений: 4 706
  • Откуда:Moscow

Круто, спасибо! clapping.gif Этот день войдет в историю  :D

Русифицированный актуальный Languages.xml уже есть, но его не выкладывал в связи с неработоспособностью патчера, зато теперь будет актуально + он есть в таблице перевода PCaPP.

Потестирую что и как генерится (чтобы перевод поправить при надобности), и тогда можно будет весь набор публиковать, который с кириллицей работает :)


Изменено: DJ_Kovrik, 23 Февраль 2015 - 18:46

  • 0

#3 pieron

Опубликовано 23 Февраль 2015 - 19:06  

pieron

    Постоялец клуба

  • Завсегдатай
  • Фишка
  • 19
  • Сообщений: 56

Нужен не только Languages.xml но еще переработать Weapons.xml/Armors.xml и другие чтобы они могли распределять по типам корректно.

Если что-то будет не работать - дайте мне знать и я постараюсь поправить. 

И еще - патч был скомпилирован на java8, не знаю будет ли работать на java7, по идее должен.


  • 0

#4 Ma_zut

Опубликовано 24 Февраль 2015 - 06:11  

Ma_zut

    Почетный посетитель

  • Завсегдатай
  • ФишкаФишка
  • 32
  • Сообщений: 162
  • Откуда:Иркутск
pieron, это просто замечательно! Кстати, извините что не совсем в тему, но есть подобная проблема с этим модом. То есть, при переименовывании на русский, так же всякие непонятные знаки возникают. Возможно ли это поправить подобным образом?
  • 0

#5 pieron

Опубликовано 24 Февраль 2015 - 13:33  

pieron

    Постоялец клуба

  • Завсегдатай
  • Фишка
  • 19
  • Сообщений: 56

pieron, это просто замечательно! Кстати, извините что не совсем в тему, но есть подобная проблема с этим модом. То есть, при переименовывании на русский, так же всякие непонятные знаки возникают. Возможно ли это поправить подобным образом?

Попробуйте русский патч для SKSE или типа того. Если не помогает, то будем думать


  • 0

#6 DJ_Kovrik

Опубликовано 24 Февраль 2015 - 14:02   Важно! 

DJ_Kovrik

    The Companions

  • Модератор
  • 3 100
  • Сообщений: 4 706
  • Откуда:Moscow

Данный патч уже встроен в русскую версию PerMa Compatibility and PaMa Patches (PCaPP) v2.4.4+


Остальные темы по моду:


Изменено: DJ_Kovrik, 11 Март 2015 - 13:48

  • 0

#7 Ma_zut

Опубликовано 24 Февраль 2015 - 18:38  

Ma_zut

    Почетный посетитель

  • Завсегдатай
  • ФишкаФишка
  • 32
  • Сообщений: 162
  • Откуда:Иркутск
pieron, увы, не помогает. Кажется всё дело в swf файлах идущими вместе с этим модом. Возможно автор кроме латиницы, для иных кодировок так же чего-то не докодил. Я эти swf открывал в JPEXS FFD, но так ничего и не понял.
  • 0

#8 pieron

Опубликовано 25 Февраль 2015 - 16:48  

pieron

    Постоялец клуба

  • Завсегдатай
  • Фишка
  • 19
  • Сообщений: 56

pieron, увы, не помогает. Кажется всё дело в swf файлах идущими вместе с этим модом. Возможно автор кроме латиницы, для иных кодировок так же чего-то не докодил. Я эти swf открывал в JPEXS FFD, но так ничего и не понял.

Обещать не буду, но попробую посмотреть в чем может быть дело


Обещать не буду, но попробую посмотреть в чем может быть дело

Проблема не в моде, а в SKSE функциях Get/SetName и Get/SetDisplayName. Не уверен, стоит ли игра свеч


  • 0

#9 Ma_zut

Опубликовано 25 Февраль 2015 - 18:11  

Ma_zut

    Почетный посетитель

  • Завсегдатай
  • ФишкаФишка
  • 32
  • Сообщений: 162
  • Откуда:Иркутск
pieron, а теперь понятно. Ну что же, зато буду знать что не только мод за всё это отвечает. Стало быть, что бы мод правильно функционировал, нужно дллку для skse писать? Да, не стоит свеч, мод-то один такой и не каждый им пользуется.
  • 0

#10 pieron

Опубликовано 25 Февраль 2015 - 19:48  

pieron

    Постоялец клуба

  • Завсегдатай
  • Фишка
  • 19
  • Сообщений: 56

pieron, а теперь понятно. Ну что же, зато буду знать что не только мод за всё это отвечает. Стало быть, что бы мод правильно функционировал, нужно дллку для skse писать? Да, не стоит свеч, мод-то один такой и не каждый им пользуется.

В принципе это возможно, надо только найти способ через плагин это все оформить, избегая прямых модификаций в SKSE коде
Spoiler

Изменено: DJ_Kovrik, 25 Февраль 2015 - 20:31

  • 0

#11 Auri

Опубликовано 25 Февраль 2015 - 20:33  

Auri

    Почетный посетитель

  • Завсегдатай
  • ФишкаФишка
  • 7
  • Сообщений: 183

А у меня не запускается:) Вернее при запуске создает SkyProcDebug, пишет в =--Debug Overview--=.txt

 

[1]                            [OPEN DEBUG FILE]  Opening Debug File
[2]                               [Run Location]  Program running from: F:\games\Steam\SteamApps\common\Skyrim\Data\SkyProc Patchers\T3nd0_PatchusMaximus\.
[3]                                     [Status]  PatchusMaximus version: 1.3
[4]                                     [Status]  Used Memory: 12MB
[5]                                     [Status]  Max Memory: 1800MB
 

И на этом все.

Игру только что переставляла


  • 0

#12 pieron

Опубликовано 25 Февраль 2015 - 20:44  

pieron

    Постоялец клуба

  • Завсегдатай
  • Фишка
  • 19
  • Сообщений: 56

А у меня не запускается :) Вернее при запуске создает SkyProcDebug, пишет в =--Debug Overview--=.txt

 

[1]                            [OPEN DEBUG FILE]  Opening Debug File
[2]                               [Run Location]  Program running from: F:\games\Steam\SteamApps\common\Skyrim\Data\SkyProc Patchers\T3nd0_PatchusMaximus\.
[3]                                     [Status]  PatchusMaximus version: 1.3
[4]                                     [Status]  Used Memory: 12MB
[5]                                     [Status]  Max Memory: 1800MB
 

И на этом все.

Игру только что переставляла

Какая версия джавы у вас?


Оригинальный PatchusMaximus у вас работает?


  • 0

#13 DJ_Kovrik

Опубликовано 25 Февраль 2015 - 21:01  

DJ_Kovrik

    The Companions

  • Модератор
  • 3 100
  • Сообщений: 4 706
  • Откуда:Moscow

Auri
Кодировку может надо поменять у всех xml?

 

pieron

Первый тест с русифицированным Languages.xml: все сгенерировалось, внесенные в Armor.xml тестовые правки подхватились нормально.

Каракули остались только в EditorID. Если добавлять консолью такие предметы в инвентарь, то вроде бы нормально добавляются, так что пока не понятно чем это чревато :)

https://yadi.sk/i/8-Z7vdKKetWfY


Ma_zut

На будущее для таких проблем и просьб можно отдельную тему создать, чтоб не все обсуждать здесь... ну или в обсуждение модов переместиться :)


  • 0

#14 Auri

Опубликовано 25 Февраль 2015 - 21:14  

Auri

    Почетный посетитель

  • Завсегдатай
  • ФишкаФишка
  • 7
  • Сообщений: 183

Какая версия джавы у вас?


Оригинальный PatchusMaximus у вас работает?

Оригинальный работает. Java 7 update 5 64bit сейчас на 8 поменяю


Изменено: Auri, 25 Февраль 2015 - 21:22

  • 0

#15 pieron

Опубликовано 25 Февраль 2015 - 21:24  

pieron

    Постоялец клуба

  • Завсегдатай
  • Фишка
  • 19
  • Сообщений: 56

Auri
Кодировку может надо поменять у всех xml?

 

pieron

Первый тест с русифицированным Languages.xml: все сгенерировалось, внесенные в Armor.xml тестовые правки подхватились нормально.

Каракули остались только в EditorID. Если добавлять консолью такие предметы в инвентарь, то вроде бы нормально добавляются, так что пока не понятно чем это чревато :)

https://yadi.sk/i/8-Z7vdKKetWfY


Ma_zut

На будущее для таких проблем и просьб можно отдельную тему создать, чтоб не все обсуждать здесь... ну или в обсуждение модов переместиться :)

Какой EDID должен быть для английской версии? Если там производная от имени, то скорее всего ничего не поделать

 

Оригинальный работает. Java 7 update 5 64bit сейчас на 8 поменяю

Отпишитесь если на 8 будет работать.


  • 0

#16 DJ_Kovrik

Опубликовано 25 Февраль 2015 - 21:28  

DJ_Kovrik

    The Companions

  • Модератор
  • 3 100
  • Сообщений: 4 706
  • Откуда:Moscow


Какой EDID должен быть для английской версии? Если там производная от имени, то скорее всего ничего не поделать

Да, производная от имени :)


  • 0

#17 Auri

Опубликовано 25 Февраль 2015 - 21:32  

Auri

    Почетный посетитель

  • Завсегдатай
  • ФишкаФишка
  • 7
  • Сообщений: 183

Какой EDID должен быть для английской версии? Если там производная от имени, то скорее всего ничего не поделать

 

Отпишитесь если на 8 будет работать.

да, на 8 заработало


  • 0

#18 pieron

Опубликовано 25 Февраль 2015 - 22:01  

pieron

    Постоялец клуба

  • Завсегдатай
  • Фишка
  • 19
  • Сообщений: 56

Да, производная от имени :)

Ну вот что мешало тендо использовать edid + какую-нибудь другую фигню для генерации  :angry:

Впрочем, думаю, особо проблем с этим быть не должно.

 

да, на 8 заработало

Спасибо, пересоберу на джаве7 сегодня тогда.


  • 0

#19 DJ_Kovrik

Опубликовано 25 Февраль 2015 - 22:17  

DJ_Kovrik

    The Companions

  • Модератор
  • 3 100
  • Сообщений: 4 706
  • Откуда:Moscow


Впрочем, думаю, особо проблем с этим быть не должно.

Обсуждаю с автором :)

 

broken Editor ID is not good, but I may have a solution. That solution would require people to start a new game with the next patch though.

next patch, насколько я понял, это следующая версия, так что посмотрим, может и пофиксит :)


  • 0

#20 pieron

Опубликовано 25 Февраль 2015 - 22:42  

pieron

    Постоялец клуба

  • Завсегдатай
  • Фишка
  • 19
  • Сообщений: 56

Обсуждаю с автором :)

next patch, насколько я понял, это следующая версия, так что посмотрим, может и пофиксит :)

Напишите ему еще что простого листбокса с языками в настройках патчера недостаточно, надо устанавливать SPGlobal.language в выбранный язык. Еще хорошо если он обновит используемый skyproc - по крайней мере у меня SPImporter с последней версии skyproc-a загружал Skyrim_Russian.STRINGS даже если в патчере был английский язык (SkyProc должен по дефолту загружать стринги для всех языков, сначала пробуя тот который был установлен в SPGlobal.language, и если он не был найден то возвращает первый найденный). Это решит проблему с ручным подтасовыванием русских стрингов в английские.


Изменено: pieron, 25 Февраль 2015 - 22:44

  • 0

#21 DJ_Kovrik

Опубликовано 25 Февраль 2015 - 23:31  

DJ_Kovrik

    The Companions

  • Модератор
  • 3 100
  • Сообщений: 4 706
  • Откуда:Moscow

pieron

Написал. Если с английский знаком хоть чуток, баг-репорты лучше ему слать напрямую на нексусе, чтоб быстрее реагировал :)


  • 0

#22 pieron

Опубликовано 26 Февраль 2015 - 03:53  

pieron

    Постоялец клуба

  • Завсегдатай
  • Фишка
  • 19
  • Сообщений: 56

Новая ссылка, патч теперь должен работать на java7 и java8:

https://mega.co.nz/#...w5u6yQPOfBYwLo8

 

Не нашел кнопки где можно поменять первый пост, можно ссылку обновить?


  • 0

#23 DJ_Kovrik

Опубликовано 26 Февраль 2015 - 15:31  

DJ_Kovrik

    The Companions

  • Модератор
  • 3 100
  • Сообщений: 4 706
  • Откуда:Moscow


Не нашел кнопки где можно поменять первый пост, можно ссылку обновить?

Обновил


Перевод будем вести здесь, кто знаком с гитхабом - вливайтесь :)
https://github.com/djkovrik/PCaPP
 


  • 0

#24 0x3FF

Опубликовано 26 Февраль 2015 - 19:15  

0x3FF

    Постоялец клуба

  • Завсегдатай
  • Фишка
  • 0
  • Сообщений: 53

>> 1) Сначала надо установить системный язык для программ не поддерживающих юникод в Русский, иначе PM не будет читать корректно XML файлы (Спасибо тендо за FileReader/FileWriter)

 

Что это значит?


  • 0

#25 Auri

Опубликовано 26 Февраль 2015 - 19:19  

Auri

    Почетный посетитель

  • Завсегдатай
  • ФишкаФишка
  • 7
  • Сообщений: 183

Есть еще вариант самим сделать транслит русского текста для EditID, класс в инете готовый есть.


  • 0




Привет!

Насколько мы поняли, вы используете блокировщик рекламы в вашем браузере. Скорее всего, это AdBlock или AdBlock Plus.

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

Однако Riot Pixels — пока ещё небольшой сайт, мы существуем в основном на деньги, получаемые от различных рекламодателей. Пользователей же с установленным AB/ABP на Riot Pixels сейчас — более 30%. Это очень много.

У блокировщиков рекламы есть еще одно плохое свойство — у вас может «поехать» дизайн или перестанут показываться скриншоты.

Мы не хотим предпринимать активных действий в отношении блокировщиков рекламы (например, закрывать контент) — это не по-человечески. Однако и безучастно смотреть никак не можем. Поэтому у нас к вам большая просьба — пожалуйста, внесите Riot Pixels в «белый список» вашего блокировщика. Это поможет нам и дальше жить и развиваться, а вам ничего не будет стоить.

Спасибо!
Команда Riot Pixels.