Мультиязычные миссии: как это сделано

Автор Zontik, 25 октября 2018 11:00:47

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Zontik

ЦитироватьВедь языковые папки необязательны, и общие папки просматриваются всегда. Но это, разумеется, приведёт к увеличению размера миссии и времени её загрузки.
Или уж рубить до конца -- после выполнения предыдущего действия просто удалить все папки english.
В принципе, вероятность, что у пользователя куда-то потеряется english из строки language, весьма мала
ЦитироватьТак, кроме конфигов. Чтоб сработала перезапись греческим языком, надо, чтобы где-то в конфигах сидела строчка language greek или language greek+чтоугодно.
Увы, все оказалось немного не так.,
Что к меня написано в конфигах: language english. Причем в двух: darkinst.cfg и Install.cfg. (Как мне показалось, последняя ни на что не влияет, во всяком случае, внесенные в нее изменения игнорируются.) Папки English нет, все, допустим, книги размещены прямо в папке Books. И есть подпапка Italian со всеми теми же текстами, но на итальянском.
Запускаю миссию через  селектор, ожидая английских текстов. Но получаю... итальянские. Вопрос: почему?
В попытках наладить дело пробую написать заведомую чушь в строке language первого конфига. Затем удаляю ее на фиг. Но все равно вижу только итальянские тексты. Английские появляются, только если разместить их копии в подпапке English. Данные из "корня" читаются лишь в том случае, если либо никаких языковых папок нет вообще. Или если файлы отсутствуют в подпапках.
Получается, есть ли у меня переменная Italian в конфиге, нет ли - движку по фигу. Разница для него будет, только если таких папок окажется несколько - тогда он выберет ту, что указана в конфиге. А так он хватает первую попавшуюся, поскольку English не находит. Это в корне меняет дело, поскольку не существует папки с абсолютным приоритетом. А впрочем, нет. Карты он все-таки берет из корня. Но это лишь потому, что переводчики не удосужились их перерисовать. Сделают карты на итальянском - и на английском они исчезнут.
То есть надо тупо делать папку English и в ней полностью все дублировать. Что глупо. Или делать как всегда - отдельный итальянский ZIP с переписыванием всего в корне. Будут другие переводы - пускай делают по тому же принципу, и это ничего не нарушит. Но - ручное вмешательство.
А теперь знатоки, внимание - вопрос: так какой способ выбрать?
Дайте глазам отдохнуть! Тёмное место

Призрак Boris'а3000

А со второй-то цитатой что не так?
Corsair HX1000i / Gigabyte GA-X48-DS4 / Intel Core2-Quad Q9650@4.1GHz / Hynix 8GB DDR2-800@1100MHz /
EVGA 6GB GDDR5 <GeForce GTX 980Ti> K|NGP|N Edition / Creative SB X-Fi Xtreme Gamer Fatal1ty Pro Edition /
2xSSD Intel X25-M 120GB в RAID 0 / Samsung SyncMaster 957MB (CRT 2048х1536) / UPS PCM SKP-2000A /
Windows XP Professional SP3 VL 32-bit + Windows 7 Enterprise SP1 U 64-bit / ForceWare 368.81 / New-Dark 1.26

Maxim

Я считаю, что надо сделать просто. Каждая языковая версия идёт отдельно. Публикуешь кампанию у нас — строго RUS (а не так, как было с Королём и Золотой Книгой), тем более, что тебя теперь название кампании к этому обязывает, хе хе.
Публикуешь на TTLG — ENG. Затем, там же делаешь разные ссылки для каждой аудитории. Немцам - DE версию, итальянцам IT версию и т.д. Если есть какие-то другие сообщества с их языковой направленностью — так же публикуешь у них. Вот есть же, например, de.ttlg.
Единственный момент это ... ну занимаемое на твоём диске место и на облачных хранилищах тоже. Хотя после заливки на рызные хранилища можно у себя уже не держать. Вероятность падения сразу всех сервисов около-нулевая. Я могу предоставить так же место у себя на ЯДиске (причём, на постоянной основе. у меня его много), но зарубежной аудитории может быть будет странно оттуда качать. Как-то раз я пробовал заходить туда с IP т.н. "США", а так же Великобритании и интерфейс автоматом не переводился на русский, хотя такое можно встретить во многих других сервисах. Не говоря уже о том, что неизвестно какая скорость будет. Пинг и т.д. С другой стороны - там лишь 2 кнопки, запутаться трудно и всё явно. Так же могу предоставить хранение разных версий у себя на MEGA.nz. (чисто для надёжности).

