Форум: "Прочее";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
ВнизМногоязыковая поддержка Найти похожие ветки
← →
Loginov Dmitry © (2006-08-26 21:00) [0]http://matrix.kladovka.net.ru/download.php?getfilename=uploads/other/multilang.zip
Некого рода альтернатива встроенного в Delphi средства многоязыковой поддержки Translation Manager.
Для каждого языка заводится отдельный ини-файл (примеры в архиве).
Кроме установки свойства Caption для кнопочек и меток, возможна установка любого свойства для любого компонента на любой форме.
Смена языка выполняется всего одной командойSetLanguage()
.
Пример описания секции в ини-файле:[TForm1]
Caption = Русская форма
Button1.Caption = Кнопка 1
Button2.Caption = Кнопка 2
Memo1.Lines =" Это текст!"
RadioGroup1.Items ="Элемент 1\nЭлемент 2"
RadioGroup1.Height = 50
RadioGroup1.Caption = Переключатели
Button3.Caption = Выбор языка
N1.Caption = Файл
N2.Caption = Выход
N3.Caption = Открыть
Довольно удобная вещь, но не оградит прогу от действий злого юзера, решившего изменить свойства компонентов по своему усмотрению.
← →
Чапаев носками хакера (2006-08-26 21:03) [1]> Memo1.Lines =" Это текст!"
А как это ты стрингсу присваиваешь строку?
← →
Ketmar © (2006-08-26 21:17) [2]> [0] Loginov Dmitry © (26.08.06 21:00)
сильно подозреваю, что подобное писали очень многие. я, например, давно такой самопиской пользуюсь. %-)
← →
Чапаев носками хакера (2006-08-26 21:27) [3]> я, например, давно такой самопиской пользуюсь.
А я две написал и пришёл к выводу, что до ETM им ещё расти и расти...
← →
Ketmar © (2006-08-26 21:29) [4]> [3] Чапаев носками хакера (26.08.06 21:27)
так это от задачи зависит. для простой смены надписей -- вполне ничего. %-)
← →
isasa © (2006-08-26 21:48) [5]Ketmar © (26.08.06 21:17) [2]
сильно подозреваю, ...
Мгжешь усилить подозрения.
От злого юзера прятать все в DLL в ресурсов.
← →
Чапаев носками хакера (2006-08-26 21:50) [6]А что-то вроде DbGrid1.Columns[2].Title.Caption русифицировать сумеет?
← →
isasa © (2006-08-26 21:51) [7]Ketmar © (26.08.06 21:29) [4]
... для простой смены надписей -- вполне ничего.
Ага, дальше пойдет не для слабонервных - содержимое выпадаюших списков ...
← →
Ketmar © (2006-08-26 22:16) [8]> [7] isasa © (26.08.06 21:51)
подумаешь, бином Ньютона... не для слабонервных -- это картинки. в hex-виде. в текстовике. %-)
← →
Loginov Dmitry © (2006-08-26 23:13) [9]>[1] А как это ты стрингсу присваиваешь строку?
Хотел как в dfm: Lines.Strings = ...
Однако как это сделать не допер. Свойство Strings не опубликовано (не видно стандартными средствами RTTI)
> Ketmar © (26.08.06 21:17) [2]
> сильно подозреваю, что подобное писали очень многие. я,
> например, давно такой самопиской пользуюсь.
Не сомневаюсь. Просто и мои исходники могут быть полезными не только мне.
> Чапаев носками хакера (26.08.06 21:50) [6]
> А что-то вроде DbGrid1.Columns[2].Title.Caption русифицировать
> сумеет?
Columns не является дочерним объектом ДБГрида. Как и в случае с Lines, тут нужет дополнительный код.
> Ага, дальше пойдет не для слабонервных - содержимое выпадаюших
> списков
Поддерживаются все списки, наследуемые от TStrings.
> не для слабонервных -- это картинки. в hex-виде. в текстовике
Нехило. Для простого-то перевода текста :)
← →
Ketmar © (2006-08-26 23:26) [10]> [9] Loginov Dmitry © (26.08.06 23:13)
> Однако как это сделать не допер
руками проверять на такие финты. %-)
> Просто и мои исходники могут быть полезными не только мне.
так я не к тому, что публиковать не надо. наоборот -- пусть кода будет много, разного и свободного. %-)
> Нехило. Для простого-то перевода текста :)
это просто я ленивый и глупый эльф, не более. %-)
← →
Чапаев носками хакера (2006-08-26 23:29) [11]> Однако как это сделать не допер. Свойство Strings не опубликовано
> (не видно стандартными средствами RTTI)
Вот-вот. Сам на этом запнулся в своё время и пришёл к выводу, что универсальный компонент для локализации сделать не сумею, а плодить ерунду, которая умеет только "кое-что" смысла нет...
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.044 c