Перейти к содержимому
Zone of Games Forum
SerGEAnt

Сообщение добавлено пользователем SerGEAnt

Рекомендованные сообщения

LUNARK

header.jpg?t=1688072893

  • Жанр: Платформер
  • Платформы: PC
  • Разработчик: Canari Games
  • Издатель: WayForward
  • Дата выхода: 30 марта 2023
  • Движок: GameMaker
     
Скрытый текст

 

Скрытый текст

ss_1cdf66fcc365b71e832f341a428ce2536ebf9

ss_b1988ae11395b7366976f52d0f4b7bf57d0d9

ss_b25bad4440f64660a255006ecf934deb88132

Скрытый текст

LUNARK — это современная интерпретация кинематографических 2D-платформеров из 90-х. Действие происходит на далекой планете, где царит тоталитарный режим. В роли Лео — курьера с уникальными способностями и загадочным прошлым — вы будете бегать, прыгать, висеть, карабкаться, кататься и стрелять, находясь в анимированных пиксельных средах. Например, в антиутопичном мегаполисе, жутких пещерах или внеземном лесу. Выбирайтесь из ловушек, решайте головоломки, получайте улучшения, сражайтесь со вражескими дроидами и боритесь за выживание. На пути Лео встретит ярких персонажей, которые заставят его усомниться в своих идеалах. Раскройте страшную тайну нового дома, уготованного для человечества, и узнайте всю правду о главном герое в этом эпичном научно-фантастическом приключении!

 

Поделиться сообщением


Ссылка на сообщение

@0wn3df1x в игре двигло Game Maker Studio. Заменить шрифт не особая-то и проблема. Текст лежит отдельно в json файле language.json

Скрытый текст

Screenshot-5.jpg

 

Изменено пользователем SileNTViP

Поделиться сообщением


Ссылка на сообщение

Стилистика мое почтение. The Way ещё напомнило от разработчиков Puzzling Dream.

header.jpg?t=1724959391

 

  • Лайк (+1) 1

Поделиться сообщением


Ссылка на сообщение
11 часов назад, SileNTViP сказал:

@0wn3df1x в игре двигло Game Maker Studio. Заменить шрифт не особая-то и проблема. Текст лежит отдельно в json файле language.json

  Скрыть содержимое

Screenshot-5.jpg

 

Скрипт для экспорта language.json в csv файл и обратного импорта:

Скрытый текст

import json
import csv
import os
import tkinter as tk
from tkinter import filedialog, messagebox

