avatar_WYLEK

Syncro GUIDE

Автор WYLEK, 06 сентября 2013, 12:37:00

« Gilisoft Video Editor | Chess King Diamond Pro 2018 »

WYLEKАвтор темы

06 сентября 2013, 12:37:00 Последнее редактирование: 31 июля 2018, 12:44:18 от WYLEK
Немного о программе - Syncro GUIDE это система пожарной сигнализации, Войдите на сайт для перехода по ссылке

 


Алекс90

Здравствуйте. При русификации программы возникла проблема. Переведенные строки (фразы) при запуске программы остаются на "изначальном" языке программы. Причем в одном окне часть слов (фраз) переводится, а часть нет. В чем может быть проблема?

WYLEKАвтор темы

ЦитироватьВ чем может быть проблема?

Ресурсы в коде, но перед тем как спрашивать, желательно надо было прочитать в шапке сообщение. Мы не телепаты, и на расстоянии не видим.

Алекс90

Войдите на сайт для перехода по ссылке

 Там в архиве - файл проекта, пароль, файл - решение вопроса с кракозябрами и примеры отображения

WYLEKАвтор темы

06 сентября 2013, 14:37:00 #4 Последнее редактирование: 09 апреля 2018, 20:57:15 от WYLEK
Цитата: Алекс90решение вопроса с кракозябрами

В твоей программе это не нужно - сделаешь кодировку русской во всех дельфи-разделах и усё
Дай линк на программу для проверки ресурсов в коде.

Nexus

Цитата: Алекс90В чем может быть проблема?
Проблема в том, что часто в Дельфи-подобных программах идет дублирование текстовых строк - все нужные строки помещаются в ресурс программы, которые доступны для редактирования, а некоторые помещаются еще и в самом коде программы. Попробуй через WinHex поискать в файле строку Power On и изменить ее - должен быть какой-то результат.

ЦитироватьВ твоей программе это не нужно - сделаешь кодировку русской во всех дельфи-разделах и усё
Точно! Там выбираешь RUSSIAN_CHARSET и все дела. А я уже думал как бы это в отладчике переделать, видимо пора лечиться

Алекс90

RUSSIAN_CHARSET выбирал, ничего не происходит. Причем это происходит не только в этом окне, такая ерунда во всей программе. Данное окно было выбрано для разбора. В нем заметил, что ID начинающиеся с большой буквы (Label2) переводятся нормально, а с маленькой (lblled3) остаются на родном языке

WYLEKАвтор темы

07 сентября 2013, 16:37:00 #7 Последнее редактирование: 26 декабря 2020, 13:44:00 от WYLEK
Алекс90, я понял, что русификацией занимаешься недавно. Я подготовлю небольшой мануал специально для твоей программы. Посмотришь его и увидишь - что все там легко и просто Вот что будет в самом конце, и заметь, что это на чистой винде без всяких изменений в реестре и системных файлах.

Показать / Скрыть текст
[свернуть]




Вот здесь решение твоих бед...




Начнем вытягивать ресурсы из программы. Для начала нужно зайти в папку с программой и создать папку, например енг, и закинуть туда исходные файлы для перевода. Зачем это надо? Просто некоторые екзешники не запускаются с другим именем, если для перевода взята библиотека, то для запуска программы всегда надо будет переименовывать ее и так далее. Для нашего примера возьмем файл Run.ехе и проделаем с ним операции локализации на русский язык. Создаем проект, в настройках устанавливаем Локализованный файл и подключаем жестко закодированные строки. IDA подключать не надо – ссылки на строки есть. Для чего нужны ссылки? Если они есть в строках, то удлинять их можно всегда, если нет, то дело швах.

Показать / Скрыть текст
[свернуть]

В этой вкладке надо снять гальку и указать путь к запускаемому файлу.

1. Обновляем проект и все ресурсы налицо.

2. Заходим в эту вкладку и нажимаем на слово Fire. Делаем перевод – Пожар. Как видно на рисунке буквы разлезлись по всей морде    . Для этого надо уменьшить размер букв.

3. Нажимаем на слово Пожар и включаем вкладку Ресурс.

4. Жмем в колонке Перевод на строку со шрифтом. Теперь можно выбрать нужный шрифт и его размер.

5. Вот что получится после этой манипуляции.

6. Запускаем программу из Радиаликса и....

7. крякозяблики тут как тут 

8. Как их побороть? У нас уже это обсуждалось на форуме, покажу тебе как это сделать. Заходишь в установки фильтра.

9. Устанавливаешь здесь для начала так. При таком раскладе будет выведено все – и переведенные и не переведенные строки...и так далее...

10. Теперь идешь во вкладку Свойства и немного прокручиваешь вниз. Здесь копируешь ID - Font.Charset. Это надо для поиска всех кодировок программы.

