Быстрый перевод мода Warband гуглом
Гайд по быстрому переводу мода с помощью гугл переводчика и сайта, который им успешно пользуется.
Для начала вам нужно прочитать основы перевода, особенно моменты про доставание оригинала из игры, информация про ID и селекторы. Также нужна программа Notepad++ и программа Translator. Для перевода будем использовать этот замечательный сайт.
Но перед гугло переводом лучше сравнить файлы оригиналов, возможно некоторые файлы почти не отличаются от native и можно просто взять перевод от native и доперевести этот файл. Как сравнивать файлы тоже написано в этой статье, сравниваю я программой WinMerge.
Копируем файлы, которые будем переводить и вставляем куда вам удобно, делаем это на всякий случай, чтобы вы оригинал не сломали. Переводить желательно с оригинала, например мод может быть китайский, а английский язык в нем только как рабочий, то есть для игры не подходит. Это значит, что с английского переводить не стоит. Нужно изменить разрешения файлов с csv на txt. Кликаем правой кнопкой мыши по файлу->свойства в названии файла после точки вместо csv пишем txt и сохраняем.
Дальше загружаем этот txt файл на этот замечательный сайт. Лучше чтобы он сам определил с какого языка нужно перевести, а то может подвиснуть, но можете ему помочь если он не справился с этим. Переводим на русский. Ждем пока переведет и скачиваем файл, пару раз было что он начинал переводить крайне медленно после того , как я несколько файлов закидывал, мне помогало изменения языка сайта или зайти на него немного позже. Также следите за тем, чтобы количество строчек оригинала и переведенного текста совпадало, пропажа пары строчек это не страшно.
После того как скачаете перевод, нужно обратно изменить с txt на csv. И название файла изменить на изначальное. Когда переведете все файлы приступаем к самому интересному, нужно выделить все переведенные файлы и открыть с помощью Notepad++. Если у вас в Notepad++ открыты какие другие файлы, то их следует закрыть.
Дальше будем использовать авто замену во всех документах, чтобы исправить то, что сломал переводчик. Нажимаем CTRL+F, чтобы быстро открыть и выбираем замену. Или через поиск->найти. Для начала восстановим строчки ID, это то что идет до символа |, без них не работает перевод и там не должно быть пробелов. Заменяем : (двоеточие) с пробелом на : (двоеточие) без пробела, как показано на скриншотах. Обязательно смотрите есть ли пробелы при авто замене, это можно сделать при помощи выделения. Также смотрите, чтобы стояли галочки в нужных местах. В данном случаем это зациклить поиск и режим поиска обычный. Нажимаем заменить все во всех открытых документах.
Также нужно заменить и другие символы, но учитывать пробелы с разных сторон. Например символ _
Заменяем:
- пробел_ на _
- _пробел на _
Также поступаем и с другими символами, такими как:
- |
- ^
- /
- +
Возможно автор мода будет использовать специфические символы в id, я лишь описал те, что встречал. С ними нужно провести те же операции, что и выше.
С ID пока закончили, перейдем к селекторам. Не забывайте что авто замена с английского может изменить ID, чтобы такого не случилось нужно использовать то чего нет в id, например пробелов там быть не должно, т.к. мы это исправляли, также вам поможет галочка в пункте только целые слова. Также я добавил пару исправлений для других онлайн переводчиков.
Меняем режим поиск с обычного на регуляр. выражен., галочку оставляем только в строчке зациклить поиск. Текст пишем без ковычек, я их использовал только для выделения текста. Как и раньше ищем или заменяем нажимая на строчку во всех открытых документах.
- В строчку "найти" пишем "({s )|({рег )|({имя игрока})|({имя пользователя})|({reg )|({имяигрока})"
В строчку "заменить на" пишем "(?1{s)(?2{reg)(?3{playername})(?4{playername})(?5{reg)(?6{playername})". - Также меняем "({рег)" на "(?1{reg)"
- Дальше нам нужно изменить регистры, ставим галочку на Учитывать регистр, но перед заменой проверим нет ли их в ID. Переключаем верхнюю вкладку с замены на найти и вбиваем в поиск "({S)|({Reg)". Если их нет в ID то переходим к 4 шагу, если их вообще нет пропускаем 4 шаг. Если они есть в ID, то вам нужно выбрать исправить ID позже или исправлять строчки вручную.
- Переходим во вкладку замена и меняем "({S)|({Reg)" на "(?1{s)(?2{reg)".
Дальше мы можем заняться до переводом обращений по полу (он или она, сир или мадам). Если они вам не важны можно и пропустить этот момент. Меняем режим поиска на обычный, галочка только на строчке зациклить поиск, но если вы понимаете как работает поиск по целым словам, можно и с ним поработать.
- Остались строчки типа "{reg11? her:him}", гугл может не перевести текст внутри скобок и там не должно быть пробелов. Они отвечают за обращение к персонажу в зависимости от пола, она или он. Нужно заменить "{reg11? her:him}" на "{reg11?ее:его}". Но номера в разных строках различаются, поэтому заменяем "пробелher:him}" на "ее:его}". Иногда встречается "{reg11? her:его}", то есть гугл перевел 1 слово. Тогда меняем "пробелher:его}" на "ее:его}". Но встречается не только "her:him", там могут быть различные значения. Можно запустить поиск по "{reg" во всех документах и вам выдаст строчки с ними, а там уже видно будет какие обращения. Этот селектор работает вне зависимости от того есть там 1 пробел после "reg11?" или нет, но в оригинале обычно нет пробела.
- Есть обращения типа "{сир/мадам}", но обычно гугл их переводит, но вы можете изменить текст внутри авто заменой как вам нравится, с сохранением скобок и знака конечно. Работает даже есть пробел слева и справа от /, но в оригинале обычно нет пробелов.
Далее нам нужно найти селекторы с лишними пробелам и убрать эти пробелы. Но убрать их придется в ручную. Галочка только на зациклить поиск, а режим поиска регуляр. выражен. В найти пишем это "({\sreg\d)|({reg\d\d\s})|({reg\d\s})|({\ss\d)|({s\d\d\s})|({s\d\s})" и ищем по всем документам, как обычно. Исправляем выделенное.
Дальше перейдем к исправлению пустых строчек. Хотя мы и исправляли их, гугл мог перевести слова в ID. Когда я переводил с китайского или английского оставалось где то 5% пустых строк. Их будем переводить вручную программой Translator. Возможно есть способ перевести их все сразу, но я его не знаю.
Если вы беретесь до переводить какой то файл этой программой, то вам нужно заполнить все пустые строчки, иначе она их сохранит и вместо встроенного английского текста мы увидим пустоту, даже если вы плохо знаете английский в этих строчках могут быть важные селекторы. Так что либо полностью переводите, либо не трогаете.
Для начала настроим программу и поставим русский язык. Нажимаем tools->configurator и выбираем русский язык, также тут можно настроить размер шрифта и прочие параметры, что на скриншотах, я везде галочки выставил.
Нажимаем файл->сравнить. Оба файла должны быть в формате csv. Там где старый текст ставим оригинальный файл. А в новый ставим то, что уже перевели. Нажимаем на метки (заголовок столбца) 2 раза, строчки станут красными и с буквой N, как на скриншоте.
Это вам отсортировали пустые строчки, нужно перевести оригинальный текст и заполнить пустые строчки в ручную. Возможно есть способ сделать это автоматически, но я его не знаю. Кнопка назад не работает, так что сохраняйтесь почаще, а то вдруг вы случайно измените ID или оригинал. И так с каждым файлом. При переводе конечно же сохраняем селекторы, переводите чем угодно, но когда я хочу перевести хорошо, я использую сразу 3 онлайн переводчика, это:
Не переведенные строчки можно найти сортировкой столбца перевода, в программе Translator. А чтобы найти оставшиеся английские слова с помощью notepad++ используйте этот гайд.
Перевод нужно закинуть в папку с модом->languages->ru, если ее нет то создайте. Все файлы должны быть в формате csv с изначальным названием.
Для сравнения я использую программу WinMerge, она на русском языке, скачать ее можно вот здесь. Но она разработана не специально под Mount & Blade, так что она не сравнивает строчки по ID. Поэтому она подходит только для сравнения похожих файлов с одним порядком строчек. Например можно сравнить английский текст натива с английским текстом мода на основе натива или один и тот же мод версии 1 и 1.2, что поможет узнать какие строчки были изменены в обновлении. Если например китайцы сделали мод на основе натива, то сравниваем китайские файлы, а не английские. Китайский и несколько других языков уже встроены в Warband, т.к. это официальный перевод.
Также есть момент, что строчки могут получится длинными, особенно актуально с китайским языком. А если они слишком длинные в каком то меню, то шрифт начинает уменьшаться и еле видно, что там будет написано или весь текст в 1 строчку и конец строчки не видно. Это также можно править авто заменой, например строчку "теперь у вас есть" можно заменить на "у вас". И тому подобное.
Еще момент, первая строчка в файле не переводится, поэтому там должна присутствовать пустая строчка или строчка, которая не используется в игре.
Перед использованием русификатора еще раз проверим через notepad++, чтобы кодировка была UTF-8 без BOM (Кодировки в верхнем меню). И чтобы все файлы были в формате CSV и названия файлов совпадали с оригиналом.
Кто то может сказать, что это не особо быстрый способ. Быстрый он по сравнению с ручным переводом, если хотите быстрее то можете пропустить ту часть где нужно переводить строчки вручную и у вас будет переведено 90%+ скорей всего, довольно высокий процент. Как я уже писал у меня было 5% пустых строк, но я еще 5% подкинул, может вам что то сложное попадется.
Также в моде может присутствовать свой шрифт, который не поддерживает русский язык. В таком случаем вам следует удалить из папки мода font_data.xml в папке Data и font.dds в папке Textures. И поставить шрифт, который вам нравится, желательно мультиязычный (поддержка разных языков). Если в папке мода не будет шрифта, то будет использован шрифт из общей папки игры. Я предпочитаю шрифт из мода Русь 13 век. Можно вот здесь его скачать. Другие шрифты ищите в интернете.
Если в игре появляется ошибка "Unable to find", то возможно это ошибка из за русификатора. Для начала зайдите в игру на английском языке, если ошибка осталась значит дело не в русификаторе, а если нет, то читаем далее.
Писал по своему опыту, если есть дополнения пишите в комментариях.
Комментариев 39
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.