DEADSOFTWARE

Added new optios(thanks GranMinigun!), added .dfz extension(now default) and fixed...
[d2df-editor.git] / src / editor / g_language.pas
index 2a99675348972c5a22f5cfaff359af8fa72b4c1a..75d8787583f6dd9ae23e34dd4069d6bb3bf4dbf2 100644 (file)
@@ -1,6 +1,6 @@
-Unit g_language;
+Unit g_language;
 
-{$MODE Delphi}
+{$INCLUDE ../shared/a_modes.inc}
 
 Interface
 
@@ -62,6 +62,7 @@ Type
     I_ARRAY_ITEM_PLASMA_RIFLE,
     I_ARRAY_ITEM_BFG,
     I_ARRAY_ITEM_SUPER_MINIGUN,
+    I_ARRAY_ITEM_FLAMETHROWER,
     I_ARRAY_ITEM_CLIP,
     I_ARRAY_ITEM_AMMO_BOX,
     I_ARRAY_ITEM_4_SHELLS,
@@ -70,6 +71,7 @@ Type
     I_ARRAY_ITEM_ROCKET_BOX,
     I_ARRAY_ITEM_CELL,
     I_ARRAY_ITEM_LARGE_CELL,
+    I_ARRAY_ITEM_FUELCAN,
     I_ARRAY_ITEM_BACKPACK,
     I_ARRAY_ITEM_KEY_RED,
     I_ARRAY_ITEM_KEY_GREEN,
@@ -94,6 +96,7 @@ Type
     I_ARRAY_SHOT_BFG,
     I_ARRAY_SHOT_EXPL,
     I_ARRAY_SHOT_BFGEXPL,
+    I_ARRAY_SHOT_FLAME,
 
     I_ARRAY_MON_DEMON,
     I_ARRAY_MON_IMP,
@@ -244,7 +247,11 @@ Type
     I_PROP_TR_SHOT_TO_4,
     I_PROP_TR_SHOT_TO_5,
     I_PROP_TR_SHOT_TO_6,
-    I_PROP_TR_SHOT_ALLMAP,
+    I_PROP_TR_SHOT_AIM,
+    I_PROP_TR_SHOT_AIM_0,
+    I_PROP_TR_SHOT_AIM_1,
+    I_PROP_TR_SHOT_AIM_2,
+    I_PROP_TR_SHOT_AIM_3,
     I_PROP_TR_SHOT_AMMO,
     I_PROP_TR_SHOT_RELOAD,
     I_PROP_TR_SHOT_SIGHT,
@@ -298,12 +305,15 @@ Type
     I_MSG_DEL_TEXTURE,
     I_MSG_DEL_TEXTURE_PROMT,
     I_MSG_DEL_TEXTURE_CANT,
+    I_MSG_DEL_RECENT,
+    I_MSG_DEL_RECENT_PROMT,
     I_MSG_CLEAR_MAP,
     I_MSG_CLEAR_MAP_PROMT,
     I_MSG_DELETE_MAP,
     I_MSG_DELETE_MAP_PROMT,
     I_MSG_MAP_DELETED,
     I_MSG_MAP_DELETED_PROMT,
+    I_MSG_REOPEN_MAP_PROMT,
     I_MSG_EXEC_ERROR,
     I_MSG_SOUND_ERROR,
     I_MSG_WAD_ERROR,
@@ -329,6 +339,7 @@ Type
     I_MENU_FILE_SAVE,
     I_MENU_FILE_SAVE_AS,
     I_MENU_FILE_OPEN_WAD,
+    I_MENU_FILE_REOPEN,
     I_MENU_FILE_SAVE_MINI,
     I_MENU_FILE_DELETE,
     I_MENU_FILE_PACK_MAP,
@@ -404,7 +415,12 @@ Type
     I_CAP_SAVE,
     I_CAP_MINI,
     I_CAP_SELECT,