11. Заходишь опять в Фильтр во вкладку Текст. Здесь вставляешь скопированное в поиск по ID, и даешь команду Показать.

12. После нажатия кнопки Ок, все кодировки будут выведены.

13. Теперь кликаешь по строке как на рисунке и выбираешь русскую кодировку. Правый клик и скопируй эту строчку.

14. Теперь кликаешь по корневой папке RT_RCDATA и справа будут все строки для переделки.


Теперь несколько операций.

1. Правый клик - выбери Выбрать все и после Вставить.
2. Правый клик - выбери Выбрать все - выбери Переключить только для чтения и после Вставить
3. Правый клик - выбери Выбрать все - выбери Переключить только для чтения и после Вставить (это надо для возврата к исходному варианту чтения строк).

Проверяем нашу работу – после запуска из Радиаликса с кодировкой все нормально!

Теперь найдем проблему с непереводимостью некоторых слов и строк. Даем поиск на Power On и заходим на найденную строку. Здесь двойной клик по Статусу(буква R) – это мы даем команду для редактирования строки.

Делаем перевод строки и проверяем нашу работу - после запуска из Радиаликса все нормально!

Внимание!!! В ЖЗС переводить начинающим только видимые и строго соответствующие поиску ресурсы!!! Иначе программе швах...

Алекс90

Здравствуйте. При русификации программы возникла проблема. Переведенные строки (фразы) при запуске программы остаются на "изначальном" языке программы. Причем в одном окне часть слов (фраз) переводится, а часть нет. В чем может быть проблема?

WYLEKАвтор темы

06 сентября 2013, 12:37:00 #9 Последнее редактирование: 16 марта 2017, 15:17:22 от WYLEK
ЦитироватьВ чем может быть проблема?


Ресурсы в коде, но перед тем как спрашивать, желательно надо было прочитать в шапке сообщение. Мы не телепаты, и на расстоянии не видим.

Алекс90

Войдите на сайт для перехода по ссылке

Там в архиве - файл проекта, пароль, файл - решение вопроса с кракозябрами и примеры отображения

WYLEKАвтор темы

ЦитироватьТам в архиве - файл проекта, пароль

Это хорошо, но самого установщика программы нет. И проверить ресурсы в коде не могу.
Насчет слов с большим шрифтом - нажми на слово Пожар и со спокойной душой заходи во вкладку Ресурс. Там можно поменять шрифт, размер и кодировку сделать русской. Это у нас уже обсуждалось.

Цитироватьрешение вопроса с кракозябрами

В твоей программе это не нужно - сделаешь кодировку русской во всех дельфи-разделах и усё :biggrin:  
Дай линк на программу для проверки ресурсов в коде.

Nexus

ЦитироватьВ чем может быть проблема?
Проблема в том, что часто в Дельфи-подобных программах идет дублирование текстовых строк - все нужные строки помещаются в ресурс программы, которые доступны для редактирования, а некоторые помещаются еще и в самом коде программы. Попробуй через WinHex поискать в файле строку Power On и изменить ее - должен быть какой-то результат.

ЦитироватьВ твоей программе это не нужно - сделаешь кодировку русской во всех дельфи-разделах и усё
Точно! Там выбираешь RUSSIAN_CHARSET и все дела. А я уже думал как бы это в отладчике переделать, видимо пора лечиться :biggrin:  ...

Алекс90

Войдите на сайт для перехода по ссылке
Войдите на сайт для перехода по ссылке

Пароль при первой установке guide

RUSSIAN_CHARSET выбирал, ничего не происходит. Причем это происходит не только в этом окне, такая ерунда во всей программе. Данное окно было выбрано для разбора. В нем заметил, что ID начинающиеся с большой буквы (Label2) переводятся нормально, а с маленькой (lblled3) остаются на родном языке

Nexus

ЦитироватьRUSSIAN_CHARSET выбирал, ничего не происходит.
Ты видимо не понял смысл в этом RUSSIAN_CHARSET - он нужен для того, чтобы в программе не отображались крякозябры, а так как ты уже поменял все свои файлы в папке System32 на нужные, т.е. успешно решип проблему с кряками, то для тебя это выражение уже не нужно. Но его нужно выставлять для того, чтобы у других пользователей переведенной программы не проявлялись крякозябры.

Цитироватьостаются на родном языке
Значит эта отображаемаая строка, которую ты хочешь перевести, находится не в ресурсах, которые ты в текущий момент переводишь. То, что ты якобы перевел - "муляж", настоящая строка находится глубоко в самом коде программы. Ее можно "достать" лишь поставив галочку в проекте "Извлекать Жестоко закодированые строки".

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

    Light Portal

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

    Simple Machines

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

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