Этот сайт создан как клуб русификаторщиков. Для нас существуют три основных правила.
1. Мы никому и ничего не должны!
2.Один пришедший на сайт толковый русификаторщик дороже всех пользователей.
3. Мы делаем русификаторы для своего сайта, но в оригинале ими могут пользоваться все в интернете.
78Sergey, Добрый день! По какому смещению записывать переведённый архив? К примеру, смещение арабского языка 0033fed7 и так как этот язык самый "тяжёлый" из всех архивов с языками, его вполне можно заменить на русский, но ничего не выходит... Пробовал записывать и с помощью PackZip v0.3 и через WinHex - арабский как был, так и остаётся, а то что записывается, добавляется в программу просто новым архивом (при этом программа не ломается и вполне работает)... Я потом снова извлекал архивы и вместо 570 получил 571 архив, 1 архив оказался добавленным мной...
Сообщение отредактировал KMV2013 4 октября 2024 - 06:07
При переводе с помощью Radialix программа частично ломается, а именно - перестаёт работать кнопка Feedback "Обратная связь", конечно, фиг бы с ней с этой обратной связью, но всё же...
Записывать по любому смещению любого языкового файла, который хотите перевести и заменить. Например, файл арабского языка 0033fed7 в названии которого указано смещение(0033fed7).
рис. 01
Zlib-архив с переведённым файлом обязательно должен быть меньше или равен оригинальному. Для его уменьшения можно файл qm преобразовать в файл ts, открыть в Notepad++ файл ts и внимательно изучив его структуру вырезать строки которые остаются без перевода, такие как: Ok, TextLabel, Dialog и т.п. После вырезания "лишнего" преобразовать обратно в файл qm.
Размер zlib-архива для файла арабского языка 0033fed7 (см. рис. 02) указан как 4762h = 18 274 байт, но размер нового архива должен быть чуть меньше(об этом ниже) Если перейти в конец zlib-архива в hex-редакторе, для этого к смешению 0033fed7h прибавим указанный размер zlib-архива 4762h получаем смешение в конце zlib-архива 0033fed7h+4762h=344639h в конце zlib-архива видим(см. рис. 03), что в указанный размер архива от разделительного байта 00 учитываются следующие байты 00 E4 00 00 01 70 Итак размер нового zlib-архива должен быть меньше или равен 4762-6(шесть байт 00 E4 00 00 01 70)= 475Ch или 18 268 байт
рис. 03
После вставки zlib-архива в exe-файл нужно в hex-редакторе исправить значения указывающие: а)размер zlib-архива(+6 байт, если включать блок данных 00 E4 00 00 01 70) (если он изменился) б)размер(распакованного) файла qm (если он изменился) в)дописать к новому zlib-архиву в конец блок данных 00 E4 00 00 01 70
В общем, всё нормально вставляется, только не меняется слово اللغة и оно скорее всего не нарисовано на кнопке, потому что можно поменять с помощью Radialix названия других языков - кроме арабского и китайского (曰本语) - их Radialix не находит (даже если при создании проекта локализации снять все галочки с ограничений)... Не подскажите, как найти اللغة?
Сообщение отредактировал KMV2013 4 октября 2024 - 21:34