-    
+    I_CAP_OPEN,
+    I_CAP_REMOVE,
+    I_CAP_TEXTURE,
+    I_CAP_ANIMATION,
+    I_CAP_STAT_SELECTED,
+
     I_CTRL_PROP_KEY,
     I_CTRL_PROP_VALUE,
     I_CTRL_PANELS,
@@ -473,6 +489,7 @@ Type
     I_CTRL_ES_GRID,
     I_CTRL_ES_TEXTURE,
     I_CTRL_ES_PANEL_SIZE,
+    I_CTRL_ES_CHECKERBOARD,
 
     I_CTRL_PACK_TEXTURES,
     I_CTRL_PACK_SKY,
@@ -520,11 +537,14 @@ Type
 
     I_LAB_ES_GRID,
     I_LAB_ES_GRID_COLOR,
+    I_LAB_ES_GRID_SIZE,
     I_LAB_ES_BACK,
     I_LAB_ES_PREVIEW,
     I_LAB_ES_MINIMAP,
     I_LAB_ES_RECENT,
     I_LAB_ES_LANGUAGE,
+    I_LAB_ES_COMPRESS,
+    I_LAB_ES_BACKUP,
 
     I_LAB_PACK_SAVE_TO,
     I_LAB_PACK_MAP_NAME,
@@ -602,7 +622,8 @@ Const
   LANGUAGE_ENGLISH_N = 2;
 
 Var
-  _lc: Array [TStrings_Locale] of String;
+  _lc: Array [TStrings_Locale] of String;  // for the GUI (in UTF-8)
+  _glc: Array [TStrings_Locale] of String; // for GL text (in CP1251)
 
   BoolNames: Array [False..True] of String;
   DirNames: Array [D_LEFT..D_RIGHT] of String;
@@ -628,7 +649,7 @@ Uses
   f_addresource_sky, f_addresource_sound,
   f_addresource_texture, f_choosetype, f_keys, f_mapcheck,
   f_mapoptions, f_maptest, f_mapoptimization, f_options,
-  f_packmap, f_savemap, f_saveminimap, f_selectmap, Forms;
+  f_packmap, f_savemap, f_saveminimap, f_selectmap, Forms, utils;
 
 Const
   g_lang_default: Array [TStrings_Locale] of Array [1..3] of String = (
@@ -701,7 +722,7 @@ Const
     ('ARRAY ITEM LARGE MEDKIT',        'Medikit',
                                        'Большая аптечка'),
     ('ARRAY ITEM BLACK MEDKIT',        'Berserk Pack',
-                                       'Черная аптечка'),
+                                       'Чёрная аптечка'),
     ('ARRAY ITEM GREEN ARMOR',         'Green Armor',
                                        'Зелёная броня'),
     ('ARRAY ITEM BLUE ARMOR',          'Blue Armor',
@@ -732,6 +753,8 @@ Const
                                        'BFG9000'),
     ('ARRAY ITEM SUPER MINIGUN',       'Super Chaingun',
                                        'Суперпулемёт'),
+    ('ARRAY ITEM FLAMETHROWER',        'Flamethrower',
+                                       'Огнемёт'),
     ('ARRAY ITEM CLIP',                'Clip',
                                        'Патроны'),
     ('ARRAY ITEM AMMO BOX',            'Box of Bullets',
@@ -748,12 +771,14 @@ Const
                                        'Батарейка'),
     ('ARRAY ITEM LARGE CELL',          'Energy Cell Pack',
                                        'Батарея'),