class LanguageFileManager:
    def __init__(self, root):
        self.root = root
        self.root.title("Language File Manager")
        
        self.label = tk.Label(root, text="Укажите путь к language файлу:")
        self.label.pack(pady=10)
        
        self.path_entry = tk.Entry(root, width=50)
        self.path_entry.pack(pady=5)
        
        self.browse_button = tk.Button(root, text="Обзор", command=self.browse_file)
        self.browse_button.pack(pady=5)
        
        self.export_button = tk.Button(root, text="Экспорт", command=self.export_to_csv)
        self.export_button.pack(pady=5)
        
        self.import_button = tk.Button(root, text="Импорт", command=self.import_from_csv)
        self.import_button.pack(pady=5)
        
    def browse_file(self):
        file_path = filedialog.askopenfilename(filetypes=[("JSON files", "*.json")])
        self.path_entry.delete(0, tk.END)
        self.path_entry.insert(0, file_path)
        
    def export_to_csv(self):
        file_path = self.path_entry.get()
        if not file_path:
            messagebox.showerror("Ошибка", "Путь к файлу не указан")
            return
        
        try:
            with open(file_path, 'r', encoding='utf-8') as file:
                data = json.load(file)
            
            csv_file_path = filedialog.asksaveasfilename(defaultextension=".csv", filetypes=[("CSV files", "*.csv")])
            if not csv_file_path:
                return
            
            with open(csv_file_path, 'w', newline='', encoding='utf-8') as csv_file:
                writer = csv.writer(csv_file, delimiter='\t', quoting=csv.QUOTE_NONE, escapechar='\\')
                
                # Заголовок
                header = ["ID", "Type"] + list(data.keys())
                writer.writerow(header)
                
                # Данные
                all_keys = set()
                for lang in data.values():
                    all_keys.update(lang.keys())
                
                for key in sorted(all_keys, key=int):
                    row = [key, "string"]
                    for lang in data.keys():
                        value = data[lang].get(key, "")
                        if isinstance(value, int):
                            row[1] = "int"
                            value = str(value)
                        # Заменяем \n на \\n
                        value = value.replace('\n', '\\n')
                        row.append(value)
                    writer.writerow(row)
            
            messagebox.showinfo("Успех", f"Данные успешно экспортированы в {csv_file_path}")
        
        except Exception as e:
            messagebox.showerror("Ошибка", f"Ошибка при экспорте: {e}")
    
    def import_from_csv(self):
        file_path = self.path_entry.get()
        if not file_path:
            messagebox.showerror("Ошибка", "Путь к файлу не указан")
            return
        
        csv_file_path = filedialog.askopenfilename(filetypes=[("CSV files", "*.csv")])
        if not csv_file_path:
            return
        
        try:
            with open(csv_file_path, 'r', encoding='utf-8') as csv_file:
                reader = csv.reader(csv_file, delimiter='\t', quoting=csv.QUOTE_NONE, escapechar='\\')
                header = next(reader)
                
                data = {lang: {} for lang in header[2:]}
                
                for row in reader:
                    key = row[0]
                    value_type = row[1]
                    for i, lang in enumerate(header[2:], start=2):
                        value = row[i]
                        # Заменяем \\n на \n
                        value = value.replace('\\n', '\n')
                        if value_type == "int":
                            value = int(value)
                        data[lang][key] = value
            
            json_file_path = os.path.splitext(file_path)[0] + "_update.json"
            with open(json_file_path, 'w', encoding='utf-8', newline='') as json_file:
                json.dump(data, json_file, ensure_ascii=False, indent=2)
            
            messagebox.showinfo("Успех", f"Данные успешно импортированы в {json_file_path}")
        
        except Exception as e:
            messagebox.showerror("Ошибка", f"Ошибка при импорте: {e}")

if __name__ == "__main__":
    root = tk.Tk()
    app = LanguageFileManager(root)
    root.mainloop()

 

Скрипт в виде готового приложения:

https://drive.google.com/file/d/1_wneaen93shN7jWzWTwdjffsEhlAMZiZ/view?usp=sharing
1) Нажимаем “обзор” и выбираем json файл.
2) Нажимаем “Экспорт” и сохраняем под любым названием.
3) После перевода нажимаем “Импорт” и выбираем отредактированный csv файл, после чего будет создан language_update.json с изменениями.

Wxq5q6P.png

Csv файл достаётся в таком виде:
32v0w1C.png

Можно скопировать и вставить на гугол-таблицы:
hOu8UCj.png

А затем скопировать и вставить в csv файл обратно. 

Скрытый текст
  1. Важно экранировать кавычки, если они технические — “ должно быть \”
     
  2. Переносы экранируются дважды. То есть должно быть \\n


Всего текста: 15742 слова без повторяющихся строк.
5394 слова — это имена разработчиков и поддержавших на кикстартере.
Оставшийся текст: 10348 слов.

Изменено пользователем 0wn3df1x

Поделиться сообщением


Ссылка на сообщение

@0wn3df1x Чувствую, что скоро можно будет поиграть на великом православном :)

Поделиться сообщением


Ссылка на сообщение
1 минуту назад, lordik555 сказал:

@0wn3df1x Чувствую, что скоро можно будет поиграть на великом православном :)

Если кто-то захочет взяться за перевод.
SileNTViP знает про движок GM и про шрифты на нём.
Я могу достать текст в нужном виде, хотя выше уже выложил скрипт и standalone-приложение.

Поделиться сообщением


Ссылка на сообщение

Временный Шрифт для торрент едишн LUNARK.Build.11060535. Как поведет себя архив на других билдах не знаю.

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение
18 часов назад, Ниорк сказал:

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

