2.9.11:  Добавлена %T(ключ_переводимой_строки_из_json) интерполяция в ^...^ строках. Теперь переводы без параметров можно вставлять напрямую. 
 
2.8.4:  Все языковые файлы Lang/*.json загружаются и из папки карт (например, Maps/Arrogance/Lang/arrogance.json), а также записываются в сохранения и подгружаются при загрузке игры. Таким образом можно выпускать карты с поддержкой перевода. 
 
2.8.3:  Улучшен синтаксис json-файлов (Mod\Lang\*.json, UTF-8 encoding). Поддерживаются вложенные объекты. В json объекты — множества вида ключ - значение между фигурными скобками. 
 
       {         "wogrev": {           "no_gold_message": "Нет больше золота, @name@!",           "no_mercy":        "Пощады не будет!"         }       } 
 
       Выше приведённый документ аналогичен следующему: 
       {         "wogrev.no_gold_message": "Нет больше золота, @name@!",         "wogrev.no_mercy":        "Пощады не будет!"       } 
       Но вместо постоянного повтора с префиксом имени ввода используются вложенные ключи. 
 
 
2.6.2:  Добавлена поддержка локализации ЕРМ скриптов. Все Lang\*.json файлы грузятся и объединяются в один словарь типа ключ => значение, в котором хранятся строки с переводом. 
Json файлы должны сохраняться в кодировке UTF-8, предпочтительно с Unix маркерами концов строк (#10 = 0x0A в качестве разделителя строк). Формат файлов следующий: 
       {         "уникальный глобальный ключ-ID строки": "перевод строки",         "другой ключ": "перевод другой строки"       } 
 
Во время загрузки текст автоматически конвертируется из кодировки UTF-8 (Юникод, например китайской и польский тексты) в локальную кодировку ANSI, используемую операционной системой игрока. Для русскоязычного сегмента пользователей это чаще всего Windows-1251 (Кириллица, она же CP-1251). 
Таким образом вы имеете возможность поставлять перевод, который другие люди могут открыть и редактировать без потери данных или превращения строк в нечитаемый текст. Символы, которые не могут быть представлены в кодировке ОС пользователя, в игре будут заменены на '?'. 
 
Реальный пример:       {         "eqs.this_day_savegame_name": "@day@_@player@",         "eqs.end_turn_autosave_name": "@day@_@player@_End",         "eqs.quicksave_name":         "@day@_@player@_Quick",         "eqs.saved_msg":              "Сохранено!",         "eqs.quicksaved_msg":         "Быстрое сохранение!"       } 
 
Рекомендуется давать префикс каждому ключу в виде аббревиатуры моды или имени автора, например "pm." для Феникс-Мода. 
 
Переводы могут также содержать подставляемые параметры в виде "@имя параметра@". Такие параметры заменяются на конкретные значения во время перевода. 
Новая ЕРМ команда !!SN:T служит для получения перевода по ключу. 
!!SN:T(ключ)/?(z-переменная, куда записать перевод)/(имя параметра 1)/(значение параметра 1)/(имя параметра 2)/(значение параметра 2)...; 
 
test.json: 
 
     {       "test.gold_amount_report": "У Вас осталось @gold@ золота. Не плохо!"     } 
 
!!SN:T^test.gold_amount_report^/?z2/^gold^/2000; z2 = "У Вас осталось 2000 золота. Не плохо!" 
 
------------------------------------------------ 
 
2.47.0:  Добавлена возможность глобального перенаправления ресурсов через JSON файлы. 
Data\Redirections\*.json 
 
Format: 
 
       {         "старое имя ресурса": "новое имя ресурса",         "старое имя ресурса": "новое имя ресурса"...       } 
 
 
Папка "Data\Redirections\Missing\*.json" работает схожим образом, но перенаправления применяются только к отсутствующим ресурсам. 
Например, можно удалять часть картинок вроде zpic1005.pcx и перенаправить их на другие, всё ещё присутствующие в lod/pac файлах. 
Вы можете прописать такие перенаправления, если ваш мод зависит от другого графического мода, но вы хотите дать пользователям возможность 
использовать его и в отдельности.
			 
			
			
  
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов 
Поддержать проект 
			
		 |