• Добро пожаловать на WYLEK.ru. Пожалуйста, войдите или зарегистрируйтесь.
 
127 гостей, 1 пользователь

avatar_gazon01

Join Multiple SWF Files Into One Software

Автор gazon01, 06 июля 2015, 11:57:00

« предыдущая - следующая »

gazon01Автор темы

Цитата: KMV2013Программа Join Multiple SWF Files Into One Software - написана на Microsoft Visual Basic 5.0. Как сделать нормальный перевод, если слова в ресурсах записаны вот таким образом: x04Helpx12 или x0FAdd SWF File(s)x12 ? После некоторых "танцев с бубном", я всё таки прописал там русские слова (прописать удалось вот только так: x0F...Добавить Файлы..........Add SWF File(s)x12 ), то есть, русские слова записал без удаления оригинальных слов, ибо при их полной замене надпись в интерфейсе исчезает! И пришлось делать сокращения, а хотелось бы перевести полностью - это вообще возможно? В смысле удлинить строки в этой программе?

Окно программы (единственное):
Показать / Скрыть текст
[свернуть]

Как хотелось бы перевести:
Показать / Скрыть текст
[свернуть]

Как вышло (слово "Help" перевести не смог, из за лимита в 4 буквы и с досады убрал совсем!):
Показать / Скрыть текст
[свернуть]

Страница загрузки программы: Войдите на сайт для перехода по ссылке
Возможно всё! На невозможное просто требуется больше времени.
 Мудрец из Шангри Ла

dinis124

KMV2013,
 В шапке описаны методы по работе с Visual Basic
 Дополнительная информация по работе с программами на Visual Basic:
 Это не подойдет вам, возможно есть что-то полезное?

KMV2013

Да ВСЁ уже перепробовал! Даже в Hex редакторе ничего не выходит сделать! Точнее выходит - да строки удлиняться, но программа не работает как надо! Слова или пропадают совсем или становятся еле заметные (меняется цвет шрифта с чёрного на светло серый!)

Nexus

KMV2013, ваша раздача?
Войдите на сайт для перехода по ссылке

 Есть здесь у нас спец по Visual Basic программам - Leserg. Если он объявится, то обязательно поможет. Если же нет - то будем здесь разбирать вместе.
 И да, старайтесь не переводить каждое слово с заглавной буквы. Вместо Добавить Папку пишите Добавить папку. Это самая распространенная ошибка новичков русификации.

KMV2013

НЕТ - это не моя раздача! Но быстро как копируют!
Моя раздача вот: Войдите на сайт для перехода по ссылке
Да выложил... Но мучимый сомнениями пришёл сюда... Всё таки здесь собрались спецы! Можно сказать мэтры локализации! Сам я этим делом балуюсь от случая к случаю - и в общем то проблем особых не было, вот только сейчас столкнулся с такой программой которая ну ни как не хочет нормально переводиться!

Кстати, можете оценить качество моих работ (интересно бы узнать мнение профессионалов):
Войдите на сайт для перехода по ссылке Войдите на сайт для перехода по ссылке
Войдите на сайт для перехода по ссылке Войдите на сайт для перехода по ссылке
Войдите на сайт для перехода по ссылке Войдите на сайт для перехода по ссылке
Войдите на сайт для перехода по ссылке Войдите на сайт для перехода по ссылке

На счёт "Добавить Папку" - почему надо писать с маленькой буквы, если в оригинале написано с большой?

dinis124

Ответ #5 : 06 июля 2015, 16:11:00 #5 Последнее редактирование: 16 марта 2018, 14:56:45 от WYLEK
KMV2013,
 Сохранить результаты в.. У вас обрезана строка получилась?
Скачайте программу VBLocalize после перевода в ней строка будет полная, я проверял. А что за @ (собака) у вас вместо строки Help?
 Верх, вниз, будет не правильно, там либо "переместить на шаг вверх"; " либо сдвинуть на позицию вверх", "поднять вверх" но так как требуется сократить строку то грамотнее вписать Вверх.
 
Показать / Скрыть текст
[свернуть]

 Ну и к слову о портативке, проблем с кракозябрами в ней нет.

KMV2013

Цитата: dinis124Сохранить результаты в.. У вас обрезана строка получилась? Скачайте программу после перевода в ней строка будет полная, я проверял. А что за @ (собака) у вас вместо строки Help?
Верх, вниз, будет не правильно, там либо "переместить на шаг вверх"; " либо сдвинуть на позицию вверх", "поднять вверх" но так как требуется сократить строку то грамотнее вписать Вверх.

