Unit LangSupp;
interface
procedure DefineConstantsRUS;
procedure DefineConstantsENU;
procedure DefineConstantsDEU;
procedure LoadConstants;
procedure FontLoad;
procedure FontErase;
var
sSysVarTEMP: string;
ReadCharSet: set of byte;
// [192..255];
{Русские слова}
// [192..223];
{Русские слова набранные БОЛЬШИМИ буквами}
{Abbreviation: A - About
C - Common
D - Dictionary
G - suGGest
H - History
K - sKip
M - Main form
S - Setup
T - Top 10
W - Word input}
_A_cAuthor //'Разработчик:';
,_A_cCaption //'О Программе';
,_A_cName //'Алексей Романов';
,_A_cOwner //'Владелец:';
,_A_cOwnerName //_ProductOwner;
,_A_cVersion //'Версия: '+_ProductVersion;
,_C_cCaption //'Словарь';
,_C_cClear //'Очистить';
,_C_cClose //'Закрыть';
,_C_cPoints //'Очки';
,_C_cProductName //'Эрудит';
,_C_cWord //'Слово';
,_C_cTurn //'Ход';
,_D_FNActive //'Active.txt';
,_D_FNINActive //'InActive.txt';
,_D_FNotFound //'Файл "%s" не найден.';
,_D_StateReading //'Состояние: Читаем новые слова...';
,_D_StateSaving //'Состояние: Сохраняем старый словарь...';
,_D_StateWaiting //'Состояние: Ждем Ваших пожеланий...';
,_D_StateWriting //'Состояние: Записываем в словарь...';
,_D_cAddWord //'Добавить слово >>';
,_D_cDelWord //'Удалить слово <<';
,_D_cClear //'Очистить словарь'
,_D_cFindWord //'Найти слово';
,_D_cAdd //'Добавить из файла';
,_D_cSave //'Сохранить в файл';
,_D_cTotalWords //'Итого %d слов';
,_D_hFindWord //'Вы можете использовать символы: "%" как любые буквы и
,_D_mExist //'Это слово уже есть в словаре.';
,_D_mIsClearAll //'Вы уверены, что хотите полностью очистить словарь про
,_G_cCaption //'Подсказка';
,_G_cDir //'Пол';
,_G_cHelp //'"%s" - подсказка';
,_G_cPosX //'X';
,_G_cPosY //'Y';
,_G_cThinking //'Еще подумать';
,_G_cTotalPatts //'Всего шаблонов: %d';
,_G_cTotalWords //'Всего слов: %d';
,_G_cWWeight //'Вес';
,_G_cavPatts //'Список возможных шаблонов';
,_G_cavWords //'Список возможных слов';
,_G_mIPoints //'Я Вам набрал дополнительно %d очк%s'+#10+'...но и про
,_H_LGot //'Получил';
,_H_LPName //'Игрок';
,_H_LTotal //'Итого';
,_H_LUsed //'Использовал';
,_H_PAll //'Все игроки';
,_H_cTotal //'%d ход(ов)';
,_H_claPlayer //'Показать историю для ';
,_K_cAll //'Все поменять';
,_K_cCaption //'Пропуск хода';
,_K_cChooseL //'Выберите буквы для замены';
,_K_cContinue //'Продолжить игру';
,_K_cSkip //'Пропустить ход';
,_K_mIsSkip //'Вы действительно хотите пропустить ход и не поменять
,_M_LgCenter //'Первое слово должно проходить через середину поля.';
,_M_LgContactL //'Проверка соприкосновения слова справа';
,_M_LgContactR //'Проверка соприкосновения слова сверху';
,_M_LgContactD //'Проверка соприкосновения слова снизу';
,_M_LgContactU //'Проверка соприкосновения слова слева';
,_M_LgNoCross //'Нет необходимого пересечения слов';
,_M_LgOut //'Проверка выхода слова из поля';
,_M_LgNoL2Set //'Вы не потратили ни одной буквы';
,_M_LgCrossError //'Проверка совпадения букв на пересечениях';
,_M_ccb1 //'Игрок 1';
,_M_ccb2 //'Игрок 2';
,_M_ccb3 //'Игрок 3';
,_M_ccb4 //'Игрок 4';
,_M_ccb5 //'Игрок 5';
,_M_claPlayer //'Игроки:';
,_M_claPoints //'Очки:';
,_M_claLetters //'Буквы:';
,_M_claTopNames //'Горячая десятка';
,_M_ctbBack //'Вернуть ход';
,_M_ctbExit //'Выход';
,_M_ctbHelp //'Инструкция';
,_M_ctbHistory //'История ходов';
,_M_ctbLang //'Language';
,_M_ctbLoadGame //'Загрузить игру';
,_M_ctbSaveGame //'Сохранить игру ';
,_M_ctbSetup //'Настройки';
,_M_ctbSkip //'Пропустить ход';
,_M_ctbSuggest //'Подсказать слово';
,_M_ctbNet //'Сетевая игра';
,_M_hPLetters //'Буквы игрока %s';
,_M_hPPoints //'Очки игрока %s';
,_M_mBack //'Вернуть последний ход ?';
,_M_mBonus //'Вы использовали все %d букв и достойны премии в %d оч
,_M_mDiffLVersion //'Языковая версия загружаемой игры - %s и не совпадает
,_M_mGIsStop //'Окончить игру?';
,_M_mHIsNeed //'Вы действительно хотите мою подсказку всего за %d очк
,_M_mINoWord //'Да... С такими буквами я и сам не могу слово придумат
,_M_mIPoints //'Я набрал дополнительно %d очк%s';
,_M_mISkip //'Увы, я пропускаю ход...';
,_M_mLNot //'"%s" - не Ваша буква';
,_M_mLNotPC //'"%s" - не Ваша буква - но... поздно.';
,_M_mLNotReg //'"%s" - не является зарегистрированной буквой алфавита
,_M_mPDelete //'Удалить игрока "%s" ?';
,_M_mPEnter //'Введите имя игрока';
,_M_mPUNames //'Введите не повторяющиеся имена игроков';
,_M_mPoints //'Вы набрали дополнительно %d очк%s';
,_M_mTimeOut //'Ваше время вышло и ход переходит к следующему игроку.
,_M_mWUsed //'Слово %s уже использовано, подумайте над другим слово
,_M_sFFilter //'Сохраненная игра (*.eru)|*.eru';
,_M_sFNGame //'Игра1.eru';
,_M_sGPlay //'Игра !';
,_M_sGStop //'Остановить';
,_M_sPPCName //'Компьютер';
,_M_sSkip // = '-пропуск хода-';
,_M_cNetUsers //'Итого %d пользователь';
,_M_cNetReadyCnt //'Ready to play with %d players'
,_M_cNetErrLess //'Not enought players to play'
,_M_cNetErrMore //'Too many players to play'
,_M_cNetJoin //'Join to game';
,_S_cALoad //'Автозагрузка';
,_S_cASave //'Автосохранение';
,_S_cTips //'Показывать подсказки';
,_S_cAnim //'Анимация при перемещинии букв';
,_S_cCaption //'Настройки игры';
,_S_cDLevel //'Уровень сложности';
,_S_cStore //'Запомнить';
,_S_cTimeLimit //'Ограничение времени (секунд)';
,_T_cPhrase //'Введите Вашу фразу:';
,_T_mClear //'Очистить таблицу лучих игроков?';
,_W_WDirHor //'Горизонтально';
,_W_WDirVer //'Вертикально';
,_W_cApply //'Согласен';
,_W_cCancel //'Отменить';
,_W_cCancelHint //'Отменить ход и удалить слово из словаря программы';
,_W_cCaption //'Ввод нового слова';
,_W_cNoUse //'Удалить из словаря';
,_W_cNoUseConfirm //'Удалить это слово навсегда из словаря?';
,_W_cPCNewWord //'Новое слово КОМПЬЮТЕРА';
,_W_cSet //'Поставить';
,_W_mHelp //'введите слово, которое вы хотите поставить.
// Предварительно вы можете это слово составить
//в Вашем шаблоне, перетащив буквы в нужном порядке
//и обозначив последнюю букву выделением.';
,_W_mAbortAdd //'Раз нельзя программе использовать это слово - значит
,_W_mIsAdd //'Вы ввели слово "%s", которое отсутствует в словаре пр
,_W_mReplaceAst //'Поставьте вместо звездочки желаемую букву.';
,_W_mSuggested //'Это слово я Вам уже предлагал.'+#10+'Будете думать на
,_W_mWWeight //'%d очк%s';
: string;
implementation
uses _fm_Sugg, _fm_Setup, _fm_Main, _fm_Word, _fm_WordC, _fm_DMan,
_fm_Skip, _fm_PMoves, _fm_Top, _fm_About, Aphorism,
Windows, SysUtils, Dialogs, Forms, Controls,
Messages, Classes, Graphics, StdCtrls,
ExtCtrls, Grids, Buttons, ComCtrls, Menus, ImgList, IniFiles,
FMXUtils, ToolWin;
{------------------------------------------------------------------------------}
procedure DefineConstantsRUS;
begin
CurrentLanguage := lgRUS;
ReadCharSet := [192..255];
_A_cAuthor := 'Разработчик:';
_A_cCaption := 'О Программе';
_A_cName := 'Алексей Романов';
_A_cOwner := 'Владелец:';
_A_cOwnerName := _ProductOwner;
_A_cVersion := 'Версия: '+_ProductVersion;
_C_cCaption := 'Словарь';
_C_cClear := 'Очистить';
_C_cClose := 'Закрыть';
_C_cPoints := 'Очки';
_C_cProductName := 'Эрудит';
_C_cWord := 'Слово';
_C_cTurn := 'Ход';
_D_FNActive := 'Active.txt';
_D_FNINActive := 'InActive.txt';
_D_FNotFound := 'Файл "%s" не найден.';
_D_StateReading := 'Состояние: Читаем новые слова...';
_D_StateSaving := 'Состояние: Сохраняем старый словарь...';
_D_StateWaiting := 'Состояние: Ждем Ваших пожеланий...';
_D_StateWriting := 'Состояние: Записываем в словарь...';
_D_cAddWord := 'Добавить слово >>';
_D_cDelWord := 'Удалить слово <<';
_D_cClear := 'Очистить словарь';
_D_cFindWord := 'Найти слово';
_D_cAdd := 'Добавить из файла';
_D_cSave := 'Сохранить в файл';
_D_cTotalWords := 'Итого %d слов';
_D_hFindWord := 'Вы можете использовать следующие символы в шаблоне:'+#10+
'"%" в качестве любого множества букв и'+#10+'"_" в качестве любой одной буквы';
_D_mExist := 'Это слово уже есть в словаре.';
_D_mIsClearAll := 'Вы уверены, что хотите полностью очистить словарь программы?';
_G_cCaption := 'Подсказка';
_G_cDir := 'Пол';
_G_cHelp := '"%s" - подсказка';
_G_cPosX := 'X';
_G_cPosY := 'Y';
_G_cThinking := 'Еще подумать';
_G_cTotalPatts := 'Всего шаблонов: %d';
_G_cTotalWords := 'Всего слов: %d';
_G_cWWeight := 'Вес';
_G_cavPatts := 'Список возможных шаблонов';
_G_cavWords := 'Список возможных слов';
_G_mIPoints := 'Я Вам набрал дополнительно %d очк%s'+#10+
'...но и про себя не забыл...';
_H_LGot := 'Получил';
_H_LPName := 'Игрок';
_H_LTotal := 'Итого';
_H_LUsed := 'Использовал';
_H_PAll := 'Все игроки';
_H_cTotal := '%d ход(ов)';
_H_claPlayer := 'Показать историю для ';
_K_cAll := 'Все поменять';
_K_cCaption := 'Пропуск хода';
_K_cChooseL := 'Выберите буквы для замены';
_K_cContinue := 'Продолжить игру';
_K_cSkip := 'Пропустить ход';
_K_mIsSkip :=
'Вы действительно хотите пропустить ход и не поменять ни одной буквы ?';
_M_LgCenter := 'Первое слово должно проходить через середину поля.';
_M_LgContactR := 'Поставленное Вами слово соприкасается СПРАВА с другим словом,'+#10+
'что не допустимо';
_M_LgContactL := 'Поставленное Вами слово соприкасается СЛЕВА с другим словом,'+#10+
'что не допустимо';
_M_LgContactU := 'Поставленное Вами слово соприкасается СВЕРХУ с другим словом,'+#10+
'что не допустимо';
_M_LgContactD := 'Поставленное Вами слово соприкасается СНИЗУ с другим словом,'+#10+
'что не допустимо';
_M_LgNoCross := 'Нет необходимого пересечения слов';
_M_LgOut := 'Поставленное Вами слово выходит за границу поля';
_M_LgNoL2Set := 'Вы не потратили ни одной буквы';
_M_LgCrossError :=
'Буквы, находящиеся на пересечении поставленного Вами слова с другими словами, не совпадают.'
;
_M_ccb1 := 'Игрок 1';
_M_ccb2 := 'Игрок 2';
_M_ccb3 := 'Игрок 3';
_M_ccb4 := 'Игрок 4';
_M_ccb5 := 'Игрок 5';
_M_claPlayer := 'Игроки:';
_M_claPoints := 'Очки:';
_M_claLetters := 'Буквы:';
_M_claTopNames := 'Горячая десятка';
_M_ctbBack := 'Вернуть ход';
_M_ctbExit := 'Выход';
_M_ctbHelp := 'Инструкция';
_M_ctbHistory := 'История ходов';
_M_ctbLang := 'Language';
_M_ctbLoadGame := 'Загрузить';
// игру';
_M_ctbSaveGame := 'Сохранить';
// игру';
_M_ctbSetup := 'Настройки';
_M_ctbSkip := 'Пропустить ход';
_M_ctbSuggest := 'Подсказать слово';
_M_ctbNet := 'Сетевая игра';
_M_hPLetters := 'Буквы игрока %s';
_M_hPPoints := 'Очки игрока %s';
_M_mBack := 'Вернуть последний ход ?';
_M_mBonus := 'Вы использовали все %d букв и достойны премии в %d очков!';
_M_mDiffLVersion := 'Языковая версия загружаемой игры не совпадает с текущей (Русской)'
+#10+'Измените язык игры на "%s", чтобы загрузить эту игру';
_M_mGIsStop := 'Окончить игру?';
_M_mHIsNeed := 'Вы действительно хотите мою подсказку всего за %d очк%s ?';
_M_mINoWord := 'Да... С такими буквами я и сам не могу слово придумать...';
_M_mIPoints := 'Я набрал дополнительно %d очк%s';
_M_mISkip := 'Увы, я пропускаю ход...';
_M_mLNot := '"%s" - не Ваша буква';
_M_mLNotPC := '"%s" - не Ваша буква - но... поздно.';
_M_mLNotReg := '"%s" - не является зарегистрированной буквой алфавита';
_M_mPDelete := 'Удалить игрока "%s" ?';
_M_mPEnter := 'Введите имя игрока';
_M_mPUNames := 'Введите не повторяющиеся имена игроков';
_M_mPoints := 'Вы набрали дополнительно %d очк%s';
_M_mTimeOut := 'Ваше время вышло и ход переходит к следующему игроку...';
_M_mWUsed := 'Слово %s уже использовано, подумайте над другим словом.';
_M_sFFilter := 'Сохраненная игра (*.eru)|*.eru';
_M_sFNGame := 'Игра1.eru';
_M_sGPlay := 'Начать игру';
_M_sGStop := 'Окончить игру';
_M_sPPCName := 'Компьютер';
_M_sSkip := '-пропуск хода-';
_M_cNetUsers := 'Итого %d пользователей';
_M_cNetReadyCnt := 'Готовы играть %d игроков';
_M_cNetErrLess := 'Мало игроков для игры';
_M_cNetErrMore := 'Слишком много игроков для игры';
_M_cNetJoin := 'Присоединиться к игре';
_S_cALoad := 'Автозагрузка';
_S_cASave := 'Автосохранение';
_S_cTips := 'Показывать подсказки';
_S_cAnim := 'Анимация при перемещении букв';
_S_cCaption := 'Настройки игры';
_S_cDLevel := 'Уровень сложности';
_S_cStore := 'Запомнить';
_S_cTimeLimit := 'Ограничение времени (секунд)';
_T_cPhrase := 'Введите Вашу фразу:';
_T_mClear := 'Очистить таблицу лучших игроков?';
_W_WDirHor := 'Горизонтально';
_W_WDirVer := 'Вертикально';
_W_cApply := 'Согласен';
_W_cCancel := 'Отменить';
_W_cCancelHint := 'Отменить ход и удалить слово из словаря программы';
_W_cCaption := 'Ввод нового слова';
_W_cNoUse := 'Удалить из словаря';
_W_cNoUseConfirm := 'Удалить это слово навсегда из словаря?';
_W_cPCNewWord := 'Новое слово КОМПЬЮТЕРА';
_W_cSet := 'Поставить';
_W_mHelp := 'введите слово, которое вы хотите поставить.'+#10+
'Предварительно вы можете это слово составить'+#10+
'в Вашем шаблоне, перетащив буквы в нужном порядке'+#10+
'и обозначив последнюю букву выделением.';
_W_mAbortAdd := 'Раз нельзя программе использовать это слово - значит и Вам тоже :('
;
_W_mIsAdd := 'Вы ввели слово "%s", которое отсутствует в словаре программы.'+#10+
'Добавить это слово в ее словарь ?';
_W_mReplaceAst := 'Поставьте вместо звездочки желаемую букву.';
_W_mSuggested := 'Это слово я Вам уже предлагал.'+#10+
'Будете думать над другим словом ?';
_W_mWWeight := '%d очк%s';
end;
{------------------------------------------------------------------------------}
procedure DefineConstantsENU;
begin
CurrentLanguage := lgENU;
ReadCharSet := [65..90,97..122];
_A_cAuthor := 'Developer:';
_A_cCaption := 'About...';
_A_cName := 'Alexey Romanov';
_A_cOwner := 'Owner:';
_A_cOwnerName := _ProductOwner;
_A_cVersion := 'Version: '+_ProductVersion;
_C_cCaption := 'Dictionary';
_C_cClear := 'Clear';
_C_cClose := 'Close';
_C_cPoints := 'Points';
_C_cProductName := 'The Erudite';
_C_cWord := 'Word';
_C_cTurn := 'Turn';
_D_FNActive := 'Active.txt';
_D_FNINActive := 'InActive.txt';
_D_FNotFound := 'File "%s" not found.';
_D_StateReading := 'State: Reading new words...';
_D_StateSaving := 'State: Saving the dictionary...';
_D_StateWaiting := 'State: Waiting for user...';
_D_StateWriting := 'State: Writing dictionary...';
_D_cAddWord := 'Add a word >>';
_D_cDelWord := 'Delete word <<';
_D_cClear := 'Clear dictionary';
_D_cFindWord := 'Find a word';
_D_cAdd := 'Add from file';
_D_cSave := 'Save to file';
_D_cTotalWords := 'Total %d words';
_D_hFindWord := 'You can use following characters in wildcard:'+#10+
'"%" as set of any characters and'+#10+'"_" as one any character';
_D_mExist := 'This word is already in dictionary.';
_D_mIsClearAll := 'You are about to erase the programs dictionary. Continue?';
_G_cCaption := 'Computer`s Hint';
_G_cDir := 'Dir';
_G_cHelp := '"%s" - Computer`s hint';
_G_cPosX := 'X';
_G_cPosY := 'Y';
_G_cThinking := 'Think over';
_G_cTotalPatts := 'Total templates: %d';
_G_cTotalWords := 'Total words: %d';
_G_cWWeight := 'Weight';
_G_cavPatts := 'List of possible templates';
_G_cavWords := 'List of possible words';
_G_mIPoints := 'I have gained for you additional %d point%s...'+#10+
'And also took care of myself...';
_H_LGot := 'New';
_H_LPName := 'Player';
_H_LTotal := 'Total';
_H_LUsed := 'Used';
_H_PAll := 'All players';
_H_cTotal := '%d turn(s)';
_H_claPlayer := 'Show history of';
_K_cAll := 'All replace';
_K_cCaption := 'Skip turn';
_K_cChooseL := 'Select letters for replacement';
_K_cContinue := 'Continue game';
_K_cSkip := 'Skip turn';
_K_mIsSkip := 'Do you really want to skip your turn with all letters unchanged?';
_M_LgCenter := 'The first word should pass middle of the field';
_M_LgContactR := 'You have set the word, that adjoined on the RIGHT other word.'+#10+
'This is not allowed';
_M_LgContactL := 'You have set the word, that adjoined on the LEFT other word.'+#10+
'This is not allowed';
_M_LgContactU := 'You have set the word, that adjoined on the UP other word.'+#10+
'This is not allowed';
_M_LgContactD := 'You have set the word, that adjoined on the DOWN other word.'+#10+
'This is not allowed';
_M_LgNoCross := 'There is no necessary intersection of words';
_M_LgOut := 'Checking word`s coming out of a field';
_M_LgNoL2Set := 'You have not spent any character';
_M_LgCrossError :=
'The characters were on an intersection of a word, set by you, with in other words, do not coincide.'
;
_M_ccb1 := 'Player 1';
_M_ccb2 := 'Player 2';
_M_ccb3 := 'Player 3';
_M_ccb4 := 'Player 4';
_M_ccb5 := 'Player 5';
_M_claPlayer := 'Players:';
_M_claPoints := 'Points:';
_M_claLetters := 'Letters:';
_M_claTopNames := 'Top 10';
_M_ctbBack := 'Back';
_M_ctbExit := 'Exit';
_M_ctbHelp := 'Help';
_M_ctbHistory := 'Turn`s history';
_M_ctbLang := 'Language';
_M_ctbLoadGame := 'Load game';
_M_ctbSaveGame := 'Save game';
_M_ctbSetup := 'Options';
_M_ctbSkip := 'Skip turn';
_M_ctbSuggest := 'Suggest a word';
_M_ctbNet := 'Network game';
_M_hPLetters := 'Letters of the player %s';
_M_hPPoints := 'Points of the player %s';
_M_mBack := 'Return to the last turn?';
_M_mBonus := 'You have used all %d letters and your bonus is %d points';
_M_mDiffLVersion :=
'The language of the loading game is different for the current (English)'+#10+
'Change the current language to "%s", to load this game';
_M_mGIsStop := 'End the game?';
_M_mHIsNeed := 'Do you really want my hint just for %d point%s?';
_M_mINoWord := 'Yes... With such letters even I am unable to invent a word...';
_M_mIPoints := 'I have gained %d point%s';
_M_mISkip := 'Alas, I skip a turn...';
_M_mLNot := '"%s" - is not your letter';
_M_mLNotPC := '"%s" - is not your letter - but... Late.';
_M_mLNotReg := '"%s" - is not registered letter of the alphabet';
_M_mPDelete := 'Delete the player "%s"?';
_M_mPEnter := 'Enter a name of the player';
_M_mPUNames := 'Please don`t repeat the names of the players';
_M_mPoints := 'You have gained %d point%s';
_M_mTimeOut := 'Your time is over and your turn passes to the following player...';
_M_mWUsed := 'Word %s already used, think above other word';
_M_sFFilter := 'Saved game (*.eru) | *.eru';
_M_sFNGame := 'Game1.eru';
_M_sGPlay := 'Start the Game';
_M_sGStop := 'End the game';
_M_sPPCName := 'Computer';
_M_sSkip := 'Skip a turn';
_M_cNetUsers := 'Total %d net users';
_M_cNetReadyCnt := 'Ready to play %d players';
_M_cNetErrLess := 'Not enought players to play';
_M_cNetErrMore := 'Too many players to play';
_M_cNetJoin := 'Join to game';
_S_cALoad := 'Autoload';
_S_cASave := 'Autosave';
_S_cTips := 'Show tool tips';
_S_cAnim := 'Animation of letters';
_S_cCaption := 'Game options';
_S_cDLevel := 'Difficulty level';
_S_cStore := 'Close';
_S_cTimeLimit := 'Time limit (seconds)';
_T_cPhrase := 'Enter your cool word:';
_T_mClear := 'Clear the leaders`s table?';
_W_WDirHor := 'Horizontally';
_W_WDirVer := 'Vertically';
_W_cApply := 'Ok';
_W_cCancelHint := 'Cancel the turn and delete this word from programs dictionary';
_W_cCancel := 'Cancel';
_W_cCaption := 'Input of a new word';
_W_cNoUse := 'Delete from dictionary';
_W_cNoUseConfirm := 'Delete this word from the dictionary permanently?';
_W_cPCNewWord := 'A new word of the COMPUTER';
_W_cSet := 'Set';
_W_mHelp := 'enter a new word that you want to place.'+#10+
'Previously you can assemble this word'+#10+
'in your pattern by moving the letters in the necessary order'+#10+
'and mark the LAST letter with selection.';
_W_mAbortAdd :=
'Since the computer is not allowed to use this word - so for you too :(';
_W_mIsAdd :=
'You have entered a word "%s", which is missed in the program`s dictionary.'+#10+
'To add this word in its(her) dictionary?';
_W_mReplaceAst := 'Insert a letter instead asterisk.';
_W_mSuggested := 'This word I already offered to you.'+#10+
'Will you think over other word?';
_W_mWWeight := '%d point%s';
end;
{------------------------------------------------------------------------------}
procedure DefineConstantsDEU;
begin
CurrentLanguage := lgDEU;
{ae AE oe OE ue UE ss}
ReadCharSet := [65..90,97..122, 228,196,246,214,252,220,223];
_A_cAuthor := 'Hersteller:';
_A_cCaption := 'Info';
_A_cName := 'Alexey Romanov';
_A_cOwner := 'Besitzer:';
_A_cOwnerName := _ProductOwner;
_A_cVersion := 'Version: '+_ProductVersion;
_C_cCaption := 'Wцrterbuch';
_C_cClear := 'Lцschen';
_C_cClose := 'SchlieЯen';
_C_cPoints := 'Punkte';
_C_cProductName := 'Erudit';
_C_cWord := 'Wort';
_D_FNActive := 'Active.txt';
_C_cTurn := 'Gang';
_D_FNINActive := 'Inactive.txt';
_D_FNotFound := 'Datei "%s" wurde nicht gefunden.';
_D_StateReading := 'Zustand: Neue Wцrter werden gelesen...';
_D_StateSaving := 'Zustand: Das alte Wцrterbuch wird gespeichert...';
_D_StateWaiting := 'Zustand: Ihre Wьnschene werden erwartet...';
_D_StateWriting := 'Zustand: Die neuen Wцrter werden ins Wцrterbuch gespeichert...';
_D_cAddWord := 'Wort einfьgen >>';
_D_cDelWord := 'Wort entfernen <<';
_D_cClear := 'Lцschen das Wцrterbuch';
_D_cFindWord := 'Wort suchen';
_D_cAdd := 'Einfьgen aus Detei';
_D_cSave := 'Speichern zu Detei';
_D_cTotalWords := 'Wцrterzahl insgesamt: %d';
_D_hFindWord :=
'Sie kцnnen die folgende Symbolen als Muster benutzen: "%" als jegliche Buchstabenmenge und "_" als eine jegliche Buchstabe'
;
_D_mExist := 'Dieses Wort gehцrt schon zu dem Wцrterbuch.';
_D_mIsClearAll := 'Wenn Sie alle Wцrter lцschen wollen, clicken Sie `OK`';
_G_cCaption := 'Tipp';
_G_cDir := 'Lage';
_G_cHelp := '"%s" - Computers Tip';
_G_cPosX := 'X';
_G_cPosY := 'Y';
_G_cThinking := 'Ьberlegen';
_G_cTotalPatts := 'Anzahl der Muster: %d';
_G_cTotalWords := 'Anzahl der Wцrter: %d';
_G_cWWeight := 'Wert';
_G_cavPatts := 'Liste der mцglichen Muster';
_G_cavWords := 'Liste der mцglichen Wцrter';
_G_mIPoints := 'Ich habe fьr Sie zusдtzlich %d Punkte erreicht...'+#10+
'An mich denke ich aber auch noch...';
_H_LGot := 'Punkte';
_H_LPName := 'Spieler';
_H_LTotal := 'Insgesamt';
_H_LUsed := 'Buchstaben';
_H_PAll := 'Alle Spieler';
_H_cTotal := '%d Zьge';
_H_claPlayer := 'Spielablauf fьr';
_K_cAll := 'Alle umtauschen';
_K_cCaption := 'Zug durchlassen';
_K_cChooseL := 'Wдhlen Sie Buchstaben zum Umtauschen';
_K_cContinue := 'Weiter spielen';
_K_cSkip := 'Zug verlassen';
_K_mIsSkip :=
'Wollen Sie wirklich den Zug durchlassen und dabei keine Buchstabe wechseln?';
_M_LgCenter := 'Das erste Wort soll durch die Mitte des Feldes durchgehen';
_M_LgContactR :=
'Das von Ihnen gestelltes Wort kommt mit dem RECHTSstehenden Wort in Berьhrung.'+#10+
'Das ist nicht zugelassen';
_M_LgContactL :=
'Das von Ihnen gestelltes Wort kommt mit dem LINKSstehenden Wort in Berьhrung.'+#10+
'Das ist nicht zugelassen';
_M_LgContactU :=
'Das von Ihnen gestelltes Wort kommt mit dem OBENstehenden Wort in Berьhrung.'+#10+
'Das ist nicht zugelassen';
_M_LgContactD :=
'Das von Ihnen gestelltes Wort kommt mit dem UNTENstehenden Wort in Berьhrung.'+#10+
'Das ist nicht zugelassen';
_M_LgNoCross := 'Die notwendige Kreuzung der Wцrter ist nicht stattgefunden';
_M_LgOut := 'Das von Ihnen gestelltes Wort ьberschreitet die Feldgrenze';
_M_LgNoL2Set := 'Sie haben keine Buchstabe benutzt';
_M_LgCrossError :=
'Die Buchstaben, die sich auf der Kreuzung des von Ihnen gestellten Wortes mit anderen Worten befinden, nicht zusammentreffen'
;
_M_ccb1 := 'Spieler 1';
_M_ccb2 := 'Spieler 2';
_M_ccb3 := 'Spieler 3';
_M_ccb4 := 'Spieler 4';
_M_ccb5 := 'Spieler 5';
_M_claPlayer := 'Spieler:';
_M_claPoints := 'Punkts:';
_M_claLetters := 'Buchstaben:';
_M_claTopNames := 'Top 10';
_M_ctbBack := 'Zug zurьck';
//nehmen';
_M_ctbExit := 'Beenden';
_M_ctbHelp := 'Hilfe';
_M_ctbHistory := 'Spielablauf';
_M_ctbLang := 'Language';
_M_ctbLoadGame := 'Spiel laden';
_M_ctbSaveGame := 'Spiel speichern';
_M_ctbSetup := 'Optionen';
_M_ctbSkip := 'Zug durchlassen';
_M_ctbSuggest := 'Computers Tip';
_M_ctbNet := 'Netzwerk Spiel';
_M_hPLetters := 'Buchstaben von %s';
_M_hPPoints := 'Punkte von %s';
_M_mBack := 'Nehmen den letzten Zug zurьck?';
_M_mBonus :=
'Sie haben alle %d Buchstaben benutzt und jetzt bekommen Sie zusдtzlich eine Premie - %d Punkte!'
;
_M_mDiffLVersion := 'Sie laden das Spiel mit andere Sprachversion.'+#10+
'Um dieses Spiel zu laden, wдhlen Sie "%s" als Sprache des Spieles.';
_M_mGIsStop := 'Das Spiel beenden?';
_M_mHIsNeed := 'Wollen Sie wirklich mein Tip fьr %d Punkt%s haben?';
_M_mINoWord :=
'Oops!... Mit solchen Buchstaben kann ich Ihnen auch nicht weiter helfen...';
_M_mIPoints := 'Ich habe extra %d Punkt%s erreicht';
_M_mISkip := 'Leider, muss ich den Zug durchlassen...';
_M_mLNot := '"%s" - ist nicht Ihr Buchstabe';
_M_mLNotPC := '"%s" - ist nicht Ihr Buchstabe, aber leider... spдt.';
_M_mLNotReg := '"%s" - ist kein legitim Buchstabe des Alphabetes';
_M_mPDelete := 'Den Spieler "%s verweisen?';
_M_mPEnter := 'Geben Sie bitte Name des Spielers ein';
_M_mPUNames := 'Geben Sie bitte nicht wiederholten Namen der Spieler ein';
_M_mPoints := 'Sie haben zusдtzlich %d Punkt%s erreicht';
_M_mTimeOut := 'Ihre Zeit ist aus und der Zug geht zum nдchste Spieler...';
_M_mWUsed :=
'Das Wort %s wurde schon frьher verwendet, ьberlegen Sie sich ein anderes Wort';
_M_sFFilter := 'Gespeicherte Spiel (*.eru)|*.eru';
_M_sFNGame := 'Game1.eru';
_M_sGPlay := 'Spiel starten';
_M_sGStop := 'Spiel beenden';
_M_sPPCName := 'Computer';
_M_sSkip := 'Zug durchlassen';
_M_cNetUsers := 'Insgesamt %d Netzwerkbenutzer';
_M_cNetReadyCnt := '%d Spieler fertig zu spielen';
{!}
_M_cNetErrLess := 'Zu wenig Spieler zu spielen';
{!}
_M_cNetErrMore := 'Zu viel Spieler zu spielen';
{!}
_M_cNetJoin := 'Sich anzuschlieЯen zu Spiel';
{!}
_S_cALoad := 'Autoladung';
_S_cASave := 'Autospeicherung';
_S_cTips := 'Zeigen Hilfetipps';
_S_cAnim := 'Animation bei der Umstellung der Buchstaben';
_S_cCaption := 'Optionen';
_S_cDLevel := 'Schwierigkeitsgrad';
_S_cStore := 'Speichern';
_S_cTimeLimit := 'Zeitbegrenzung (Sekunden)';
_T_cPhrase := 'Schreiben Sie Ihren Coolspruch:';
_T_mClear := 'Die Gewinnertabelle lцschen?';
_W_WDirHor := 'Waagerecht';
_W_WDirVer := 'Senkrecht';
_W_cApply := 'Ok';
_W_cCancel := 'Abbrechen';
_W_cCancelHint := 'Abbrechen den Zug und entfernen dises Wort von Wцrterbuch';
_W_cCaption := 'Neues Wort eingaben';
_W_cNoUse := 'Entf. aus dem Wцrterbuch';
_W_cNoUseConfirm := 'Entfernen dieses Wort vom Wцrterbuch?';
_W_cPCNewWord := 'Neues Wort des COMPUTERS';
_W_cSet := 'Benutzen';
_W_mHelp := 'eingeben Sie das neue Wort, das Sie stellen wollen.'+#10+
'Vorlaufig konnen Sie in Ihrer Schablone, durch Umstellung die Buchstaben'+#10+
'in der notigen Ordnung und Bezeichnung die letzte Buchstabe'+#10+
'mit der Markierung, dieses Wort bilden.';
_W_mAbortAdd := 'Wenn selbst Computer dieses Wort nicht benutzen darf,'+#10+
'selbstverstдndlich, dьrfen Sie es auch nicht... :(';
_W_mIsAdd := 'Das Wort "%s" ist nicht in Wцrterbuch gefunden.'+#10+
'Wollen Sie dieses Wort eintragen?';
_W_mReplaceAst := 'Geben Sie bitte gewьnschte Buchstabe ein statt "*"';
_W_mSuggested := 'Dieses Wort habe ich Ihnen schon angeboten.'+#10+
'Werden Sie nach anderes Wort suchen?';
_W_mWWeight := '%d Punkte';
end;
{------------------------------------------------------------------------------}
procedure LoadConstants;
var
f,i : integer;
Save_Cursor : TCursor;
CS : TFontCharset;
begin
{Charset}
case CurrentLanguage of
lgDEU:
CS := EASTEUROPE_CHARSET;
lgRUS:
CS := RUSSIAN_CHARSET;
else
CS := DEFAULT_CHARSET;
end;
{Font}
with Application do
for f:=0 to Application.ComponentCount-1 do
for i:=0 to Application.Components[f].ComponentCount-1 do
if Application.Components[f].Components[i].ClassName='TForm' then
if CurrentLanguage=lgRUS then
(Application.Components[f].Components[i] as TForm).Font.Name :=
'RS Sans Serif'
else
(Application.Components[f].Components[i] as TForm).Font.Name :=
'MS Sans Serif';
{}
with Application do
for f:=0 to Application.ComponentCount-1 do
for i:=0 to Application.Components[f].ComponentCount-1 do begin
//NO! if Application.Components[f].Components[i].ClassName='TCoolBar'
then
(Application.Components[f].Components[i] as TCoolBar).Font.Charset := CS;
if Application.Components[f].Components[i].ClassName='TButton' then
(Application.Components[f].Components[i] as TButton).Font.Charset := CS;
if Application.Components[f].Components[i].ClassName='TBitBtn' then
(Application.Components[f].Components[i] as TBitBtn).Font.Charset := CS;
if Application.Components[f].Components[i].ClassName='TLabel' then
(Application.Components[f].Components[i] as TLabel).Font.Charset := CS;
if Application.Components[f].Components[i].ClassName='TCheckbox' then
(Application.Components[f].Components[i] as TCheckbox).Font.Charset := CS;
if Application.Components[f].Components[i].ClassName='TStringGrid' then
(Application.Components[f].Components[i] as TStringGrid).Font.Charset := CS
;
if Application.Components[f].Components[i].ClassName='TSpeedButton' then
(Application.Components[f].Components[i] as TSpeedButton).Font.Charset :=
CS;
if Application.Components[f].Components[i].ClassName='TComboBox' then
(Application.Components[f].Components[i] as TComboBox).Font.Charset := CS;
if Application.Components[f].Components[i].ClassName='TMemo' then
(Application.Components[f].Components[i] as TMemo).Font.Charset := CS;
if Application.Components[f].Components[i].ClassName='TStaticText' then
(Application.Components[f].Components[i] as TStaticText).Font.Charset := CS
;
if Application.Components[f].Components[i].ClassName='TEdit' then
(Application.Components[f].Components[i] as TEdit).Font.Charset := CS;
if Application.Components[f].Components[i].ClassName='TListBox' then
(Application.Components[f].Components[i] as TListBox).Font.Charset := CS;
end;
if fm_Main.ToolBar1.Top>0 then begin
fm_Main.ToolBar1.Top := 0;
fm_Main.ToolBar2.Top := 27;
fm_Main.ToolBar3.Top := 29;
end;
fm_Main.CoolBar1.Enabled := false;
Save_Cursor := Screen.Cursor;
Screen.Cursor := crHourGlass;
try
fm_Main.meAphor.Caption := GetAphorism;
Players[1].Name.Items.Strings[Players[1].Name.Items.Count-1] := _M_sPPCName;
if fm_Main.cb2.Text='' then
fm_Main.cb2.Text := _M_sPPCName;
for i:=2 to MaxPlayers do
Players[i].Name.Items:=Players[1].Name.Items;
fm_About.Caption := _A_cCaption;
fm_About.laAuthorName.Caption := _A_cName;
fm_About.laAuthorName2.Caption := _A_cName;
fm_About.laVersion.Caption := _A_cVersion;
fm_About.laVersion2.Caption := _A_cVersion;
fm_DMan.Caption := _C_cCaption;
fm_DMan.btClear.Caption := _D_cClear;
fm_DMan.btLoad.Caption := _D_cAdd;
fm_DMan.btSave.Caption := _D_cSave;
fm_DMan.btAddWord.Caption := _D_cAddWord;
fm_DMan.btDelWord.Caption := _D_cDelWord;
fm_DMan.btFindWord.Caption := _D_cFindWord;
fm_DMan.edFindWord.Hint := _D_hFindWord;
fm_DMan.stState.Caption := _D_StateWaiting;
fm_Main.Caption := _C_cProductName;
(*
fm_Main.cb1.Text := _M_ccb1 ;
fm_Main.cb2.Text := _M_ccb2 ;
fm_Main.cb3.Text := _M_ccb3 ;
fm_Main.cb4.Text := _M_ccb4 ;
fm_Main.cb5.Text := _M_ccb5 ;
*)
fm_Main.laPlayers.Caption := _M_claPlayer;
fm_Main.laPoints.Caption := _M_claPoints;
fm_Main.laLetters.Caption := _M_claLetters;
fm_Main.btTop.Caption := _M_claTopNames;
fm_Main.tbAbout.Caption := _A_cCaption;
fm_Main.tbBack.Caption := _M_ctbBack;
fm_Main.tbDic.Caption := _C_cCaption;
fm_Main.tbExit.Caption := _M_ctbExit;
fm_Main.tbHelp.Caption := _M_ctbHelp;
fm_Main.tbHistory.Caption := _M_ctbHistory;
fm_Main.tbLang.Caption := _M_ctbLang;
fm_Main.tbLoadGame.Caption := _M_ctbLoadGame;
fm_Main.tbPlay.Caption := _M_sGPlay;
fm_Main.tbSaveGame.Caption := _M_ctbSaveGame;
fm_Main.tbSetup.Caption := _M_ctbSetup;
fm_Main.tbSkip.Caption := _M_ctbSkip;
fm_Main.tbSuggest.Caption := _M_ctbSuggest;
fm_Main.tbNet.Caption := _M_ctbNet;
fm_PMoves.Caption := _M_ctbHistory;
fm_PMoves.laPlayers.Caption := _H_claPlayer;
fm_Setup.Caption := _S_cCaption;
fm_Setup.btApply.Caption := _C_cClose;
fm_Setup.cbTips.Caption := _S_cTips;
fm_Setup.cbAnim.Caption := _S_cAnim;
fm_Setup.cbASave.Caption := _S_cASave;
fm_Setup.cbALoad.Caption := _S_cALoad;
fm_Setup.cbTime.Caption := _S_cTimeLimit;
fm_Setup.lbDLevel.Caption := _S_cDLevel;
fm_Skip.Caption := _K_cCaption;
fm_Skip.btCancel.Caption := _K_cContinue;
fm_Skip.btSkip.Caption := _K_cSkip;
fm_Skip.gb.Caption := _K_cChooseL;
fm_Skip.cbAll.Caption := _K_cAll;
fm_Suggest.Caption := _G_cCaption;
fm_Suggest.btApply.Caption := _W_cSet;
fm_Suggest.btCancel.Caption := _G_cThinking;
fm_Suggest.btUnUse.Caption := _W_cNoUse;
fm_Suggest.laPatts.Caption := _G_cavPatts;
fm_Suggest.laWords.Caption := _G_cavWords;
fm_Suggest.stPatts.Caption := _G_cTotalPatts;
fm_Suggest.stWords.Caption := _G_cTotalWords;
fm_Top.Caption := _M_claTopNames;
fm_Top.laPhrase.Caption := _T_cPhrase;
fm_Word.Caption := _W_cCaption;
fm_Word.btApply.Caption := _W_cSet;
fm_Word.btCancel.Caption := _G_cThinking;
fm_Word.btWDir.Caption := _W_WDirHor;
fm_WordC.Caption := _W_cPCNewWord;
fm_WordC.btApply.Caption := _W_cApply;
fm_WordC.btCancel.Caption := _W_cNoUse;
if ShowTips then
fm_WordC.btCancel.Hint := _W_cCancelHint;
fm_Main.Repaint;
fm_Main.ToolButton1.Width := Round((790 - 7*fm_Main.tbExit.Width)/6);
fm_Main.ToolButton2.Width := fm_Main.ToolButton1.Width;
fm_Main.ToolButton3.Width := fm_Main.ToolButton1.Width;
fm_Main.ToolButton4.Width := fm_Main.ToolButton1.Width;
fm_Main.ToolButton7.Width := fm_Main.ToolButton1.Width;
fm_Main.ToolButton5.Width := 790 - fm_Main.tbHistory.Left
- fm_Main.tbHistory.Width
- fm_Main.tbExit.Width;
fm_Main.ToolButton01.Width := Round((790 - 7*fm_Main.tbAbout.Width)/6);
fm_Main.ToolButton02.Width := fm_Main.ToolButton01.Width;
fm_Main.ToolButton03.Width := fm_Main.ToolButton01.Width;
fm_Main.ToolButton04.Width := fm_Main.ToolButton01.Width;
fm_Main.ToolButton05.Width := fm_Main.ToolButton01.Width;
fm_Main.ToolButton06.Width := 790
- fm_Main.tbHelp.Left
- fm_Main.tbHelp.Width
- fm_Main.tbAbout.Width;
fm_Main.Repaint;
finally
Screen.Cursor := Save_Cursor;
fm_Main.CoolBar1.Enabled := true;
end;
end;
{------------------------------------------------------------------------------}
procedure FontLoad;
var
Res : TResourceStream;
a : array[0..1023] of char;
c : cardinal;
begin
try
c := GetEnvironmentVariable(PChar('TEMP'), a, c);
sSysVarTEMP := strpas(a);
if sSysVarTEMP[length(sSysVarTEMP)]<>'\' then
sSysVarTEMP := sSysVarTEMP+'\';
Res := TResourceStream.Create(hInstance, 'FNT_RSERIF', Pchar('RSDATA'));
Res.SavetoFile(sSysVarTEMP+'rserife.fon');
Res.Free;
AddFontResource(PChar(sSysVarTEMP+'rserife.fon'));
SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
except;
fm_Main.Caption := fm_Main.Caption+': Exception: Resource font not loaded';
end;
end;
{------------------------------------------------------------------------------}
procedure FontErase;
begin
DeleteFile(sSysVarTEMP+'rserife.fon');
end;
{------------------------------------------------------------------------------}
end.