То есть ты можешь избрать какой угодно метод, но можно сделать то, что я написал как дополнительный вариант, существующий независимо. И сделать везде пометку, что если хотите играть сразу же чисто в такую-то версию без каких-то манипуляций, то качайте вот отсюда и будет вам счастье.
Still they talk anyway
When there's nothing to say
There's so much said in empty words...

Zontik

Со второй цитатой не так то, что замена срабатывает без запроса, на автомате.
Maxim, странно делать отдельную 2-гиговую версию только затем, чтобы заменить немного текстовых файлов. Русская отдельно, это не обсуждается, и то по не связанным с патриотизмом причинам.
Дайте глазам отдохнуть! Тёмное место

Призрак Boris'а3000

#49
Чё-то ты, Зонтик, ожидаемо начудил со своими сотнями папок и ДаркЛоадерами.

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

Проверил сейчас на 1.26. Всё работает так, как я и писал. А вот про ФМ-селектор читаем ниже.
Corsair HX1000i / Gigabyte GA-X48-DS4 / Intel Core2-Quad Q9650@4.1GHz / Hynix 8GB DDR2-800@1100MHz /
EVGA 6GB GDDR5 <GeForce GTX 980Ti> K|NGP|N Edition / Creative SB X-Fi Xtreme Gamer Fatal1ty Pro Edition /
2xSSD Intel X25-M 120GB в RAID 0 / Samsung SyncMaster 957MB (CRT 2048х1536) / UPS PCM SKP-2000A /
Windows XP Professional SP3 VL 32-bit + Windows 7 Enterprise SP1 U 64-bit / ForceWare 368.81 / New-Dark 1.26

Призрак Boris'а3000

Кажется, я обнаружил, в чём дело.
Не знает движок никакой English -- оригинал без прописывания его в конфиг падает, меню некоторых ФМ запускается без текста и т. д. То бишь всё, что я писал в прошлый раз про языковые папки, абсолютно верно.
А вот ФМ-селектор берёт и в случае некоторых ФМ прописывает в cam.cfg строку fm_language english. Закономерности я пока не уловил. Причём для оригинала она тоже работает, т. е. эквивалентна строке language english (может, у них просто разный приоритет, хз).
Для твоего же случая он мог прописать и fm_language english+italian. Или ты сам когда-то дописал и забыл. Но, в общем, копать надо туда.
Corsair HX1000i / Gigabyte GA-X48-DS4 / Intel Core2-Quad Q9650@4.1GHz / Hynix 8GB DDR2-800@1100MHz /
EVGA 6GB GDDR5 <GeForce GTX 980Ti> K|NGP|N Edition / Creative SB X-Fi Xtreme Gamer Fatal1ty Pro Edition /
2xSSD Intel X25-M 120GB в RAID 0 / Samsung SyncMaster 957MB (CRT 2048х1536) / UPS PCM SKP-2000A /
Windows XP Professional SP3 VL 32-bit + Windows 7 Enterprise SP1 U 64-bit / ForceWare 368.81 / New-Dark 1.26

Zontik