+    ('ARRAY ITEM FUELCAN',             'Fuel Canister',
+                                       'Канистра'),
     ('ARRAY ITEM BACKPACK',            'Backpack',
                                        'Рюкзак'),
     ('ARRAY ITEM KEY RED',             'Red Key',
                                        'Красный ключ'),
     ('ARRAY ITEM KEY GREEN',           'Green Key',
-                                       'Зеленый ключ'),
+                                       'Зелёный ключ'),
     ('ARRAY ITEM KEY BLUE',            'Blue Key',
                                        'Синий ключ'),
     ('ARRAY ITEM BOTTLE',              'Health Globe',
@@ -768,7 +793,7 @@ Const
     ('ARRAY SHOT PISTOL',              'Pistol shot',
                                        'Выстрел пистолета'),
     ('ARRAY SHOT BULLET',              'Chaingun shot',
-                                       'Выстрел пулемета'),
+                                       'Выстрел пулемёта'),
     ('ARRAY SHOT SHOTGUN',             'Shotgun shot',
                                        'Выстрел ружья'),
     ('ARRAY SHOT SSG',                 'Super Shotgun shot',
@@ -795,6 +820,8 @@ Const
                                        'Взрыв'),
     ('ARRAY SHOT BFGEXPL',             'BFG explosion',
                                        'Взрыв BFG'),
+    ('ARRAY SHOT FLAME',               'Flame',
+                                       'Огонь'),
 
     ('ARRAY MON DEMON',                'Pinky',
                                        'Демон'),
@@ -939,7 +966,7 @@ Const
     ('PROP TR TYPE',                   'Trigger Type',
                                        'Тип триггера'),
     ('PROP TR ENABLED',                'Enabled',
-                                       'Включен'),
+                                       'Включён'),
     ('PROP TR TEXTURE PANEL',          'Textured Panel',
                                        'Панель с текстурой'),
     ('PROP TR ACTIVATION',             'Activation Type',
@@ -1090,8 +1117,16 @@ Const
                                        'Монстры, игроки'),
     ('PROP TR SHOT TO 6',              'Players, monsters',
                                        'Игроки, монстры'),
-    ('PROP TR SHOT ALLMAP',            'On entire map',
+    ('PROP TR SHOT AIM',               'Auto-aiming mode',
+                                       'Режим автонаведения'),
+    ('PROP TR SHOT AIM 0',             'Trigger area',
+                                       'Область триггера'),
+    ('PROP TR SHOT AIM 1',             'Entire map',
                                        'По всей карте'),
+    ('PROP TR SHOT AIM 2',             'Trace trigger area',
+                                       'Область триггера с трассировкой'),
+    ('PROP TR SHOT AIM 3',             'Trace entire map',
+                                       'Вся карта с трассировкой'),
     ('PROP TR SHOT AMMO',              'Ammo limit',
                                        'Кол-во патронов'),
     ('PROP TR SHOT RELOAD',            'Reload interval (in ticks)',
@@ -1197,6 +1232,10 @@ Const
                                        'Удалить текстуру "%s" ?'),
     ('MSG DEL TEXTURE CANT',           'Can''t delete texture in use. Replace it on all panels with this texture.',
                                        'Нельзя удалить используемую текстуру. Замените её на каждой панели с ней.'),
+    ('MSG DEL RECENT',                 'File does not longer exist',
+                                       'Этого файла больше нет'),
+    ('MSG DEL RECENT PROMT',           'Remove entry from recent list?',
+                                       'Убрать запись из истории?'),
     ('MSG CLEAR MAP',                  'New map',
                                        'Новая карта'),
     ('MSG CLEAR MAP PROMT',            'Clear the entire map?',
@@ -1209,7 +1248,9 @@ Const
                                        'Карта удалена'),
     ('MSG MAP DELETED PROMT',          'Map "%s" is deleted',
                                        'Карта "%s" удалена'),
-    ('MSG EXEC ERROR',                 'Game execution error',
+    ('MSG REOPEN MAP PROMT',           'Reopen this map?',
+                                       'Загрузить карту заново?'),
+    ('MSG EXEC ERROR',                 'Game start error',
                                        'Ошибка запуска игры'),
     ('MSG SOUND ERROR',                'Can''t play sound',
                                        'Не удалось проиграть звук'),
@@ -1257,6 +1298,8 @@ Const
                                        'Сохранить карту как...'),
     ('MENU FILE OPEN WAD',             'Select Map',
                                        'Выбрать карту'),
+    ('MENU FILE REOPEN',               'Reopen Map',
+                                       'Открыть заново'),
     ('MENU FILE SAVE MINI',            'Save Mini-map',
                                        'Сохранить мини-карту'),
     ('MENU FILE DELETE',               'Delete Map from WAD...',
@@ -1279,7 +1322,7 @@ Const
     ('MENU EDIT SELECT ALL',           'Select All',
                                        'Выделить всё'),
     ('MENU EDIT TO FORE',              'Bring to Front',
-                                       'Передвинуть вперед'),
+                                       'Передвинуть вперёд'),
     ('MENU EDIT TO BACK',              'Send to Back',
                                        'Передвинуть назад'),
 
@@ -1398,6 +1441,16 @@ Const
                                        'Сохранить мини-карту'),
     ('CAP SELECT',                     'Select Map',
                                        'Выберите карту'),