Да шрифт поправить не долго. Лишь бы найти толковый ttf/otf. Да пока и смысла без текста подбирать.

Поделиться сообщением


Ссылка на сообщение
48 минут назад, SileNTViP сказал:

Да шрифт поправить не долго. Лишь бы найти толковый ttf/otf. Да пока и смысла без текста подбирать.

Тогда, могу завтра скинуть первую версию перевода, заодно протестировать что я ничего лишнего (системного не тронул).

Поделиться сообщением


Ссылка на сообщение

Игрушка обалденная. За 2 выходных прошёл и получил массу удовольствия, всем любителям олдскульного геймплея в духе Flashback и Another World обязательно к прохождению. Музыка тоже зачёт, одна композиция однозначно пойдет в плейлист.

Позволю себе побыть немного тестером :)

Использовал первый вариант шрифта, и в моменте, когда должны пойти титры (финальные) вылетела ошибка:

Скрытый текст

############################################################################################
ERROR in
action number 1
of Draw Event
for object obj_ENDING_credits:

REAL argument incorrect type undefined############################################################################################
gml_Script___scribble_gen_6_build_lines (line 350)
gml_Script___scribble_class_model (line 324)
gml_Script_anon___scribble_class_element_gml_GlobalScript___scribble_class_element_4115868___scribble_class_element_gml_GlobalScript___scribble_class_element (line 1379)
gml_Script_anon___scribble_class_element_gml_GlobalScript___scribble_class_element_45680___scribble_class_element_gml_GlobalScript___scribble_class_element (line 164)
gml_Script_format_backers (line 310)
gml_Script_draw_credits (line 258)
gml_Object_obj_ENDING_credits_Draw_0 (line 20)

Совсем не критично, ибо после титров никаких дополнительных сцен нет и прохождению не мешает, но я любитель досматривать титры до конца. Фетиш такой :) Был бы рад фиксу, если такое представляется возможным. Возможно, со 2 вариантом шрифта не так, не проверял (придется переиграть всю 12 главу целиком).

Поделиться сообщением


Ссылка на сообщение
4 часа назад, lordik555 сказал:

Игрушка обалденная. За 2 выходных прошёл и получил массу удовольствия, всем любителям олдскульного геймплея в духе Flashback и Another World обязательно к прохождению. Музыка тоже зачёт, одна композиция однозначно пойдет в плейлист.

Позволю себе побыть немного тестером :)

Использовал первый вариант шрифта, и в моменте, когда должны пойти титры (финальные) вылетела ошибка:

  Error (Показать содержимое)

############################################################################################
ERROR in
action number 1
of Draw Event
for object obj_ENDING_credits:

REAL argument incorrect type undefined############################################################################################
gml_Script___scribble_gen_6_build_lines (line 350)
gml_Script___scribble_class_model (line 324)
gml_Script_anon___scribble_class_element_gml_GlobalScript___scribble_class_element_4115868___scribble_class_element_gml_GlobalScript___scribble_class_element (line 1379)
gml_Script_anon___scribble_class_element_gml_GlobalScript___scribble_class_element_45680___scribble_class_element_gml_GlobalScript___scribble_class_element (line 164)
gml_Script_format_backers (line 310)
gml_Script_draw_credits (line 258)
gml_Object_obj_ENDING_credits_Draw_0 (line 20)

Совсем не критично, ибо после титров никаких дополнительных сцен нет и прохождению не мешает, но я любитель досматривать титры до конца. Фетиш такой :) Был бы рад фиксу, если такое представляется возможным. Возможно, со 2 вариантом шрифта не так, не проверял (придется переиграть всю 12 главу целиком).


Ошибка REAL argument incorrect type undefined может возникать, если в некоторых функциях ожидались числа (например, идентификаторы или количественные значения), а вместо них переданы текстовые строки или несуществующие значения. Это может происходить, если ключи с числовыми значениями (такие как "1901": 1, "2101": 1) указаны неверно или отсутствуют.

Возможно, конечно, дело в data.win.

