Это моя промашка, сейчас поправлю (там в 366 МП запятая пропущена, я сообщение компилятора при сборке базы я прозевал).
Будь в курсе!Будь в курсе!
Надоело быть жертвой? Стань профи по информационной безопасности, получай самую свежую информацию об угрозах и средствах защиты от ведущего российского аналитического центра Anti-Malware.ru:
Привет,
сделал небезынтересное открытие: оказывается русский интерфейс АВЗ может быть использован на не-русском ПК (см. Картинку). А нельзя ли сделать всю кодировку интерфейса так, чтобы заменить все вопросительные знаки на понимаемый текст?
Давай я тебе отвечу, я тоже на Delphi пишу.
Сделать можно - в каждой форме Font.Charset русским поставить. Но скорее всего получим проблемы с длинными путями из национальных символов. Переделывать всё на Unicode - довольно трудоёмко даже с пакетом TNT (этот путь я проходил).
А ты уверен, что у тебя во всех шрифтах есть русская страница? Проверил бы при помощи "таблицы символов" шрифты, указанные в "оформлении" в "свойствах экрана".
Он именно такой там и есть ... Font.Charset = RUSSIAN_CHARSET
Значит у него часть шрифтов без русской кодовой страницы... У тебя шрифты какие? Просто установка Font.Charset сбрасывает ParentFont в FALSE и имена шрифтов берутся из DFM.
А вывод имён файлов с умляутами не работает? Или там Unicode?
Могу дать код, как примирить установку русских шрифтов с ParentFont.... Но там тоже не всё гладко - меняется для всего компа, а не для приложения.
А ты уверен, что у тебя во всех шрифтах есть русская страница?
не уверен, но судя по тому, что программой a-squared HiJackFree 2.0 я могу пользоваться в русском варианте - да . И мой вопрос был собственно: если в интерфейсе часть программы написана так, а часть - эдак, то почему бы не написать все эдак, а не так ?
А вывод имён файлов с умляутами не работает
работает, но криво: например ä выдается, как д.
Но там тоже не всё гладко - меняется для всего компа, а не для приложения.
не уверен, но судя по тому, что программой a-squared HiJackFree 2.0 я могу пользоваться в русском варианте - да .
А я думаю, что - нет. То есть часть шрифтов русских страниц не имеет. Ты проверь, не так уж сложно запустить "таблицу символов". Собственно знак вопроса покаызвает, что в твоих шрифтах такого символа нет. Потому как если бы была неверная кодировка, то были бы кракозябры (умляуты всякие).
И мой вопрос был собственно: если в интерфейсе часть программы написана так, а часть - эдак, то почему бы не написать все эдак, а не так ?
Ты хочешь, чтобы всё было один и тем же шрифтом? Ну вот как-то принято в виндах что меню идёт одним шрифтом, тексты в окнах - другим....
И потом, наверное проще тебе русифицировать комп при помощи чем Олегу менять шрифты во всех формах. Не говоря уже об именах файлов с умляутами (европейцы тоже могут файлы и папки на родных языках называть).
Добавлено через 1 минуту
Сообщение от Rene-gad
работает, но криво: например ä выдается, как д.
Это как раз следствие бездумной установки RUSSIAN_CHARSET
Последний раз редактировалось Jef239; 03.09.2007 в 17:13.
Причина: Добавлено
И потом, наверное проще тебе русифицировать комп при помощи чем Олегу менять шрифты во всех формах.
1. Я могу и далее спокойно пользоваться английской версией, хотя и в ней есть парочка вопросительных знаков вместо букв, и это наблюдается и на англоязычных компах.
2. Русификация ПК не стоит у меня на повестке дня, хотя может для Олега это было бы и проще . А речь идет просто о возможности создания универсального языкового интерфейса, как напр. в уже упомянутой a-squared HiJackFree 2.0 или Spybot Search and Destroy. Если говорить о распространении программы в мире, где подавляющее большинство машин работают с латиноязычным интерфейсом, и, м.б. даже выпуска платной версии АВЗ, то без этого не обойтись. Если же применение программы по задумке ограничивается только Россией - то не стоїть шкурка вичинки.Ну и подстраивать кобылу под подкову ИМО в любом случае не логично.
Это как раз следствие бездумной установки RUSSIAN_CHARSET
я тут ничего не устанавливал, виноват, как всегда он
Последний раз редактировалось Rene-gad; 03.09.2007 в 17:44.
1. Я могу и далее спокойно пользоваться английской версией,
Особенно с учётом того, что английская 4.27 не вышла.
2. Русификация ПК не стоит у меня на повестке дня,
Гм... Ну либо играем, либо не играем... Либо у тебя в шрифтах ЕСТЬ русские буквы, либо ты видишь вместо них вопросы.
хотя может для Олега это было бы и проще . А речь идет просто о возможности создания универсального языкового интерфейса, как напр. в уже упомянутой a-squared HiJackFree 2.0 или Spybot Search and Destroy.
В переводе это означает, что часть шрифтов у тебя с русскими буквами. Посмотреть, какие именно тебе лень. И ты предлагаешь Олегу сыграть в угадайку.
Давай ты вначале посмотришь, какие у тебя шрифты с русскими буквами.. А уж потом - заменишь оставшиеся (или Олег что-то поменяет, если у него где-то неюникодные шрифты выбраны).
Если говорить о распространении программы в мире, где подавляющее большинство машин работают с латиноязычным интерфейсом, и, м.б. даже выпуска платной версии АВЗ, то без этого не обойтись.
Для этого полезнее была бы аглийская версия. А ещё лучше - версии на всех языках. Как я понял, шаги в эту сторону есть.
я тут ничего не устанавливал, виноват, как всегда он
Нет, это Олег поставил принудительный русский язык там, где нужно было оставить национальный (это я об умляутах в именах файлов).
Особенно с учётом того, что английская 4.27 не вышла
ОК, сказал не точно: я вообще не пользуюсь программой, чтобы лечить мой ПК. Кроме того - пока не появилась английская версия, а это случилось только 3-4 месяца назад (special tnx @NickGolovko), я вообще не имел возможности прочитать, что я собсно делаю - ориентировался на расположение команд в меню.
В переводе это означает, что часть шрифтов у тебя с русскими буквами. Посмотреть, какие именно тебе лень. И ты предлагаешь Олегу сыграть в угадайку.
Я не предлагаю Олегу, подогнать АВЗ к моему компьютеру . Набор руссифицированных шрифтов в стандартной версии немецкого Винда достаточный, чтобы писать или читать по-русски: почтовые клиенты, браузеры, оффис-программы etc. справляются. Я как избалованный потребитель только того хочу, чтобы интерфейс был мне удобен и ничего не нужно было бы фундаментально переставлять в системе, т.к. это может повлиять на работу других программ.
Для этого полезнее была бы аглийская версия. А ещё лучше - версии на всех языках.
Я не предлагаю Олегу, подогнать АВЗ к моему компьютеру . Набор руссифицированных шрифтов в стандартной версии немецкого Винда достаточный, чтобы писать или читать по-русски: почтовые клиенты, браузеры, оффис-программы etc. справляются.
Видишь ли, есть два варианта... Или Олегу ставить немецкие винды, или тебе прислать список русифицрованных шрифтов. Угадай, что проще? Ещё раз - вызываешь таблицу символов (Пуск-стандартные) и смотришь. А потом правой мышкой на десктопе, вызываешь свойства, закладка оформление и проверяешь, что во все используемые шрифты имеют русскую страницу.
Вот после этого Олегу поправить будет довольно просто. Был бы AVZ не запакован - и сам мог бы исправить в EXE.
Видишь ли, есть два варианта... Или Олегу ставить немецкие винды, или тебе прислать список русифицрованных шрифтов. Угадай, что проще?
мдя, у меня 448 ttf-файлов, если я сегодня вечером начну их просматривать, то к пенсии м.б. закончу. Или ты хочешь, чтобы я их тебе прислал? Нет уж, пусть Олег спокойно работает над русской версией.
edit: Спасибо pig
Задача упростилась до противного. Sans Serif всего 4 типа. Подвесил.
Последний раз редактировалось Rene-gad; 02.05.2008 в 17:54.
мдя, у меня 448 ttf-файлов, если я сегодня вечером начну их просматривать, то к пенсии м.б. закончу. Или ты хочешь, чтобы я их тебе прислал? Нет уж, пусть Олег спокойно работает над русской версией.
edit: Спасибо pig
Задача упростилась до противного. Sans Serif всего 4 типа. Подвесил.
Эта строка изменилась не по недостмотру, в потому, что я с ней ставил опыты с отображением русского языка на нелокализованной Windows Подняв записи я вспомнил об этом ... далее нужен опыт, подробности см. PM
А что, неужели нигде не написано, как правильно писать программы на Делфи для многоязычных интерфейсов? Неужели эта среда программирования не содержит нескольких простых правил для достижения необходимого результата? В других более-менее распространенных языках все это делается довольно просто (при использовании поставляемых с ОС true type шрифтов), что здесь-то не так? Зачем нужно каждому конкретному пользователю ОС, отличной от русской, подстраивать свой системный интерфейс и набор шрифтов под AVZ? Просто эта проблема так долго уже тянется, постоянно всплывая то здесь, то там (например, не так давно в редакторе скриптов), что создается ощущение непонимания, как это можно (и нужно) сделать...
Делфийцы, соберитесь с силами и придумайте (или поищите) уж какое-либо приемлемое решение! =)
PS. Кстати, шрифты, что прислал Rene-gad, довольно старые (1996 года издания) и, полагаю, вряд ли системные. Вероятно, они были поставлены в систему с какой-то программой от всеми любимой Adobe.
Последний раз редактировалось aintrust; 03.09.2007 в 20:08.
Делфийцы, соберитесь с силами и придумайте (или поищите) уж какое-либо приемлемое решение! =)
Беда вся в том, что у меня под рукой есть W2K и W2K3 (сервер и клиенсткая операционка), обе английские. В обоих есть AVZ и все аналогичные программы там работают без проблем, все отображается как положено. Там применяется обычный "MS Sans Serif" с кодировкой RUSSIAN_CHARSET и нечего более. Поэтому я просто не могу пронаблюдать проблему ... да и в свете создания нормальной многоязычной версии в ближайшее время причины искать нет особого смысла ... Хотя с дургой стороны если под рукой у меня появится скажем немецкая Windows и я свогу воспроизвести проблему на моем полигоне, то она будет решена за десяток минут. Только стоит ли - лучше нормальный многоязычный GUI сделать, там вообще проблема исчезнет как класс
Никак не получается провести проверку версией 4.27 со стандартными настройками стандартным скриптом сбора информации и карантина. Просто вылетает программа.. иногда вот с таким экраном...
что делать? предыдущая версия работала без проблем
А что, неужели нигде не написано, как правильно писать программы на Делфи для многоязычных интерфейсов?
Написано. Все тексты выводятся в dll, для каждого языка - своя dll. И редактор для синхронного изменения текстов во всех языках. Удобно для больших проектов, которые изначально заточены под многоязыковость.
Неужели эта среда программирования не содержит нескольких простых правил для достижения необходимого результата?
А вот тут ты делаешь подмену понятий. В первом абзаце ты говорил о многоязыковом интерфейсе. А тут уже речь идёт о показе русского языка на машинах, которые для этого не предназначены.
В других более-менее распространенных языках все это делается довольно просто (при использовании поставляемых с ОС true type шрифтов), что здесь-то не так?
Да, НЕ ТАК. У Renegad использует не те шрифты, что поставляются с ОС. Во всяком случае, в его шрифтах русских букв нет.
Реально в дельфи есть два стандартных пути:
1) В куче мест задать, что используется русский шрифт. Но при этом сам шрифт фиксируется, то есть он такой, как на машине разработчика.
2) Использовать шрифты, заданные пользователем на вкладке "оформление" в свойствах дисплея. Тогда кодовая страница (язык) берётся из региональных настроек.
А вот брать заданные пользователем шрифты и менять в них кодовую страницу действительно неудобно. У меня есть код для этого, могу запостить.... Но там нужно будет подрихтовать, потому как я заодно ещё и всю машину русифицирую...
Зачем нужно каждому конкретному пользователю ОС, отличной от русской, подстраивать свой системный интерфейс и набор шрифтов под AVZ?
Не под AVZ, а под большой набор русскоязычных программ. В частности у ReneGad будут проблемы с ЛЮБЫМИ неюникодными программами, использующими MS San Seirif (или просто San Serif).
Просто эта проблема так долго уже тянется, постоянно всплывая то здесь, то там (например, не так давно в редакторе скриптов), что создается ощущение непонимания, как это можно (и нужно) сделать...
Глобально это решается использование пакета TNT и переводом всего на юникод. Морока большая. Мы это делали для заказчиков в Казахстане. Зато проблем с умяутами в именах файлов не будет.
Делфийцы, соберитесь с силами и придумайте (или поищите) уж какое-либо приемлемое решение! =)
Ну если Олег попросит - я свой код вышлю. В принципе дельфи вообще позволяют сразу после открытия формы изменять её шрифт. Просто стоит ли овчинка выделки? То есть много ли таких страдальцев?
PS. Кстати, шрифты, что прислал Rene-gad, довольно старые (1996 года издания) и, полагаю, вряд ли системные. Вероятно, они были поставлены в систему с какой-то программой от всеми любимой Adobe.
Это к вопросу о "каждому конкретному пользователю ОС, отличной от русской".
Добавлено через 4 минуты
Сообщение от Rene-gad
мдя, у меня 448 ttf-файлов, если я сегодня вечером начну их просматривать, то к пенсии м.б. закончу. Или ты хочешь, чтобы я их тебе прислал?
Нет, я хочу чтобы ты проверил только те, что упомянуты в оформлении. Их максимум 8 штук, а скорее всего 5 - Times New Roman, Tahoma, Arial, SanSerif....
Дело в том, что в НЕКОТОРЫХ стандартных темах там стоят шрифты без русских букв. По крайней мере так была на гиганской стандартной схеме в русской Windows NT 4.0.
Думаю, что тебе всё равно придётся 10 минут на это потратить...
Последний раз редактировалось Jef239; 04.09.2007 в 00:14.
Причина: Добавлено