Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.05;
Скачать: CL | DM;

Вниз

Многоязычность приложения   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.043 c
4-1090405878
sashuly
2004-07-21 14:31
2004.09.05
отлов русских букв с OnKeyDown


4-1089976584
Вадим
2004-07-16 15:16
2004.09.05
Потоки


11-1080469224
Boguslaw
2004-03-28 14:20
2004.09.05
KOL as fast as vcl ?


9-1084807193
Pirate
2004-05-17 19:19
2004.09.05
3D Движки


1-1093008902
bang
2004-08-20 17:35
2004.09.05
рекурсия