Автор Тема: Вынос ресурсов для версирования  (Прочитано 15588 раз)

Оффлайн FPhoenix

  • Новичок
  • *
  • Сообщений: 6
Вынос ресурсов для версирования
« : 09 Февраля 2013, 12:28:42 »
Привет, переводчики.
Я бы Beyond Compare занялся - уж не знаю, как там доделаю или не доделаю, но что-то да наворочу. Обычно я ресурсы переводил с помощью PE Explorer, а он хоть и позволяет извлекать ресурсы, но назад их пихать не хочет. А в проге довольно приличное количество дельфи-форм (.dfm), и порой она таки обновляется, так что хотелось бы это дело на Git посадить. Не подскажите хорошую софтинку, которой можно было через гуй или скриптом извлекать всю эту шнягу, а потом запихивать обратно? Только желательно не на бейсике - ненавижу его, из-за чего, наверное, в первую очередь Resource Tuner Console долго смотреть и не стал даже... Хотя они там на WSH ссылаются, так что может и можно как-то JS прилепить?
« Последнее редактирование: 09 Февраля 2013, 12:50:55 от FPhoenix »

Оффлайн Solenij

  • Старожил
  • ****
  • Сообщений: 487
    • http://unpacking.narod.ru
Вынос ресурсов для версирования
« Ответ #1 : 09 Февраля 2013, 22:36:19 »
А про шаблонные переводчики слышали? Например, Passolo, Radialix Localizer, Multilizer, Sisulizer и т.д. - они позволяют переводить интерфейс программ на Delphi, C++ и .Net в визуальном режиме.
Или я вопроса не понял?
« Последнее редактирование: 09 Февраля 2013, 22:37:00 от Solenij »
Уважайте труд других людей - они будут уважать Ваш!!!

Оффлайн FPhoenix

  • Новичок
  • *
  • Сообщений: 6
Вынос ресурсов для версирования
« Ответ #2 : 10 Февраля 2013, 01:50:02 »
Пассоло и тому подобные когда-то давно вертел - не понравились. Они же вроде сверху на прогу какую-то хрень вешают, а я хочу "нативно". Радиаликс с виду довольно мощный, но на моей машинке глючит. В любом случае у всех прог, которые заточены изменять только строки, есть один большой недостаток: если разработчик не рассчитывал на локализацию, то и интерфейс он дизайнил соответственно, и для хорошего перевода надо еще и размер да расположение контролов изменять: русские слова-то по длине отличаются от английских. Короче, ну их. Просто хочу извлекать ресурсы в файлы (целиком, чисто для ведения истории в VCS), а после перевода запихивать их обратно. Специальный редактор для дельфи-форм где-то валялся, хотя и не шибко нужен: скорее всего, как обычно, основным инструментом будет блокнот

« Последнее редактирование: 10 Февраля 2013, 02:05:28 от FPhoenix »

Оффлайн shkiper

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 1095
Вынос ресурсов для версирования
« Ответ #3 : 10 Февраля 2013, 08:57:34 »
FPhoenix, ну да, в Блокноте-то сразу видно, влезет фраза в оригинальный размер или нет. Радиаликс в этом плане, конечно, менее удобен. В нем все визуально отображается, можно менять размера мышкой, его разве это идет в сравнение!?

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

Я правильно понял ход мысли?
DJ, sex, music and a rhythm...

Оффлайн FPhoenix

  • Новичок
  • *
  • Сообщений: 6
Вынос ресурсов для версирования
« Ответ #4 : 10 Февраля 2013, 10:17:34 »
Я обычно и так смотрю на окно программы, которое перевожу, плюс есть такая штука, как виртуальные линейки. А в дизайнере форм, конечно, их менять удобнее, но мне как-то в данном случае не критично. Да и блокнотик у меня разными полезностями оборудован. К тому же если код формы изменится, то при налии его в полной мере на системе контроля версий, его несложно смержить, да потом еще и в любой момент открыть журнал да проверить, что конкретно там было изменено. А что в таких случаях делает Радиаликс? Плюс, повторюсь, он у меня глючит, да и не шибко я ему доверяю.

Кстати, у то же PE Explorer вполне удобный дизайнер, но не для дельфей.
« Последнее редактирование: 10 Февраля 2013, 10:20:12 от FPhoenix »

Оффлайн shkiper

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 1095
Вынос ресурсов для версирования
« Ответ #5 : 10 Февраля 2013, 13:12:19 »
FPhoenix, при обновлении ресурсов Радиаликс переводит все неизменные части точно так, как они были в прошлой версии, и нужно будет лишь доперевести новое.
DJ, sex, music and a rhythm...

Оффлайн Solenij

  • Старожил
  • ****
  • Сообщений: 487
    • http://unpacking.narod.ru
