1 (************************************************************************ 2 * Copyright (C) 2014-2017, 2019 Paul Petrov * 3 * * 4 * This file is part of eMKatic. * 5 * * 6 * eMKatic is free software: you can redistribute it and/or modify * 7 * it under the terms of the GNU General Public License as published * 8 * by the Free Software Foundation, either version 3 of the License, * 9 * or (at your option) any later version. * 10 * * 11 * eMKatic is distributed in the hope that it will be useful, * 12 * but WITHOUT ANY WARRANTY; without even the implied warranty * 13 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * 14 * See the GNU General Public License for more details. * 15 * * 16 * You should have received a copy of the GNU General Public License * 17 * along with eMKatic. If not, see <http://www.gnu.org/licenses/>. * 18 * * 19 ************************************************************************) 20 21 unit ResStr; 22 23 {$mode objfpc}{$H+} 24 25 interface 26 27 type CP866str = type string(866); 28 29 resourcestring 30 31 { Main } 32 33 rsError='Ошибка'; rsCommandLineError='Ошибка в командной строке'; 34 rsRestartPromt='Изменения вступят в силу при следующем запуске приложения.'; 35 rsTotalForget='Удалить сохранённое состояние при закрытии приложения?'; 36 rsCompilerReqVer='(должна быть версия %s или выше)'; 37 rsCompilerUndefined='Компилятор не подключен!'; 38 rsCompilerConfirm='Подключить компилятор?'; 39 rsBadCompiler='Неудаётся запустить компилятор!'; 40 41 { Service } 42 43 rsMK152='MK-152'; rsMK152M='MK-152M'; rsMK1152='MK-1152'; 44 rsMK161='MK-161 (серый)'; rsMK161b='MK-161 (чёрный)'; 45 rsStopBit='Стоп-бит'; rsEvenParity='Чёт'; rsOddParity='Нечёт'; 46 rsProgStartPage='Начальная страница программы'; 47 rsSelectDiskFileTitle='Выбрать файл внешнего диска'; 48 rsSelectDiskFileFilter='Электронный диск (*.mkf)|*.mkf|Все файлы (*.*)|*.*'; 49 rsFileFilter='Все доступные форматы (*.mkl; *.mkp; *.mkd; *.mkb; *.mkt; *.mkn; *.mki)|*.mkl;*.mkp;*.mkd;*.mkb;*.mkt;*.mkn;*.mki|Исходный код программы (*.mkl)|*.mkl|Программа (*.mkp)|*.mkp|Десятичные данные (*.mkd)|*.mkd|Двоичные данные (*.mkb)|*.mkb|Текст (*.mkt)|*.mkt|Электронный блокнот (*.mkn)|*.mkn|Графический экран (*.mki)|*.mki|Графические файлы (*.bmp;*.xpm;*.png;*.pbm;*.pgm;*.ppm;*.jpeg;*.jpg;*.jpe;*.jfif;*.tif;*.tiff;*.gif)|*.bmp;*.xpm;*.png;*.pbm;*.pgm;*.ppm;*.jpeg;*.jpg;*.jpe;*.jfif;*.tif;*.tiff;*.gif|Все файлы (*.*)|*.*'; 50 rsImgFileFilter='Графические файлы (*.bmp;*.xpm;*.png;*.pbm;*.pgm;*.ppm;*.jpeg;*.jpg;*.jpe;*.jfif;*.tif;*.tiff;*.gif)|*.bmp;*.xpm;*.png;*.pbm;*.pgm;*.ppm;*.jpeg;*.jpg;*.jpe;*.jfif;*.tif;*.tiff;*.gif|Точечные рисунки (*.bmp)|*.bmp|Pixmap (*.xpm)|*.xpm|Portable Network Graphic (*.png)|*.png|Portable PixMap (*.pbm;*.pgm;*.ppm)|*.pbm;*.pgm;*.ppm|Joint Picture Expert Group (*.jpeg;*.jpg;*.jpe;*.jfif)|*.jpeg;*.jpg;*.jpe;*.jfif|Формат Tagged Image File (*.tif;*.tiff)|*.tif;*.tiff|Формат Graphics Interchange Format (*.gif)|*.gif|Все файлы (*.*)|*.*'; 51 rsCompilerFileFilter='MKL2MKP (mkl2mkp*)|mkl2mkp*|Все файлы (*)|*'; 52 rsCompilerFileFilterWin='MKL2MKP (mkl2mkp*.exe)|mkl2mkp*.exe|Исполняемые файлы (*.exe)|*.exe|Все файлы (*.*)|*.*'; 53 54 rsWrongFileSize='Неверный размер файла'; 55 rsImgImportError='Ошибка импорта изображения'; 56 rsDoubleImgImport='Попытка загрузки в графический экран второго изображения.'; 57 rsImgImportWrongMode='Неподходящий режим для загрузки изображений!'; 58 rsRegInput='Изменение регистра'; rsNewValPromt='Введите новое значение:'; 59 rsLoadImgToAddr='Загрузить изображение «%s» в %s по адресам %d-%d?'; 60 rsLoadImgAddrError='Изображение «%s» невозможно загрузить в %s c адреса %d'; 61 rsUnknownFileFormat='Неизвестный формат файла'; 62 rsBadFileFormat='Неподдерживаемый формат файла'; 63 rsProgMem='память программ'; rsBinArea='область двоичных данных'; 64 rsWrongImgSize='Изображение имеет недопустимые размеры.'; 65 rsProgPlaceError='Нельзя разместить программу'; 66 rsFileCorrupted='Некорректное содержимое файла'; 67 rsUnusualFileExt='Вы действительно хотите сохранить файл с нестандартным расширением?'; 68 rsFileSaveError='Не удалось сохранить файл'; 69 rsResetKeyLayout='Сбросить раскладку в значения по умолчанию?'; 70 rsLoadCover='Загрузить накладку'; 71 rsLoadImageAsCover='Размеры изображения превышают 128×64. Вы хотели загрузить накладку на клавиатуру?'; 72 rsMilliSec=' мс'; rsMicroSec=' мкс'; rsFPS=' к/с'; 73 74 rsComKeyboard='Клавиатура'; rsAdcProg='Переключение каналов через R9092'; 75 76 { SrcEdit} 77 78 rsSourceFileFilter='Исходный код программы (*.mkl)|*.mkl|Все файлы (*.*)|*.*'; 79 rsTemplateFileFilter='Шаблоны исходного кода (*.txt)|*.txt|Все файлы (*.*)|*.*'; 80 81 rsBookmark='Закладка'; rsString='строка'; 82 rsSrcModified='Исходный код изменён. Сохранить?'; 83 rsSrcGotoCaption='Перейти к строке'; 84 rsSrcGotoPromt='Введите номер строки:'; 85 rsSrcGotoError='Неверный ввод!'; 86 rsNoTemplates='Нет шаблонов'; 87 rsAddTemplates='Добавить группу'; rsDelTemplates='Удалить группу'; 88 rsDelTemplatesC='Удалить группу шаблонов «%s»?'; 89 rsTemplatesAdded='Добавлена группа шаблонов «%s»'; 90 91 rsUnknownFileFormat2='Файл «%s» имеет неизвестный формат!'; 92 rsBigImageSize='Размеры изображения в файле «%s» превышают 128×64!'; 93 rsImgImportContinue='Продолжить импорт изображений?'; 94 95 { Debug } 96 97 rsProgMemory='Память программ'; rsDecData='Десятичные данные'; 98 rsBinDataAndText='Двоичные данные и текст'; rsNotebook='Блокнот'; 99 rsFuncRegAcs='Обращения к регистрам функций'; 100 rsUniByteBuf='Универсальный байтовый буфер'; 101 rsSerialTxBuf='Буфер передачи последовательного порта'; 102 rsSerialRxBuf='Буфер приёма последовательного порта'; 103 104 rsReadCnts='счётчики чтений'; rsWriteCnts='счётчики записей'; 105 rsExecCnts='счётчики исполнения'; rsMnemonics='мнемоники'; 106 rsDecForms='десятичный вид'; rsHexForms='шестнадцатеричный вид'; 107 rsSymForms='символьный вид'; rs9thBit='девятый бит'; rsValues='значения'; 108 rsReadCnt='Чтения'; rsWriteCnt='Записи'; rsExecCnt='Исполнения'; 109 rsMnemonic='Мнемоника'; rsDecForm='Дес.'; rsHexForm='Шес.'; rsSymForm='Сим.'; 110 rs9th='9-й'; rsValue='Значение'; rsAddr='Адрес'; rsGroupAddr='Группа'; 111 rsInputError='Неверный ввод!'; rsEdit='Изменить'; rsZeroize='Обнулить'; 112 rsUnbreakAll='Снять остановы'; rsReadBreak='по чтению'; 113 rsWriteBreak='по записи'; rsChangeBreak='по изменению'; 114 rsExecBreak='исполнения'; 115 116 { Display } 117 118 rsKeyboardLocked='Клавиатура заблокирована'; 119 120 { EmuKbd } 121 122 rsCopy='Копировать'; rsPaste='Вставить'; rsSaveScr='Сохранить экран'; 123 rsLoad='Загрузить'; rsServiceWindow='Сервисное окно'; rsSrcEdit='Редактор'; 124 rsCover='Накладка'; rsPowerSw='Питание'; rsBacklight='Подсветка'; 125 rsDecSep=','; rsEnterExp='ВП'; rsStackUp='В↑'; rsStep='ШГ'; rsRunStop='С/П'; 126 rsReturnReset='В/О'; rsRecall='ИП'; rsStore='П'+''; rsGoto='БП'; 127 rsGosub='ПП'; rsRadGradDeg='Р-ГРД-Г'; rsEscape='ВЫХОД'; rsEnter='ВВОД'; 128 129 { Beeper } 130 131 rsWithoutSound='Без звука'; rsExternalUtil='Внешняя программа'; 132 rsWinBeepInThread='Функция Beep в отдельном потоке'; 133 rsPCMviaPortAudio='PCM-аудио через библиотеку PortAudio'; 134 rsRecommended='(Рекомендуется)'; 135 136 { MK_DOS } 137 138 rsRootDirectory='Головной каталог'; 139 140 { SysGUI } 141 142 rsSysYes='ДА'; rsSysNo='НЕТ'; rsLoadingPackage='Загрузка пакета файлов'; 143 rsProgram='Программа'; rsText='Текст'; rsBinData='Двоичные данные'; 144 rsPastingFile='Вставка файла'; rsEnterNameOf='Введите имя'; 145 146 rsMainMenu='ГЛАВНОЕ МЕНЮ'; rsDOS='ДОС'; rsCalc='Калькулятор'; 147 rsViewClear='Просмотр/очистка'; rsOtherFunc='Другие функции'; 148 rsDiskA='Диск A'; rsDiskB='Диск B'; 149 rsCapViewClear='ПРОСМОТР/ОЧИСТКА'; rsProgMemItem='Память программ'; 150 rsCapOtherFunc='ДРУГИЕ ФУНКЦИИ'; rsDiskOper='Операции с дисками'; 151 rsNotebookOper='Операции с блокнотом'; rsMemTest='Проверка памяти'; 152 rsTextEditor='Редактор текста'; rsProgVersion='Версия программы'; 153 rsCapDiskOper='ОПЕРАЦИИ С ДИСКАМИ'; rsCapDiskA='ДИСК A'; rsCapDiskB='ДИСК B'; 154 rsViewInfo='Посмотреть информацию'; rsFormatDisk='Отформатировать'; 155 rsRenameDisk='Назвать'; rsCheck='Проверить'; 156 rsCapNotebook='БЛОКНОТ'; 157 rsCopyTo='Скопировать на'; rsLoadFrom='Загрузить из'; 158 rsLoadFileQ='Загрузить файл?'; rsLoadPackageQ='Загрузить пакет?'; 159 rsCopyOne='Скопировать один'; rsCopyAll='Скопировать все'; 160 rsOverwriteQ='Перезаписать файл?'; 161 rsCantDelete='Удаление невозможно!'; rsDirNotEmpty='В каталоге есть файлы'; 162 163 rsNoMemTest_1='Негоже эмулятору'; rsNoMemTest_2='память проверять!'; 164 rsSaveTextQ='Сохранить текст?'; rsCreateProg='Создать файл программы'; 165 rsCreateDec='Создать десятичный файл'; rsCreateText='Создать текстовый файл'; 166 rsCreateBin='Создать двоичный файл'; rsPasteFile='Вставить из буфера'; 167 rsDirExists_1='Каталог с таким именем'; rsDirExists_2='уже существует!'; 168 rsFileExists_1='Файл с таким именем'; rsFileExists_2='уже существует!'; 169 rsViewContent='Посмотреть содержимое'; rsLoadPackage='Загрузить пакет'; 170 rsCopyToClipboard='Скопировать в буфер'; rsOverwrite='Перезаписать'; 171 rsDelete='Удалить'; rsDate='Дата'; rsDateFormat='%2:s.%1:s.%0:s'; 172 rsTotalClusters='Всего 2048 кластеров'; rsFrees='Свободных'; 173 rsOcupied='Занятых'; rsBads='Сбойных'; rsPages='Страниц'; 174 175 rsGroup='Группа:'; rsAddress='Адрес:'; 176 rsStartPage='Начальная страница:'; rsPagesCount='Число страниц:'; 177 rsClearProgQ='Очистить память программ?'; rsClearDataQ='Очистить данные?'; 178 rsClearTextQ='Очистить текст?'; rsClearNotebookQ='Очистить блокнот?'; 179 rsNoDisk='Диск отсутствует!'; rsNotebookData='Данные блокнота'; 180 rsOutOfDir='Нет места в каталоге!'; rsOutOfDisk='Нет места на диске!'; 181 rsClipboardIsEmpty='Буфер обмена пуст!'; rsLoadingFrom='Загрузка из'; 182 rsFormatting='Форматирование'; rsFilesWillDeleted='Файлы будут стёрты!'; 183 rsContinueQ='Продолжить?'; rsCopyingTo='Копирование на'; 184 rsLoadNotebookQ='Загрузить блокнот?'; rsNoData='Нет данных!'; 185 rsOfDisk='диска'; rsOfDir='каталога'; rsOfFile='файла'; 186 rsDeleteDirQ='Удалить каталог?'; rsDeleteFileQ='Удалить файл?'; 187 rsWithoutThis='Обойдёмся без этого'; 188 rsCreatingFile='Создание файла'; rsExit='Выход'; 189 rsSavingToMem='Запись в память'; rsLoadingFile='Загрузка файла'; 190 rsCopyingAll='Копирование всех'; rsCopyingFile='Копирование файла'; 191 rsOwerwritingFile='Перезапись файла'; rsClearing='Очистка'; 192 rsCapProgMem='ПАМЯТЬ ПРОГРАММ'; rsCapDecData='ДЕСЯТИЧНЫЕ ДАННЫЕ'; 193 rsCapBinData='ДВОИЧНЫЕ ДАННЫЕ'; rsCapText='ТЕКСТ'; 194 195 { Globe } 196 197 emWrongArg='Неверный аргумент'; emDivByZero='Деление на ноль'; 198 emOverflow='Переполнение'; emWrongAddr='Несуществующий адрес'; 199 emSubStack='Переполнен стек ПП'; emSepInEE='Ошибка ВП ,'; 200 emInterrupt='Переполнение очереди'; 201 rsDegrees='Г'+''; rsRadians='Р'+''; rsGrads='ГРД'; 202 rsModelFull='eMKatic - симулятор ЭКВМ'; rsVersionFull='Версия %s от %s'; 203 rsManufacturerFull='www: sourceforge.net/projects/emkatic/'; 204 205 { * * * } 206 207 procedure FillStrArray(out Dest:array of string; const Src:array of string); 208 overload; 209 procedure FillStrArray(out Dest:array of CP866str; const Src:array of string); 210 overload; 211 212 implementation 213 214 uses Math; 215 216 procedure FillStrArray(out Dest:array of string; const Src:array of string); 217 var i:integer; 218 begin 219 for i:=0 to min(high(Dest),high(Src)) do Dest[i]:=Src[i]; 220 end; 221 222 procedure FillStrArray(out Dest:array of CP866str; const Src:array of string); 223 var i:integer; 224 begin 225 for i:=0 to min(high(Dest),high(Src)) do Dest[i]:=Src[i]; 226 end; 227 228 end. 229 230