Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизМногоязычность приложения Найти похожие ветки
← →
Shc (2004-08-13 17:03) [0]Народ, подскажите, пожалуйста, хорошую компоненту для организации многоязычности (желательно бесплатную.
Требования: хранение в текстовом формате (ini, lng ...); обработка всех форм в проэкте; обработка строковых констант (resoursestring) всех используемых модулей
← →
GuAV © (2004-08-13 17:12) [1]
> обработка строковых констант (resoursestring) всех используемых
> модулей
Про это не знаю (даже не уверен, что делается), а про остальное:
посмотри unit typinfo, в нём работа со всеми свойствами - тебе нужны string-овые... и компонент пишется ;-) ...
← →
kesha © (2004-08-13 17:18) [2]TsiLang
Feel free to visit siComponents home page at:
http://www.sicomponents.com
← →
Shc (2004-08-13 17:34) [3]> GuAV
Нет времени на ньюансы (хотя в общем алгоритм и принципы работы я уже представляю )
> kesha
Компотента-то, похоже, триальная.
← →
Mim1 © (2004-08-13 18:27) [4]Попробуйте использовать присутствующий в delphi translation tools.
← →
GuAV © (2004-08-13 19:44) [5]
> Попробуйте использовать присутствующий в delphi translation
> tools.
ITE? А чем бы и нет. Он правда не обеспечивает:
> хранение в текстовом формате (ini, lng ...);
, а остальное - ок.
← →
Anatoly Podgoretsky © (2004-08-13 20:22) [6]Остальное не ОК, а много лучше!
Кроме текста, локализуется почти все, особенно приятно, что размеры элелемтов и их расположение могут менять от языка, к языку.
Если же требование текстовых файлоы связано с передачей на перевод другим лицам, то можно написать не сложный обработчик rc файлов
← →
GuAV © (2004-08-13 21:19) [7]Anatoly Podgoretsky © (13.08.04 20:22) [6]
Вы кстати не знаете, как заставить всю эту информацию хранится не в .enu/.rus а в самом exe (есть же возможность хранения нескольких версий одного ресурса на разных языках в винде) ?
И как пдменить resurcestring во время выполнения?
← →
Anatoly Podgoretsky © (2004-08-13 21:46) [8]GuAV © (13.08.04 21:19) [7]
Это нельзя по дизайну, это ресусные DLL
Очень просто, также как обычную константу, справка кстати это хорошо рассказывает и с примерами.
S := s_ResourceString;
Остальное делается автоматом.
← →
GuAV © (2004-08-13 21:58) [9]>Это нельзя по дизайну, это ресусные DLL
Жаль.
Но я думаю если дельфи это не делает, можно руками сделать, есть же редакторы ресурсов, использующие соотв WInAPI функции...
>S := s_ResourceString;
я не о том.
Как бы такое сделать:SAccessViolationArg3:="Лажа по адресу %p. %s адреса %p";
← →
Dimaxx (2004-08-13 22:54) [10]Пиши мне на мыло - объясню. Я сделал проще и в пару десятков строк. Интерфейс тянется из текстовых файлов. Щас объяснять нет времени в инете - накропаю текстик и выложу. А пока прыгай ко мне на мыло.
← →
Anatoly Podgoretsky © (2004-08-13 23:17) [11]GuAV © (13.08.04 21:58) [9]
SAccessViolationArg3:="Лажа по адресу %p. %s адреса %p";
Format в нее передаешь SAccessViolationArg3 как форматную строку, если напрямую не получится, то сначала в S, но должно и напрямую
← →
GuAV © (2004-08-13 23:25) [12]Anatoly Podgoretsky © (13.08.04 23:17) [11]
Нет, я хочу [0]
> обработка строковых констант (resoursestring) всех используемых
> модулей
т.е. заменить SAccessViolationArg3 с значения из consts.pas на "Лажа по адресу %p. %s адреса %p" в run-time.
← →
Anatoly Podgoretsky © (2004-08-13 23:29) [13]GuAV © (13.08.04 23:25) [12]
Это тоже можно сделать, если они объявлены как ресурсные строки, немного надо посучиться с подключением к ITE
← →
Anatoly Podgoretsky © (2004-08-13 23:31) [14]У меня так подулючились констант из Quick Report и еще что то.
← →
GuAV © (2004-08-13 23:41) [15]
>> заменить ... в run-time.
> Это тоже можно сделать,
Я тупой. Объясните, пожалуйста, как.
Я понимаю, что после запуска resource dll wizard создаётся ProjectGroup с локализируемыми версиями проекта с dfm и rc файлами и есть удобный stringtable editor для этих rc файлов, но как
> т.е. заменить SAccessViolationArg3 с значения из consts.pas
> на "Лажа по адресу %p. %s адреса %p" в run-time.
← →
GuAV © (2004-08-13 23:46) [16]Как бы это понятнее сказать... Хочу понять, можно ли
> хранение в текстовом формате (ini, lng ...);
реализовать для констант из consts.pas, что бы например тот же Stack Overflow был по русски.
← →
Anatoly Podgoretsky © (2004-08-13 23:59) [17]GuAV © (13.08.04 23:41) [15]
Не подскажу не делал, требует изучения, но одназначно можно.
← →
TUser © (2004-08-14 03:16) [18]Есть перцы, которые пересобирают VCL под свои нужды. Сам не делал, но теоретически это делают так - копируют в папку со своей программой все нужные модули, заменяют в этом consts.pas константы на переменные с такими же названиями, значения грузят из ini/реестра/ресурса
← →
GuAV © (2004-08-14 05:19) [19]TUser © (14.08.04 03:16) [18]
Неплохо, но я думаю есть вариант получше...
← →
TUser © (2004-08-14 08:34) [20]Ну, на самом деле, для русификации твоих собственных строк это не нужно, а Yes переводить на русский язык вовсе необязательно (по моему скромному ИМХО). Неужели ползователь не пойме по английски?
← →
Mim1 © (2004-08-14 13:30) [21]
> [20] TUser © (14.08.04 08:34)
А ты прдставь себе такого буха кило эдак на 160 которая визжит что это ее не касается и все должно быть "как надо", и что она ничего знать не хочет.
← →
GuAV © (2004-08-14 13:55) [22]
> Ну, на самом деле, для русификации твоих собственных строк
> это не нужно,
Согласен.
> а Yes переводить на русский язык вовсе необязательно
У меня через Application.Messagebox, т.е. Yes и так по русски.
В других константах дело.
> Неужели ползователь не пойме по английски?
Лучше не надо.
← →
TUser © (2004-08-14 14:39) [23]
> А ты прдставь себе такого буха кило эдак на 160 которая
> визжит что это ее не касается и все должно быть "как надо",
> и что она ничего знать не хочет.
Да, бывают и такие.
← →
GuAV © (2004-08-14 20:08) [24]Таки получилось.
http://delphimaster.net/view/4-1092430217/
> Да, бывают и такие.
Да, но теперь есть управа. Хотя кто знает что они завтра захотят? "Белый текст при включении" по русски ? ;-)
← →
Mim1 © (2004-08-16 08:19) [25]
> Хотя кто знает что они завтра захотят? "Белый текст при
> включении" по русски ? ;-)
Можно перепрошить bios и шрифт видеокарты. :)
Лиш бы оплатили.
← →
Shc (2004-08-17 16:53) [26]Спасибо за ответы.
Раньше не мог, уезжал.
Относительно средсв самого Делфя, это, конечно, хорошо, НО я не уверен что это будет работать для Линуха :-)
(хотя и про ресурсные строки тоже) :-))
Относительно кнопочек типа Yes, то это тоже очень важно и нужно (делается с прицелом на учебные заведения)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.037 c