Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];

Вниз

Один код для нескольких форм   Найти похожие ветки 

 
AlexKa   (2003-05-23 14:45) [0]

Может кто сталкивался, как сделать сабж? Содержимое форм разумеется одно и то же, различается только язык. Можно ли такое сделать?


 
Palladin   (2003-05-23 14:47) [1]

Можно, но только не так как ты задумал, это уже изврат, сам себе яму роешь при добавлении нового элемента, его нужно и туда и туда чтоли? Не умрешь от тоски?


 
AlexKa   (2003-05-23 15:55) [2]

Ну может и изврат, только как сделать-то по другому? Что-то больше ничего не приходит на ум.


 
Palladin   (2003-05-23 16:00) [3]

Project\Languages\Add


 
Владислав   (2003-05-23 17:08) [4]

Так и не понял, чего ты хочешь сделать...
Тебе нужна локализация программы? Программа для разных "человеческих" языков?
При чем здесь код формы тогда?..


 
AlexKa   (2003-05-23 18:22) [5]

Нужно иметь две версии проги, которые жестко привязаны к своему языку, например, русская версия и английская, без возможности локализовать друг друга.


 
Sandman25   (2003-05-23 18:40) [6]

Можно хранить константный массив со строками и перед компиляцией изменять одну константу, например LANG.

type TLanguage = (lgRus, lgEng);
TElement = (elOK, elMainFormCaption, {...});
const LANG: TLanguage = lgRus;
type El: array[TLanguage,TElement] of string =
(("Да","Yes"),("Печать документов","Document printing"){...});

При инициализации программы загружать свойства.
FMainForm.Caption := El[LANG,elMainFormCaption];
При необходимости отобразить какое-либо сообщение - аналогично.
ShowMessage(El[LANG,elDisplayWarning]);


 
Sandman25   (2003-05-23 18:44) [7]

Перед описанием El слово type нужно убрать, конечно.


 
AlexKa   (2003-05-23 18:57) [8]

Спасибо, попробую сделать что-нить в этом духе.


 
Юрий Федоров   (2003-05-23 19:25) [9]

См. Palladin © (23.05.03 16:00)


 
Юрий Зотов   (2003-05-23 21:04) [10]

> Можно хранить константный массив со строками

А можно и просто строки. В DLL, в виде ресурсов. А загружать их через LoadString.

Для каждого языка - своя DLL. Какую загрузишь - такой язык и получишь. Хоть на лету его меняй. И при этом, сколько бы языков ни поддерживалось, в EXE не меняется ни одной строчки. Его даже можно вообще не перекомпилировать.

Это и есть нормальная, профессиональная локализация.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
1-13198
JS
2003-05-26 19:53
2003.06.05
drag and drop внешних объектов


14-13411
acsoft
2003-05-18 09:42
2003.06.05
Как написать объект так, чтобы потом текст юнита нельзя было проч


1-13113
Song
2003-05-23 08:38
2003.06.05
TListView, родительский TListItem. vsReport


14-13450
SPeller
2003-05-20 07:38
2003.06.05
Что такое Дельфийские игры?


14-13401
Fenik
2003-05-17 21:09
2003.06.05
Куда подевался Мазут?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский