DEADSOFTWARE

nuke g_respawn_items
[d2df-sdl.git] / src / game / g_language.pas
index a3e7aa7548fa953f49e7d231967321d21e2ce8ef..8d5ea098ae9488b74e9b9737620127b330bf391a 100644 (file)
@@ -1,9 +1,8 @@
-(* Copyright (C)  DooM 2D:Forever Developers
+(* Copyright (C)  Doom 2D: Forever Developers
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * the Free Software Foundation, version 3 of the License ONLY.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -13,7 +12,8 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *)
-{$INCLUDE g_amodes.inc}
+{$INCLUDE ../shared/a_modes.inc}
+{$SCOPEDENUMS OFF}
 unit g_language;
 
 interface
@@ -162,6 +162,8 @@ type
     I_MENU_GOAL_LIMIT,
     I_MENU_MAX_LIVES,
     I_MENU_TEAM_DAMAGE,
+    I_MENU_ITEM_RESPAWN_TIME,
+    I_MENU_DEATHMATCH_KEYS,
     I_MENU_ENABLE_EXITS,
     I_MENU_WEAPONS_STAY,
     I_MENU_ENABLE_MONSTERS,
@@ -205,6 +207,12 @@ type
     I_MENU_CONTROL_JOYSTICKS,
     I_MENU_CONTROL_DEADZONE,
 
+    I_MENU_CONTROL_TOUCH,
+    I_MENU_CONTROL_TOUCH_ALT,
+    I_MENU_CONTROL_TOUCH_FIRE,
+    I_MENU_CONTROL_TOUCH_SIZE,
+    I_MENU_CONTROL_TOUCH_OFFSET,
+
     I_MENU_CONTROL_GLOBAL,
     I_MENU_CONTROL_SCREENSHOT,
     I_MENU_CONTROL_STAT,
@@ -252,6 +260,14 @@ type
     I_MENU_GAME_CHAT_TYPE_ADV,
     I_MENU_GAME_CHAT_TYPE_COLOR,
     I_MENU_GAME_CHAT_TYPE_TEXTURE,
+    I_MENU_GAME_PLAYER_INDICATOR,
+    I_MENU_GAME_INDICATOR_NONE,
+    I_MENU_GAME_INDICATOR_OWN,
+    I_MENU_GAME_INDICATOR_ALL,
+    I_MENU_GAME_INDICATOR_STYLE,
+    I_MENU_GAME_INDICATOR_ARROW,
+    I_MENU_GAME_INDICATOR_NAME,
+    I_MENU_GAME_SCALE_FACTOR,
 
     I_MENU_VIDEO_RESOLUTION,
     I_MENU_VIDEO_BPP,
@@ -274,6 +290,7 @@ type
     I_MENU_SOUND_INACTIVE_SOUNDS_OFF,
     I_MENU_SOUND_ANNOUNCE,
     I_MENU_SOUND_COMPAT,
+    I_MENU_SOUND_CHAT,
     I_MENU_ANNOUNCE_NONE,
     I_MENU_ANNOUNCE_ME,
     I_MENU_ANNOUNCE_MEPLUS,
@@ -340,6 +357,8 @@ type
     I_NET_MSG_CLIENT_DONE,
     I_NET_MSG_CLIENT_DISC,
     I_NET_MSG_KICK,
+    I_NET_MSG_PORTS,
+    I_NET_MSG_TIMEOUT_WARN,
 
     I_NET_MAP_DL,
     I_NET_WAD_DL,
@@ -370,10 +389,13 @@ type
     I_NET_SLIST_WAIT,
     I_NET_SLIST_PING_MS,
     I_NET_SLIST_NO_ACCESS,
+    I_NET_SLIST_URGENT,
+    I_NET_SLIST_URGENT_CONT,
 
     I_NET_SLIST_FETCH,
     I_NET_SLIST_RETRIEVED,
     I_NET_SLIST_CONN,
+    I_NET_SLIST_WCONN,
     I_NET_SLIST_DISC,
     I_NET_SLIST_LOST,
     I_NET_SLIST_ERROR,
@@ -404,6 +426,7 @@ type
     I_PLAYER_NAME,
     I_PLAYER_CHTEAM_RED,
     I_PLAYER_CHTEAM_BLUE,
+    I_PLAYER_SECRET,
 
     I_PLAYER_SPECT,
     I_PLAYER_SPECT1,
@@ -518,6 +541,8 @@ type
     I_LOAD_SEND_INFO,
     I_LOAD_WAIT_INFO,
     I_LOAD_DL_RES,
+    I_LOAD_HOST,
+    I_LOAD_PORTS,
 
     I_CREDITS_CAP_1,
     I_CREDITS_CAP_2,
@@ -548,6 +573,8 @@ type
     I_MSG_ALLOWEXIT_OFF,
     I_MSG_ALLOWMON_ON,
     I_MSG_ALLOWMON_OFF,
+    I_MSG_DMKEYS_ON,
+    I_MSG_DMKEYS_OFF,
     I_MSG_BOTSVSPLAYERS_ON,
     I_MSG_BOTSVSPLAYERS_OFF,
     I_MSG_BOTSVSMONSTERS_ON,
@@ -569,11 +596,13 @@ type
     I_MSG_NO_WAD,
     I_MSG_NO_MAPS,
     I_MSG_NO_MAP,
+    I_MSG_NO_MAP_FALLBACK,
     I_MSG_NO_MONSTER,
     I_MSG_SCORE_LIMIT,
     I_MSG_TIME_LIMIT,
     I_MSG_LIVES,
     I_MSG_WARMUP,
+    I_MSG_SPAWNINVUL,
     I_MSG_WARMUP_START,
     I_MSG_NEXTMAP_SET,
     I_MSG_NEXTMAP_UNSET,
@@ -586,6 +615,8 @@ type
     I_MSG_UNBAN_OK,
     I_MSG_UNBAN_FAIL,
 
+    I_MSG_BAD_SAVE_VERSION,
+
     I_TEXTURE_ENDPIC,
 
     I_VERSION,
@@ -891,6 +922,10 @@ const
                                        'Æèçíè:'),
     ('MENU TEAM DAMAGE',               'Friendly Fire:',
                                        'Óðîí ñâîèõ:'),