+    ('CAP OPEN',                       'Open Map',
+                                       'Открыть карту'),
+    ('CAP REMOVE',                     'Remove Map',
+                                       'Удалить карту'),
+    ('CAP TEXTURE',                    'Texture: %dx%d',
+                                       'Текстура: %dx%d'),
+    ('CAP ANIMATION',                  'Animation: %dx%d, %d frames',
+                                       'Анимация: %dx%d, %d кадров'),
+    ('CAP STAT SELECTED',              'Selected objects: %d',
+                                       'Выделено объектов: %d'),
 
     ('CTRL PROP KEY',                  'Property',
                                        'Свойство'),
@@ -1457,7 +1510,7 @@ Const
     ('CTRL KEYS RED',                  'Red Key',
                                        'Красный ключ'),
     ('CTRL KEYS GREEN',                'Green Key',
-                                       'Зеленый ключ'),
+                                       'Зелёный ключ'),
     ('CTRL KEYS BLUE',                 'Blue Key',
                                        'Синий ключ'),
     ('CTRL KEYS TEAM RED',             'Red Team',
@@ -1518,7 +1571,7 @@ Const
                                        'Монстры в DM'),
     ('CTRL LAUNCH CLOSE',              'Close the game after exiting the map',
                                        'Закрыть игру после выхода из карты'),
-    ('CTRL LAUNCH OPEN',               'Select Doom 2D: Forever .exe',
+    ('CTRL LAUNCH OPEN',               'Select Doom 2D: Forever executable',
                                        'Выберите файл игры Doom 2D: Forever'),
 
     ('CTRL ES GRID',                   'Show Grid',
@@ -1527,6 +1580,8 @@ Const
                                        'Показывать текстуру панели'),
     ('CTRL ES PANEL SIZE',             'Show Panel Size',
                                        'Показывать размеры панели '),
+    ('CTRL ES CHECKERBOARD',           'Use Checkerboard',
+                                       'Использовать шахматку'),
 
     ('CTRL PACK TEXTURES',             'Textures',
                                        'Текстуры'),
@@ -1595,7 +1650,7 @@ Const
                                        'Ширина:'),
     ('LAB SETS HEIGHT',                'Height:',
                                        'Высота:'),
-    ('LAB SETS MAPMOVE',               'Direction of shifting map objects:',
+    ('LAB SETS MAPMOVE',               'Direction to shift map objects:',
                                        'Направление смещения объектов карты:'),
     ('LAB SETS SNAPPING',              'Preserve snapping',
                                        'Сохранять привязку'),
@@ -1613,6 +1668,8 @@ Const
                                        'Шаг сетки:'),
     ('LAB ES GRID COLOR',              'Grid Color:',
                                        'Цвет сетки:'),
+    ('LAB ES GRID SIZE',               'Grid Dot Size:',
+                                       'Размер точек сетки:'),
     ('LAB ES BACK',                    'Background Color:',
                                        'Цвет фона:'),
     ('LAB ES PREVIEW',                 'Texture Preview Background Color:',
@@ -1623,6 +1680,10 @@ Const
                                        'Запоминать последних открытых карт:'),
     ('LAB ES LANGUAGE',                'Language:',
                                        'Язык:'),
