Thief: the Dark Fate Forum

Thieves Connection => Переводы => Тема начата: Zontik от 25 октября 2018 11:00:47

Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 25 октября 2018 11:00:47
В связи с намечающимися переводами на иные языки, помимо русского, решил углубиться в вопрос. И, честно говоря, озадачен.
Для примера выбрал недавно (ну, как недавно - ровно год назад) вышедшую DCE. Русско-английская версия, то есть две в одной упаковке. На первый взгляд, все просто: там, где есть необходимость перевода, тексты заботливо разложены по папкам RUSSIAN и ENGLISH. Но дьявол скрывался в деталях.
Начал сравнивать количество файлов в папках. И вот в папке BOOKS\RUSSIAN оказалось на 4 текста меньше, чем в английской версии. Обнаружил, например, что файл m1_l_linda2.str в папке English есть, а в папке Russian его нет. Вполне, кстати, сюжетный текст, довольно длинный. А что будет в игре?
Я понимаю так: движок начнет искать текст и не найдет. Поэтому будет пустая страница. Или он полезет шарить по всем соседним папкам? Тогда будет предложена английская версия. Хреново, но все же лучше, чем ничего. Но будет ли он это делать? И как в этом случае устанавливается приоритет - из какой папки брать сначала, а в какие лезть, только если чего-то не хватает? Если вообще такая вещь существует, то она должна быть указана в каком-то файле, который тоже не может быть одинаковым для русской и английской версии... Дальше моя соображалка отказала.
Полез дальше. О! Объекты! Текстуры! И в них - тоже разбиение на RUS/ENG. И - догадайтесь с трех раз? Ну точно: в русской версии на 4 текстуры меньше. И что будет в игре на этих местах? Английские версии соответствующих надписей или ничего?
И вот к чему я виду. При таком количестве файлов потерять один-два - это не так уж сложно. Я сам это делал десятки раз. Соответственно рассчитывать на то, что переводчики окажутся более тщательными, чем сам автор - это утопия. Наверняка какие-то файлы они потеряют, а с какими-то банально не справятся или не успеют. Ну есть вещи достаточно сложные для перерисовки, хотя бы те же автокарты. И вот мне интересно, как поступит движок, не найдя в папке с где-то как-то заданным языком нужных файлов. Будет ли он их искать где-то еще, и если да - то кем и как это регулируется? Автором? Игроком в своих конфигурационных файлах? В последнем случае я испытываю традиционное недоверие к неподконтрольной системе. И у меня совершенно нет желания оставить игроков наедине с пустыми страницами или с непрорисованными текстурами, на которых должно быть нарисовано что-то важное.
Есть, правда, достаточно надежное и проверенное решение: плюнуть на все эти языковые папки и организовать отдельные языковые ZIPы, распаковывающиеся и переписывающие файлы прямо поверх установленной игры (как я всегда до сих пор и делал). Единственный минус этого метода - необходимо вручную выполнить одно несложное движение. А плюс - почти стопроцентно предсказуемый результат. Потерянные файлы не будут заменены и останутся на английском, но никуда не пропадут. Кто поленится перевести карту, например - будет любоваться английской, не так уж и страшно. Лучше, чем совсем без карты.
Я склоняюсь именно к этому решению, но хотелось бы выслушать возможные возражения. Время еще есть.
И еще одно: именно вас все это никак не коснется. Русская версия будет выпущена отдельно. Речь идет о несчастных европейцах (в основном), кому не посчастливилось родиться в англоговорящих семьях. Их на удивление много, но и языков тоже немало, а на количество версий больше двух (русская и англо-мультиязычная) у меня банально не хватит ресурсов.
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 25 октября 2018 11:37:10
Английское будет на месте недостающих русских ресурсов. Или ты думаешь, что если в конфигах прописано "language russian+english", то создание пустой папки Russian оставит миссию вообще без ресурсов? Это было бы сильно. К тому же это элементарно проверить, даже на русике оригинала.
Вот если бы было прописано "language russian", вот тогда бы да.

И на самом деле движок ничего не ищет. То, что он там чего-то ищет и долго и упорно анализирует приоритеты, это просто модель происходящего, более понятная человеку. На самом же деле происходит совсем другое -- движок просто тупо начинает прогружать все имеющиеся ресурсы подряд, начиная с самого низкого приоритета и далее по его возрастанию. При этом ресурсы с такими же именами, с какими уже были загружены, грузятся в то же место оперативной памяти, перезаписывая предыдущие. Соответственно, последним окажется ресурс с максимальным приоритетом. Он и останется в памяти и будет принимать участие в создании итоговой картинки на экране.
То бишь по сути происходит оно самое:
Цитата: Zontik от 25 октября 2018 11:00:47
Есть, правда, достаточно надежное и проверенное решение: плюнуть на все эти языковые папки и организовать отдельные языковые ZIPы, распаковывающиеся и переписывающие файлы прямо поверх установленной игры
Но только не на винте, а в оперативке.
Поэтому, например, если у тебя пирамидка из десятка модов, да ещё с кучей языковых папок, то не стоит удивляться долгой загрузке миссии -- все эти моды и языки будут считаны и прогружены, по десять раз перезаписывая друг друга в оперативке, даже если самый главный, верхний мод, имеет в своём составе все необходимые ресурсы.

По поводу того, что куда запаяно. Языковые папки -- чистая условность. Это просто вторая, параллельная моддинговая система. Ничего не мешает прописать в конфиг "language blablabla1+blablabla2", создать везде по две этих подпапки (blablabla1 и blablabla2) и напихать в них не тексты, а, например, текстуры и оформить таким образом текстурный хай-рез пак.
В общем, между модами и локализациями нет никакой разницы. И то и другое можно оформить как с помощью mod_path, так и с помощью language. Разница есть только на человеческом уровне абстракции, в компьютере её нет.

Значит, движок читает всё подряд, стартуя с самой чмошной папки, далее по возрастанию их элитности, и заканчивая самой элитарной. Степень элитарности прописана в mod_path, resname_base, language и прочие строки конфигов. Степень же элитарности самих этих строк в сравнении друг с другом (кто круче -- mod_path или language) запаяна в движок, вот и всё.

