Задавайте вопросы по русификации и мы по возможности ответим
-
Забыл, хорошо бы пример другой такой же капризной строки (с описанием, как ее увидеть на экране)10 августа 2023 - 08:00 / #1731
-
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 1003
Создано тем: 79
Рейтинг: 8
Репа:
(133|133|0)
Баллы: 1971
Был: 2025-09-11 22:24
Лайков: 216
Цитата: daceЕсть строка при переводе, с двумя ссылками на ней. При переводе строки в одном месте строка в интерфейсе видна полностью, в другом выглядит обрезанной. Может быть кто-то подскажит что поменять чтобы везде строка была полной
Строка может быть неполной по двум причинам:
1) В коде используется указатель на длину строки. Обычно его инициализация идет непосредственно перед объявление строки.
2) Ограничение размером элемента управления, в котором выводится строка.
3) Перекрытие элемента управления другим элементом.
По первому варианту. Длина строки "Hubble Shift" - 12 символов. В шестнадцатеричной системе счисления - 0Ch. Смотрим код.
В зависимости от перевода и кодировки это значение нужно изменить. Например, перевод "Смещение Хаббла". Тогда длину строки в зависимости от кодировки перевода нужно указать одно из следующих (0Fh, 1Eh или 1Dh):
По второму варианту. При помощи оконных сканеров определяем идентификатор элемента управления, в котором выводится строка. Затем он ищется в отладчике и определяется место в коде инициализации размеров этого элемента управления. В данном случае нас интересует ширина. Вот это значение и корректируется так, чтобы строка полностью помещалась в этом элементе управления. Также, если элемент управления указан в ресурсах, то там же легко можно изменить его размеры и положение под текущую строку.
По третьему варианту. Аналогично второму, только нужно изменить положение элемента, который перекрывает элемент со строкой. То есть отодвинуть элемент по координате Х на величину, на которую увеличился элемент со строкой. Пример:
Если элемент 2 расположен выше (над) элемента 1, то даже если мы увеличим размер (ширину) элемента 1, то строка в нём все равно будет обрезана элементом 2. То есть элемент 2 перекрывает элемент 1. Нужно изменить координату Х элемента 2, то есть отодвинуть его. Соответственно также нужно изменить ширину элемента 2 на то же значение, чтобы он не выходил заграницы вкладки, на которой находится.Сообщение отредактировал Leserg 12 августа 2023 - 16:04Кто ищет, тот всегда найдет!
12 августа 2023 - 15:26 / #1732 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 1003
Создано тем: 79
Рейтинг: 8
Репа:
(133|133|0)
Баллы: 1971
Был: 2025-09-11 22:24
Лайков: 216
Цитата: daceФайл Vitascene50EpGui.dll
Теперь смотрим на практике.
С помощью оконного сканера вы можете быстро определить суть проблемы: ограничение строки границами элемента управления или количеством символов (счётчик). Например берем WinSpy++, наводим прицел на проблемную строку и смотрим полученные значения. Если строка в заголовке полная, значит ограничение шириной элемента управления (если следом идет другой элемент управления, то может быть наложение). Если строка неполная, значит счётчик.
Вот у нас в программе строка "Смещение Хаббла" отображается как "Смещение Хаб" и сканер показывает это значение строки:
Однозначно в коде на эту строку определён счётчик.
Запускаем программу под отладчиком (или цепляемся к запущенному процессу программы), ставим точку останова на вызов проблемной строки. Строка имеет две ссылки. Поэтому получается две точки останова: по одной полет нормальный, а по другой - нет. Щелкая по функциям программы, отключаем в отладчике ту из точек останова, по которой строка отображается нормально. А итоге останется одна заветная точка, где строка обрезается. Дальше в пошаговом режим нужно смотреть, что происходит со строкой. В итоге вы наткнётесь на счётчик. Как я говорил ранее, обычно счётчик находится перед вызовом строки. Но здесь счётчик оказался после, поэтому в сообщении выше я ошибся и указал его неверно.
Значение счётчика - 0Сh (12 символов). У нас в строке "Смещение Хаббла" 15 (0Fh) символов в кодировке ANSI. Изменяем в отладчике это значение на новое.
Проверяем в программе.
Все в порядке. Сохраняем изменения в новый файл.