Вынос ресурсов для версирования
« Ответ #6 : 10 Февраля 2013, 22:08:45 »
FPhoenix, не сочтите за подкол, но так, как русифицируете программы вы, я делал в последний раз году так в 2006, т.е. 7 лет назад. Поверьте, прогресс за это время шагнул очень далеко.  
Цитировать
Они же вроде сверху на прогу какую-то хрень вешают, а я хочу "нативно".
Где вы прочитали такую ерунду? Шаблонные редакторы делают абсолютно всё тоже, что и редакторы ресурсов типа PE Explorer или Restorator, только еще показывают это всё визуально. А, например, в Radialix Localizer с помощью специального плагина можно еще полноценно работать со строками вне ресурсов, или как их сейчас называют с жестко-закодированными строками. Т.е. и редактор ресурсов+HEX-редактор+Отладчик в одном флаконе.
Я вас переубеждать конечно не буду, но попробуйте всё таки использовать шаблонники и все проблемы отпадут сами собой (не без исключений).
Цитата: FPhoenix
А что в таких случаях делает Радиаликс?
Хотите заниматься локализацией приложений - учите матчасть. Это единственное, что я могу посоветовать (не в обиду).
Уважайте труд других людей - они будут уважать Ваш!!!

Оффлайн NedMaker

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1130
  • The Vigilant Observer
    • nrgizer.msilab.net
Вынос ресурсов для версирования
« Ответ #7 : 10 Февраля 2013, 22:40:51 »
Цитата: FPhoenix
Пассоло и тому подобные когда-то давно вертел - не понравились. Они же вроде сверху на прогу какую-то хрень вешают, а я хочу "нативно".
Насколько я знаю "какую-то хрень" вешает Ресторатор, метит измененные ресурсы, Пассоло и остальные не оставляют свои метки.

Оффлайн Nexus

  • Новичок
  • *
  • Сообщений: 24
Вынос ресурсов для версирования
« Ответ #8 : 11 Февраля 2013, 00:37:56 »
От себя добавлю, что OgreGUI тоже метит файлы - в начале PE секций прописывает свои инициаллы.

Оффлайн Solenij

  • Старожил
  • ****
  • Сообщений: 487
    • http://unpacking.narod.ru
Вынос ресурсов для версирования
« Ответ #9 : 11 Февраля 2013, 01:07:10 »
Цитата: NedMaker
Насколько я знаю "какую-то хрень" вешает Ресторатор, метит измененные ресурсы
А точнее добавляет некоторые байты для идентификации измененных ресурсов. И то, это отключается в настройках Restorator'а. Но никак не навешивает "какую-то хрень". Какую-то хрень навешивают протекторы, типа Themida или Armadillo, но это уже из другой оперы.
Уважайте труд других людей - они будут уважать Ваш!!!

Оффлайн FPhoenix

  • Новичок
  • *
  • Сообщений: 6
Вынос ресурсов для версирования
« Ответ #10 : 11 Февраля 2013, 03:50:14 »
Под хренью я в первую очередь имел в виду доп. файлы типа blablabla.rus вместо изменения строк в оригинальных бинарниках. Какие-то хуки или что это?

Ну поставил я очередной раз радиаликсы проверить - и 2ю, и 3ю версии. Тяжелые и грузятся довольно долго, особенно 3я - у меня IDE раз 30 за это время успеет загрузиться и выгрузиться, а неплохие мысли по переводу порой приходят во время самой работы с прогой, и опробовать их хочется "здесь и сейчас". Гуй у ралиаликсов пригламуренный и тормознутый - работать неудобно. Файлы проекта - ну, хотя бы XML, а не бинарники - уже хорошо, хотя вручную править оригинальные ресурсы явно проще, чем эту егойную XML-ку. К себе привязывает. От дизайнера такого толку немного; во внересурсных же строках они мне выдали целую коллекцию названий классов, членов, и прочих объектов, а нужного ничего вроде бы и нету. Не исключено, что в данном случае разрабы нарочно все запихнули в ресурсы - они вона и неофициальные переведенные сборки у себя на сайте выкладывают (см. Download → Windows → User Contributed Translations). А если что и найдется, в PE Explorer есть вполне сносный дизассемблер; и хоть асму я понимаю довольно фигово, уж поинтеры строк (или как они там называются) подправить - небольшая проблемма.

Перевожу как умею, а "мат часть" учу по мере надобности. Прогресс ушел вперед? Ну буду аборигеном, тем более что я совсем не в восторге от направления, в котором он сейчас движется, да и вообще мне с "аборигенством" не привыкать. В последнее время правда больше работал со встроенными системами локализации типа Gettext или на XML-основе, но и там решил отказаться от специальных гуевых редакторов в пользу блокнота да самописного инструментария: мне так проще + явно больше возможностей. В Gettext, например, сортирую строки как мне удобней + еще немного расширил базовый синтаксис тегами фолдинга.

Кстати, на тему аборигенства. Вон уже и .NET 4.5 вышел, и студия 2012, а я свои программки пишу под 3.5 (это студия 2008), а компилю так вообще в 2.0 (это 2005я): второй .NET ставится даже на Win98, а в новых я ничего особо ценного и не увидел (последний так у меня и вообще не встанет, ибо продолжаю юзать WinXP, и пофиг мне на эти ваши семерки-восьмерки). При этом основным инструментом у меня остается SharpDevelop третьей версии, хотя они на нее давно болт положили и разрабатывают четвертую: просто ненавижу WPF. Ну и для работы с чужими проектами также стоит 2008 студия. Вон TortoiseGit (там штатный перевод дрянной - от него сразу отказался, да потихоньку свой делаю) сейчас перешли на 2012ю - ну, немного поковырялся да настрочил себе конвертер проектов в 2008, который мне заодно и решение генерит чисто из языковых DLL-шек.
« Последнее редактирование: 11 Февраля 2013, 04:17:55 от FPhoenix »

