unit g_language;

interface

uses
  MAPDEF;

type
  TStrings_Locale = (
    I_CONSOLE_EXEC,
    I_CONSOLE_DUMPED,
    I_CONSOLE_ERROR_CALL,
    I_CONSOLE_ERROR_READ,
    I_CONSOLE_ERROR_WRITE,
    I_CONSOLE_SCREENSHOT,
    I_CONSOLE_UNKNOWN,
    I_CONSOLE_WELCOME,

    I_GAME_ERROR_GET_SPAWN,
    I_GAME_ERROR_CTF,
    I_GAME_ERROR_MAP_WAD,
    I_GAME_ERROR_MAP_RES,
    I_GAME_ERROR_MAP_LOAD,
    I_GAME_ERROR_MAP_SELECT,
    I_GAME_ERROR_PLAYER_CREATE,
    I_GAME_ERROR_TEXTURE_ANIM,
    I_GAME_ERROR_TEXTURE_SIMPLE,
    I_GAME_ERROR_MODEL_FALLBACK,
    I_GAME_ERROR_MODEL,
    I_GAME_ERROR_SKY,
    I_GAME_ERROR_MUSIC,
    I_GAME_ERROR_SAVE,
    I_GAME_ERROR_LOAD,
    I_GAME_ERROR_SOUND,
    I_GAME_ERROR_FRAMES,
    I_GAME_ERROR_TR_SOUND,
    I_GAME_ERROR_SWITCH_TEXTURE,

    I_GAME_PLAYER_NAME,               
    I_GAME_GAME_TIME,
    I_GAME_PING,
    I_GAME_PING_MS,
    I_GAME_PING_HUD,
    I_GAME_FRAGS,
    I_GAME_DEATHS,
    I_GAME_DM,                        
    I_GAME_CTF,
    I_GAME_TDM,
    I_GAME_COOP,
    I_GAME_LMS,
    I_GAME_TLMS,
    I_GAME_SURV,
    I_GAME_FRAG_LIMIT,
    I_GAME_SCORE_LIMIT,
    I_GAME_TIME_LIMIT,                
    I_GAME_TEAM_SCORE_RED,
    I_GAME_TEAM_SCORE_BLUE,
    I_GAME_TEAM_RED,                  
    I_GAME_TEAM_BLUE,                 
    I_GAME_WIN_RED,
    I_GAME_WIN_BLUE,                  
    I_GAME_WIN_DRAW,
    I_GAME_MONSTERS,
    I_GAME_SECRETS,
    I_GAME_MONSTERS_TOTAL,
    I_GAME_SECRETS_TOTAL,

    I_GAME_CHEAT_GODMODE,
    I_GAME_CHEAT_WEAPONS,
    I_GAME_CHEAT_HEALTH,
    I_GAME_CHEAT_DEATH,
    I_GAME_CHEAT_DOORS,
    I_GAME_CHEAT_NEXTMAP,
    I_GAME_CHEAT_CHANGEMAP,
    I_GAME_CHEAT_FLY,
    I_GAME_CHEAT_JUMPS,
    I_GAME_CHEAT_SPEED,
    I_GAME_CHEAT_SUIT,
    I_GAME_CHEAT_AIR,
    I_GAME_CHEAT_BERSERK,
    I_GAME_CHEAT_JETPACK,
    I_GAME_CHEAT_NOCLIP,
    I_GAME_CHEAT_NOTARGET,
    I_GAME_CHEAT_NORELOAD,
    I_GAME_CHEAT_AIMLINE,
    I_GAME_CHEAT_AUTOMAP,

    I_MENU_START_GAME,
    I_MENU_MAIN_MENU,
    I_MENU_NEW_GAME,                  
    I_MENU_MULTIPLAYER,               
    I_MENU_OPTIONS,
    I_MENU_AUTHORS,                   
    I_MENU_EXIT,                      
    I_MENU_1_PLAYER,                  
    I_MENU_2_PLAYERS,
    I_MENU_CUSTOM_GAME,
    I_MENU_CAMPAIGN,
    I_MENU_START_SERVER,
    I_MENU_START_CLIENT,
    I_MENU_CLIENT_CONNECT,
    I_MENU_SELECT_MAP,
    I_MENU_VIDEO_OPTIONS,             
    I_MENU_SOUND_OPTIONS,             
    I_MENU_SAVED_OPTIONS,             
    I_MENU_DEFAULT_OPTIONS,
    I_MENU_GAME_OPTIONS,              
    I_MENU_CONTROLS_OPTIONS,          
    I_MENU_PLAYER_OPTIONS,
    I_MENU_LANGUAGE_OPTIONS,
    I_MENU_CHANGE_PLAYERS,
    I_MENU_LOAD_GAME,
    I_MENU_SAVE_GAME,
    I_MENU_END_GAME,                  
    I_MENU_RESTART,                   
    I_MENU_SET_GAME,

    I_MENU_JOIN_RED,
    I_MENU_JOIN_BLUE,
    I_MENU_JOIN_GAME,
    I_MENU_ADD_PLAYER_2,
    I_MENU_REM_PLAYER_2,
    I_MENU_SPECTATE,

    I_MENU_STATISTICS,
    I_MENU_MAP,                       
    I_MENU_GAME_TYPE,                 
    I_MENU_GAME_TYPE_DM,              
    I_MENU_GAME_TYPE_CTF,
    I_MENU_GAME_TYPE_TDM,             
    I_MENU_GAME_TYPE_COOP,
    I_MENU_GAME_TYPE_SINGLE,
    I_MENU_TIME_LIMIT,
    I_MENU_GOAL_LIMIT,
    I_MENU_MAX_LIVES,               
    I_MENU_TEAM_DAMAGE,               
    I_MENU_ENABLE_EXITS,
    I_MENU_WEAPONS_STAY,
    I_MENU_ENABLE_MONSTERS,           
    I_MENU_BOTS_VS,                   
    I_MENU_BOTS_VS_PLAYERS,           
    I_MENU_BOTS_VS_MONSTERS,          
    I_MENU_BOTS_VS_ALL,               

    I_MENU_MAP_WAD,
    I_MENU_MAP_RESOURCE,              
    I_MENU_MAP_NAME,                  
    I_MENU_MAP_AUTHOR,                
    I_MENU_MAP_DESCRIPTION,
    I_MENU_MAP_SIZE,
    I_MENU_PLAYERS,
    I_MENU_PLAYERS_ONE,
    I_MENU_PLAYERS_TWO,
    I_MENU_SERVER_PLAYERS,

    I_MENU_INTER_MISSION_FAIL,
    I_MENU_INTER_ROUND_OVER,
    I_MENU_INTER_LEVEL_COMPLETE,
    I_MENU_INTER_TIME,
    I_MENU_INTER_KILLS,
    I_MENU_INTER_KPM,
    I_MENU_INTER_SECRETS,
    I_MENU_INTER_NOTICE_TAB,
    I_MENU_INTER_NOTICE_MAP,
    I_MENU_INTER_NOTICE_SPACE,
    I_MENU_INTER_NOTICE_TIME,
    I_MENU_LOADING,
    I_MENU_PLAYER_1,
    I_MENU_PLAYER_2,

    I_MENU_CONTROL_GLOBAL,            
    I_MENU_CONTROL_SCREENSHOT,        
    I_MENU_CONTROL_STAT,
    I_MENU_CONTROL_CHAT,
    I_MENU_CONTROL_TEAMCHAT,           
    I_MENU_CONTROL_LEFT,              
    I_MENU_CONTROL_RIGHT,
    I_MENU_CONTROL_UP,                
    I_MENU_CONTROL_DOWN,
    I_MENU_CONTROL_JUMP,              
    I_MENU_CONTROL_FIRE,
    I_MENU_CONTROL_USE,               
    I_MENU_CONTROL_NEXT_WEAPON,
    I_MENU_CONTROL_PREV_WEAPON,

    I_MENU_COUNT_NONE,
    I_MENU_COUNT_SMALL,               
    I_MENU_COUNT_NORMAL,              
    I_MENU_COUNT_BIG,                 
    I_MENU_COUNT_VERYBIG,             

    I_MENU_GAME_BLOOD_COUNT,
    I_MENU_GAME_MAX_GIBS,
    I_MENU_GAME_MAX_CORPSES,          
    I_MENU_GAME_GIBS_COUNT,
    I_MENU_GAME_MAX_SHELLS,
    I_MENU_GAME_BLOOD_TYPE,
    I_MENU_GAME_BLOOD_TYPE_SIMPLE,    
    I_MENU_GAME_BLOOD_TYPE_ADV,       
    I_MENU_GAME_CORPSE_TYPE,          
    I_MENU_GAME_CORPSE_TYPE_SIMPLE,   
    I_MENU_GAME_CORPSE_TYPE_ADV,
    I_MENU_GAME_GIBS_TYPE,
    I_MENU_GAME_GIBS_TYPE_SIMPLE,
    I_MENU_GAME_GIBS_TYPE_ADV,
    I_MENU_GAME_PARTICLES_COUNT,
    I_MENU_GAME_SCREEN_FLASH,
    I_MENU_GAME_BACKGROUND,
    I_MENU_GAME_MESSAGES,
    I_MENU_GAME_REVERT_PLAYERS,
    I_MENU_GAME_CHAT_BUBBLE,
    I_MENU_GAME_CHAT_TYPE_NONE,
    I_MENU_GAME_CHAT_TYPE_SIMPLE,
    I_MENU_GAME_CHAT_TYPE_ADV,
    I_MENU_GAME_CHAT_TYPE_COLOR,
    I_MENU_GAME_CHAT_TYPE_TEXTURE,

    I_MENU_VIDEO_RESOLUTION,
    I_MENU_VIDEO_BPP,
    I_MENU_VIDEO_VSYNC,               
    I_MENU_VIDEO_FILTER_SKY,          
    I_MENU_VIDEO_NEED_RESTART,

    I_MENU_RESOLUTION_SELECT,
    I_MENU_RESOLUTION_CURRENT,
    I_MENU_RESOLUTION_LIST,
    I_MENU_RESOLUTION_FULLSCREEN,
    I_MENU_RESOLUTION_APPLY,

    I_MENU_SOUND_MUSIC_LEVEL,         
    I_MENU_SOUND_SOUND_LEVEL,
    I_MENU_SOUND_MAX_SIM_SOUNDS,      
    I_MENU_SOUND_INACTIVE_SOUNDS,     
    I_MENU_SOUND_INACTIVE_SOUNDS_ON,  
    I_MENU_SOUND_INACTIVE_SOUNDS_OFF,
    I_MENU_SOUND_ANNOUNCE,
    I_MENU_SOUND_COMPAT,
    I_MENU_ANNOUNCE_NONE,
    I_MENU_ANNOUNCE_ME,
    I_MENU_ANNOUNCE_MEPLUS,
    I_MENU_ANNOUNCE_ALL,
    I_MENU_COMPAT_DF,
    I_MENU_COMPAT_DOOM2,

    I_MENU_PLAYER_NAME,
    I_MENU_PLAYER_TEAM,               
    I_MENU_PLAYER_TEAM_RED,           
    I_MENU_PLAYER_TEAM_BLUE,
    I_MENU_PLAYER_MODEL,              
    I_MENU_PLAYER_RED,                
    I_MENU_PLAYER_GREEN,              
    I_MENU_PLAYER_BLUE,
               
    I_MENU_MODEL_INFO,                
    I_MENU_MODEL_ANIMATION,
    I_MENU_MODEL_CHANGE_WEAPON,       
    I_MENU_MODEL_ROTATE,              
    I_MENU_MODEL_NAME,
    I_MENU_MODEL_AUTHOR,
    I_MENU_MODEL_COMMENT,             
    I_MENU_MODEL_OPTIONS,             
    I_MENU_MODEL_WEAPON,

    I_MENU_LANGUAGE_RUSSIAN,
    I_MENU_LANGUAGE_ENGLISH,

    I_MENU_PAUSE,                     
    I_MENU_YES,                       
    I_MENU_NO,                        
    I_MENU_OK,                        
    I_MENU_FINISH,

    I_MENU_END_GAME_PROMT,            
    I_MENU_RESTART_GAME_PROMT,        
    I_MENU_EXIT_PROMT,
    I_MENU_SET_DEFAULT_PROMT,         
    I_MENU_LOAD_SAVED_PROMT,
    I_MENU_ENTERPASSWORD,

    I_NET_SERVER,
    I_NET_CLIENT,
    I_NET_ADDRESS,
    I_NET_PORT,
    I_NET_SERVER_NAME,
    I_NET_SERVER_PASSWORD,
    I_NET_MAX_CLIENTS,
    I_NET_USE_MASTER,

    I_NET_MSG,
    I_NET_MSG_ERROR,
    I_NET_MSG_FERROR,

    I_NET_MSG_HOST,
    I_NET_MSG_HOST_DISCALL,
    I_NET_MSG_HOST_DIE,
    I_NET_MSG_HOST_CONN,
    I_NET_MSG_HOST_REJECT,
    I_NET_MSG_HOST_ADD,
    I_NET_MSG_HOST_DISC,
    I_NET_MSG_CLIENT_CONN,
    I_NET_MSG_CLIENT_DONE,
    I_NET_MSG_CLIENT_DISC,
    I_NET_MSG_KICK,

    I_NET_MAP_DL,
    I_NET_WAD_DL,

    I_NET_ERR_ENET,
    I_NET_ERR_HOST,
    I_NET_ERR_INGAME,
    I_NET_ERR_CLIENT,
    I_NET_ERR_CONN,
    I_NET_ERR_TIMEOUT,
    I_NET_ERR_HASH,
    I_NET_ERR_NAME404,

    I_NET_DISC_NONE,
    I_NET_DISC_PROTOCOL,
    I_NET_DISC_VERSION,
    I_NET_DISC_FULL,
    I_NET_DISC_KICK,
    I_NET_DISC_DOWN,
    I_NET_DISC_PASSWORD,
    I_NET_DISC_TEMPBAN,
    I_NET_DISC_BAN,

    I_NET_SLIST,
    I_NET_SLIST_NOSERVERS,
    I_NET_SLIST_SERVERS,
    I_NET_SLIST_HELP,
    I_NET_SLIST_WAIT,
    I_NET_SLIST_PING_MS,
    I_NET_SLIST_NO_ACCESS,

    I_NET_SLIST_FETCH,
    I_NET_SLIST_RETRIEVED,
    I_NET_SLIST_CONN,
    I_NET_SLIST_DISC,
    I_NET_SLIST_LOST,
    I_NET_SLIST_ERROR,

    I_NET_RCON_PWD_VALID,
    I_NET_RCON_PWD_INVALID,
    I_NET_RCON_NOAUTH,

    I_PLAYER_DIED,
    I_PLAYER_KILL,
    I_PLAYER_KILL_EXTRAHARD_1,
    I_PLAYER_KILL_EXTRAHARD_2,
    I_PLAYER_KILL_ACID,
    I_PLAYER_KILL_TRAP,
    I_PLAYER_KILL_FALL,
    I_PLAYER_KILL_SELF,
    I_PLAYER_KILL_WATER,

    I_PLAYER_KILL_2X,
    I_PLAYER_KILL_3X,
    I_PLAYER_KILL_4X,
    I_PLAYER_KILL_MX,

    I_PLAYER_JOIN,
    I_PLAYER_LEAVE,
    I_PLAYER_KICK,
    I_PLAYER_BAN,
    I_PLAYER_NAME,
    I_PLAYER_CHTEAM_RED,
    I_PLAYER_CHTEAM_BLUE,

    I_PLAYER_SPECT,
    I_PLAYER_SPECT1,
    I_PLAYER_SPECT1S,
    I_PLAYER_SPECT2,
    I_PLAYER_SPECT3,
    I_PLAYER_SPECT4,

    I_PLAYER_FLAG_GET,
    I_PLAYER_FLAG_RETURN,             
    I_PLAYER_FLAG_CAPTURE,            
    I_PLAYER_FLAG_DROP,
    I_PLAYER_FLAG_RED,                
    I_PLAYER_FLAG_BLUE,

    I_PLAYER_SCORE_RED,
    I_PLAYER_SCORE_BLUE,
    I_PLAYER_SCORE_TO_RED,
    I_PLAYER_SCORE_TO_BLUE,
    I_PLAYER_SCORE_ADD_OWN,
    I_PLAYER_SCORE_SUB_OWN,
    I_PLAYER_SCORE_ADD_ENEMY,
    I_PLAYER_SCORE_SUB_ENEMY,
    I_PLAYER_SCORE_WIN_OWN,
    I_PLAYER_SCORE_WIN_ENEMY,
    I_PLAYER_SCORE_ADD_TEAM,
    I_PLAYER_SCORE_SUB_TEAM,

    I_MESSAGE_FLAG_GET,
    I_MESSAGE_FLAG_RETURN,
    I_MESSAGE_FLAG_CAPTURE,
    I_MESSAGE_FLAG_DROP,

    I_MESSAGE_LMS_LOSE,
    I_MESSAGE_LMS_WIN,
    I_MESSAGE_LMS_START,
    I_MESSAGE_TLMS_WIN,
    I_MESSAGE_LMS_SURVIVOR,

    I_MESSAGE_SCORE_ADD,
    I_MESSAGE_SCORE_SUB,

    I_MESSAGE_VOTE_INPROGRESS,
    I_MESSAGE_VOTE_STARTED,
    I_MESSAGE_VOTE_PASSED,
    I_MESSAGE_VOTE_FAILED,
    I_MESSAGE_VOTE_VOTE,
    I_MESSAGE_VOTE_REVOKED,

    I_KEY_UP,
    I_KEY_DOWN,                       
    I_KEY_LEFT,                       
    I_KEY_RIGHT,

    I_MONSTER_DEMON,
    I_MONSTER_IMP,
    I_MONSTER_ZOMBIE,
    I_MONSTER_SERGEANT,
    I_MONSTER_CYBER,
    I_MONSTER_CGUN,
    I_MONSTER_BARON,
    I_MONSTER_KNIGHT,
    I_MONSTER_CACODEMON,
    I_MONSTER_SOUL,
    I_MONSTER_PAIN,
    I_MONSTER_MASTERMIND,
    I_MONSTER_SPIDER,
    I_MONSTER_MANCUBUS,
    I_MONSTER_REVENANT,
    I_MONSTER_ARCHVILE,
    I_MONSTER_FISH,
    I_MONSTER_BARREL,
    I_MONSTER_ROBOT,
    I_MONSTER_PRIKOLIST,

    I_LOAD_MUSIC,
    I_LOAD_MODELS,                    
    I_LOAD_MENUS,                     
    I_LOAD_CONSOLE,                   
    I_LOAD_ITEMS_DATA,                
    I_LOAD_WEAPONS_DATA,
    I_LOAD_GAME_DATA,                 
    I_LOAD_COLLIDE_MAP,               
    I_LOAD_DOOR_MAP,
    I_LOAD_LIFT_MAP,
    I_LOAD_WATER_MAP,                 
    I_LOAD_WAD_FILE,                  
    I_LOAD_MAP,
    I_LOAD_TEXTURES,                  
    I_LOAD_TRIGGERS,                  
    I_LOAD_PANELS,                    
    I_LOAD_TRIGGERS_TABLE,
    I_LOAD_LINK_TRIGGERS,             
    I_LOAD_CREATE_TRIGGERS,           
    I_LOAD_ITEMS,                     
    I_LOAD_CREATE_ITEMS,              
    I_LOAD_AREAS,
    I_LOAD_CREATE_AREAS,              
    I_LOAD_MONSTERS,                  
    I_LOAD_CREATE_MONSTERS,           
    I_LOAD_MAP_HEADER,                
    I_LOAD_SKY,
    I_LOAD_MONSTER_TEXTURES,
    I_LOAD_MONSTER_SOUNDS,
    I_LOAD_SAVE_FILE,                 
    I_LOAD_MAP_STATE,                 
    I_LOAD_ITEMS_STATE,               
    I_LOAD_TRIGGERS_STATE,
    I_LOAD_WEAPONS_STATE,             
    I_LOAD_MONSTERS_STATE,
    I_LOAD_CONNECT,
    I_LOAD_SEND_INFO,
    I_LOAD_WAIT_INFO,
    I_LOAD_DL_RES,           

    I_CREDITS_CAP_1,
    I_CREDITS_CAP_2,
    I_CREDITS_A_1,
    I_CREDITS_A_1_1,
    I_CREDITS_A_2,
    I_CREDITS_A_2_1,
    I_CREDITS_A_3,
    I_CREDITS_A_3_1,
    I_CREDITS_A_4,
    I_CREDITS_A_4_1,
    I_CREDITS_CAP_3,                      
    I_CREDITS_CLO_1,
    I_CREDITS_CLO_2,
    I_CREDITS_CLO_3,
    I_CREDITS_CLO_4,

    I_MSG_SHOW_FPS_ON,
    I_MSG_SHOW_FPS_OFF,
    I_MSG_GAMEMODE_CURRENT,
    I_MSG_GAMEMODE_CHANGE,
    I_MSG_FRIENDLY_FIRE_ON,
    I_MSG_FRIENDLY_FIRE_OFF,
    I_MSG_WEAPONSTAY_ON,
    I_MSG_WEAPONSTAY_OFF,
    I_MSG_ALLOWEXIT_ON,
    I_MSG_ALLOWEXIT_OFF,
    I_MSG_ALLOWMON_ON,
    I_MSG_ALLOWMON_OFF,
    I_MSG_BOTSVSPLAYERS_ON,
    I_MSG_BOTSVSPLAYERS_OFF,
    I_MSG_BOTSVSMONSTERS_ON,
    I_MSG_BOTSVSMONSTERS_OFF,
    I_MSG_TIME_ON,
    I_MSG_TIME_OFF,
    I_MSG_SCORE_ON,
    I_MSG_SCORE_OFF,
    I_MSG_STATS_ON,
    I_MSG_STATS_OFF,
    I_MSG_KILL_MSGS_ON,
    I_MSG_KILL_MSGS_OFF,
    I_MSG_LIVES_ON,
    I_MSG_LIVES_OFF,
    I_MSG_SPECT_HUD_ON,
    I_MSG_SPECT_HUD_OFF,
    I_MSG_PING_ON,
    I_MSG_PING_OFF,
    I_MSG_NO_WAD,
    I_MSG_NO_MAPS,
    I_MSG_NO_MAP,
    I_MSG_NO_MONSTER,
    I_MSG_SCORE_LIMIT,
    I_MSG_TIME_LIMIT,
    I_MSG_LIVES,
    I_MSG_WARMUP,
    I_MSG_WARMUP_START,
    I_MSG_NEXTMAP_SET,
    I_MSG_NEXTMAP_UNSET,
    I_MSG_ONMAPCHANGE,
    I_MSG_NOT_GAME,
    I_MSG_NOT_DEBUG,
    I_MSG_GM_UNAVAIL,
    I_MSG_SERVERONLY,
    I_MSG_NOCLIENTS,
    I_MSG_UNBAN_OK,
    I_MSG_UNBAN_FAIL,

    I_TEXTURE_ENDPIC,

    I_VERSION,                    

    I_FATAL_ERROR,
    I_SIMPLE_ERROR,
    I_SYSTEM_ERROR_UNKNOWN,
    I_SYSTEM_ERROR_MSG,

    I_LAST );