+    ('MENU ITEM RESPAWN TIME',         'Item respawn time:',
+                                       'Âðåìÿ ðåñïàâíà ïðåäìåòîâ:'),
+    ('MENU DEATHMATCH KEYS',           'Give all keys in DM:',
+                                       'Âñå êëþ÷è â DM:'),
     ('MENU ENABLE EXITS',              'Enable Exit:',
                                        'Âêëþ÷èòü âûõîä:'),
     ('MENU WEAPONS STAY',              'Weapons stay:',
@@ -940,15 +975,15 @@ const
     ('MENU INTER KPM',                 'Kills-per-minute:',
                                        'ÓÁÈÉÑÒ  ÌÈÍÓÒÓ:'),
     ('MENU INTER SECRETS',             'Secrets found:',
-                                       'ÍÀØÅË ÑÅÊÐÅÒÎÂ:'),
+                                       'ÍÀبˠÑÅÊÐÅÒÎÂ:'),
     ('MENU INTER NOTICE TAB',          'Press [TAB] to view stats',
                                        'Íàæìèòå [TAB] äëÿ ïðîñìîòðà ñòàòèñòèêè'),
     ('MENU INTER NOTICE MAP',          'Please wait until map change',
                                        'Ïîäîæäèòå, ïîêà ñìåíèòñÿ êàðòà íà ñåðâåðå'),
     ('MENU INTER NOTICE SPACE',        'Press [SPACE] to continue',
                                        'Íàæìèòå [ÏÐÎÁÅË], ÷òîáû ïðîäîëæèòü'),
