30 I_ARRAY_PANEL_DOOR_OPEN
,
31 I_ARRAY_PANEL_DOOR_CLOSE
,
36 I_ARRAY_PANEL_LIFT_UP
,
37 I_ARRAY_PANEL_LIFT_DOWN
,
38 I_ARRAY_PANEL_LIFT_LEFT
,
39 I_ARRAY_PANEL_LIFT_RIGHT
,
40 I_ARRAY_PANEL_BLOCKMON
,
48 I_ARRAY_ITEM_LARGE_MEDKIT
,
49 I_ARRAY_ITEM_BLACK_MEDKIT
,
50 I_ARRAY_ITEM_GREEN_ARMOR
,
51 I_ARRAY_ITEM_BLUE_ARMOR
,
52 I_ARRAY_ITEM_BLUE_SPHERE
,
53 I_ARRAY_ITEM_MEGASPHERE
,
54 I_ARRAY_ITEM_HAZ_SUIT
,
56 I_ARRAY_ITEM_INVULNERABILITY
,
57 I_ARRAY_ITEM_CHAINSAW
,
59 I_ARRAY_ITEM_DB_SHOTGUN
,
60 I_ARRAY_ITEM_CHAINGUN
,
61 I_ARRAY_ITEM_ROCKET_LAUNCHER
,
62 I_ARRAY_ITEM_PLASMA_RIFLE
,
64 I_ARRAY_ITEM_SUPER_MINIGUN
,
66 I_ARRAY_ITEM_AMMO_BOX
,
67 I_ARRAY_ITEM_4_SHELLS
,
68 I_ARRAY_ITEM_25_SHELLS
,
69 I_ARRAY_ITEM_1_ROCKET
,
70 I_ARRAY_ITEM_ROCKET_BOX
,
72 I_ARRAY_ITEM_LARGE_CELL
,
73 I_ARRAY_ITEM_BACKPACK
,
75 I_ARRAY_ITEM_KEY_GREEN
,
76 I_ARRAY_ITEM_KEY_BLUE
,
101 I_ARRAY_MON_SERGEANT
,
104 I_ARRAY_MON_HELL_BARON
,
105 I_ARRAY_MON_HELL_KNIGHT
,
106 I_ARRAY_MON_CACODEMON
,
107 I_ARRAY_MON_LOST_SOUL
,
108 I_ARRAY_MON_PAIN_ELEMENTAL
,
109 I_ARRAY_MON_MASTERMIND
,
110 I_ARRAY_MON_ARACHNATRON
,
111 I_ARRAY_MON_MANCUBUS
,
112 I_ARRAY_MON_REVENANT
,
113 I_ARRAY_MON_ARCHVILE
,
117 I_ARRAY_MON_PRIKOLIST
,
119 I_ARRAY_AREA_PLAYER_ONE
,
120 I_ARRAY_AREA_PLAYER_TWO
,
122 I_ARRAY_AREA_FLAG_RED
,
123 I_ARRAY_AREA_FLAG_BLUE
,
124 I_ARRAY_AREA_FLAG_DOM
,
125 I_ARRAY_AREA_TEAM_RED
,
126 I_ARRAY_AREA_TEAM_BLUE
,
130 I_ARRAY_TR_DOOR_OPEN
,
131 I_ARRAY_TR_DOOR_CLOSE
,
132 I_ARRAY_TR_DOOR_SWITCH
,
133 I_ARRAY_TR_DOOR_5_SEC
,
134 I_ARRAY_TR_TRAP_CLOSE
,
139 I_ARRAY_TR_LIFT_DOWN
,
140 I_ARRAY_TR_LIFT_SWITCH
,
146 I_ARRAY_TR_SPAWN_MONSTER
,
147 I_ARRAY_TR_SPAWN_ITEM
,
172 I_PROP_TR_TEXTURE_PANEL
,
173 I_PROP_TR_ACTIVATION
,
181 I_PROP_TR_TELEPORT_TO
,
182 I_PROP_TR_TELEPORT_SILENT
,
183 I_PROP_TR_TELEPORT_DIR
,
184 I_PROP_TR_DOOR_PANEL
,
185 I_PROP_TR_TRAP_PANEL
,
189 I_PROP_TR_EX_MONSTER
,
191 I_PROP_TR_LIFT_PANEL
,
192 I_PROP_TR_TEXTURE_ONCE
,
193 I_PROP_TR_TEXTURE_ANIM_ONCE
,
194 I_PROP_TR_SOUND_NAME
,
195 I_PROP_TR_SOUND_VOLUME
,
197 I_PROP_TR_SOUND_COUNT
,
198 I_PROP_TR_SOUND_LOCAL
,
199 I_PROP_TR_SOUND_SWITCH
,
203 I_PROP_TR_SPAWN_DELAY
,
204 I_PROP_TR_MONSTER_TYPE
,
205 I_PROP_TR_MONSTER_ACTIVE
,
206 I_PROP_TR_MONSTER_BEHAVIOUR
,
207 I_PROP_TR_MONSTER_BEHAVIOUR_0
,
208 I_PROP_TR_MONSTER_BEHAVIOUR_1
,
209 I_PROP_TR_MONSTER_BEHAVIOUR_2
,
210 I_PROP_TR_MONSTER_BEHAVIOUR_3
,
211 I_PROP_TR_MONSTER_BEHAVIOUR_4
,
212 I_PROP_TR_MONSTER_BEHAVIOUR_5
,
214 I_PROP_TR_MUSIC_NAME
,
218 I_PROP_TR_PUSH_ANGLE
,
219 I_PROP_TR_PUSH_FORCE
,
220 I_PROP_TR_PUSH_RESET
,
222 I_PROP_TR_SCORE_ACT_0
,
223 I_PROP_TR_SCORE_ACT_1
,
224 I_PROP_TR_SCORE_ACT_2
,
225 I_PROP_TR_SCORE_ACT_3
,
226 I_PROP_TR_SCORE_TEAM
,
227 I_PROP_TR_SCORE_TEAM_0
,
228 I_PROP_TR_SCORE_TEAM_1
,
229 I_PROP_TR_SCORE_TEAM_2
,
230 I_PROP_TR_SCORE_TEAM_3
,
233 I_PROP_TR_DAMAGE_VALUE
,
234 I_PROP_TR_HEALTH_MAX
,
236 I_PROP_TR_SHOT_SOUND
,
237 I_PROP_TR_SHOT_ANGLE
,
248 I_PROP_TR_SHOT_AIM_0
,
249 I_PROP_TR_SHOT_AIM_1
,
250 I_PROP_TR_SHOT_AIM_2
,
251 I_PROP_TR_SHOT_AIM_3
,
253 I_PROP_TR_SHOT_RELOAD
,
254 I_PROP_TR_SHOT_SIGHT
,
255 I_PROP_TR_SHOT_PANEL
,
256 I_PROP_TR_MESSAGE_KIND
,
257 I_PROP_TR_MESSAGE_KIND_0
,
258 I_PROP_TR_MESSAGE_KIND_1
,
259 I_PROP_TR_MESSAGE_TO
,
260 I_PROP_TR_MESSAGE_TO_0
,
261 I_PROP_TR_MESSAGE_TO_1
,
262 I_PROP_TR_MESSAGE_TO_2
,
263 I_PROP_TR_MESSAGE_TO_3
,
264 I_PROP_TR_MESSAGE_TO_4
,
265 I_PROP_TR_MESSAGE_TO_5
,
266 I_PROP_TR_MESSAGE_TEXT
,
267 I_PROP_TR_MESSAGE_TIME
,
268 I_PROP_TR_EFFECT_TYPE
,
269 I_PROP_TR_EFFECT_SUBTYPE
,
270 I_PROP_TR_EFFECT_COLOR
,
271 I_PROP_TR_EFFECT_CENTER
,
272 I_PROP_TR_EFFECT_VELX
,
273 I_PROP_TR_EFFECT_VELY
,
274 I_PROP_TR_EFFECT_SPL
,
275 I_PROP_TR_EFFECT_SPR
,
276 I_PROP_TR_EFFECT_SPU
,
277 I_PROP_TR_EFFECT_SPD
,
278 I_PROP_TR_EFFECT_PARTICLE
,
279 I_PROP_TR_EFFECT_ANIMATION
,
280 I_PROP_TR_EFFECT_SLIQUID
,
281 I_PROP_TR_EFFECT_LLIQUID
,
282 I_PROP_TR_EFFECT_DLIQUID
,
283 I_PROP_TR_EFFECT_BLOOD
,
284 I_PROP_TR_EFFECT_SPARK
,
285 I_PROP_TR_EFFECT_BUBBLE
,
288 I_MSG_WRONG_TEXWIDTH
,
289 I_MSG_WRONG_TEXHEIGHT
,
293 I_MSG_TEXTURE_ALREADY
,
296 I_MSG_CHOOSE_MONSTER
,
298 I_MSG_CHOOSE_TEXTURE
,
303 I_MSG_DEL_TEXTURE_PROMT
,
304 I_MSG_DEL_TEXTURE_CANT
,
306 I_MSG_CLEAR_MAP_PROMT
,
308 I_MSG_DELETE_MAP_PROMT
,
310 I_MSG_MAP_DELETED_PROMT
,
322 I_HINT_PANEL_TEXTURE
,
335 I_MENU_FILE_OPEN_WAD
,
336 I_MENU_FILE_SAVE_MINI
,
338 I_MENU_FILE_PACK_MAP
,
346 I_MENU_EDIT_SELECT_ALL
,
351 I_MENU_TOOLS_SNAP_GRID
,
352 I_MENU_TOOLS_MINIMAP
,
353 I_MENU_TOOLS_STEP_GRID
,
354 I_MENU_TOOLS_SHOW_EDGES
,
377 I_MENU_LAYER_MONSTER
,
379 I_MENU_LAYER_TRIGGER
,
434 I_CTRL_ACT_PLAYER_CLOSE
,
435 I_CTRL_ACT_MONSTER_CLOSE
,
436 I_CTRL_ACT_PLAYER_PRESS
,
437 I_CTRL_ACT_MONSTER_PRESS
,
439 I_CTRL_ACT_NO_MONSTER
,
444 I_CTRL_KEYS_TEAM_RED
,
445 I_CTRL_KEYS_TEAM_BLUE
,
459 I_CTRL_OPT_DESC_TEXTURE
,
460 I_CTRL_OPT_DESC_PANEL
,
472 I_CTRL_LAUNCH_WEAPONS
,
473 I_CTRL_LAUNCH_MONSTERS
,
479 I_CTRL_ES_PANEL_SIZE
,
481 I_CTRL_PACK_TEXTURES
,
494 I_LAB_ABOUT_AUTHOR_2
,
553 I_BTN_TEXTURE_DELETE
,
566 I_TEST_AREA_WALL_STR
,
573 I_TEST_MONSTER_WALL_STR
,
576 I_OPT_DELETED_TEXTURES
,
577 I_OPT_TOTAL_TEXTURES
,
603 LANGUAGE_RUSSIAN
= 'Russian';
604 LANGUAGE_ENGLISH
= 'English';
605 LANGUAGE_RUSSIAN_N
= 3;
606 LANGUAGE_ENGLISH_N
= 2;
609 _lc
: Array [TStrings_Locale
] of String; // for the GUI (in UTF-8)
610 _glc
: Array [TStrings_Locale
] of String; // for GL text (in CP1251)
612 BoolNames
: Array [False..True] of String;
613 DirNames
: Array [D_LEFT
..D_RIGHT
] of String;
614 DirNamesAdv
: Array [0..3] of String;
615 DirButtonNames
: Array [1..4] of String;
616 PANELNAMES
: Array[0..13] of String;
617 EffectNames
: Array [EFFECT_NONE
..EFFECT_FIRE
] of String;
618 ItemNames
: Array [ITEM_MEDKIT_SMALL
..ITEM_MAX
] of String;
619 ShotNames
: Array [TRIGGER_SHOT_PISTOL
..TRIGGER_SHOT_MAX
] of String;
620 MonsterNames
: Array [MONSTER_DEMON
..MONSTER_MAN
] of String;
621 AreaNames
: Array [AREA_PLAYERPOINT1
..AREA_BLUETEAMPOINT
] of String;
622 TriggerNames
: Array [TRIGGER_EXIT
..TRIGGER_MAX
] of String;
625 procedure g_Language_Load(fileName
: String);
626 procedure g_Language_Set(lang
: String);
627 procedure g_Language_Dump(fileName
: String);
632 SysUtils
, e_log
, f_main
, f_about
, f_activationtype
,
633 f_addresource_sky
, f_addresource_sound
,
634 f_addresource_texture
, f_choosetype
, f_keys
, f_mapcheck
,
635 f_mapoptions
, f_maptest
, f_mapoptimization
, f_options
,
636 f_packmap
, f_savemap
, f_saveminimap
, f_selectmap
, Forms
, utils
;
639 g_lang_default
: Array [TStrings_Locale
] of Array [1..3] of String = (
640 ('NOT ACCESSIBLE', 'N/A',
643 ('ARRAY BOOL FALSE', 'No',
645 ('ARRAY BOOL TRUE', 'Yes',
648 ('ARRAY DIR LEFT', 'Left',
650 ('ARRAY DIR RIGHT', 'Right',
652 ('ARRAY DIR SAME', 'Don''t change',
654 ('ARRAY DIR REVERSED', 'Reversed',
657 ('ARRAY DIRBTN LEFT', 'Left',
659 ('ARRAY DIRBTN RIGHT', 'Right',
661 ('ARRAY DIRBTN UP', 'Up',
663 ('ARRAY DIRBTN DOWN', 'Down',
666 ('ARRAY PANEL WALL', 'Wall',
668 ('ARRAY PANEL BACK', 'Background',
670 ('ARRAY PANEL FRONT', 'Foreground',
672 ('ARRAY PANEL DOOR OPEN', 'Open Door',
674 ('ARRAY PANEL DOOR CLOSE', 'Closed Door',
676 ('ARRAY PANEL STAIR', 'Step',
678 ('ARRAY PANEL WATER', 'Water',
680 ('ARRAY PANEL ACID 1', 'Acid 1',
682 ('ARRAY PANEL ACID 2', 'Acid 2',
684 ('ARRAY PANEL LIFT UP', 'Stream Up',
686 ('ARRAY PANEL LIFT DOWN', 'Stream Down',
688 ('ARRAY PANEL LIFT LEFT', 'Stream Left',
690 ('ARRAY PANEL LIFT RIGHT', 'Stream Right',
692 ('ARRAY PANEL BLOCKMON', 'Monster Boundary',
693 'Блокиратор монстров'),
695 ('ARRAY FX NONE', 'None',
697 ('ARRAY FX TELEPORT', 'Teleport',
699 ('ARRAY FX RESPAWN', 'Respawn',
701 ('ARRAY FX FIRE', 'Arch-Vile Fire',
704 ('ARRAY ITEM MEDKIT', 'Stimpack',
706 ('ARRAY ITEM LARGE MEDKIT', 'Medikit',
708 ('ARRAY ITEM BLACK MEDKIT', 'Berserk Pack',
710 ('ARRAY ITEM GREEN ARMOR', 'Green Armor',
712 ('ARRAY ITEM BLUE ARMOR', 'Blue Armor',
714 ('ARRAY ITEM BLUE SPHERE', 'Soulsphere',
716 ('ARRAY ITEM MEGASPHERE', 'Megasphere',
718 ('ARRAY ITEM HAZ SUIT', 'Envirosuit',
720 ('ARRAY ITEM OXYGEN', 'Scuba',
722 ('ARRAY ITEM INVULNERABILITY', 'Invulnerability',
724 ('ARRAY ITEM CHAINSAW', 'Chainsaw',
726 ('ARRAY ITEM SHOTGUN', 'Shotgun',
728 ('ARRAY ITEM DB SHOTGUN', 'Super Shotgun',
730 ('ARRAY ITEM CHAINGUN', 'Chaingun',
732 ('ARRAY ITEM ROCKET LAUNCHER', 'Rocket Launcher',
734 ('ARRAY ITEM PLASMA RIFLE', 'Plasma Rifle',
736 ('ARRAY ITEM BFG', 'BFG9000',
738 ('ARRAY ITEM SUPER MINIGUN', 'Super Chaingun',
740 ('ARRAY ITEM CLIP', 'Clip',
742 ('ARRAY ITEM AMMO BOX', 'Box of Bullets',
744 ('ARRAY ITEM 4 SHELLS', '4 Shells',
746 ('ARRAY ITEM 25 SHELLS', 'Box of Shells',
748 ('ARRAY ITEM 1 ROCKET', 'Rocket',
750 ('ARRAY ITEM ROCKET BOX', 'Box of Rockets',
752 ('ARRAY ITEM CELL', 'Energy Cell',
754 ('ARRAY ITEM LARGE CELL', 'Energy Cell Pack',
756 ('ARRAY ITEM BACKPACK', 'Backpack',
758 ('ARRAY ITEM KEY RED', 'Red Key',
760 ('ARRAY ITEM KEY GREEN', 'Green Key',
762 ('ARRAY ITEM KEY BLUE', 'Blue Key',
764 ('ARRAY ITEM BOTTLE', 'Health Globe',
766 ('ARRAY ITEM HELMET', 'Armor Shard',
768 ('ARRAY ITEM JETPACK', 'Jetpack',
770 ('ARRAY ITEM INVIS', 'Invisibility',
773 ('ARRAY SHOT PISTOL', 'Pistol shot',
774 'Выстрел пистолета'),
775 ('ARRAY SHOT BULLET', 'Chaingun shot',
777 ('ARRAY SHOT SHOTGUN', 'Shotgun shot',
779 ('ARRAY SHOT SSG', 'Super Shotgun shot',
780 'Выстрел двустволки'),
781 ('ARRAY SHOT IMP', 'Imp fireball',
783 ('ARRAY SHOT PLASMA', 'Blue plasma',
785 ('ARRAY SHOT SPIDER', 'Arachnotron plasma',
786 'Плазма арахнотрона'),
787 ('ARRAY SHOT CACO', 'Cacodemon fireball',
789 ('ARRAY SHOT BARON', 'Hell Baron projectile',
790 'Выстрел барона ада'),
791 ('ARRAY SHOT MANCUB', 'Mancubus gunshot',
793 ('ARRAY SHOT REV', 'Revenant projectile',
795 ('ARRAY SHOT ROCKET', 'Rocket',
797 ('ARRAY SHOT BFG', 'BFG ball',
799 ('ARRAY SHOT EXPL', 'Explosion',
801 ('ARRAY SHOT BFGEXPL', 'BFG explosion',
804 ('ARRAY MON DEMON', 'Pinky',
806 ('ARRAY MON IMP', 'Imp',
808 ('ARRAY MON ZOMBIE', 'Zombie',
810 ('ARRAY MON SERGEANT', 'Sergeant',
812 ('ARRAY MON CYBER', 'Cyberdemon',
814 ('ARRAY MON CGUN', 'Commando',
816 ('ARRAY MON HELL BARON', 'Hell Baron',
818 ('ARRAY MON HELL KNIGHT', 'Hell Knight',
820 ('ARRAY MON CACODEMON', 'Cacodemon',
822 ('ARRAY MON LOST SOUL', 'Lost Soul',
824 ('ARRAY MON PAIN ELEMENTAL', 'Pain Elemental',
826 ('ARRAY MON MASTERMIND', 'Spider Mastermind',
828 ('ARRAY MON ARACHNATRON', 'Arachnotron',
830 ('ARRAY MON MANCUBUS', 'Mancubus',
832 ('ARRAY MON REVENANT', 'Revenant',
834 ('ARRAY MON ARCHVILE', 'Arch-Vile',
836 ('ARRAY MON FISH', 'Piranha',
838 ('ARRAY MON BARREL', 'Barrel',
840 ('ARRAY MON ROBOT', 'Robot',
842 ('ARRAY MON PRIKOLIST', 'Prikolist',
845 ('ARRAY AREA PLAYER ONE', 'Player 1',
847 ('ARRAY AREA PLAYER TWO', 'Player 2',
849 ('ARRAY AREA DM', 'DM Spawn Point',
851 ('ARRAY AREA FLAG RED', 'Red Flag',
853 ('ARRAY AREA FLAG BLUE', 'Blue Flag',
855 ('ARRAY AREA FLAG DOM', 'Domination Flag',
857 ('ARRAY AREA TEAM RED', 'Red Team',
859 ('ARRAY AREA TEAM BLUE', 'Blue Team',
862 ('ARRAY TR EXIT', 'Exit',
864 ('ARRAY TR TELEPORT', 'Teleport',
866 ('ARRAY TR DOOR OPEN', 'Open Door',
868 ('ARRAY TR DOOR CLOSE', 'Close Door',
870 ('ARRAY TR DOOR SWITCH', 'Door',
872 ('ARRAY TR DOOR 5 SEC', 'Door (5 sec)',
874 ('ARRAY TR TRAP CLOSE', 'Close Trap',
876 ('ARRAY TR TRAP', 'Trap',
878 ('ARRAY TR EXTEND', 'Extender',
880 ('ARRAY TR SECRET', 'Secret',
882 ('ARRAY TR LIFT UP', 'Turn stream up/left',
883 'Лифт вверх/поток влево'),
884 ('ARRAY TR LIFT DOWN', 'Turn stream down/right',
885 'Лифт вниз/поток вправо'),
886 ('ARRAY TR LIFT SWITCH', 'Revert stream',
888 ('ARRAY TR TEXTURE', 'Change Texture',
890 ('ARRAY TR ON', 'Enable Trigger',
892 ('ARRAY TR OFF', 'Disable Trigger',
893 'Выключить триггер'),
894 ('ARRAY TR SWITCH', 'Trigger Toggle',
895 'Переключить триггер'),
896 ('ARRAY TR SOUND', 'Play Sound',
898 ('ARRAY TR SPAWN MONSTER', 'Spawn Monster',
900 ('ARRAY TR SPAWN ITEM', 'Spawn Item',
902 ('ARRAY TR MUSIC', 'Play Music',
904 ('ARRAY TR PUSH', 'Push',
906 ('ARRAY TR SCORE', 'Team Score',
908 ('ARRAY TR MESSAGE', 'Message',
910 ('ARRAY TR DAMAGE', 'Damage',
912 ('ARRAY TR HEALTH', 'Healer',
914 ('ARRAY TR SHOT', 'Turret',
916 ('ARRAY TR EFFECT', 'Effect',
925 ('PROP WIDTH', 'Width',
927 ('PROP HEIGHT', 'Height',
929 ('PROP PANEL TYPE', 'Panel Type',
931 ('PROP PANEL TEX', 'Texture',
933 ('PROP PANEL ALPHA', 'Transparency',
935 ('PROP PANEL BLEND', 'Blending',
937 ('PROP DM ONLY', 'DM Only',
939 ('PROP ITEM FALLS', 'Falls',
941 ('PROP DIRECTION', 'Direction',
944 ('PROP TR TYPE', 'Trigger Type',
946 ('PROP TR ENABLED', 'Enabled',
948 ('PROP TR TEXTURE PANEL', 'Textured Panel',
949 'Панель с текстурой'),
950 ('PROP TR ACTIVATION', 'Activation Type',
952 ('PROP TR KEYS', 'Keys',
954 ('PROP TR D2D', 'D2D-like',
956 ('PROP TR SILENT', 'Silent',
958 ('PROP TR COUNT', 'Count',
960 ('PROP TR INTERVAL', 'Interval (in ticks)',
961 'Интервал (в тиках)'),
962 ('PROP TR HEALTH', 'Health',
964 ('PROP TR NEXT MAP', 'Next Map',
966 ('PROP TR TELEPORT TO', 'Teleport to',
968 ('PROP TR TELEPORT SILENT', 'Silent',
970 ('PROP TR TELEPORT DIR', 'New Direction',
971 'Направление после'),
972 ('PROP TR DOOR PANEL', 'Door Panel',
974 ('PROP TR TRAP PANEL', 'Trap Panel',
976 ('PROP TR EX AREA', 'Action Area',
977 'Область воздействия'),
978 ('PROP TR EX DELAY', 'Delay',
980 ('PROP TR EX COUNT', 'Count',
982 ('PROP TR EX MONSTER', 'Monster ID',
984 ('PROP TR EX RANDOM', 'Random',
986 ('PROP TR LIFT PANEL', 'Stream Panel',
988 ('PROP TR TEXTURE ONCE', 'Once',
990 ('PROP TR TEXTURE ANIM ONCE', 'Animate Once',
992 ('PROP TR SOUND NAME', 'Sound (snd)',
994 ('PROP TR SOUND VOLUME', 'Volume',
996 ('PROP TR SOUND PAN', 'Pan',
998 ('PROP TR SOUND COUNT', 'Loops',
1000 ('PROP TR SOUND LOCAL', 'Local',
1002 ('PROP TR SOUND SWITCH', 'Switch',
1004 ('PROP TR FX TYPE', 'Effect',
1006 ('PROP TR SPAWN TO', 'Spawn at',
1008 ('PROP TR SPAWN MAX', 'Maximum',
1010 ('PROP TR SPAWN DELAY', 'Autospawn (in ticks)',
1011 'Автоспаун (в тиках)'),
1012 ('PROP TR MONSTER TYPE', 'Monster',
1014 ('PROP TR MONSTER ACTIVE', 'Active',
1016 ('PROP TR MONSTER BEHAVIOUR', 'Behaviour',
1018 ('PROP TR MONSTER BEHAVIOUR 0', 'Normal',
1020 ('PROP TR MONSTER BEHAVIOUR 1', 'Killer',
1022 ('PROP TR MONSTER BEHAVIOUR 2', 'Maniac',
1024 ('PROP TR MONSTER BEHAVIOUR 3', 'Insane',
1026 ('PROP TR MONSTER BEHAVIOUR 4', 'Cannibal',
1028 ('PROP TR MONSTER BEHAVIOUR 5', 'Good',
1030 ('PROP TR ITEM TYPE', 'Item',
1032 ('PROP TR MUSIC NAME', 'Music',
1034 ('PROP TR MUSIC ACT', 'Action (m)',
1036 ('PROP TR MUSIC ON', 'Play',
1038 ('PROP TR MUSIC OFF', 'Pause',
1040 ('PROP TR PUSH ANGLE', 'Angle',
1042 ('PROP TR PUSH FORCE', 'Force',
1044 ('PROP TR PUSH RESET', 'Reset velocity',
1045 'Сбрасывать скорость'),
1046 ('PROP TR SCORE ACT', 'Action (s)',
1048 ('PROP TR SCORE ACT 0', 'Add points',
1050 ('PROP TR SCORE ACT 1', 'Subtract points',
1052 ('PROP TR SCORE ACT 2', 'Team Wins',
1054 ('PROP TR SCORE ACT 3', 'Team Loses',
1056 ('PROP TR SCORE TEAM', 'Team',
1058 ('PROP TR SCORE TEAM 0', 'My',
1060 ('PROP TR SCORE TEAM 1', 'Enemy',
1062 ('PROP TR SCORE TEAM 2', 'Red',
1064 ('PROP TR SCORE TEAM 3', 'Blue',
1066 ('PROP TR SCORE CON', 'Console message',
1067 'Сообщение в консоль'),
1068 ('PROP TR SCORE MSG', 'Game message',
1069 'Сообщение в игру'),
1070 ('PROP TR DAMAGE VALUE', 'Damage',
1072 ('PROP TR HEALTH MAX', 'To maximum',
1074 ('PROP TR SHOT TYPE', 'Projectile',
1076 ('PROP TR SHOT SOUND', 'Shot sound',
1078 ('PROP TR SHOT ANGLE', 'Angle',
1080 ('PROP TR SHOT ACC', 'Spread',
1082 ('PROP TR SHOT TO', 'Auto targeting',
1084 ('PROP TR SHOT TO 0', 'None',
1086 ('PROP TR SHOT TO 1', 'Monsters',
1088 ('PROP TR SHOT TO 2', 'Players',
1090 ('PROP TR SHOT TO 3', 'Red team',
1092 ('PROP TR SHOT TO 4', 'Blue team',
1094 ('PROP TR SHOT TO 5', 'Monsters, players',
1096 ('PROP TR SHOT TO 6', 'Players, monsters',
1098 ('PROP TR SHOT AIM', 'Auto-aiming mode',
1099 'Режим автонаведения'),
1100 ('PROP TR SHOT AIM 0', 'Trigger area',
1101 'Область триггера'),
1102 ('PROP TR SHOT AIM 1', 'Entire map',
1104 ('PROP TR SHOT AIM 2', 'Trace trigger area',
1105 'Область триггера с трассировкой'),
1106 ('PROP TR SHOT AIM 3', 'Trace entire map',
1107 'Вся карта с трассировкой'),
1108 ('PROP TR SHOT AMMO', 'Ammo limit',
1110 ('PROP TR SHOT RELOAD', 'Reload interval (in ticks)',
1111 'Перезарядка (в тиках)'),
1112 ('PROP TR SHOT SIGHT', 'Sight interval (in ticks)',
1113 'Реакция (в тиках)'),
1114 ('PROP TR SHOT PANEL', 'Indicator panel',
1115 'Панель индикации'),
1116 ('PROP TR MESSAGE KIND', 'Message kind',
1118 ('PROP TR MESSAGE KIND 0', 'Console message',
1120 ('PROP TR MESSAGE KIND 1', 'Event message',
1121 'Крупный текст по центру'),
1122 ('PROP TR MESSAGE TO', 'Send to',
1124 ('PROP TR MESSAGE TO 0', 'Me',
1126 ('PROP TR MESSAGE TO 1', 'My team',
1128 ('PROP TR MESSAGE TO 2', 'Enemy team',
1129 'Вражеская команда'),
1130 ('PROP TR MESSAGE TO 3', 'Red team',
1132 ('PROP TR MESSAGE TO 4', 'Blue team',
1134 ('PROP TR MESSAGE TO 5', 'Everyone',
1136 ('PROP TR MESSAGE TEXT', 'Message text',
1138 ('PROP TR MESSAGE TIME', 'Time (in ticks)',
1139 'Время показа (в тиках)'),
1140 ('PROP TR EFFECT TYPE', 'Effect type',
1142 ('PROP TR EFFECT SUBTYPE', 'Effect subtype',
1144 ('PROP TR EFFECT COLOR', 'Effect color',
1146 ('PROP TR EFFECT CENTER', 'Trigger center',
1148 ('PROP TR EFFECT VELX', 'Horizontal speed',
1149 'Скорость по горизонтали'),
1150 ('PROP TR EFFECT VELY', 'Vertical speed',
1151 'Скорость по вертикали'),
1152 ('PROP TR EFFECT SPL', 'Speed variance left',
1153 'Отклонение влево'),
1154 ('PROP TR EFFECT SPR', 'Speed variance right',
1155 'Отклонение вправо'),
1156 ('PROP TR EFFECT SPU', 'Speed variance up',
1157 'Отклонение вверх'),
1158 ('PROP TR EFFECT SPD', 'Speed variance down',
1160 ('PROP TR EFFECT PARTICLE', 'Particle generator',
1161 'Генератор частиц'),
1162 ('PROP TR EFFECT ANIMATION', 'Animation',
1164 ('PROP TR EFFECT SLIQUID', 'Water splash',
1166 ('PROP TR EFFECT LLIQUID', 'Light colored splash',
1167 'Цветные брызги (светлее)'),
1168 ('PROP TR EFFECT DLIQUID', 'Dark colored splash',
1169 'Цветные брызги (темнее)'),
1170 ('PROP TR EFFECT BLOOD', 'Blood',
1172 ('PROP TR EFFECT SPARK', 'Sparks',
1174 ('PROP TR EFFECT BUBBLE', 'Bubbles',
1177 ('MSG ERROR', 'Error',
1179 ('MSG WRONG TEXWIDTH', 'Panel Width must be a multiple of Texture Width (%d)',
1180 'Ширина панели должна быть кратна ширине текстуры (%d)'),
1181 ('MSG WRONG TEXHEIGHT', 'Panel Height must be a multiple of Texture Height (%d)',
1182 'Высота панели должна быть кратна высоте текстуры (%d)'),
1183 ('MSG WRONG ALPHA', 'Transparency must be in [0..255] interval',
1184 'Прозрачность должна быть в интервале [0..255]'),
1185 ('MSG WRONG SIZE', 'Width and Height must be greater than 0',
1186 'Ширина и высота должны быть больше 0'),
1187 ('MSG WRONG XY', 'X or Y coordinate hasn''t been set',
1188 'Не задана X или Y координата'),
1189 ('MSG TEXTURE ALREADY', 'Texture "%s" already exists',
1190 'Текстура "%s" уже добавлена'),
1191 ('MSG RES NAME 64', 'Resource "%s" name must not be longer than 64 chars',
1192 'Имя ресурса "%s" должно быть не длиннее 64 символов'),
1193 ('MSG CHOOSE ITEM', 'Select Item',
1194 'Выберите предмет'),
1195 ('MSG CHOOSE MONSTER', 'Select Monster',
1196 'Выберите монстра'),
1197 ('MSG CHOOSE AREA', 'Select Area',
1198 'Выберите область'),
1199 ('MSG CHOOSE TEXTURE', 'Select Texture',
1200 'Выберите текстуру'),
1201 ('MSG CHOOSE RES', 'Resource hasn''t been selected',
1202 'Не выбран ресурс'),
1203 ('MSG EXIT', 'Exit',
1205 ('MSG EXIT PROMT', 'Leaving so soon?',
1207 ('MSG DEL TEXTURE', 'Delete the texture',
1208 'Удалить текстуру'),
1209 ('MSG DEL TEXTURE PROMT', 'Delete the texture "%s" ?',
1210 'Удалить текстуру "%s" ?'),
1211 ('MSG DEL TEXTURE CANT', 'Can''t delete texture in use. Replace it on all panels with this texture.',
1212 'Нельзя удалить используемую текстуру. Замените её на каждой панели с ней.'),
1213 ('MSG CLEAR MAP', 'New map',
1215 ('MSG CLEAR MAP PROMT', 'Clear the entire map?',
1216 'Очистить всю карту?'),
1217 ('MSG DELETE MAP', 'Delete the map',
1219 ('MSG DELETE MAP PROMT', 'Delete the map "%s" from "%s" ?',
1220 'Удалить карту "%s" из "%s" ?'),
1221 ('MSG MAP DELETED', 'Map is deleted',
1223 ('MSG MAP DELETED PROMT', 'Map "%s" is deleted',
1224 'Карта "%s" удалена'),
1225 ('MSG EXEC ERROR', 'Game execution error',
1226 'Ошибка запуска игры'),
1227 ('MSG SOUND ERROR', 'Can''t play sound',
1228 'Не удалось проиграть звук'),
1229 ('MSG WAD ERROR', 'Can''t open WAD: %s',
1230 'Ошибка при открытии WAD: %s'),
1231 ('MSG RES ERROR', 'Can''t read resource: %s:%s\%s',
1232 'Ошибка при чтении ресурса: %s:%s\%s'),
1233 ('MSG PACKED', 'Map "%s" with resources saved to "%s"',
1234 'Карта "%s" вместе с ресурсами сохранена в "%s"'),
1235 ('MSG MAP EXISTS', 'Map "%s" already exists. Overwrite?',
1236 'Карта "%s" уже существует. Заменить?'),
1237 ('MSG SAVE MAP', 'Save the map',
1240 ('HINT TELEPORT', 'Choose destination of Teleport',
1241 'Выберите точку телепорта'),
1242 ('HINT SPAWN', 'Choose Spawn point',
1243 'Выберите точку появления'),
1244 ('HINT PANEL DOOR', 'Choose Door',
1245 'Выберите панель двери'),
1246 ('HINT PANEL TEXTURE', 'Choose textured Panel',
1247 'Выберите панель с текстурой'),
1248 ('HINT PANEL SHOT', 'Choose textured shot indicator Panel',
1249 'Выберите панель индикации выстрела с текстурой'),
1250 ('HINT PANEL LIFT', 'Choose Stream Panel',
1251 'Выберите панель лифта'),
1252 ('HINT MONSTER', 'Choose Monster',
1253 'Выберите монстра'),
1254 ('HINT EXT AREA', 'Specify action Area',
1255 'Укажите область воздействия'),
1256 ('HINT WIDTH', 'Width: %d',
1258 ('HINT HEIGHT', 'Height: %d',
1261 ('MENU FILE', 'File',
1263 ('MENU FILE NEW', 'New Map',
1265 ('MENU FILE OPEN', 'Open Map',
1267 ('MENU FILE SAVE', 'Save Map',
1269 ('MENU FILE SAVE AS', 'Save Map As...',
1270 'Сохранить карту как...'),
1271 ('MENU FILE OPEN WAD', 'Select Map',
1273 ('MENU FILE SAVE MINI', 'Save Mini-map',
1274 'Сохранить мини-карту'),
1275 ('MENU FILE DELETE', 'Delete Map from WAD...',
1276 'Удалить карту из WAD...'),
1277 ('MENU FILE PACK MAP', 'Pack Map',
1279 ('MENU FILE EXIT', 'Exit',
1282 ('MENU EDIT', 'Edit',
1284 ('MENU EDIT UNDO', 'Undo',
1286 ('MENU EDIT COPY', 'Copy',
1288 ('MENU EDIT CUT', 'Cut',
1290 ('MENU EDIT PASTE', 'Paste',
1292 ('MENU EDIT SELECT ALL', 'Select All',
1294 ('MENU EDIT TO FORE', 'Bring to Front',
1295 'Передвинуть вперед'),
1296 ('MENU EDIT TO BACK', 'Send to Back',
1297 'Передвинуть назад'),
1299 ('MENU TOOLS', 'Tools',
1301 ('MENU TOOLS SNAP GRID', 'Snap to Grid',
1302 'Привязка к сетке'),
1303 ('MENU TOOLS MINIMAP', 'Show Mini-map',
1305 ('MENU TOOLS STEP GRID', 'Switch Grid step',
1306 'Сменить шаг сетки'),
1307 ('MENU TOOLS SHOW EDGES', 'Switch Map edges',
1309 ('MENU TOOLS LAYERS', 'Layers',
1312 ('MENU SERV', 'Service',
1314 ('MENU SERV TEST', 'Check the Map',
1316 ('MENU SERV OPT', 'Optimize the Map',
1317 'Оптимизация карты'),
1318 ('MENU SERV PREVIEW', 'Map Preview',
1319 'Предварительный просмотр'),
1320 ('MENU SERV LAUNCH', 'In-game test',
1321 'Тест карты в игре'),
1323 ('MENU SETS', 'Settings',
1325 ('MENU SETS MAP', 'Map parameters',
1327 ('MENU SETS EDITOR', 'Editor settings',
1328 'Настройки редактора'),
1329 ('MENU SETS LAUNCH', 'In-game test settings',
1330 'Настройки теста в игре'),
1332 ('MENU HELP', 'Help',
1334 ('MENU HELP ABOUT', 'About',
1337 ('MENU LAYER BACK', '1. Background',
1339 ('MENU LAYER WALL', '2. Walls',
1341 ('MENU LAYER FORE', '3. Foreground',
1342 '3. Передний план'),
1343 ('MENU LAYER STAIR', '4. Steps',
1345 ('MENU LAYER WATER', '5. Liquids',
1347 ('MENU LAYER ITEM', '6. Items',
1349 ('MENU LAYER MONSTER', '7. Monsters',
1351 ('MENU LAYER AREA', '8. Areas',
1353 ('MENU LAYER TRIGGER', '9. Triggers',
1356 ('MENU TB NEW', 'New Map',
1358 ('MENU TB OPEN', 'Open Map',
1360 ('MENU TB SAVE', 'Save Map',
1362 ('MENU TB OPEN WAD', 'Open another Map from same WAD',
1363 'Открыть другую карту из этого же WAD''а'),
1364 ('MENU TB MINIMAP', 'Show Mini-map',
1365 'Показать мини-карту'),
1366 ('MENU TB LAYERS', 'Show/Hide Objects',
1367 'Отрисовка панелей/объектов'),
1368 ('MENU TB GRID', 'Grid On/Off',
1369 'Включить/Отключить отображение сетки'),
1370 ('MENU TB GRID STEP', 'Switch Grid step',
1371 'Изменить шаг сетки'),
1372 ('MENU TB LAUNCH', 'In-game test',
1373 'Тест карты в игре'),
1375 ('MENU LAUNCH SETS', 'Settings...',
1378 ('CAP FX TYPE', 'Select Effect type',
1379 'Выберите тип эффекта'),
1380 ('CAP MONSTER TYPE', 'Select Monster type',
1381 'Выберите тип монстра'),
1382 ('CAP ITEM TYPE', 'Select Item type',
1383 'Выберите тип предмета'),
1384 ('CAP ABOUT', 'About Map Editor',
1386 ('CAP ACT', 'Activation type',
1388 ('CAP ADD SKY', 'Select Sky Texture',
1389 'Выберите текстуру неба'),
1390 ('CAP ADD SOUND', 'Select Sound/Music',
1391 'Выберите звук/музыку'),
1392 ('CAP ADD TEXTURE', 'Select Texture',
1393 'Выберите текстуру'),
1394 ('CAP KEYS', 'Keys',
1396 ('CAP TEST', 'Map Checking',
1398 ('CAP OPT', 'Map Optimization',
1399 'Оптимизация карты'),
1400 ('CAP SETS', 'Map Parameters',
1402 ('CAP LAUNCH', 'In-game test Settings',
1403 'Настройки теста в игре'),
1404 ('CAP ES', 'Editor Settings',
1405 'Настройки редактора'),
1406 ('CAP PACK', 'Pack Map',
1408 ('CAP SAVE', 'Save Map',
1410 ('CAP MINI', 'Save Mini-map',
1411 'Сохранить мини-карту'),
1412 ('CAP SELECT', 'Select Map',
1415 ('CTRL PROP KEY', 'Property',
1417 ('CTRL PROP VALUE', 'Value',
1420 ('CTRL PANELS', 'Panels',
1422 ('CTRL ITEMS', 'Items',
1424 ('CTRL MONSTERS', 'Monsters',
1426 ('CTRL AREAS', 'Areas',
1428 ('CTRL TRIGGERS', 'Triggers',
1431 ('CTRL LIST TEXTURE', 'Texture List',
1433 ('CTRL LIST ITEM', 'Item List',
1434 'Список предметов'),
1435 ('CTRL LIST MONSTER', 'Monster List',
1437 ('CTRL LIST AREA', 'Area List',
1439 ('CTRL LIST TRIGGER', 'Trigger List',
1440 'Список триггеров'),
1441 ('CTRL LIST ACTIVE', 'Activation Type',
1442 'Тип активации триггера'),
1443 ('CTRL LIST KEYS', 'Keys Needed',
1444 'Ключи для активации'),
1446 ('CTRL PREVIEW', 'Texture Preview',
1447 'Предварительный просмотр'),
1448 ('CTRL ITEM DM', 'DM Only',
1450 ('CTRL ITEM FALLS', 'Falls',
1452 ('CTRL LEFT', 'Left',
1454 ('CTRL RIGHT', 'Right',
1457 ('CTRL ACT PLAYER CLOSE', 'Player Collides',
1459 ('CTRL ACT MONSTER CLOSE', 'Monster Collides',
1461 ('CTRL ACT PLAYER PRESS', 'Player Pressed',
1463 ('CTRL ACT MONSTER PRESS', 'Monster Pressed',
1465 ('CTRL ACT SHOT', 'Shot',
1467 ('CTRL ACT NO MONSTER', 'No Monsters',
1470 ('CTRL KEYS RED', 'Red Key',
1472 ('CTRL KEYS GREEN', 'Green Key',
1474 ('CTRL KEYS BLUE', 'Blue Key',
1476 ('CTRL KEYS TEAM RED', 'Red Team',
1478 ('CTRL KEYS TEAM BLUE', 'Blue Team',
1481 ('CTRL OPT GB', 'Optimization',
1483 ('CTRL OPT TEXTURE', 'Texture Optimization',
1484 'Оптимизация текстур'),
1485 ('CTRL OPT PANEL', 'Panel Optimization',
1486 'Оптимизация панелей'),
1487 ('CTRL OPT WALL', 'Walls',
1489 ('CTRL OPT FORE', 'Foreground',
1491 ('CTRL OPT BACK', 'Background',
1493 ('CTRL OPT STAIR', 'Steps',
1495 ('CTRL OPT WATER', 'Water',
1497 ('CTRL OPT ACID1', 'Acid 1',
1499 ('CTRL OPT ACID2', 'Acid 2',
1501 ('CTRL OPT LIFT', 'Streams',
1503 ('CTRL OPT BLOCKMON', 'Monster Boundary',
1504 'Блокиратор монстров'),
1505 ('CTRL OPT DESC TEXTURE', 'Deletes unused textures from texture list.',
1506 'Удаляет неиспользуемые текстуры из списка.'),
1507 ('CTRL OPT DESC PANEL', 'Merges nearby panels of same type. Increases game performance.',
1508 'Объединяет одинаковые панели, расположенные вплотную друг к другу, увеличивая тем самым производительность игры.'),
1509 ('CTRL SETS STATS', 'Statistics:',
1511 ('CTRL SETS SIZES', 'Map Size:',
1514 ('CTRL LAUNCH DM', 'Deathmatch',
1516 ('CTRL LAUNCH TDM', 'Team Deathmatch',
1518 ('CTRL LAUNCH CTF', 'Capture the Flag',
1519 'Capture the Flag'),
1520 ('CTRL LAUNCH COOP', 'Cooperative',
1522 ('CTRL LAUNCH 2P', 'Two Players',
1524 ('CTRL LAUNCH FF', 'Friendly Fire',
1526 ('CTRL LAUNCH EXIT', 'Enable Exit',
1528 ('CTRL LAUNCH WEAPONS', 'Weapons Stay',
1530 ('CTRL LAUNCH MONSTERS', 'Enable Monsters',
1532 ('CTRL LAUNCH CLOSE', 'Close the game after exiting the map',
1533 'Закрыть игру после выхода из карты'),
1534 ('CTRL LAUNCH OPEN', 'Select Doom 2D: Forever .exe',
1535 'Выберите файл игры Doom 2D: Forever'),
1537 ('CTRL ES GRID', 'Show Grid',
1538 'Показывать сетку'),
1539 ('CTRL ES TEXTURE', 'Show Panel Texture',
1540 'Показывать текстуру панели'),
1541 ('CTRL ES PANEL SIZE', 'Show Panel Size',
1542 'Показывать размеры панели '),
1544 ('CTRL PACK TEXTURES', 'Textures',
1546 ('CTRL PACK SKY', 'Sky',
1548 ('CTRL PACK MUSIC', 'Music',
1550 ('CTRL PACK ADD', 'Don''t overwrite WAD',
1551 'Не перезаписывать WAD'),
1552 ('CTRL PACK NON STD', 'Non-standard Resources only',
1553 'Только нестандартные ресурсы'),
1555 ('LAB TEX WIDTH', 'Texture Width:',
1556 'Ширина текстуры:'),
1557 ('LAB TEX HEIGHT', 'Texture Height:',
1558 'Высота текстуры:'),
1560 ('LAB SPECTRUM', 'Show the Spectrum',
1563 ('LAB ABOUT VER', 'Version 2.1.5',
1565 ('LAB ABOUT AUTHOR', 'Author: rs.falcon',
1566 'Автор: rs.falcon'),
1567 ('LAB ABOUT AUTHOR 2', 'Additions: Pss',
1568 'Дорабатывал: Pss'),
1569 ('LAB ABOUT MAIL', 'rmw.falcon@mail.ru',
1570 'rmw.falcon@mail.ru'),
1571 ('LAB ABOUT MAIL 2', 'pssxx@mail.ru',
1573 ('LAB ABOUT SITE', 'Doom 2D: Forever Web-site',
1574 'Сайт Doom 2D: Forever'),
1575 ('LAB ABOUT HTTP', 'www.doom2d.org',
1578 ('LAB ADD WADS', 'WAD Files:',
1579 'Список WAD-файлов:'),
1580 ('LAB ADD SECTIONS', 'WAD Sections:',
1581 'Список секций WAD-файла:'),
1583 ('LAB SETS NAME', 'Map Name:',
1585 ('LAB SETS DESC', 'Map Description',
1587 ('LAB SETS AUTHOR', 'Author:',
1589 ('LAB SETS BACK', 'Background/Sky:',
1591 ('LAB SETS MUSIC', 'Music:',
1593 ('LAB SETS TEXTURES', 'Textures:',
1595 ('LAB SETS PANELS', 'Panels:',
1597 ('LAB SETS ITEMS', 'Items:',
1599 ('LAB SETS MONSTERS', 'Monsters:',
1601 ('LAB SETS AREAS', 'Areas:',
1603 ('LAB SETS TRIGGERS', 'Triggers:',
1605 ('LAB SETS SIZES', 'Current:',
1607 ('LAB SETS WIDTH', 'Width:',
1609 ('LAB SETS HEIGHT', 'Height:',
1611 ('LAB SETS MAPMOVE', 'Direction of shifting map objects:',
1612 'Направление смещения объектов карты:'),
1613 ('LAB SETS SNAPPING', 'Preserve snapping',
1614 'Сохранять привязку'),
1616 ('LAB LAUNCH TIME', 'Time Limit:',
1618 ('LAB LAUNCH SECS', 'seconds',
1620 ('LAB LAUNCH SCORE', 'Score Limit:',
1622 ('LAB LAUNCH PATH', 'Path to Doom2DF.exe:',
1623 'Путь к Doom2DF.exe:'),
1625 ('LAB ES GRID', 'Grid Step:',
1627 ('LAB ES GRID COLOR', 'Grid Color:',
1629 ('LAB ES BACK', 'Background Color:',
1631 ('LAB ES PREVIEW', 'Texture Preview Background Color:',
1632 'Цвет фона поля предпросмотра текстуры:'),
1633 ('LAB ES MINIMAP', 'Mini-map Scale:',
1634 'Масштаб мини-карты:'),
1635 ('LAB ES RECENT', 'Recent Maps List Contains:',
1636 'Запоминать последних открытых карт:'),
1637 ('LAB ES LANGUAGE', 'Language:',
1640 ('LAB PACK SAVE TO', 'Save to:',
1642 ('LAB PACK MAP NAME', 'Map Resource Name:',
1643 'Название ресурса карты:'),
1644 ('LAB PACK TEXTURES', 'Texture Section:',
1645 'Секция для текстур:'),
1646 ('LAB PACK SKY', 'Sky Section:',
1647 'Секция для неба:'),
1648 ('LAB PACK MUSIC', 'Music Section:',
1649 'Секция для музыки:'),
1651 ('LAB MINI SCALE', 'Scale:',
1654 ('BTN APPLY PROPS', 'Apply Properties',
1655 'Применить свойства'),
1658 ('BTN CANCEL', 'Cancel',
1662 ('BTN CLOSE', 'Close',
1664 ('BTN ADD CLOSE', 'Add and Close',
1665 'Добавить и закрыть'),
1666 ('BTN TEST AGAIN', 'Check',
1668 ('BTN START', 'Run',
1670 ('BTN PACK', 'Pack',
1672 ('BTN SAVE', 'Save',
1674 ('BTN NO SOUND', 'No sound',
1676 ('BTN TEXTURE ADD', 'Add texture to the list',
1677 'Добавить текстуру в список'),
1678 ('BTN TEXTURE DELETE', 'Delete texture from the list',
1679 'Удалить текстуру из списка'),
1680 ('BTN TEXTURE EMPTY', 'Deselect texture',
1681 'Снять выбор с текстуры'),
1683 ('LOAD WAD', 'Reading WAD',
1685 ('LOAD MAP', 'Loading Map',
1687 ('LOAD TEXTURES', 'Reading Textures',
1689 ('LOAD PANELS', 'Reading Panels',
1691 ('LOAD ITEMS', 'Reading Items',
1692 'Чтение предметов'),
1693 ('LOAD MONSTERS', 'Reading Monsters',
1695 ('LOAD AREAS', 'Reading Areas',
1697 ('LOAD TRIGGERS', 'Reading Triggers',
1698 'Чтение триггеров'),
1700 ('TEST AREA WALL', 'Player collides with the wall and will be stuck.',
1701 'Если в этой области появится игрок, то он застрянет в стене и не сможет двигаться.'),
1702 ('TEST AREA WALL STR', 'Area #%d collides with Map (%d:%d)',
1703 'Область #%d пересекается с картой (%d:%d)'),
1704 ('TEST SPAWNS 1', 'There are several spawn points for First Player on the map',
1705 'Несколько точек появления первого игрока'),
1706 ('TEST SPAWNS 2', 'There are several spawn points for Second Player on the map',
1707 'Несколько точек появления второго игрока'),
1708 ('TEST SPAWNS', 'There are several spawn points on the map. Random one will be used.',
1709 'Несколько точек появления игрока, будет использована случайная.'),
1710 ('TEST NO DM', 'There are no DM spawn points on the map',
1711 'На карте нет точек DM'),
1712 ('TEST NO DM EX', 'There are no DM spawn points on the map. Only "Single Player" mode available.',
1713 'На карте нет точек DM, поиграть получится только в режиме "Single Player".'),
1714 ('TEST MONSTER WALL', 'Monster collides with the wall and will be stuck.',
1715 'Монстр пересекается с картой. Он застрянет в стене и не сможет двигаться'),
1716 ('TEST MONSTER WALL STR', 'Monster #%d collides with a map (%d:%d)',
1717 'Монстр #%d пересекается с картой (%d:%d)'),
1719 ('OPT NO TEXTURES', 'Texture list is empty',
1720 'Список текстур пуст'),
1721 ('OPT DELETED TEXTURES', 'Deleted Textures:',
1722 'Удалённые текстуры:'),
1723 ('OPT TOTAL TEXTURES', 'Textures Total:',
1725 ('OPT TEX DELETED', 'Textures Deleted:',
1726 'Удалено текстур:'),
1727 ('OPT PANELS OPT', 'Panels Optimized:',
1728 'Оптимизировано панелей:'),
1729 ('OPT WALLS', 'Walls Optimization...',
1730 'Оптимизация стен...'),
1731 ('OPT FORES', 'Foreground Optimization...',
1732 'Оптимизация переднего плана...'),
1733 ('OPT BACKS', 'Background Optimization...',
1734 'Оптимизация фона...'),
1735 ('OPT STAIRS', 'Steps Optimization...',
1736 'Оптимизация ступеней...'),
1737 ('OPT WATER', 'Water Optimization...',
1738 'Оптимизация воды...'),
1739 ('OPT ACID1', 'Acid 1 Optimization...',
1740 'Оптимизация кислоты 1...'),
1741 ('OPT ACID2', 'Acid 2 Optimization...',
1742 'Оптимизация кислоты 2...'),
1743 ('OPT LIFTS', 'Streams Optimization...',
1744 'Оптимизация лифтов...'),
1745 ('OPT BLOCKMON', 'Monster Boundaries Optimization...',
1746 'Оптимизация блокираторов монстров....'),
1747 ('OPT TOTAL PANELS', 'Panels Total:',
1749 ('OPT PANELS AFTER', 'Panels after Optimization:',
1750 'Панелей после оптимизации:'),
1752 ('WAD SPECIAL MAP', '<MAP WAD-FILE>',
1753 '<WAD-ФАЙЛ КАРТЫ>'),
1754 ('WAD SPECIAL TEXS', '<EXTRA TEXTURES>',
1757 ('FILE FILTER ALL', 'Doom 2D: Forever Maps (*.wad)|*.wad|Old Doom 2D: Forever 0.30 Maps (*.ini)|*.ini|All Files (*.*)|*.*',
1758 'Карты Doom 2D: Forever (*.wad)|*.wad|Старые карты Doom 2D: Forever 0.30 (*.ini)|*.ini|Все файлы (*.*)|*.*'),
1759 ('FILE FILTER WAD', 'Doom 2D: Forever Maps (*.wad)|*.wad|All Files (*.*)|*.*',
1760 'Карты Doom 2D: Forever (*.wad)|*.wad|Все файлы (*.*)|*.*'),
1762 ('EDITOR TITLE', 'Doom 2D: Forever Map Editor',
1763 'Редактор карт Doom 2D: Forever'),
1769 procedure SetupArrays();
1775 BoolNames
[False] := _lc
[I_ARRAY_BOOL_FALSE
];
1776 BoolNames
[True] := _lc
[I_ARRAY_BOOL_TRUE
];
1779 DirNames
[D_LEFT
] := _lc
[I_ARRAY_DIR_LEFT
];
1780 DirNames
[D_RIGHT
] := _lc
[I_ARRAY_DIR_RIGHT
];
1782 // Смены направления:
1783 DirNamesAdv
[0] := _lc
[I_ARRAY_DIR_SAME
];
1784 DirNamesAdv
[1] := _lc
[I_ARRAY_DIR_LEFT
];
1785 DirNamesAdv
[2] := _lc
[I_ARRAY_DIR_RIGHT
];
1786 DirNamesAdv
[3] := _lc
[I_ARRAY_DIR_REVERSED
];
1788 // Направление (на кнопках):
1789 DirButtonNames
[1] := _lc
[I_ARRAY_DIRBTN_LEFT
];
1790 DirButtonNames
[2] := _lc
[I_ARRAY_DIRBTN_RIGHT
];
1791 DirButtonNames
[3] := _lc
[I_ARRAY_DIRBTN_UP
];
1792 DirButtonNames
[4] := _lc
[I_ARRAY_DIRBTN_DOWN
];
1794 // Названия панелей:
1795 PANELNAMES
[0] := _lc
[I_ARRAY_PANEL_WALL
];
1796 PANELNAMES
[1] := _lc
[I_ARRAY_PANEL_BACK
];
1797 PANELNAMES
[2] := _lc
[I_ARRAY_PANEL_FRONT
];
1798 PANELNAMES
[3] := _lc
[I_ARRAY_PANEL_DOOR_OPEN
];
1799 PANELNAMES
[4] := _lc
[I_ARRAY_PANEL_DOOR_CLOSE
];
1800 PANELNAMES
[5] := _lc
[I_ARRAY_PANEL_STAIR
];
1801 PANELNAMES
[6] := _lc
[I_ARRAY_PANEL_WATER
];
1802 PANELNAMES
[7] := _lc
[I_ARRAY_PANEL_ACID_1
];
1803 PANELNAMES
[8] := _lc
[I_ARRAY_PANEL_ACID_2
];
1804 PANELNAMES
[9] := _lc
[I_ARRAY_PANEL_LIFT_UP
];
1805 PANELNAMES
[10] := _lc
[I_ARRAY_PANEL_LIFT_DOWN
];
1806 PANELNAMES
[11] := _lc
[I_ARRAY_PANEL_LIFT_LEFT
];
1807 PANELNAMES
[12] := _lc
[I_ARRAY_PANEL_LIFT_RIGHT
];
1808 PANELNAMES
[13] := _lc
[I_ARRAY_PANEL_BLOCKMON
];
1810 // Названия эффектов:
1811 EffectNames
[EFFECT_NONE
] := _lc
[I_ARRAY_FX_NONE
];
1812 EffectNames
[EFFECT_TELEPORT
] := _lc
[I_ARRAY_FX_TELEPORT
];
1813 EffectNames
[EFFECT_RESPAWN
] := _lc
[I_ARRAY_FX_RESPAWN
];
1814 EffectNames
[EFFECT_FIRE
] := _lc
[I_ARRAY_FX_FIRE
];
1816 // Названия предметов:
1817 ItemNames
[ITEM_MEDKIT_SMALL
] := _lc
[I_ARRAY_ITEM_MEDKIT
];
1818 ItemNames
[ITEM_MEDKIT_LARGE
] := _lc
[I_ARRAY_ITEM_LARGE_MEDKIT
];
1819 ItemNames
[ITEM_MEDKIT_BLACK
] := _lc
[I_ARRAY_ITEM_BLACK_MEDKIT
];
1820 ItemNames
[ITEM_ARMOR_GREEN
] := _lc
[I_ARRAY_ITEM_GREEN_ARMOR
];
1821 ItemNames
[ITEM_ARMOR_BLUE
] := _lc
[I_ARRAY_ITEM_BLUE_ARMOR
];
1822 ItemNames
[ITEM_SPHERE_BLUE
] := _lc
[I_ARRAY_ITEM_BLUE_SPHERE
];
1823 ItemNames
[ITEM_SPHERE_WHITE
] := _lc
[I_ARRAY_ITEM_MEGASPHERE
];
1824 ItemNames
[ITEM_SUIT
] := _lc
[I_ARRAY_ITEM_HAZ_SUIT
];
1825 ItemNames
[ITEM_OXYGEN
] := _lc
[I_ARRAY_ITEM_OXYGEN
];
1826 ItemNames
[ITEM_INVUL
] := _lc
[I_ARRAY_ITEM_INVULNERABILITY
];
1827 ItemNames
[ITEM_WEAPON_SAW
] := _lc
[I_ARRAY_ITEM_CHAINSAW
];
1828 ItemNames
[ITEM_WEAPON_SHOTGUN1
] := _lc
[I_ARRAY_ITEM_SHOTGUN
];
1829 ItemNames
[ITEM_WEAPON_SHOTGUN2
] := _lc
[I_ARRAY_ITEM_DB_SHOTGUN
];
1830 ItemNames
[ITEM_WEAPON_CHAINGUN
] := _lc
[I_ARRAY_ITEM_CHAINGUN
];
1831 ItemNames
[ITEM_WEAPON_ROCKETLAUNCHER
] := _lc
[I_ARRAY_ITEM_ROCKET_LAUNCHER
];
1832 ItemNames
[ITEM_WEAPON_PLASMA
] := _lc
[I_ARRAY_ITEM_PLASMA_RIFLE
];
1833 ItemNames
[ITEM_WEAPON_BFG
] := _lc
[I_ARRAY_ITEM_BFG
];
1834 ItemNames
[ITEM_WEAPON_SUPERPULEMET
] := _lc
[I_ARRAY_ITEM_SUPER_MINIGUN
];
1835 ItemNames
[ITEM_AMMO_BULLETS
] := _lc
[I_ARRAY_ITEM_CLIP
];
1836 ItemNames
[ITEM_AMMO_BULLETS_BOX
] := _lc
[I_ARRAY_ITEM_AMMO_BOX
];
1837 ItemNames
[ITEM_AMMO_SHELLS
] := _lc
[I_ARRAY_ITEM_4_SHELLS
];
1838 ItemNames
[ITEM_AMMO_SHELLS_BOX
] := _lc
[I_ARRAY_ITEM_25_SHELLS
];
1839 ItemNames
[ITEM_AMMO_ROCKET
] := _lc
[I_ARRAY_ITEM_1_ROCKET
];
1840 ItemNames
[ITEM_AMMO_ROCKET_BOX
] := _lc
[I_ARRAY_ITEM_ROCKET_BOX
];
1841 ItemNames
[ITEM_AMMO_CELL
] := _lc
[I_ARRAY_ITEM_CELL
];
1842 ItemNames
[ITEM_AMMO_CELL_BIG
] := _lc
[I_ARRAY_ITEM_LARGE_CELL
];
1843 ItemNames
[ITEM_AMMO_BACKPACK
] := _lc
[I_ARRAY_ITEM_BACKPACK
];
1844 ItemNames
[ITEM_KEY_RED
] := _lc
[I_ARRAY_ITEM_KEY_RED
];
1845 ItemNames
[ITEM_KEY_GREEN
] := _lc
[I_ARRAY_ITEM_KEY_GREEN
];
1846 ItemNames
[ITEM_KEY_BLUE
] := _lc
[I_ARRAY_ITEM_KEY_BLUE
];
1847 ItemNames
[ITEM_WEAPON_KASTET
] := '?';
1848 ItemNames
[ITEM_WEAPON_PISTOL
] := '??';
1849 ItemNames
[ITEM_BOTTLE
] := _lc
[I_ARRAY_ITEM_BOTTLE
];
1850 ItemNames
[ITEM_HELMET
] := _lc
[I_ARRAY_ITEM_HELMET
];
1851 ItemNames
[ITEM_JETPACK
] := _lc
[I_ARRAY_ITEM_JETPACK
];
1852 ItemNames
[ITEM_INVIS
] := _lc
[I_ARRAY_ITEM_INVIS
];
1854 // Названия снарядов:
1855 ShotNames
[TRIGGER_SHOT_PISTOL
] := _lc
[I_ARRAY_SHOT_PISTOL
];
1856 ShotNames
[TRIGGER_SHOT_BULLET
] := _lc
[I_ARRAY_SHOT_BULLET
];
1857 ShotNames
[TRIGGER_SHOT_SHOTGUN
] := _lc
[I_ARRAY_SHOT_SHOTGUN
];
1858 ShotNames
[TRIGGER_SHOT_SSG
] := _lc
[I_ARRAY_SHOT_SSG
];
1859 ShotNames
[TRIGGER_SHOT_IMP
] := _lc
[I_ARRAY_SHOT_IMP
];
1860 ShotNames
[TRIGGER_SHOT_PLASMA
] := _lc
[I_ARRAY_SHOT_PLASMA
];
1861 ShotNames
[TRIGGER_SHOT_SPIDER
] := _lc
[I_ARRAY_SHOT_SPIDER
];
1862 ShotNames
[TRIGGER_SHOT_CACO
] := _lc
[I_ARRAY_SHOT_CACO
];
1863 ShotNames
[TRIGGER_SHOT_BARON
] := _lc
[I_ARRAY_SHOT_BARON
];
1864 ShotNames
[TRIGGER_SHOT_MANCUB
] := _lc
[I_ARRAY_SHOT_MANCUB
];
1865 ShotNames
[TRIGGER_SHOT_REV
] := _lc
[I_ARRAY_SHOT_REV
];
1866 ShotNames
[TRIGGER_SHOT_ROCKET
] := _lc
[I_ARRAY_SHOT_ROCKET
];
1867 ShotNames
[TRIGGER_SHOT_BFG
] := _lc
[I_ARRAY_SHOT_BFG
];
1868 ShotNames
[TRIGGER_SHOT_EXPL
] := _lc
[I_ARRAY_SHOT_EXPL
];
1869 ShotNames
[TRIGGER_SHOT_BFGEXPL
] := _lc
[I_ARRAY_SHOT_BFGEXPL
];
1871 // Названия монстров:
1872 MonsterNames
[MONSTER_DEMON
] := _lc
[I_ARRAY_MON_DEMON
];
1873 MonsterNames
[MONSTER_IMP
] := _lc
[I_ARRAY_MON_IMP
];
1874 MonsterNames
[MONSTER_ZOMBY
] := _lc
[I_ARRAY_MON_ZOMBIE
];
1875 MonsterNames
[MONSTER_SERG
] := _lc
[I_ARRAY_MON_SERGEANT
];
1876 MonsterNames
[MONSTER_CYBER
] := _lc
[I_ARRAY_MON_CYBER
];
1877 MonsterNames
[MONSTER_CGUN
] := _lc
[I_ARRAY_MON_CGUN
];
1878 MonsterNames
[MONSTER_BARON
] := _lc
[I_ARRAY_MON_HELL_BARON
];
1879 MonsterNames
[MONSTER_KNIGHT
] := _lc
[I_ARRAY_MON_HELL_KNIGHT
];
1880 MonsterNames
[MONSTER_CACO
] := _lc
[I_ARRAY_MON_CACODEMON
];
1881 MonsterNames
[MONSTER_SOUL
] := _lc
[I_ARRAY_MON_LOST_SOUL
];
1882 MonsterNames
[MONSTER_PAIN
] := _lc
[I_ARRAY_MON_PAIN_ELEMENTAL
];
1883 MonsterNames
[MONSTER_SPIDER
] := _lc
[I_ARRAY_MON_MASTERMIND
];
1884 MonsterNames
[MONSTER_BSP
] := _lc
[I_ARRAY_MON_ARACHNATRON
];
1885 MonsterNames
[MONSTER_MANCUB
] := _lc
[I_ARRAY_MON_MANCUBUS
];
1886 MonsterNames
[MONSTER_SKEL
] := _lc
[I_ARRAY_MON_REVENANT
];
1887 MonsterNames
[MONSTER_VILE
] := _lc
[I_ARRAY_MON_ARCHVILE
];
1888 MonsterNames
[MONSTER_FISH
] := _lc
[I_ARRAY_MON_FISH
];
1889 MonsterNames
[MONSTER_BARREL
] := _lc
[I_ARRAY_MON_BARREL
];
1890 MonsterNames
[MONSTER_ROBO
] := _lc
[I_ARRAY_MON_ROBOT
];
1891 MonsterNames
[MONSTER_MAN
] := _lc
[I_ARRAY_MON_PRIKOLIST
];
1893 // Названия областей:
1894 AreaNames
[AREA_PLAYERPOINT1
] := _lc
[I_ARRAY_AREA_PLAYER_ONE
];
1895 AreaNames
[AREA_PLAYERPOINT2
] := _lc
[I_ARRAY_AREA_PLAYER_TWO
];
1896 AreaNames
[AREA_DMPOINT
] := _lc
[I_ARRAY_AREA_DM
];
1897 AreaNames
[AREA_REDFLAG
] := _lc
[I_ARRAY_AREA_FLAG_RED
];
1898 AreaNames
[AREA_BLUEFLAG
] := _lc
[I_ARRAY_AREA_FLAG_BLUE
];
1899 AreaNames
[AREA_DOMFLAG
] := _lc
[I_ARRAY_AREA_FLAG_DOM
];
1900 AreaNames
[AREA_REDTEAMPOINT
] := _lc
[I_ARRAY_AREA_TEAM_RED
];
1901 AreaNames
[AREA_BLUETEAMPOINT
] := _lc
[I_ARRAY_AREA_TEAM_BLUE
];
1903 // Названия триггеров:
1904 TriggerNames
[TRIGGER_EXIT
] := _lc
[I_ARRAY_TR_EXIT
];
1905 TriggerNames
[TRIGGER_TELEPORT
] := _lc
[I_ARRAY_TR_TELEPORT
];
1906 TriggerNames
[TRIGGER_OPENDOOR
] := _lc
[I_ARRAY_TR_DOOR_OPEN
];
1907 TriggerNames
[TRIGGER_CLOSEDOOR
] := _lc
[I_ARRAY_TR_DOOR_CLOSE
];
1908 TriggerNames
[TRIGGER_DOOR
] := _lc
[I_ARRAY_TR_DOOR_SWITCH
];
1909 TriggerNames
[TRIGGER_DOOR5
] := _lc
[I_ARRAY_TR_DOOR_5_SEC
];
1910 TriggerNames
[TRIGGER_CLOSETRAP
] := _lc
[I_ARRAY_TR_TRAP_CLOSE
];
1911 TriggerNames
[TRIGGER_TRAP
] := _lc
[I_ARRAY_TR_TRAP
];
1912 TriggerNames
[TRIGGER_PRESS
] := _lc
[I_ARRAY_TR_EXTEND
];
1913 TriggerNames
[TRIGGER_SECRET
] := _lc
[I_ARRAY_TR_SECRET
];
1914 TriggerNames
[TRIGGER_LIFTUP
] := _lc
[I_ARRAY_TR_LIFT_UP
];
1915 TriggerNames
[TRIGGER_LIFTDOWN
] := _lc
[I_ARRAY_TR_LIFT_DOWN
];
1916 TriggerNames
[TRIGGER_LIFT
] := _lc
[I_ARRAY_TR_LIFT_SWITCH
];
1917 TriggerNames
[TRIGGER_TEXTURE
] := _lc
[I_ARRAY_TR_TEXTURE
];
1918 TriggerNames
[TRIGGER_ON
] := _lc
[I_ARRAY_TR_ON
];
1919 TriggerNames
[TRIGGER_OFF
] := _lc
[I_ARRAY_TR_OFF
];
1920 TriggerNames
[TRIGGER_ONOFF
] := _lc
[I_ARRAY_TR_SWITCH
];
1921 TriggerNames
[TRIGGER_SOUND
] := _lc
[I_ARRAY_TR_SOUND
];
1922 TriggerNames
[TRIGGER_SPAWNMONSTER
] := _lc
[I_ARRAY_TR_SPAWN_MONSTER
];
1923 TriggerNames
[TRIGGER_SPAWNITEM
] := _lc
[I_ARRAY_TR_SPAWN_ITEM
];
1924 TriggerNames
[TRIGGER_MUSIC
] := _lc
[I_ARRAY_TR_MUSIC
];
1925 TriggerNames
[TRIGGER_PUSH
] := _lc
[I_ARRAY_TR_PUSH
];
1926 TriggerNames
[TRIGGER_SCORE
] := _lc
[I_ARRAY_TR_SCORE
];
1927 TriggerNames
[TRIGGER_MESSAGE
] := _lc
[I_ARRAY_TR_MESSAGE
];
1928 TriggerNames
[TRIGGER_DAMAGE
] := _lc
[I_ARRAY_TR_DAMAGE
];
1929 TriggerNames
[TRIGGER_HEALTH
] := _lc
[I_ARRAY_TR_HEALTH
];
1930 TriggerNames
[TRIGGER_SHOT
] := _lc
[I_ARRAY_TR_SHOT
];
1931 TriggerNames
[TRIGGER_EFFECT
] := _lc
[I_ARRAY_TR_EFFECT
];
1933 // Установка значений в панели выбора объектов:
1936 lbPanelType
.Items
.Clear();
1937 for i
:= 0 to High(PANELNAMES
) do
1938 lbPanelType
.Items
.Add(PANELNAMES
[i
]);
1939 lbPanelType
.ItemIndex
:= 0;
1942 for i
:= ITEM_MEDKIT_SMALL
to ITEM_KEY_BLUE
do
1943 lbItemList
.Items
.Add(ItemNames
[i
]);
1944 lbItemList
.Items
.Add(ItemNames
[ITEM_BOTTLE
]);
1945 lbItemList
.Items
.Add(ItemNames
[ITEM_HELMET
]);
1946 lbItemList
.Items
.Add(ItemNames
[ITEM_JETPACK
]);
1947 lbItemList
.Items
.Add(ItemNames
[ITEM_INVIS
]);
1949 lbMonsterList
.Clear();
1950 for i
:= MONSTER_DEMON
to MONSTER_MAN
do
1951 lbMonsterList
.Items
.Add(MonsterNames
[i
]);
1953 lbAreasList
.Clear();
1954 for i
:= AREA_PLAYERPOINT1
to AREA_BLUETEAMPOINT
do
1955 lbAreasList
.Items
.Add(AreaNames
[i
]);
1957 lbTriggersList
.Clear();
1958 for i
:= Low(TriggerNames
) to High(TriggerNames
) do
1959 lbTriggersList
.Items
.Add(TriggerNames
[i
]);
1961 clbActivationType
.Clear();
1962 clbActivationType
.Items
.Add(_lc
[I_CTRL_ACT_PLAYER_CLOSE
]);
1963 clbActivationType
.Items
.Add(_lc
[I_CTRL_ACT_MONSTER_CLOSE
]);
1964 clbActivationType
.Items
.Add(_lc
[I_CTRL_ACT_PLAYER_PRESS
]);
1965 clbActivationType
.Items
.Add(_lc
[I_CTRL_ACT_MONSTER_PRESS
]);
1966 clbActivationType
.Items
.Add(_lc
[I_CTRL_ACT_SHOT
]);
1967 clbActivationType
.Items
.Add(_lc
[I_CTRL_ACT_NO_MONSTER
]);
1970 clbKeys
.Items
.Add(_lc
[I_CTRL_KEYS_RED
]);
1971 clbKeys
.Items
.Add(_lc
[I_CTRL_KEYS_GREEN
]);
1972 clbKeys
.Items
.Add(_lc
[I_CTRL_KEYS_BLUE
]);
1973 clbKeys
.Items
.Add(_lc
[I_CTRL_KEYS_TEAM_RED
]);
1974 clbKeys
.Items
.Add(_lc
[I_CTRL_KEYS_TEAM_BLUE
]);
1978 procedure SetupCaptions();
1987 FormCaption
:= _lc
[I_EDITOR_TITLE
];
1988 i
:= Pos('-', Caption
);
1991 Caption
:= FormCaption
+ ' ' + Copy(Caption
, i
, Length(Caption
)-i
+1);
1994 Caption
:= FormCaption
;
1997 miMenuFile
.Caption
:= _lc
[I_MENU_FILE
];
1998 miNewMap
.Caption
:= _lc
[I_MENU_FILE_NEW
];
1999 miOpenMap
.Caption
:= _lc
[I_MENU_FILE_OPEN
];
2000 miSaveMap
.Caption
:= _lc
[I_MENU_FILE_SAVE
];
2001 miSaveMapAs
.Caption
:= _lc
[I_MENU_FILE_SAVE_AS
];
2002 miOpenWadMap
.Caption
:= _lc
[I_MENU_FILE_OPEN_WAD
];
2003 miSaveMiniMap
.Caption
:= _lc
[I_MENU_FILE_SAVE_MINI
];
2004 miDeleteMap
.Caption
:= _lc
[I_MENU_FILE_DELETE
];
2005 miPackMap
.Caption
:= _lc
[I_MENU_FILE_PACK_MAP
];
2006 miExit
.Caption
:= _lc
[I_MENU_FILE_EXIT
];
2008 miMenuEdit
.Caption
:= _lc
[I_MENU_EDIT
];
2009 miUndo
.Caption
:= _lc
[I_MENU_EDIT_UNDO
];
2010 miCopy
.Caption
:= _lc
[I_MENU_EDIT_COPY
];
2011 miCut
.Caption
:= _lc
[I_MENU_EDIT_CUT
];
2012 miPaste
.Caption
:= _lc
[I_MENU_EDIT_PASTE
];
2013 miSelectAll
.Caption
:= _lc
[I_MENU_EDIT_SELECT_ALL
];
2014 miToFore
.Caption
:= _lc
[I_MENU_EDIT_TO_FORE
];
2015 miToBack
.Caption
:= _lc
[I_MENU_EDIT_TO_BACK
];
2017 miMenuTools
.Caption
:= _lc
[I_MENU_TOOLS
];
2018 miSnapToGrid
.Caption
:= _lc
[I_MENU_TOOLS_SNAP_GRID
];
2019 miMiniMap
.Caption
:= _lc
[I_MENU_TOOLS_MINIMAP
];
2020 miSwitchGrid
.Caption
:= _lc
[I_MENU_TOOLS_STEP_GRID
];
2021 miShowEdges
.Caption
:= _lc
[I_MENU_TOOLS_SHOW_EDGES
];
2022 miLayers
.Caption
:= _lc
[I_MENU_TOOLS_LAYERS
];
2023 miLayer1
.Caption
:= _lc
[I_MENU_LAYER_BACK
];
2024 miLayer2
.Caption
:= _lc
[I_MENU_LAYER_WALL
];
2025 miLayer3
.Caption
:= _lc
[I_MENU_LAYER_FORE
];
2026 miLayer4
.Caption
:= _lc
[I_MENU_LAYER_STAIR
];
2027 miLayer5
.Caption
:= _lc
[I_MENU_LAYER_WATER
];
2028 miLayer6
.Caption
:= _lc
[I_MENU_LAYER_ITEM
];
2029 miLayer7
.Caption
:= _lc
[I_MENU_LAYER_MONSTER
];
2030 miLayer8
.Caption
:= _lc
[I_MENU_LAYER_AREA
];
2031 miLayer9
.Caption
:= _lc
[I_MENU_LAYER_TRIGGER
];
2033 miMenuService
.Caption
:= _lc
[I_MENU_SERV
];
2034 miCheckMap
.Caption
:= _lc
[I_MENU_SERV_TEST
];
2035 miOptimmization
.Caption
:= _lc
[I_MENU_SERV_OPT
];
2036 miMapPreview
.Caption
:= _lc
[I_MENU_SERV_PREVIEW
];
2037 miTestMap
.Caption
:= _lc
[I_MENU_SERV_LAUNCH
];
2039 miMenuSettings
.Caption
:= _lc
[I_MENU_SETS
];
2040 miMapOptions
.Caption
:= _lc
[I_MENU_SETS_MAP
];
2041 miOptions
.Caption
:= _lc
[I_MENU_SETS_EDITOR
];
2042 miMapTestSettings
.Caption
:= _lc
[I_MENU_SETS_LAUNCH
];
2044 miMenuHelp
.Caption
:= _lc
[I_MENU_HELP
];
2045 miAbout
.Caption
:= _lc
[I_MENU_HELP_ABOUT
];
2047 // Панель инструментов:
2048 tbNewMap
.Hint
:= _lc
[I_MENU_TB_NEW
];
2049 tbOpenMap
.Hint
:= _lc
[I_MENU_TB_OPEN
];
2050 tbSaveMap
.Hint
:= _lc
[I_MENU_TB_SAVE
];
2051 tbOpenWadMap
.Hint
:= _lc
[I_MENU_TB_OPEN_WAD
];
2052 tbShowMap
.Hint
:= _lc
[I_MENU_TB_MINIMAP
];
2053 tbShow
.Hint
:= _lc
[I_MENU_TB_LAYERS
];
2054 tbGridOn
.Hint
:= _lc
[I_MENU_TB_GRID
];
2055 tbGrid
.Hint
:= _lc
[I_MENU_TB_GRID_STEP
];
2056 tbTestMap
.Hint
:= _lc
[I_MENU_TB_LAUNCH
];
2057 // Всплывающее меню для кнопки слоев:
2058 miLayerP1
.Caption
:= _lc
[I_MENU_LAYER_BACK
];
2059 miLayerP2
.Caption
:= _lc
[I_MENU_LAYER_WALL
];
2060 miLayerP3
.Caption
:= _lc
[I_MENU_LAYER_FORE
];
2061 miLayerP4
.Caption
:= _lc
[I_MENU_LAYER_STAIR
];
2062 miLayerP5
.Caption
:= _lc
[I_MENU_LAYER_WATER
];
2063 miLayerP6
.Caption
:= _lc
[I_MENU_LAYER_ITEM
];
2064 miLayerP7
.Caption
:= _lc
[I_MENU_LAYER_MONSTER
];
2065 miLayerP8
.Caption
:= _lc
[I_MENU_LAYER_AREA
];
2066 miLayerP9
.Caption
:= _lc
[I_MENU_LAYER_TRIGGER
];
2067 // Всплывающее меню для кнопки теста карты:
2068 miMapTestPMSet
.Caption
:= _lc
[I_MENU_LAUNCH_SETS
];
2070 // Кнопка применения свойств:
2071 bApplyProperty
.Caption
:= _lc
[I_BTN_APPLY_PROPS
];
2072 // Редактор свойств объектов:
2073 vleObjectProperty
.TitleCaptions
[0] := _lc
[I_CTRL_PROP_KEY
];
2074 vleObjectProperty
.TitleCaptions
[1] := _lc
[I_CTRL_PROP_VALUE
];
2076 // Вкладка "Панели":
2077 tsPanels
.Caption
:= _lc
[I_CTRL_PANELS
];
2078 lbPanelType
.Hint
:= _lc
[I_PROP_PANEL_TYPE
];
2079 lbTextureList
.Hint
:= _lc
[I_CTRL_LIST_TEXTURE
];
2080 // Панель настройки текстур:
2081 LabelTxW
.Caption
:= _lc
[I_LAB_TEX_WIDTH
];
2082 LabelTxH
.Caption
:= _lc
[I_LAB_TEX_HEIGHT
];
2083 cbPreview
.Caption
:= _lc
[I_CTRL_PREVIEW
];
2084 bbAddTexture
.Hint
:= _lc
[I_BTN_TEXTURE_ADD
];
2085 bbRemoveTexture
.Hint
:= _lc
[I_BTN_TEXTURE_DELETE
];
2086 bClearTexture
.Hint
:= _lc
[I_BTN_TEXTURE_EMPTY
];
2088 // Вкладка "Предметы":
2089 tsItems
.Caption
:= _lc
[I_CTRL_ITEMS
];
2090 lbItemList
.Hint
:= _lc
[I_CTRL_LIST_ITEM
];
2091 cbOnlyDM
.Caption
:= _lc
[I_CTRL_ITEM_DM
];
2092 cbFall
.Caption
:= _lc
[I_CTRL_ITEM_FALLS
];
2094 // Вкладка "Монстры":
2095 tsMonsters
.Caption
:= _lc
[I_CTRL_MONSTERS
];
2096 lbMonsterList
.Hint
:= _lc
[I_CTRL_LIST_MONSTER
];
2097 rbMonsterLeft
.Caption
:= _lc
[I_CTRL_LEFT
];
2098 rbMonsterRight
.Caption
:= _lc
[I_CTRL_RIGHT
];
2100 // Вкладка "Области":
2101 tsAreas
.Caption
:= _lc
[I_CTRL_AREAS
];
2102 lbAreasList
.Hint
:= _lc
[I_CTRL_LIST_AREA
];
2103 rbAreaLeft
.Caption
:= _lc
[I_CTRL_LEFT
];
2104 rbAreaRight
.Caption
:= _lc
[I_CTRL_RIGHT
];
2106 // Вкладка "Триггеры":
2107 tsTriggers
.Caption
:= _lc
[I_CTRL_TRIGGERS
];
2108 lbTriggersList
.Hint
:= _lc
[I_CTRL_LIST_TRIGGER
];
2109 clbActivationType
.Hint
:= _lc
[I_CTRL_LIST_ACTIVE
];
2110 clbKeys
.Hint
:= _lc
[I_CTRL_LIST_KEYS
];
2113 // Форма "О программе":
2116 Caption
:= _lc
[I_CAP_ABOUT
];
2117 LabelTitle
.Caption
:= _lc
[I_EDITOR_TITLE
];
2118 LabelVer
.Caption
:= _lc
[I_LAB_ABOUT_VER
];
2119 LabelAuthor
.Caption
:= _lc
[I_LAB_ABOUT_AUTHOR
];
2120 LabelAuthor2
.Caption
:= _lc
[I_LAB_ABOUT_AUTHOR_2
];
2121 LabelMail
.Caption
:= _lc
[I_LAB_ABOUT_MAIL
];
2122 LabelMail2
.Caption
:= _lc
[I_LAB_ABOUT_MAIL_2
];
2123 LabelSite
.Caption
:= _lc
[I_LAB_ABOUT_SITE
];
2124 LabelHttp
.Caption
:= _lc
[I_LAB_ABOUT_HTTP
];
2127 // Форма "Тип активации":
2128 with ActivationTypeForm
do
2130 Caption
:= _lc
[I_CAP_ACT
];
2131 cbPlayerCollide
.Caption
:= _lc
[I_CTRL_ACT_PLAYER_CLOSE
];
2132 cbMonsterCollide
.Caption
:= _lc
[I_CTRL_ACT_MONSTER_CLOSE
];
2133 cbPlayerPress
.Caption
:= _lc
[I_CTRL_ACT_PLAYER_PRESS
];
2134 cbMonsterPress
.Caption
:= _lc
[I_CTRL_ACT_MONSTER_PRESS
];
2135 cbShot
.Caption
:= _lc
[I_CTRL_ACT_SHOT
];
2136 cbNoMonster
.Caption
:= _lc
[I_CTRL_ACT_NO_MONSTER
];
2137 bOK
.Caption
:= _lc
[I_BTN_OK
];
2140 // Форма "Выбор текстуры для неба":
2143 Caption
:= _lc
[I_CAP_ADD_SKY
];
2144 LabelWADs
.Caption
:= _lc
[I_LAB_ADD_WADS
];
2145 LabelSections
.Caption
:= _lc
[I_LAB_ADD_SECTIONS
];
2146 bOK
.Caption
:= _lc
[I_BTN_OK
];
2147 bCancel
.Caption
:= _lc
[I_BTN_CANCEL
];
2150 // Форма "Выбор звука или музыки":
2151 with AddSoundForm
do
2153 Caption
:= _lc
[I_CAP_ADD_SOUND
];
2154 LabelWADs
.Caption
:= _lc
[I_LAB_ADD_WADS
];
2155 LabelSections
.Caption
:= _lc
[I_LAB_ADD_SECTIONS
];
2156 bOK
.Caption
:= _lc
[I_BTN_OK
];
2157 bCancel
.Caption
:= _lc
[I_BTN_CANCEL
];
2158 bEmpty
.Caption
:= _lc
[I_BTN_NO_SOUND
];
2161 // Форма "Выбор текстуры":
2162 with AddTextureForm
do
2164 Caption
:= _lc
[I_CAP_ADD_TEXTURE
];
2165 LabelWADs
.Caption
:= _lc
[I_LAB_ADD_WADS
];
2166 LabelSections
.Caption
:= _lc
[I_LAB_ADD_SECTIONS
];
2167 bAddTexture
.Caption
:= _lc
[I_BTN_ADD
];
2168 bClose
.Caption
:= _lc
[I_BTN_CLOSE
];
2169 bAddClose
.Caption
:= _lc
[I_BTN_ADD_CLOSE
];
2172 // Форма "Выбор типа монстра" / "Выбор типа предмета":
2173 ChooseTypeForm
.bOK
.Caption
:= _lc
[I_BTN_OK
];
2178 Caption
:= _lc
[I_CAP_KEYS
];
2179 cbRedKey
.Caption
:= _lc
[I_CTRL_KEYS_RED
];
2180 cbGreenKey
.Caption
:= _lc
[I_CTRL_KEYS_GREEN
];
2181 cbBlueKey
.Caption
:= _lc
[I_CTRL_KEYS_BLUE
];
2182 cbRedTeam
.Caption
:= _lc
[I_CTRL_KEYS_TEAM_RED
];
2183 cbBlueTeam
.Caption
:= _lc
[I_CTRL_KEYS_TEAM_BLUE
];
2184 bOK
.Caption
:= _lc
[I_BTN_OK
];
2187 // Форма "Проверка карты":
2188 with MapCheckForm
do
2190 Caption
:= _lc
[I_CAP_TEST
];
2191 bCheckMap
.Caption
:= _lc
[I_BTN_TEST_AGAIN
];
2192 bClose
.Caption
:= _lc
[I_BTN_CLOSE
];
2195 // Форма "Оптимизация карты":
2196 with MapOptimizationForm
do
2198 Caption
:= _lc
[I_CAP_OPT
];
2199 // Выбор оптимизации:
2200 GroupBoxOpt
.Caption
:= _lc
[I_CTRL_OPT_GB
];
2201 rbTexturesOptimization
.Caption
:= _lc
[I_CTRL_OPT_TEXTURE
];
2202 rbPanelsOptimization
.Caption
:= _lc
[I_CTRL_OPT_PANEL
];
2203 // Оптимизация текстур:
2204 bBeginTextureOptimization
.Caption
:= _lc
[I_BTN_START
];
2205 // Оптимизация панелей:
2206 cbOptimizeWalls
.Caption
:= _lc
[I_CTRL_OPT_WALL
];
2207 cbOptimizeForeGround
.Caption
:= _lc
[I_CTRL_OPT_FORE
];
2208 cbOptimizeBackGround
.Caption
:= _lc
[I_CTRL_OPT_BACK
];
2209 cbOptimizeSteps
.Caption
:= _lc
[I_CTRL_OPT_STAIR
];
2210 cbOptimizeWater
.Caption
:= _lc
[I_CTRL_OPT_WATER
];
2211 cbOptimizeAcid1
.Caption
:= _lc
[I_CTRL_OPT_ACID1
];
2212 cbOptimizeAcid2
.Caption
:= _lc
[I_CTRL_OPT_ACID2
];
2213 cbOptimizeLift
.Caption
:= _lc
[I_CTRL_OPT_LIFT
];
2214 cbOptimizeBlockMon
.Caption
:= _lc
[I_CTRL_OPT_BLOCKMON
];
2215 bBeginPanelsOptimization
.Caption
:= _lc
[I_BTN_START
];
2218 // Форма "Параметры карты":
2219 with MapOptionsForm
do
2221 Caption
:= _lc
[I_CAP_SETS
];
2222 // Основные параметры:
2223 LabelName
.Caption
:= _lc
[I_LAB_SETS_NAME
];
2224 LabelDesc
.Caption
:= _lc
[I_LAB_SETS_DESC
];
2225 LabelAuthor
.Caption
:= _lc
[I_LAB_SETS_AUTHOR
];
2226 LabelBack
.Caption
:= _lc
[I_LAB_SETS_BACK
];
2227 LabelMusic
.Caption
:= _lc
[I_LAB_SETS_MUSIC
];
2229 GBStats
.Caption
:= _lc
[I_CTRL_SETS_STATS
];
2230 LabelTexs
.Caption
:= _lc
[I_LAB_SETS_TEXTURES
];
2231 LabelPanels
.Caption
:= _lc
[I_LAB_SETS_PANELS
];
2232 LabelItems
.Caption
:= _lc
[I_LAB_SETS_ITEMS
];
2233 LabelMonsters
.Caption
:= _lc
[I_LAB_SETS_MONSTERS
];
2234 LabelAreas
.Caption
:= _lc
[I_LAB_SETS_AREAS
];
2235 LabelTriggers
.Caption
:= _lc
[I_LAB_SETS_TRIGGERS
];
2237 GBSizes
.Caption
:= _lc
[I_CTRL_SETS_SIZES
];
2238 LabelWidth
.Caption
:= _lc
[I_LAB_SETS_WIDTH
];
2239 LabelHeight
.Caption
:= _lc
[I_LAB_SETS_HEIGHT
];
2240 LabelCurSize
.Caption
:= _lc
[I_LAB_SETS_SIZES
];
2241 LabelMapMove
.Caption
:= _lc
[I_LAB_SETS_MAPMOVE
];
2242 cbSnapping
.Caption
:= _lc
[I_LAB_SETS_SNAPPING
];
2244 bOK
.Caption
:= _lc
[I_BTN_OK
];
2245 bCancel
.Caption
:= _lc
[I_BTN_CANCEL
];
2248 // Форма "Настройки теста карты":
2251 Caption
:= _lc
[I_CAP_LAUNCH
];
2252 bOK
.Caption
:= _lc
[I_BTN_OK
];
2253 bCancel
.Caption
:= _lc
[I_BTN_CANCEL
];
2255 rbDM
.Caption
:= _lc
[I_CTRL_LAUNCH_DM
];
2256 rbTDM
.Caption
:= _lc
[I_CTRL_LAUNCH_TDM
];
2257 rbCTF
.Caption
:= _lc
[I_CTRL_LAUNCH_CTF
];
2258 rbCOOP
.Caption
:= _lc
[I_CTRL_LAUNCH_COOP
];
2260 cbTwoPlayers
.Caption
:= _lc
[I_CTRL_LAUNCH_2P
];
2261 cbTeamDamage
.Caption
:= _lc
[I_CTRL_LAUNCH_FF
];
2262 cbAllowExit
.Caption
:= _lc
[I_CTRL_LAUNCH_EXIT
];
2263 cbWeaponStay
.Caption
:= _lc
[I_CTRL_LAUNCH_WEAPONS
];
2264 cbMonstersDM
.Caption
:= _lc
[I_CTRL_LAUNCH_MONSTERS
];
2265 cbMapOnce
.Caption
:= _lc
[I_CTRL_LAUNCH_CLOSE
];
2266 LabelTime
.Caption
:= _lc
[I_LAB_LAUNCH_TIME
];
2267 LabelSecs
.Caption
:= _lc
[I_LAB_LAUNCH_SECS
];
2268 LabelScore
.Caption
:= _lc
[I_LAB_LAUNCH_SCORE
];
2270 LabelPath
.Caption
:= _lc
[I_LAB_LAUNCH_PATH
];
2271 FindD2dDialog
.Title
:= _lc
[I_CTRL_LAUNCH_OPEN
];
2274 // Форма "Настройки редактора":
2277 Caption
:= _lc
[I_CAP_ES
];
2278 bOK
.Caption
:= _lc
[I_BTN_OK
];
2279 bCancel
.Caption
:= _lc
[I_BTN_CANCEL
];
2281 cbShowDots
.Caption
:= _lc
[I_CTRL_ES_GRID
];
2282 cbShowTexture
.Caption
:= _lc
[I_CTRL_ES_TEXTURE
];
2283 cbShowSize
.Caption
:= _lc
[I_CTRL_ES_PANEL_SIZE
];
2284 LabelGrid
.Caption
:= _lc
[I_LAB_ES_GRID
];
2285 LabelGridCol
.Caption
:= _lc
[I_LAB_ES_GRID_COLOR
];
2286 LabelBack
.Caption
:= _lc
[I_LAB_ES_BACK
];
2287 LabelPreview
.Caption
:= _lc
[I_LAB_ES_PREVIEW
];
2288 LabelMinimap
.Caption
:= _lc
[I_LAB_ES_MINIMAP
];
2289 LabelRecent
.Caption
:= _lc
[I_LAB_ES_RECENT
];
2290 LabelLanguage
.Caption
:= _lc
[I_LAB_ES_LANGUAGE
];
2293 // Форма "Упаковать карту":
2296 Caption
:= _lc
[I_CAP_PACK
];
2297 bPack
.Caption
:= _lc
[I_BTN_PACK
];
2298 LabelSaveTo
.Caption
:= _lc
[I_LAB_PACK_SAVE_TO
];
2299 LabelMapName
.Caption
:= _lc
[I_LAB_PACK_MAP_NAME
];
2301 cbTextrures
.Caption
:= _lc
[I_CTRL_PACK_TEXTURES
];
2302 LabelTextures
.Caption
:= _lc
[I_LAB_PACK_TEXTURES
];
2303 cbSky
.Caption
:= _lc
[I_CTRL_PACK_SKY
];
2304 LabelSky
.Caption
:= _lc
[I_LAB_PACK_SKY
];
2305 cbMusic
.Caption
:= _lc
[I_CTRL_PACK_MUSIC
];
2306 LabelMusic
.Caption
:= _lc
[I_LAB_PACK_MUSIC
];
2307 cbAdd
.Caption
:= _lc
[I_CTRL_PACK_ADD
];
2308 cbNonStandart
.Caption
:= _lc
[I_CTRL_PACK_NON_STD
];
2311 // Форма "Сохранить карту":
2314 Caption
:= _lc
[I_CAP_SAVE
];
2315 bOK
.Caption
:= _lc
[I_BTN_OK
];
2316 bCancel
.Caption
:= _lc
[I_BTN_CANCEL
];
2319 // Форма "Сохранить мини-карту":
2320 with SaveMiniMapForm
do
2322 Caption
:= _lc
[I_CAP_MINI
];
2323 LabelScale
.Caption
:= _lc
[I_LAB_MINI_SCALE
];
2324 bSave
.Caption
:= _lc
[I_BTN_SAVE
];
2325 bClose
.Caption
:= _lc
[I_BTN_CLOSE
];
2328 // Форма "Выбор карты":
2329 with SelectMapForm
do
2331 Caption
:= _lc
[I_CAP_SELECT
];
2332 bOK
.Caption
:= _lc
[I_BTN_OK
];
2333 bCancel
.Caption
:= _lc
[I_BTN_CANCEL
];
2336 // Заголовок приложения:
2337 Application
.Title
:= _lc
[I_EDITOR_TITLE
];
2340 procedure g_Language_Load(fileName
: String);
2349 // Значения по-умолчанию:
2350 for i
:= Low(TStrings_Locale
) to High(TStrings_Locale
) do
2351 _lc
[i
] := g_lang_default
[i
][LANGUAGE_ENGLISH_N
];
2353 if FileExists(fileName
) then
2355 AssignFile(F
, fileName
);
2366 // Строка - ключ перевода:
2369 (Pos(']', key
) > 2) then
2371 key
:= UpperCase(Copy(key
, 2, Pos(']', key
)-2));
2373 // Пропускаем пустые строки до строки - перевода:
2375 while (not EoF(F
)) and (value
= '') do
2378 value
:= Trim(value
);
2381 // Есть строка - перевод:
2384 // Ищем индекс ключа перевода:
2386 i
:= TStrings_Locale(k
);
2388 // От текущего к первому:
2389 while i
> Low(TStrings_Locale
) do
2391 if g_lang_default
[i
][1] = key
then
2404 i
:= Low(TStrings_Locale
);
2406 if (g_lang_default
[i
][1] = key
) then
2413 // От следующего за текущим до последнего:
2416 i
:= TStrings_Locale(k
);
2418 while i
< High(TStrings_Locale
) do
2422 if g_lang_default
[i
][1] = key
then
2438 e_WriteLog('Language file "'+fileName
+'" not found!', MSG_WARNING
);
2442 RemoveSelectFromObjects();
2445 procedure g_Language_Set(lang
: String);
2451 if lang
= LANGUAGE_ENGLISH
then
2452 n
:= LANGUAGE_ENGLISH_N
2454 n
:= LANGUAGE_RUSSIAN_N
;
2456 for i
:= Low(TStrings_Locale
) to High(TStrings_Locale
) do
2458 _lc
[i
] := g_lang_default
[i
][n
];
2459 // have to cache a CP1251 version for GL text
2460 _glc
[i
] := utf8to1251(g_lang_default
[i
][n
]);
2465 RemoveSelectFromObjects();
2468 procedure g_Language_Dump(fileName
: String);
2474 AssignFile(F
, fileName
);
2477 for i
:= Low(TStrings_Locale
) to High(TStrings_Locale
) do