const
  LANGUAGE_RUSSIAN = 'Russian';
  LANGUAGE_ENGLISH = 'English';
  LANGUAGE_RUSSIAN_N = 3;
  LANGUAGE_ENGLISH_N = 2;

var
  _lc: Array [TStrings_Locale] of String;
  KilledByMonster: Array [MONSTER_DEMON..MONSTER_MAN] of String;
  CheatEng: Array [I_GAME_CHEAT_GODMODE..I_GAME_CHEAT_AUTOMAP] of String;
  CheatRus: Array [I_GAME_CHEAT_GODMODE..I_GAME_CHEAT_AUTOMAP] of String;

procedure g_Language_Load(fileName: String);
procedure g_Language_Set(lang: String);
procedure g_Language_Dump(fileName: String);

implementation

uses
  SysUtils, g_gui, g_basic, e_log;

const
  g_lang_default: Array [TStrings_Locale] of Array [1..3] of String = (
    ('CONSOLE EXEC',                   'Executing script: "%s"',
                                       'Выполняется скрипт: "%s"'),
    ('CONSOLE DUMPED',                 'Saved to "%s"',
                                       'Сохранено в "%s"'),
    ('CONSOLE ERROR CALL',             'Console loop detected. Execution terminated.',
                                       'Обнаружен бесконечный цикл. Скрипт остановлен.'),
    ('CONSOLE ERROR READ',             'Error reading file "%s"',
                                       'Ошибка при чтении файла "%s"'),
    ('CONSOLE ERROR WRITE',            'Error writing file "%s"',
                                       'Ошибка при записи в файл "%s"'),
    ('CONSOLE SCREENSHOT',             'Screenshot saved to "%s"',
                                       'Скриншот сохранён в "%s"'),
    ('CONSOLE UNKNOWN',                'Unknown command "%s"',
                                       'Неизвестная команда "%s"'),
    ('CONSOLE WELCOME',                'Welcome to Doom 2D: Forever %s',
                                       'Добро пожаловать в Doom 2D: Forever %s'),

    ('GAME ERROR GET SPAWN',           'Can''t find a spawn point!',
                                       'Не удалось получить точку возрождения!'),
    ('GAME ERROR CTF',                 'There are no flags on this map!',
                                       'На карте нет флагов!'),
    ('GAME ERROR MAP WAD',             'Can''t read map WAD "%s"',
                                       'Не удалось загрузить WAD карты: "%s"'),
    ('GAME ERROR MAP RES',             'Can''t load map resource "%s"',
                                       'Не удалось загрузить ресурс карты из WAD: "%s"'),
    ('GAME ERROR MAP LOAD',            'Can''t load map "%s"',
                                       'Не удалось загрузить карту "%s"'),
    ('GAME ERROR MAP SELECT',          'Map reading error!',
                                       'Карта не читается!'),
    ('GAME ERROR PLAYER CREATE',       'Can''t create player #%d',
                                       'Не удалось создать Игрока #%d'),
    ('GAME ERROR TEXTURE ANIM',        'Can''t create animated texture "%s"',
                                       'Не получилось создать анимированную текстуру "%s"'),
    ('GAME ERROR TEXTURE SIMPLE',      'Can''t create ordinary Texture "%s"',
                                       'Не получилось создать обычную текстуру "%s"'),
    ('GAME ERROR MODEL FALLBACK',      'Model "%s" not found, using default model instead',
                                       'Модель "%s" не найдена, используется модель по умолчанию'),
    ('GAME ERROR MODEL',               'Model "%s" not found',
                                       'Модель "%s" не найдена'),
    ('GAME ERROR SKY',                 'Can''t load sky "%s"',
                                       'Не удалось загрузить небо "%s"'),
    ('GAME ERROR MUSIC',               'Can''t load music "%s"',
                                       'Не удалось загрузить музыку "%s"'),
    ('GAME ERROR SAVE',                'Saving state error!',
                                       'Ошибка во время сохранения!'),
    ('GAME ERROR LOAD',                'Loading state error!',
                                       'Ошибка во время загрузки!'),
    ('GAME ERROR SOUND',               'Can''t load sound "%s"',
                                       'Не удалось загрузить звук "%s"'),
    ('GAME ERROR FRAMES',              'Can''t load animation''s frame list "%s"',
                                       'Не удалось загрузить список кадров анимации: "%s"'),
    ('GAME ERROR TR SOUND',            'Can''t load sound "%s:%s" for trigger',
                                       'Не удалось загрузить звук "%s:%s" для триггера'),
    ('GAME ERROR SWITCH TEXTURE',      'Texture switching error: no animation',
                                       'Ошибка при переключении текстуры: нет анимации'),

    ('GAME PLAYER NAME',               'Player name',
                                       'Игрок'),
    ('GAME GAME TIME',                 'Game time:',
                                       'Время игры:'),
    ('GAME PING',                      'Ping (Loss)',
                                       'Пинг (Потери)'),
    ('GAME PING MS',                   '%d ms (%d%%)',
                                       '%d мс (%d%%)'),
    ('GAME PING HUD',                  'Ping: ',
                                       'Пинг: '),
    ('GAME FRAGS',                     'Frags',
                                       'Фрагов'),
    ('GAME DEATHS',                    'Deaths',
                                       'Смертей'),
    ('GAME DM',                        'Deathmatch',
                                       'МЯСОПОВАЛ'),
    ('GAME CTF',                       'Capture the Flag',
                                       'ЗАХВАТ ФЛАГА'),
    ('GAME TDM',                       'Team Deathmatch',
                                       'КОМАНДНЫЙ МЯСОПОВАЛ'),
    ('GAME COOP',                      'Cooperative',
                                       'КООПЕРАТИВ'),
    ('GAME LMS',                       'Last Man Standing',
                                       'ПОСЛЕДНИЙ ГЕРОЙ'),
    ('GAME TLMS',                      'Team LMS',
                                       'СТЕНКА НА СТЕНКУ'),
    ('GAME SURV',                      'Survivor',
                                       'ВЫЖИВАНИЕ'),
    ('GAME FRAG LIMIT',                'Frag Limit: %d',
                                       'ЛИМИТ ФРАГОВ: %d'),
    ('GAME SCORE LIMIT',               'Score Limit: %d',
                                       'ЛИМИТ ОЧКОВ: %d'),
    ('GAME TIME LIMIT',                'Time Limit: %d:%.2d:%.2d',
                                       'ЛИМИТ ВРЕМЕНИ: %d:%.2d:%.2d'),
    ('GAME TEAM SCORE RED',            'Red Team (%d)',
                                       'КРАСНАЯ КОМАНДА (%d)'),
    ('GAME TEAM SCORE BLUE',           'Blue Team (%d)',
                                       'СИНЯЯ КОМАНДА (%d)'),
    ('GAME TEAM RED',                  'Red',
                                       'КРАСНАЯ'),
    ('GAME TEAM BLUE',                 'Blue',
                                       'СИНЯЯ'),
    ('GAME WIN RED',                   'Red Team Wins!',
                                       'ПОБЕДИЛА КРАСНАЯ КОМАНДА!'),
    ('GAME WIN BLUE',                  'Blue Team Wins!',
                                       'ПОБЕДИЛА СИНЯЯ КОМАНДА!'),
    ('GAME WIN DRAW',                  'Stalemate!',
                                       'НИЧЬЯ!'),
    ('GAME MONSTERS',                  'Monsters:',
                                       'Монстров убито:'),
    ('GAME SECRETS',                   'Secrets:',
                                       'Секретов найдено:'),
    ('GAME MONSTERS TOTAL',            'Total monsters killed:',
                                       'Всего монстров убито:'),
    ('GAME SECRETS TOTAL',             'Total secrets found:',
                                       'Всего секретов найдено:'),

    ('GAME CHEAT GODMODE',             'MACLEOD',
                                       'ГОРЕЦ'),
    ('GAME CHEAT WEAPONS',             'RAMBO',
                                       'RAMBO'),
    ('GAME CHEAT HEALTH',              'TANK',
                                       'TANK'),
    ('GAME CHEAT DEATH',               'IDDQD',
                                       'IDDQD'),
    ('GAME CHEAT DOORS',               'SESAME',
                                       'СИМСИМ'),
    ('GAME CHEAT NEXTMAP',             'GOODBYE',
                                       'GOODBYE'),
    ('GAME CHEAT CHANGEMAP',           'GOTO',
                                       'ПОШЕЛНА'),
    ('GAME CHEAT FLY',                 'WHITEEAGLE',
                                       'БЕЛЫЙОРЕЛ'),
    ('GAME CHEAT JUMPS',               'BULLFROG',
                                       'BULLFROG'),
    ('GAME CHEAT SPEED',               'FORMULA1',
                                       'FORMULA1'),
    ('GAME CHEAT SUIT',                'CONDOM',
                                       'CONDOM'),
    ('GAME CHEAT AIR',                 'AQUAMAN',
                                       'ЧЕРНОМОР'),
    ('GAME CHEAT BERSERK',             'PURELOVE',
                                       'PURELOVE'),
    ('GAME CHEAT JETPACK',             'LUCYINTHESKY',
                                       'ЯСВОБОДЕН'),
    ('GAME CHEAT NOCLIP',              'CASPER',
                                       'CASPER'),
    ('GAME CHEAT NOTARGET',            'JAMESBOND',
                                       'ШТИРЛИЦ'),
    ('GAME CHEAT NORELOAD',            'INFERNO',
                                       'INFERNO'),
    ('GAME CHEAT AIMLINE',             'SNIPER',
                                       'СНАЙПЕР'),
    ('GAME CHEAT AUTOMAP',             'ID2DT',
                                       'ID2DT'),

    ('MENU START GAME',                'Start Game',
                                       'НАЧАТЬ ИГРУ'),
    ('MENU MAIN MENU',                 'Menu',
                                       'МЕНЮ'),
    ('MENU NEW GAME',                  'New Game',
                                       'НОВАЯ ИГРА'),
    ('MENU MULTIPLAYER',               'Multiplayer',
                                       'МУЛЬТИПЛЕЕР'),
    ('MENU OPTIONS',                   'Options',
                                       'НАСТРОЙКИ'),
    ('MENU AUTHORS',                   'Credits',
                                       'АВТОРЫ'),
    ('MENU EXIT',                      'Exit',
                                       'ВЫХОД'),
    ('MENU 1 PLAYER',                  'Single player',
                                       'ОДИН ИГРОК'),
    ('MENU 2 PLAYERS',                 'Two players',
                                       'ДВА ИГРОКА'),
    ('MENU CUSTOM GAME',               'Custom game',
                                       'СВОЯ ИГРА'),
    ('MENU CAMPAIGN',                  'Campaign select',
                                       'ВЫБОР КАМПАНИИ'),
    ('MENU START SERVER',              'Create a server',
                                       'СОЗДАТЬ СЕРВЕР'),
    ('MENU START CLIENT',              'Join to game',
                                       'ВСТУПИТЬ В ИГРУ'),
    ('MENU CLIENT CONNECT',            'Connect',
                                       'Присоединиться'),
    ('MENU SELECT MAP',                'Map',
                                       'КАРТА'),
    ('MENU VIDEO OPTIONS',             'Video',
                                       'ВИДЕО'),
    ('MENU SOUND OPTIONS',             'Sound',
                                       'ЗВУК'),
    ('MENU SAVED OPTIONS',             'Saved options',
                                       'СОХРАНЁННЫЕ'),
    ('MENU DEFAULT OPTIONS',           'Default options',
                                       'СТАНДАРТНЫЕ'),
    ('MENU GAME OPTIONS',              'Gameplay',
                                       'ИГРА'),
    ('MENU CONTROLS OPTIONS',          'Controls',
                                       'УПРАВЛЕНИЕ'),
    ('MENU PLAYER OPTIONS',            'Players',
                                       'ИГРОКИ'),
    ('MENU LANGUAGE OPTIONS',          'Language',
                                       'ЯЗЫК'),
    ('MENU CHANGE PLAYERS',            'Change players',
                                       'СМЕНА СОСТАВА'),
    ('MENU LOAD GAME',                 'Load game',
                                       'СТАРАЯ ИГРА'),
    ('MENU SAVE GAME',                 'Save game',
                                       'СОХРАНИТЬ ИГРУ'),
    ('MENU END GAME',                  'End game',
                                       'ЗАКОНЧИТЬ ИГРУ'),
    ('MENU RESTART',                   'Restart game',
                                       'НАЧАТЬ ЗАНОВО'),
    ('MENU SET GAME',                  'Setup game',
                                       'РАЗНОЕ'),

    ('MENU JOIN RED',                  'Join Red',
                                       'ВОЙТИ ЗА КРАСНЫХ'),
    ('MENU JOIN BLUE',                 'Join Blue',
                                       'ВОЙТИ ЗА СИНИХ'),
    ('MENU JOIN GAME',                 'Join Game',
                                       'ВОЙТИ В ИГРУ'),
    ('MENU ADD PLAYER 2',              'Add Player 2',
                                       'ДОБАВИТЬ 2 ИГРОКА'),
    ('MENU REM PLAYER 2',              'Remove Player 2',
                                       'УБРАТЬ 2 ИГРОКА'),
    ('MENU SPECTATE',                  'Spectate',
                                       'НАБЛЮДАТЬ'),

    ('MENU STATISTICS',                'Statistics',
                                       'СТАТИСТИКА ИГРЫ'),
    ('MENU MAP',                       'Map:',
                                       'Карта:'),
    ('MENU GAME TYPE',                 'Game type:',
                                       'Режим игры:'),
    ('MENU GAME TYPE DM',              'DM',
                                       'DM'),
    ('MENU GAME TYPE CTF',             'CTF',
                                       'CTF'),
    ('MENU GAME TYPE TDM',             'TDM',
                                       'TDM'),
    ('MENU GAME TYPE COOP',            'COOP',
                                       'COOP'),
    ('MENU GAME TYPE SINGLE',          'SINGLE',
                                       'SINGLE'),
    ('MENU TIME LIMIT',                'Time Limit:',
                                       'Лимит времени:'),
    ('MENU GOAL LIMIT',                'Score Limit:',
                                       'Лимит очков:'),
    ('MENU MAX LIVES',                 'Lives:',
                                       'Жизни:'),
    ('MENU TEAM DAMAGE',               'Friendly Fire:',
                                       'Урон своих:'),
    ('MENU ENABLE EXITS',              'Enable Exit:',
                                       'Включить выход:'),
    ('MENU WEAPONS STAY',              'Weapons stay:',
                                       'Оружие остаётся:'),
    ('MENU ENABLE MONSTERS',           'Enable monsters:',
                                       'Монстры:'),
    ('MENU BOTS VS',                   'Bots fight with:',
                                       'Боты против:'),
    ('MENU BOTS VS PLAYERS',           'Players',
                                       'Игроков'),
    ('MENU BOTS VS MONSTERS',          'Monsters',
                                       'Монстров'),
    ('MENU BOTS VS ALL',               'Everybody',
                                       'Всех'),

    ('MENU MAP WAD',                   'Select WAD:',
                                       'Выбор WAD''а:'),
    ('MENU MAP RESOURCE',              'Select Map:',
                                       'Выбор карты:'),
    ('MENU MAP NAME',                  'Name:',
                                       'Название:'),
    ('MENU MAP AUTHOR',                'Author:',
                                       'Автор:'),
    ('MENU MAP DESCRIPTION',           'Description:',
                                       'Описание:'),
    ('MENU MAP SIZE',                  'Size:',
                                       'Размер:'),
    ('MENU PLAYERS',                   'Players:',
                                       'Число игроков:'),
    ('MENU PLAYERS ONE',               'One',
                                       'Один'),
    ('MENU PLAYERS TWO',               'Two',
                                       'Два'),
    ('MENU SERVER PLAYERS',            'Local Players:',
                                       'Локальные игроки:'),

    ('MENU INTER MISSION FAIL',        'Mission Failed',
                                       'МИССИЯ ПРОВАЛЕНА'),
    ('MENU INTER ROUND OVER',          'Round Over',
                                       'РАУНД ОКОНЧЕН'),
    ('MENU INTER LEVEL COMPLETE',      'Level Completed',
                                       'УРОВЕНЬ ПРОЙДЕН'),
    ('MENU INTER TIME',                'Time:',
                                       'ВРЕМЯ:'),
    ('MENU INTER KILLS',               'Kills:',
                                       'УБИЛ:'),
    ('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 LOADING',                   'Loading...',
                                       'Загрузка...'),
    ('MENU PLAYER 1',                  'Player 1',
                                       'Первый игрок'),
    ('MENU PLAYER 2',                  'Player 2',
                                       'Второй игрок'),

    ('MENU CONTROL GLOBAL',            'Global Controls',
                                       'ОБЩЕЕ УПРАВЛЕНИЕ'),
    ('MENU CONTROL SCREENSHOT',        'Screenshot:',
                                       'Скриншот:'),
    ('MENU CONTROL STAT',              'Statistics:',
                                       'Статистика:'),
    ('MENU CONTROL CHAT',              'Chat:',
                                       'Чат:'),
    ('MENU CONTROL TEAMCHAT',          'Team chat:',
                                       'Командный чат:'),
    ('MENU CONTROL LEFT',              'Left:',
                                       'Влево:'),
    ('MENU CONTROL RIGHT',             'Right:',
                                       'Вправо:'),
    ('MENU CONTROL UP',                'Up:',
                                       'Вверх:'),
    ('MENU CONTROL DOWN',              'Down:',
                                       'Вниз:'),
    ('MENU CONTROL JUMP',              'Jump:',
                                       'Прыжок:'),
    ('MENU CONTROL FIRE',              'Fire:',
                                       'Огонь:'),
    ('MENU CONTROL USE',               'Use:',
                                       'Использовать:'),
    ('MENU CONTROL NEXT WEAPON',       'Next weapon:',
                                       'След. оружие:'),
    ('MENU CONTROL PREV WEAPON',       'Prev weapon:',
                                       'Пред. оружие:'),

    ('MENU COUNT NONE',                'None',
                                       'Нет'),
    ('MENU COUNT SMALL',               'Little',
                                       'Мало'),
    ('MENU COUNT NORMAL',              'Normal',
                                       'Средне'),
    ('MENU COUNT BIG',                 'Lots',
                                       'Много'),
    ('MENU COUNT VERYBIG',             'Massacre',
                                       'Очень много'),

    ('MENU GAME BLOOD COUNT',          'Blood:',
                                       'Количество крови:'),
    ('MENU GAME MAX GIBS',             'Gib limit:',
                                       'Лимит кусков:'),
    ('MENU GAME MAX CORPSES',          'Corpse limit:',
                                       'Лимит трупов:'),
    ('MENU GAME GIBS COUNT',           'Gibs count:',
                                       'Кусков за раз:'),
    ('MENU GAME MAX SHELLS',           'Shells limit:',
                                       'Лимит гильз:'),
    ('MENU GAME BLOOD TYPE',           'Blood type:',
                                       'Тип крови:'),
    ('MENU GAME BLOOD TYPE SIMPLE',    'Simple',
                                       'Простая'),
    ('MENU GAME BLOOD TYPE ADV',       'Dripping',
                                       'Продвинутая'),
    ('MENU GAME CORPSE TYPE',          'Corpse type:',
                                       'Тип трупов:'),
    ('MENU GAME CORPSE TYPE SIMPLE',   'Simple',
                                       'Простые'),
    ('MENU GAME CORPSE TYPE ADV',      'Interactive',
                                       'Продвинутые'),
    ('MENU GAME GIBS TYPE',            'Gibs type:',
                                       'Тип кусков:'),
    ('MENU GAME GIBS TYPE SIMPLE',     'Simple',
                                       'Простые'),
    ('MENU GAME GIBS TYPE ADV',        'Interactive',
                                       'Продвинутые'),
    ('MENU GAME PARTICLES COUNT',      'Particle limit:',
                                       'Количество частиц:'),
    ('MENU GAME SCREEN FLASH',         'Screen flash:',
                                       'Вспышки экрана:'),
    ('MENU GAME BACKGROUND',           'Draw background:',
                                       'Рисовать фон:'),
    ('MENU GAME MESSAGES',             'Show messages:',
                                       'Выводить сообщения:'),
    ('MENU GAME REVERT PLAYERS',       'Revert players:',
                                       'Перевернуть экраны:'),
    ('MENU GAME CHAT BUBBLE',          'Chat bubbles:',
                                       'Чат значки:'),
    ('MENU GAME CHAT TYPE NONE',       'None',
                                       'Нет'),
    ('MENU GAME CHAT TYPE SIMPLE',     'Simple',
                                       'Простые'),
    ('MENU GAME CHAT TYPE ADV',        'Advanced',
                                       'Продвинутые'),
    ('MENU GAME CHAT TYPE COLOR',      'Colored',
                                       'Цветные'),
    ('MENU GAME CHAT TYPE TEXTURE',    'Textured',
                                       'Текстурные'),

    ('MENU VIDEO RESOLUTION',          'Set video mode',
                                       'Установка видеорежима'),
    ('MENU VIDEO BPP',                 'Color depth:',
                                       'Глубина цвета:'),
    ('MENU VIDEO VSYNC',               'Vertical sync',
                                       'Верт. синхронизация:'),
    ('MENU VIDEO FILTER SKY',          'Anisotropic sky',
                                       'Фильтрация неба:'),
    ('MENU VIDEO NEED RESTART',        'Video settings will be changed after game restart.',
                                       'Данные настройки видео вступят в силу после перезапуска игры.'),

    ('MENU RESOLUTION SELECT',         'SET VIDEO MODE',
                                       'УСТАНОВКА ВИДЕОРЕЖИМА'),
    ('MENU RESOLUTION CURRENT',        'Current:',
                                       'Текущий:'),
    ('MENU RESOLUTION LIST',           'New:',
                                       'Новый:'),
    ('MENU RESOLUTION FULLSCREEN',     'Fullscreen:',
                                       'Полный экран:'),
    ('MENU RESOLUTION APPLY',          'Apply',
                                       'Применить'),

    ('MENU SOUND MUSIC LEVEL',         'Music volume:',
                                       'Громкость музыки:'),
    ('MENU SOUND SOUND LEVEL',         'Sound volume:',
                                       'Громкость звука:'),
    ('MENU SOUND MAX SIM SOUNDS',      'One sound count:',
                                       'Кол-во одного звука:'),
    ('MENU SOUND INACTIVE SOUNDS',     'Window inactive:',
                                       'Окно неактивно:'),
    ('MENU SOUND INACTIVE SOUNDS ON',  'Play sounds',
                                       'Звуки есть'),
    ('MENU SOUND INACTIVE SOUNDS OFF', 'Mute sounds',
                                       'Звуков нет'),
    ('MENU SOUND ANNOUNCE',            'Announcements:',
                                       'Объявления:'),
    ('MENU SOUND COMPAT',              'Sound FX set:',
                                       'Набор звуков:'),
    ('MENU ANNOUNCE NONE',             'None',
                                       'Нет'),
    ('MENU ANNOUNCE ME',               'Only my',
                                       'Только мои'),
    ('MENU ANNOUNCE MEPLUS',           'My + multikills',
                                       'Мои + мультикиллы'),
    ('MENU ANNOUNCE ALL',              'Everybody',
                                       'Все'),
    ('MENU COMPAT DF',                 'Doom 2D',
                                       'Doom 2D'),
    ('MENU COMPAT DOOM2',              'Doom II',
                                       'Doom II'),

    ('MENU PLAYER NAME',               'Name:',
                                       'Имя:'),
    ('MENU PLAYER TEAM',               'Team:',
                                       'Команда:'),
    ('MENU PLAYER TEAM RED',           'Red',
                                       'Красная'),
    ('MENU PLAYER TEAM BLUE',          'Blue',
                                       'Синяя'),
    ('MENU PLAYER MODEL',              'Model:',
                                       'Модель:'),
    ('MENU PLAYER RED',                'Red:',
                                       'Красный:'),
    ('MENU PLAYER GREEN',              'Green:',
                                       'Зеленый:'),
    ('MENU PLAYER BLUE',               'Blue:',
                                       'Синий:'),

    ('MENU MODEL INFO',                'Model info',
                                       'Информация о модели'),
    ('MENU MODEL ANIMATION',           'Change anim',
                                       'Сменить анимацию'),
    ('MENU MODEL CHANGE WEAPON',       'Change weapon',
                                       'Сменить оружие'),
    ('MENU MODEL ROTATE',              'Reflect model',
                                       'Повернуть модель'),
    ('MENU MODEL NAME',                'Model name:',
                                       'Имя:'),
    ('MENU MODEL AUTHOR',              'Author:',
                                       'Автор:'),
    ('MENU MODEL COMMENT',             'Description:',
                                       'Комментарий:'),
    ('MENU MODEL OPTIONS',             'Model Options:',
                                       'Опции модели:'),
    ('MENU MODEL WEAPON',              'Weapon:',
                                       'Оружие:'),

    ('MENU LANGUAGE RUSSIAN',          'Русский',
                                       'Русский'),
    ('MENU LANGUAGE ENGLISH',          'English',
                                       'English'),

    ('MENU PAUSE',                     'Pause',
                                       'ПАУЗА'),
    ('MENU YES',                       'Yes',
                                       'Да'),
    ('MENU NO',                        'No',
                                       'Нет'),
    ('MENU OK',                        'OK',
                                       'OK'),
    ('MENU FINISH',                    'Done',
                                       'Готово'),

    ('MENU END GAME PROMT',            'Are you sure to end the game?',
                                       'Вы действительно хотите закончить игру?'),
    ('MENU RESTART GAME PROMT',        'Are you sure to restart level?',
                                       'Вы действительно хотите начать уровень заново?'),
    ('MENU EXIT PROMT',                'Chickening out already?',
                                       'Вы действительно хотите выйти из Doom 2D: Forever?'),
    ('MENU SET DEFAULT PROMT',         'Load default settings?',
                                       'Изменить все настройки на стандартные?'),
    ('MENU LOAD SAVED PROMT',          'Load saved settings?',
                                       'Вернуть все настройки на сохранённые?'),
    ('MENU ENTER PASSWORD',            'This server requires a password to join.',
                                       'Этот сервер требует пароль.'),

    ('NET SERVER',                     'Server',
                                       'Сервер'),
    ('NET CLIENT',                     'Client',
                                       'Клиент'),
    ('NET ADDRESS',                    'Address:',
                                       'Адрес:'),
    ('NET PORT',                       'Port:',
                                       'Порт:'),
    ('NET SERVER NAME',                'Server name:',
                                       'Название:'),
    ('NET SERVER PASSWORD',            'Password:',
                                       'Пароль:'),
    ('NET MAX CLIENTS',                'Player limit:',
                                       'Лимит игроков:'),
    ('NET USE MASTER',                 'Public server:',
                                       'Публичный сервер:'),

    ('NET MSG',                        'NET: ',
                                       'NET: '),
    ('NET MSG ERROR',                  'NET: ERROR: ',
                                       'NET: ОШИБКА: '),
    ('NET MSG FERROR',                 'NET: FATAL ERROR: ',
                                       'NET: КРИТИЧЕСКАЯ ОШИБКА: '),

    ('NET MSG HOST',                   'Starting server on port %d...',
                                       'Включаем сервер на порту %d...'),
    ('NET MSG HOST DISCALL',           'Disconnecting clients...',
                                       'Отключаем игроков...'),
    ('NET MSG HOST DIE',               'Shutting down server...',
                                       'Выключаем сервер...'),
    ('NET MSG HOST CONN',              'Something is trying to connect from %s:%d.',
                                       'Попытка соединения с адреса %s:%d.'),
    ('NET MSG HOST REJECT',            'Connection rejected. Reason: ',
                                       'В соединении отказано. Причина: '),
    ('NET MSG HOST ADD',               'Client #%d added. Awaiting info...',
                                       'Добавлен клиент №%d. Ждем ответа...'),
    ('NET MSG HOST DISC',              'Client #%d disconnected.',
                                       'Клиент №%d отключен.'),
    ('NET MSG CLIENT CONN',            'Trying to connect to %s:%d...',
                                       'Пытаемся соединиться с %s:%d...'),
    ('NET MSG CLIENT DONE',            'Connection succeeded!',
                                       'Соединение выполнено.'),
    ('NET MSG CLIENT DISC',            'Disconnected.',
                                       'Отключение выполнено.'),
    ('NET MSG KICK',                   'You were dropped from the game! Reason: ',
                                       'Вас выбросило с сервера! Причина: '),

    ('NET MAP DL',                     'Map %s not found. Downloading from server...',
                                       'Карта %s не найдена. Скачиваем с сервера...'),
    ('NET WAD DL',                     'WAD %s not found. Downloading from server...',
                                       'WAD %s не найден. Скачиваем с сервера...'),

    ('NET ERR ENET',                   'Failed to init ENet!',
                                       'Не получилось подключить ENet!'),
    ('NET ERR HOST',                   'Could not start server on port %d!',
                                       'Не получилось включить сервер на порту %d!'),
    ('NET ERR INGAME',                 'You are already in a net game!',
                                       'Вы уже в сетевой игре!'),
    ('NET ERR CLIENT',                 'Could not create client!',
                                       'Не получилось создать клиент!'),
    ('NET ERR CONN',                   'Connection failed!',
                                       'Не вышло соединиться!'),
    ('NET ERR TIMEOUT',                'Connection timed out!',
                                       'Сервер не отвечает!'),
    ('NET ERR HASH',                   'Your WAD is different from server''s!',
                                       'Ваш WAD отличается от серверного!'),
    ('NET ERR NAME404',                'Player or client %s not found!',
                                       'Игрок или клиент %s не найден!'),

    ('NET DISC NONE',                  'Server is down.',
                                       'Сервер не отвечает.'),
    ('NET DISC PROTOCOL',              'Net protocol version mismatch.',
                                       'Версии сетевых протоколов не совпадают.'),
    ('NET DISC VERSION',               'Game version mismatch.',
                                       'Версия игры не совпадает с версией сервера.'),
    ('NET DISC FULL',                  'Server is full.',
                                       'Сервер полон.'),
    ('NET DISC KICK',                  'Kicked by server admin.',
                                       'Вы были отключены администратором.'),
    ('NET DISC DOWN',                  'Server is shutting down.',
                                       'Сервер выключается.'),
    ('NET DISC PASSWORD',              'Invalid password.',
                                       'Неверный пароль.'),
    ('NET DISC TEMPBAN',               'You are banned until the round end.',
                                       'Вы забанены до конца раунда.'),
    ('NET DISC BAN',                   'You are banned. Contact the server administrator.',
                                       'Вы забанены. Свяжитесь с администратором сервера.'),

    ('NET SLIST',                      'Server list',
                                       'Список серверов'),
    ('NET SLIST NOSERVERS',            'No active servers.',
                                       'Нет активных серверов.'),
    ('NET SLIST SERVERS',              ' server(s)',
                                       ' сервер(а, ов)'),
    ('NET SLIST HELP',                 '[ENTER] - join   [SPACE] - refresh   [ESC] - quit',
                                       '[ENTER] - присоединиться   [SPACE] - обновить   [ESC] - меню'),
    ('NET SLIST WAIT',                 'Please wait...',
                                       'Подождите...'),
    ('NET SLIST PING MS',              ' ms',
                                       ' мс'),
    ('NET SLIST NO ACCESS',            'N/A',
                                       'Н/Д'),

    ('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 ERROR',                'Could not connect to masterserver.',
                                       'Не удалось соединиться с мастерсервером.'),

    ('NET RCON VALID PWD',             'RCON password accepted. You can use RCON now.',
                                       'Пароль принят. Теперь вы можете использовать RCON.'),
    ('NET RCON INVALID PWD',           'RCON password is invalid.',
                                       'Неверный RCON пароль.'),
    ('NET RCON NOAUTH',                'You are not authorized to use RCON.',
                                       'Вы не имеете права использовать RCON.'),

    ('PLAYER DIED',                    '*** %s died',
                                       '*** %s погиб'),
    ('PLAYER KILL',                    '*** %s was killed by %s',
                                       '*** %s был убит %s'),
    ('PLAYER KILL EXTRAHARD 1',        '*** %s was fragged by %s',
                                       '*** %s был разорван на куски %s'),
    ('PLAYER KILL EXTRAHARD 2',        '*** %s was murdered by %s',
                                       '*** %s был зверски убит %s'),
    ('PLAYER KILL ACID',               '*** %s dissolved in acid',
                                       '*** %s утонул в кислоте'),
    ('PLAYER KILL TRAP',               '*** %s got caught in a trap',
                                       '*** %s напоролся на ловушку'),
    ('PLAYER KILL FALL',               '*** %s fell too far',
                                       '*** %s улетел'),
    ('PLAYER KILL SELF',               '*** %s killed himself',
                                       '*** %s убил себя'),
    ('PLAYER KILL WATER',              '*** %s drowned',
                                       '*** %s утонул'),

    ('PLAYER KILL 2X',                 '%s has a double kill!',
                                       '%s совершил двойное убийство!'),
    ('PLAYER KILL 3X',                 '%s has a triple kill!',
                                       '%s совершил тройное убийство!'),
    ('PLAYER KILL 4X',                 '%s has a multi kill!',
                                       '%s совершил много убийств подряд!'),
    ('PLAYER KILL MX',                 '%s has a m-m-m-monster kill!!!',
                                       '%s м-м-м-монстр убийца!!!'),

    ('PLAYER JOIN',                    '%s joined the game.',
                                       '%s присоединился к игре.'),
    ('PLAYER LEAVE',                   '%s left the game.',
                                       '%s покинул игру.'),
    ('PLAYER KICK',                    '%s was kicked by admin.',
                                       '%s был отключен администратором.'),
    ('PLAYER BAN',                     '%s was banned by admin.',
                                       '%s был забанен администратором.'),
    ('PLAYER NAME',                    '%s is now known as %s.',
                                       '%s теперь известен как %s.'),
    ('PLAYER CHTEAM RED',              '%s is now on Red.',
                                       '%s перешел в Красную команду.'),
    ('PLAYER CHTEAM BLUE',             '%s is now on Blue.',
                                       '%s перешел в Синюю команду.'),

    ('PLAYER SPECT',                   'Spectating',
                                       'Наблюдение'),
    ('PLAYER SPECT1',                  '[USE] - spawn',
                                       '[ОТКРЫТЬ] - ожить'),
    ('PLAYER SPECT1S',                 '(next round)',
                                       '(в следующем раунде)'),
    ('PLAYER SPECT2',                  '[FIRE] - chase',
                                       '[ОГОНЬ] - следить'),
    ('PLAYER SPECT3',                  '[JUMP] - reset',
                                       '[ПРЫЖОК] - сброс'),
    ('PLAYER SPECT4',                  'You can''t spawn until current round ends.',
                                       'Вы не сможете возродиться до конца раунда.'),

    ('PLAYER FLAG GET',                '*** %s stole the %s flag!',
                                       '*** %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 DROP',               '*** %s dropped the %s flag!',
                                       '*** %s потерял %s флаг!'),
    ('PLAYER FLAG RED',                'red',
                                       'красный'),
    ('PLAYER FLAG BLUE',               'blue',
                                       'синий'),

    ('PLAYER SCORE RED',               'Red',
                                       'Красная'),
    ('PLAYER SCORE BLUE',              'Blue',
                                       'Синяя'),
    ('PLAYER SCORE TO RED',            'red',
                                       'красной'),
    ('PLAYER SCORE TO BLUE',           'blue',
                                       'синей'),
    ('PLAYER SCORE ADD OWN',           '*** %s got %d points for %s team!',
                                       '*** %s заработал %d очков %s команде!'),
    ('PLAYER SCORE SUB OWN',           '*** %s lost %d points of %s team...',
                                       '*** %s потерял %d очков %s команды...'),
    ('PLAYER SCORE ADD ENEMY',         '*** %s gave %d points to %s team...',
                                       '*** %s отдал %d очков %s команде...'),
    ('PLAYER SCORE SUB ENEMY',         '*** %s took %d points from %s team!',
                                       '*** %s отнял %d очков у %s команды!'),
    ('PLAYER SCORE WIN OWN',           '*** %s helped to win %s team!',
                                       '*** %s помог победить %s команде!'),
    ('PLAYER SCORE WIN ENEMY',         '*** %s gave victory to %s team...',
                                       '*** %s отдал победу %s команде...'),
    ('PLAYER SCORE ADD TEAM',          '*** %s team got %d points!',
                                       '*** %s команда получает %d очков!'),
    ('PLAYER SCORE SUB TEAM',          '*** %s team loses %d points...',
                                       '*** %s команда теряет %d очков...'),

    ('MESSAGE FLAG GET',               '%s flag stolen',
                                       '%s ФЛАГ УКРАДЕН'),
    ('MESSAGE FLAG RETURN',            '%s flag returned',
                                       '%s ФЛАГ ВОЗВРАЩЁН'),
    ('MESSAGE FLAG CAPTURE',           '%s flag captured',
                                       '%s ФЛАГ ЗАХВАЧЕН'),
    ('MESSAGE FLAG DROP',              '%s flag dropped',
                                       '%s ФЛАГ ПОТЕРЯН'),

    ('MESSAGE LMS LOSE',               'YOU''RE ALL LOSERS',
                                       'ВСЕ ПРОИГРАЛИ'),
    ('MESSAGE LMS WIN',                '%s WINS',
                                       '%s ПОБЕДИЛ'),
    ('MESSAGE LMS START',              'FIGHT!',
                                       'ПОЕХАЛИ!'),
    ('MESSAGE TLMS WIN',               '%s TEAM WINS',
                                       '%s КОМАНДА ПОБЕДИЛА'),
    ('MESSAGE LMS SURVIVOR',           'YOU ARE THE LAST ONE ALIVE!',
                                       'ВЫ - ПОСЛЕДНИЙ ГЕРОЙ!'),

    ('MESSAGE SCORE ADD',              '%s TEAM SCORES',
                                       '%s КОМАНДА ПОЛУЧИЛА ОЧКИ'),
    ('MESSAGE SCORE SUB',              '%s TEAM FOULS',
                                       '%s КОМАНДА ПОТЕРЯЛА ОЧКИ'),

    ('MESSAGE VOTE INPROGRESS',        'A vote is already in progress for "%s".',
                                       'Уже идет голосование за команду "%s".'),
    ('MESSAGE VOTE STARTED',           '%s called a vote for "%s".'#10'%d votes are required for it to pass.',
                                       '%s начал голосование за команду "%s".'#10'Для выполнения команды требуется голосов: %d.'),
    ('MESSAGE VOTE PASSED',            'Vote passed. Executing "%s" in 5 seconds.',
                                       'Голосование прошло успешно. Команда "%s" будет выполнена через 5 секунд.'),
    ('MESSAGE VOTE FAILED',            'Vote failed: not enough supporters.',
                                       'Голосование провалилось: недостаточно голосов "за".'),
    ('MESSAGE VOTE VOTE',              '%s votes "yes" (%d/%d votes total).',
                                       '%s голосует "за" (%d/%d голосов всего).'),
    ('MESSAGE VOTE REVOKED',           '%s revokes his vote (%d/%d votes total).',
                                       '%s отозвал свой голос (%d/%d голосов всего).'),

    ('KEY UP',                         'Up',
                                       'Вверх'),
    ('KEY DOWN',                       'Down',
                                       'Вниз'),
    ('KEY LEFT',                       'Left',
                                       'Влево'),
    ('KEY RIGHT',                      'Right',
                                       'Вправо'),

    ('MONSTER DEMON',                  'Pinky',
                                       'Демоном'),
    ('MONSTER IMP',                    'Imp',
                                       'Бесом'),
    ('MONSTER ZOMBIE',                 'Zombie',
                                       'Зомби'),
    ('MONSTER SERGEANT',               'Shotgun Guy',
                                       'Сержантом'),
    ('MONSTER CYBER',                  'Cyberdemon',
                                       'Кибердемоном'),
    ('MONSTER CGUN',                   'Commando',
                                       'Пулеметчиком'),
    ('MONSTER BARON',                  'Hell Baron',
                                       'Бароном ада'),
    ('MONSTER KNIGHT',                 'Hell Knight',
                                       'Рыцарем ада'),
    ('MONSTER CACODEMON',              'Cacodemon',
                                       'Какодемоном'),
    ('MONSTER SOUL',                   'Lost Soul',
                                       'Огненным черепом'),
    ('MONSTER PAIN',                   'Pain Elemental',
                                       'Авиабазой'),
    ('MONSTER MASTERMIND',             'Spider Mastermind',
                                       'Большим пауком'),
    ('MONSTER SPIDER',                 'Arachnotron',
                                       'Арахнотроном'),
    ('MONSTER MANCUBUS',               'Mancubus',
                                       'Манкубусом'),
    ('MONSTER REVENANT',               'Revenant',
                                       'Скелетом'),
    ('MONSTER ARCHVILE',               'Arch-Vile',
                                       'Колдуном'),
    ('MONSTER FISH',                   'Piranha',
                                       'Рыбой'),
    ('MONSTER BARREL',                 'Barrel explosion',
                                       'взрывом Бочки'),
    ('MONSTER ROBOT',                  'Robot',
                                       'Роботом'),
    ('MONSTER PRIKOLIST',              'Prikolist',
                                       'Приколистом'),

    ('LOAD MUSIC',                     'Music',
                                       'Музыка'),
    ('LOAD MODELS',                    'Models',
                                       'Модели'),
    ('LOAD MENUS',                     'Menus',
                                       'Меню'),
    ('LOAD CONSOLE',                   'Console',
                                       'Консоль'),
    ('LOAD ITEMS DATA',                'Items Data',
                                       'Данные предметов'),
    ('LOAD WEAPONS DATA',              'Weapons Data',
                                       'Данные оружия'),
    ('LOAD GAME DATA',                 'Game Data',
                                       'Данные игры'),
    ('LOAD COLLIDE MAP',               'Collide Map',
                                       'Карта столкновений'),
    ('LOAD DOOR MAP',                  'Door Map',
                                       'Карта дверей'),
    ('LOAD LIFT MAP',                  'Lift Map',
                                       'Карта лифтов'),
    ('LOAD WATER MAP',                 'Water Map',
                                       'Карта воды'),
    ('LOAD WAD FILE',                  'WAD File',
                                       'WAD-файл'),
    ('LOAD MAP',                       'Map',
                                       'Карта'),
    ('LOAD TEXTURES',                  'Textures',
                                       'Текстуры'),
    ('LOAD TRIGGERS',                  'Triggers',
                                       'Триггеры'),
    ('LOAD PANELS',                    'Panels',
                                       'Панели'),
    ('LOAD TRIGGERS TABLE',            'Trigger table',
                                       'Таблица триггеров'),
    ('LOAD LINK TRIGGERS',             'Trigger links',
                                       'Привязка триггеров'),
    ('LOAD CREATE TRIGGERS',           'Trigger setup',
                                       'Добавление триггеров'),
    ('LOAD ITEMS',                     'Items',
                                       'Предметы'),
    ('LOAD CREATE ITEMS',              'Item setup',
                                       'Добавление предметов'),
    ('LOAD AREAS',                     'Areas',
                                       'Области'),
    ('LOAD CREATE AREAS',              'Area setup',
                                       'Добавление областей'),
    ('LOAD MONSTERS',                  'Monsters',
                                       'Монстры'),
    ('LOAD CREATE MONSTERS',           'Monster setup',
                                       'Добавление монстров'),
    ('LOAD MAP HEADER',                'Map Description',
                                       'Описание карты'),
    ('LOAD SKY',                       'Background',
                                       'Фон'),
    ('LOAD MONSTER TEXTURES',          'Monsters'' Textures',
                                       'Текстуры монстров'),
    ('LOAD MONSTER SOUNDS',            'Monsters'' Sounds',
                                       'Звуки монстров'),
    ('LOAD SAVE FILE',                 'Save File',
                                       'Файл сохранения'),
    ('LOAD MAP STATE',                 'Map State',
                                       'Настройка карты'),
    ('LOAD ITEMS STATE',               'Items State',
                                       'Расположение предметов'),
    ('LOAD TRIGGERS STATE',            'Triggers State',
                                       'Установка триггеров'),
    ('LOAD WEAPONS STATE',             'Weapons State',
                                       'Расположение оружия'),
    ('LOAD MONSTERS STATE',            'Monsters State',
                                       'Расположение монстров'),
    ('LOAD CONNECT',                   'Connecting ([ESC] to abort)',
                                       'Соединение ([ESC] - отменить)'),
    ('LOAD SEND INFO',                 'Sending client info',
                                       'Отсылка информации'),
    ('LOAD WAIT INFO',                 'Awaiting response ([ESC] to abort)',
                                       'Ожидание ответа ([ESC] - отменить)'),
    ('LOAD DL RES',                    'Downloading resources',
                                       'Скачивание ресурсов'),

    ('CREDITS CAP 1',                  'Doom 2D: Forever',
                                       'Doom 2D: Forever'),
    ('CREDITS CAP 2',                  'version %s, proto %d',
                                       'Версия %s, протокол %d'),
    ('CREDITS A 1',                    'Project Author:',
                                       'Автор проекта:'),
    ('CREDITS A 1 1',                  'rs.falcon',
                                       'rs.falcon'),
    ('CREDITS A 2',                    'Programmers:',
                                       'Программисты:'),
    ('CREDITS A 2 1',                  'rs.falcon, PSS, PrimuS, Stas''M, ZURG, OutCast',
                                       'rs.falcon, PSS, PrimuS, Stas''M, ZURG, OutCast'),
    ('CREDITS A 3',                    'Artists:',
                                       'Художники:'),
    ('CREDITS A 3 1',                  'Jabberwock, Firehawk',
                                       'Jabberwock, Firehawk'),
    ('CREDITS A 4',                    'Misc:',
                                       'Ассистенты:'),
    ('CREDITS A 4 1',                  'Jabberwock, Black Doomer, DEAD, Grom PE',
                                       'Jabberwock, Черный Думер, DEAD, Grom PE'),
    ('CREDITS CAP 3',                  'Special thanks to:',
                                       'Благодарим:'),
    ('CREDITS CLO 1',                  '- Prikol Software for Doom 2D',
                                       '- Prikol Software за Doom 2D'),
    ('CREDITS CLO 2',                  '- id Software for starting it all',
                                       '- id Software, без кого ничего бы не было'),
    ('CREDITS CLO 3',                  '- Everyone who helped our project',
                                       '- Всех, кто помогал нашему проекту'),
    ('CREDITS CLO 4',                  'www.doom2d.org, 2003-2016',
                                       'www.doom2d.org, 2003-2016'),

    ('MSG SHOW FPS ON',                'FPS counter enabled',
                                       'FPS показываются'),
    ('MSG SHOW FPS OFF',               'FPS counter disabled',
                                       'FPS не показываются'),
    ('MSG GAMEMODE CURRENT',           'Game Mode: %s',
                                       'Режим игры: %s'),
    ('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 BOTSVSPLAYERS ON',           'Bots fight players',
                                       'Боты против игроков'),
    ('MSG BOTSVSPLAYERS OFF',          'Bots don''t fight players',
                                       'Боты за игроков'),
    ('MSG BOTSVSMONSTERS ON',          'Bots fight monsters',
                                       'Боты против монстров'),
    ('MSG BOTSVSMONSTERS OFF',         'Bots don''t fight monsters',
                                       'Боты игнорируют монстров'),
    ('MSG TIME ON',                    'Time display on',
                                       'Время показывается'),
    ('MSG TIME OFF',                   'Time display off',
                                       'Время не показывается'),
    ('MSG SCORE ON',                   'Score display on',
                                       'Очки показываются'),
    ('MSG SCORE OFF',                  'Score display off',
                                       'Очки не показываются'),
    ('MSG STATS ON',                   'Stats display on',
                                       'Статистика показывается'),
    ('MSG STATS OFF',                  'Stats display off',
                                       'Статистика не показывается'),
    ('MSG KILL MSGS ON',               'Death Messages on',
                                       'Сообщения о смерти есть'),
    ('MSG KILL MSGS OFF',              'Death Messages off',
                                       'Сообщений о смерти нет'),
    ('MSG LIVES ON',                   'Lives display on',
                                       'Жизни показываются'),
    ('MSG LIVES OFF',                  'Lives display off',
                                       'Жизни не показываются'),
    ('MSG SPECT HUD ON',               'Spectator HUD on',
                                       'Состояние наблюдателя показывается'),
    ('MSG SPECT HUD OFF',              'Spectator HUD off',
                                       'Состояние наблюдателя не показывается'),
    ('MSG PING ON',                    'Client ping display on',
                                       'Пинг клиента показывается'),
    ('MSG PING OFF',                   'Client ping display off',
                                       'Пинг клиента не показывается'),
    ('MSG NO WAD',                     'WAD "%s" doesn''t exist!',
                                       'WAD файл "%s" не найден!'),
    ('MSG NO MAPS',                    'WAD "%s" doesn''t contain any maps!',
                                       'WAD файл "%s" не содержит карт!'),
    ('MSG NO MAP',                     'Map "%s" doesn''t exist!',
                                       'Карта "%s" не найдена!'),
    ('MSG NO MONSTER',                 'Wrong monster type: "%s"!',
                                       '"%s" - нет такого монстра!'),
    ('MSG SCORE LIMIT',                'Score Limit is %d',
                                       'Лимит очков - %d'),
    ('MSG TIME LIMIT',                 'Time Limit is %d:%.2d:%.2d',
                                       'Лимит времени - %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 NEXTMAP SET',                'Next map: %s',
                                       'Следующая карта: %s'),
    ('MSG NEXTMAP UNSET',              'Next map is not set.',
                                       'Следующая карта не задана.'),
    ('MSG ONMAPCHANGE',                '* Changes to this variable will be applied upon next map change',
                                       '* Изменения вступят в силу после следующей смены карты'),
    ('MSG NOT GAME',                   'Command can be accepted only in game.',
                                       'Команда применима только в игре.'),
    ('MSG NOT DEBUG',                  'Command can be accepted only in debug mode.',
                                       'Команда применима только в режиме отладки.'),
    ('MSG GM UNAVAIL',                 'This command is unavailable in current game mode.',
                                       'Эта команда недоступна в текущем режиме игры.'),
    ('MSG SERVERONLY',                 'This command is for server only.',
                                       'Эта команда доступна только в режиме сервера.'),
    ('MSG NOCLIENTS',                  'No clients connected.',
                                       'Нет подключённых клиентов.'),
    ('MSG UNBAN OK',                   'Client %s was unbanned.',
                                       'Был снят бан с клиента %s.'),
    ('MSG UNBAN FAIL',                 'Client %s not in ban list.',
                                       'Клиент %s не числится в списке забаненых.'),

    ('TEXTURE ENDPIC',                 'ENDGAME_EN',
                                       'ENDGAME_RU'),

    ('VERSION',                        'Doom 2D: Forever %s',
                                       'Doom 2D: Forever %s'),

    ('FATAL ERROR',                    'Fatal error: %s',
                                       'Критическая ошибка: %s'),
    ('SIMPLE ERROR',                   'Error: %s',
                                       'Ошибка: %s'),
    ('SYSTEM ERROR UNKNOWN',           'Something went seriously wrong. Guru meditation: $%.8x',
                                       'Хьюстон, у нас неизвестная науке проблема: $%.8x'),
    ('SYSTEM ERROR MSG',               'Something went wrong. Post Mortem: %s',
                                       'Произошло что-то неладное: %s'),

    ('', '', '') );


procedure SetupArrays();
var
  i: LongWord;
begin
// Названия клавиш перемещения курсора:
  KEYTABLE[200] := _lc[I_KEY_UP] + ' ' + Chr(30);
  KEYTABLE[203] := _lc[I_KEY_LEFT] + ' ' + Chr(17);
  KEYTABLE[205] := _lc[I_KEY_RIGHT] + ' ' + Chr(16);
  KEYTABLE[208] := _lc[I_KEY_DOWN] + ' ' + Chr(31);

// Имена монстров в творительном падеже:
  KilledByMonster[MONSTER_DEMON] := _lc[I_MONSTER_DEMON];
  KilledByMonster[MONSTER_IMP] := _lc[I_MONSTER_IMP];
  KilledByMonster[MONSTER_ZOMBY] := _lc[I_MONSTER_ZOMBIE];
  KilledByMonster[MONSTER_SERG] := _lc[I_MONSTER_SERGEANT];
  KilledByMonster[MONSTER_CYBER] := _lc[I_MONSTER_CYBER];
  KilledByMonster[MONSTER_CGUN] := _lc[I_MONSTER_CGUN];
  KilledByMonster[MONSTER_BARON] := _lc[I_MONSTER_BARON];
  KilledByMonster[MONSTER_KNIGHT] := _lc[I_MONSTER_KNIGHT];
  KilledByMonster[MONSTER_CACO] := _lc[I_MONSTER_CACODEMON];
  KilledByMonster[MONSTER_SOUL] := _lc[I_MONSTER_SOUL];
  KilledByMonster[MONSTER_PAIN] := _lc[I_MONSTER_PAIN];
  KilledByMonster[MONSTER_SPIDER] := _lc[I_MONSTER_MASTERMIND];
  KilledByMonster[MONSTER_BSP] := _lc[I_MONSTER_SPIDER];
  KilledByMonster[MONSTER_MANCUB] := _lc[I_MONSTER_MANCUBUS];
  KilledByMonster[MONSTER_SKEL] := _lc[I_MONSTER_REVENANT];
  KilledByMonster[MONSTER_VILE] := _lc[I_MONSTER_ARCHVILE];
  KilledByMonster[MONSTER_FISH] := _lc[I_MONSTER_FISH];
  KilledByMonster[MONSTER_BARREL] := _lc[I_MONSTER_BARREL];
  KilledByMonster[MONSTER_ROBO] := _lc[I_MONSTER_ROBOT];
  KilledByMonster[MONSTER_MAN] := _lc[I_MONSTER_PRIKOLIST];

// Чит-коды:
  for i := LongWord(Low(CheatEng)) to LongWord(High(CheatEng)) do
  begin
    CheatEng[TStrings_Locale(i)] := g_lang_default[TStrings_Locale(i)][LANGUAGE_ENGLISH_N];
    CheatRus[TStrings_Locale(i)] := g_lang_default[TStrings_Locale(i)][LANGUAGE_RUSSIAN_N];
  end;
end;

procedure g_Language_Load(fileName: String);
var
  F: TextFile;
  key, value: String;
  i: TStrings_Locale;
  k: Integer;
  ok: Boolean;
begin
// Значения по-умолчанию:
  for i := Low(TStrings_Locale) to High(TStrings_Locale) do
    _lc[i] := g_lang_default[i][LANGUAGE_ENGLISH_N];

  if FileExists(fileName) then
    begin
      AssignFile(F, fileName);
      ReSet(F);
      k := 0;

    // Читаем файл:
      while not EoF(F) do
      begin
      // Читаем строку:
        ReadLn(F, key);
        key := Trim(key);

      // Строка - ключ перевода:
        if (key <> '') and
           (key[1] = '[') and
           (Pos(']', key) > 2) then
        begin
          key := UpperCase(Copy(key, 2, Pos(']', key)-2));

        // Пропускаем пустые строки до строки - перевода:
          value := '';
          while (not EoF(F)) and (value = '') do
          begin
            ReadLn(F, value);
            value := Trim(value);
          end;

        // Есть строка - перевод:
          if value <> '' then
          begin
          // Ищем индекс ключа перевода:
            ok := False;
            i := TStrings_Locale(k);

          // От текущего к первому:
            while i > Low(TStrings_Locale) do
            begin
              if g_lang_default[i][1] = key then
              begin
                _lc[i] := value;
                ok := True;
                Break;
              end;

              Dec(i);
            end;

          // Первый:
            if not ok then
            begin
              i := Low(TStrings_Locale);

              if (g_lang_default[i][1] = key) then
              begin
                _lc[i] := value;
                ok := True;
              end;
            end;

          // От слудующего за текущим до последнего:
            if not ok then
            begin
              i := TStrings_Locale(k);

              while i < High(TStrings_Locale) do
              begin
                Inc(i);

                if g_lang_default[i][1] = key then
                begin
                  _lc[i] := value;
                  Break;
                end;
              end;
            end;
          end;

          Inc(k);
        end;
      end;

      CloseFile(F);
    end
  else
    e_WriteLog('Language file "'+fileName+'" not found!', MSG_WARNING);

  SetupArrays();
end;

procedure g_Language_Set(lang: String);
var
  i: TStrings_Locale;
  n: Byte;
begin
  if lang = LANGUAGE_RUSSIAN then
    n := LANGUAGE_RUSSIAN_N
  else
    n := LANGUAGE_ENGLISH_N;

  for i := Low(TStrings_Locale) to High(TStrings_Locale) do
    _lc[i] := g_lang_default[i][n];

  SetupArrays();
end;

procedure g_Language_Dump(fileName: String);
var
  F: TextFile;
  i: TStrings_Locale;
begin
  AssignFile(F, fileName);
  ReWrite(F);

  for i := Low(TStrings_Locale) to High(TStrings_Locale) do
    WriteLn(F, _lc[i]);

  CloseFile(F);
end;

end.