@Ниорк глянул json с локализацией.
Заметил, что у строк:

417023	What are you doing?
803012	If you want to go further, you'll have to deal with these missile launchers.

Отсутствует перевод в русском.

Ещё есть строка

1209019	...

Она одинаковая во всех переводах, идёт тремя точками и только в русском идёт одним символом многоточия … 
Но то, что подобное может спровоцировать краш бывает в исключительных случаях.
Сам json валидный поэтому не уверен, в нём ли проблема.
Я бы копал в сторону изменений в data.win.

@lordik555
Можешь глянуть конец этого видео и сказать таймкод, где конкретно вылетело? Чем конкретней, тем лучше.

P.S. Возможно имеет смысл откатить файлы до оригинальных и проверить финальные титры на оригинальном французском языке? Если вылетит — значит проблема на уровне игры. Тогда нужно будет просто перетащить локализацию на любой другой язык кроме французского.

Изменено пользователем 0wn3df1x

Поделиться сообщением


Ссылка на сообщение
32 минуты назад, 0wn3df1x сказал:

глянул json с локализацией.
Заметил, что у строк:

Интересно, проходил дотошно, но абсолютно все фразы, которые мне встретились были переведены. Были неточности в роде и во времени глагола несколько раз только.

34 минуты назад, 0wn3df1x сказал:

Можешь глянуть конец этого видео и сказать таймкод, где конкретно вылетело? Чем конкретней, тем лучше.

2:14:28 — ровно в тот момент крашается, когда должна появится надпись Lunark (при этом она не появляется).

37 минут назад, 0wn3df1x сказал:

P.S. Возможно имеет смысл откатить файлы до оригинальных и проверить финальные титры на оригинальном французском языке? Если вылетит — значит проблема на уровне игры.

Попробую сначала на 2 варианте шрифта, а потом на французский переключусь. Отпишусь потом.

Поделиться сообщением


Ссылка на сообщение

Я вроде после того как уже на зоге выложили, немного правил перевод (на бусти), но всё ещё не уверен, что титры пойдут. И пока времени на проверить нет, надо закончить оставшиеся переводы. Так что я не против бесплатных тестеров :D

Скорее всего дело именно в json файле, если быть совсем точным, то в строчках которые нельзя было трогать(ибо они ключи по которым игра ориентируется, какой диалог использовать). Как имена, если их трогать то игра вылетает при диалоге. Но если объект отдельный то всё норм (типа корабля).

Ну и цифры да, у меня exel зачем то увеличил все значения на 1, что не надо было делать. 

