02.08.2017, 08:19
Народ, подскажите, как обратно запаковать игру в archive.rpa?
Создание перевода средствами RenPy
|
02.08.2017, 08:19
Народ, подскажите, как обратно запаковать игру в archive.rpa?
04.08.2017, 06:01
(последнее изменение 04.08.2017, 08:15 4a62919c.
Причина: Добавлено сообщение
)
Второй вопрос. Нужно перевести строку:
Код: show text "{color=#FFFFFF}Bla-bla-bla{/color}" Делаю замену: Код: show text _("{color=#FFFFFF}Bla-bla-bla{/color}") В файле перевода меняю текст: Код: old "{color=#FFFFFF}Bla-bla-bla{/color}" А при запуске проекта выскакивает сообщение: Цитата:'text' takes a single string parameter Что я делаю не так? P.S. Догадываюсь, что во всём виноват "{color=#FFFFFF}", но как исправить не знаю. Добавлено сообщение: 04.08.2017, 08:15 Разбил строку на 3 части(хз, можно так делать или нет): Код: show text "{color=#FFFFFF}" + _("Bla-bla-bla") + "{/color}" Ошибка пропала, в файл перевода текст добавляется, но перевод не цепляется.
09.01.2018, 11:22
Такой вопрос.. А где в RenPy прописывается шрифт? Иногда нужно заменить, а где это находится - не знаю
09.01.2018, 13:03
(последнее изменение 09.01.2018, 13:04 d7594d31. Правлено 1 раз.
Причина: мелкие правки
)
@86bf37bf, https://www.renpy.org/doc/html/text.html#fonts
Конкретнее сказать можно только глянув на игру.
23.02.2018, 16:59
Добрый день.
Пытаюсь сделать билингвистический перевод по схеме указанной в шапке. Я слегка далёк от любого кода, поэтому попробую объяснить как могу. Запускаю SDK. Создаю новый проект, под него лаунчером создаётся папка, в этой папке всё кошу и бросаю туда игру(всю полностью), которую надо перевести. Нажимаю создать перевод, и получаю ошибку. "Ошибка. Запуск проекта провален.Пожалуйста убедитесь, что ваш проект запускается перед использованием этой команды". При этом сама игра работает. Внимание, вопрос. Что я делаю не так?
Хочется завернуться в тёплый плед, пить горячий шоколад и смотреть "Justified".
Но приходится вкалывать по 14 часов в сутки 7 дней в неделю и ненавидеть весь мир. Блог
23.02.2018, 21:18
Есть предположение что он все таки не работает.
Точнее он собранный работает, но не собирается. поэтому предлагаю вычистить из проекта *.rpyc файлы и попробовать снова
Открыт к предложениям проектов по python\renpy
24.02.2018, 05:38
@90748021, глупый наверное вопрос.
Вычистить .rpyc из папки "game" или всего проекта? Может вообще только папку "game" в проект закидывать? Потому как проект запускается и через .exe и через SDK, но перевод достать не могу. Пробовал удалить .rpyc из папки "game", но результат тот же, и файлы .rpyc волшебным образом восстанавливаются. Пробовал также вычистить содержимое папки "cache" в игре. Тоже восстановилось. И всё та же ошибка. ![]()
Хочется завернуться в тёплый плед, пить горячий шоколад и смотреть "Justified".
Но приходится вкалывать по 14 часов в сутки 7 дней в неделю и ненавидеть весь мир. Блог
24.02.2018, 09:34
(02.08.2017, 08:19)4a62919c писал(а): Народ, подскажите, как обратно запаковать игру в archive.rpa? Не знаю как делают многие, я все разбирал/собирал через python и этот дешифровщик https://github.com/Shizmob/rpatool
24.02.2018, 12:57
(24.02.2018, 05:38)5a031b3c писал(а): @90748021, глупый наверное вопрос. Проект игры - это только папка game (насколько я помню). Остальное движек и питон. Файлы .rpyc восстанавливаются не "Магически". В момент запуска игры все исходные коды собираться в перпроцессорные байт коды python. Они и будут восстанавливаться в момент запуска, потому что SDK выдирает (пытается) по семантике вызовов определенных функцию renpy. Ты давно обновлял SDK?
Открыт к предложениям проектов по python\renpy
24.02.2018, 13:23
Обновляю прямо сейчас.
То есть в проект надо закидывать только папку "game" без файлов .rpyc? Кстати они восстанавливаются и от попытки достать текст.
Хочется завернуться в тёплый плед, пить горячий шоколад и смотреть "Justified".
Но приходится вкалывать по 14 часов в сутки 7 дней в неделю и ненавидеть весь мир. Блог
24.02.2018, 14:04
(24.02.2018, 13:23)5a031b3c писал(а): Обновляю прямо сейчас. Система питона (языка на котором написан renpy) такова, что он будет использовать *.pyc если они есть и они соотв исходнику. соотв само собой что они обновляются - тк по сути именно они и есть код, который запускается внутри. Отсутствие rpyc файлов в начале процесса гарантирует, что созданные rpyc файлы текущим интерпетатором будут той же версии и с той же линковкой (если она там есть) что и текущая версия движка..
Открыт к предложениям проектов по python\renpy
18.03.2018, 20:32
(последнее изменение 18.03.2018, 20:32 13aea73a. Правлено 1 раз.
Причина: мелкие правки
)
Господа, словил такой баг. Есть у меня файл "translations", куда запилена всю эта лабуда
Код: config.translations[u'Developer Menu'] = u'Меню Разработчика' и т.д. Так вот этот файл напрочь отказывается переводиться обратно на инглишь. В старой игре все отлично работало. Пробовал добавлять _(""), но движок просто отказывается создавать файл перевода. В чем может быть косяк?
19.03.2018, 11:22
(18.03.2018, 20:32)13aea73a писал(а): Господа, словил такой баг. Есть у меня файл "translations", куда запилена всю эта лабудаа ну дай сам файлик? (ну и попробуй в __(двойное подчеркивание) обернуть)
Открыт к предложениям проектов по python\renpy
19.03.2018, 22:25
(19.03.2018, 11:22)e44a1cb9 писал(а): (ну и попробуй в __(двойное подчеркивание) обернуть)Попробовал, не помогает ![]() Вот ссыль
19.03.2018, 22:54
(последнее изменение 19.03.2018, 23:06 e44a1cb9. Правлено 1 раз.
Причина: мелкие правки
)
(19.03.2018, 22:25)13aea73a писал(а):(19.03.2018, 11:22)e44a1cb9 писал(а): (ну и попробуй в __(двойное подчеркивание) обернуть)Попробовал, не помогает "Пааанятна"... Он не "не генерирует" файл. Просто ты не там их ищешь. Проверяй файлы перевода common.rpy(rpym). Есть не нулевая вероятность что там все твои строки На удивление у меня "эта фиговина" с легкостью генерирует файл перевода по твоему rpy. Так что скорее всего я прав - и все эти строки у тебя уже входят в какой -то из файлов перевода. Попробуй "сделать пару ошибок" в той же новой игре и посмотреть, сгенерит ли после этого он перевод
Открыт к предложениям проектов по python\renpy
20.03.2018, 12:33
(последнее изменение 20.03.2018, 12:41 13aea73a.
Причина: Добавлено сообщение
)
@90748021, Проверил все переведенные файлы, нигде ничего лишнего нет. Если делаю ошибки в этом файле, то перевод проваливается. Но в переведенном файле common лежат некоторые оригинальные английские реплики, как бы ожидающие перевода на русский. Но их игра как бы игнорирует.
Добавлено сообщение: 20.03.2018, 12:41 Кажется, я понял свой косяк. Я подставил _() к строчке "Новая игра". Но эта строчка есть в другом файле, и видимо движок проигнорил ее. Попробовал подставить к другим строчкам, и файл создался, все заработало вроде.
20.03.2018, 13:24
(20.03.2018, 12:33)13aea73a писал(а): @90748021, Проверил все переведенные файлы, нигде ничего лишнего нет. Если делаю ошибки в этом файле, то перевод проваливается. Но в переведенном файле common лежат некоторые оригинальные английские реплики, как бы ожидающие перевода на русский. Но их игра как бы игнорирует. Угу, он "строки" генерит один раз для перевода.
Открыт к предложениям проектов по python\renpy
20.03.2018, 14:57
19.01.2019, 18:19
(последнее изменение 19.01.2019, 18:30 3c8be94a.
Причина: Добавлено сообщение
)
всем прив
поможите с переводом плиз. не пойму какие файлы переводить в ренпай чтобы не поломать игру сама игра take over заранее спасибо Добавлено сообщение: 19.01.2019, 18:30 я прямо код переводить пробую ,мне так понятнее , я так все игры переводил . для себя , даж на qsp и твин как то оно мн проще когда видишь код . вот как тут перевести ,чтобы не поломать , наверное тут тот же порядок как и у qsp ?
20.01.2019, 13:40
(последнее изменение 20.01.2019, 13:50 478e3b37. Правлено 2 раз.
Причина: мелкие правки
)
(19.01.2019, 18:19)3c8be94a писал(а): всем прив Практически полный гайд про перевод игр на движке RenPy Изначально подразумевается, что у тебя уже файлы распакованы. Переводить на renpy можно двумя способами:
Первый способ при твоем тестировании будет выдавать ошибки с завидной регулярностью, что поможет начать в нем шарить, если хватит терпения. Кроме того, при переводе первым вариантом и при загрузке старых сохранений, игра так-же будет с завидной регулярностью выкидывать ошибки, поэтому каждый раз при тестировании - "новая игра". Чтобы ничего ненароком не поломать - перечитай первое сообщение в этой теме, там все относительно верно, за исключением вероятно, прописать выбор языка (оно стало менее актуально в том виде). Выбор языка можно сделать в игре несколькими способами: 1.Сделать выбор через настройки игры; 2.Сделать при запуске игры, до главного меню; 3.Сделать выбор на главном меню, в самом меню или отдельной кнопкой на экране. Разные методы потребуют написания разного кода, так к примеру для первого метода (через настройки игры), надо в файл screens.rpy В раздел Preferences с новым GUI прописать это: Код: vbox: общий скриншот
скриншот увеличено
А вот так это выглядит в игре
то же самое, но на русском
на старом GUI: Код: frame: скриншот, где примерно этот код нужно вписывать
В этом месте кода я прописал этот выбор
А вот так это выглядит в игре
Для второго метода: Можно прописать хоть в отдельный файл, хоть в какой-то из имеющихся, принципиально нет никакой разницы. Просто если будет отдельный файл, то ты его вероятно не потеряешь, если тебе придется вносить изминения... Назовем его к примеру change_language.rpy (ну или kaktopodrygomy, главное чтобы файл был обозван английскими буквами и расширение на конце имел .rpy) Кодировка файла должна быть utf-8, чтобы избежать проблем. Убедись что нигде в коде нету больше label splashscreen, если есть, то прописывай прямо в этот блок в конец того, что там есть, перед return следующие строки, только надеюсь догадаешься дважды label splashscreen: в label splashscreen: не писать. Пишем: Код: label splashscreen: При запуске игры, но до основного/главного игрового меню
Для третьего варианта, чтобы выбор языка появился в самом меню игры, надо проделать в файле screens.rpy кое-какие манипуляции, добавить строчки: Код: textbutton _("Russian") action Language ("russian") Свёрнутый текст:
В игре это будет выглядеть примерно так: Так это выглядит на русском
Так это выглядит на английском
Как внедрять вместо текста выбор языка картинкой. Что же касается внедрение переключения языка какой-нибудь красивой кнопкой на главном меню, тут все дело вкуса, и простых решений возьми это и скопируй туда - не существует. Главное тут надо опредилить, в каких координатах тебе надо эту конпку установить Например в Witch Trainer - Russian Edition (SadCrab) код устроен так: Код: imagebutton: Так это выглядит в игре
А так например в Pleasuremancer Код: imagebutton idle "gui/bouton_menu/fr.png" hover "gui/bouton_menu/fr_hover.png" action SetVariable("lang", "francais"), Language(None) xpos 50 ypos 450 Так это выглядит в игре на французком
Так это выглядит в игре на русском
Теперь о плюсах и минусах каждого из трех методов. Первый метод хорош практически всем, кто запустив игру догадается или докумекает в забугорском языке, как войти в настройки и переключить язык там. Ну мало ли там Арабская вязь или Японские иероглифы... Плюс: в любой момент можно переключать язык, даже на середине игры и для этого необязательно выходить в главное меню = удобно. Минус: какой-нибудь чайник может все таки, не найти (но я в этом сомневаюсь, но раз в год и палка стреляет). Второй вариант лично я не использовал, но плюс у него в том, что при запуске игры игрок сразу выберет, на каком ему языке изображать текст. Минус: При прохождении игры и даже в главном меню переключить язык неполучится, если только дополнительно не прописывать возможность. Третий вариант. Плюс, такой-же как у второго варианта, возможность при запуске выбрать язык. Минусы: надо, найти/нарисовать кнопку, а потом еще искать и прописывать координаты, где эта кнопка должна быть на экране. Какой вариант выберешь дело твое. И немного еще зависит от самой игры, стиля меню. Что белать с квадратиками и другими тексто-графическими непотребствами Еще, мы же хотим чтобы вместо кракозябр и квадратиков нам выдавало русские буквы, а что делать если шрифт выбранный разработчиком не поддерживает Кириллицу? Тут есть два варианта нубский и продвинутый, но обо всем по порядку. Вариант первый - нубский. Смотрим в файлах игры какой используется шрифт, ищем такой его же, но с поддержкой кириллицы. Нашли поздравляем себя, что не пришлось тра.. заниматься дополнительно и шрифтом. Скачали, переименовали буква в букву с таким же, который уже в папке с игрой и радуемся. Если такого же шрифта с поддержкой кириллицы не нашлось, то тут тоже есть два решения, первый нарисовать шрифт самостоятельно, благо в интернете есть об этом туториалы. Или же подобрать похожий шрифт на используемый в игре и скачав его закидываем в папку с игрой за место того, который без кириллицы. Вариант второй - продвинутый. Заходим в файл gui.rpy или если используется старый интерфейс ищем по всем файлам упоминания "font", нашли поздравляем себя. В данном случае файл gui.rpy, смотрим на буквы после define Код: ## Шрифт, используемый внутриигровым текстом. Создаем новый какой-нибудь файл, чтобы не путаться... что-то типа translation_style.rpy, я закидываю его в папку tl примерно так: Свёрнутый текст:
Код: translate russian style kakoytostlyle: параметр size - отвечает за размер, можно как сделать шрифт крупнее , так и мельче. Шрифт должен находится в папке game, если его положить в папку с переводом, то и путь должен принять вид Код: translate russian style kakoytostlyle: Свёрнутый текст:
После слова size идет название шрифта, допустим мы хотим поменять шрифт, на другой и размер текста выставить на 10, чтобы помещался в нужную нам область, которым отображаются имена персонажей... смотрим в файл gui.rpy или см.выше по тексту было: Код: ## Шрифт, используемый именами персонажей. Код: translate russian style gui.name_text_font: Код: translate russian style gui.name_text_font: Код: translate russian style gui.name_text_font: Как примерно этот файл может выглядеть, тут не принципиально, просто вписываем, как хотим чтобы игра изменила стили: Код: translate russian style gui.name_text_font: Разработчик может, кроме стандартных трех стилей, добавить еще вагон и маленькую тележку в свою игру. Ищем во всех файлах игры ключевые слова font и style прописываем для стилей новые параметры в наш файл, если это требуется. Вообще в файле gui.rpy с русскими комментариями все намного понятнее, чем брать оригинальные, забугорские. Надеюсь эта статья кому-то пригодится... Эх, мне бы эти знания, год назад... ![]()
24.05.2019, 05:35
Можно ли перевести то, что напрямую не переводится? (ошибки игры летят)
И можно ли как-то "выдрать" из кода тот текст, который ренпай сам не выдирает? (при создании перевода файлы создает, но некоторые пустые...)
10.08.2019, 00:20
@5b869a42, Вообще можно(см. мой длиннопост выше. вариант №1), но без знания языка программирования RenPY, практически - не реально.
Выдрать то, что не выдирается - тоже можно, но проблема в том, что в таком случае все такие слова будут заменятся 1 вариантом, а двух вариантов такого перевода - быть НЕ ДОЛЖНО! Правило/ограничение RenPy Например: bottom будет переведено для конкретного варианта допустим как попа А в определенном месте, как раз будет совпадение, но к примеру по смыслу там подойдет к примеру дно, но оно у тебя будет все равно как попа(ну т.е. зад) Поэтому этот метод не такой гибкий. И не надейся подогнать окончания слов, все равно будет ломаный-странный "моя твоя не понимать" Прикинь, читаешь такой новеллу, а там "У нее такая прекрасная попа", а далее по тексту "ДНО" а должно быть "У нее такая прекрасная попа", "ПОПА" Надеюсь я разъяснил нюанс, такого метода. Но если ты решил, все равно его использовать, то все, что тебе надо сделать, это заключить необходимые слова, которое Renpy SDK не подхватывает, взять в такую конструкцию _("*") Например: "word" должно в итоге получится _("word") После прогнать через SDK -> создание перевода. Добавятся новые строки в конец файла. *Да, этот метод работает не на 100%, а примерно на 95-98%, бывают хитрые заковыки, которые даже этим методом не берутся.
11.08.2019, 02:16
Надумал попробовать перевести одну игру, но не могу декомпилировать файлы .rpyc... Извлёк архивы и декомпилировал с помощью UnRen, но мало того, что в итоге не все файлы получили .rpy, так ещё и игра запускается с ворохом ошибок, которые хз как исправить. Извлёк архивы с помощью RPAExtractor, но хз как декомпилировать, но так хоть игра нормально работает. Что я делаю не так? Как подготовить всё для перевода? Разработка игры завершена, думал переводить сразу в скриптах. С одними играми нет таких проблем, но с другими такая вот катавасия, и таких игр всё больше (по крайней мере, проблемы у меня).
11.08.2019, 07:04
(11.08.2019, 02:16)ddc33f5a писал(а): Надумал попробовать перевести одну игру, но не могу декомпилировать файлы .rpyc... Извлёк архивы и декомпилировал с помощью UnRen, но мало того, что в итоге не все файлы получили .rpy, так ещё и игра запускается с ворохом ошибок, которые хз как исправить. Извлёк архивы с помощью RPAExtractor, но хз как декомпилировать, но так хоть игра нормально работает. Что я делаю не так? Как подготовить всё для перевода? Разработка игры завершена, думал переводить сразу в скриптах. С одними играми нет таких проблем, но с другими такая вот катавасия, и таких игр всё больше (по крайней мере, проблемы у меня). Короче, ты все делаешь не так ![]() Сейчас напишу, что тебе надо сделать: Во первых возьми чистую игру, без своих экспериментов с UnRen и RPAExtractor над нею. Как пользоваться UnRen.bat. Запускаешь скрипт, выбираешь там 1, этим ты *.rpa файлы распаковываешь в *.rpyc, после того, как скрипт отработал, нажимаешь 1, чтобы вернуться снова в меню батника и выбираешь 2. Так ты *.rpyc файлы разберешь в *.rpy с которыми уже сможешь работать. После того, как твой батник отработал ВАЖНО!!! Удалить из папки с игрой все *.rpa файлы-архивы!!! И если ты выберешь 9, то у тебя игра при запуске тоже будет ругаться, потому, как там лишние файлы создаются. Короче, сперва 1;1;2; выход; удалить все *.rpa файлы Иначе ты не сможешь запускать игру. Ну а дальше, переводи на сколько у тебя позволяют знания. И вообще, как ты собрался переводить игру, если не можешь перевести то, что тебе батник пишет... хм интересный Вопрос!!! ![]()
15.08.2019, 11:24
(последнее изменение 15.08.2019, 11:25 d5db981a. Правлено 1 раз.
Причина: мелкие правки
)
(20.01.2019, 13:40)478e3b37 писал(а): Вот его и вписываемПривет, попытался так сделать, меня послали далеко и на долго. Свёрнутый текст:
Код: translate russian style gui.text_font: Код: I'm sorry, but errors were detected in your script. Please correct the В учебной игре предлагают это делать несколько иначе: Код: translate russian python: Свёрнутый текст:
При этом если просто заменить в коде шрифты Код: define gui.text_font = "Oswald-Light.ttf" Всё отображается корректно. Свёрнутый текст:
15.08.2019, 18:38
(15.08.2019, 11:24)d5db981a писал(а):(20.01.2019, 13:40)478e3b37 писал(а): Вот его и вписываемПривет, попытался так сделать, меня послали далеко и на долго. По поводу трейсбека Дословно тебя игра тролит на счет отступов, советует их убрать ;) А зачем ты код замены вписал в оригинальный файл игры? game/gui.rpy? У меня же черным по белому написано, создай новый файл *.rpy(название может быть любым, но на англицких буковах, например style.rpy и в таком тоне) и помести туда строку... И закинуть его можно к файлам где и перевод сидит - не принципиально. Вот и посылает тебя далеко и надолго пешочком, что ты нарушил структуру питона ![]() Да, можно и как в учебной программе СДК(тоже вариант-второй), ошибка заключается в том, что у тебя файл шрифта не подхватывается, либо ошибка в написании либо ошибка в пути к файлу и ренпай автоматически подбирает старый шрифт. Либо заменяемый тобой файл не имеет русского языка. Это у тебя Oswald-Light.ttf мозг любит его и смотри. (И вообще он кажется в оригинале не так выглядит, как у тебя и в нем нет русского...) http://allfont.ru/download/oswald-light/ А вообще можешь закинуть свои шрифты в папку с переводом, чтобы не путаться, а в код добавь пути Код: translate russian python:
15.08.2019, 19:52
(последнее изменение 15.08.2019, 20:21 d5db981a. Правлено 3 раз.
Причина: мелкие правки
)
Wasya2009
Ну это было сделано еще до ознакомления с гайдом ![]() Наличие/отсутствие отступов, абсолютный/относительный путь до шрифта не влияют на ошибку. Собственно на первом скрине, весь текст должен отображаться Гисмондой, также как на втором. С другим шрифтом проблема сохраняется. Вроде никаких ошибок в написании нету, особенно учитывая, что половина текста отображается корректно. Тем не менее на первом скрине, Patreon написано оригинальным шрифтом, в котором как раз нет кириллицы. Похоже он подтягивает шрифт, но потом почему то для кнопок переходит на оригинальный шрифт (или наоборот) при этом второй вариант не даёт такого результата. Код: gui.interface_text_font = "Gismonda CYR.otf" Код: define gui.interface_text_font = "Gismonda CYR.otf" Свёрнутый текст:
16.08.2019, 17:20
(последнее изменение 18.08.2019, 05:58 478e3b37. Правлено 1 раз.
Причина: мелкие правки
)
Вроде бы?
![]() Тут всего несколько причин и ты методом исключения не можешь понять где именно? У меня тоже была проблема, не подхватывались русские картинки, оказалось оригинальная папка images а я обозвал ее image, и у меня естественно их не подхватывало. Вот и у тебя схожая беда. Я не телетайп, на расстоянии диагностики винчестеров не делаю, пути по космическому разуму не сверяю, так что ищите, Шура ищите. ![]() Я же тебе все вероятные проблемы начертал: 1. Ошибка в путях, Russian или russian к примеру имеют различие(но это не точно, но лучше перестраховаться). 2. Твой файл игрой подхватывается, но он не имеет в себе кириллицы. 3. Ошибка в написании имени файла или его расширения. Все, других проблем быть не может(но это не точно...). Замени оригинальный шрифт новым, отсюда https://www.fonts-online.ru/font/Gismonda-CYR и не люби моск ![]() Зачем ищешь проблему, где ее нет? Ты же нашел оригинальный шрифт, но с поддержкой кириллицы, ну, и замени шрифт автора этим и не мучайся. =========================== Пройдись поиском слова "font" и "gui.interface_text_font" по всем файлам проекта, возможно есть еще где-то упоминание о стиле(но это не точно). Вполне возможно, что шрифт прописан где-нибудь еще и в screens.rpy, как вариант.
19.08.2019, 06:19
(последнее изменение 19.08.2019, 06:26 ac96b917. Правлено 2 раз.
Причина: мелкие правки
)
delete, проблема решена)
19.08.2019, 06:51
@a5c715d, мне так нравятся такие посты. "Как решить такую-то проблему? А, всё решил." Как решил, что решил. Может быть, это решение помогло бы другим в подобной ситуации.
|
« Предыдущая | Следующая »
|