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

Страницы: 1 [2] 3 4 5 6 7 ... 10
11
RusMe - РусМи! / Re: Игра Snake от geeks3d
« Последний ответ от leserg73 17 Февраля 2025, 15:49:15 »
Приветствую!
Есть ли у вас какие-либо подвижки в решении проблемы?
С разработчиком связывались?

Основная проблема: использование языка Lua - она поддерживает строки только в кодировке ASCII.
Вторая проблема: использование библиотеки Dear ImGui (https://github.com/ocornut/imgui). По умолчанию она использует набор символов Latin1.

Проблему Lua можно решить, если использовать шрифт в котором вторая половина таблицы ASCII заменена на символы кириллицы.
Вторую проблему может исправить разработчик. Но и здесь есть нюансы. Кроме набора символов, для библиотеки Dear ImGui нужно указывать кодировку UTF-8. Для этого в код игрушки нужно добавить дополнительный код на языке Lua, который будет конвертировать строки ANSI в кодировку UTF-8.

Главная страница игрушки - меню - использует интерфейс Dear ImGui. Для неё строки должны быть в кодировке UTF-8 и указан набор символов - кириллица.
Страница с самой игрой - использует Lua. Строки должны быть в кодировке ANSI (CP-1251).

Как видите, языковой файл должен быть:
 - для интерфейса Dear ImGui - в кодировке UTF-8;
 - для интерфейса Lua - в кодировке ANSI.

Сделать это в одном файле - просто невозможно. Необходимо вносить изменения в исходный код игрушки.

Можно ли сделать это без участия разработчика? Можно. Но работы очень много.

Что нужно сделать?
1) Пропатчить библиотеку gxc_x64.dll на чтение символов кириллицы вместо символов Latin1.
2) Дешифровать и распаковать исходники программы из файла "_" (файл без расширения).
3) Написать (найти в инете) на языке Lua функцию преобразования строк ANSI в UTF-8.
4) В исходниках для строк интерфейса Dear ImGui добавить конвертер ANSI в UTF-8.
5) В исходниках заменить шрифты собственными, где вторая половина таблицы ASCII заменена на символы кириллицы (можно сделать самому при помощи редакторов шрифтов).
6) Запаковать и зашифровать исходники обратно в файл ресурса "_" (может и не получится, но тогда игру можно будет запускать через модуль GeeXLab).
12
RusMe - РусМи! / Игра Snake от geeks3d
« Последний ответ от Kirill Borisenko 25 Января 2025, 22:14:34 »
Добрый день, коллеги.

Решил тут перевести игрушку Snake (да-да - ту самую "Змейку") для ПК.
https://geeks3d.com/geexlab/games/snake/

Опытным путём нашёл файлы локализации.
В игрушку "вшита" поддержка только двух файлов языков.

Перевести их несложно.

Вопрос в другом - игра не понимает русских символов. При том, что файл английского языка кодируется в ASCII.
Нашёл и заменил все шрифты на шрифты с поддержкой русского языка. Всё-равно не хочет нормально отображать.
Решил найти, где в игре находится путь к файлу языка, чтобы посмотреть, какую кодировку программа хочет увидеть.
Total Commander находит имя файла в бинарнике, но ни один HEX-редактор не хочет находить тоже самое в тех же самых файлах.
Подсобите, что можно сделать?
14
Место, где можно отдохнуть от локализации... / Re: Музыка
« Последний ответ от вован1 26 Мая 2024, 16:31:16 »
15
Редакторы ресурсов / Re: Редактор *.ро и *.mo файлов Poedit
« Последний ответ от seryi 23 Апреля 2024, 09:03:17 »
На самом деле MO-файл копировать никуда не нужно, достаточно прописать правильную команду с полными путями в кавычках и вставить её в CMD (в некоторых случаях запускать CMD от имени администратора для прав записи в любой папке):

"%ProgramFiles(x86)%\Poedit\GettextTools\bin\msgunfmt.exe" "%AppData%\MySuperProgram\langs\lang.mo" -o "%AppData%\MySuperProgram\langs\lang.po"
16
Добрый день, есть задача по русификации специализированного ПО, уже содержащего 6 языков и задел на русский - нет ресурсов и отключенное меню выбора. А также обратную разработку одного из модулей этого софта для использования без оболочки, например из CLI. Коллеги, заказ коммерческий, защита в приложении WIBU
17
Вспомогательные программы / Re: WCRPatcher 1.2 RC2 (русская версия)
« Последний ответ от Kirill Borisenko 03 Января 2024, 18:59:45 »
Спасибо Вам за то, что обратили внимание на то, что в Сети существует более продвинутая версия данного патчера.

Выкладываю более новую русскую версию этой программы:
18
Поиск русификаций / ищу русификатор Active Partition Recovery
« Последний ответ от yu-shheti 03 Декабря 2023, 06:33:22 »
Ищу русификатор на Active@ Partition Recovery для восстановления разделов диска в Windows 7,10 x64
19
Общий форум / Китайская программа (иероглифы) нужен совет
« Последний ответ от e398 28 Ноября 2023, 16:03:24 »
Всем привет.
На работе установили программу и я из-за любопытства захотел ее перевести, но сижу уже неделю и ничего не выходит.

Половина англ\китай, а другая половина просто китай. Пытался ее русифицировать LikeRusXP, Passolo, Multilizer 11, Radialix 3. LikeRusXP даже перевел, но кодировка все равно не та (скрин было-стало), только вверху меню поменялось. В настройках компьютера в регионах тоже менял и галку ставил. Почему такая история может быть?
Сама программ https://disk.yandex.ru/d/dOexmrTb6ZznaQ
20
RusMe - РусМи! / Re: PCem - проверка CRC32?
« Последний ответ от leserg73 15 Ноября 2023, 00:44:04 »
На картинке в примере адреса ссылок немного разные. Ссылка должна быть +/- как в Radialix или точной?
Здесь все точно, без каких-либо допусков.
Radialix показывает адреса ссылок, а отладчик показывает адреса инструкций.
Инструкция со ссылкой находится по адресу 00460F66.
Размер инструкции mov dword ptr ss:[esp+4] составляет 4 байта (байты C7 44 24 04).
Остальные 4 байта (вторая часть инструкции) - ссылка на ресурс.
Тогда адрес этой ссылки будет 00460F66 + 4 = 00460F6A, что и показывает Radialix.



Размер должен указываться в количестве байт текстового файла, указанном в шестнадцатеричном формате, или вычисляться исходя из количества символов, видимого в Radialix?
Radialix отображает длину строк в символах. И если для кодировок ANSI длина строк в символах и в байтах будет одинаковой, то в кодировке UTF-8 для кириллицы длина строки в символах и в байтах будет различной, так как на один символ кириллицы приходится уже 2 байта. В отладчике необходимо указать физический размер ресурса, т.е. не в символах, а в байтах. Поэтому в данном случае из Radilaix можно воспользоваться только оригинальной длиной ресурса (значение 142917) для ориентировки в отладчике. В шестнадцатеричном формате это будет значение 22E45, что и видно в отладчике (см. скриншот выше). А вот после перевода ресурса берём уже значение размера файла, который это ресурс занимает. Он в любом случае будет больше исходного. Также обратите внимание, что XRC-ресурс имеет Unix-формат конца строк (хотя, возможно, это не принципиально).
Страницы: 1 [2] 3 4 5 6 7 ... 10