DEADSOFTWARE

Main: Prompt to remove file from recent list
[d2df-editor.git] / src / editor / g_language.pas
index 2a99675348972c5a22f5cfaff359af8fa72b4c1a..8c6de06a7cf7209bc3ff500affa6087aba12a6f9 100644 (file)
@@ -1,6 +1,6 @@
-Unit g_language;
+Unit g_language;
 
 
-{$MODE Delphi}
+{$INCLUDE ../shared/a_modes.inc}
 
 Interface
 
 
 Interface
 
@@ -62,6 +62,7 @@ Type
     I_ARRAY_ITEM_PLASMA_RIFLE,
     I_ARRAY_ITEM_BFG,
     I_ARRAY_ITEM_SUPER_MINIGUN,
     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,
     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_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,
     I_ARRAY_ITEM_BACKPACK,
     I_ARRAY_ITEM_KEY_RED,
     I_ARRAY_ITEM_KEY_GREEN,
@@ -244,7 +246,11 @@ Type
     I_PROP_TR_SHOT_TO_4,
     I_PROP_TR_SHOT_TO_5,
     I_PROP_TR_SHOT_TO_6,
     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,
     I_PROP_TR_SHOT_AMMO,
     I_PROP_TR_SHOT_RELOAD,
     I_PROP_TR_SHOT_SIGHT,
@@ -298,6 +304,8 @@ Type
     I_MSG_DEL_TEXTURE,
     I_MSG_DEL_TEXTURE_PROMT,
     I_MSG_DEL_TEXTURE_CANT,
     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_CLEAR_MAP,
     I_MSG_CLEAR_MAP_PROMT,
     I_MSG_DELETE_MAP,
@@ -602,7 +610,8 @@ Const
   LANGUAGE_ENGLISH_N = 2;
 
 Var
   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;
 
   BoolNames: Array [False..True] of String;
   DirNames: Array [D_LEFT..D_RIGHT] of String;
@@ -628,7 +637,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_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 = (
 
 Const
   g_lang_default: Array [TStrings_Locale] of Array [1..3] of String = (
@@ -732,6 +741,8 @@ Const
                                        'BFG9000'),
     ('ARRAY ITEM SUPER MINIGUN',       'Super Chaingun',
                                        'Суперпулемёт'),
                                        'BFG9000'),
     ('ARRAY ITEM SUPER MINIGUN',       'Super Chaingun',
                                        'Суперпулемёт'),
+    ('ARRAY ITEM FLAMETHROWER',        'Flamethrower',
+                                       'Огнемёт'),
     ('ARRAY ITEM CLIP',                'Clip',
                                        'Патроны'),
     ('ARRAY ITEM AMMO BOX',            'Box of Bullets',
     ('ARRAY ITEM CLIP',                'Clip',
                                        'Патроны'),
     ('ARRAY ITEM AMMO BOX',            'Box of Bullets',
@@ -748,6 +759,8 @@ Const
                                        'Батарейка'),
     ('ARRAY ITEM LARGE CELL',          'Energy Cell Pack',
                                        'Батарея'),
                                        'Батарейка'),
     ('ARRAY ITEM LARGE CELL',          'Energy Cell Pack',
                                        'Батарея'),
+    ('ARRAY ITEM FUELCAN',             'Fuel Canister',
+                                       'Канистра'),
     ('ARRAY ITEM BACKPACK',            'Backpack',
                                        'Рюкзак'),
     ('ARRAY ITEM KEY RED',             'Red Key',
     ('ARRAY ITEM BACKPACK',            'Backpack',
                                        'Рюкзак'),
     ('ARRAY ITEM KEY RED',             'Red Key',
@@ -1090,8 +1103,16 @@ Const
                                        'Монстры, игроки'),
     ('PROP TR SHOT TO 6',              'Players, monsters',
                                        'Игроки, монстры'),
                                        'Монстры, игроки'),
     ('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)',
     ('PROP TR SHOT AMMO',              'Ammo limit',
                                        'Кол-во патронов'),
     ('PROP TR SHOT RELOAD',            'Reload interval (in ticks)',
@@ -1197,6 +1218,10 @@ Const
                                        'Удалить текстуру "%s" ?'),
     ('MSG DEL TEXTURE CANT',           'Can''t delete texture in use. Replace it on all panels with this texture.',
                                        'Нельзя удалить используемую текстуру. Замените её на каждой панели с ней.'),
                                        'Удалить текстуру "%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?',
     ('MSG CLEAR MAP',                  'New map',
                                        'Новая карта'),
     ('MSG CLEAR MAP PROMT',            'Clear the entire map?',
@@ -1819,6 +1844,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_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];
   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 +1853,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_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];
   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];
@@ -1932,6 +1959,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_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
 
     lbMonsterList.Clear();
     for i := MONSTER_DEMON to MONSTER_MAN do
@@ -2441,7 +2470,11 @@ begin
     n := LANGUAGE_RUSSIAN_N;
 
   for i := Low(TStrings_Locale) to High(TStrings_Locale) do
     n := LANGUAGE_RUSSIAN_N;
 
   for i := Low(TStrings_Locale) to High(TStrings_Locale) do
+  begin
     _lc[i] := g_lang_default[i][n];
     _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();
 
   SetupArrays();
   SetupCaptions();
@@ -2463,4 +2496,4 @@ begin
   CloseFile(F);
 end;
 
   CloseFile(F);
 end;
 
-End.
\ No newline at end of file
+End.