Я в принципе тоже за то, чтоб предать языковые папки анафеме, дабы не городить приоритеты приоритетов приоритетов приоритетов n-ого порядка.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 25 октября 2018 14:19:48
Из всего перечисленного меня больше всего смущает тот факт, что я понятия не имею, что будет прописано в конфигах у игрока. Он может и language french прописать, его право, и он будет слюни пускать, крича, что всегда все работало, а теперь вдруг карты не стало, и никто никогда не угадает причины. Вот этой ситуации я и пытаюсь избежать. Я-то знаю, что в мультиязычной версии базовой считается английская (то есть по твоему описанию - она загружается первой, или, другими словами, у ней более низкий автоприоритет), и именно это должно быть указано в конфигах, а вот как объяснить это игроку и как проконтролировать исполнение - фиг знает.
Помимо всех прочих нюансов, получается, что отсутствие языковых папок еще и ускоряет загрузку? А при большом количестве ресурсов - значительно ускоряет?
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 25 октября 2018 15:03:34
Цитата: Zontik от 25 октября 2018 14:19:48
Из всего перечисленного меня больше всего смущает тот факт, что я понятия не имею, что будет прописано в конфигах у игрока. Он может и language french прописать, его право, и он будет слюни пускать, крича, что всегда все работало, а теперь вдруг карты не стало, и никто никогда не угадает причины. Вот этой ситуации я и пытаюсь избежать.
Этого очень просто избежать -- продублируй содержимое папок english в общих папках (в которых лежат эти english). Ведь языковые папки необязательны, и общие папки просматриваются всегда. Но это, разумеется, приведёт к увеличению размера миссии и времени её загрузки.
Или уж рубить до конца -- после выполнения предыдущего действия просто удалить все папки english.
В принципе, вероятность, что у пользователя куда-то потеряется english из строки language, весьма мала, т. к. в этом случае у него будут большие проблемы с оригиналом. А тебя же небольшие вероятности не интересуют, как показал разговор про конфигурационные файлы?

Цитата: Zontik от 25 октября 2018 14:19:48
Помимо всех прочих нюансов, получается, что отсутствие языковых папок еще и ускоряет загрузку? А при большом количестве ресурсов - значительно ускоряет?
Да. Мой оригинал с пирамидой модов грузится с SSD столько же времени, сколько оригинал без модов (ну или с одним модом для большей корректности сравнения) с HDD.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 25 октября 2018 15:16:08
Попробую подвести черту.
Выбор, получается, таков.
Первый вариант:
- все английские тексты (назовем их текстами, хотя подразумеваются все ресурсы) - вне языковых папок. Скажем, просто в BOOKS;
- все греческие (условно) тексты - в подпапке BOOKS\GREEK.
При этом первыми грузятся все английские тексты, затем некоторые из них переписываются в оперативке имеющимися в наличии греческими.
При этом не имеет значения, что пользователь понаписал в конфигах.
Так или нет?
И если так, то как вывести игру на английский вариант вместо греческого?
И второй вариант: подняли задницу со стула и распаковали файлы с переводом, заменяя существующие файлы. При этом, возможно, придется задействовать небольшую часть мозга, чтобы случайно не распаковать куда-то не туда.
По первому вариантов вопросов куда больше.
Как у меня сделано сейчас, за отсутствием переводов: все книги - в папке Books. Никаких подпапок. Это кому-нибудь чем-нибудь грозит?
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 25 октября 2018 15:39:05
Цитата: Zontik от 25 октября 2018 15:16:08
Первый вариант:
- все английские тексты (назовем их текстами, хотя подразумеваются все ресурсы) - вне языковых папок. Скажем, просто в BOOKS;
- все греческие (условно) тексты - в подпапке BOOKS\GREEK.
При этом первыми грузятся все английские тексты, затем некоторые из них переписываются в оперативке имеющимися в наличии греческими.
При этом не имеет значения, что пользователь понаписал в конфигах.
Так или нет?
Так, кроме конфигов. Чтоб сработала перезапись греческим языком, надо, чтобы где-то в конфигах сидела строчка language greek или language greek+чтоугодно. И никто, кроме тамошних переводчиков, этот самый greek в конфиги не добавит. Так же как и у нас russian прописывает русик Дона. Если же русик оригинала не ставили, то значит, надо прописать руками по мануалу русика ФМ.
У нас же тут было несколько случаев, когда переводчики распихали перевод по подпапкам russian, и у многих он не сработал, т. к. в конфигах у них было language english и всё.

Я ж говорю, эти языковые папки -- чистая условность. Они никакие не языковые, а просто папки. Движок о них не знает ничего, и именно поэтому их надо прописывать в конфиг. Ты не язык прописываешь в конфиг, а папку, в которой лежат ресурсы. Только пишешь её не в resname_base, а в language, вот и вся разница.

Цитата: Zontik от 25 октября 2018 15:16:08
Как у меня сделано сейчас, за отсутствием переводов: все книги - в папке Books. Никаких подпапок. Это кому-нибудь чем-нибудь грозит?
Не понял, чем это от первого варианта отличается?
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 25 октября 2018 15:54:00
Цитироватьникто, кроме тамошних переводчиков, этот самый greek в конфиги не добавит.
Вот это несколько спорный момент. Эти конфиги добавляются к архиву с миссией? Если нет, то это абсолютно не имеет отношения к переводчикам, а остается на совести пользователя. Который может оказаться напрочь ее лишен.
ЦитироватьНе понял, чем это от первого варианта отличается?
Отсутствием папок, которые я условно называю языковыми. И - если я в очередной раз понял правильно - отсутствием привязанности к содержимому конфигов. Используются файлы из "корневых" папок, и только они одни. Других просто нет. И даже если идиот-игрок пропишет в конфиг language chinese+чтоугодно, движок сначала загрузит все английские (или какие там будут по умолчанию) ресурсы, затем поищет китайские, не найдет и плюнет.
Я когда ставил себе DCE, пошел именно по второму сценарию. Пришлось, конечно, все распаковывать вручную, чтобы избавиться от папок Russian. Но в тот момент у меня не было уверенности, что движок поведет себя именно так, как описано выше.
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 25 октября 2018 16:29:31
Цитата: Zontik от 25 октября 2018 15:54:00
Вот это несколько спорный момент. Эти конфиги добавляются к архиву с миссией?
Нет. Конечно, переводчики могут только в ридми указать на необходимость правки конфигов или написать инсталлятор, который будет их править, а собственно запускать этот инсталлятор или править руками придётся самим пользователям.

