Доколе, доколе я буду видеть это?
Когда-то, а конкретно 20 лет назад, эту технологию знали многие, но спустя годы она была утеряна, я сейчас говорю про автоматическую локализацию карты для любого патча, начиная от 1.03 и заканчивая 1.32.10.
Неужели не у кого не было вопроса, а что же это за такая графа язык в MPQ editor'е
А весь наш текст находится в файле WTS, читаем подробнее о структуре файлов WC3
По умолчанию из карты считывается war3map.wts нейтрального языка
war3map.wts
STRING 1
{
LocaleTest
}

STRING 2
{
UNKNOWN
}

STRING 3
{
NODESCRIPT
}

STRING 4
{
UNKNOWN
}

STRING 7
{
Test String
}

STRING 8
{
Player 1
}

STRING 9
{
Player 2
}

STRING 10
{
Clan 1
}

STRING 11
// Units: hspt (Test Unit), Name (Name (unam))
{
Test Unit
}
Однако, если загрузить второй файл, то игра при проверке нашей локализации игры, прочитает уже файл war3map#0419
war3map#0419
STRING 1
{
ТЕСТ ЛОКАЛИЗАЦИИ
}
STRING 2
{
Не важно
}
STRING 3
{
Описание отсутствует
}
STRING 4
{
Неизвестно
}
STRING 7
{
ТЕСТОВАЯ СТОКА
}
STRING 8
{
ИГРОК 1
}
STRING 9
{
ИГРОК 2
}
STRING 10
{
Клан 1
}
STRING 11
Units: hspt (Test Unit), Name (Name (unam))
{
ТЕСТОВЫЙ ЮНИТ
}

Практика

С теорий разобрались, а теперь практика. Так как мы на XGM, где преобладает русскоговорящее комьюнити, то основной язык у нас будет русский, а язык перевода - английский, и я рекомендую работать именно так, и никак не наоборот (основной английский, перевод русский).
Вот допустим мы сделали свою карту на русском языке, у нас там способности, куча текста в триггерах и так далее, пришло время её перевести.
  1. Извлекаем war3map.wts из карты в любое удобное для нас место
  2. Переводим все строки или выборочно, например я переведу только 1 способность в STRING 12
STRING 12
// Способности: Asps (Похищение магии), Tip (Подсказка: используется)
{
Похищение Русского языка (|cffffcc00T|r)
}
ну и напишу там вот так вот
STRING 12
// Способности: Asps (Похищение магии), Tip (Подсказка: используется)
{
Stealing russian language (|cffffcc00T|r)
}
Да простят меня англоговорящие
  1. Переименовываем war3map.wts в war3map1.wts, чтобы его не перезаписало при импорте
  2. Помещаем наш файл war3map1.wts в корневую папку карты
  3. Устанавливаем нашему файлу локализацию => Установить язык файлов
  1. Переименовываем, чтобы в конечном итоге получилось вот так:
Всё наш файл превратился в war3map#0409.wts
ВАЖНО
Манипуляции по добавлению файла перевода, необходимо будет проводить в самую последнюю очередь, все переводы будут удалены при сохранении карты в World Editor.
Остаётся только проверить, английской версии 1.26 у меня нет, поэтому я буду проверять на Рефордже, но поверьте и на более старых патчах всё будет работать.
И помните, чем древнее ваш способ, и патч на котором вы работаете, тем вы круче (С), но и про современные способы не забываем
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
23
Bergi, Я хотел уточнить что проблем именно с кэшем и синхронизацией нет во всех версиях варкрафт. Это так?
33
Ну мелкие проблемы может и есть, глобально вроде как нет
25
Хочу и сам попробовать перевести какую-нить карту на английский или на русский, для образца, кидайте свой пример, мб что получится
Ооох, теперь выскажусь я. Берите карту Игру в кальмара и смотрите, как мы там реализовали перевод.

Выскажу несколько моментов, которые хотел бы подчеркнуть:
МнОгА бУкАф
  1. Если основной язык по умолчанию будет будет русский, то и карта у не англоязычных интерфейсов (к примеру китайских, корейских, португальских, испанских французских и тд) будет русским, что ооооочень не круто когда весь мир лучше понимает инглиш нежели наш родной русский. Именно по этой причине по умолчанию язык мы ставим английский. А вот для русских уже локализируем игру, чтобы только у русских игра была русской, а у всех остальных на инглише (извините за столько повторов русский).
  2. По поводу триггерного текста и кода. Обычно одна полная строка попадает в файл спокойно. А вот уже разделение по подстрокам в файл не записывается. Но если мы таки хотим записать этот текст по кускам - то можно использовать функцию Externalized string("текст"), которая насильно запишет кусок вашего текста в файл. Эта функция есть даже в 1.26а варике.
  1. Есть момент или баг, что если по стандарту у вас стоит инглиш и есть локализация на русский, то разрабатывать карту должны с английской версией варика (в рефордже, про 1.26а не знаю). Ибо если у вас в варике указана русская локализация, а вы сохраните карту где основной перевод инглиш и есть русская локализация - то оно заменит основную инглиш на русскую, то есть основной станет русская локализация а инглиш потеряется. Скорее всего это баг рефорджевской версии.
  2. Исходя из 1 пункта, карту желательно разрабатывать изначально на инглише. Но если у вас с ним все очень плохо, то можно делать карту на русском, а в конце, когда можно выпускать карту в свет и весь основной контент готов, копируете .wts файл и делаете его как русская локализация (не забываем делать бекапы), а в файле по умолчанию все переводите. Оооооооочень не советую кидать весь текст разом в гугл переводчик. Лучше по предложению отдельно каждый string_XXXX переводить и по своему скилу стараться замечать, те-же фразы используются под вашими словами или берутся снова другие и править сразу текст. Муторно, зато ошибок будет гораздо меньше, и править меньше, и менее стыдно будет потом показывать другим свою работу. (хотя наша карта сделана тоже не идеально и все равно стыдно местами XD )
  3. Еще подмечу, что так-же можно локализировать картинки и звуки, да вообще любой импорт, как минимум в Рефордже. Просто закинув в папку со соответствующей локализацией.
