По поводу ert/json отвечаю:
1) ert-строки хранятся в сейве, но перезагружаются по F12.
2) json превосходит ert по множеству критериев:
+) json пары ключей-значений не привязаны к кнкретным файлам или именам. Их можно объявить/переопределить в любом файле и моде. Перевод может быть частичным. При этом для недостающих ключей будут использоваться значения из основного мода.
+) json-файлы редактируются в Юникод-формате. Можно открыть французский/польский/китайский/русский текст и даже их смесь на любом компьютере без крякозябр.
+) json-файлы поддерживают именованные параметры, не привязанные к языку (ERM/Lua/C/Pascal) или конкретным ЕРМ-переменным и индексам, что с введением именованных локальных переменных и вовсе становится MUST HAVE. "Тебя зовут @nick@", SN:T^...^/?s^text^/^nick^/$zHeroName$;
+/-) json-файлы переводов являются обычными ресурсами, а потому не хранятся в сохранённых играх и грузятся в память лишь один раз, но перезагружаются по F12.
+) json-ключи формируют словарь со скоростью доступа по имени O(log 2N). ERM использует линейный поиск числового индекса в огромном массиве O (n), но с меньшей константой.
-) В строках нужно хотя бы экранировать ", \ и символ перевода строки через \", \\ и \n соответственно, что не очень удобно. Я люблю языки с поддержкой переводов строк в строковых литералах а-ля PHP, но таковых мало.
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|