Цитата: Zontik от 25 октября 2018 15:54:00
остается на совести пользователя. Который может оказаться напрочь ее лишен.
Значит, будет играть в английскую версию. Она никуда не убежит. Вероятность, что убежит, не больше, чем у нас тут с нашими русификаторами.

Цитата: Zontik от 25 октября 2018 15:54:00
Отсутствием папок, которые я условно называю языковыми
Так их нет, потому что у тебя на данный момент лишь один язык. Если нужен будет ещё один, то они появятся, и первый вариант и получится.
Всё нормально. Базовый язык, имеющий самый низкий приоритет, лежит в общих папках, имеющих самый низкий приоритет вне зависимости от конфигов. Так и должно быть. Папки english чисто логически -- лишние. Так, для порядка разве что, чтоб кучи-малы не было, не более.
Название: Мультиязычные миссии: как это сделано
Отправлено: Maxim от 25 октября 2018 16:58:05
Цитироватьэто должно быть указано в конфигах, а вот как объяснить это игроку и как проконтролировать исполнение - фиг знает.
Этого ни в коем случае нельзя делать. Ты всегда нарвёшься на тех, кто что-то не прочитает или забьёт вообще на это дело. А потом будут у себя на TTLG причитать по этому поводу и костерить тебя. Блин, некоторые предысторию в тексте загрузчика миссий порой не читают, ожидая, что в самой миссии будет продублировано или схоже объяснено всё. Чего уж там говорить про чтение определённой строки, даже с пометкой "Важно". Да и потом, это в принципе "не солидно". Надо избавлять игроков от каких-то дополнительных манипуляций. Я, между прочим, читая всё и обращая внимания на тексты, сам же схож с ними. То есть считаю, что игроку надо просто начать проходить и не должно на его стороне быть каких-то танцев с бубнами или дополнительной работой по перетаскиванию каких-то файлов куда-то или вписывания конфиг. параметров. Тут же возникает ощущение безалаберного отношения (в тех случаях, когда реально была возможность сделать иначе). И без того хватает того бреда, который неизбежно творится с патчами, когда нужно быть реально посвящённым рыцарем треугольного Thief стола, чтобы знать что есть такой newdark и что определённые архивы надо распаковать в определённые папки, а ещё потом настроить возможно сброшенное разрешение экрана и т.д. Это и так уже сократило аудиторию, потому что есть такие люди, которые вообще новички и просто хотят поиграть. И вот они наконец кое-как установили  ньюдарк (а кто-то и этого не сделал), а теперь ещё нужно повышенное внимание к определённым миссиям? В общем, нужно сократить возможности исполнения дополнительных вещей к минимуму. Насколько это возможно. В тех случаях, когда невозможно, убедись хотя бы в соответствующем форматировании текста. Чтобы такие вещи как требуемая версия ново-мрака и необходимость что-то куда-то вписать, что-то переместить или довольствоваться картами с пометками на глобализационном языке обозначались ярким цветом жирного шрифта. В начале. Хотя чего тебе всё это говорить? Это меня и удивляет. Ты же сам всё прекрасно знаешь. В общем, унификация наше фсёёё. А на размер архива всегда забивай. Уже не в эпоху модемов живём.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 25 октября 2018 17:22:57
Насчет размера... лично меня он уже начал напрягать. А бывают ситуации и похуже.
Maxim, я так и не понял, ты за какой из двух вариантов? Манипуляции есть в обоих, только в одном ясные и однозначные, а в другом  невнятные и, возможно, необязательные.
Совсем без манипуляций - увы. Это надо тогда брать голубой вертолет и летать по всем пользователям, самому настраивать.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 25 октября 2018 19:16:42
Вооруженный знаниями, провел эксперимент, по-всякому издеваясь над конфигами. Схема по первому варианту (английские файлы - в "корне", локализованные - в подпапках) выглядит очень надежной, а дополнительного вмешательства пользователя не требует вообще. Одно лишь ограничение: readme. Он не подменяется локализованной версией. Что логично - движок-то еще не активирован. Поэтому при выборе такого варианта все Readme придется запихивать в один файл. А это уже диакритическая ситуация.
Поэтому выбор пока неоднозначен. В пользу первого варианта - снятие бремени распаковки с пользователя (хотя за предыдущие 12 лет ни один человек на это бремя не пожаловался). В пользу второго - Readme не превращается в многостраничный свиток + некоторое ускорение загрузки (реально очень много мелких файлов). Не знаю, что выбрать. Голосовалку, что ли, прикрутить? Статистика будет собрана потрясающая.
Название: Мультиязычные миссии: как это сделано
Отправлено: MoroseTroll от 25 октября 2018 19:42:10
Если ReadMe сделаешь в формате DOC или PDF, то прямо в самом его начале можно будет разместить оглавление со ссылками на соответствующие разделы документа, и тогда каждый сможет перейти в нужный ему языковой раздел всего одним щелчком мышки. Не уверен насчёт формата RTF, но, быть может, там тоже есть такая возможность.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 25 октября 2018 21:57:10
Для меня крайне важно, чтобы игроки прочитали Readme. В связи с этим надо максимально упростить процедуру. Я уже сократил текст до абсолютного минимума, и все равно не уложился в одну страницу.
При этом очень хорошо понимаю, как могут бесить многостраничные документы, когда уже шило завертелось и хочется поскорее играть.
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 26 октября 2018 00:29:23
Цитата: Zontik от 25 октября 2018 21:57:10
шило завертелось и хочется поскорее играть.
Школотэ левел.
Название: Мультиязычные миссии: как это сделано
Отправлено: MoroseTroll от 26 октября 2018 10:13:56
Тогда предлагаю сделать защиту от дурака "не прочтения" ReadMe ;D : при запуске миссии, игрок окажется в пустой комнате, где будет циферблат, на котором ему придётся набрать комбинацию из нескольких цифр. Саму комбинацию распредели по ReadMe в виде номеров пунктов (скажем, №5, №7, №2) или выделенных слов (пять, семь, два).
Понятное дело, что самые нетерпеливые сразу начнут ныть на форуме и спрашивать ответ, но таких уже ничем не проймёшь, а другого действенного способа ознакомить игрока с содержимым ReadMe я пока не вижу. Не высылать же каждому на дом по адвокату и приставу ;D!
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 26 октября 2018 10:17:05
Boris3000
Я тоже, значит, к ним отношусь. Потому что нет ничего глупее, чем излагать предысторию (а то и еще хуже - краткое содержание) миссии в ReadMe. Причем таким языком, что всякое желание играть пропадает.
А потом еще эти многостраничные перечисления, которые так любили в старых миcсиях: новые объекты... новые текстуры... новые строчки в Readme... Возможно, это имело смысл первые несколько лет, когда еще мало было нового и мало кто умел это новое создавать. А вообще это бессмыслица, по большому счету. Запустишь миссию и сам все увидишь.
MoroseTroll, это уже антимаркетинг какой-то. Не прочитавшие сами себя накажут, а вот за что наказывать остальных, ломая четвертую стену?
Название: Мультиязычные миссии: как это сделано
Отправлено: MoroseTroll от 26 октября 2018 11:20:16
Ты старше меня на 5 лет, а значит, должен был, как и я, застать немало игр, в которых использовался подобный способ в качестве защиты от копирования. Кое-кто, кстати, мог бы счесть подобную защиту данью уважения старым играм, этаким old school.
Название: Мультиязычные миссии: как это сделано
Отправлено: Force от 26 октября 2018 11:39:31
Я как-то предлагал обратить это же самое в некий квест, типа расставить предметы в нужном порядке для выхода из запертой комнаты, а подсказка запрятана в письме, размещенном в ридми. Но вообще, если искать корень проблемы, то ЗАЧЕМ заставлять игрока читать ридми? Почему нельзя всю необходимую информацию передать через геймплей во время самой игры?
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 26 октября 2018 11:53:02
Цитата: MoroseTroll от 26 октября 2018 10:13:56
Тогда предлагаю сделать защиту от дурака "не прочтения" ReadMe ;D : при запуске миссии, игрок окажется в пустой комнате, где будет циферблат, на котором ему придётся набрать комбинацию из нескольких цифр. Саму комбинацию распредели по ReadMe в виде номеров пунктов (скажем, №5, №7, №2) или выделенных слов (пять, семь, два).
Говорю ж -- элементарно сделать так, чтоб при непрочтении ридми и невыполнении требований из него долбоёб игрок получал пустое меню. Или даже с соответствующей надписью, если не совсем элементарно. Зачем городить такой огород и время на это тратить?
Название: Мультиязычные миссии: как это сделано
Отправлено: MoroseTroll от 26 октября 2018 12:44:13
Пустое меню = "Я или автор FM что-то напортачил. Глюк, вашу мать!"
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 26 октября 2018 14:43:35
ЦитироватьТы старше меня на 5 лет, а значит, должен был, как и я, застать немало игр, в которых использовался подобный способ в качестве защиты от копирования.
Если бы ты не сказал этого прямо, я бы так и не вспомнил. Действительно, было подобное. Но, как правило, на этапе запуска игры, а не после ее начала.
ЦитироватьНо вообще, если искать корень проблемы, то ЗАЧЕМ заставлять игрока читать ридми? Почему нельзя всю необходимую информацию передать через геймплей во время самой игры?
Именно потому, что к самой игре это не имеет никакого отношения. В редких случаях можно извернуться ("Save me Biulder!" в "Истории Короля"), но в общем случае адекватного решения не существует.
Попытался себе это представить. Вдруг возникают субтитры: "Внимание: диалог. Не сохраняться до его завершения!"
Или так: для прохождения в запертую дверь игрок должен взять ключ, который становится активным только после прочтения записки: "Запишитесь, выйдите из игры и перетащите папку А в место Б, иначе потом будет поздно!"
Как-то это уж слишком по-любительски.
Я думаю, самое адекватное решение - поместить требование обязательно прочесть Readme рядом со ссылкой на скачивание. А вторгаться в геймплей - очень спорный метод. И кроме того, есть еще нюанс: подобные нагромождения условий могут вызвать у игрока желание активно противодействовать. "Ах. вы меня посылаете читать эту чушь? Так я из принципа не сделаю то, что там написано!" Неадекват? Допустим. Но с адекватами проблем и так не бывает.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 26 октября 2018 14:47:33
И кстати: ФМ-селектор тоже поспособствовал тому, что люди стали реже читать Readme. Dark Loader молча выводил текст на экран, никого не спрашивая, и люди просматривали его просто от нечего делать, пока миссия распаковывалась. А в селекторе надо специально лезть в меню (причем наверняка даже не все об этом знают), совершенно неочевидное и не очень удобное.
А как в этом отношении ведет себя New Dark Loader, кто-нибудь может рассказать?
Название: Мультиязычные миссии: как это сделано
Отправлено: clearing от 26 октября 2018 15:06:44
Надо при выпуске миссии в свет на форуме писать красными большими буквами важное из ридми. Форум точно все читают.
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 26 октября 2018 15:28:57
Цитата: MoroseTroll от 26 октября 2018 12:44:13
Пустое меню = "Я или автор FM что-то напортачил. Глюк, вашу мать!"
Ну, а дальше? Играть он не сможет. Дальнейшие его действия? Неужели ни разу не видел тут жалоб на крякозябры в меню и т. д? А самый классный пример, образовавшийся спонтанно, -- это когда кто-то прибегает и говорит, что установил игру начисто, поставил ХДМод и русик, а в игре в книгах -- крякозябры. Вот тут ты его и ловишь и отправляешь читать ридми к ХДМоду, т. к. описанная ситуация на 100% говорит о том, что он это ридми не читал. А кто-то и сам догадается прочесть инструкцию.

Хотя чего об этом говорить, Зонтик всё равно не будет делать ни того, ни другого. Я на его месте тоже бы не стал, только по другой причине.


Цитата: Zontik от 26 октября 2018 14:47:33
ФМ-селектор тоже поспособствовал тому, что люди стали реже читать Readme. Dark Loader молча выводил текст на экран, никого не спрашивая, и люди просматривали его просто от нечего делать, пока миссия распаковывалась.
Не ФМ-селектор, а более мощные компы, особенно с SSD -- много ты успеешь прочесть, пока пара гигов на SSD-шке распакуются... Поэтому всякое развлечение пользователей во время инсталляций потеряло свою актуальность.
Никогда не видел, как выглядит установка на SSD старых, но объёмистых драйверов для ХР, которые развлекали юзера картинками, чтоб не скучал? Это как если взять книжку с картинками, захватить стопку страниц, отогнуть и сделать тр-р-р-р-р-р-р-р-р...
Название: Мультиязычные миссии: как это сделано
Отправлено: Maxim от 26 октября 2018 16:02:26
Цитата: clearing от 26 октября 2018 15:06:44
Надо при выпуске миссии в свет на форуме писать красными большими буквами важное из ридми. Форум точно все читают.
Поддерживаю. Можно хотя бы просто указать, что "Прочти меня" читать очень важно и это не тот случай, когда его нужно пропускать. Достаточно это сделать + это указывают те, кто составляет новости о выходе кампании (из админов) и усё.
ВАЖНО! Прочтите ReadMe! (я вас предупредил)
Ну и в сопроводительном тексте к кампании естессно. Там достаточно в самом начале крупным красным шрифтом указать "это ВАЖНО знать"

