Главная страница
    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.01 c
3-13099
alxx
2003-05-19 11:34
2003.06.05
Backup Интербейзовой базы


4-13505
Neznaika
2003-04-04 11:49
2003.06.05
Handle чужого окна.


6-13345
Puzzle
2003-04-02 12:32
2003.06.05
Как определить, что Dial-up соединение уже установлено?


4-13521
tamerlan311
2003-04-06 09:13
2003.06.05
Высвобождение ресурсов от dll


3-13016
Дмитрий Юрьевич Грицай
2003-05-16 08:14
2003.06.05
Interbase & generator





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский