DEADSOFTWARE

net: server list works again (i hope)
[d2df-sdl.git] / src / game / g_language.pas
index aa828100dd7dbf497aeba34c62f548cd4a73226a..af65be7947f8374dd5fbf046ba79388446d89ea3 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
  *
  * 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
  *
  * 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/>.
  *)
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *)
-{$MODE DELPHI}
+{$INCLUDE ../shared/a_modes.inc}
+{$SCOPEDENUMS OFF}
 unit g_language;
 
 interface
 unit g_language;
 
 interface
@@ -205,6 +205,12 @@ type
     I_MENU_CONTROL_JOYSTICKS,
     I_MENU_CONTROL_DEADZONE,
 
     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,
     I_MENU_CONTROL_GLOBAL,
     I_MENU_CONTROL_SCREENSHOT,
     I_MENU_CONTROL_STAT,
@@ -252,6 +258,14 @@ type
     I_MENU_GAME_CHAT_TYPE_ADV,
     I_MENU_GAME_CHAT_TYPE_COLOR,
     I_MENU_GAME_CHAT_TYPE_TEXTURE,
     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,
 
     I_MENU_VIDEO_RESOLUTION,
     I_MENU_VIDEO_BPP,
@@ -274,6 +288,7 @@ type
     I_MENU_SOUND_INACTIVE_SOUNDS_OFF,
     I_MENU_SOUND_ANNOUNCE,
     I_MENU_SOUND_COMPAT,
     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,
     I_MENU_ANNOUNCE_NONE,
     I_MENU_ANNOUNCE_ME,
     I_MENU_ANNOUNCE_MEPLUS,
@@ -340,6 +355,8 @@ type
     I_NET_MSG_CLIENT_DONE,
     I_NET_MSG_CLIENT_DISC,
     I_NET_MSG_KICK,
     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,
 
     I_NET_MAP_DL,
     I_NET_WAD_DL,
@@ -370,10 +387,13 @@ type
     I_NET_SLIST_WAIT,
     I_NET_SLIST_PING_MS,
     I_NET_SLIST_NO_ACCESS,
     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_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,
     I_NET_SLIST_DISC,
     I_NET_SLIST_LOST,
     I_NET_SLIST_ERROR,
@@ -404,6 +424,7 @@ type
     I_PLAYER_NAME,
     I_PLAYER_CHTEAM_RED,
     I_PLAYER_CHTEAM_BLUE,
     I_PLAYER_NAME,
     I_PLAYER_CHTEAM_RED,
     I_PLAYER_CHTEAM_BLUE,
+    I_PLAYER_SECRET,
 
     I_PLAYER_SPECT,
     I_PLAYER_SPECT1,
 
     I_PLAYER_SPECT,
     I_PLAYER_SPECT1,
@@ -518,6 +539,8 @@ type
     I_LOAD_SEND_INFO,
     I_LOAD_WAIT_INFO,
     I_LOAD_DL_RES,
     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,
 
     I_CREDITS_CAP_1,
     I_CREDITS_CAP_2,
@@ -569,6 +592,7 @@ type
     I_MSG_NO_WAD,
     I_MSG_NO_MAPS,
     I_MSG_NO_MAP,
     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_NO_MONSTER,
     I_MSG_SCORE_LIMIT,
     I_MSG_TIME_LIMIT,
@@ -586,6 +610,8 @@ type
     I_MSG_UNBAN_OK,
     I_MSG_UNBAN_FAIL,
 
     I_MSG_UNBAN_OK,
     I_MSG_UNBAN_FAIL,
 
+    I_MSG_BAD_SAVE_VERSION,
+
     I_TEXTURE_ENDPIC,
 
     I_VERSION,
     I_TEXTURE_ENDPIC,
 
     I_VERSION,
