Задавайте вопросы по русификации и мы по возможности ответим
Для желающих получить ответы на свои вопросы:1. Будьте добры давать ссылку на программу, в архиве
-
Цитата: KrigВы архив распаковали? Я все проделал, как написал Horna и у меня все получилось!
Пивет! Прочитав еще раз Horna у меня то же получилось. Только мне не понятно, каким образом определяешь расширение распакованного файла, какой изних exe,какой dll . Теперь другая беда. Распакованный файл Radialix видит ЖЗС, а как теперь сделать файл rdmap. IDA отказывается. В WinHex делать пере вод? И как все-таки запихивать обратно в эксешник.6 июня 2013 - 04:45 / #211 -
Цитата: vaka61Распакованный файл Radialix видит ЖЗС, а как теперь сделать файл rdmap. IDA отказывается.
Nexus, выше написал, что программма написана на .NET Framework, поэтому IDA здесь бесполезна. Лично у меня полученный файл в Radialix загружается с ошибками, и в конце концов Radialix падает с ексепшеном (вырубить можно только через удаление процесса). Редактор Sisulizer файл загружает, но не показывает ни одной строки. С другими редакторами опыта никакого. Может знатоки подскажут чего и как.
Цитата: vaka61И как все-таки запихивать обратно в эксешник.
Если рассуждать логически, то после перевода, полученный файл надо запаковать обратно в архив ZLIB (например той же программой Simplyzip) и сравнить размер полученного архива с оригинальным архивом, который был извлечен из файла программы. Если новый размер меньше оригинального, то замена архива возможна. Делается это в НЕХ-редакторе. Открываешь в нем полученный новый архив и файл программы. Копируешь бинарные данные архива и вставляешь в код программы по адресу размещения оригинального архива. Замену байтов подтвеждаешь. Сохраняешь изменения и проверяешь программу в работе. Если же размер нового архива больше оригинального, то замену выполнять нельзя, т.к. данные архива затрут оригинальные данные программы и она работать не будет. Поэтому надо вернуться к переводу и посмотреть, что в нем можно сократить (например можно пережать картинки). Короче нужно сделать так, чтобы размер файла в запакованном виде (архив ZLIB) был меньше оригинального размера.
Это теоретически. Я сам этого никогда не делал. Но исходя из поста Horn'ы - это возможно (судя по работающей русской версии программы SysTracer)6 июня 2013 - 18:35 / #212 -
Цитата: KrigКопируешь бинарные данные архива и вставляешь в код программы по адресу размещения оригинального архива. Замену байтов подтвеждаешь.
Вот с этого места можно по подробнее,а еще лудше в картинкахю, будь другом не откажи.6 июня 2013 - 22:29 / #213 -
Цитата: vaka61Вот с этого места можно по подробнее,а еще лудше в картинкахю, будь другом не откажи.
Да зачем себе голову морочить? Забудь о ZLIB архивах, вот держи нужные распакованные файлы, вкинешь их в корневую папку программы, EXE файл в папке заменишь на новый из архива:
Теперь не нужно ничего запаковывать, все нужные для перевода строки находятся в файле Streaming Audio Recorder.exe , некоторые строки в Юникоде, некоторые - в ANSI. Только нужно теперь переводить все в WinHex"е, по другому видимо никак...7 июня 2013 - 00:30 / #214 -
Цитата: NexusДа зачем себе голову морочить? Забудь о ZLIB архивах, вот держи нужные распакованные файлы
За файлы огромное спасибо. А как быть с обучением, распаковать, запаковать, запихнуть и т.д. Хочется, как то самому приобрести опыт. Вот к при меру даже твои файлы , чтоб не переводить по буквам в WinHex наверное нужно выделить блок, копировать, сделать перевод и потом заменить оригинал на переведённый. Но как это делается, я не знаю. По этому и прошу “дядя научи меня плохому “. Вот ты же каким-то образом сделал эти файлы и мне самому хоца. Если конечно это по моим зубам.7 июня 2013 - 08:26 / #215 -
Цитата: vaka61По этому и прошу “дядя научи меня плохому “
Ну да может и напишу в ближайшее время, сейчас просто сильно занят - лето на дворе, сезон строительства как никак...
Да, почему-то из-за этой программы меня постоянно выкидывает в BSOD, это такое у меня, или может у других тоже?7 июня 2013 - 10:27 / #216 -
Оффлайн
Автор темы
Звание: Легенда
Админ
Сообщений: 2195
Создано тем: 317
Рейтинг: 10
Репа: (245|245|0)
Баллы: 3580
Был: 2024-11-18 08:59
Лайков: 202
Цитата: KrigДа нет уж, там как раз по буквам и нуждно переводить, свободного места в файле слишком мало, нельзя превышать количество букв в строке.
Так как программа написана на .NET Framework, то Нех-редактор не нужен. Просто надо сделать проект с ЖСК и в коде не обращать внимания на длину строки. Все подгонит Radialix. На заре поддержки ЖКС при парсере .NET я задал вопрос на эту тему в службу поддержки, и мне ответили так, как я написал выше, плюс после перевода нескольких строк проверять программу на работоспособность. Так что удлиняйте смело7 июня 2013 - 22:59 / #217 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 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. Просто используйте их (действия) применительно к вашей задаче.8 июня 2013 - 16:13 / #218 -
У кого есть Винда английская? Хотя бы на виртуальной машине что ли, нужно проверить в работе одну программку, но нет под рукой такой системы.10 июня 2013 - 18:46 / #219
-
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 945
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1676
Был: 2024-07-28 22:59
Лайков: 167
Цитата: NexusУ кого есть Винда английская?
Именно английская? Немецкая не катит? Сижу на чистой немецкой (Win7) без всяких русиков, а русскоязычные системы стоят на виртуалках.10 июня 2013 - 21:02 / #220
Статистика форума, пользователей онлайн: 0 (за последние 20 минут)
---
- Создано тем
- 1197
- Всего сообщений
- 15762
- Пользователей
- 18014
- Новый участник
- Markhabayev