-    ('MENU INTER NOTICE TIME',         '%d seconds till the next round',
-                                       'Îñòàëîñü %d ñåêóíä äî ñëåäóþùåãî ðàóíäà'),
+    ('MENU INTER NOTICE TIME',         '%d sec till the next round',
+                                       'Îñòàëîñü %d ñåê äî ñëåäóþùåãî ðàóíäà'),
     ('MENU LOADING',                   'Loading...',
                                        'Çàãðóçêà...'),
     ('MENU PLAYER 1',                  'Player 1',
@@ -971,7 +1006,18 @@ const
     ('MENU CONTROL JOYSTICKS',         'Joystick Settings',
                                        'Íàñòðîéêè äæîéñòèêîâ'),
     ('MENU CONTROL DEADZONE',          'Joystick %d Deadzone',
-                                       'Ìåðòâàÿ çîíà äæîéñòèêà %d'),
+                                       '̸ðòâàÿ çîíà äæîéñòèêà %d'),
+
+    ('MENU CONTROL TOUCH',             'Touchscreen Settings',
+                                       'Íàñòðîéêè ñåíñîðíîãî ýêðàíà'),
+    ('MENU CONTROL TOUCH ALT',         'Alternative layout:',
+                                       'Àëüòåðíàòèâíàÿ ðàñêëàäêà:'),
+    ('MENU CONTROL TOUCH FIRE',        'Shoot Up/Down:',
+                                       'Ñòðåëÿòü ââåðõ/âíèç:'),
+    ('MENU CONTROL TOUCH SIZE',        'Button size:',
+                                       'Ðàçìåð êíîïîê:'),
+    ('MENU CONTROL TOUCH OFFSET',      'Vertical offset:',
+                                       'Âåðòèêàëüíîå ñìåùåíèå:'),
 
     ('MENU CONTROL GLOBAL',            'Global Controls',
                                        'ÎÁÙÅÅ ÓÏÐÀÂËÅÍÈÅ'),
@@ -995,14 +1041,14 @@ const
                                        'Ïðûæîê:'),
     ('MENU CONTROL FIRE',              'Fire:',
                                        'Îãîíü:'),
-    ('MENU CONTROL USE',               'Use:',
+    ('MENU CONTROL USE',               'Use / Open:',
                                        'Èñïîëüçîâàòü:'),
     ('MENU CONTROL NEXT WEAPON',       'Next weapon:',
                                        'Ñëåä. îðóæèå:'),
     ('MENU CONTROL PREV WEAPON',       'Prev weapon:',
                                        'Ïðåä. îðóæèå:'),
     ('MENU CONTROL STRAFE',            'Strafe:',
-                                       'Ñòðýéô:'),
+                                       'Ëóííàÿ ïîõîäêà:'),
 
     ('MENU COUNT NONE',                'None',
                                        'Íåò'),
@@ -1065,17 +1111,33 @@ const
                                        'Öâåòíàÿ'),
     ('MENU GAME CHAT TYPE TEXTURE',    'Textured',
                                        'Òåêñòóðà'),
+    ('MENU GAME PLAYER INDICATOR',     'Player indicator:',
+                                       'Èíäèêàòîð èãðîêà:'),
+    ('MENU GAME INDICATOR NONE',       'None',
+                                       'Íåò'),
+    ('MENU GAME INDICATOR OWN',        'Own',
+                                       'Ñâîé'),
+    ('MENU GAME INDICATOR ALL',        'Own + Teammates',
+                                       'Ñâîé + Ñîþçíèêè'),
+    ('MENU GAME INDICATOR STYLE',      'Indicator Style:',
+                                       'Âèä èíäèêàòîðà:'),
+    ('MENU GAME INDICATOR ARROW',      'Arrow',
+                                       'Ñòðåëêà'),
+    ('MENU GAME INDICATOR NAME',       'Name',
+                                       'Èìÿ'),
+    ('MENU GAME SCALE FACTOR',         'Scale:',
+                                       'Ìàñøòàá:'),
 
     ('MENU VIDEO RESOLUTION',          'Set video mode',
                                        'Óñòàíîâêà âèäåîðåæèìà'),
     ('MENU VIDEO BPP',                 'Color depth:',
                                        'Ãëóáèíà öâåòà:'),
     ('MENU VIDEO VSYNC',               'Vertical sync',
-                                       'Âåðò. ñèíõðîíèçàöèÿ:'),
+                                       'Âåðòèêàëüíàÿ ñèíõðîíèçàöèÿ:'),
     ('MENU VIDEO FILTER SKY',          'Anisotropic sky',
                                        'Ôèëüòðàöèÿ íåáà:'),
