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

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

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

Лучше уж пироги. Вареники не очень звучит.

Но дело в том что с английского это переводится именно как вареники.

Тут другое, небольшой облом получился с ингридиентами. Ну поменял я Egg и Meat в exe и в ingredients.txt нормально, отображается. При попытке замены Bone хотя бы к примеру на BBBB вылетает на этапе загрузки.

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

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


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

про Пироги: ага, я когда переводил ступил ... все картнки на которые натыкался были очень больших вареников, да еще почемуто на разрез ( наверное чтобы показать начинку). Ну и мне показалось что это похоже на пирог на разрезе ... долго сомневался как перевести, в итоге плюнул и окрестил пирогами :D

Я не против заменить с пирогов на вареники, но только напишите о замене , тк ингредиенты нужно будет еще поправить и в картах. Они вроде выпадают из цветочков или из животных каких то ...

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


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

Я передумал. Лучше пусть будет правильный перевод.

Правда в основном тексте встречаются места, которым не помешало бы благозвучие.

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


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

Ну вот ингридиенты перевел http://repsru.ifolder.ru/11791409 (накатать поверх 1.25)

Вот список чего наменял

Bone (Кость Kqst^) - не менял по указанной выше причине

Meat (Мясо M@sq)

Oil (Масло Maslq)

Egg (Яйцо @$&q)

Part (Часть /ast^) - наверно будет лучше 'Орган'

Berry (ягода @jqda)

Soup (Суп Syp)

Loaf (Хлеб Hleb)

Cake (Кекс Keks)

Leaf (Лист Lxst)

Poultice (Припарка Prxparka)

Bulb (Клубень Klyben^)

Мushroom (Гриб Jrxb)

IceChunk (КусокЛьда KysqkL^da)

IceCream (Мороженое Mqrqgenqe)

Roll (Рулет Rylet) - не менял, есть опастность пересечения с Roll который "Вращаться" проверит не как, рецептов в которых фигурирует Any Roll нету, так что можно и не менять.

PerogiType (Пирог PxrqjType) - пока так оставил