+    ('LAB ES COMPRESS',                'Compress archive when save',
+                                       'Сжимать архив при сохранении'),
+    ('LAB ES BACKUP',                  'Make backup before save',
+                                       'Резервная копия при сохранении'),
 
     ('LAB PACK SAVE TO',               'Save to:',
                                        'Сохранить в:'),
@@ -1741,10 +1802,10 @@ Const
     ('WAD SPECIAL TEXS',               '<EXTRA TEXTURES>',
                                        '<СПЕЦТЕКСТУРЫ>'),
 
-    ('FILE FILTER ALL',                'Doom 2D: Forever Maps (*.wad)|*.wad|Old Doom 2D: Forever 0.30 Maps (*.ini)|*.ini|All Files (*.*)|*.*',
-                                       'Карты Doom 2D: Forever (*.wad)|*.wad|Старые карты Doom 2D: Forever 0.30 (*.ini)|*.ini|Все файлы (*.*)|*.*'),
-    ('FILE FILTER WAD',                'Doom 2D: Forever Maps (*.wad)|*.wad|All Files (*.*)|*.*',
-                                       'Карты Doom 2D: Forever (*.wad)|*.wad|Все файлы (*.*)|*.*'),
+    ('FILE FILTER ALL',                'Doom 2D: Forever Maps (*.dfz, *.wad)|*.dfz;*.wad|Doom 2D: Forever 0.30 Maps (*.ini)|*.ini|Все файлы (*.*)|*.*',
+                                       'Карты Doom 2D: Forever (*.dfz, *.wad)|*.dfz;*.wad|Старые карты Doom 2D: Forever 0.30 (*.ini)|*.ini|Все файлы (*.*)|*.*'),
+    ('FILE FILTER WAD',                'Doom 2D: Forever Maps (*.dfz)|*.dfz|Doom 2D: Forever Maps (*.wad)|*.wad|Все файлы (*.*)|*.*',
+                                       'Карты Doom 2D: Forever (*.dfz)|*.dfz|Карты Doom 2D: Forever (*.wad)|*.wad|Все файлы (*.*)|*.*'),
 
     ('EDITOR TITLE',                   'Doom 2D: Forever Map Editor',
                                        'Редактор карт Doom 2D: Forever'),
@@ -1819,6 +1880,7 @@ begin
   ItemNames[ITEM_WEAPON_PLASMA] := _lc[I_ARRAY_ITEM_PLASMA_RIFLE];
   ItemNames[ITEM_WEAPON_BFG] := _lc[I_ARRAY_ITEM_BFG];
   ItemNames[ITEM_WEAPON_SUPERPULEMET] := _lc[I_ARRAY_ITEM_SUPER_MINIGUN];
+  ItemNames[ITEM_WEAPON_FLAMETHROWER] := _lc[I_ARRAY_ITEM_FLAMETHROWER];
   ItemNames[ITEM_AMMO_BULLETS] := _lc[I_ARRAY_ITEM_CLIP];
   ItemNames[ITEM_AMMO_BULLETS_BOX] := _lc[I_ARRAY_ITEM_AMMO_BOX];
   ItemNames[ITEM_AMMO_SHELLS] := _lc[I_ARRAY_ITEM_4_SHELLS];
@@ -1827,6 +1889,7 @@ begin
   ItemNames[ITEM_AMMO_ROCKET_BOX] := _lc[I_ARRAY_ITEM_ROCKET_BOX];
   ItemNames[ITEM_AMMO_CELL] := _lc[I_ARRAY_ITEM_CELL];
   ItemNames[ITEM_AMMO_CELL_BIG] := _lc[I_ARRAY_ITEM_LARGE_CELL];