Да строка "Сохранить результаты в..." несколько обрезана... Я не знаю как вы проверяли, но у меня "VBLocalize" вообще ни чего не меняет! "Вверх" написать конечно можно - но даже это короткое слово не умещаться полностью! Получается "Ввер" и буква "х" внизу... Как то это не очень красиво смотрится.... Вот если бы кнопку растянуть маленько в ширину - но не представляю как это сделать в этой программе...А На счёт "собаки" - я долго бился, но так и не смог заменить слово "Help" на "Справку" или "Помощь" - с досады вот поставил собаку... Поэтому и пришёл сюда - может кто чего посоветует - как сделать нормальный перевод этой программы...

Вот универсальное "лекарство" для ВСЕХ продуктов компании Sobolsoft: [nofollow]https://yadi.sk/d/rVp2CqZZhf6Eb [nofollow] При "лечении" переписывается главный исполняемый файл - переводить лучше уже "вылеченный" вариант...

Leserg

Цитата: KMV2013Программа Join Multiple SWF Files Into One Software - написана на Microsoft Visual Basic 5.0.

Работать придется в НЕХ-редакторе. По-другому - никак. В программе используются компоненты стороннего разработчика "Codejock". Декомпиляция такого чуда выполняется некорректно и как результат, невозможно собрать программу без глюков обратно. Локализовать нормально можно, но для этого нужно очень постараться.

Первое (и самое главное), что нужно сделать, как только вы выяснили, что программа написана на Microsoft Visual Basic, это добавить поддержку кириллицы. Загружаете объект исследования в НЕХ-редактор и задаете поиск шрифтов из набора стандартных: Arial, Tahoma, Verdana, MS Sans Serif, Courier New, Courier. Проверять нужно все эти имена шрифтов. Обычно используются Arial и Tahoma, но бывают исключения. Допустим задали поиск шрифта Arial. Нашли первое вхождение. Отсчитайте десятый байт влево от первой буквы с именем шрифта и введите там байт СС - это шестнадцатеричный код кириллического набора символов. Продолжаете поиск и исправление набора символов. Потом задаете поиск другого имени шрифта и делаете все то же самое.



Когда проверите все наименования шрифтов и сделаете исправление набора символов на кириллицу, сохраните файл. После этого можете заняться локализацией. В большинстве случаев проблем с кириллицей не будет (забудьте про правку реестра и кодовых страниц Windows). Конечно, могут быть исключения, когда, например, для компонента управления не был задан шрифт и используется шрифт, заданный для приложения по умолчанию. Такие случаи необходимо разбирать индивидуально.

Программу гляну и потом отпишусь.
Кто ищет, тот всегда найдет!

KMV2013

Цитата: LesergПрограмму гляну и потом отпишусь.
Большое спасибо! Я первый раз столкнулся с такой трудной программой! Ведь главное зараза какая, слов то почти ничего - а вот ни как переводиться не хочет! Мне главное понять алгоритм действия для русификации подобного софта! Вот к примеру у Sobolsof на сайте, есть где-то порядка 52 программа, многие из них довольно уникальны! Вылечить я могу любую - но хорошо бы ещё их было перевести на русский язык! Все программы написаны по одному шаблону, даже интерфейсы у них практически одинаковые! И если мне удастся осилить нормальный перевод хоть одной - я смогу по этому же принципу перевести и все! Мне говорили о Вас как о большом профессионале и я очень надеюсь на вашу помощь!

dinis124

KMV2013,

 При редактировании проекта Package.ini  впишите вот так: SandboxPath=.
 Параметр отвечает за создание папки песоницы рядом с исполняемым файлом программы,  в деинсталлятор указать  папку для удаления.
 Портативка ваша собрана в версии 4.7.2 . В ней заявлена поддержка win 8? Я если честно не знаю, но с версии 4.7.3 поддержка 100%. Исходя из этого проверьте работоспособность и если потребуется смените версию для корректной работы в win 8.

 Про Help не знаю. Мои тщетные попытки с ней завершились после неудачной компиляции декомпилированной программы.

Leserg

Цитата: KMV2013Но как быть со словом "Help"??? Как удлинить его?

По кнопке с надписью "Help". На русском языке это "Справка". В строке 7 символов, тогда как в оригинальной строке только 4. Как удлинить? За счет имени элемента управления, в котором эта строка задана. Откройте программу в НЕХ-редакторе и задайте поиск слова "Help". Самое первое вхождение и будет искомым местом. Чуть выше хорошо видна надпись "PushButton3" - это имя элемента управления. Перед ним, через нулевой байт, байт 0Bh - это счетчик символов в строке "PushButton3". В слове 11 символов, переведем в шестнадцатеричный формат - h. Понятно, да? Следующая строка "XtremeSuiteControls.PushButton" - имя компонента, содержит 30 символов. В шестнадцатеричном формате - h. Смотрите в НЕХ-код, так и есть, перед строкой, через нулевой байт записан байт h. И т.д.

