Голосование

Как вы оцениваете Смуту?












Оформление



Пользователей
  • Всего: 28871
  • Последний: 123WwW2004
Сейчас на форуме
Пользователи: 3
Гостей: 279
Всего: 282

0 Пользователей и 1 Гость просматривают эту тему.

Тема: Вопросы по локализации игры и модов  (Прочитано 11590 раз)

  • Сообщений: 25781
  • За победу в конкурсе "Знамя кальрадийца" И создали они сайт... За регистрацию на форуме не позже сентября 2008 года
  • Сервер Discord
    • Просмотр профиля
    • Всадники Кальрадии
+3
« : 19 Декабря, 2011, 15:22 »
Как получить исходные файлы для их последующего перевода?
Делается это просто:
1. Переключаемся на английский язык (файл language.txt)
2. Запускаем игру
3. В самом первом окне заходим в Configure и включаем оконный режим (Start Windowed)
4. Выбираем необходимый Current Setting (Native или мод)
5. Начинаем новую игру
6. При появлении игровой карты нажимаем View/Create Language Template=>Default
7. В корневом каталоге игры появится папка new_language с исходными файлами

Не создались файлы hints.csv, ui.csv, uimain.csv. Где их взять?
Эти файлы общие для игры и всех модов. Если вы делаете перевод мода, а локализация для Native уже установлена, то их переводить не нужно. А английские файлы находятся в папке Mount&Blade\languages\en.
Примечание. Если локализация Native установлена, но для переводимого мода всё-таки хочется использовать свой вариант этих файлов, то можно их перевести и положить в ту же папку, где лежат остальные языковые файлы. В некоторых (а возможно и во всех) случаях это срабатывает.

Что именно нужно переводить?
Языковой CSV-файл имеет такую структуру: ID|text,
где ID - идентификатор строки (обычно имеет вид: bla_blabla_bla_bla),
text - содержание, отображающееся в игре

В какой программе лучше всего делать перевод?
Для этого прекрасно подходит самый обычный Блокнот, встроенный в Windows, или его аналоги. Сейчас я использую Notepad++. Перевод следует сохранять в кодировке UTF-8 (настраивается в окне "Сохранить как...").
Не советую использовать программы, форматирующие текст по собственному разумению (MS Word, например).

Excel форевер! Нафиг нужен этот блокнот?
Ой, как соблазнительно использовать Excel для перевода. Он и CSV-файлы открывает, и разделители понимает, и столбики в нём аккуратные, и строчки пронумерованные... Только вот при сохранении может текст переформатировать по-своему, и с кириллицей в кодировке UTF-8 он принципиально не работает. Очень не советую, если не хотите потом лишнего гемора с кракозябрами. А блокнот - одна из немногих программ, которая сохраняет текст без искажений. Вы много видели настоящих программистов, пишущих исходники в Ворде? Вот, а Экселем они пользуются ещё меньше.

А можно ли как-то облегчить процесс получения и перевода файлов?
Можно воспользоваться услугами M&B Mod Localiser.

Как заставить игру увидеть переведённые файлы?
Во-первых, эти файлы нужно поместить в папку Mount&Blade\Modules\...название модуля...\languages\ru.
Во-вторых, надо переключить игру на русский язык: в корневом каталоге игры изменить содержание файла language.txt с EN на RU.
После этого запустить игру.

Русские буквы не отображаются, одни кракозябры. Что не так?
Дело в кодировке. Все языковые CSV-файлы должны быть сохранены в UTF-8. Это легко проверить: открываем файл блокнотом, нажимаем "Файл/Сохранить как..." и снизу смотрим кодировку. Она обязательно должна быть UTF-8. Если другая, то выбираем нужную и пересохраняем файл.

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

