• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря".
    Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
  • Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных

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

Gothic ½ Инструмент для переводчиков | zGlossary [Плагин для Union]

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
  • Первое сообщение
  • #1
Общий смысл инструмента в том, чтобы развязать переводчикам руки.​
Для перевода вам не нужно иметь исходный код мода. Более того, сам мод трогать вообще не надо.​

Файл перевода будем называть словарем.​
Словарь - обычный текстовый файл с кодировкой Unicode LE (UCS-2 LE BOM).​

Синтаксис словаря делит документ на теги:​
Тег ; - это комментарий. За стоящим в начале строки символом можно писать любой произвольный текст.​

Тег Text - строка, следующая за этим тегом, будет определять исходную строку, которую необходимо перевести.​

Языковые теги Rus/Pol/Eng/Ger - текст, следующий за тегом, будет определять один из вариантов перевода строки Text.​

Тег OneMore - этот тег говорит, что если в скриптах существует более одного экземпляра строки Text, то следующий вариант перевода для предшествующего языка будет выбираться поочередно.​

Пример готового словаря:
1579297956683.png

Всё! Больше никаких действий над словарем производить не нужно.​

Теперь разберемся как подключить словарь к игре. Тут все предельно шаблонно. Необходимо создать .patch файл в кодировке ANSI (который всегда запускается автоматически, если виден игрой), в нем вызвать плагин zGlossary и передать имена ваших словарей.​

Пример такого .patch файла:​
1579296727533.png

Можно сделать множество словарей, в один засунуть переводы предметов, в другой переводы писем, в третий диалоги, а затем подключить через .patch​
Union:
#engine
    #patch
        LoadPlugins("zGlossary")
        LoadGlossary("GlossaryItems.gls")
        LoadGlossary("GlossaryLetters.gls")
        LoadGlossary("GlossaryDialogs.gls")
    #/patch
#/engine

Все просто, верно? Но что делать с релизом перевода? Выкладывать кучу текстовиков не самая лучшая идея, поэтому все свои .dll, .patch и .gls спокойно пакуем в .vdf или .mod. Весь функционал сохранится, Union сам найдет документы внутри томов.​

Кстати, о шрифтах. Очевидно, он необходим для правильного отображения теста соответствующих локализаций. Предлагаю интересный фокус. Находите такие шрифты, называете их удобным образом, например в конце имени приписываете тег языка. А потом изменяете имя шрифта в скриптах на тот, который необходим. И вуаля, ваш словарь ещё и шрифт динамически менять умеет!​
1579296987545.png



Теперь разберемся с пользовательскими вопросами. Как словарь определит язык игрока? Он сделает запрос у Union и тот ему ответит, какой целевой язык используется системой. Результат запроса продублируется в Systempack.ini, секцию Glossary, в параметр Language, который всегда можно изменить. Например у меня такой язык определится как Rus.​


Прикладываю тестовый исходник, проверенный на G1 с ModFix от ElderGamer
Внутри .dll, готовый .patch и .gls. А также синтаксисы для Notepad++.​
 

Вложения

  • zGlossaryTest.zip
    50,9 KB · Просмотры: 113
Последнее редактирование модератором:

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
Так не переводи что уже переведено :confused:

В чем проблема то? Словарь не перезаписывает dat файл. Ты просто допереводишь что нужно и всё.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
Ну так бы и сказал. Словарь стандартных слов и выражений.
 

wahoonie

Участник форума
Регистрация
30 Окт 2021
Сообщения
4
Благодарности
0
Баллы
35
Hi Gratt,

thanks for your plugin.

I tried to use it to translate some notifications on the screen not translated by other union plugin itself. I copied the zGlossary.dll to my games system\autorun folder, the zGlossary.patch and the TestGlossary.gls to the system folder. If I start GOTHIC the following error message appears:

Error.jpg


For editing the TestGlossary.gls I used Notepad++ and saved the file with "UCS-2 LE-BOM"-encoding.

My TestGlossary.gls is appended (renamed as .txt, because the appending of .gls was blocked).

Greetings

wahoonie

edit: As I seen in a comment above, I edited the TestGlossary.gls and leave the first line empty. Now the game is starting without error.

edit2: Just realized that the zGlossary plugin is for translating mods, not other plugins... *sorry*
 
Последнее редактирование:
Сверху Снизу