Рисунок 1


Каждый блок данных в программе Visual Basic имеет счетчик. Его местоположение относительно данных, за которые он отвечает, несколько варьируется в зависимости от типа данных, но он всегда есть. Если изменить размер блока данных, а счетчик нет, то программа работать не будет, и наоборот, если изменить счетчик, а длину блока данных нет, то программа также работать не будет. Запомните это.

Теперь смотрим строку "Help". Перед ней без разрыва записан счетчик - 04h, т.е. 4 символа. Чтобы вместить здесь строку "Справка" нужно где-то взять 3 байта. Просто добавить 3 байта нельзя - программа не будет работать. Отхватить три байта можно у имени элемента "PushButton3", получится "PushButt", и изменить счетчик для этой строки с h на 08h. Затем необходимо выделить байты, начиная с первого байта после строки "PushButton3" и заканчивая байтом 04 со счетчиком строки "Help". После чего скопировать и записать этот блок на три байта левее так, чтобы перед строкой "Help" получилось три дополнительных байта, которые мы забрали у строки "PushButton3". Наконец можно смело записать строку "Справка". Не забываем исправить счетчик для этой строки с 04h на 07h.

Еще один момент. Строка "Help" является одним из свойством элемента управления "PushButton3", куда также входят свойства с характеристиками шрифта. На рис. 1 это блок данных показан серым цветом, а счетчик блока данных со свойствами указан кружком красного цвета - сейчас его значение 69h. Так вот, если у нас на три байта увеличится длина строки "Help", то соответственно изменится размер блока со свойствами элемента управления - 69h + 3h = 6Ch. Поэтому его также нужно подкорректировать.

В итоге наши изменения в коде будут выглядеть следующим образом (также откорректирован набор символов для этого элемента):

Рисунок 2


Сохраните изменения в файле и запустите программу. Если вы нигде не ошиблись, то увидите в интерфейсе полную строку "Справка".

Рисунок 3


Вывод:
Строку можно удлинить (в небольших пределах) за счет строки с именем элемента управления, на котором она размещается. При этом также необходимо откорректировать следующие счетчики: длина строки с именем элемента управления, длина локализованной строки, длина блока данных со свойствами элемента управления.
Кто ищет, тот всегда найдет!

KMV2013

Большое спасибо! Согласно вашим советам мне удалось написать слово "Справка "! И в общем то я понял как увеличивать слова! Но как уменьшать!? Например мне удалось написать слово "Вверх" - а вот слово "Вниз" увы ни как! Программа ломается! Хотя я вроде и меняю значение счётчиков а лишении символы заменяю нулями...

 В идеале конечно бы хотел написать! Но как увеличить размер кнопки?

Leserg

KMV2013,  
Цитата: KMV2013;16775Например мне удалось написать слово "Вверх"

Вы же хотели написать там "Переместить вверх" и "Переместить вниз", согласно этого скриншота:



Цитата: KMV2013Но как увеличить размер кнопки?

Вот так


Порядок байт обратный. Например, координата Х - последовательность байт в НЕХ-редакторе D8 18. Переворачиваем байты в обратном порядке - 18 D8. Переводим в десятичный формат - 6360 твипов.
Кто ищет, тот всегда найдет!

KMV2013

Что то я по моему запутался в счётчиках - вот:
Показать / Скрыть текст
[свернуть]

я правильно их определил и поменял значения (красного цвета)? Хочу удлинить надпись: "Add SWF File(s)" на 5 байт: "Добавить SWF Файл(ы)" и что то не выходит... Снова ломается программа...

Leserg

Цитата: KMV2013я правильно их определил и поменял значения (красного цвета)?

Да, правильно. Только не забывайте смещать данные на количество байт, забранных у имени элемента управления, начиная от текста, который необходимо удлинить. Просто поменять счетчики недостаточно. Должно получиться вот так:



Также не забывайте про добавление поддержки кириллицы (ССh). Еще, в русском языке не принято писать все слова с большой буквы. Не стоит вносить и смешивать стили написания чуждые русскому языку. Допускается делать акценты, например, "Курить ЗАПРЕЩЕНО!", но лепить их куда ни попадя является признаком дурного тона.
Кто ищет, тот всегда найдет!

* Ваши права на сайте

    TinyPortal

  • Вы не можете создавать статьи.
  • Вы не можете изменять свои статьи.
  • Вы не можете писать комментарии.
  • Вы не можете управлять статьями.
  • Вы не можете загружать файлы в TPdownloads.
  • Вы не можете управлять TPlistimages.

    Simple Machines

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

 аталог@MAIL.RU - каталог ресурсов интернет Яндекс.Метрика