А дальше можно умыть руки.
Ну или сделать более творчески и инновационно, но об этом уж в Л.С.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 26 октября 2018 16:08:32
Согласен с тем, что в какой-то момент надо остановиться и умыть руки, а не пытаться довести асимптоту до оси координат.
Творчески? Целесообразность под вопросом, для текущего проекта неприменимо, а в будущем... все возможно.
Название: Мультиязычные миссии: как это сделано
Отправлено: MoroseTroll от 26 октября 2018 16:46:04
[off]Boris3000: Сдаюсь, ты победил.[/off]
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 26 октября 2018 18:00:47
[off]

Цитата: MoroseTroll от 26 октября 2018 16:46:04
Сдаюсь, ты победил
(https://c2n.me/2yOPO.gif)[/off]
Название: Мультиязычные миссии: как это сделано
Отправлено: MoroseTroll от 27 октября 2018 10:54:38
[off]Победа в любом споре любой ценой - твоё кредо, верно? Раз так, чего тогда дуешься :)?[/off]
Название: Мультиязычные миссии: как это сделано
Отправлено: Force от 28 октября 2018 22:37:02
Я, похоже, не догоняю чего-то фундаментального... Zontik, ты не смог справиться с какими-то проблемами? Почему я не могу установить миссию и тупо начать играть? Зачем мне копировать папку после какого-то момента в игре?
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 29 октября 2018 09:26:26
Ну а вот это кто написал?
ЦитироватьЗАЧЕМ заставлять игрока читать ридми? Почему нельзя всю необходимую информацию передать через геймплей во время самой игры?
Я себе именно так представляю передачу через геймплей.
Хотя, возможно, мы о разном. Только сейчас подумал, что мог иметь в виду совсем другое - предысторию, краткое содержание и т.п. сюжетные составляющие. Этому действительно не место в Readme. Я оттуда даже исполнителей удалил, чтобы не спойлерить.
А вообще да, есть проблема, с которой я справиться не в состоянии. К переводам это, правда, не имеет отношения, но нужно прочитать readme, чтобы узнать, что есть еще одна обязательная операция помимо установки. Хотя совсем не обязательно копировать папку после какого-то момента в игре. Если не пытаться "передать информацию через геймплей", то можно скопировать эту папку и до начала. Хотя и потом тоже не поздно.
Название: Мультиязычные миссии: как это сделано
Отправлено: Force от 29 октября 2018 09:34:08
Zontik, а разве это не разрулить средствами установщика? Почему нельзя всё сделать во время установки миссии?
ЦитироватьХотя, возможно, мы о разном. Только сейчас подумал, что мог иметь в виду совсем другое - предысторию, краткое содержание и т.п. сюжетные составляющие. Этому действительно не место в Readme.
Я просто не в курсе, какого рода у тебя проблемы. Сейчас вроде как стало понятно, что технические. Значит решать их надо программно и желательно таким образом, чтобы пользователь вообще ничего не делал дополнительного.
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 29 октября 2018 10:06:40
А я вообще думал, что это как-то связано с тем разговором про слишком быстрое попадание по горячим клавишам. Сложновато, наверно, вести диалог без малейшей конкретики...
Единственное, что умеет делать дополнительного ФМ-селектор при установке, это перекодирование звуковых файлов. Хотя "установкой" это всё сложно назвать -- просто распаковка архива и прописывание пары строк в ini. Это можно руками всё сделать, без всякого "установщика".
Непонятно только, почему этой загадочной папке, коль уж ей позволено оказаться внутри игры ещё до её начала, не быть включённой в состав ФМ сразу же, "в коробке"? Чё-то мутит Зонтик...
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 29 октября 2018 11:02:49
Да я уже писал об этом в профильной теме. Все дело в скриптах Lua. Они подключаются только из корневой папки игры. Пока дело делал Dark Loader, это ни у кого не вызывало вопросов, поскольку все ресурсы ФМ располагались там же. Но теперь...
При этом тесты показали, что просто наличия скриптов в корневой папке недостаточно. Нужно еще, чтобы их копия была там, где установлена ФМ.
Поэтому как ни крути, а одну простую дополнительную операцию по ручному копированию папки игроку выполнить все-таки придется.
Справедливости ради отмечу, что даже если этого не сделать, мир не рухнет, кампанию можно будет пройти, но визуализация в некоторых местах сильно пострадает, ну и геймплей капельку изменится. Что, однако, заметит только тот игрок, который знал заранее, как это должно выглядеть на самом деле. То есть почти никто.
Когда еще только появились пользовательские скрипты, был даже написан один специально для подобных случаев: он отслеживал наличие скриптового модуля и при его отсутствии прямо в игре выдавал предупреждение на экран. (Что мешало включить модуль прямо в комплект поставки, я никогда не понимал.) Но я слишком бережно отношусь к создаваемому миру, чтобы внедрять в него подобные божественные послания.
На самом деле моя (а может, и не только моя) проблема наверняка решается достаточно просто. Надо всего лишь переписать загрузочный модуль Lgs.osm, заставив его искать скрипты там, где они действительно находятся. Трудность только в том, что этим некому заняться.
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 29 октября 2018 11:46:34
Цитата: Zontik от 29 октября 2018 11:02:49
Да я уже писал об этом в профильной теме. Все дело в скриптах Lua.
Тот разговор закончился на том, что Нёмыч собрался переписать твои скрипты на актуальный язык. Я думал, проблема давно решена на корню.

