Задавайте вопросы по русификации и мы по возможности ответим

Для желающих получить ответы на свои вопросы:1. Будьте добры давать ссылку на программу, в архиве
  1. Оффлайн

    vaka61

    Звание: Бывалый

    Знаток

    Сообщений: 156

    Создано тем: 16

    Рейтинг: 4

    Репа: (12|12|0)

    Баллы: 121

    Страна: не указана!

    Был: 2024-09-18 09:35

    Лайков: 4

    Цитата: Krig
    Вы архив распаковали? Я все проделал, как написал Horna и у меня все получилось!


    Пивет! Прочитав еще раз Horna у меня то же получилось. Только мне не понятно, каким образом определяешь расширение распакованного файла, какой изних exe,какой dll . Теперь другая беда. Распакованный файл Radialix видит ЖЗС, а как теперь сделать файл rdmap. IDA отказывается. В WinHex делать пере вод? И как все-таки запихивать обратно в эксешник.
    6 июня 2013 - 04:45 / #211
  2. Оффлайн

    Krig

    Звание: Бывалый

    Знаток

    Сообщений: 188

    Создано тем: 7

    Рейтинг: 4

    Репа: (86|86|0)

    Баллы: 56

    Был: 2023-03-14 15:26

    Лайков: 82

    Цитата: vaka61
    Распакованный файл Radialix видит ЖЗС, а как теперь сделать файл rdmap. IDA отказывается.


    Nexus, выше написал, что программма написана на .NET Framework, поэтому IDA здесь бесполезна. Лично у меня полученный файл в Radialix загружается с ошибками, и в конце концов Radialix падает с ексепшеном (вырубить можно только через удаление процесса). Редактор Sisulizer файл загружает, но не показывает ни одной строки. С другими редакторами опыта никакого. Может знатоки подскажут чего и как.
    Цитата: vaka61
    И как все-таки запихивать обратно в эксешник.


    Если рассуждать логически, то после перевода, полученный файл надо запаковать обратно в архив ZLIB (например той же программой Simplyzip) и сравнить размер полученного архива с оригинальным архивом, который был извлечен из файла программы. Если новый размер меньше оригинального, то замена архива возможна. Делается это в НЕХ-редакторе. Открываешь в нем полученный новый архив и файл программы. Копируешь бинарные данные архива и вставляешь в код программы по адресу размещения оригинального архива. Замену байтов подтвеждаешь. Сохраняешь изменения и проверяешь программу в работе. Если же размер нового архива больше оригинального, то замену выполнять нельзя, т.к. данные архива затрут оригинальные данные программы и она работать не будет. Поэтому надо вернуться к переводу и посмотреть, что в нем можно сократить (например можно пережать картинки). Короче нужно сделать так, чтобы размер файла в запакованном виде (архив ZLIB) был меньше оригинального размера.
    Это теоретически. Я сам этого никогда не делал. Но исходя из поста Horn'ы - это возможно (судя по работающей русской версии программы SysTracer)
    6 июня 2013 - 18:35 / #212
  3. Оффлайн

    vaka61

    Звание: Бывалый

    Знаток

    Сообщений: 156

    Создано тем: 16

    Рейтинг: 4

    Репа: (12|12|0)

    Баллы: 121

    Страна: не указана!

    Был: 2024-09-18 09:35

    Лайков: 4

    Цитата: Krig
    Копируешь бинарные данные архива и вставляешь в код программы по адресу размещения оригинального архива. Замену байтов подтвеждаешь.


    Вот с этого места можно по подробнее,а еще лудше в картинкахю, будь другом не откажи.
    6 июня 2013 - 22:29 / #213
  4. Оффлайн

    Nexus

    Забанен

    Сообщений: 611

    Создано тем: 20

    Репа: 0

    Баллы: 0

    Был: 2022-07-03 23:07

    Лайков: 7

    Цитата: vaka61
    Вот с этого места можно по подробнее,а еще лудше в картинкахю, будь другом не откажи.



    Да зачем себе голову морочить? Забудь о ZLIB архивах, вот держи нужные распакованные файлы, вкинешь их в корневую папку программы, EXE файл в папке заменишь на новый из архива:



    Теперь не нужно ничего запаковывать, все нужные для перевода строки находятся в файле Streaming Audio Recorder.exe , некоторые строки в Юникоде, некоторые - в ANSI. Только нужно теперь переводить все в WinHex"е, по другому видимо никак...
    7 июня 2013 - 00:30 / #214
  5. Оффлайн

    vaka61

    Звание: Бывалый

    Знаток

    Сообщений: 156

    Создано тем: 16

    Рейтинг: 4

    Репа: (12|12|0)

    Баллы: 121

    Страна: не указана!

    Был: 2024-09-18 09:35

    Лайков: 4

    Цитата: Nexus
    Да зачем себе голову морочить? Забудь о ZLIB архивах, вот держи нужные распакованные файлы


    За файлы огромное спасибо. А как быть с обучением, распаковать, запаковать, запихнуть и т.д. Хочется, как то самому приобрести опыт. Вот к при меру даже твои файлы , чтоб не переводить по буквам в WinHex наверное нужно выделить блок, копировать, сделать перевод и потом заменить оригинал на переведённый. Но как это делается, я не знаю. По этому и прошу “дядя научи меня плохому “. Вот ты же каким-то образом сделал эти файлы и мне самому хоца. Если конечно это по моим зубам.
    7 июня 2013 - 08:26 / #215
  6. Оффлайн

    Nexus

    Забанен

    Сообщений: 611

    Создано тем: 20

    Репа: 0

    Баллы: 0

    Был: 2022-07-03 23:07

    Лайков: 7

    Цитата: vaka61
    По этому и прошу “дядя научи меня плохому “

    Ну да может и напишу в ближайшее время, сейчас просто сильно занят - лето на дворе, сезон строительства как никак...
    Да, почему-то из-за этой программы меня постоянно выкидывает в BSOD, это такое у меня, или может у других тоже?
    7 июня 2013 - 10:27 / #216
  7. Оффлайн

    Автор темы

    WYLEK

    Звание: Легенда

    Админ

    Сообщений: 2181

    Создано тем: 315

    Рейтинг: 10

    Репа: (245|245|0)

    Баллы: 3415

    Был: 2024-09-09 21:13

    Лайков: 199

    Цитата: Krig
    Да нет уж, там как раз по буквам и нуждно переводить, свободного места в файле слишком мало, нельзя превышать количество букв в строке.



    Так как программа написана на .NET Framework, то Нех-редактор не нужен. Просто надо сделать проект с ЖСК и в коде не обращать внимания на длину строки. Все подгонит Radialix. На заре поддержки ЖКС при парсере .NET я задал вопрос на эту тему в службу поддержки, и мне ответили так, как я написал выше, плюс после перевода нескольких строк проверять программу на работоспособность. Так что удлиняйте смело

    7 июня 2013 - 22:59 / #217
  8. Оффлайн

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    Но вот как сделать, чтобы она не переписывалась переводом, чтобы перевод шел под ней?


    Я не знаю, как это можно сделать в Passolo, но в Radialix"e это можно сделать так:


    Скорее всего такую фишку можно провернуть и в Passolo (я затрудняюсь сказать точно, т.к. не пользуюсь этим редактором), раз в Radialix"e такое возможно. Смысл состоит вот в чем. Каждая секция локализованных строк для каждого параметра, который обозначен символом #, отделены друг от друга пустой строкой:


    На эти пустые строки можно указать запись перевода на русский язык. В парсере регулярных выражений (Radialix) для колонки "Перевод" это параметр $4 (четвертое выражение в формуле), строки подсвечены бирюзовым цветом. Чтобы формула регулярного выражения обработала последние строки в файле wpuupdate.txr, необходимо открыть его в любом текстовом редакторе, опуститься в конец текста и добавить пару пустых строк. Сохранить изменения и только после этого загружать в редактор.


    Все, можно переводить. Но следует учесть тот факт, что в созданном файле строки, переведенные на русский язык, будут находиться на месте пустых, текст получится сплошным и трудно читаемым.


    В принципе программа, которая использует этот файл должна его понять, но мне кажется, что лучше добавить пустые строки после наших локализованных строк. Сделать это просто. При переводе строк добавлять в конце каждой из них ESCAPE-последовательность nr


    Тогда текст в локализованном файле будет отформатирован следующим образом:


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

    Обрати внимание на строки, где в оригинале используются ESCAPE-последовательности. Например,


    При переводе таких строк сохрани оригинальную запись escape-последовательностей, т.е. экранирование escape-символов n и r вторым слешем n и r. Если записать с одним слешем, то в локализованном файле строка будет разбита на две, что является неверным, т.к. оригинальная строка только одна. Т.е. в данном случае необходимо сделать вот так:


    Тогда в локализованном файле будет вот так:


    Т.е. в соответствии с оригинальной строкой, которую мы переводили.

    Еще обрати внимание, что строки с немецкой локализацией потеряли символы умляутов (вместо них Radialix записал знаки вопросов). Исходный документ (файл wpuupdate.txr) в кодировке windows-1252. После добавления русского перевода документ будет сохранен в кодировке windows-1251, которая не поддерживает умляуты, также как и windows-1252 не поддерживает кириллицу. Если русик предполагается использовать только для себя, то можно так оставить, если стоит задача сохранения всех строк с переводами в оригинальном виде, то строки на русском необходимо вводить символами из кодировки windows-1252. Например, строка "Доступные обновления" в кодировке windows-1252 будет выглядеть как ""A^i~n`o`o"i`i^ua ^i`a`i^i^a"ea`i`e"y". При таком вводе перевода кодировку локализованного файла на выходе Radialix необходимо установить в windows-1252.

    Вот пожалуй и все. Пробуй, экспериментируй. В аттаче шаблон регулярного выражения, который можно импортировать в Radialix. Данное решение не является единственным. Это всего лишь один из вариантов. Возможно кто-то может предложить другой вариант.
    в WinHex нужно выделить блок, копировать, сделать перевод и потом заменить оригинал на переведённый. Но как это делается, я не знаю.
    vaka61, в руководстве Изображения X Pixmap (Знакомимся с форматом ХРМ) я подробно описывал эти действия при работе в НЕХ-редакторе WinHEX. Просто используйте их (действия) применительно к вашей задаче.

    Вложения:

      Вам запрещено скачивать вложения.
    Сообщение отредактировал 3 марта 2019 - 13:29

    Кто ищет, тот всегда найдет!

    8 июня 2013 - 16:13 / #218
  9. Оффлайн

    Nexus

    Забанен

    Сообщений: 611

    Создано тем: 20

    Репа: 0

    Баллы: 0

    Был: 2022-07-03 23:07

    Лайков: 7

    У кого есть Винда английская? Хотя бы на виртуальной машине что ли, нужно проверить в работе одну программку, но нет под рукой такой системы.
    10 июня 2013 - 18:46 / #219
  10. Оффлайн

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    Цитата: Nexus
    У кого есть Винда английская?


    Именно английская? Немецкая не катит? Сижу на чистой немецкой (Win7) без всяких русиков, а русскоязычные системы стоят на виртуалках.

    Кто ищет, тот всегда найдет!

    10 июня 2013 - 21:02 / #220

Статистика форума, пользователей онлайн: 0 (за последние 20 минут)

---
Создано тем
1186
Всего сообщений
15671
Пользователей
17952
Новый участник
Valet1646