@@ -940,7 +966,7 @@ const
     ('MENU INTER KPM',                 'Kills-per-minute:',
                                        'ÓÁÈÉÑÒ  ÌÈÍÓÒÓ:'),
     ('MENU INTER SECRETS',             'Secrets found:',
     ('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 TAB',          'Press [TAB] to view stats',
                                        'Íàæìèòå [TAB] äëÿ ïðîñìîòðà ñòàòèñòèêè'),
     ('MENU INTER NOTICE MAP',          'Please wait until map change',
@@ -971,7 +997,18 @@ const
     ('MENU CONTROL JOYSTICKS',         'Joystick Settings',
                                        'Íàñòðîéêè äæîéñòèêîâ'),
     ('MENU CONTROL DEADZONE',          'Joystick %d Deadzone',
     ('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',
                                        'ÎÁÙÅÅ ÓÏÐÀÂËÅÍÈÅ'),
 
     ('MENU CONTROL GLOBAL',            'Global Controls',
                                        'ÎÁÙÅÅ ÓÏÐÀÂËÅÍÈÅ'),
@@ -995,14 +1032,14 @@ const
                                        'Ïðûæîê:'),
     ('MENU CONTROL FIRE',              'Fire:',
                                        'Îãîíü:'),
                                        'Ïðûæîê:'),
     ('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 CONTROL NEXT WEAPON',       'Next weapon:',
                                        'Ñëåä. îðóæèå:'),
     ('MENU CONTROL PREV WEAPON',       'Prev weapon:',
                                        'Ïðåä. îðóæèå:'),
     ('MENU CONTROL STRAFE',            'Strafe:',
-                                       'Ñòðýéô:'),
+                                       'Ëóííàÿ ïîõîäêà:'),
 
     ('MENU COUNT NONE',                'None',
                                        'Íåò'),
 
     ('MENU COUNT NONE',                'None',
                                        'Íåò'),
@@ -1065,13 +1102,29 @@ const
                                        'Öâåòíàÿ'),
     ('MENU GAME CHAT TYPE TEXTURE',    'Textured',
                                        'Òåêñòóðà'),
                                        'Öâåòíàÿ'),
     ('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 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:',
     ('MENU VIDEO FILTER SKY',          'Anisotropic sky',
                                        'Ôèëüòðàöèÿ íåáà:'),
     ('MENU VIDEO LEGACY COMPATIBLE',   'Compatibility with NPOT textures:',
@@ -1094,8 +1147,8 @@ const
                                        'Ãðîìêîñòü ìóçûêè:'),
     ('MENU SOUND SOUND LEVEL',         'Sound volume:',
                                        'Ãðîìêîñòü çâóêà:'),
                                        'Ãðîìêîñòü ìóçûêè:'),
     ('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',
     ('MENU SOUND INACTIVE SOUNDS',     'Window inactive:',
                                        'Îêíî íåàêòèâíî:'),
     ('MENU SOUND INACTIVE SOUNDS ON',  'Play sounds',
@@ -1106,6 +1159,8 @@ const
                                        'Îáúÿâëåíèÿ:'),
     ('MENU SOUND COMPAT',              'Sound FX set:',
                                        'Íàáîð çâóêîâ:'),
                                        'Îáúÿâëåíèÿ:'),
     ('MENU SOUND COMPAT',              'Sound FX set:',
                                        'Íàáîð çâóêîâ:'),