Цитата: Zontik от 29 октября 2018 11:02:49
Надо всего лишь переписать загрузочный модуль Lgs.osm, заставив его искать скрипты там, где они действительно находятся. Трудность только в том, что этим некому заняться.
Естественно. Потому что пользоваться под Нью-Дарком олд-дарковскими запчастями -- это извращение. И каждый человек, выбирая на что потратить время, конечно же выберет изучение актуального языка с наверняка гораздо большими возможностями, а не переписывание старого модуля.
Название: Мультиязычные миссии: как это сделано
Отправлено: Force от 29 октября 2018 12:44:50
Zontik, неужели скрипты настолько много места занимают, что нельзя их копию разместить в нужной папке заранее? Ну и что, что дважды, зато пользователю ничего не придется мудрить. Ты ведь знаешь, что если что-то может быть сделано неправильно, оно будет сделано неправильно.
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 29 октября 2018 13:16:38
"Нужная папка" -- корень игры. Ни ФМ-селектор, ни NDL ничего не кидают в корень игры и вообще не вылезают за пределы папки FMs. И правильно делают. Проблема оттого, что под Нью-Дарком предполагается использовать древний загрузчик столь же древних (ману)скриптов, написанный в древние времена в расчёте на Old-Old-Dark и древний DarkLoader, который вообще всё кидает в корень.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 29 октября 2018 14:16:08
ЦитироватьТот разговор закончился на том, что Нёмыч собрался переписать твои скрипты на актуальный язык.
Все оказалось не так просто. Поломать что-то - как делать нечего. Поэтому сошлись на том, что лучше заведомо исправная и отлаженная пишущая машинка, чем вечно глючащий и зависающий Word.
Цитироватькаждый человек, выбирая на что потратить время, конечно же выберет изучение актуального языка с наверняка гораздо большими возможностями
Если бы все исходили из такой логики, никто бы давно уже не занимался дизайном на Dark Engine.
А впрочем, здесь это все тоже в тему. Речь ведь о переводе с одного языка на другой, пускай это и не человеческие языки. Так вот, я пришел к выводу, что в данном случае необходимость перевода не перевешивает связанные с этим опасности. То есть все останется как есть.
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 29 октября 2018 14:54:44
Цитата: Zontik от 29 октября 2018 14:16:08
Если бы все исходили из такой логики, никто бы давно уже не занимался дизайном на Dark Engine.
В Дромеде народ сидит для того, чтобы получающиеся миссии хоть немного смахивали на оригиналы и вышибали ностальгическую слезу. То есть это нечто иррациональное, фанатское. А вот типом скриптов вряд ли кто фанатеет, и при одинаковом алгоритме тип скрипта никак не скажется на конечном виде миссии, поэтому тут прагматизЬм и только прагматизЬм.
В общем, не шибко корректное сравнение, т. к. ФМ-ка в виде конечного продукта, каким её воспринимает игрок, и скрипт находятся на больно разных уровнях абстракции и, соответственно, разном уровне восприятия человеком.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 29 октября 2018 15:08:18
ЦитироватьВ Дромеде народ сидит для того, чтобы получающиеся миссии хоть немного смахивали на оригиналы и вышибали ностальгическую слезу.
Спасибо, просветил.
Вот насчет сравнения согласен, не безупречное. А если копнуть еще чуть глубже - то и вовсе некорректное, потому что, в отличие от редакторов и движков, все скриптовые языки в конечном итоге дают одни и те же возможности (в приложении к одному движку, разумеется). Так что отмахиваться от Lua как от устаревшего... ну, программисты, если что, поправят, а мне это кажется чепухой. Устарел он только в одном плане: автор не поддерживает его актуальность. Но кто же знал лет пять-семь назад, что так случится.
Название: Мультиязычные миссии: как это сделано
Отправлено: Chuzhoi от 29 октября 2018 15:56:04
Исходники LGScript есть на github (https://github.com/whoopdedo/lgscript).

Предположительно ключ к решению кроется в файле ScriptModule.cpp в строке 270 (она вторая в этом фрагменте):
char ffpath[FILENAME_MAX];
strcpy(ffpath, ".\\scripts\\");
strcat(ffpath, "*");
int hFFile = _findfirst(ffpath, &ffdata);

Решение в том, что вместо точки перед \\scripts\\ следует поставить полный или относительный путь к папке с FM-кой. Это можно, например, сделать с помощью функции GetModuleFileName(), передав в нее хэндл выполняющейся в данный момент DLL-ки (которой и является lgs.osm в папке с миссией - при условии, что автор не забыл ее туда положить); хэндл можно принять через DllMain() или получить через GetModuleHandleEx(). В данный же момент скрипты ищутся в папке .\scripts\, где точка означает текущую папку (которой, очевидно, является корневая папка Thief2).

Кстати, именно это и происходит в файле Dll.cpp - устанавливается переменная progdir вызовом GetModuleFileNameA(), хэндл принимается через DllMain(). Однако дальше эта переменная, похоже, никак не используется (что странно). Успешно ли она устанавливается, также неизвестно.

Я бы поразбирался с этим дальше, но тут уже нужно произвести переход от теории к практике, а я пока очень загружен. Но если никто не выразит желания взять этот труд на себя, я попробую управится до релиза кампании. Можно также попробовать связаться с автором, если он еще жив и питает интерес к своему детищу (судя по предыдущему посту Зонтика, это не так).

***

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

А вот привлекать внимание через геймлей, смешивая игровую реальность с нашим бренным миром, точно не надо.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 29 октября 2018 16:31:53
У меня сведения весьма косвенные. Судя по тому, что проблема со скриптами возникла заметно раньше выхода Белки и до сих пор ничего в этом плане не поправлено - автору все равно.
Однако есть и хорошая новость: я почти уверен, что он жив.
ЦитироватьКстати, именно это и происходит в файле Dll.cpp - устанавливается переменная progdir вызовом GetModuleFileNameA(),
Повторю в третий раз, здесь, кажется, самое место: просто переместить папку в корень игры не достаточно. Без ее копии в папке с ФМ ничего по-прежнему не работает. Так что, возможно, эта переменная все же где-то задействована. Иначе как программа узнает об отсутствии папки неизвестно где?
И лично у меня закралось подозрение, что планировалось-то все сделать правильно (и наполовину уже было сделано), но автор где-то либо забыл, либо ошибся. А обнаружить эту ошибку при тестировании с Dark Loader у него не было шансов.
ЦитироватьПрятать такие указания где-нибудь между брифингом и благодарностями
На данном этапе этот вопрос решен таким образом: брифинг - в игру, благодарности - в финальные титры, а среди немногого оставшегося нужная строка выделена ярким кровавым пятном. Плюс обязательное предупреждение рядом со ссылкой на скачивание. Плюс здесь все уже и так в курсе.
Но если вдруг кто-нибудь возьмет на себя своевременное исправление Lgs.osm, это будет намного лучшим решением. Из критического в Readme останутся только геймплейные советы. Рано или поздно напоровшиеся на неприятности все равно их там найдут.
Вот, кстати, насчет new_mantle и других настроек. Стоит заглядывать в readme к новым ФМ хотя бы по этой причине. Мне, например, new_mantle не нужен (хотя и навредить не сможет, даже при подключенных скриптах), а вот включение тумана и осадков... я бы сказал, даже критичнее той несчастной папки со скриптами. Да, их мало кто отключает сегодня. И все-таки.
Название: Мультиязычные миссии: как это сделано
Отправлено: Chuzhoi от 29 октября 2018 22:48:05
Цитата: Zontik от 29 октября 2018 16:31:53
Судя по тому, что проблема со скриптами возникла заметно раньше выхода Белки и до сих пор ничего в этом плане не поправлено - автору все равно.
А в Белке нет такой проблемы?

Цитата: Zontik от 29 октября 2018 16:31:53Повторю в третий раз, здесь, кажется, самое место: просто переместить папку в корень игры не достаточно. Без ее копии в папке с ФМ ничего по-прежнему не работает.
Похоже, проблема становится еще интереснее.

Цитата: Zontik от 29 октября 2018 16:31:53благодарности - в финальные титры
Ну зачем же так? Лично я совсем не против благодарностей и сам всегда с удовольствием ищу себя в Readme, если в чем-то поучаствовал. Хотя ладно. Если это будет сделано так же эффектно, как это было в заключительном ролике кампании Golden Book, тогда я совсем не против.
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 30 октября 2018 06:27:49
Цитата: Chuzhoi от 29 октября 2018 22:48:05
Похоже, проблема становится еще интереснее.
Не думаю, поскольку это совершенно не влияет на задачу -- отучить этот модуль лазить в корень. А в пределах папки с ФМ пусть хоть десяток копий требует.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 30 октября 2018 09:28:18
ЦитироватьНу зачем же так?
Единственно из-за объема. Участников накопилось тьма-тьмущая. Это к вопросу о работе в команде...
ЦитироватьЕсли это будет сделано так же эффектно...
Не уверен насчет эффектности (некоторые идеи способны выстрелить только один раз), но постарался сделать красиво. И звуковой ряд будет несколько неожиданным.
ЦитироватьА в Белке нет такой проблемы?
Я с ней не работал, но, учитывая, что сделано это было самими разработчиками New Dark, и никто ни на что не жаловался... думаю, действительно нет.
ЦитироватьПохоже, проблема становится еще интереснее.
Я несколько раз убирал/возвращал на место папки и смотрел, работает или нет. Во всяком случае, на моей конфигурации эффект воспроизводится однозначно.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 20 января 2019 17:48:33
ЦитироватьВедь языковые папки необязательны, и общие папки просматриваются всегда. Но это, разумеется, приведёт к увеличению размера миссии и времени её загрузки.
Или уж рубить до конца -- после выполнения предыдущего действия просто удалить все папки english.
В принципе, вероятность, что у пользователя куда-то потеряется english из строки language, весьма мала
ЦитироватьТак, кроме конфигов. Чтоб сработала перезапись греческим языком, надо, чтобы где-то в конфигах сидела строчка language greek или language greek+чтоугодно.
Увы, все оказалось немного не так.,
Что к меня написано в конфигах: language english. Причем в двух: darkinst.cfg и Install.cfg. (Как мне показалось, последняя ни на что не влияет, во всяком случае, внесенные в нее изменения игнорируются.) Папки English нет, все, допустим, книги размещены прямо в папке Books. И есть подпапка Italian со всеми теми же текстами, но на итальянском.
Запускаю миссию через  селектор, ожидая английских текстов. Но получаю... итальянские. Вопрос: почему?
В попытках наладить дело пробую написать заведомую чушь в строке language первого конфига. Затем удаляю ее на фиг. Но все равно вижу только итальянские тексты. Английские появляются, только если разместить их копии в подпапке English. Данные из "корня" читаются лишь в том случае, если либо никаких языковых папок нет вообще. Или если файлы отсутствуют в подпапках.
Получается, есть ли у меня переменная Italian в конфиге, нет ли - движку по фигу. Разница для него будет, только если таких папок окажется несколько - тогда он выберет ту, что указана в конфиге. А так он хватает первую попавшуюся, поскольку English не находит. Это в корне меняет дело, поскольку не существует папки с абсолютным приоритетом. А впрочем, нет. Карты он все-таки берет из корня. Но это лишь потому, что переводчики не удосужились их перерисовать. Сделают карты на итальянском - и на английском они исчезнут.
То есть надо тупо делать папку English и в ней полностью все дублировать. Что глупо. Или делать как всегда - отдельный итальянский ZIP с переписыванием всего в корне. Будут другие переводы - пускай делают по тому же принципу, и это ничего не нарушит. Но - ручное вмешательство.
А теперь знатоки, внимание - вопрос: так какой способ выбрать?
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 20 января 2019 18:37:26
А со второй-то цитатой что не так?
Название: Мультиязычные миссии: как это сделано
Отправлено: Maxim от 20 января 2019 19:02:25
Я считаю, что надо сделать просто. Каждая языковая версия идёт отдельно. Публикуешь кампанию у нас — строго RUS (а не так, как было с Королём и Золотой Книгой), тем более, что тебя теперь название кампании к этому обязывает, хе хе.
Публикуешь на TTLG — ENG. Затем, там же делаешь разные ссылки для каждой аудитории. Немцам - DE версию, итальянцам IT версию и т.д. Если есть какие-то другие сообщества с их языковой направленностью — так же публикуешь у них. Вот есть же, например, de.ttlg.
Единственный момент это ... ну занимаемое на твоём диске место и на облачных хранилищах тоже. Хотя после заливки на рызные хранилища можно у себя уже не держать. Вероятность падения сразу всех сервисов около-нулевая. Я могу предоставить так же место у себя на ЯДиске (причём, на постоянной основе. у меня его много), но зарубежной аудитории может быть будет странно оттуда качать. Как-то раз я пробовал заходить туда с IP т.н. "США", а так же Великобритании и интерфейс автоматом не переводился на русский, хотя такое можно встретить во многих других сервисах. Не говоря уже о том, что неизвестно какая скорость будет. Пинг и т.д. С другой стороны - там лишь 2 кнопки, запутаться трудно и всё явно. Так же могу предоставить хранение разных версий у себя на MEGA.nz. (чисто для надёжности).

То есть ты можешь избрать какой угодно метод, но можно сделать то, что я написал как дополнительный вариант, существующий независимо. И сделать везде пометку, что если хотите играть сразу же чисто в такую-то версию без каких-то манипуляций, то качайте вот отсюда и будет вам счастье.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 20 января 2019 19:25:54
Со второй цитатой не так то, что замена срабатывает без запроса, на автомате.
Maxim, странно делать отдельную 2-гиговую версию только затем, чтобы заменить немного текстовых файлов. Русская отдельно, это не обсуждается, и то по не связанным с патриотизмом причинам.
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 20 января 2019 19:35:19
Чё-то ты, Зонтик, ожидаемо начудил со своими сотнями папок и ДаркЛоадерами.

Цитата: Zontik от 20 января 2019 17:48:33
Папки English нет, все, допустим, книги размещены прямо в папке Books. И есть подпапка Italian со всеми теми же текстами, но на итальянском.
Запускаю миссию через  селектор, ожидая английских текстов. Но получаю... итальянские. Вопрос: почему?
В попытках наладить дело пробую написать заведомую чушь в строке language первого конфига. Затем удаляю ее на фиг. Но все равно вижу только итальянские тексты. Английские появляются, только если разместить их копии в подпапке English. Данные из "корня" читаются лишь в том случае, если либо никаких языковых папок нет вообще. Или если файлы отсутствуют в подпапках.
Это всё говорит о том, что у тебя где-то ещё прописано language English+Italian.

Проверил сейчас на 1.26. Всё работает так, как я и писал. А вот про ФМ-селектор читаем ниже.
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 20 января 2019 21:02:23
Кажется, я обнаружил, в чём дело.
Не знает движок никакой English -- оригинал без прописывания его в конфиг падает, меню некоторых ФМ запускается без текста и т. д. То бишь всё, что я писал в прошлый раз про языковые папки, абсолютно верно.
А вот ФМ-селектор берёт и в случае некоторых ФМ прописывает в cam.cfg строку fm_language english. Закономерности я пока не уловил. Причём для оригинала она тоже работает, т. е. эквивалентна строке language english (может, у них просто разный приоритет, хз).
Для твоего же случая он мог прописать и fm_language english+italian. Или ты сам когда-то дописал и забыл. Но, в общем, копать надо туда.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 20 января 2019 21:21:44
Про Italian мне было писать совершенно незачем. А вот селектор это действительно зачем-то сделал, причем дата у файла сегодняшняя. Но копать дальше нет смысла. Неадекватное поведение движка, помноженное на соответствующее ситуации поведение пользователя, создает ситуацию абсолютно непредсказуемую, поэтому к черту все эксперименты с папками. Только ручная распаковка архивов с дополнительными языками. Кстати, еще и выяснилось, что Readme не то что заменить, даже открыть нельзя на другом языке. А как не надо пихать все языки в один файл, я уже знаю на своем горьком опыте.
Мораль: выскочек никто не любит. Селектор пошел по граблям Microsoft и пытается предугадать действия пользователя: "А я знаю!" Ну, все в курсе, что бывает с теми, кто слишком много знает.
P.S. Кажется, теперь я догадываюсь, что это за таинственная закономерность. Где в миссиях есть вложенные папки English - там селектор начинает умничать. Но многие их не делают за ненадобностью (один язык, чего мудрить-то?).
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 21 января 2019 15:56:20
Цитата: Zontik от 20 января 2019 21:21:44
создает ситуацию абсолютно непредсказуемую
Мы даже не пытались эти ситуации предсказать. Вот они и непредсказуемые. Как Неуловимый Джо.

Цитата: Zontik от 20 января 2019 21:21:44
поэтому к черту все эксперименты с папками. Только ручная распаковка архивов с дополнительными языками.
Да я, в принципе, тоже за то, чтоб вообще упразднить языковые папки. Зачем две моддинговые системы одновременно?

Цитата: Zontik от 20 января 2019 21:21:44
Кажется, теперь я догадываюсь, что это за таинственная закономерность. Где в миссиях есть вложенные папки English - там селектор начинает умничать.
Возможно, но я пробовал создавать папку Italian -- без толку. А у тебя прописал. При этом ещё вопрос -- почему English+Italian, а не Italian+English. Так что не всё так просто. Ясно только, что он что-то анализирует, но вот что -- пока не ясно.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 21 января 2019 17:10:57
Возможно, папки не должны быть пустыми. Да не хочу даже гадать, наверняка ответ достаточно простой. Никакого лингвистического анализа содержимого не выполняется, это и так ясно.
ЦитироватьПри этом ещё вопрос -- почему English+Italian, а не Italian+English.
А этот-то вопрос откуда? У меня была одна папка - Italian. Ну и язык мне впарили один - Italian.
Название: Мультиязычные миссии: как это сделано
Отправлено: Призрак Boris'а3000 от 21 января 2019 17:43:53
Цитата: Zontik от 21 января 2019 17:10:57
Возможно, папки не должны быть пустыми.
Делал и непустыми. Правда, на итальянский лень переводить было.

Цитата: Zontik от 21 января 2019 17:10:57
А этот-то вопрос откуда? У меня была одна папка - Italian. Ну и язык мне впарили один - Italian.
Если б так, то ты не смог бы запустить английский вариант вообще, с удалённой строчкой language из darkinst.cfg. Я ж сказал -- описание твоего эксперимента указывает на English+Italian.
Или у тебя там совсем весело, и языковые папки и ещё где-нибудь прописаны.
Название: Мультиязычные миссии: как это сделано
Отправлено: Zontik от 22 января 2019 09:22:16
Скорее всего, я в панике что-нибудь напутал. Языки нормально регулируются этой строкой при наличии папок English и Italian, обязательно обеих. Вот это достоверно, проверил не один раз. А если какой-то не хватает, начинается малопонятная чехарда.