Оффлайн ZeroChaos

  • Root Admin
  • Ветеран
  • *****
  • Сообщений: 1376
  • The Dragon Reborn
    • zerolab.net
Вынос ресурсов для версирования
« Ответ #11 : 11 Февраля 2013, 09:27:48 »
Цитата: FPhoenix
Под хренью я в первую очередь имел в виду доп. файлы типа blablabla.rus вместо изменения строк в оригинальных бинарниках. Какие-то хуки или что это?
Это языковая библиотека, поддерживается программами, скомпилированными в среде ex-Borland (CodeGear, Embarcadero Technologies). Подгружает измененную секцию ресурсов из этой самой библиотеки, если ее положить рядом с оригинальным файлом, тем самым, нет необходимости в его модификации. Создавать языковую библиотеку, или же заменять оригинальные ресурсы в бинарном файле - настраивается в программе, посмотрите внимательнее.
« Последнее редактирование: 11 Февраля 2013, 09:36:13 от ZeroChaos »
The Wheel of Time turns, and Ages come and pass, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave it birth comes again... There are neither beginnings nor endings to the turning of the Wheel of Time. But it was a beginning. R. Jordan

Оффлайн FPhoenix

  • Новичок
  • *
  • Сообщений: 6
Вынос ресурсов для версирования
« Ответ #12 : 11 Февраля 2013, 11:14:07 »
Ясно. Ну в радиаликсе-то я нашел уже, да.

Оффлайн Solenij

  • Старожил
  • ****
  • Сообщений: 487
    • http://unpacking.narod.ru
Вынос ресурсов для версирования
« Ответ #13 : 12 Февраля 2013, 01:05:40 »
FPhoenix, хотел бы добавить к ответу ZeroChaos. В языковой библиотеке можно локализовать только секцию ресурсов, строки вне ресурсов надо будет изменять в исполняемом файле.
Цитата: FPhoenix
Ну поставил я очередной раз радиаликсы проверить - и 2ю, и 3ю версии. Тяжелые и грузятся довольно долго, особенно 3я
На самом деле, это очень странно, так как программа для своего потенциала очень шустрая. У меня работает быстро, хотя комп 2006 года. Да и не слышал я ни разу про Radialix, что он тормозит - как раз наоборот, только положительные отзывы.
Цитата: FPhoenix
во внересурсных же строках они мне выдали целую коллекцию названий классов, членов, и прочих объектов, а нужного ничего вроде бы и нету.
Всё должно быть, если всё правильно сделали. Radialix ищет все строки, а уж какие трогать, а какие нет, это зависит только от опыта переводчика. В любом случае, это лучше, чем поиск через HEX-редактор, если разговор идет о большом количестве внересурсных строк.
Цитата: FPhoenix
Перевожу как умею, а "мат часть" учу по мере надобности. Прогресс ушел вперед? Ну буду аборигеном, тем более что я совсем не в восторге от направления, в котором он сейчас движется, да и вообще мне с "аборигенством" не привыкать. В последнее время правда больше работал со встроенными системами локализации типа Gettext или на XML-основе, но и там решил отказаться от специальных гуевых редакторов в пользу блокнота да самописного инструментария: мне так проще + явно больше возможностей. В Gettext, например, сортирую строки как мне удобней + еще немного расширил базовый синтаксис тегами фолдинга.
С этим не спорю - каждому своё. Я просто дал вам практический совет, без всяких намёков на что либо. Если вам удобнее так, то это ваше личное дело. Всё таки, это всего лишь наше хобби и не более.
Уважайте труд других людей - они будут уважать Ваш!!!

Оффлайн Nexus

  • Новичок
  • *
  • Сообщений: 24
Вынос ресурсов для версирования
« Ответ #14 : 12 Февраля 2013, 13:10:12 »
Да ну это обычный выпендреж, типа "Вот, смотрите, какой я нагибатор, мне ваши цацки-Радиаликсы ненужны, я могу и каменным молотком русик вытесать!". Ну и что? Я тоже не пользуюсь шаблонниками, потому как мануал на 300 страниц читать лень  Хотя понимаю, что нужно переходить на более высокий уровень. И не кричу на каждом углу, что пользуюсь легкими прогами. А насчет торможения на компе, так это вообще пургу несешь! У меня тут рядом валяется ноут 2001 года - 256 мб ОЗУ, 16 мб видео, 900 Мгц и тянет Радиаликс 2 - нефиг делать!


_____________________________________________
Пожалуйста, будьте повежливее. Не в обиду. // VIPer
« Последнее редактирование: 12 Февраля 2013, 15:01:50 от VIPer »