И да, после ЛЮБОГО изменения в строке (в ро это или в триггерах) строку снова надо локализировать и импортировать локализацию. Очень запарно при создании обновы, но привыкнуть можно. Зато играешь с иностранцами спокойно, даже если у тебя интерфейс русский а у них английский будет :)
33
А это разве наши проблемы? что у португальцев будет русская локализация? пусть или ставят себе инглиш или учат русский, я намеренно это именно так и написал, я знал о последствиях, ну в любом случае поменять файлы местами не составит труда, самое сложно это осилить сам перевод и сделать его качественно.
Ну, а про рефордж отдельная статья есть, спасибо.~konvan5, спасибо огромное за дополнение!
25
А это разве наши проблемы?
Игроки не разрабы :)
Игроки, сущность ленивая, разбираться не станут и просто скипнут ваш шедевр :)
Раз уж делать локализацию и тратить свое время на это, то для большего охвата ничего не стоит инглиш сделать основным языком а русский локализацией для русских.
И это такой каеф, когда разные игроки с разных стран сидят в твоей карте с английским интерфейсом, а тем временем у русских игроков русский язык и все всё неплохо понимают что делать. Могут прочитать и подсказывать друг-другу.

Bergi
Ну только посмотри на это видео, на эту реакцию, когда и вопросов к карте нету за непонимание происходящего. Когда игроки тупо веселятся и не парятся над текстом :D
(при этом язык у чела не инглиш и не русский, да и вряд-ли бы русский понял бы :D )
8
konvan5:
Все-таки английский язык, людей из разных стран, знают больше, чем русский язык, и стоит понимать про эту вещь, о чем я могу согласиться с Конваном.
Я до сих пор считаю, что лучше все таки разделять карты на разные версии, и делать приписку ENG, RU, и тд, по мне это самый лучший способ, так же если перевод планируется не на финальную версию, то можно развивать свою карту, в разную сторону, допустим в русской версии ты понял, что карта пошла как-то не как ты хотел, реализуешь это в английской версии, по сути можно для себя разные пути в принципе сделать для одной карты таким способом.
Еще конечно есть способ с опросами, когда либо админ, либо игроки голосуют за выбор языка.
Есть еще диалоговые клавиши, как в Маньяке с Пилой, когда у каждого человека, может быть выбран свой язык.
Но способ, описанный в статье, для меня бы не подошел думаю, но для других людей, надеюсь подойдет.
В любом случае спасибо за статью!)
33
Все-таки английский язык, людей из разных стран, знают больше, чем русский язык, и стоит понимать про эту вещь, о чем я могу согласиться с Конваном.
Я и сам согласен, но это в корне не правильно, у нас вообще огромное количество русскоговорящих, делает карты только и сразу на английском типа для "охвата", это совершенно не правильно, они принижают свой язык, свою культуру.
8
Все-таки английский язык, людей из разных стран, знают больше, чем русский язык, и стоит понимать про эту вещь, о чем я могу согласиться с Конваном.
Я и сам согласен, но это в корне не правильно, у нас вообще огромное количество русскоговорящих, делает карты только и сразу на английском типа для "охвата", это совершенно не правильно, они принижают свой язык, свою культуру.
Ню, в данном случае, да, я не понимаю тех людей, кто только на английскую аудиторию работает, когда при этом человек русскоговорящий, и вполне можешь на русском языке карту сделать, или изначально можно было сделать так, но это уж воля такова у людей, видимо считают, что так правильно.
25
Я до сих пор считаю, что лучше все таки разделять карты на разные версии, и делать приписку ENG, RU, и тд, по мне это самый лучший способ, так же если перевод планируется не на финальную версию, то можно развивать свою карту, в разную сторону, допустим в русской версии ты понял, что карта пошла как-то не как ты хотел, реализуешь это в английской версии, по сути можно для себя разные пути в принципе сделать для одной карты таким способом.
Перевод в любом случае придется делать для 2 версий, а так ты еще и карту будешь делать 2 раза :D
+ так будут русские играть только с русскими и остальные только на инглише. А локализация позволяет в одной игре играть всем, и русским и англоязычным людям с полным пониманием происходящего.
8
konvan5:
Карту, не обязательно делать два раза) Я говорю если ты прямо делаешь карту, ты можешь сделать разделение в двух версиях, а перевод лучше осуществлять в финальной версии, когда человек считает, что более менее все сделано, тут даже не нужно карту второй раз делать, просто нужно переводить только будет.
Ну, а есть смысл такое делать, когда люди в принципе привыкли, когда такой локализации прямо нету? Может быть конечно где то это и может понадобиться, но а так обычно, я не видел, что кто-то так пытался сделать. Обычно для наших регионов используются следующие языки: Русский и Английский, русскоговорящий человек скорее всего играющий с людьми говорящими на англ языке, будет знать англ хотя бы на минимальном уровне.
22
использую в карте легендарной, вроде рабочее
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.