-    ('MENU VIDEO LEGACY COMPATIBLE',   'Compatibility with NPOT textures:',
-                                       'Ñîâìåñòèìîñòü ñ NPOT-òåêñòóðàìè:'),
+    ('MENU VIDEO LEGACY COMPATIBLE',   'Force compatibility with NPOT textures:',
+                                       'Ýìóëÿöèÿ NPOT-òåêñòóð:'),
     ('MENU VIDEO NEED RESTART',        'Video settings will be changed after game restart.',
                                        'Äàííûå íàñòðîéêè âèäåî âñòóïÿò â ñèëó ïîñëå ïåðåçàïóñêà èãðû.'),
 
@@ -1094,8 +1156,8 @@ const
                                        'Ãðîìêîñòü ìóçûêè:'),
     ('MENU SOUND SOUND LEVEL',         'Sound volume:',
                                        'Ãðîìêîñòü çâóêà:'),
-    ('MENU SOUND MAX SIM SOUNDS',      'Similar Sound FX amount:',
-                                       'Êîë-âî îäíîãî çâóêà:'),
+    ('MENU SOUND MAX SIM SOUNDS',      'Similar sounds limit:',
+                                       'Ëèìèò îäíîãî çâóêà:'),
     ('MENU SOUND INACTIVE SOUNDS',     'Window inactive:',
                                        'Îêíî íåàêòèâíî:'),
     ('MENU SOUND INACTIVE SOUNDS ON',  'Play sounds',
@@ -1106,6 +1168,8 @@ const
                                        'Îáúÿâëåíèÿ:'),
     ('MENU SOUND COMPAT',              'Sound FX set:',
                                        'Íàáîð çâóêîâ:'),
+    ('MENU SOUND CHAT',                'Enable chat speech:',
+                                       'Îçâó÷èâàòü ÷àò:'),
     ('MENU ANNOUNCE NONE',             'None',
                                        'Íåò'),
     ('MENU ANNOUNCE ME',               'Only own announcers',
@@ -1132,7 +1196,7 @@ const
     ('MENU PLAYER RED',                'Red:',
                                        'Êðàñíûé:'),
     ('MENU PLAYER GREEN',              'Green:',
-                                       'Çåëåíûé:'),
+                                       'Çåë¸íûé:'),
     ('MENU PLAYER BLUE',               'Blue:',
                                        'Ñèíèé:'),
 
@@ -1221,7 +1285,7 @@ const
     ('NET MSG HOST ADD',               'Client #%d added. Awaiting info...',
                                        'Äîáàâëåí êëèåíò ¹%d. Æäåì îòâåòà...'),
     ('NET MSG HOST DISC',              'Client #%d disconnected.',
-                                       'Êëèåíò ¹%d îòêëþ÷åí.'),
+                                       'Êëèåíò ¹%d îòêëþ÷¸í.'),
     ('NET MSG CLIENT CONN',            'Trying to connect to %s:%d...',
                                        'Ïûòàåìñÿ ñîåäèíèòüñÿ ñ %s:%d...'),
     ('NET MSG CLIENT DONE',            'Connected!',
@@ -1230,6 +1294,10 @@ const
                                        'Îòêëþ÷åíèå âûïîëíåíî.'),
     ('NET MSG KICK',                   'You were dropped from the game! Reason: ',
                                        'Âàñ âûáðîñèëî ñ ñåðâåðà! Ïðè÷èíà: '),
