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

Notabenoid — инвайты

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

 

5830d8fd-e9e6-4143-8025-5c8abbb59091.jpg

Закрылся сайт Notabenoid, где переводили фильмы, сериалы, игры, книги. Об этом говорится на главной странице.

В обращении к пользователям владелец Notabenoid Дмитрий Ромахин написал: «Благодаря компаниям, стоящим на страже интеллектуальной собственности, проект Notabenoid закрыт. Ни сил, ни желания воевать с ними у меня больше нет. Хостер заблокирует наши серверы сегодня вечером. Завтра, 28 октября, владельцы переводов смогут выкачать свои работы. Спустя некоторое время Notabenoid появится в Сети снова, но в ином виде. Спасибо всем, кто был с нами эти годы». У себя в фейсбуке Ромахин добавил, что, если сайт возродится, то станет закрытым клубом переводчиков, куда будет не так-то просто попасть.

Notabenoid (от лат. nota bene, обозначающего примечание в тексте) — сервис для переводчиков. На сайте можно было переводить в одиночку или группой фильмы, сериалы, игры, книги, статьи. Тексты на Notabenoid для удобства разбивались на маленькие куски, у участников были блоги, чтобы обсуждать рабочие вопросы, а субтитры генерировались автоматически с помощью одной кнопки. Сервис появился в 2008 году, а его прототип, разработанный веб-студией «Пароход», запустили годом раньше и опробовали на полнометражном мультфильме «Футурама: Большой куш Бендера», который любители перевели за три часа. Среди прочих Notabenoid пользовались многие пиратские студии озвучки.

---

Дабы не плодить сообщения об этом в 100500 темах, создал отдельную.

---

Всем желающим получить инвайт на ноту, требуется:

1) Указать уровень владения английского языка (нулевой/средний/выше среднего).

2) Указать наличие (отсутствие) опыта в каких-либо переводах.

3) Указать ориентировочное свободное время, которое может быть уделено переводу (1 час в день/1 час в неделю/1 час в месяц)

---

Нота снова открыта!!!
Изменено пользователем SerGEAnt
  • Лайк (+1) 2
  • Печальный (0) 1

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


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

Походу прокатили с выкачкой переводов.

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


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

А с другой стороны, теперь появилось свободное время и можно даже выйти на улицу:) Точно. Я давно уже мусор не выносил. Ладно пошёл выкидывать:)

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

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


Ссылка на сообщение
Не фейк?

Нет. переводы успешно выкачаны. Скоро работы возобновится :)

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


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

Можно скачивать и где Вы не переводили, но только те, которые типа можно прочитать и скачать. После book/ в ссылке вставляйте номер главы, который можно узнать из гугля через название.

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

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


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

О боже, жизнь продолжается.

Фак. Почему я не могу скачать, текcт который я выкладывал, но его ещё не переводили?

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

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


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

 

Lord_Draconis, там все еще действуют правила подстановки текста. При переводе меньше 95% текста пропущенный текст по умолчанию пропускается, позволяя скачать только переведенный вариант, таким образом на корню убивая структуру файла. Для этого нужно вручную в настройках выбирать подстановку оригинала вместо непереведенных фрагментов (это доступно только создателю перевода), а настройки сейчас недоступны, поэтому и в недопереведенных главах и скачивается полная белиберда.

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


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

parabashka