+    ('MENU SOUND CHAT',                'Enable chat speech:',
+                                       'Îçâó÷èâàòü ÷àò:'),
     ('MENU ANNOUNCE NONE',             'None',
                                        'Íåò'),
     ('MENU ANNOUNCE ME',               'Only own announcers',
     ('MENU ANNOUNCE NONE',             'None',
                                        'Íåò'),
     ('MENU ANNOUNCE ME',               'Only own announcers',
@@ -1132,7 +1187,7 @@ const
     ('MENU PLAYER RED',                'Red:',
                                        'Êðàñíûé:'),
     ('MENU PLAYER GREEN',              'Green:',
     ('MENU PLAYER RED',                'Red:',
                                        'Êðàñíûé:'),
     ('MENU PLAYER GREEN',              'Green:',
-                                       'Çåëåíûé:'),
+                                       'Çåë¸íûé:'),
     ('MENU PLAYER BLUE',               'Blue:',
                                        'Ñèíèé:'),
 
     ('MENU PLAYER BLUE',               'Blue:',
                                        'Ñèíèé:'),
 
@@ -1221,7 +1276,7 @@ const
     ('NET MSG HOST ADD',               'Client #%d added. Awaiting info...',
                                        'Äîáàâëåí êëèåíò ¹%d. Æäåì îòâåòà...'),
     ('NET MSG HOST DISC',              'Client #%d disconnected.',
     ('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!',
     ('NET MSG CLIENT CONN',            'Trying to connect to %s:%d...',
                                        'Ïûòàåìñÿ ñîåäèíèòüñÿ ñ %s:%d...'),
     ('NET MSG CLIENT DONE',            'Connected!',
@@ -1230,6 +1285,10 @@ const
                                        'Îòêëþ÷åíèå âûïîëíåíî.'),
     ('NET MSG KICK',                   'You were dropped from the game! Reason: ',
                                        'Âàñ âûáðîñèëî ñ ñåðâåðà! Ïðè÷èíà: '),
                                        'Îòêëþ÷åíèå âûïîëíåíî.'),
     ('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 íå íàéäåíà. Ñêà÷èâàåì ñ ñåðâåðà...'),
 
     ('NET MAP DL',                     'Map %s not found. Downloading from the server...',
                                        'Êàðòà %s íå íàéäåíà. Ñêà÷èâàåì ñ ñåðâåðà...'),
@@ -1286,17 +1345,23 @@ const
                                        ' ìñ'),
     ('NET SLIST NO ACCESS',            'N/A',
                                        'Í/Ä'),
                                        ' ìñ'),
     ('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 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.',
                                        'Íå óäàëîñü ñîåäèíèòüñÿ ñ ìàñòåðñåðâåðîì.'),
 
     ('NET SLIST ERROR',                'Could not connect to masterserver.',
                                        'Íå óäàëîñü ñîåäèíèòüñÿ ñ ìàñòåðñåðâåðîì.'),
 
@@ -1340,7 +1405,7 @@ const
     ('PLAYER LEAVE',                   '%s left the game.',
                                        '%s ïîêèíóë èãðó.'),
     ('PLAYER KICK',                    '%s was kicked by admin.',
     ('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.',
     ('PLAYER BAN',                     '%s was banned by admin.',
                                        '%s áûë çàáàíåí àäìèíèñòðàòîðîì.'),
     ('PLAYER NAME',                    '%s is now known as %s.',
@@ -1349,6 +1414,8 @@ const
                                        '%s ïåðåøåë â Êðàñíóþ êîìàíäó.'),
     ('PLAYER CHTEAM BLUE',             '%s is now on Blue.',
                                        '%s ïåðåøåë â Ñèíþþ êîìàíäó.'),
                                        '%s ïåðåøåë â Êðàñíóþ êîìàíäó.'),
     ('PLAYER CHTEAM BLUE',             '%s is now on Blue.',
                                        '%s ïåðåøåë â Ñèíþþ êîìàíäó.'),
+    ('PLAYER SECRET',                  '%s found a secret!',
+                                       '%s íàø¸ë ñåêðåò!'),
 
     ('PLAYER SPECT',                   'Spectating',
                                        'Íàáëþäåíèå'),
 
     ('PLAYER SPECT',                   'Spectating',
                                        'Íàáëþäåíèå'),
@@ -1367,8 +1434,8 @@ const
                                        '*** %s ñòàùèë %s ôëàã!'),
     ('PLAYER FLAG RETURN',             '*** %s returned the %s flag!',
                                        '*** %s âåðíóë %s ôëàã!'),
                                        '*** %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',
     ('PLAYER FLAG DROP',               '*** %s dropped the %s flag!',
                                        '*** %s ïîòåðÿë %s ôëàã!'),
     ('PLAYER FLAG RED',                'red',
@@ -1427,7 +1494,7 @@ const
                                        '%s ÊÎÌÀÍÄÀ ÏÎÒÅÐßËÀ Î×ÊÈ'),
 
     ('MESSAGE VOTE INPROGRESS',        'A vote is already in progress for "%s".',
                                        '%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.',
     ('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 +1526,7 @@ const
     ('MONSTER CYBER',                  'Cyberdemon',
                                        'Êèáåðäåìîíîì'),
     ('MONSTER CGUN',                   'Commando',
     ('MONSTER CYBER',                  'Cyberdemon',
                                        'Êèáåðäåìîíîì'),
     ('MONSTER CGUN',                   'Commando',
-                                       'Ïóëåìåò÷èêîì'),
+                                       'Ïóëåì¸ò÷èêîì'),
     ('MONSTER BARON',                  'Hell Baron',
                                        'Áàðîíîì àäà'),
     ('MONSTER KNIGHT',                 'Hell Knight',
     ('MONSTER BARON',                  'Hell Baron',
                                        'Áàðîíîì àäà'),
     ('MONSTER KNIGHT',                 'Hell Knight',
@@ -1565,8 +1632,12 @@ const
                                        'Îòñûëêà èíôîðìàöèè'),
     ('LOAD WAIT INFO',                 'Awaiting response ([ESC] to abort)',
                                        'Îæèäàíèå îòâåòà ([ESC] - îòìåíèòü)'),
                                        'Îòñûëêà èíôîðìàöèè'),
     ('LOAD WAIT INFO',                 'Awaiting response ([ESC] to abort)',
                                        'Îæèäàíèå îòâåòà ([ESC] - îòìåíèòü)'),
-    ('LOAD DL RES',                    'Downloading resources',
-                                       'Ñêà÷èâàíèå ðåñóðñîâ'),
+    ('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'),
 
     ('CREDITS CAP 1',                  'Doom 2D: Forever',
                                        'Doom 2D: Forever'),
@@ -1580,8 +1651,8 @@ const
                                        'Ïðîãðàììèñòû:'),
     ('CREDITS A 2 1',                  'rs.falcon, PSS, PrimuS, Stas''M,',
                                        'rs.falcon, PSS, PrimuS, Stas''M,'),
                                        'Ïðîãðàììèñòû:'),
     ('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',
     ('CREDITS A 3',                    'Artists:',
                                        'Õóäîæíèêè:'),
     ('CREDITS A 3 1',                  'Jabberwock, Firehawk',
@@ -1595,11 +1666,11 @@ const
     ('CREDITS CLO 1',                  '- Prikol Software for Doom 2D',
                                        '- Prikol Software çà Doom 2D'),
     ('CREDITS CLO 2',                  '- id Software for starting it all',
     ('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 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-2019',
+                                       'www.doom2d.org, 2003-2019'),
 
     ('MSG SHOW FPS ON',                'FPS counter enabled',
                                        'FPS ïîêàçûâàþòñÿ'),
 
     ('MSG SHOW FPS ON',                'FPS counter enabled',
                                        'FPS ïîêàçûâàþòñÿ'),
@@ -1610,17 +1681,17 @@ const
     ('MSG GAMEMODE CHANGE',            'Game Mode: %s (switch to %s next round)',
                                        'Ðåæèì èãðû: %s (áóäåò %s â ñëåäóþùåì ðàóíäå)'),
     ('MSG FRIENDLY FIRE ON',           'Friendly Fire enabled',
     ('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 FRIENDLY FIRE OFF',          'Friendly Fire disabled',
                                        'Óðîíà ñâîèõ íåò'),
     ('MSG WEAPONSTAY ON',              'Weapon Stay enabled',
-                                       'Îðóæèå îñòàåòñÿ ïîñëå ïîäáîðà'),
+                                       'Îðóæèå îñòà¸òñÿ ïîñëå ïîäáîðà'),
     ('MSG WEAPONSTAY OFF',             'Weapon Stay disabled',
                                        'Îðóæèå èñ÷åçàåò ïîñëå ïîäáîðà'),
     ('MSG ALLOWEXIT ON',               'Exit enabled*',
     ('MSG WEAPONSTAY OFF',             'Weapon Stay disabled',
                                        'Îðóæèå èñ÷åçàåò ïîñëå ïîäáîðà'),
     ('MSG ALLOWEXIT ON',               'Exit enabled*',
-                                       'Âûõîä ñ êàðòû ðàçðåøåí*'),
+                                       'Âûõîä ñ êàðòû ðàçðåø¸í*'),
     ('MSG ALLOWEXIT OFF',              'Exit disabled*',
     ('MSG ALLOWEXIT OFF',              'Exit disabled*',
-                                       'Âûõîä ñ êàðòû çàïðåùåí*'),
+                                       'Âûõîä ñ êàðòû çàïðåù¸í*'),
     ('MSG ALLOWMON ON',                'Monsters in DM enabled*',
                                        'Ìîíñòðû â DM âêëþ÷åíû*'),
     ('MSG ALLOWMON OFF',               'Monsters in DM disabled*',
     ('MSG ALLOWMON ON',                'Monsters in DM enabled*',
                                        'Ìîíñòðû â DM âêëþ÷åíû*'),
     ('MSG ALLOWMON OFF',               'Monsters in DM disabled*',
@@ -1667,6 +1738,8 @@ const
                                        'WAD ôàéë "%s" íå ñîäåðæèò êàðò!'),
     ('MSG NO MAP',                     'Map "%s" doesn''t exist!',
                                        'Êàðòà "%s" íå íàéäåíà!'),
                                        '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',
     ('MSG NO MONSTER',                 'Wrong monster type: "%s"!',
                                        '"%s" - íåò òàêîãî ìîíñòðà!'),
     ('MSG SCORE LIMIT',                'Score Limit is %d',
@@ -1700,6 +1773,9 @@ const
     ('MSG UNBAN FAIL',                 'Client %s not found in the ban list.',
                                        'Êëèåíò %s íå ÷èñëèòñÿ â ñïèñêå çàáàíåíûõ.'),
 
     ('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'),
 
     ('TEXTURE ENDPIC',                 'ENDGAME_EN',
                                        'ENDGAME_RU'),
 
@@ -1855,7 +1931,7 @@ begin
       CloseFile(F);
     end
   else
       CloseFile(F);
     end
   else
-    e_WriteLog('Language file "'+fileName+'" not found!', MSG_WARNING);
+    e_WriteLog('Language file "'+fileName+'" not found!', TMsgType.Warning);
 
   SetupArrays();
 end;
 
   SetupArrays();
 end;