+    ('NET MSG PORTS',                  'Make sure ports %d and %d are forwarded on the server.',
+                                       'Ñïðîñèòå àäìèíà, ïðîáðîñèë ëè îí ïîðòû %d è %d íà ðîóòåðå.'),
+    ('NET MSG TIMEOUT WARN',           'Connection is taking too long.',
+                                       'Ñåðâåð íå îòâå÷àåò óæå äîâîëüíî äîëãî.'),
 
     ('NET MAP DL',                     'Map %s not found. Downloading from the server...',
                                        'Êàðòà %s íå íàéäåíà. Ñêà÷èâàåì ñ ñåðâåðà...'),
@@ -1286,17 +1354,23 @@ const
                                        ' ìñ'),
     ('NET SLIST NO ACCESS',            'N/A',
                                        'Í/Ä'),
+    ('NET SLIST URGENT',               'Message from master server',
+                                       'Ñîîáùåíèå ñ ìàñòåðñåðâåðà'),
+    ('NET SLIST URGENT CONT',          'Press [ENTER] to continue',
+                                       'Íàæìèòå [ENTER] äëÿ ïðîäîëæåíèÿ'),
 
     ('NET SLIST FETCH',                'Fetching server list...',
                                        'Ïîëó÷àåì ñïèñîê ñåðâåðîâ...'),
-    ('NET SLIST RETRIEVED',            '%d servers retrieved.',
-                                       'Ïîëó÷åíî ñåðâåðîâ: %d'),
-    ('NET SLIST CONN',                 'Connected to masterserver.',
-                                       'Ïîäêëþ÷èëèñü ê ìàñòåðñåðâåðó.'),
-    ('NET SLIST DISC',                 'Disconnected from masterserver.',
-                                       'Îòêëþ÷èëèñü îò ìàñòåðñåðâåðà.'),
-    ('NET SLIST LOST',                 'Lost connection with masterserver.',
-                                       'Ñîåäèíåíèå ñ ìàñòåðñåðâåðîì ïîòåðÿíî.'),
+    ('NET SLIST RETRIEVED',            '%d servers retrieved from [%s].',
+                                       'Ïîëó÷åíî ñåðâåðîâ: %d, èñòî÷íèê: [%s]'),
+    ('NET SLIST CONN',                 'Connected to masterserver [%s].',
+                                       'Ïîäêëþ÷èëèñü ê ìàñòåðñåðâåðó [%s].'),
+    ('NET SLIST WCONN',                'Connecting to masterserver [%s]...',
+                                       'Ïîäêëþ÷àåìñÿ ê ìàñòåðñåðâåðó [%s]...'),
+    ('NET SLIST DISC',                 'Disconnected from masterserver [%s].',
+                                       'Îòêëþ÷èëèñü îò ìàñòåðñåðâåðà [%s].'),
+    ('NET SLIST LOST',                 'Lost connection with masterserver [%s].',
+                                       'Ñîåäèíåíèå ñ ìàñòåðñåðâåðîì ïîòåðÿíî [%s].'),
     ('NET SLIST ERROR',                'Could not connect to masterserver.',
                                        'Íå óäàëîñü ñîåäèíèòüñÿ ñ ìàñòåðñåðâåðîì.'),
 
@@ -1340,7 +1414,7 @@ const
     ('PLAYER LEAVE',                   '%s left the game.',
                                        '%s ïîêèíóë èãðó.'),
     ('PLAYER KICK',                    '%s was kicked by admin.',
-                                       '%s áûë îòêëþ÷åí àäìèíèñòðàòîðîì.'),
+                                       '%s áûë îòêëþ÷¸í àäìèíèñòðàòîðîì.'),
     ('PLAYER BAN',                     '%s was banned by admin.',
                                        '%s áûë çàáàíåí àäìèíèñòðàòîðîì.'),
     ('PLAYER NAME',                    '%s is now known as %s.',
@@ -1349,6 +1423,8 @@ const
                                        '%s ïåðåøåë â Êðàñíóþ êîìàíäó.'),
     ('PLAYER CHTEAM BLUE',             '%s is now on Blue.',
                                        '%s ïåðåøåë â Ñèíþþ êîìàíäó.'),