Почему в некоторых меню отображаются одинаковые строчки, хотя должны быть разные?
Это давний глюк модульной системы. Дело в том, что идентификаторы строк содержит не только языковой CSV-файл, но и исходный файл ресурсов игры, хотя общая структура у него другая. Движок игры определяет ID строки в исходном файле и подставляет значение строки с таким же ID из локализованного. И если в исходном файле разные строки идут под одним идентификатором, то и отображаться будет только одна строка.

Возьмём для сравнения исходный файл menus.txt и соответствующий ему языковой файл game_menus.csv. Если открыть оба файла блокнотом и сравнить, то можно заметить, что в исходном файле есть точно такие же идентификаторы строк, как и в языковом. И если вы поищете строку с ID= mno_continue, то найдёте несколько строк со значением Continue и по одной строке со значением Yes и No. К сожалению, игра сама не может определить какую строку в каком случае надо подставлять, поэтому в переводе всегда будет показано "Продолжить". Как же разделить строки? А просто. В обоих файлах мы изменим идентификаторы нужных строк: для просто Continue оставим без изменений, а для Yes и No переименуем идентификаторы соответственно в mno_continue_yes и mno_continue_no (если вы установили мою локализацию, то это уже сделано). Теперь в меню игры слова "Продолжить", "Да" и "Нет" показываются там, где надо.

Как сделать перевод приятным и привлекательным?
Очень просто: делайте проверку правописания, хотя бы для диалогов. Иначе можно здорово насмешить почтенную публику: как можно всерьёз воспринимать своего персонажа, если вместо битвы его хочется взять за ручку и отвести в школу?  Для этого надо сделать копию CSV-файла и пересохранить её в кодировке ANSI. Полученный файл открыть в Excel'е, удалить столбец с идентификаторами и включить проверку орфографии. Все найденные ошибки исправлять в оригинальном файле через блокнот.

Не могу проверить орфографию. Почему мой Excel не делит текст по столбикам?
Что ж, будем настраивать Excel. Тут вся фишка в разделителе: в игре используется "|", а в системе по умолчанию ";". Надо открыть Панель управления -> Язык и региональные стандарты -> Региональные параметры -> Настройка -> Числа и поставить | в строке "Разделитель элементов списка".

Хочу вставить перевод мода в инсталлятор. Как это сделать?
Надо создать текстовый документ и скопировать в него следующий код:


SectionEnd После сохранения меняем расширение с txt на nsi. Теперь это не просто текст, а установочный скрипт для инсталлятора NSIS (он бесплатный, качаем 1.5Mb с домашней страницы). Скрипт проверен на текущей версии NSIS 2.35, но должен работать и на более новых, пока там что-нибудь кардинально не поменяют.

У него нет визуального интерфейса, но пользоваться им просто:
1. В скрипте вместо NICKNAME пишем своё имя
2. Вместо всех MODNAME пишем название локализованного мода
3. Указываем версию перевода (по умолчанию стоит v1.0)
4. Копируем скрипт в папку с нашими локализованными файлами
5. Нажимаем на него правой кнопкой и в меню выбираем Compile NSIS Script (ясное дело, сам NSIS должен быть уже установлен)
6. В той же папке появляется файл Russian.exe
7. Запускаем, проверяем, радуемся.

« Последнее редактирование: 28 Июля, 2016, 16:10 от Vanok »
  • Ник в M&B: [RUSMNB]Vanok
  • Фракция: Вегиры
И помните: "Хватит набивать посты" (NightHawkreal)

СиЧЪ Total War СиЧЪ Total War
Сайт "Всадники Кальрадии" не является СМИ. Администрация не несет ответственность за высказывания и публикацию каких-либо материалов, сделанные любыми пользователями форума, в том числе посредством личных и публичных сообщений. Материалы, размещенные на ресурсе третьими лицами, могут содержать информацию, не предназначенную для лиц, не достигнувших совершеннолетия. При обнаружении на ресурсе материалов, нарушающих законодательство Российской Федерации, необходимо обращаться к администрации.
Сайт работает на быстром VPS/VDS хостинге от FASTVPS


Powered by SMF 2.0 | SMF © Simple Machines LLC