Изменено пользователем Ниорк

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: Smart131
      Silent Hill: Alchemilla
      Платформы: PC Разработчик: White Noise Дата выхода: 18 января 2015 года    
      А тем временем подписываемся на наш канал на YOUTUBE
      И вступаем в группу ВКОНТАКТЕ
    • Автор: fajhvjkakwuh
      Into Blue Valley

      Метки: Приключение, Инди, Симулятор ходьбы Платформы: PC Разработчик: Kuchalu Издатель: Ryan Javanshir Дата выхода: 24 декабря 2014 года Отзывы Steam: 50 отзывов, 48% положительных

  • Продвигаемые темы

  • Последние сообщения

    • Для человека из России, существуют игры из России и игры не из России. Выходит игра в Японии, Японцу говорят другие японцы, эту игру сделали наши(японцы), на этом фоне выходит где то еще 500 игр, которые ему говорят были сделаны в американцами, итальянцами, канадцами, и т.д. Ему интереснее будет, что за наши такие сделали эту игру, потому что его волнует его  игровая индустрия, нафига ему надо сидеть и смотреть в этих 500 играх, кто там разраб в итоге, итальянец или француз, они все зарубежные по итогу так и останутся. Это типо как жаловаться что у тебя дорогие плохие, в ямах, а потом приходит кто-то и показывает, что у соседа тоже дороги плохие. Но какая тебе разница что там у соседа, когда ты едешь по своим дорогам, а не соседа. Да логика. Какая мне разница как потребителю, кто сделал игру? Мне главное ее качество. Но когда мне прямо указывают на того кто ее сделал(соотечественник), добавляют про лагеря и т.д — то проявлять интерес это нормально, особенно если указка выглядит странно.    Так рассматривают, потому что в игровой индустрии, мир поделен на западную игровую индустрию и восточную. вот такие вот игровые альянсы) Если какая то страна не входит в эти альянсы, то если она захочет что-то делать то ее неизбежно будут сравнивать именно как противопоставление этим игровым альянсам. Например? Я кроме войны миров не жду ничего.
    • У меня Лицензия, , на Нексусе скачай Essencial files for Ng3re, это мод лоадер можно сказать, должно помочь, ибо русик идет модом, а нг3ре для запуска модов нужен модифицированный exeшник, заодно советую оттуда скачать блэк мод на нг3ре)
    • Русификатор (GOG / STEAM) Версия без цензуры
    •   DLAA — это сглаживание при помощи AI, но работает оно в нативном разрешении. Я тебе даже больше скажу — DLAA нагружает гпу сильнее на 5-8% чем обычное TAA.     Ума не приложу, где ты мог прочесть вот эту чушь: Здесь мог бы быть смысл, если б под "простым сглаживанием" подразумевался муллтисэмплинг(MSAA), но так как его уже давно не используют, то и смысла в этом нету.
    • @piton4 Ну, не знаю. Я прочитал, что там ИИ всё равно используется, хоть и нативное разрешение. Также, DLAA улучшает производительность. А простое сглаживание, наоборот ухудшает.
    • @NaNBaNaN, субтитры как-бы готовы. Но, нет ни времени, ни места на компе, под эту игру. Поэтому, чего-то конкретного сказать не могу. Думал обновами игру подтянут, но, ей наверное уже ничего не поможет. Как и у людей, так и у меня угас к ней интерес. А делать что-то, что нужно только нескольким людям, такое себе занятие. 
    • @Alex Po Quest так DLAA это просто сглаживание, без масштабирования.  Разрешение нативное.
    • у меня работает и  сайт открывается! (Москва Гпон МГТС от МТС)  вставь другой шрифт TextMeshPro...
    • Посмотрел я настройки у игры. Ну там нельзя отключить улучшалки и играть в нативном разрешении. Максимум что DLAA Native. P.S. У других видов “улучшайзеров” есть просто “нативное разрешение”. Но нафига тогда карта от зелёных, спрашивается.
    • Доброго времени суток. Когда ждать новую версию перевода?
  • Изменения статусов

    • Дмитрий Соснов  »  Tirniel

      Привет! ты разбираешься в компьютерном железе, сможешь помочь с советом по апгрейду старого компа?
      · 1 ответ
    • SHAMAH

      Куда вход на сайт убрали и ЗАЧЕМ? Хотел файл скачать, там только медленная загрузка и “зарегистрируйтесь”. Все. Пришлось вручную страницу входа прописывать.
      · 0 ответов
    • Nosferatu  »  behar

      Добрый вечер.
      Подскажите пожалуйста, у вас не осталось случайно исходников для фикса на широкоформатные мониторы для игры Vampire The Masquerade Redemption?
      Если да, то не могли бы вы ими поделиться, а если нет, то прошу прощенья что побеспокоил.
      Заранее спасибо.
      · 0 ответов
    • AlcoKolyic  »  makc_ar

      Здраствуйте! Извините, а можно попросить ссылку на место где можно взять перевод (патч или образ игры с переводом) El Shaddai: Ascension of the Metatron для ps3, пожалуйста? А то в теме к этой игре у меня не получилось найти работающие ссылки… Первая ведет в группу в которой удалены большинство постов, а пост с этой игрой ведет на сайт https://psnext.ru который сейчас не имеет отношения к видеоиграм. 
      · 0 ответов
    • oleg72  »  Boor

      https://www.skidrowcodex.net/fate-reawakened-goldberg/
      · 0 ответов
  • Лучшие авторы


Zone of Games © 2003–2025 | Реклама на сайте.

×