+    ('PLAYER SECRET',                  '%s found a secret!',
+                                       '%s íàø¸ë ñåêðåò!'),
 
     ('PLAYER SPECT',                   'Spectating',
                                        'Íàáëþäåíèå'),
@@ -1367,8 +1443,8 @@ const
                                        '*** %s ñòàùèë %s ôëàã!'),
     ('PLAYER FLAG RETURN',             '*** %s returned the %s flag!',
                                        '*** %s âåðíóë %s ôëàã!'),
-    ('PLAYER FLAG CAPTURE',            '*** %s captured the %s flag! (%s ms)',
-                                       '*** %s ïðèíåñ %s ôëàã! (%s ìñ)'),
+    ('PLAYER FLAG CAPTURE',            '*** %s captured the %s flag! (%s sec)',
+                                       '*** %s ïðèí¸ñ %s ôëàã! (%s ñåê)'),
     ('PLAYER FLAG DROP',               '*** %s dropped the %s flag!',
                                        '*** %s ïîòåðÿë %s ôëàã!'),
     ('PLAYER FLAG RED',                'red',
@@ -1427,7 +1503,7 @@ const
                                        '%s ÊÎÌÀÍÄÀ ÏÎÒÅÐßËÀ Î×ÊÈ'),
 
     ('MESSAGE VOTE INPROGRESS',        'A vote is already in progress for "%s".',
-                                       'Óæå èäåò ãîëîñîâàíèå çà êîìàíäó "%s".'),
+                                       'Óæå èä¸ò ãîëîñîâàíèå çà êîìàíäó "%s".'),
     ('MESSAGE VOTE STARTED',           '%s called a vote for "%s".'#10'%d votes are required.',
                                        '%s íà÷àë ãîëîñîâàíèå çà êîìàíäó "%s".'#10'Äëÿ âûïîëíåíèÿ êîìàíäû òðåáóåòñÿ ãîëîñîâ: %d.'),
     ('MESSAGE VOTE PASSED',            'Vote passed. Executing "%s" in 5 seconds.',
@@ -1459,7 +1535,7 @@ const
     ('MONSTER CYBER',                  'Cyberdemon',
                                        'Êèáåðäåìîíîì'),
     ('MONSTER CGUN',                   'Commando',
-                                       'Ïóëåìåò÷èêîì'),
+                                       'Ïóëåì¸ò÷èêîì'),
     ('MONSTER BARON',                  'Hell Baron',
                                        'Áàðîíîì àäà'),
     ('MONSTER KNIGHT',                 'Hell Knight',
@@ -1567,6 +1643,10 @@ const
                                        'Îæèäàíèå îòâåòà ([ESC] - îòìåíèòü)'),
     ('LOAD DL RES',                    'Downloading resources...',
                                        'Ñêà÷èâàíèå ðåñóðñîâ...'),
+    ('LOAD HOST',                      'Initializing server...',
+                                       'Èíèíöèàëèçàöèÿ ñåðâåðà...'),
+    ('LOAD PORTS',                     'Forwarding ports via UPnP...',
+                                       'Ïðîáðîñ ïîðòîâ ÷åðåç UPnP...'),
 
     ('CREDITS CAP 1',                  'Doom 2D: Forever',
                                        'Doom 2D: Forever'),
@@ -1580,8 +1660,8 @@ const
                                        'Ïðîãðàììèñòû:'),
     ('CREDITS A 2 1',                  'rs.falcon, PSS, PrimuS, Stas''M,',
                                        'rs.falcon, PSS, PrimuS, Stas''M,'),
