Форум: "Основная";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
Внизкак руссифицировать MessageDLG? Найти похожие ветки
← →
agrig (2002-04-14 14:23) [0]В программе диалоги были построены на MesageDLG. Как с наименшими затратами времени их руссифицировать. Т.е. caption"ы на кнопках и окне?
← →
Song (2002-04-14 17:54) [1]Нужно заменить некоторые файлы. Поищите этот вопрос, он уже обсуждался.
← →
ghost_by (2002-04-14 21:42) [2]dialogs.pas
← →
Вадим (2002-04-14 22:30) [3]Зачем так извращаться?
Используй не MessageDlg(), а MessageBox()
← →
Пиноккио (2002-04-14 22:37) [4]Исправляешь Consts.pas (я перед исправлением копировал его в директорию проекта).
Добавляешь его к проекту.
В каком - нибудь юните прописываешь Uses Consts.
Делаешь build.
← →
Lego (2002-04-15 02:38) [5]Зачем что-то исправлять ?
>Вадим © прав... MessageBox лучше...
вот пример:
procedure TForm1.Button1Click(Sender: TObject);
begin
MessageBox(Form1.Handle,
PChar("Вы хотите сохранить изменения?"),
PChar("Моя программа"), 3);
end;
← →
Lego (2002-04-15 02:41) [6]... дополнение ...
если нужны другие кнопки на MessageBox, то поиграйся с цифрой 3... там можно вывести кажись все кнопки которые существуют в системе и причем одновременно :)
← →
SPeller (2002-04-15 04:38) [7]Lego © (15.04.02 02:41)
Зачем играться ? Есть константы MB_YESNO, MB_YESNOCANCEL, MB_OKCANCEL, MB_OK и т.п. из названий понятно, какие кнопки они выдают. Да и вообще, играться с конкретными цифрами плохо. В этот параметр ведь передают ещё и какую иконку использовать.
← →
agrig (2002-04-15 20:10) [8]Всем спасибо теперь буду пробовать!!!!
← →
Lego (2002-04-16 02:24) [9]
> Зачем играться ? Есть константы MB_YESNO, MB_YESNOCANCEL,
> MB_OKCANCEL, MB_OK и т.п.
Ну мне например когда я впервые увидел сколько и какие кнопочки есть захотелось перебрать все :) каждый сходит сума по своему :)
← →
EsKor (2002-04-16 09:30) [10]> Lego
В вашем случае приводить к типу PChar строковую константу нет необходимости - это делается автоматически. Вот если используется переменная типа AnsiString (String) - тогда без приведения типа не обойтись.
Еще проще в использовании Application.MessageBox, по крайней мере не надо "воевать" с дескрипторами окна.
← →
agrig (2002-04-16 09:34) [11]Пиноккио- the best/
Кроме диалогов перевел кучу всего!
А главное- быстро и работает!!!!!!!!!!!!!!!!!1
Спасибо.
← →
Внук (2002-04-16 11:03) [12]Эхе-хех.
"... И с тех пор все тянутся передо мною кривые глухие окольные тропы..." (с) Стругацкие.
Переводить файл Consts.pas - это конечно круто :)
Этот вопрос поднимается регулярно, и мной, в том числе, поднимался. А толкового ответа все нет. Я вот о чем: добрые люди подсказали цивилизованное решение - функцию MessageBoxEx, специально предназначенную для сообщений на разных языках. Только не удалось мне заставить ее говорить по-английски на русскоязычной Windows и наоборот. Вот над чем стоило бы мастерам поломать голову, IMHO. Дело, кажется, в неустановленных Locale, а как их установить и откуда?
← →
Игорь Шевченко (2002-04-16 11:07) [13]День добрый,
Добрые люди советуют использовать Intergated Translation Manager
С уважением,
← →
Внук (2002-04-16 11:25) [14]>>Игорь Шевченко © (16.04.02 11:07)
Что-то я торможу, но первый раз об этом звере слышу, и Yandex тоже удивлен. Хотя бы, для чего он предназначен?
← →
gek (2002-04-16 11:29) [15]Intergated Translation Manager - встроенная система перевода
Доступна с версии D5
← →
Sergey U. (2002-04-16 12:45) [16]Народ, есть ещё один вариант.
Сходите на http://polesoft.narod.ru/
Там есть русифицированные константы для Delphi
Их ставишь и все сообщения (в т.ч. MessageDlg)
начинают выводиться по русски...
← →
REA (2002-04-16 13:22) [17]Вот только *.rus к D6P2 что-то никак не сделают...
← →
Внук (2002-04-16 14:18) [18]>>gek © (16.04.02 11:29)
Спасибо, не знал.
>>All
Только это все те же кривые окольные тропы. Кто поможет MessageBoxEx победить? Принципиально, из чистого интереса?
← →
Игорь Шевченко (2002-04-16 14:26) [19]День добрый, Внук,
Note that each localized release of Windows typically contains resources only for a limited set of languages. Thus, for example, the U.S. version offers LANG_ENGLISH, the French version offers LANG_FRENCH, the German version offers LANG_GERMAN, and the Japanese version offers LANG_JAPANESE. Each version offers LANG_NEUTRAL. This limits the set of values that can be used with the wLanguageId parameter. Before specifying a language identifier, you should enumerate the locales that are installed on a system.
Последний совет но помогает? :-)
С уважением,
← →
Внук (2002-04-16 15:26) [20]>>Игорь Шевченко © (16.04.02 14:26)
Все правильно.
Поэтому еще раз уточняю проблему: возможно ли к существующей версии добавить еще один или несколько национальных ресурсов (не знаю, как правильнее их назвать, Locales, в общем), а если да, то как это сделать?
"...Windows typically contains resources..." - значит, не всегда.
Просто, может кто знает :)
← →
Игорь Шевченко (2002-04-16 15:51) [21]День добрый,
Панель управления/Клавиатура/Языки и раскладки/Добавить... :-)
С уважением,
← →
Внук (2002-04-16 16:07) [22]>>Игорь Шевченко © (16.04.02 15:51)
В любом деле есть место шутке :) , но не все так просто, как кажется. Русская и английская раскладки установлены практически и всех, и у Вас наверняка. Однако, см. Внук © (16.04.02 11:03): "... не удалось мне заставить ее говорить по-английски на русскоязычной Windows и наоборот". А я очень старался ее разговорить:)
Если действительно Вас это заинтересовало - попробуйте сами. Код привести сегодня не могу - несколько недель, как бросил это безнадежное пока дело и все удалил. Только, наверняка, мой код Вам и не нужен. А если получится - очень прошу поделиться хотя бы итоговым результатом (типа Да/Нет).
← →
Внук (2002-04-16 16:08) [23]>>Игорь Шевченко © (16.04.02 15:51)
В любом деле есть место шутке :) , но не все так просто, как кажется. Русская и английская раскладки установлены практически и всех, и у Вас наверняка. Однако, см. Внук © (16.04.02 11:03): "... не удалось мне заставить ее говорить по-английски на русскоязычной Windows и наоборот". А я очень старался ее разговорить:)
Если действительно Вас это заинтересовало - попробуйте сами. Код привести сегодня не могу - несколько недель, как бросил это безнадежное пока дело и все удалил. Только, наверняка, мой код Вам и не нужен. А если получится - очень прошу поделиться хотя бы итоговым результатом (типа Да/Нет).
← →
Игорь Шевченко (2002-04-16 16:43) [24]День добрый, Внук,
Мы все попались на Win32.hlp :-)
В MSDN описание этой функции выглядит несколько по иному:
The MessageBoxEx function creates, displays, and operates a message box. The message box contains an application-defined message and title, plus any combination of predefined icons and push buttons. The buttons are in the language of the system user interface.
.....................
wLanguageId
[in] Reserved.
С уважением,
← →
Внук (2002-04-16 17:02) [25]>>Игорь Шевченко ©
Спасибо за подсказку. Еще одной занозой стало меньше. В MSDN не догадался заглянуть, привык верить стандартной :) документации. Мда, прямо скажем, печально...
← →
arbiter (2002-04-16 20:21) [26]В Windows XP система может иметь несколько языков интерфейса и между ними переключатся. Может быть в этом случае и заработает MessageBoxEx.
← →
~Sergius (2002-04-16 22:41) [27]Я тут все внимательно прочитал и так и не смог понять, почему не подходит вариант с переводом констант в CONSTS.PAS и размещении последнего файла в директории проекта??
Если нужно возвести это в систему, то можно просто сделать поддиректории в директории проекта по языкам, для которых компилируется готовая программа (/rus, /eng, etc), а в проджекте в юсес поставить какой-нибудь conditional на счет того, из какой именно директории будет браться consts.pas при конкретных условиях компиляции.
← →
agrig (2002-04-16 22:48) [28]народ!
рассабьтесь;)
все равно на все языки в мире не переведешь...
← →
Внук (2002-04-17 09:34) [29]>>arbiter © (16.04.02 20:21)
Спасибо, проверю, как только доберусь до XP
>>~Sergius (16.04.02 22:41)
Никто не говорит, что перевод Const.pas не приводит к желаемому результату. Только криво это, методологически неправильно, как говорят у нас в конторе :)
← →
MaXim1999 (2002-04-17 09:45) [30]Добрый день. Вообщето работаю с базами данных и на днях занялся переводом своей проги с помощью все того-же Intergated Translation Manager. В принципе он достаточно легко позволяет перевести все ресурсы проекта на несколько языков (даже системные сообщения и исключения Дельфи). Правда переключение в RunTime требует некоторой мороки. Если кому интересно могу поделиться опытом.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.007 c