Tentacle (Конечность Kqne#nqst^)

В exe еще вроде фигурирует ингридиет Shell но в ingredients.txt такого нету потому не трогал. 'Any' заменил на 'пробел' , заменил еще заголовок листа Recipes (Рецепты Re&ept\)

Еще из рецептов 'HandRoll' - 'РучнойРулет' некрасиво, предлагаю заменить на 'ДомашнийРулет'

Перевод настроек клавиш (как у artemon'а) пока не делал. Еще пробовал заменить '/' ну там где 'Ч' выходит, типа 'Page 1/13' оказалось низззя, даже загрузка (сохраненок) перестает работать.

Правда в основном тексте встречаются места, которым не помешало бы благозвучие.

Да дофига таких мест.

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

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


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

Еще в конце хотелось бы видеть слово "Конец", а не то что там появляется.

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


Ссылка на сообщение
Еще в конце хотелось бы видеть слово "Конец", а не то что там появляется.

а что там появляется ?

надпись The End или что .. и вобще ты о чем ? там много чего появляется :rolleyes:

лучше все документировать скриншотами ...

хоть сейчас ой как мало времени: сессия + ремонт всей квартиры, я погляжу что там за непорядок, но сроки фикса немного туманны :happy:

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


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

Всем привет! Заменил железо :rolleyes: , теперь в перерыве между дипломом, вернулся немного к переводу.

Вот перевод, потестируйте (пока без ингредиентов).

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

fe1cc24d79d3t.jpg :rolleyes:

Вторая строчка находится не в exe-шнике игры, а в библиотеке SDL.dll, поэтому в архивчике прилагаю и ее.

http://repsru.ifolder.ru/12054576 (741.59 кб).

Вот только после выхода из игры происходит подмена слова "Action" на "De$stvxe", что приводит к крешу при след. запуске. Появилась мысль сделать лоадер для запуска игры на языке AutoIt, который подменял бы перед запуском необходимые строки. Я, честно в нем не очень силен (как и вообще в программировании), но скриптик написал, и он работает у меня. Вылаживать не стал, потому что потом нашел в нем недостаток - он годен лишь для файла с уже готовыми настройками и при смене настроек работать не будет (происходит это потому, что я написал через подмену файла настроек на бэкапный, а это не есть верно, что я понял уже в конце ((. А вот через подмену строк у меня ничего не получается (( Может кто-нибудь может это сделать.

Если конечно не существует какой-либо другой способ, что было бы хорошо.

ЗЫ. Если еще будет перепаковываться инсталлятор, просьба добавить перевод мануала, что я выкладывал раньше (ну и конечно я бы попросил его повычитать, может найдутся ошибки или неточности) - http://repsru.ifolder.ru/11672370 (8.89 кб).

Ну и собственно к нику, если можно, прибавить мои фамилию и имя - Скляров Артем:rolleyes:

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

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


Ссылка на сообщение
поэтому, когда запустил его файлы, у меня выскочила ошибка

Ну дык для того существует AQConfig.exe :) Хотя я конечно тоже ступил.

Я воспользовался возможностью и перевел эту ошибку

Это ты уже ерундой маешься, даже в лицензиях такие сообщения обычно не переводят, эдак мы "Access violation" полезем в винду переводить :)

И кстати вторая строчка по идее переводиться "Нет видеорежима достаточного большого для 1600x1200" типа.

Вот перевод, потестируйте (пока без ингредиентов).

Ты мой exe'шник правил или опять все по новой?

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

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


Ссылка на сообщение
Ну дык для того существует AQConfig.exe :) Хотя я конечно тоже ступил.

Ну да, этот файл после ошибки и запускается.. Просто я кинул с заменой твои файлы и вылетела в первый раз ошибка.

Это ты уже ерундой маешься, даже в лицензиях такие сообщения обычно не переводят, эдак мы "Access violation" полезем в винду переводить :)

И кстати вторая строчка по идее переводиться "Нет видеорежима достаточного большого для 1600x1200" типа.

:rolleyes::rolleyes::rolleyes: Да у меня наберется человека 4 знакомых, которые с компьютерами, ой как не знакомы. И, увидев такую фразу, они впадут надолго в ступор, не в силах понять что же сие значит. А так мож понятнее будет. Ну а вообще-то да, согласен, отвлекся немного...

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

Ты мой exe'шник правил или опять все по новой?

1.25 брал.

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

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


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

Мне то в общем все равно, просто теперь тебе придется опять переводить ингридиенты, попутно возможно наступив на несколько грабель что и я. Я к тому что нужно ж как-то последовательно, а то мы так будем по кругу долго ходить.

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


Ссылка на сообщение
Мне то в общем все равно, просто теперь тебе придется опять переводить ингридиенты, попутно возможно наступив на несколько грабель что и я. Я к тому что нужно ж как-то последовательно, а то мы так будем по кругу долго ходить.

Согласен, mea culpa... Поздно ответил правда, пишется диплом :happy:

Вот перевод на основе твоего файла

http://repsru.ifolder.ru/12371561

Проблема с "De$stvxe" осталась (можно как вариант не переводить слово "Action" вообще).

Также попробовал прикоснуться к текстам самих клавиш (в вышеописанном файле перевод только действий!)

2ce29c4b743dt.jpg

Перевел не все, но, тьфу-тьфу, вроде работает, клавиши переназначаются.

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

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


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

наконец вырвался ... сессия + ремонт квартиры= слишком сурово.

протестировал выложенные ранее русификаторы ... все замечательно, за ингредиенты - отдельное спасибо ...

планирую сделать сборочку 1.26, но осталась ошибка - при которой игра запускается только сразу после установки русификатора, а после выхода все экзешники выдают ошибки до повторной замены default_usersettings.xml и usersettings.xml ...

незнаю в чем причина, но если в "De$stvxe" , то может попробывать перевести эту строчку по другому ? ... ибо есть подозрения что это все из-за символа "$"...

вобщем как проблемма с критами решится - соберу все файлы в архив и залью на свой хостинг ...

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


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

Да, действительно, плохой символ был причиной ошибки. Написал просто "Деиствие", с буквой "и", думаю замена подойдет.

В понедельник выложу, сейчас просто с Opera Mini сижу.

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

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


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

Обновление перевода до версии 1.27

- исправлена ошибка с не отображением некоторых названий ингредиентов в списке рецептов

- переведены действия в настройках клавиатуры

- добавлен перевод путеводителя по игре (лежит в папке docs)

- ряд мелких, незначительных изменений

Забираем! Версия 1.27

PS по возможности сообщайте о всех ошибках, неточностях, глюках. Помогите сделать перевод совершеннее.

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: SerGEAnt
      Mortal Shell 2
      Метки: Не указан Платформы: PC XS PS5 Разработчик: Cold Symmetry Издатель: Playstack Дата выхода: 20 августа 2026 года

  • Сейчас популярно

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

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

    • Это чтобы наши с Мирославом жопы горели в унисон?
    •  что это.   Нет, я помню что что-то  такое писал, но мать твою.... Кратковременный пик это то, что может не засеч мониторинг если у тебя там не а 1/10 сек строчит. Я слышал, что у 5090 это может быть 1200-1300w.
    • Ну к слову, я в основном играю c достаточно серьезным андервольтом снижающем постоянное потребление с 330w до 250w но теперь мне охота посмотреть будут ли тикие пики под 600w или хотя бы 400-500w
    • Будет ли апдейт под 2.0?
    • //------------------------------------------------ //--- 010 Editor Binary Template // // File:        Asura_TXTH.bt // Authors: Giza+AI // Description: Asura Engine Text Resource (.ASRBE / .ASR / TXTH chunk) // File Mask:   *.ASRBE,*.asr,*.bin // ID Bytes:    41 73 75 72 61 20 20 20 54 58 54 48 // "Asura   TXTH" //------------------------------------------------ BigEndian(); // ------------------------------------------------ // Header Definition (36 bytes / 0x24) // ------------------------------------------------ struct HEADER {     char   magic[8]        <comment="Engine signature: 'Asura   '">;     char   chunkType[4]    <comment="Chunk signature: 'TXTH' (Text Header)">;     uint32 chunkSize       <comment="Total size of remaining chunk payload (FileSize - 24)">;     uint32 version         <comment="Structure version (typically 1)">;     uint32 flags           <comment="Resource flags">;     uint32 entryCount      <comment="Number of localized string entries">;     uint32 archiveHash     <format=hex, comment="Archive/File 32-bit Hash ID">;     uint32 totalTextBytes  <comment="Total raw byte size of all UTF-16 text data">; } header <style=sHeading1>; // ------------------------------------------------ // Localized Text Entry // ------------------------------------------------ typedef struct {     uint32  keyHash   <format=hex, comment="32-bit hash identifier for the key name">;     uint32  charCount <comment="String length in UTF-16 characters (including null terminator)">;     wchar_t text[charCount] <comment="UTF-16BE encoded text">;          // 4-byte padding alignment     local int textBytes = charCount * 2;     if ((textBytes % 4) != 0) {         ubyte padding[4 - (textBytes % 4)] <comment="Alignment padding">;     } } TEXT_ENTRY <read=ReadTextEntry>; wstring ReadTextEntry(TEXT_ENTRY &entry) {     return entry.text; } // ------------------------------------------------ // Text Entries Table // ------------------------------------------------ struct TEXT_ENTRIES {     TEXT_ENTRY entries[header.entryCount] <optimize=false>; } textEntries <style=sSection1>; // ------------------------------------------------ // Key Names Table (ASCII / null-delimited) // ------------------------------------------------ typedef struct {     string keyName <comment="Identifier key corresponding 1-to-1 with entry index">; } KEY_ENTRY <read=ReadKeyEntry>; string ReadKeyEntry(KEY_ENTRY &k) {     return k.keyName; } struct KEY_TABLE {     uint32 keyTableSize <comment="Total size in bytes of raw string table">;     KEY_ENTRY keys[header.entryCount] <optimize=false>;          // Remaining alignment padding to EOF (aligned to 16 bytes)     if (!FEof()) {         ubyte filePadding[FileSize() - FTell()] <comment="End-of-file padding">;     } } keyTable <style=sSection2>;   на основе этого ии написал пайтон скрипт:
        #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Asura Engine TXTH (.ASRBE) Text Exporter & Importer Supports Big-Endian Asura text archives (PS3 / Xbox 360). """ import sys import os import struct import json import argparse def export_asrbe(file_path, output_path=None): if output_path is None: output_path = os.path.splitext(file_path)[0] + ".json" with open(file_path, "rb") as f: data = f.read() if len(data) < 36: raise ValueError("File is too small to be a valid ASRBE file.") magic = data[:8].decode("latin1") chunk_type = data[8:12].decode("latin1") if magic != "Asura " or chunk_type != "TXTH": raise ValueError(f"Invalid header signature: {magic!r} / {chunk_type!r}") chunk_size, version, flags, entry_count, archive_hash, total_text_bytes = struct.unpack(">IIIIII", data[12:36]) offset = 36 entries_data = [] for i in range(entry_count): key_hash, char_count = struct.unpack(">II", data[offset:offset+8]) offset += 8 text_raw = data[offset:offset + char_count * 2] text = text_raw.decode("utf-16-be").rstrip("\x00") offset += char_count * 2 # 4-byte padding alignment if offset % 4 != 0: offset += 4 - (offset % 4) entries_data.append({ "key_hash": f"0x{key_hash:08X}", "raw_hash": key_hash, "text": text }) # Read Key Table key_table_size = struct.unpack(">I", data[offset:offset+4])[0] offset += 4 keys_raw = data[offset:offset + key_table_size] # Split null-delimited keys key_names = [k.decode("latin1") for k in keys_raw.split(b"\x00") if k] # Combine keys and entries output_entries = [] for i in range(entry_count): k_name = key_names[i] if i < len(key_names) else f"UNKNOWN_KEY_{i}" output_entries.append({ "index": i, "key": k_name, "key_hash": entries_data[i]["key_hash"], "text": entries_data[i]["text"] }) meta = { "format": "Asura_TXTH", "endian": "big", "version": version, "flags": flags, "archive_hash": f"0x{archive_hash:08X}", "raw_archive_hash": archive_hash, "entry_count": entry_count, "entries": output_entries } with open(output_path, "w", encoding="utf-8") as f: json.dump(meta, f, ensure_ascii=False, indent=2) print(f"[+] Successfully exported {entry_count} entries to {output_path}") def import_asrbe(json_path, output_path): with open(json_path, "r", encoding="utf-8") as f: meta = json.load(f) entries = meta["entries"] entry_count = len(entries) version = meta.get("version", 1) flags = meta.get("flags", 0) archive_hash = meta.get("raw_archive_hash") if archive_hash is None: archive_hash = int(meta["archive_hash"], 16) # Build text entries block text_entries_bytes = bytearray() total_text_bytes = 0 for entry in entries: raw_hash = entry.get("raw_hash") if raw_hash is None: raw_hash = int(entry["key_hash"], 16) text = entry["text"] + "\x00" # include null terminator text_utf16 = text.encode("utf-16-be") char_count = len(text) entry_bytes = bytearray() entry_bytes.extend(struct.pack(">II", raw_hash, char_count)) entry_bytes.extend(text_utf16) # 4-byte padding text_len = len(text_utf16) total_text_bytes += text_len if len(entry_bytes) % 4 != 0: pad_len = 4 - (len(entry_bytes) % 4) entry_bytes.extend(b"\x00" * pad_len) text_entries_bytes.extend(entry_bytes) # Build keys table keys_raw = bytearray() for entry in entries: keys_raw.extend(entry["key"].encode("latin1")) keys_raw.append(0) # null terminator key_table_bytes = bytearray() key_table_bytes.extend(struct.pack(">I", len(keys_raw))) key_table_bytes.extend(keys_raw) # Payload = text entries + key table payload = text_entries_bytes + key_table_bytes # Pad payload to 16 bytes alignment pad_rem = len(payload) % 16 if pad_rem != 0: payload.extend(b"\x00" * (16 - pad_rem)) # Total chunk size = total file size - 24 # Header is 36 bytes -> header[24:] is 12 bytes + payload chunk_size = 12 + len(payload) header = bytearray() header.extend(b"Asura ") header.extend(b"TXTH") header.extend(struct.pack(">IIIIII", chunk_size, version, flags, entry_count, archive_hash, total_text_bytes)) full_data = header + payload with open(output_path, "wb") as f: f.write(full_data) print(f"[+] Successfully packed {entry_count} entries to {output_path} ({len(full_data)} bytes)") def main(): parser = argparse.ArgumentParser(description="Asura Engine TXTH (.ASRBE) Converter") subparsers = parser.add_subparsers(dest="command", required=True) # Export p_export = subparsers.add_parser("export", help="Export .ASRBE to .json") p_export.add_argument("input_file", help="Path to input .ASRBE file") p_export.add_argument("-o", "--output", help="Path to output .json file") # Import p_import = subparsers.add_parser("import", help="Import .json back to .ASRBE") p_import.add_argument("input_json", help="Path to input .json file") p_import.add_argument("output_file", help="Path to output .ASRBE file") args = parser.parse_args() if args.command == "export": export_asrbe(args.input_file, args.output) elif args.command == "import": import_asrbe(args.input_json, args.output_file) if __name__ == "__main__": main()  
    • А вот были бы мы друзьями....          Выяснил, что мне дают.  Во первых по одной табле антидепрессанта, потом укол чего-то, что влияет на сосуды мозга, что-то связанное с кислородом, ну и наеоч дают микс из фена и циклобарбитала. А вчере я сказал, что всё равно плохо сплю, тогда мне перед миксом дали какую-то ж5ёлтенькую таблетку, а потом сразу микс.   Меня так срубило, сто я даже не помню успел ли я доесть ту сырную булочку, а чай я вышел походу себе на яйца, потому что проснулся в полномьа хуе и "обосанным"  Очень сильная вещь.
    • в 0xC размер блока указана. Скрипт видимо его не меняет у вас. Отсчёт начинается с 0x18, не скажу что прям во всех файлах. Но то что скинули так.
    • Привет, автор тут.
      Добавил русификатор на Birth by Sleep 
      https://steamcommunity.com/sharedfiles/filedetails/?id=3782280719
    • Всем привет, мне нужна помощь с увеличением длины текста в Shellshock 2: Blood Trails [BLES00408]. Текст хранится в файлах ASRBE, которые я прикрепляю. У меня есть скрипт, который извлекает текст, но если сделать его длиннее, игра вылетает. ASRBE
  • Изменения статусов

    • axe66  »  SerGEAnt

      здравствуйте. можете добавить на сайт раздел для игры She’s Leaving и русификатор к нему? и как и куда вам скинуть фото и сам русификатор?
      [h2] Версия: 1.0.1 (от 22.05.2026)
      Совместимость: для сборки 20909321 [/h2]
       Информация:
      Машинный перевод моделью gemma2:9b-instruct с несколькими этапами автоматической перепроверки (модель "самопроверялась") и финальными ручными правками.
      Это не финальная версия — по мере нахождения ошибок перевода будут выходить обновления.
      Известные нюансы:
      * Возможны неточности и ошибки в переводе.
      * Некоторые элементы интерфейса остались без перевода.
       Установка:
      1. Запустить Russifier.exe
      2. Нажать "Выбрать папку"
      3. Выбрать папку с игрой и нажать ОК
      4. Нажать "Установить"
      5. Дождаться завершения установки и закрыть программу.
      После установки запустите игру и наслаждайтесь!
      Если заметили ошибки или некорректные формулировки — оставляйте комментарии, будем исправлять!
       
      Автор: Serjik Sokolov История изменений:   Версия 1.0.1 от 22.05.2026 - Установщик теперь автоматически определяет корневую папку игры, даже если случайно выбрана вложенная папка.   Версия 1.0.0 от 03.12.2025 - Релиз
      · 0 ответов
    • Perfect End Strange  »  SerGEAnt

      Привет, озвучку для Silent Hill 4: The Room выпустил энтузиаст под ником Perfect End Strange, а вы написали совсем другую студию, пожалуйста, исправьте эту оплошность
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      я его уже открыл в свободный доступ, чтобы не потерялось среди новинок
      · 0 ответов
    • NekoNya  »  Onzi

      https://www.dropbox.com/scl/fi/4xncxr2tqy77vz4644q08/text_RU_FINAL.json?rlkey=xckxss3jkql4gjmc1ah6qjb5e&st=k5ql651f&dl=0 
       
      Вот, то что вышло. Извинюсь, что зря говорил, что помогу (
      · 2 ответа
    • serfly  »  SerGEAnt

      Доброго времени! Недавно столкнулся с проблемой автоперевода XUnity AutoTranslator BeplnEx iL2cc. Пару последних лет часто пользовался, теперь консольные команды виснут на стадии загрузки библиотек, хотя они есть там изначально. На GitHub есть подобные вопросы, но ни одного рабочего ответа я не нашел. А Вы что можете посоветовать?
      · 0 ответов
  • Лучшие авторы


×