-    ('CREDITS A 2 2',                  'ZURG, OutCast, ketmar',
-                                       'ZURG, OutCast, ketmar'),
+    ('CREDITS A 2 2',                  'ZURG, OutCast, ketmar, DeaDDooMER',
+                                       'ZURG, OutCast, ketmar, DeaDDooMER'),
     ('CREDITS A 3',                    'Artists:',
                                        'Õóäîæíèêè:'),
     ('CREDITS A 3 1',                  'Jabberwock, Firehawk',
@@ -1595,11 +1675,11 @@ const
     ('CREDITS CLO 1',                  '- Prikol Software for Doom 2D',
                                        '- Prikol Software çà Doom 2D'),
     ('CREDITS CLO 2',                  '- id Software for starting it all',
-                                       '- id Software, áåç êîãî íè÷åãî áû íå áûëî'),
+                                       '- id Software, êîòîðûå çàâàðèëè ýòó êàøó'),
     ('CREDITS CLO 3',                  '- Everyone who helped our project',
                                        '- Âñåõ, êòî ïîìîãàë íàøåìó ïðîåêòó'),
-    ('CREDITS CLO 4',                  'www.doom2d.org, 2003-2016',
-                                       'www.doom2d.org, 2003-2016'),
+    ('CREDITS CLO 4',                  'www.doom2d.org, 2003-2020',
+                                       'www.doom2d.org, 2003-2020'),
 
     ('MSG SHOW FPS ON',                'FPS counter enabled',
                                        'FPS ïîêàçûâàþòñÿ'),
@@ -1610,21 +1690,25 @@ const
     ('MSG GAMEMODE CHANGE',            'Game Mode: %s (switch to %s next round)',
                                        'Ðåæèì èãðû: %s (áóäåò %s â ñëåäóþùåì ðàóíäå)'),
     ('MSG FRIENDLY FIRE ON',           'Friendly Fire enabled',
-                                       'Óðîí ñâîèõ âêëþ÷åí'),
+                                       'Óðîí ñâîèõ âêëþ÷¸í'),
     ('MSG FRIENDLY FIRE OFF',          'Friendly Fire disabled',
                                        'Óðîíà ñâîèõ íåò'),
     ('MSG WEAPONSTAY ON',              'Weapon Stay enabled',
-                                       'Îðóæèå îñòàåòñÿ ïîñëå ïîäáîðà'),
+                                       'Îðóæèå îñòà¸òñÿ ïîñëå ïîäáîðà'),
     ('MSG WEAPONSTAY OFF',             'Weapon Stay disabled',
                                        'Îðóæèå èñ÷åçàåò ïîñëå ïîäáîðà'),
     ('MSG ALLOWEXIT ON',               'Exit enabled*',
-                                       'Âûõîä ñ êàðòû ðàçðåøåí*'),
+                                       'Âûõîä ñ êàðòû ðàçðåø¸í*'),
     ('MSG ALLOWEXIT OFF',              'Exit disabled*',
-                                       'Âûõîä ñ êàðòû çàïðåùåí*'),
+                                       'Âûõîä ñ êàðòû çàïðåù¸í*'),
     ('MSG ALLOWMON ON',                'Monsters in DM enabled*',
                                        'Ìîíñòðû â DM âêëþ÷åíû*'),
     ('MSG ALLOWMON OFF',               'Monsters in DM disabled*',
                                        'Ìîíñòðû â DM âûêëþ÷åíû*'),
+    ('MSG DMKEYS ON',                  'Spawning with all keys in DM enabled',
+                                       'Ðåñïàâí ñî âñåìè êëþ÷àìè â DM âêëþ÷åí'),
+    ('MSG DMKEYS OFF',                 'Spawning with all keys in DM disabled',
+                                       'Ðåñïàâí ñî âñåìè êëþ÷àìè â DM âûêëþ÷åí'),
     ('MSG BOTSVSPLAYERS ON',           'Bots attack players',
                                        'Áîòû ïðîòèâ èãðîêîâ'),
     ('MSG BOTSVSPLAYERS OFF',          'Bots ignore players',
@@ -1667,6 +1751,8 @@ const
                                        'WAD ôàéë "%s" íå ñîäåðæèò êàðò!'),
     ('MSG NO MAP',                     'Map "%s" doesn''t exist!',
                                        'Êàðòà "%s" íå íàéäåíà!'),
