+ Ответить в теме
Показано с 1 по 1 из 1

Тема: Инструкция по русификации модов

  1. #1
    Вождь краснокожих Аватар для Tomahawk


    Регистрация
    28.10.2015
    Адрес
    Новосибирск
    Сообщений
    243

    Post Инструкция по русификации модов

    Вы скачали интересную модификацию, а русский язык в ней не поддерживается, что делать? Можно сделать перевод "по-быстрому" для себя, или хорошо поработать в интересах всего сообщества, но тогда от вас потребуется хорошее знание не только английского, но и русского языка. В этом случае должна получиться именно русификация, а не какая-нибудь "руссефекацыя" В ходе перевода необходимо придерживаться реальных исторических или географических названий, соблюдать основную идею оригинального текста, чтобы не исказить задумки авторов. В некоторых случаях, когда описание юнита, здания и т.д. скудное, его можно дополнить своими предложениями. Итак, рассмотрим суть процесса.

    1) Для начала необходимо определиться с инструментом, который будет подсвечивать нам синтаксис. Я использую бесплатный "программерский" блокнот Notepad++.

    2) Текст как правило находится в одном или нескольких файлах XML, но некоторые создатели модов могли оставить его и в скриптах lua. Разберём оба случая.

    3) Находим файл XML, открываем. Текст может быть заключён внутри
    Код:
    <GameData>
        <Language_en_US>
            <Row Tag="TXT_KEY_NAME_ML_SAHARA">
                <Text>Sahara</Text>
            </Row>
            <Row Tag="TXT_KEY_NAME_ML_MAGHREB">
                <Text>Maghreb</Text>
            </Row>
        </Language_en_US>
    </GameData>
    - Первым делом меняем кодировку файла, чтобы наши труды не пропали зря ввиду появления крякозябр. В меню Notepad++ нажимаем "Кодировки \ Преобразовать в UTF-8 (без BOM)". Файл можно тут же сохранить, чтобы он остался в нужной кодировке и больше об этом не думать.
    - Переводим строки и у нас получается <Text>Сахара</Text> и <Text>Магриб</Text>, готово. Кто хотел перевести 2 слова, может дальше не читать. Это был перевод "по-быстрому для себя". Работать будет, но грамотнее сделать так, как описано ниже.

    Поддержка нескольких языков в модификации.

    Например, имеется файл "Text_EN.xml" с английским текстом. Скопируйте его в другое место и переименуйте в "Text_RU.xml", измените в нём кодировку на UTF-8 (см. выше).

    Английские тэги Language_en_US замените на Language_ru_RU.

    Переводите текст.

    Откройте главный файл мода *.modinfo с notepad++, в нём вы увидите строку наподобие:
    <File md5="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" import="0">All_Text/Text_EN.xml</File>

    Поместите в папку All_Text рядом с Text_EN.xml файл Text_RU.xml

    Добавьте в *.modinfo запись, должно получиться так:
    <File md5="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" import="0">All_Text/Text_EN.xml</File>
    <File md5="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" import="0">All_Text/Text_RU.xml</File>

    И не забудьте подцепить его к базе данных, добавив запись
    <UpdateDatabase>All_Text/Text_EN.xml</UpdateDatabase>
    <UpdateDatabase>All_Text/Text_RU.xml</UpdateDatabase>
    *файл с другими языками располагайте после файла с английским текстом.

    Пояснение как это работает. Игра по умолчанию ожидает увидеть английские тэги, и уже потом ищёт локализацию. Оригинальный текст вы оставляете, добавляете к моду только русский. Игра посчитает, что всё в порядке.

    Вместо XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX вы увидите что-то наподобие ABD5FA5416A63C4E062E3F9113215550, это контрольная сумма файла MD5. По сути она нужна только для того, чтобы определить изменения в файлах, например для выкладывания мода в Steam.
    Как посчитать контрольную сумму

    Удобно использовать программу HashMe, она прикреплена к этому сообщению ниже. Установите программу на ваш компьютер (проверялось на Windos 7 64). Теперь по нажатию правой кнопки по любому файлу в контекстом меню будете видеть пункт Hash (MD5/SHA-1/SHA-256/CRC-32). Нажимаете, открывается окно, отметьте там галочку Uppercase. Всё, теперь достаточно скопировать строку MD5.


    4) Вам может потребоваться изменить оригинальный текст самой игры, если модификация внесла какие-то изменения, а текст в игре по смыслу перестал с ней совпадать. Первым делом нужно найти оригинальный тэг в файлах из папки с Цивилизацией 5. Проблема в том, что каждый аддон вносил свои изменения, поэтому нужно поискать его среди обоих аддонов (папки Expansion и Expansion2), а в некоторых случаях и среди DLC. Придётся открывать все эти файлы и делать поиск по тексту. Итак, например мы нашли тэг описания Каравеллы в цивилопедии, чтобы изменить этот текст нам потребуется:

    Код:
    <GameData>
        <Language_en_US>
            <Row Tag="TXT_KEY_NAME_ML_SAHARA">
                <Text>Sahara</Text>
            </Row>
            <Row Tag="TXT_KEY_NAME_ML_MAGHREB">
                <Text>Maghreb</Text>
            </Row>
        </Language_en_US>
    
        <Language_ru_RU>
            <Update>
                <Where Tag="TXT_KEY_UNIT_CARAVEL_STRATEGY"/>
                <Set Text="Новый текст. На каравеллах типа плавали раньше. Было круто."/>
            </Update>
        </Language_ru_RU>
    </GameData>
    Обратите внимание, что обновление текста заключено в тэг русской базы. С точки зрения игры у неё уже есть файлы с английским текстом, мы обновляем здесь только то, что нам нужно.

    5) Некоторые англоязычные разработчики модов могут считать, что их язык единственный на Земле, или просто поленились, оставив текст прямо в lua-скрипте. Открыв скрипт в Notepad++, программа должна автоматически подсветить синтаксис. Текст будет выделен серым и заключаться по примеру "Random Islands Setting". Но будьте внимательны! Переводить нужно только те слова, которые вы уже видели при игре с этим модом, если не уверены - не переводите. Потому что если вы "переведёте" все серые названия, то кроме текста затроните и "служебные имена" (назову так для понимания). Это неизбежно испортит код скрипта.

    6) Если планируете делиться переводом с кем-то ещё, то вы просто обязаны провести полную проверку перед публикацией. Все тэги в XML должны быть закрыты, lua надо было переводить аккуратно, чтобы не стереть лишние кавычки и скобочки - иначе у игры съедет голова, она может вылететь произвольным образом и так далее. В Notepad++ нажмите на тэге </Row>, и если он подсветился фиолетовым цветом, значит закрыт правильно. Лучше проверить все тэги, дабы быть уверенными в качестве, это всё равно быстрее, чем потом искать возможные проблемы.

    Если по результатам перевода он получился качественный, то своим трудом можно поделиться в этом разделе, создав новую тему.

    С уважением, Tomahawk.
    Вложения Вложения
    продвинь это сообщение в соцсеть:  
    Последний раз редактировалось Tomahawk; 28.06.2016 в 16:30. Причина: Обновление инструкции

    Tomahawk's Collection for Civilization V - сборник модификаций. Качественный перевод и совместимость между собой.
    R.E.D. World War II - масштабный сценарий Второй мировой войны.
    Война Судного дня - сценарий войны на Ближнем Востоке, произошедшей в 1973 году.

+ Ответить в теме

Похожие темы

  1. Несовместимость русификации и модов
    от FRide в разделе Русификация Civilization IV
    Ответов: 4
    Новое: 23.09.2014, 16:06
  2. Просьбы русификации понравившихся модов.
    от Rusberg в разделе Модная Цивилизация
    Ответов: 5
    Новое: 10.12.2010, 21:22
  3. Как поставлять русификации стандартных модов?
    от swan в разделе Русификация Civilization IV
    Ответов: 9
    Новое: 08.02.2006, 21:34
  4. Стандартизация русификации модов
    от swan в разделе Русификация Civilization IV
    Ответов: 9
    Новое: 24.01.2006, 20:35

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru

free counters