Там еще у некоторых переводов прикрыта возможность скачивания/просмотра. Изменить права нельзя =(

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


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

Да, господа, в который раз нас нагибают... Не стоит забывать про резервирование, однако.

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


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

Там еще у некоторых переводов прикрыта возможность скачивания/просмотра. Изменить права нельзя =(

Напиши ему в фейсбук в личку.

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


Ссылка на сообщение
Lord_Draconis, Для этого нужно вручную в настройках выбирать подстановку оригинала вместо непереведенных фрагментов (это доступно только создателю перевода), а настройки сейчас недоступны, поэтому и в недопереведенных главах и скачивается полная белиберда.

А это не лечится построением правильной ссылки на файл?

Ну да, по идее лечится правильной ссылкой.

Lord_Draconis, качай по ссылке подобного рода:

nb.romakhin.ru/book/*****/******/download?format=t&untr=o&enc=UTF-8

Вместо звёздочек свой номер книги (перевода) и номер главы.

Вот это: untr=o — отвечает за подстановку оригинала вместо непереведённых участков. Если написать untr=s, то они (непереведённые блоки) будут пропускаться.

Ещё можно добавить &algorithm=1, если нужно получить файл с самыми свежими(нижними) вариантами (а не самыми рейтинговыми).

П.С. Если немного поковыряться, я могу собрать алгоритм, как вытащить все версии, переводов, используя фильтр по именам переводчиков. Вот только оценок я таким образом не достану.

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

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


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

Кто нибудь может скачать перевод Ace Attorney? (он недоделанный там), но очень нужен.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: Mormon

      Один из первых вопросов, который появляется у переводчиков игр, когда текст уже распакован — а где собственно мы будем переводить игру? Тут начинаются варианты. Всё зависит от объёма проекта, структуры текста и, что важнее всего, предпочтений самих переводчиков. И, что немаловажно, от количества людей, работающих над проектом и того, как осуществляется контроль качества на проекте.
      Один из первых вопросов, который появляется у переводчиков игр, когда текст уже распакован — а где собственно мы будем переводить игру? Тут начинаются варианты. Всё зависит от объёма проекта, структуры текста и, что важнее всего, предпочтений самих переводчиков. И, что немаловажно, от количества людей, работающих над проектом и того, как осуществляется контроль качества на проекте. Поэтому все системы можно рассматривать, исходя из нескольких критериев: сложность и удобство в работе, функционал, возможность распределения работы между несколькими переводчиками и возможности по контролю качества проекта.
      От редакции: текст взят из группы FaceOff и опубликован одним из пользователей.
      Начнём с самого универсального софта. Даже для тех, кто не занимался непосредственно переводом, наверняка знакома программа Notepad++. При всей кажущейся простоте у этой программы и её аналогов много встроенных функций и практически бесконечная возможность их расширения с помощью плагинов. Даже при использовании других более узкоспециализированных программ для переводчиков, многими функциями я продолжаю пользоваться в ней.
      Помимо того, что это, собственно, мощный редактор, отмечу возможность настройки синтаксиса (выделить или даже скрыть сегменты текста, которые не нужно переводить и которые, в принципе, лучше не трогать), гибкую возможность автозамены по файлу или всем файлам в папке (т.н. регулярные выражения — друзья переводчиков игр), возможность проверки явных грамматических ошибок с помощью спеллчекера, проверка превышения допустимого количества символов в строке с помощью линейки. Из естественных минусов программы можно отметить, что она всё-таки не затачивалась под перевод. Она никак не помогает при работе нескольких переводчиков, так как не является некой единой для них онлайн средой. Впрочем, на некоторых проектах её функций вполне достаточно. Такие игры, как Ittle Dew 2+ и Cadence of Hyrule были без проблем полностью переведены в одно лицо в этой программе.

      Фрагмент текста Xenoblade. Без использования синтаксиса глаза быстро собираются в кучку.
      Даже с составленным глоссарием иной раз в тексте натыкаешься на незнакомый термин, для перевода которого не хватает контекста. Когда интернет бессилен и не может подсказать хоть что-то о его значении, остаётся копать саму игру. Разобранный текст игры чаще всего находится не в одном файле, а в нескольких. Или — в нескольких сотнях файлов (порой с ни о чём не говорящими именами) в папках, которые находятся в других папках внутри ещё более крупных папок. Для поиска контекста возникает необходимость поиска по всем файлам. В таких случаях я, например, пользуюсь отдельной маленькой программкой Folder Find Text.

      Поиск показал, что Гоблин — не только монстр, но карта для мини-игры, а также упоминается в сюжетной сцене и на экранах обучения
      Такой поиск полезен не только на этапе перевода. Ещё больше от него пользы, когда игра находится на стадии тестирования, потому что по тексту со скриншота с ошибкой можно быстро найти файл, в котором находится этот фрагмент. Например, в Tokyo Mirage Sessions мы сняли под тысячу скриншотов (вылезание текста, пунктуация и прочие ошибки), когда перевод был совсем сырой, и по большинству их приходилось вот так искать текст. Ведь даже при хорошо знакомой структуре текста, расположение отдельных его фрагментов бывает неочевидным.
      Довольно распространённым вариантом для перевода является использование таблиц типа Excel. Таблицы от google бесплатны и их онлайн-функции компенсируют отсутствие оных у того же редактора вроде Notepad++. Становится возможным организовать работу нескольких переводчиков. Текст можно разбить либо между несколькими таблицами, либо их листами, либо даже слить всё на одну кажущуюся бесконечной страницу. В одном столбце английский вариант, в другом русский. Дальше начинаются варианты. Можно добавить столбец комментариев, можно для справки привести японский оригинал… короче всё, что будет полезно и придёт в голову переводчикам. Достаточно легко прикручиваются различные счётчики, которые контролируют длину строки или факт перевода/редактуры для подсчёта общей статистики. Нумерация строк помогает разбить текст между несколькими переводчиками. Все недостатки сводятся к тому, что опять же эта среда изначально универсальная и не была предназначена для переводов. Из неё при желании можно выжать многое, прикручивая что-то, но не раз мы натыкались на невозможность реализации того или иного облегчающего жизнь пожелания, мирились с этим и работали как есть.

      В одной таблице идёт перевод на несколько языков. Вдруг вы захотите для разнообразия пройти Марио на греческом.
      Кому-то вариант таблиц покажется тривиальным, но опять же для проектов среднего объёма он неплохо подходит. Таким образом были переведены Dusk Diver, Paper Mario Origami King, Phoenotopia Awakening, Mail Mole, Prison Princess. В таблицах также начинался перевод Daemon ex Machina, пока не был перенесён на «ноту». Иногда в таблицы удобно просто заливать результат работы, так как он доступен всем внутри группы переводчиков.
      Ещё пара моментов касательно таблиц из опыта работы с ними. Таблица Paper Mario Origami King можно считать филиалом Организации Объединённых Наций, потому что там помимо русского идёт перевод ещё на несколько языков. Соответственно, при желании и возможности переводчики могут подсмотреть друг у друга перевод тех или иных моментов, терминов и тому подобного. Меня очень умиляет сам факт такого интернационального перевода.

      Так называемый «лок-кит» Phoenotopia Awekening. Очень удобно, что разработчик оставил много комментариев по самым различным аспектам игры.
      А также вы могли заметить, что в списке проектов, переведённых в таблицах, были два официальных проекта. Дело в том, что такая среда удобна и многим инди-разработчикам. В Фенотопии в какой-то момент это сыграло с нами шутку: мы думали, что переводим копию текста, а оказалось, что вставляем свой перевод в основной файл, оригинал таблицы. И что все наши несерьёзные комментарии видны разработчикам, среди которых оказалась девушка, знающая русский язык… остальное можете додумать сами.

      Интерфейс Trello. Всё можно сделать довольно красиво.
      Возможно кто-то вспомнит проект перевода игры Detective Pikachu. Так вот он был организован на площадке под названием Trello. Этот сайт не столько среда для переводчиков, сколько пространство для выполнения крупных задач, которые разбиваются на более мелкие задачи. На трелло можно создать несколько досок под каждый проект. Основа - карточки, олицетворяющие какое-то задание (например разработка шрифта). Для этих карточек можно создать категории, например "Нужно сделать", "В работе" и "Готово". Между категориями карточки переносятся простым drag&drop. Уже к задачам этим можно прикреплять конкретные файлы, участников (ответственных за задание), метки и срок. Главный минус: ограничение на количество досок для бесплатной версии. Сам я, если честно, в ней не работал, а пришёл, когда проект перевода впал в транс. Этот абзац написан со слов Кирилла, который застал работу над Детективом Пикачу и участвовал в ней, а мы, отмечу, трелло не используем из-за наличия более функциональных площадок для перевода.

      Poedit. В ней начинался перевод Dusk Diver. Сам я в нём не участвовал, поэтому вот вам случайный скриншот на немецком.
      При написании этого материала мне подсказали, что часто для перевода используется инструмент под названием Poedit. В отличие от ранее представленных, это уже инструмент, заточенный под локализацию и в нём когда-то начинался перевод Dusk Diver. В этой же программе наши друзья из Digital Devil Translators переводят Shin Megami Tensei 4 (по их словам инструмент, довольно полезный). Отказались от его использования мы потому, что там сложно организовать работу нескольких переводчиков (совместный доступ продаётся в программе отдельно). Кэп упоминал, что мы как-то пробовали организовать на нём совместную работу через Git, но судя по тому, что работу мы заканчивали уже в гугл-таблицах, это видимо того не стоило. Сам я в этой программе не работал, поэтому и сказать про неё мне особо нечего.
      Переходим к тяжелой артиллерии. Среди русскоязычного сообщества переводчиков манги, сериалов, игр и тому подобного контента пользуется популярностью сайт Notabenoid. Та самая «нота», которая уже звучала в этом тексте. Это полузакрытый форум переводчиков, куда можно загрузить свои файлы, разбить их на сегменты, назначить переводчиков и даже подключить словарь перевода (глоссарий). Несмотря на то, что на сайт довольно сложно попасть (нужно приглашение, причем даже у нас при работе их было ограниченное количество и не у всех), многое на нём подкупает и сделано довольно удобно. В переводимых сегментах автоматически проверяются грамматические ошибки, автоматически считается статистика перевода. В этой среде вполне можно работать, хотя со временем начинаешь понимать, что ей не хватает многих функций. А потом этих функций начинает сильно не хватать и на ноту уже не хочется возвращаться.

      Минималистичный интерфейс Notabenoid.
      Многие переводчики, которым стала привычна эта среда, возразят, что всё самое нужное на этом сервисе есть. По крайней мере то, сколько на ней ведётся переводов, доказывает, что там есть достаточный минимум функций. Но при переводе Catherine Full Body вскрылись многие из недостатков сервиса, а перевод женского рута Persona 3 Portable стал последним проектом, который мы сделали на ноте. Что же неудобно на ноте?
      не хватает проверки на наличие повторов в тексте. Допустим, один и тот же фрагмент текста попадается в 10 разных файлах. Они могут попасться разным переводчикам, а потом в игре окажется, что они переведены по-разному. Да, это может привести в порядок редактор, или сам переводчик может вручную поискать повторяющийся фрагмент текста и подставить его во всех таких ситуациях. Но это можно учесть, если программа изначально обрабатывает текст на наличие повторов. Переводишь текст один раз, и он автоматически подставляется в другие фрагменты. Звучит как излишество? Просто эта функция есть в среде, в которой мы работаем сейчас, и теперь при взгляде на ноту я понимаю, что этого там очень не хватает; ограничение на количество строк в файле при их загрузке. Кажется, это как-то обходят с помощью скрипта, либо разбивают файл на части, но это тоже лишняя работа; отсутствие автозамены по нескольким файлам или даже в рамках одного файла; отсутствие возможности использовать машинный перевод. Да, он зачастую переводит текст отвратительно, но я сомневаюсь, что найдётся хотя бы один переводчик, который при работе ни разу не искал перевод отдельных слов в предложении. И вот иногда полезно на него опираться, чтобы увидеть вариант перевода. А если предложение простое и имеет однозначный смысл, то машинный перевод бывает даже вполне правильным; отсутствие возможности использовать подгруженную извне память переводов. Допустим вы перевели одну часть Atelier Ryza и хотите перевести её продолжение. Вы думаете, что наверняка часть системных текстов совпадает между частями игры и можно подставить готовые материалы из первой части во вторую. Нет, на ноте эти материалы никак не использовать. Только подстановка вручную, только хардкор. Ну или не подгружать такие файлу на ноту и делать часть проекта там, часть тут. Думаю, пример понятен. Естественно, можно работать и без этого, но когда где-то можно сократить время работы его лучше сократить, правда? отсутствие конкордансного поиска. Так, а это что за покемон? Это связано с памятью переводов. Возможность посмотреть в переведённых уже (и не только собой) сегментах как переводился тот или иной термин. Очень полезная фича, иногда даже заменяющая необходимость глоссария. Ведь при её реализации всегда можно вбить в поиск английский термин и посмотреть, как его перевели в прошлом. Очень удобно. Но на ноте этой функции тоже нет; было бы здорово, если программа понимала, что определённые куски текста нужно сохранять не тронутыми и как-то их выделяла. Я сейчас про теги и прочий код, который можно случайно перевести или сломать игру, удалив лишнюю скобочку. За этим на ноте тоже нужно следить только вручную; последнее, что пришло мне в голову — это работа с глоссарием. В каком-то виде он реализован на ноте и там можно проверить перевод термина. Но для того, чтобы найти перевод термина нужно вначале знать, что это важный термин. Почему бы не подсвечивать в оригинале совпадения с существующим глоссарием и не выводить в отдельном окошке перевод таких терминов? Тогда, в принципе, не нужно было бы лезть в глоссарий — знай себе, подставляй нужное совпадение с глоссарием в текст перевода. Но на ноте этого тоже нет. В итоге, на ноте определённо можно работать. Но многие полезные функции так называемых CAT-систем на ней не реализованы. Из-за существования таких систем мы и узнали собственно, что на ноте их не хватает. Поговорим о них. Приведённая аббревиатура никак не связана с кошками и расшифровывается как Computer Assisted Translation. По сути это совокупность программ или сервисов, которые делают перевод удобным и минимизируют различные связанные с ним рутинные операции. Я бы сказал, что это верхний эшелон программ для локализации и поэтому стоимость их использования часто выше того, что готовы платить люди, занимающиеся фанатскими переводами. Но некоторые из этих программ имеют бесплатные версии, функций которых вполне достаточно для работы.

      На первый взгляд интерфейс почти такой же, как и на ноте. Нюансы кроятся в меню сверху и других возможностях сервиса.
      Хотя сервис не является единственной подобной бесплатной программой, мы уже довольно давно остановили свой выбор на системе под названием SmartCAT. Чтобы не перечислять заново, можете просто вернуться немного назад и прочитать недостатки ноты. Все эти функции в том или ином виде реализованы на смарткате. К недостаткам можно отнести, что с такими системами нужно чуть больше разбираться вначале, но доступный функционал это многократно компенсирует.

      Как там я, в итоге, перевёл слово Goblin? А точно — как Гоблин… А если серьёзно, конкордансный поиск — очень полезная вещь.
      Прежде всего, на этом сервисе можно зарегистрироваться как фрилансер или как организация. Всем переводчикам, успешно прошедшим тест, мы сразу же рекомендуем зарегистрироваться там, потому что на текущий момент все наши основные проекты ведутся там.

      Этот кот явно использует правильные инструменты перевода.
      Сервис поддерживает различные форматы входных текстовых данных. Он автоматически разбивает их на сегменты, отчего с ними становится проще работать, ищет повторы и указывает, если фрагмент повторяется где-то в тексте. Есть поддержка памяти переводов, конкордансный поиск, автозамена, совпадения с глоссарием выделяются, а самое главное — можно распределять задачи между несколькими переводчиками, как и на других ресурсах (сервис онлайновый).

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

      Меню совпадений с памятью переводов и машинный перевод. Да совпадение на 102%, это не ошибка. Это значит, что совпадает не только сегмент, но и порядок сегментов. Значит тем более можно взять перевод из памяти переводов.
      Немаловажным является и то, что все проекты находятся в одном месте. Их легко контролировать, понятно где сколько людей, где нужна небольшая помощь, все вопросы менеджмента переводов становятся не такими утомительными и возможно именно из-за этого нам получилось довести число активно идущих переводов до 16. Всё прозрачно и удобно.

      В программе удобно искать как работу для фрилансеров, так и фрилансеров для работы. Стоп, у нас уже 29 человек в команде?
      Этот текст получился уже значительно длиннее, чем я планировал. Я никак не упомянул специальные инструменты, которые существуют для отдельных игр или их серий. Кроме того, отдельно можно рассказать и о тех справочных ресурсах, которыми часто приходится пользоваться независимо от содержания игры. Об этом давайте как-нибудь в другой раз. Надеюсь, вам было интересно почитать о нашем переводческом опыте. До следующего четверга, и как всегда…
      Stay Tuned!

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

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

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

    • Да, измерял этим самым ) Но там одни и те же были цифры.  Не знаю, как там у владельцев параходов, планет и "систем", но у скромного владельца 5090, никакого врача нету. Вообще, я обращаюсь к врачам только в крайних случаях.  Да и как ты себе это представляешь? Доктор, у меня от оледов сильно глаза напрягаются и голова болит. Помогите! 
    • Привет вероятно не актуально но мы уже неделю как исправили видео ролики и адаптировали озвучку под новую версию игры. И текстового перевода не ломающего ачивки нет. Ты можешь их включить но тогда сломается текст. Как включить уже объяснял тут надо дисабле рам и дисабле сброс в ини файле мгс фикс на труе переписать. Да перевод на msx есть но пока под эмулятор msx. В Стиме не версия msx там переработанный текст и чутка сюжет я не могу пока просто взять и перенести текст туда. Не совпадает перевод.
    • Ну раньше были олимпиады, спорт, а теперь там сплошная политика и почти никакого спорта, вот на политику и перешло дело, надо полагать. Эх, раньше трава была зеленее (как минимум там, где от заводов не была жёлто-красной).
    • Кстати ещё 6 лет назад политика интересовала только особо озабоченных. А теперь даже на игровом форуме такие темы постоянно.
    • На вопрос так и не ответил ж, приходится переспрашивать. ^^. А оно мне надо? тебе вот было надо, так что флаг тебе в руки. А я подожду.
    • Не припомню, чтобы я такое обещал о_О Ну вот,  займись лучше поиском "деньжищ" для предвыборной кампании, чем лясы тут на форуме точить) Всë в твоих руках. 
    • Случаем, не в краях, где опасные даскеры водятся, как там ты те края величал — лосадминосы или как-то так? А то, там всякое может происходить при истончённой границе реальности, не иначе.
    • История русской локализации Tales of Rebirth (PS2)
      Глава 7. Очистка строк от лишних данных и работа с нестандартными поинтерами
      https://temple-tales.ru/games/tor/russian_localization.html В начале прошлой главы на первом изображении я наглядно показал, что блоков с поинтерами в исполняемом файле всего более 40 штук. А теперь представьте, что все ранее описанные этапы нужно повторить заново с каждым из них. В таких случаях даже программистам приходится искать вручную каждый блок и идентифицировать все поинтеры. Потому что автоматизировать этот процесс очень сложно, ведь расположение поинтеров в большинстве блоках хаотичное, так как в одних расстояние между поинтерами одно, а в других — другое. Кроме того, расстояние в одном блоке поинтеров между разными указателями тоже может отличаться. А вот насколько сильно — вы можете посмотреть на приведённом изображении ниже:

      Визуализация разных расстояний между поинтерами. Красным отмечены области с расстоянием по 4 байта, синим — по 8 байт, а зелёным — по 12 байт соответственно. В этом случае возникает вопрос: а как в таком беспорядке abcde будет справляться с распознаванием поинтеров? Автор данного приложения этот момент не продумал. Если мы зададим программе интервал, то при извлечении текста в рамках этого интервала приложение будет пытаться прочитать поинтеры принудительно. Иначе говоря, после считывания обычных указателей приложение рано или поздно попытается считать поинтер из той области, которая не является поинтером. И именно в этот момент в строке с извлечённым текстом от программы стоит ожидать различного рода мусора, который будет очень сильно мешать работе в целом. Эти мусорные данные среди полезного текста выглядят примерно вот так:

      Розовым, чёрным и зелёным цветами отмечены блоки, которые программа ошибочно принимает за поинтеры и пытается извлечь текст по этим адресам. В результате прочитанные значения могут выходить за пределы массива данных файла, что в свою очередь создаёт различную несогласованность адресов. На данном изображении это отмечено серыми стрелками. Кроме того, если при попытке считывания по ложному смещению попадается первый байт со значением 0x00, то при извлечении эта строка будет пустой и в сформированном блоке поинтера ничего, кроме тега [END], мы не увидим. Напомню, что файлы с извлечёнными строками текста содержат свой блок данных для каждого поинтера, и в этих файлах их можно спокойно копировать и удалять, а также склеивать между собой как угодно, не нарушая синтаксис. Примерно вот так:

      И здесь, как вы уже, скорее всего, догадались, все мусорные блоки с текстом, которые были идентифицированы ошибочно, придётся удалять вручную. По-другому от них никак не избавиться, потому что с помощью abcde этот процесс не автоматизировать. Можно удалять мусорные блоки прямо в текстовом редакторе, но для визуального облегчения всё это я копировал в эксель и уже там сортировал удобным образом. Поскольку в текстовом редакторе весь синтаксис тегов сливается с полезным текстом и различать мусорные данные там довольно непросто: есть риск ошибиться и захватить полезные строки. В экселе же есть возможность графически выделить разные строки, что явно ускоряет идентификацию. Наглядно это выглядит вот таким образом:

      Это ещё не всё, что хотелось бы осветить по поводу поинтеров. Дело в том, что, помимо простых указателей с поправкой, ещё существует второй тип поинтеров, которые записаны в функциях в виде инструкций прямо среди основного кода исполняемого файла. И не всегда их легко различить визуально. В нашем случае несколько таких поинтеров попадается в исполняемом файле, и работу с ними мне тоже пришлось освоить. Приложение abcde нам никак не поможет, потому что уровень сложности в этом случае резко возрастает и требует более глубоких знаний и понимания кода архитектуры процессора MIPS R5900, который используется в играх для платформы PlayStation 2. Для поиска таких поинтеров в очередной раз обращаемся к инструментам обратной разработки: IDA Pro или Ghidra. Как и в прошлый раз, опишу этот процесс, выполняемый с помощью IDA Pro. ⬜ Этап 1. Поиск функции, в которой прописан нестандартный поинтер а) Повторяем первоначальные шаги, которые были описаны в прошлой главе. Ищем нужные нам строки с текстом в исполняемом файле с помощью хекс-редактора, поинтеры которых не получилось найти. В качестве примера я выбрал строку вот с этим текстом: Chambers. Загружаем SLPS_254.50 в IDA Pro. Ждём, как приложение просчитает взаимосвязи всех функций. Далее щёлкаем по вкладке "Hex View-1" и ищем здесь начало того же текста, который нашли в хекс-редакторе. Вам необязательно сначала искать текст в хекс-редакторе, а потом в IDA Pro. Если вы достаточно хорошо ориентируетесь в IDA, то можете сразу начинать поиски текста в этом приложении. После того, как нашли строку с текстом, щёлкаем по вкладке "IDA View-A". Вы увидите вот такое окно:

      б) На представленном изображении в прошлом пункте наглядно видно, как чуть ниже строки с текстом программа прописывает адресацию к функции, в которой указан индекс к началу этого текста. Наводим курсором на эту взаимосвязь "# DATA XREF: .text:00153B3C↑o" и щёлкаем 2 раза:

      в) После того как два раза нажали на взаимосвязь "# DATA XREF: .text:00153B3C↑o", вас должно перекинуть на окно, которое по своей сути является просмотрщиком дизассемблированного кода:

      Таким образом мы попадаем в одну из функций, в которой прописаны определённые инструкции для работы с данной строкой. Именно здесь нам и предстоит ориентироваться в поисках нестандартного поинтера. ⬜ Этап 2. Определение верхней и нижней частей среди инструкций для формирования целого поинтера а) В первую очередь важно понять, что придётся часто переключаться между окнами "IDA View-A" и "Hex View-1", а также постоянно держать в голове поправку FF000 для точных расчётов. Можно упростить себе задачу и держать под рукой калькулятор для подсчётов в шестнадцатеричной системе счисления. Найденная область функции содержит данные сразу для работы с тремя строками: Оригинальный текст японской версии:
      1) 謎の館
      2) The Hidden Chambers
      3) この中に何があるのか……<__>全てが謎につつまれた館。 Текущий вариант перевода строк в нашей локализации:
      1) Таинственный особняк
      2) [SPACE]
      3) Особняк, окутанный тайнами.<__>Никто не знает, что в нём. Все они относятся к названию и описанию локации "Таинственный особняк". Но для того, чтобы вычислить каждый поинтер для всех этих строк, потребуются определённые манипуляции c идентификацией инструкций, в которых и спрятаны поинтеры. Кроме того, поинтеры для каждой строки разделены на 2 части и наша задача каждую из них найти, развернуть и правильно сложить. Перед тем, как приступить к следующему шагу, нужно немного рассказать об особенностях данного типа поинтеров. Процессоры MIPS работают с 32-битными указателями. Размер любого поинтера в памяти составляет 32 бита. Проще говоря, это 4 байта. Например: 0x0022C268. Это в свою очередь накладывает определённые ограничения, потому что любая инструкция MIPS занимает ровно 4 байта. В этот размер можно уместить: код операции, номера регистров и числовую константу (immediate). В итоге на константу в одной инструкции остаётся всего 2 байта. Это означает, что в одну инструкцию умещается только половина поинтера. Именно поэтому весь указатель собирается из двух инструкций. Первая инструкция загружает верхние 2 байта, а вторая добавляет нижние 2 байта. В этом и заключается основная задача: понять, где в инструкциях прописаны числовые константы для верхней и нижней части поинтера.



      б) В окне просмотра дизассемблированного кода "IDA View-A" нужно обратить внимание на следующие строки: lui $a0, 0x23 # '#'
      lui $a1, 0x23 # '#'
      lui $v1, 0x23 # '#' li $a0, unk_22C268
      li $a1, aTheHiddenChamb # "The Hidden Chambers"
      li $v1, unk_22C290 Первая группа из трёх строк отвечает за верхние части поинтеров, а вторая группа из трёх строк — за нижние. В итоге получаем вот такую взаимосвязь: Верхняя часть 1 поинтера = lui $a0, 0x23 # '#'
      Верхняя часть 2 поинтера = lui $a1, 0x23 # '#'
      Верхняя часть 3 поинтера = lui $v1, 0x23 # '#' Нижняя часть 1 поинтера = li $a0, unk_22C268
      Нижняя часть 2 поинтера = li $a1, aTheHiddenChamb # "The Hidden Chambers"
      Нижняя часть 3 поинтера = li $v1, unk_22C290 Для того, чтобы корректно отследить каждую часть, а потом сделать определённые изменения в соответствии с нашим переводом, возьмём вторую строку из первой группы и вторую строку из второй группы: Верхняя часть 2 поинтера = lui $a1, 0x23 # '#'
      Нижняя часть 2 поинтера = li $a1, aTheHiddenChamb # "The Hidden Chambers" Как только щёлкаем в любом месте по нужной нам инструкции в окне "IDA View-A", вся её часть подсвечивается соответствующим образом и в окне "Hex View-1". Пробуем нажать на "0x23" в окне "IDA View-A" (строка верхней части 2-го поинтера), а затем переключаемся на окно "Hex View-1" и наблюдаем, что IDA Pro выделяет все 4 байта этой инструкции:

      Первые 2 байта "23 00" в этом выделенном блоке и являются числовой константой, а именно верхней частью нужного нам поинтера. Запоминаем или записываем это значение. Далее приступаем к поиску нижней части поинтера. Для этого пробуем нажать на "aTheHiddenChamb" в окне "IDA View-A", а затем переключаемся на окно "Hex View-1" и снова наблюдаем, как IDA Pro выделяет все 4 байта другой инструкции:

      Здесь первые 2 байта "78 C2" тоже являются числовой константой, той самой нижней частью нужного нам поинтера. Теперь у нас на руках обе части. Перед тем как их сложить, нужно их развернуть — не забываем, что на консоли PS2 порядок построения байтов в поинтерах записывается в little-endian виде:
      23 00 » 00 23
      78 C2 » C2 78 Затем складываем:
      00 23 + C2 78 = 00 23 C2 78 Мы практически получили готовый поинтер, но не всё так просто. Если из него вычесть поправку FF000 и в исполняемом файле SLPS_254.50 в хекс-редакторе перейти по этому адресу, то мы не попадём на нужную нам строку, потому что существует определённое правило ещё одной поправки для инструкций, но уже для верхней части. Заключается оно в том, что если 2 байта из нижней части меньше или равны значению 0x8000, то к верхней части прибавляется 1 (то есть +0x10000), а если меньше, то эта поправка не нужна. В соответствии с этим правилом корректируем полученный поинтер, так как значение нижней части поинтера в нашем случаем больше этого числа: C278 > 8000. Пересчитываем:
      00 23 C2 78 - 00 01 00 00 = 00 22 C2 78 Вот только теперь мы получили правильный поинтер, от которого нужно отнять поправку FF000, о которой я просил вас не забывать:
      00 22 C2 78 - 00 0F F0 00 = 12 D2 78 Открываем исполняемый файл в хекс-редакторе и убеждаемся, что все расчёты были проведены правильно и что по данному адресу находится нужная нам строка с текстом:

      ⬜ Этап 3. Ручное изменение нестандратных поинтеров в хекс-редакторе а) Ну а теперь, когда нам известно, как найти все нестандартные поинтеры, то можно приступить к их изменению в соответствии с тем переводом текста, который я привёл в начале второго этапа. Есть попытаться вставить текст третьей строки, то он свободно умещается в изначально отведённое пространство. Но со второй строкой сделать это не получится — при попытке укладки переведённого текста в первую строку он начнёт перекрывать текст второй строки. Потому что для первой строки в исполняемом файле всего выделено 15 байт, а наш вариант "Таинственный особняк" занимает 20 байт + ещё нужно учитывать 1 байт окончания строки со значением {00}. Итого для нашего варианта перевода необходим 21 байт, что явно превышает размер 15 байт. Так как укладка текста будет идти в изначальный адрес оригинальной первой строки, то значения поинтера здесь менять не нужно, а вот значения поинтера для второй строки придётся изменить. Для новичков это может звучать немного запутанно, поэтому приведу несколько скриншотов, чтобы стало понятно получше:

    • Где такие страсти-то происходили-то? В нашем маленьком посёлке, где я учился, так-то про пикачу знало всего пара-тройка человек, при этом я — один из них. Помню как бегал со всех ног домой, чтобы успеть серию посмотреть. Эх, было ж время, чуть всех друзей так тогда не растерял, хотя… а, ну да, растерял. Ты это, выдвигать меня собираешься или нет?) А то таких деньжищ лично у меня не имеется, чтобы самовыдвижением заниматься. Чай, не Собчаг же ж.
  • Изменения статусов

    • Jimmi Hopkins  »  SerGEAnt

      Это не просто перевод, а полноценная авторская сценарная адаптация. Диалоги переписаны так, чтобы персонажи звучали живо, остро и в характере. Добавлен чёрный юмор там, где авторы постеснялись. Убраны лорные противоречия, докручены мотивации. В результате игра стала умнее, злее и смешнее оригинала.
      · 0 ответов
    • ElikaStudio

      Долгожданный релиз полного сезона состоялся!
      https://youtu.be/mwBk2stm2OQ?si=qpJojB_XDABaC0We
      https://vk.com/video-48153754_456239394?sh=4&list=c62797c2b7d0725d6e
      Life is Strange: Before the Storm:
      Эпизод 1: "Прoбуждeниe"
      Эпизод 2: "О дивный новый мир"
      Эпизод 3: "Ад пуст"
      Бонусный эпизод: "Прощание"
      Русская озвучка уже доступна для скачивания!
      ElikaStudio выражает огромную благодарность всем, кто принял участие в создании проекта! 
      Группе Mechanics VoiceOver R.G. MVO , в частности их руководителю Дмитрию за неоценимую помощь в выпуске эпизода.
      Скачать для PC Classic (2018):
      GDrive: - https://drive.google.com/file/d/19CL_L80Mz0sIxcb54Ss64byAkeZmV22r/view?usp=sharing
      Скачать для PC Remastered (2022):
      GDrive: - https://drive.google.com/file/d/13q58Lpvw5_aYPYeZ7OGYZlAKOoS1gEbL/view?usp=sharing
      Скачать для Свитч(2022):
      GDrive: - https://drive.google.com/file/d/15e—T1LQiGQCYIHeNnj_C2qJA16Gvh1i/view?usp=sharing
      Ручная установка PC(оба издания):
      https://drive.google.com/drive/folders/1MJPd8965m4XxxAuOBt8enSHtv8_yy5xh?usp=sharing
      Баг репорт в обсуждении:
      https://vk.com/topic-48153754_55571577
      ___________________________________________
      Финансовый аппарат:
      www.donationalerts.com/r/elikastudio
      Пожертвовать средства на наши проекты:
      Кошелек ЮMoney 4100 1188 6818 3009
      карта Сбер банк 2202 2018 6334 1042
      карта Альфа банк 5559 4937 0209 8584
      Спасибо за вашу поддержку!
      #elikastudio #русскаяозвучка
      · 0 ответов
    • fox222  »  Siberian GRemlin

      Здравствуйте, хочу купить персональный доступ к переводам, сколько стоит?
      · 1 ответ
    • vitkach  »  eaZy

      Извините за беспокойство. Хотел спросить, а русификатор ещё когда-нибудь будет обновляться? Дело в том, что после его выхода выходили ещё обновления, в частности обновление 1.1, вышедшее летом 2023 года, где была добавлена целая сюжетная глава в конце если проходишь на лучшую концовку золотого пути, это где-то ещё полчаса диалогов. Также в игре присутсвуют иногда кракозябры вместо русского языка, это в основном связано с тем, что кое-где текст был изменён, в основном в обучающих сообщениях.
      · 0 ответов
    • TerryBogard  »  Siberian GRemlin

      C&C: RA: Retaliation (ПК) не работает.
      · 0 ответов
  • Лучшие авторы


×