+    ('MSG NO MAP FALLBACK',            'Map "%s" doesn''t exist in this WAD, looking for %s.',
+                                       'Êàðòà "%s" íå íàéäåíà â ýòîì WAD ôàéëå, èùó %s.'),
     ('MSG NO MONSTER',                 'Wrong monster type: "%s"!',
                                        '"%s" - íåò òàêîãî ìîíñòðà!'),
     ('MSG SCORE LIMIT',                'Score Limit is %d',
@@ -1675,10 +1761,12 @@ const
                                        'Ëèìèò âðåìåíè - %d:%.2d:%.2d'),
     ('MSG LIVES',                      'Max lives: %d',
                                        'Ìàêñ. æèçíåé ó èãðîêîâ: %d'),
-    ('MSG WARMUP',                     'Warmup time: %d seconds*',
-                                       'Âðåìÿ íà ïîäãîòîâêó ê èãðå: %d ñåêóíä*'),
-    ('MSG WARMUP START',               '%d seconds until round start.',
-                                       '%d ñåêóíä äî íà÷àëà ðàóíäà.'),
+    ('MSG WARMUP',                     'Warmup time: %d sec*',
+                                       'Âðåìÿ íà ïîäãîòîâêó ê èãðå: %d ñåê*'),
+    ('MSG SPAWNINVUL',                 'Spawn invulnerability time: %d sec*',
+                                       'Íåóÿçâèìîñòü ïîñëå ðåñïàóíà: %d ñåê*'),
+    ('MSG WARMUP START',               '%d sec until round start.',
+                                       '%d ñåê äî íà÷àëà ðàóíäà.'),
     ('MSG NEXTMAP SET',                'Next map: %s',
                                        'Ñëåäóþùàÿ êàðòà: %s'),
     ('MSG NEXTMAP UNSET',              'Next map is not set.',
@@ -1700,6 +1788,9 @@ const
     ('MSG UNBAN FAIL',                 'Client %s not found in the ban list.',
                                        'Êëèåíò %s íå ÷èñëèòñÿ â ñïèñêå çàáàíåíûõ.'),
 
+    ('MSG BAD SAVE VERSION',           'Cannot load saved game. Probably due to invalid save file version.',
+                                       'Íå óäàëîñü çàãðóçèòü ñîõðàíåíèå. Âåðîÿòíî, èç-çà íåâåðíîé âåðñèè ñîõðàíåíèÿ.'),
+
     ('TEXTURE ENDPIC',                 'ENDGAME_EN',
                                        'ENDGAME_RU'),
 
@@ -1723,10 +1814,12 @@ var
   i: LongWord;
 begin
 // Íàçâàíèÿ êëàâèø ïåðåìåùåíèÿ êóðñîðà:
+  { that was absolitely fucked idea
   e_KeyNames[IK_UP]    := _lc[I_KEY_UP] + ' ' + Chr(30);
   e_KeyNames[IK_LEFT]  := _lc[I_KEY_LEFT] + ' ' + Chr(17);
   e_KeyNames[IK_RIGHT] := _lc[I_KEY_RIGHT] + ' ' + Chr(16);
   e_KeyNames[IK_DOWN]  := _lc[I_KEY_DOWN] + ' ' + Chr(31);
+  }
 
 // Èìåíà ìîíñòðîâ â òâîðèòåëüíîì ïàäåæå:
   KilledByMonster[MONSTER_DEMON] := _lc[I_MONSTER_DEMON];
@@ -1855,7 +1948,7 @@ begin
       CloseFile(F);
     end
   else
-    e_WriteLog('Language file "'+fileName+'" not found!', MSG_WARNING);
+    e_WriteLog('Language file "'+fileName+'" not found!', TMsgType.Warning);
 
   SetupArrays();
 end;