Кто ищет, тот всегда найдет!
13 августа 2023 - 01:07 / #1733 -
Весьма удобно для этих целей "Textify" - приложение маленькое, всегда запущено (у меня), кроме того, удобно для поиска термина в Radialix, или в шест. редакторе.13 августа 2023 - 09:14 / #1734
-
Leserg, спасибо.
А можно увеличить ширину у этих панелей
Изображение 1
Изображение 2
Изображение 3Сообщение отредактировал dace 14 августа 2023 - 00:0514 августа 2023 - 00:01 / #1735 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 1003
Создано тем: 79
Рейтинг: 8
Репа:
(133|133|0)
Баллы: 1971
Был: 2025-09-11 22:24
Лайков: 216
Цитата: daceА можно увеличить ширину у этих панелей
Все можно. Только нужно найти место в коде, где объявляются их размеры.Мне пока это не удалось.
Сложность заключается в том, что используется приватный класс, у которого один идентификатор - 3E7h (десятич. 999). Каждое такое окошко рисуется пятью элементами - панель и границы (сверху, снизу, слева, справа) - и все эти элементы имеют один идентификатор. Сюда же относятся левая и правая главные панели и заголовки. Начальные размеры всех этих элементов нулевые (ширина - 0, высота - 0, координата Х - 0, координата Y - 0).Откуда потом берутся их оконные размеры - загадка.
У меня пока нет никаких идей, как это выловить.Может кто чего посоветует или подскажет?
Дополнено:
Все, нашел.
Два вечера голова дымилась.
Позже озвучу.
dace нравится это сообщение.Сообщение отредактировал Leserg 16 августа 2023 - 01:17Кто ищет, тот всегда найдет!
15 августа 2023 - 11:21 / #1736 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 1003
Создано тем: 79
Рейтинг: 8
Репа:
(133|133|0)
Баллы: 1971
Был: 2025-09-11 22:24
Лайков: 216
Цитата: daceА можно увеличить ширину у этих панелей
Решение.Кто ищет, тот всегда найдет!
17 августа 2023 - 00:41 / #1737 -
Я вобще начинающий, первая моя тренировочная попытка сделать перевод на свой лад. Помогите пожалуйста, как сделать что бы слово отображалось полностью без точек в конце. (Получится в Radialix или нет?) (думал сам справлюсь не получается)
Ссылка
20 августа 2023 - 19:01 / #1738 -
Оффлайн
Звание: Ветеран
ИНКВИЗИТОР
Сообщений: 854
Создано тем: 119
Рейтинг: 8
Репа:
(201|201|0)
Баллы: 4985
Был: 2025-10-26 11:32
Лайков: 320
Редактировать и Править - слова синонимы. Либо в Radialix-е словечко подрастянуть... Но проще изменить на Править. Или Правка. Удачи!.
"Мы все учились понемногу
Чему-нибудь и как-нибудь..."
А.С.ПушкинСообщение отредактировал Смотрящий 20 августа 2023 - 21:48"В одно окно смотрели двое. Один увидел дождь и грязь.
Другой — листвы зеленой вязь. Весну и небо голубое.
В одно окно смотрели двое... "
У нас свободный форум! Но в рамках приличий ! Конструктивная критика по существу с обратной связью !20 августа 2023 - 21:43 / #1739 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 1003
Создано тем: 79
Рейтинг: 8
Репа:
(133|133|0)
Баллы: 1971
Был: 2025-09-11 22:24
Лайков: 216
Цитата: vaskamyПолучится в Radialix или нет?
vaskamy, дело в том, что шаблонные редакторы (любые, в том числе и Radialix) не позволяют добавлять элементам управления новые свойства, только редактировать. Поэтому сначала в простейшем редакторе, типа Restorator, XN Resource Editor, Resource Hacker и других, добавьте в элементу управления TListView свойство IconOptions.WrapText = False и сохраните изменения. Потом можете создать проект перевода в шаблонном редакторе.
На будущее смотрите на каком языке написана программа и с помощью поисковых систем ищите свойства интересуемого элемента управления, например, TListView - дельфи. Многие свойства элементов управления используются по умолчанию и в сценариях форм/диалогов не объявляются. Поэтому, чтобы иметь возможность их изменять, необходимо их объявить, что и было сделано в данном примере.
Сообщение отредактировал Leserg 20 августа 2023 - 22:07Кто ищет, тот всегда найдет!
20 августа 2023 - 22:02 / #1740







