Приветствую. Знаю, интересуюсь мелочами, но это необходимо. Существует на GUI такая функция, как Convert Externalized String (она так называется в самом интерфейсе, на коде же имеет название StringIdentity, что происходит от native'ки GetLocalizedString).
native GetLocalizedString takes string source returns string
function StringIdentity takes string theString returns string
return GetLocalizedString(theString)
endfunction
Blizzard дает к ней такую подсказку, как "Use this to make sure the given string will be externalized in the map string file (war3map.wts)." Я так понимаю (да и по самим названиям видно), что это имеет связь с локализацией для карт, т.е. добавление им мультиязычной системы отображения строк. Это все происходит путем какой-то проверки идентичности... Вопрос: как это работает и что собой представляет? Верны ли мои догадки?
Принятый ответ
Как оказалось, ответ был проще. Покопался в файлах карты, нашел wts-файл. В нем все расписано по блоках, причем содержатся все строки, даже описания новых объектов.
Например
STRING 3
Войска: n000 (Dummy), Name (Название (unam))
{
Dummy
}
Войска: n000 (Dummy), Name (Название (unam))
{
Dummy
}
При локализации карты изменяется этот файл, так как из него берутся значения. Также дела обстоят и с той функцией. Она берет строку из определенного блока. Думаю, вопрос можно закрывать.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Пушистый
Отредактирован Ige
Отредактирован Пушистый
Войска: n000 (Dummy), Name (Название (unam))
{
Dummy
}
Функция заставляет вынести строку в wts файл карты
Что даёт возможность редактировать её (эту строку), для организации локализации карты
Т.е. можно отредактировать файлик, и вставить в копию карты
В итоге у тебя будут одинаковые карты с разными wts файлами
В одном будет написано "Level / Item / Hero / Damage / Mana", а в другом "Уровень / Предмет / Герой / Урон / Мана"