Про Italian мне было писать совершенно незачем. А вот селектор это действительно зачем-то сделал, причем дата у файла сегодняшняя. Но копать дальше нет смысла. Неадекватное поведение движка, помноженное на соответствующее ситуации поведение пользователя, создает ситуацию абсолютно непредсказуемую, поэтому к черту все эксперименты с папками. Только ручная распаковка архивов с дополнительными языками. Кстати, еще и выяснилось, что Readme не то что заменить, даже открыть нельзя на другом языке. А как не надо пихать все языки в один файл, я уже знаю на своем горьком опыте.
Мораль: выскочек никто не любит. Селектор пошел по граблям Microsoft и пытается предугадать действия пользователя: "А я знаю!" Ну, все в курсе, что бывает с теми, кто слишком много знает.
P.S. Кажется, теперь я догадываюсь, что это за таинственная закономерность. Где в миссиях есть вложенные папки English - там селектор начинает умничать. Но многие их не делают за ненадобностью (один язык, чего мудрить-то?).
Дайте глазам отдохнуть! Тёмное место

Призрак Boris'а3000

Цитата: Zontik от 20 января 2019 21:21:44
создает ситуацию абсолютно непредсказуемую
Мы даже не пытались эти ситуации предсказать. Вот они и непредсказуемые. Как Неуловимый Джо.

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

Цитата: Zontik от 20 января 2019 21:21:44
Кажется, теперь я догадываюсь, что это за таинственная закономерность. Где в миссиях есть вложенные папки English - там селектор начинает умничать.
Возможно, но я пробовал создавать папку Italian -- без толку. А у тебя прописал. При этом ещё вопрос -- почему English+Italian, а не Italian+English. Так что не всё так просто. Ясно только, что он что-то анализирует, но вот что -- пока не ясно.
Corsair HX1000i / Gigabyte GA-X48-DS4 / Intel Core2-Quad Q9650@4.1GHz / Hynix 8GB DDR2-800@1100MHz /
EVGA 6GB GDDR5 <GeForce GTX 980Ti> K|NGP|N Edition / Creative SB X-Fi Xtreme Gamer Fatal1ty Pro Edition /
2xSSD Intel X25-M 120GB в RAID 0 / Samsung SyncMaster 957MB (CRT 2048х1536) / UPS PCM SKP-2000A /
Windows XP Professional SP3 VL 32-bit + Windows 7 Enterprise SP1 U 64-bit / ForceWare 368.81 / New-Dark 1.26

Zontik

Возможно, папки не должны быть пустыми. Да не хочу даже гадать, наверняка ответ достаточно простой. Никакого лингвистического анализа содержимого не выполняется, это и так ясно.
ЦитироватьПри этом ещё вопрос -- почему English+Italian, а не Italian+English.
А этот-то вопрос откуда? У меня была одна папка - Italian. Ну и язык мне впарили один - Italian.
Дайте глазам отдохнуть! Тёмное место

Призрак Boris'а3000

Цитата: Zontik от 21 января 2019 17:10:57
Возможно, папки не должны быть пустыми.
Делал и непустыми. Правда, на итальянский лень переводить было.

Цитата: Zontik от 21 января 2019 17:10:57
А этот-то вопрос откуда? У меня была одна папка - Italian. Ну и язык мне впарили один - Italian.
Если б так, то ты не смог бы запустить английский вариант вообще, с удалённой строчкой language из darkinst.cfg. Я ж сказал -- описание твоего эксперимента указывает на English+Italian.
Или у тебя там совсем весело, и языковые папки и ещё где-нибудь прописаны.
Corsair HX1000i / Gigabyte GA-X48-DS4 / Intel Core2-Quad Q9650@4.1GHz / Hynix 8GB DDR2-800@1100MHz /
EVGA 6GB GDDR5 <GeForce GTX 980Ti> K|NGP|N Edition / Creative SB X-Fi Xtreme Gamer Fatal1ty Pro Edition /
2xSSD Intel X25-M 120GB в RAID 0 / Samsung SyncMaster 957MB (CRT 2048х1536) / UPS PCM SKP-2000A /
Windows XP Professional SP3 VL 32-bit + Windows 7 Enterprise SP1 U 64-bit / ForceWare 368.81 / New-Dark 1.26

Zontik

Скорее всего, я в панике что-нибудь напутал. Языки нормально регулируются этой строкой при наличии папок English и Italian, обязательно обеих. Вот это достоверно, проверил не один раз. А если какой-то не хватает, начинается малопонятная чехарда.
Дайте глазам отдохнуть! Тёмное место