+  ItemNames[ITEM_AMMO_FUELCAN] := _lc[I_ARRAY_ITEM_FUELCAN];
   ItemNames[ITEM_AMMO_BACKPACK] := _lc[I_ARRAY_ITEM_BACKPACK];
   ItemNames[ITEM_KEY_RED] := _lc[I_ARRAY_ITEM_KEY_RED];
   ItemNames[ITEM_KEY_GREEN] := _lc[I_ARRAY_ITEM_KEY_GREEN];
@@ -1854,6 +1917,7 @@ begin
   ShotNames[TRIGGER_SHOT_BFG] := _lc[I_ARRAY_SHOT_BFG];
   ShotNames[TRIGGER_SHOT_EXPL] := _lc[I_ARRAY_SHOT_EXPL];
   ShotNames[TRIGGER_SHOT_BFGEXPL] := _lc[I_ARRAY_SHOT_BFGEXPL];
+  ShotNames[TRIGGER_SHOT_FLAME] := _lc[I_ARRAY_SHOT_FLAME];
 
 // Названия монстров:
   MonsterNames[MONSTER_DEMON] := _lc[I_ARRAY_MON_DEMON];
@@ -1932,6 +1996,8 @@ begin
     lbItemList.Items.Add(ItemNames[ITEM_HELMET]);
     lbItemList.Items.Add(ItemNames[ITEM_JETPACK]);
     lbItemList.Items.Add(ItemNames[ITEM_INVIS]);
+    lbItemList.Items.Add(ItemNames[ITEM_WEAPON_FLAMETHROWER]);
+    lbItemList.Items.Add(ItemNames[ITEM_AMMO_FUELCAN]);
 
     lbMonsterList.Clear();
     for i := MONSTER_DEMON to MONSTER_MAN do
@@ -1987,6 +2053,7 @@ begin
     miSaveMap.Caption := _lc[I_MENU_FILE_SAVE];
     miSaveMapAs.Caption := _lc[I_MENU_FILE_SAVE_AS];
     miOpenWadMap.Caption := _lc[I_MENU_FILE_OPEN_WAD];
+    miReopenMap.Caption := _lc[I_MENU_FILE_REOPEN];
     miSaveMiniMap.Caption := _lc[I_MENU_FILE_SAVE_MINI];
     miDeleteMap.Caption := _lc[I_MENU_FILE_DELETE];
     miPackMap.Caption := _lc[I_MENU_FILE_PACK_MAP];
@@ -2268,8 +2335,12 @@ begin
     cbShowDots.Caption := _lc[I_CTRL_ES_GRID];
     cbShowTexture.Caption := _lc[I_CTRL_ES_TEXTURE];
     cbShowSize.Caption := _lc[I_CTRL_ES_PANEL_SIZE];
+    cbCheckerboard.Caption := _lc[I_CTRL_ES_CHECKERBOARD];
+    cbCompress.Caption := _lc[I_LAB_ES_COMPRESS];
+    cbBackup.Caption := _lc[I_LAB_ES_BACKUP];
     LabelGrid.Caption := _lc[I_LAB_ES_GRID];
     LabelGridCol.Caption := _lc[I_LAB_ES_GRID_COLOR];
+    LabelGridSize.Caption := _lc[I_LAB_ES_GRID_SIZE];
     LabelBack.Caption := _lc[I_LAB_ES_BACK];
     LabelPreview.Caption := _lc[I_LAB_ES_PREVIEW];
     LabelMinimap.Caption := _lc[I_LAB_ES_MINIMAP];
@@ -2441,7 +2512,11 @@ begin
     n := LANGUAGE_RUSSIAN_N;
 
   for i := Low(TStrings_Locale) to High(TStrings_Locale) do
+  begin
     _lc[i] := g_lang_default[i][n];
+    // have to cache a CP1251 version for GL text
+    _glc[i] := utf8to1251(g_lang_default[i][n]);
+  end;
 
   SetupArrays();
   SetupCaptions();
@@ -2463,4 +2538,4 @@ begin
   CloseFile(F);
 end;
 
-End.
\ No newline at end of file
+End.