Неправильный формат .yml в игре "Stellaris" - PullRequest
0 голосов
/ 10 июля 2020

Я хочу проанализировать файлы yaml, содержащие локализацию для «Stellaris». Но все время у меня ошибка

"yaml mapping values are not allowed here"

Я использую pyyaml ​​. Основная проблема заключается в том, что все файлы локализации в игре имеют такие строки:

trait_ruler_immortal:0 "Immortal"

Но в документации по yaml и на форумах я вижу, что после двоеточия нужно ставить «пробел». Я не понимаю, что означает этот символ "0". Интересно, что у игры нет проблем с парсингом этих файлов. Может, это особый формат yaml?

EDIT:

Еще код: l_engli sh: cris.2087.desc_psionic_synth: 0 «Маленькое число» EXTSYNTH_DIVINE_SPARK: «Divine Spark» EXTSYNTH_START_AT_3: 0 «§GЛидеры этого вида начинают с уровня навыка 3§!»

1 Ответ

0 голосов
/ 10 июля 2020

Это недопустимый YAML согласно spe c. Вполне возможно, что Stellaris выполнит некоторую предварительную обработку, прежде чем передать файл загрузчику YAML. Мы можем только догадываться, что здесь происходит.

Лучшим анализом фрагмента, вероятно, является загрузка его в строку, а затем выполнение

input.replace(":0 ", ": ")

перед анализом.

...