DEADSOFTWARE

add build info
[d2df-editor.git] / src / editor / g_language.pas
1 Unit g_language;
3 {$INCLUDE ../shared/a_modes.inc}
5 Interface
7 Uses
8 g_Basic, MAPDEF;
10 Type
11 TStrings_Locale = (
12 I_NOT_ACCESSIBLE,
14 I_ARRAY_BOOL_FALSE,
15 I_ARRAY_BOOL_TRUE,
17 I_ARRAY_DIR_LEFT,
18 I_ARRAY_DIR_RIGHT,
19 I_ARRAY_DIR_SAME,
20 I_ARRAY_DIR_REVERSED,
22 I_ARRAY_DIRBTN_LEFT,
23 I_ARRAY_DIRBTN_RIGHT,
24 I_ARRAY_DIRBTN_UP,
25 I_ARRAY_DIRBTN_DOWN,
27 I_ARRAY_PANEL_WALL,
28 I_ARRAY_PANEL_BACK,
29 I_ARRAY_PANEL_FRONT,
30 I_ARRAY_PANEL_DOOR_OPEN,
31 I_ARRAY_PANEL_DOOR_CLOSE,
32 I_ARRAY_PANEL_STAIR,
33 I_ARRAY_PANEL_WATER,
34 I_ARRAY_PANEL_ACID_1,
35 I_ARRAY_PANEL_ACID_2,
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,
42 I_ARRAY_FX_NONE,
43 I_ARRAY_FX_TELEPORT,
44 I_ARRAY_FX_RESPAWN,
45 I_ARRAY_FX_FIRE,
47 I_ARRAY_ITEM_MEDKIT,
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,
55 I_ARRAY_ITEM_OXYGEN,
56 I_ARRAY_ITEM_INVULNERABILITY,
57 I_ARRAY_ITEM_CHAINSAW,
58 I_ARRAY_ITEM_SHOTGUN,
59 I_ARRAY_ITEM_DB_SHOTGUN,
60 I_ARRAY_ITEM_CHAINGUN,
61 I_ARRAY_ITEM_ROCKET_LAUNCHER,
62 I_ARRAY_ITEM_PLASMA_RIFLE,
63 I_ARRAY_ITEM_BFG,
64 I_ARRAY_ITEM_SUPER_MINIGUN,
65 I_ARRAY_ITEM_FLAMETHROWER,
66 I_ARRAY_ITEM_CLIP,
67 I_ARRAY_ITEM_AMMO_BOX,
68 I_ARRAY_ITEM_4_SHELLS,
69 I_ARRAY_ITEM_25_SHELLS,
70 I_ARRAY_ITEM_1_ROCKET,
71 I_ARRAY_ITEM_ROCKET_BOX,
72 I_ARRAY_ITEM_CELL,
73 I_ARRAY_ITEM_LARGE_CELL,
74 I_ARRAY_ITEM_FUELCAN,
75 I_ARRAY_ITEM_BACKPACK,
76 I_ARRAY_ITEM_KEY_RED,
77 I_ARRAY_ITEM_KEY_GREEN,
78 I_ARRAY_ITEM_KEY_BLUE,
79 I_ARRAY_ITEM_BOTTLE,
80 I_ARRAY_ITEM_HELMET,
81 I_ARRAY_ITEM_JETPACK,
82 I_ARRAY_ITEM_INVIS,
84 I_ARRAY_SHOT_PISTOL,
85 I_ARRAY_SHOT_BULLET,
86 I_ARRAY_SHOT_SHOTGUN,
87 I_ARRAY_SHOT_SSG,
88 I_ARRAY_SHOT_IMP,
89 I_ARRAY_SHOT_PLASMA,
90 I_ARRAY_SHOT_SPIDER,
91 I_ARRAY_SHOT_CACO,
92 I_ARRAY_SHOT_BARON,
93 I_ARRAY_SHOT_MANCUB,
94 I_ARRAY_SHOT_REV,
95 I_ARRAY_SHOT_ROCKET,
96 I_ARRAY_SHOT_BFG,
97 I_ARRAY_SHOT_EXPL,
98 I_ARRAY_SHOT_BFGEXPL,
99 I_ARRAY_SHOT_FLAME,
101 I_ARRAY_MON_DEMON,
102 I_ARRAY_MON_IMP,
103 I_ARRAY_MON_ZOMBIE,
104 I_ARRAY_MON_SERGEANT,
105 I_ARRAY_MON_CYBER,
106 I_ARRAY_MON_CGUN,
107 I_ARRAY_MON_HELL_BARON,
108 I_ARRAY_MON_HELL_KNIGHT,
109 I_ARRAY_MON_CACODEMON,
110 I_ARRAY_MON_LOST_SOUL,
111 I_ARRAY_MON_PAIN_ELEMENTAL,
112 I_ARRAY_MON_MASTERMIND,
113 I_ARRAY_MON_ARACHNATRON,
114 I_ARRAY_MON_MANCUBUS,
115 I_ARRAY_MON_REVENANT,
116 I_ARRAY_MON_ARCHVILE,
117 I_ARRAY_MON_FISH,
118 I_ARRAY_MON_BARREL,
119 I_ARRAY_MON_ROBOT,
120 I_ARRAY_MON_PRIKOLIST,
122 I_ARRAY_AREA_PLAYER_ONE,
123 I_ARRAY_AREA_PLAYER_TWO,
124 I_ARRAY_AREA_DM,
125 I_ARRAY_AREA_FLAG_RED,
126 I_ARRAY_AREA_FLAG_BLUE,
127 I_ARRAY_AREA_FLAG_DOM,
128 I_ARRAY_AREA_TEAM_RED,
129 I_ARRAY_AREA_TEAM_BLUE,
131 I_ARRAY_TR_EXIT,
132 I_ARRAY_TR_TELEPORT,
133 I_ARRAY_TR_DOOR_OPEN,
134 I_ARRAY_TR_DOOR_CLOSE,
135 I_ARRAY_TR_DOOR_SWITCH,
136 I_ARRAY_TR_DOOR_5_SEC,
137 I_ARRAY_TR_TRAP_CLOSE,
138 I_ARRAY_TR_TRAP,
139 I_ARRAY_TR_EXTEND,
140 I_ARRAY_TR_SECRET,
141 I_ARRAY_TR_LIFT_UP,
142 I_ARRAY_TR_LIFT_DOWN,
143 I_ARRAY_TR_LIFT_SWITCH,
144 I_ARRAY_TR_TEXTURE,
145 I_ARRAY_TR_ON,
146 I_ARRAY_TR_OFF,
147 I_ARRAY_TR_SWITCH,
148 I_ARRAY_TR_SOUND,
149 I_ARRAY_TR_SPAWN_MONSTER,
150 I_ARRAY_TR_SPAWN_ITEM,
151 I_ARRAY_TR_MUSIC,
152 I_ARRAY_TR_PUSH,
153 I_ARRAY_TR_SCORE,
154 I_ARRAY_TR_MESSAGE,
155 I_ARRAY_TR_DAMAGE,
156 I_ARRAY_TR_HEALTH,
157 I_ARRAY_TR_SHOT,
158 I_ARRAY_TR_EFFECT,
160 I_PROP_ID,
161 I_PROP_X,
162 I_PROP_Y,
163 I_PROP_WIDTH,
164 I_PROP_HEIGHT,
165 I_PROP_PANEL_TYPE,
166 I_PROP_PANEL_TEX,
167 I_PROP_PANEL_ALPHA,
168 I_PROP_PANEL_BLEND,
169 I_PROP_DM_ONLY,
170 I_PROP_ITEM_FALLS,
171 I_PROP_DIRECTION,
173 I_PROP_TR_TYPE,
174 I_PROP_TR_ENABLED,
175 I_PROP_TR_TEXTURE_PANEL,
176 I_PROP_TR_ACTIVATION,
177 I_PROP_TR_KEYS,
178 I_PROP_TR_D2D,
179 I_PROP_TR_SILENT,
180 I_PROP_TR_COUNT,
181 I_PROP_TR_INTERVAL,
182 I_PROP_TR_HEALTH,
183 I_PROP_TR_NEXT_MAP,
184 I_PROP_TR_TELEPORT_TO,
185 I_PROP_TR_TELEPORT_SILENT,
186 I_PROP_TR_TELEPORT_DIR,
187 I_PROP_TR_DOOR_PANEL,
188 I_PROP_TR_TRAP_PANEL,
189 I_PROP_TR_EX_AREA,
190 I_PROP_TR_EX_DELAY,
191 I_PROP_TR_EX_COUNT,
192 I_PROP_TR_EX_MONSTER,
193 I_PROP_TR_EX_RANDOM,
194 I_PROP_TR_LIFT_PANEL,
195 I_PROP_TR_TEXTURE_ONCE,
196 I_PROP_TR_TEXTURE_ANIM_ONCE,
197 I_PROP_TR_SOUND_NAME,
198 I_PROP_TR_SOUND_VOLUME,
199 I_PROP_TR_SOUND_PAN,
200 I_PROP_TR_SOUND_COUNT,
201 I_PROP_TR_SOUND_LOCAL,
202 I_PROP_TR_SOUND_SWITCH,
203 I_PROP_TR_FX_TYPE,
204 I_PROP_TR_SPAWN_TO,
205 I_PROP_TR_SPAWN_MAX,
206 I_PROP_TR_SPAWN_DELAY,
207 I_PROP_TR_MONSTER_TYPE,
208 I_PROP_TR_MONSTER_ACTIVE,
209 I_PROP_TR_MONSTER_BEHAVIOUR,
210 I_PROP_TR_MONSTER_BEHAVIOUR_0,
211 I_PROP_TR_MONSTER_BEHAVIOUR_1,
212 I_PROP_TR_MONSTER_BEHAVIOUR_2,
213 I_PROP_TR_MONSTER_BEHAVIOUR_3,
214 I_PROP_TR_MONSTER_BEHAVIOUR_4,
215 I_PROP_TR_MONSTER_BEHAVIOUR_5,
216 I_PROP_TR_ITEM_TYPE,
217 I_PROP_TR_MUSIC_NAME,
218 I_PROP_TR_MUSIC_ACT,
219 I_PROP_TR_MUSIC_ON,
220 I_PROP_TR_MUSIC_OFF,
221 I_PROP_TR_PUSH_ANGLE,
222 I_PROP_TR_PUSH_FORCE,
223 I_PROP_TR_PUSH_RESET,
224 I_PROP_TR_SCORE_ACT,
225 I_PROP_TR_SCORE_ACT_0,
226 I_PROP_TR_SCORE_ACT_1,
227 I_PROP_TR_SCORE_ACT_2,
228 I_PROP_TR_SCORE_ACT_3,
229 I_PROP_TR_SCORE_TEAM,
230 I_PROP_TR_SCORE_TEAM_0,
231 I_PROP_TR_SCORE_TEAM_1,
232 I_PROP_TR_SCORE_TEAM_2,
233 I_PROP_TR_SCORE_TEAM_3,
234 I_PROP_TR_SCORE_CON,
235 I_PROP_TR_SCORE_MSG,
236 I_PROP_TR_DAMAGE_VALUE,
237 I_PROP_TR_DAMAGE_KIND,
238 I_PROP_TR_DAMAGE_KIND_0,
239 I_PROP_TR_DAMAGE_KIND_3,
240 I_PROP_TR_DAMAGE_KIND_4,
241 I_PROP_TR_DAMAGE_KIND_5,
242 I_PROP_TR_DAMAGE_KIND_6,
243 I_PROP_TR_DAMAGE_KIND_7,
244 I_PROP_TR_DAMAGE_KIND_8,
245 I_PROP_TR_HEALTH_MAX,
246 I_PROP_TR_SHOT_TYPE,
247 I_PROP_TR_SHOT_SOUND,
248 I_PROP_TR_SHOT_ANGLE,
249 I_PROP_TR_SHOT_ACC,
250 I_PROP_TR_SHOT_TO,
251 I_PROP_TR_SHOT_TO_0,
252 I_PROP_TR_SHOT_TO_1,
253 I_PROP_TR_SHOT_TO_2,
254 I_PROP_TR_SHOT_TO_3,
255 I_PROP_TR_SHOT_TO_4,
256 I_PROP_TR_SHOT_TO_5,
257 I_PROP_TR_SHOT_TO_6,
258 I_PROP_TR_SHOT_AIM,
259 I_PROP_TR_SHOT_AIM_0,
260 I_PROP_TR_SHOT_AIM_1,
261 I_PROP_TR_SHOT_AIM_2,
262 I_PROP_TR_SHOT_AIM_3,
263 I_PROP_TR_SHOT_AMMO,
264 I_PROP_TR_SHOT_RELOAD,
265 I_PROP_TR_SHOT_SIGHT,
266 I_PROP_TR_SHOT_PANEL,
267 I_PROP_TR_MESSAGE_KIND,
268 I_PROP_TR_MESSAGE_KIND_0,
269 I_PROP_TR_MESSAGE_KIND_1,
270 I_PROP_TR_MESSAGE_TO,
271 I_PROP_TR_MESSAGE_TO_0,
272 I_PROP_TR_MESSAGE_TO_1,
273 I_PROP_TR_MESSAGE_TO_2,
274 I_PROP_TR_MESSAGE_TO_3,
275 I_PROP_TR_MESSAGE_TO_4,
276 I_PROP_TR_MESSAGE_TO_5,
277 I_PROP_TR_MESSAGE_TEXT,
278 I_PROP_TR_MESSAGE_TIME,
279 I_PROP_TR_EFFECT_TYPE,
280 I_PROP_TR_EFFECT_SUBTYPE,
281 I_PROP_TR_EFFECT_COLOR,
282 I_PROP_TR_EFFECT_CENTER,
283 I_PROP_TR_EFFECT_VELX,
284 I_PROP_TR_EFFECT_VELY,
285 I_PROP_TR_EFFECT_SPL,
286 I_PROP_TR_EFFECT_SPR,
287 I_PROP_TR_EFFECT_SPU,
288 I_PROP_TR_EFFECT_SPD,
289 I_PROP_TR_EFFECT_PARTICLE,
290 I_PROP_TR_EFFECT_ANIMATION,
291 I_PROP_TR_EFFECT_SLIQUID,
292 I_PROP_TR_EFFECT_LLIQUID,
293 I_PROP_TR_EFFECT_DLIQUID,
294 I_PROP_TR_EFFECT_BLOOD,
295 I_PROP_TR_EFFECT_SPARK,
296 I_PROP_TR_EFFECT_BUBBLE,
298 I_MSG_ERROR,
299 I_MSG_WRONG_TEXWIDTH,
300 I_MSG_WRONG_TEXHEIGHT,
301 I_MSG_WRONG_ALPHA,
302 I_MSG_WRONG_SIZE,
303 I_MSG_WRONG_XY,
304 I_MSG_TEXTURE_ALREADY,
305 I_MSG_RES_NAME_64,
306 I_MSG_CHOOSE_ITEM,
307 I_MSG_CHOOSE_MONSTER,
308 I_MSG_CHOOSE_AREA,
309 I_MSG_CHOOSE_TEXTURE,
310 I_MSG_CHOOSE_RES,
311 I_MSG_EXIT,
312 I_MSG_EXIT_PROMT,
313 I_MSG_DEL_TEXTURE,
314 I_MSG_DEL_TEXTURE_PROMT,
315 I_MSG_DEL_TEXTURE_CANT,
316 I_MSG_DEL_RECENT,
317 I_MSG_DEL_RECENT_PROMT,
318 I_MSG_CLEAR_MAP,
319 I_MSG_CLEAR_MAP_PROMT,
320 I_MSG_DELETE_MAP,
321 I_MSG_DELETE_MAP_PROMT,
322 I_MSG_MAP_DELETED,
323 I_MSG_MAP_DELETED_PROMT,
324 I_MSG_REOPEN_MAP_PROMT,
325 I_MSG_EXEC_ERROR,
326 I_MSG_SOUND_ERROR,
327 I_MSG_WAD_ERROR,
328 I_MSG_RES_ERROR,
329 I_MSG_PACKED,
330 I_MSG_MAP_EXISTS,
331 I_MSG_SAVE_MAP,
333 I_HINT_TELEPORT,
334 I_HINT_SPAWN,
335 I_HINT_PANEL_DOOR,
336 I_HINT_PANEL_TEXTURE,
337 I_HINT_PANEL_SHOT,
338 I_HINT_PANEL_LIFT,
339 I_HINT_MONSTER,
340 I_HINT_EXT_AREA,
341 I_HINT_WIDTH,
342 I_HINT_HEIGHT,
344 I_MENU_FILE,
345 I_MENU_FILE_NEW,
346 I_MENU_FILE_OPEN,
347 I_MENU_FILE_SAVE,
348 I_MENU_FILE_SAVE_AS,
349 I_MENU_FILE_OPEN_WAD,
350 I_MENU_FILE_REOPEN,
351 I_MENU_FILE_SAVE_MINI,
352 I_MENU_FILE_DELETE,
353 I_MENU_FILE_PACK_MAP,
354 I_MENU_FILE_EXIT,
356 I_MENU_EDIT,
357 I_MENU_EDIT_UNDO,
358 I_MENU_EDIT_COPY,
359 I_MENU_EDIT_CUT,
360 I_MENU_EDIT_PASTE,
361 I_MENU_EDIT_SELECT_ALL,
362 I_MENU_EDIT_TO_FORE,
363 I_MENU_EDIT_TO_BACK,
365 I_MENU_TOOLS,
366 I_MENU_TOOLS_SNAP_GRID,
367 I_MENU_TOOLS_MINIMAP,
368 I_MENU_TOOLS_STEP_GRID,
369 I_MENU_TOOLS_SHOW_EDGES,
370 I_MENU_TOOLS_LAYERS,
372 I_MENU_SERV,
373 I_MENU_SERV_TEST,
374 I_MENU_SERV_OPT,
375 I_MENU_SERV_PREVIEW,
376 I_MENU_SERV_LAUNCH,
378 I_MENU_SETS,
379 I_MENU_SETS_MAP,
380 I_MENU_SETS_EDITOR,
381 I_MENU_SETS_LAUNCH,
383 I_MENU_HELP,
384 I_MENU_HELP_ABOUT,
386 I_MENU_LAYER_BACK,
387 I_MENU_LAYER_WALL,
388 I_MENU_LAYER_FORE,
389 I_MENU_LAYER_STAIR,
390 I_MENU_LAYER_WATER,
391 I_MENU_LAYER_ITEM,
392 I_MENU_LAYER_MONSTER,
393 I_MENU_LAYER_AREA,
394 I_MENU_LAYER_TRIGGER,
396 I_MENU_TB_NEW,
397 I_MENU_TB_OPEN,
398 I_MENU_TB_SAVE,
399 I_MENU_TB_OPEN_WAD,
400 I_MENU_TB_MINIMAP,
401 I_MENU_TB_LAYERS,
402 I_MENU_TB_GRID,
403 I_MENU_TB_GRID_STEP,
404 I_MENU_TB_LAUNCH,
406 I_MENU_LAUNCH_SETS,
408 I_CAP_FX_TYPE,
409 I_CAP_MONSTER_TYPE,
410 I_CAP_ITEM_TYPE,
411 I_CAP_ABOUT,
412 I_CAP_ACT,
413 I_CAP_ADD_SKY,
414 I_CAP_ADD_SOUND,
415 I_CAP_ADD_TEXTURE,
416 I_CAP_KEYS,
417 I_CAP_TEST,
418 I_CAP_OPT,
419 I_CAP_SETS,
420 I_CAP_LAUNCH,
421 I_CAP_ES,
422 I_CAP_PACK,
423 I_CAP_SAVE,
424 I_CAP_MINI,
425 I_CAP_SELECT,
426 I_CAP_OPEN,
427 I_CAP_REMOVE,
428 I_CAP_TEXTURE,
429 I_CAP_ANIMATION,
430 I_CAP_STAT_SELECTED,
432 I_CTRL_PROP_KEY,
433 I_CTRL_PROP_VALUE,
434 I_CTRL_PANELS,
435 I_CTRL_ITEMS,
436 I_CTRL_MONSTERS,
437 I_CTRL_AREAS,
438 I_CTRL_TRIGGERS,
440 I_CTRL_LIST_TEXTURE,
441 I_CTRL_LIST_ITEM,
442 I_CTRL_LIST_MONSTER,
443 I_CTRL_LIST_AREA,
444 I_CTRL_LIST_TRIGGER,
445 I_CTRL_LIST_ACTIVE,
446 I_CTRL_LIST_KEYS,
448 I_CTRL_PREVIEW,
449 I_CTRL_ITEM_DM,
450 I_CTRL_ITEM_FALLS,
451 I_CTRL_LEFT,
452 I_CTRL_RIGHT,
454 I_CTRL_ACT_PLAYER_CLOSE,
455 I_CTRL_ACT_MONSTER_CLOSE,
456 I_CTRL_ACT_PLAYER_PRESS,
457 I_CTRL_ACT_MONSTER_PRESS,
458 I_CTRL_ACT_SHOT,
459 I_CTRL_ACT_NO_MONSTER,
461 I_CTRL_KEYS_RED,
462 I_CTRL_KEYS_GREEN,
463 I_CTRL_KEYS_BLUE,
464 I_CTRL_KEYS_TEAM_RED,
465 I_CTRL_KEYS_TEAM_BLUE,
467 I_CTRL_OPT_GB,
468 I_CTRL_OPT_TEXTURE,
469 I_CTRL_OPT_PANEL,
470 I_CTRL_OPT_WALL,
471 I_CTRL_OPT_FORE,
472 I_CTRL_OPT_BACK,
473 I_CTRL_OPT_STAIR,
474 I_CTRL_OPT_WATER,
475 I_CTRL_OPT_ACID1,
476 I_CTRL_OPT_ACID2,
477 I_CTRL_OPT_LIFT,
478 I_CTRL_OPT_BLOCKMON,
479 I_CTRL_OPT_DESC_TEXTURE,
480 I_CTRL_OPT_DESC_PANEL,
482 I_CTRL_SETS_STATS,
483 I_CTRL_SETS_SIZES,
485 I_CTRL_LAUNCH_DM,
486 I_CTRL_LAUNCH_TDM,
487 I_CTRL_LAUNCH_CTF,
488 I_CTRL_LAUNCH_COOP,
489 I_CTRL_LAUNCH_2P,
490 I_CTRL_LAUNCH_FF,
491 I_CTRL_LAUNCH_EXIT,
492 I_CTRL_LAUNCH_WEAPONS,
493 I_CTRL_LAUNCH_MONSTERS,
494 I_CTRL_LAUNCH_CLOSE,
495 I_CTRL_LAUNCH_OPEN,
497 I_CTRL_ES_GRID,
498 I_CTRL_ES_TEXTURE,
499 I_CTRL_ES_PANEL_SIZE,
500 I_CTRL_ES_CHECKERBOARD,
502 I_CTRL_PACK_TEXTURES,
503 I_CTRL_PACK_SKY,
504 I_CTRL_PACK_MUSIC,
505 I_CTRL_PACK_ADD,
506 I_CTRL_PACK_NON_STD,
508 I_LAB_TEX_WIDTH,
509 I_LAB_TEX_HEIGHT,
511 I_LAB_SPECTRUM,
513 I_LAB_ABOUT_VER,
514 I_LAB_ABOUT_AUTHOR,
515 I_LAB_ABOUT_AUTHOR_2,
516 I_LAB_ABOUT_MAIL,
517 I_LAB_ABOUT_MAIL_2,
518 I_LAB_ABOUT_SITE,
519 I_LAB_ABOUT_HTTP,
521 I_LAB_ADD_WADS,
522 I_LAB_ADD_SECTIONS,
524 I_LAB_SETS_NAME,
525 I_LAB_SETS_DESC,
526 I_LAB_SETS_AUTHOR,
527 I_LAB_SETS_BACK,
528 I_LAB_SETS_MUSIC,
529 I_LAB_SETS_TEXTURES,
530 I_LAB_SETS_PANELS,
531 I_LAB_SETS_ITEMS,
532 I_LAB_SETS_MONSTERS,
533 I_LAB_SETS_AREAS,
534 I_LAB_SETS_TRIGGERS,
535 I_LAB_SETS_SIZES,
536 I_LAB_SETS_WIDTH,
537 I_LAB_SETS_HEIGHT,
538 I_LAB_SETS_MAPMOVE,
539 I_LAB_SETS_SNAPPING,
541 I_LAB_LAUNCH_TIME,
542 I_LAB_LAUNCH_SECS,
543 I_LAB_LAUNCH_SCORE,
544 I_LAB_LAUNCH_PATH,
545 I_LAB_LAUNCH_ARGS,
547 I_LAB_ES_GRID,
548 I_LAB_ES_GRID_COLOR,
549 I_LAB_ES_GRID_SIZE,
550 I_LAB_ES_BACK,
551 I_LAB_ES_PREVIEW,
552 I_LAB_ES_MINIMAP,
553 I_LAB_ES_RECENT,
554 I_LAB_ES_LANGUAGE,
555 I_LAB_ES_COMPRESS,
556 I_LAB_ES_BACKUP,
558 I_LAB_PACK_SAVE_TO,
559 I_LAB_PACK_MAP_NAME,
560 I_LAB_PACK_TEXTURES,
561 I_LAB_PACK_SKY,
562 I_LAB_PACK_MUSIC,
564 I_LAB_MINI_SCALE,
566 I_BTN_APPLY_PROPS,
567 I_BTN_OK,
568 I_BTN_CANCEL,
569 I_BTN_ADD,
570 I_BTN_CLOSE,
571 I_BTN_ADD_CLOSE,
572 I_BTN_TEST_AGAIN,
573 I_BTN_START,
574 I_BTN_PACK,
575 I_BTN_SAVE,
576 I_BTN_NO_SOUND,
577 I_BTN_TEXTURE_ADD,
578 I_BTN_TEXTURE_DELETE,
579 I_BTN_TEXTURE_EMPTY,
581 I_LOAD_WAD,
582 I_LOAD_MAP,
583 I_LOAD_TEXTURES,
584 I_LOAD_PANELS,
585 I_LOAD_ITEMS,
586 I_LOAD_MONSTERS,
587 I_LOAD_AREAS,
588 I_LOAD_TRIGGERS,
590 I_TEST_AREA_WALL,
591 I_TEST_AREA_WALL_STR,
592 I_TEST_SPAWNS_1,
593 I_TEST_SPAWNS_2,
594 I_TEST_SPAWNS,
595 I_TEST_NO_DM,
596 I_TEST_NO_DM_EX,
597 I_TEST_MONSTER_WALL,
598 I_TEST_MONSTER_WALL_STR,
600 I_OPT_NO_TEXTURES,
601 I_OPT_DELETED_TEXTURES,
602 I_OPT_TOTAL_TEXTURES,
603 I_OPT_TEX_DELETED,
604 I_OPT_PANELS_OPT,
605 I_OPT_WALLS,
606 I_OPT_FORES,
607 I_OPT_BACKS,
608 I_OPT_STAIRS,
609 I_OPT_WATER,
610 I_OPT_ACID1,
611 I_OPT_ACID2,
612 I_OPT_LIFTS,
613 I_OPT_BLOCKMON,
614 I_OPT_TOTAL_PANELS,
615 I_OPT_PANELS_AFTER,
617 I_WAD_SPECIAL_MAP,
618 I_WAD_SPECIAL_TEXS,
620 I_FILE_FILTER_ALL,
621 I_FILE_FILTER_WAD,
623 I_EDITOR_TITLE,
625 I_LAST );
627 Const
628 LANGUAGE_RUSSIAN = 'Russian';
629 LANGUAGE_ENGLISH = 'English';
630 LANGUAGE_RUSSIAN_N = 3;
631 LANGUAGE_ENGLISH_N = 2;
633 Var
634 _lc: Array [TStrings_Locale] of String; // for the GUI (in UTF-8)
635 _glc: Array [TStrings_Locale] of String; // for GL text (in CP1251)
637 BoolNames: Array [False..True] of String;
638 DirNames: Array [D_LEFT..D_RIGHT] of String;
639 DirNamesAdv: Array [0..3] of String;
640 DirButtonNames: Array [1..4] of String;
641 PANELNAMES: Array[0..13] of String;
642 EffectNames: Array [EFFECT_NONE..EFFECT_FIRE] of String;
643 ItemNames: Array [ITEM_MEDKIT_SMALL..ITEM_MAX] of String;
644 ShotNames: Array [TRIGGER_SHOT_PISTOL..TRIGGER_SHOT_MAX] of String;
645 MonsterNames: Array [MONSTER_DEMON..MONSTER_MAN] of String;
646 AreaNames: Array [AREA_PLAYERPOINT1..AREA_BLUETEAMPOINT] of String;
647 TriggerNames: Array [TRIGGER_EXIT..TRIGGER_MAX] of String;
650 procedure g_Language_Load(fileName: String);
651 procedure g_Language_Set(lang: String);
652 procedure g_Language_Dump(fileName: String);
654 Implementation
656 Uses
657 SysUtils, e_log, f_main, f_about, f_activationtype,
658 f_addresource_sky, f_addresource_sound,
659 f_addresource_texture, f_choosetype, f_keys, f_mapcheck,
660 f_mapoptions, f_maptest, f_mapoptimization, f_options,
661 f_packmap, f_savemap, f_saveminimap, f_selectmap, Forms, utils;
663 Const
664 g_lang_default: Array [TStrings_Locale] of Array [1..3] of String = (
665 ('NOT ACCESSIBLE', 'N/A',
666 'Н/Д'),
668 ('ARRAY BOOL FALSE', 'No',
669 'Нет'),
670 ('ARRAY BOOL TRUE', 'Yes',
671 'Да'),
673 ('ARRAY DIR LEFT', 'Left',
674 'Влево'),
675 ('ARRAY DIR RIGHT', 'Right',
676 'Вправо'),
677 ('ARRAY DIR SAME', 'Don''t change',
678 'Не менять'),
679 ('ARRAY DIR REVERSED', 'Reversed',
680 'Обратное'),
682 ('ARRAY DIRBTN LEFT', 'Left',
683 'Влево'),
684 ('ARRAY DIRBTN RIGHT', 'Right',
685 'Вправо'),
686 ('ARRAY DIRBTN UP', 'Up',
687 'Вверх'),
688 ('ARRAY DIRBTN DOWN', 'Down',
689 'Вниз'),
691 ('ARRAY PANEL WALL', 'Wall',
692 'Стена'),
693 ('ARRAY PANEL BACK', 'Background',
694 'Фон'),
695 ('ARRAY PANEL FRONT', 'Foreground',
696 'Передний план'),
697 ('ARRAY PANEL DOOR OPEN', 'Open Door',
698 'Открытая дверь'),
699 ('ARRAY PANEL DOOR CLOSE', 'Closed Door',
700 'Закрытая дверь'),
701 ('ARRAY PANEL STAIR', 'Step',
702 'Ступень'),
703 ('ARRAY PANEL WATER', 'Water',
704 'Вода'),
705 ('ARRAY PANEL ACID 1', 'Acid 1',
706 'Кислота 1'),
707 ('ARRAY PANEL ACID 2', 'Acid 2',
708 'Кислота 2'),
709 ('ARRAY PANEL LIFT UP', 'Stream Up',
710 'Лифт вверх'),
711 ('ARRAY PANEL LIFT DOWN', 'Stream Down',
712 'Лифт вниз'),
713 ('ARRAY PANEL LIFT LEFT', 'Stream Left',
714 'Поток влево'),
715 ('ARRAY PANEL LIFT RIGHT', 'Stream Right',
716 'Поток вправо'),
717 ('ARRAY PANEL BLOCKMON', 'Monster Boundary',
718 'Блокиратор монстров'),
720 ('ARRAY FX NONE', 'None',
721 'Нет'),
722 ('ARRAY FX TELEPORT', 'Teleport',
723 'Телепортация'),
724 ('ARRAY FX RESPAWN', 'Respawn',
725 'Респаун'),
726 ('ARRAY FX FIRE', 'Arch-Vile Fire',
727 'Огонь колдуна'),
729 ('ARRAY ITEM MEDKIT', 'Stimpack',
730 'Аптечка'),
731 ('ARRAY ITEM LARGE MEDKIT', 'Medikit',
732 'Большая аптечка'),
733 ('ARRAY ITEM BLACK MEDKIT', 'Berserk Pack',
734 'Чёрная аптечка'),
735 ('ARRAY ITEM GREEN ARMOR', 'Green Armor',
736 'Зелёная броня'),
737 ('ARRAY ITEM BLUE ARMOR', 'Blue Armor',
738 'Синяя броня'),
739 ('ARRAY ITEM BLUE SPHERE', 'Soulsphere',
740 'Шарик 100%'),
741 ('ARRAY ITEM MEGASPHERE', 'Megasphere',
742 'Мегасфера'),
743 ('ARRAY ITEM HAZ SUIT', 'Envirosuit',
744 'Защитный костюм'),
745 ('ARRAY ITEM OXYGEN', 'Scuba',
746 'Акваланг'),
747 ('ARRAY ITEM INVULNERABILITY', 'Invulnerability',
748 'Неуязвимость'),
749 ('ARRAY ITEM CHAINSAW', 'Chainsaw',
750 'Бензопила'),
751 ('ARRAY ITEM SHOTGUN', 'Shotgun',
752 'Ружьё'),
753 ('ARRAY ITEM DB SHOTGUN', 'Super Shotgun',
754 'Двустволка'),
755 ('ARRAY ITEM CHAINGUN', 'Chaingun',
756 'Пулемёт'),
757 ('ARRAY ITEM ROCKET LAUNCHER', 'Rocket Launcher',
758 'Ракетница'),
759 ('ARRAY ITEM PLASMA RIFLE', 'Plasma Rifle',
760 'Плазмаган'),
761 ('ARRAY ITEM BFG', 'BFG9000',
762 'BFG9000'),
763 ('ARRAY ITEM SUPER MINIGUN', 'Super Chaingun',
764 'Суперпулемёт'),
765 ('ARRAY ITEM FLAMETHROWER', 'Flamethrower',
766 'Огнемёт'),
767 ('ARRAY ITEM CLIP', 'Clip',
768 'Патроны'),
769 ('ARRAY ITEM AMMO BOX', 'Box of Bullets',
770 'Ящик патронов'),
771 ('ARRAY ITEM 4 SHELLS', '4 Shells',
772 '4 гильзы'),
773 ('ARRAY ITEM 25 SHELLS', 'Box of Shells',
774 '25 гильз'),
775 ('ARRAY ITEM 1 ROCKET', 'Rocket',
776 '1 ракета'),
777 ('ARRAY ITEM ROCKET BOX', 'Box of Rockets',
778 '5 ракет'),
779 ('ARRAY ITEM CELL', 'Energy Cell',
780 'Батарейка'),
781 ('ARRAY ITEM LARGE CELL', 'Energy Cell Pack',
782 'Батарея'),
783 ('ARRAY ITEM FUELCAN', 'Fuel Canister',
784 'Канистра'),
785 ('ARRAY ITEM BACKPACK', 'Backpack',
786 'Рюкзак'),
787 ('ARRAY ITEM KEY RED', 'Red Key',
788 'Красный ключ'),
789 ('ARRAY ITEM KEY GREEN', 'Green Key',
790 'Зелёный ключ'),
791 ('ARRAY ITEM KEY BLUE', 'Blue Key',
792 'Синий ключ'),
793 ('ARRAY ITEM BOTTLE', 'Health Globe',
794 'Живая вода'),
795 ('ARRAY ITEM HELMET', 'Armor Shard',
796 'Бронешлем'),
797 ('ARRAY ITEM JETPACK', 'Jetpack',
798 'Реактивный ранец'),
799 ('ARRAY ITEM INVIS', 'Invisibility',
800 'Невидимость'),
802 ('ARRAY SHOT PISTOL', 'Pistol shot',
803 'Выстрел пистолета'),
804 ('ARRAY SHOT BULLET', 'Chaingun shot',
805 'Выстрел пулемёта'),
806 ('ARRAY SHOT SHOTGUN', 'Shotgun shot',
807 'Выстрел ружья'),
808 ('ARRAY SHOT SSG', 'Super Shotgun shot',
809 'Выстрел двустволки'),
810 ('ARRAY SHOT IMP', 'Imp fireball',
811 'Шар беса'),
812 ('ARRAY SHOT PLASMA', 'Blue plasma',
813 'Синяя плазма'),
814 ('ARRAY SHOT SPIDER', 'Arachnotron plasma',
815 'Плазма арахнотрона'),
816 ('ARRAY SHOT CACO', 'Cacodemon fireball',
817 'Шар какодемона'),
818 ('ARRAY SHOT BARON', 'Hell Baron projectile',
819 'Выстрел барона ада'),
820 ('ARRAY SHOT MANCUB', 'Mancubus gunshot',
821 'Снаряд манкубуса'),
822 ('ARRAY SHOT REV', 'Revenant projectile',
823 'Снаряд скелета'),
824 ('ARRAY SHOT ROCKET', 'Rocket',
825 'Ракета'),
826 ('ARRAY SHOT BFG', 'BFG ball',
827 'Шар BFG'),
828 ('ARRAY SHOT EXPL', 'Explosion',
829 'Взрыв'),
830 ('ARRAY SHOT BFGEXPL', 'BFG explosion',
831 'Взрыв BFG'),
832 ('ARRAY SHOT FLAME', 'Flame',
833 'Огонь'),
835 ('ARRAY MON DEMON', 'Pinky',
836 'Демон'),
837 ('ARRAY MON IMP', 'Imp',
838 'Бес'),
839 ('ARRAY MON ZOMBIE', 'Zombie',
840 'Зомби'),
841 ('ARRAY MON SERGEANT', 'Sergeant',
842 'Сержант'),
843 ('ARRAY MON CYBER', 'Cyberdemon',
844 'Кибердемон'),
845 ('ARRAY MON CGUN', 'Commando',
846 'Пулемётчик'),
847 ('ARRAY MON HELL BARON', 'Hell Baron',
848 'Барон ада'),
849 ('ARRAY MON HELL KNIGHT', 'Hell Knight',
850 'Рыцарь ада'),
851 ('ARRAY MON CACODEMON', 'Cacodemon',
852 'Какодемон'),
853 ('ARRAY MON LOST SOUL', 'Lost Soul',
854 'Огненный череп'),
855 ('ARRAY MON PAIN ELEMENTAL', 'Pain Elemental',
856 'Авиабаза'),
857 ('ARRAY MON MASTERMIND', 'Spider Mastermind',
858 'Большой паук'),
859 ('ARRAY MON ARACHNATRON', 'Arachnotron',
860 'Арахнотрон'),
861 ('ARRAY MON MANCUBUS', 'Mancubus',
862 'Манкубус'),
863 ('ARRAY MON REVENANT', 'Revenant',
864 'Скелет'),
865 ('ARRAY MON ARCHVILE', 'Arch-Vile',
866 'Колдун'),
867 ('ARRAY MON FISH', 'Piranha',
868 'Рыба'),
869 ('ARRAY MON BARREL', 'Barrel',
870 'Бочка'),
871 ('ARRAY MON ROBOT', 'Robot',
872 'Робот'),
873 ('ARRAY MON PRIKOLIST', 'Prikolist',
874 'Приколист'),
876 ('ARRAY AREA PLAYER ONE', 'Player 1',
877 'Первый игрок'),
878 ('ARRAY AREA PLAYER TWO', 'Player 2',
879 'Второй игрок'),
880 ('ARRAY AREA DM', 'DM Spawn Point',
881 'Точка DM'),
882 ('ARRAY AREA FLAG RED', 'Red Flag',
883 'Красный флаг'),
884 ('ARRAY AREA FLAG BLUE', 'Blue Flag',
885 'Синий флаг'),
886 ('ARRAY AREA FLAG DOM', 'Domination Flag',
887 'DOM флаг'),
888 ('ARRAY AREA TEAM RED', 'Red Team',
889 'Красная команда'),
890 ('ARRAY AREA TEAM BLUE', 'Blue Team',
891 'Синяя команда'),
893 ('ARRAY TR EXIT', 'Exit',
894 'Выход'),
895 ('ARRAY TR TELEPORT', 'Teleport',
896 'Телепортация'),
897 ('ARRAY TR DOOR OPEN', 'Open Door',
898 'Открыть дверь'),
899 ('ARRAY TR DOOR CLOSE', 'Close Door',
900 'Закрыть дверь'),
901 ('ARRAY TR DOOR SWITCH', 'Door',
902 'Дверь'),
903 ('ARRAY TR DOOR 5 SEC', 'Door (5 sec)',
904 'Дверь (5 секунд)'),
905 ('ARRAY TR TRAP CLOSE', 'Close Trap',
906 'Закрыть ловушку'),
907 ('ARRAY TR TRAP', 'Trap',
908 'Ловушка'),
909 ('ARRAY TR EXTEND', 'Extender',
910 'Расширитель'),
911 ('ARRAY TR SECRET', 'Secret',
912 'Секрет'),
913 ('ARRAY TR LIFT UP', 'Turn stream up/left',
914 'Лифт вверх/поток влево'),
915 ('ARRAY TR LIFT DOWN', 'Turn stream down/right',
916 'Лифт вниз/поток вправо'),
917 ('ARRAY TR LIFT SWITCH', 'Revert stream',
918 'Лифт'),
919 ('ARRAY TR TEXTURE', 'Change Texture',
920 'Смена текстуры'),
921 ('ARRAY TR ON', 'Enable Trigger',
922 'Включить триггер'),
923 ('ARRAY TR OFF', 'Disable Trigger',
924 'Выключить триггер'),
925 ('ARRAY TR SWITCH', 'Trigger Toggle',
926 'Переключить триггер'),
927 ('ARRAY TR SOUND', 'Play Sound',
928 'Звук'),
929 ('ARRAY TR SPAWN MONSTER', 'Spawn Monster',
930 'Создать монстра'),
931 ('ARRAY TR SPAWN ITEM', 'Spawn Item',
932 'Создать предмет'),
933 ('ARRAY TR MUSIC', 'Play Music',
934 'Музыка'),
935 ('ARRAY TR PUSH', 'Push',
936 'Ускорение'),
937 ('ARRAY TR SCORE', 'Team Score',
938 'Начисление очков'),
939 ('ARRAY TR MESSAGE', 'Message',
940 'Сообщение'),
941 ('ARRAY TR DAMAGE', 'Damage',
942 'Урон'),
943 ('ARRAY TR HEALTH', 'Healer',
944 'Оздоровитель'),
945 ('ARRAY TR SHOT', 'Turret',
946 'Турель'),
947 ('ARRAY TR EFFECT', 'Effect',
948 'Эффект'),
950 ('PROP ID', 'ID',
951 'ID'),
952 ('PROP X', 'X',
953 'X'),
954 ('PROP Y', 'Y',
955 'Y'),
956 ('PROP WIDTH', 'Width',
957 'Ширина'),
958 ('PROP HEIGHT', 'Height',
959 'Высота'),
960 ('PROP PANEL TYPE', 'Panel Type',
961 'Тип панели'),
962 ('PROP PANEL TEX', 'Texture',
963 'Текстура'),
964 ('PROP PANEL ALPHA', 'Transparency',
965 'Прозрачность'),
966 ('PROP PANEL BLEND', 'Blending',
967 'Смешивание'),
968 ('PROP DM ONLY', 'DM Only',
969 'Только в DM'),
970 ('PROP ITEM FALLS', 'Falls',
971 'Падает'),
972 ('PROP DIRECTION', 'Direction',
973 'Направление'),
975 ('PROP TR TYPE', 'Trigger Type',
976 'Тип триггера'),
977 ('PROP TR ENABLED', 'Enabled',
978 'Включён'),
979 ('PROP TR TEXTURE PANEL', 'Textured Panel',
980 'Панель с текстурой'),
981 ('PROP TR ACTIVATION', 'Activation Type',
982 'Тип активации'),
983 ('PROP TR KEYS', 'Keys',
984 'Ключи'),
985 ('PROP TR D2D', 'D2D-like',
986 'Как в D2D'),
987 ('PROP TR SILENT', 'Silent',
988 'Без звука'),
989 ('PROP TR COUNT', 'Count',
990 'Количество'),
991 ('PROP TR INTERVAL', 'Interval (in ticks)',
992 'Интервал (в тиках)'),
993 ('PROP TR HEALTH', 'Health',
994 'Здоровье'),
995 ('PROP TR NEXT MAP', 'Next Map',
996 'След. карта'),
997 ('PROP TR TELEPORT TO', 'Teleport to',
998 'Точка телепорта'),
999 ('PROP TR TELEPORT SILENT', 'Silent',
1000 'Тихий телепорт'),
1001 ('PROP TR TELEPORT DIR', 'New Direction',
1002 'Направление после'),
1003 ('PROP TR DOOR PANEL', 'Door Panel',
1004 'Панель двери'),
1005 ('PROP TR TRAP PANEL', 'Trap Panel',
1006 'Панель ловушки'),
1007 ('PROP TR EX AREA', 'Action Area',
1008 'Область воздействия'),
1009 ('PROP TR EX DELAY', 'Delay',
1010 'Задержка'),
1011 ('PROP TR EX COUNT', 'Count',
1012 'Счётчик'),
1013 ('PROP TR EX MONSTER', 'Monster ID',
1014 'ID монстра'),
1015 ('PROP TR EX RANDOM', 'Random',
1016 'Случайный'),
1017 ('PROP TR LIFT PANEL', 'Stream Panel',
1018 'Панель лифта'),
1019 ('PROP TR TEXTURE ONCE', 'Once',
1020 'Один раз'),
1021 ('PROP TR TEXTURE ANIM ONCE', 'Animate Once',
1022 'Аним. один раз'),
1023 ('PROP TR SOUND NAME', 'Sound (snd)',
1024 'Звук (snd)'),
1025 ('PROP TR SOUND VOLUME', 'Volume',
1026 'Громкость'),
1027 ('PROP TR SOUND PAN', 'Pan',
1028 'Стерео'),
1029 ('PROP TR SOUND COUNT', 'Loops',
1030 'Играть раз'),
1031 ('PROP TR SOUND LOCAL', 'Local',
1032 'Локальный'),
1033 ('PROP TR SOUND SWITCH', 'Switch',
1034 'Переключение'),
1035 ('PROP TR FX TYPE', 'Effect',
1036 'Эффект'),
1037 ('PROP TR SPAWN TO', 'Spawn at',
1038 'Точка появления'),
1039 ('PROP TR SPAWN MAX', 'Maximum',
1040 'Максимум'),
1041 ('PROP TR SPAWN DELAY', 'Autospawn (in ticks)',
1042 'Автоспаун (в тиках)'),
1043 ('PROP TR MONSTER TYPE', 'Monster',
1044 'Тип монстра'),
1045 ('PROP TR MONSTER ACTIVE', 'Active',
1046 'Активен'),
1047 ('PROP TR MONSTER BEHAVIOUR', 'Behaviour',
1048 'Поведение'),
1049 ('PROP TR MONSTER BEHAVIOUR 0', 'Normal',
1050 'Обычное'),
1051 ('PROP TR MONSTER BEHAVIOUR 1', 'Killer',
1052 'Убийца'),
1053 ('PROP TR MONSTER BEHAVIOUR 2', 'Maniac',
1054 'Маньяк'),
1055 ('PROP TR MONSTER BEHAVIOUR 3', 'Insane',
1056 'Поехавший'),
1057 ('PROP TR MONSTER BEHAVIOUR 4', 'Cannibal',
1058 'Каннибал'),
1059 ('PROP TR MONSTER BEHAVIOUR 5', 'Good',
1060 'Добрый'),
1061 ('PROP TR ITEM TYPE', 'Item',
1062 'Тип предмета'),
1063 ('PROP TR MUSIC NAME', 'Music',
1064 'Музыка'),
1065 ('PROP TR MUSIC ACT', 'Action (m)',
1066 'Действие (m)'),
1067 ('PROP TR MUSIC ON', 'Play',
1068 'Включить'),
1069 ('PROP TR MUSIC OFF', 'Pause',
1070 'Выключить'),
1071 ('PROP TR PUSH ANGLE', 'Angle',
1072 'Угол'),
1073 ('PROP TR PUSH FORCE', 'Force',
1074 'Сила'),
1075 ('PROP TR PUSH RESET', 'Reset velocity',
1076 'Сбрасывать скорость'),
1077 ('PROP TR SCORE ACT', 'Action (s)',
1078 'Действие (s)'),
1079 ('PROP TR SCORE ACT 0', 'Add points',
1080 'Прибавить очки'),
1081 ('PROP TR SCORE ACT 1', 'Subtract points',
1082 'Отнять очки'),
1083 ('PROP TR SCORE ACT 2', 'Team Wins',
1084 'Выигрыш'),
1085 ('PROP TR SCORE ACT 3', 'Team Loses',
1086 'Проигрыш'),
1087 ('PROP TR SCORE TEAM', 'Team',
1088 'Команда'),
1089 ('PROP TR SCORE TEAM 0', 'My',
1090 'Своя'),
1091 ('PROP TR SCORE TEAM 1', 'Enemy',
1092 'Соперника'),
1093 ('PROP TR SCORE TEAM 2', 'Red',
1094 'Красная'),
1095 ('PROP TR SCORE TEAM 3', 'Blue',
1096 'Синяя'),
1097 ('PROP TR SCORE CON', 'Console message',
1098 'Сообщение в консоль'),
1099 ('PROP TR SCORE MSG', 'Game message',
1100 'Сообщение в игру'),
1101 ('PROP TR DAMAGE VALUE', 'Damage',
1102 'Ущерб'),
1103 ('PROP TR DAMAGE KIND', 'Damage type',
1104 'Тип урона'),
1105 ('PROP TR DAMAGE KIND 0', 'HIT_SOME',
1106 'HIT_SOME'),
1107 ('PROP TR DAMAGE KIND 3', 'HIT_TRAP',
1108 'HIT_TRAP'),
1109 ('PROP TR DAMAGE KIND 4', 'HIT_FALL',
1110 'HIT_FALL'),
1111 ('PROP TR DAMAGE KIND 5', 'HIT_WATER',
1112 'HIT_WATER'),
1113 ('PROP TR DAMAGE KIND 6', 'HIT_ACID',
1114 'HIT_ACID'),
1115 ('PROP TR DAMAGE KIND 7', 'HIT_ELECTRO',
1116 'HIT_ELECTRO'),
1117 ('PROP TR DAMAGE KIND 8', 'HIT_FLAME',
1118 'HIT_FLAME'),
1119 ('PROP TR HEALTH MAX', 'To maximum',
1120 'До максимума'),
1121 ('PROP TR SHOT TYPE', 'Projectile',
1122 'Снаряд'),
1123 ('PROP TR SHOT SOUND', 'Shot sound',
1124 'Звук выстрела'),
1125 ('PROP TR SHOT ANGLE', 'Angle',
1126 'Угол'),
1127 ('PROP TR SHOT ACC', 'Spread',
1128 'Разброс'),
1129 ('PROP TR SHOT TO', 'Auto targeting',
1130 'Автонаведение'),
1131 ('PROP TR SHOT TO 0', 'None',
1132 'Нет'),
1133 ('PROP TR SHOT TO 1', 'Monsters',
1134 'Монстры'),
1135 ('PROP TR SHOT TO 2', 'Players',
1136 'Игроки'),
1137 ('PROP TR SHOT TO 3', 'Red team',
1138 'Красная команда'),
1139 ('PROP TR SHOT TO 4', 'Blue team',
1140 'Синяя команда'),
1141 ('PROP TR SHOT TO 5', 'Monsters, players',
1142 'Монстры, игроки'),
1143 ('PROP TR SHOT TO 6', 'Players, monsters',
1144 'Игроки, монстры'),
1145 ('PROP TR SHOT AIM', 'Auto-aiming mode',
1146 'Режим автонаведения'),
1147 ('PROP TR SHOT AIM 0', 'Trigger area',
1148 'Область триггера'),
1149 ('PROP TR SHOT AIM 1', 'Entire map',
1150 'По всей карте'),
1151 ('PROP TR SHOT AIM 2', 'Trace trigger area',
1152 'Область триггера с трассировкой'),
1153 ('PROP TR SHOT AIM 3', 'Trace entire map',
1154 'Вся карта с трассировкой'),
1155 ('PROP TR SHOT AMMO', 'Ammo limit',
1156 'Кол-во патронов'),
1157 ('PROP TR SHOT RELOAD', 'Reload interval (in ticks)',
1158 'Перезарядка (в тиках)'),
1159 ('PROP TR SHOT SIGHT', 'Sight interval (in ticks)',
1160 'Реакция (в тиках)'),
1161 ('PROP TR SHOT PANEL', 'Indicator panel',
1162 'Панель индикации'),
1163 ('PROP TR MESSAGE KIND', 'Message kind',
1164 'Тип сообщения'),
1165 ('PROP TR MESSAGE KIND 0', 'Console message',
1166 'Текст в консоли'),
1167 ('PROP TR MESSAGE KIND 1', 'Event message',
1168 'Крупный текст по центру'),
1169 ('PROP TR MESSAGE TO', 'Send to',
1170 'Получатель'),
1171 ('PROP TR MESSAGE TO 0', 'Me',
1172 'Я'),
1173 ('PROP TR MESSAGE TO 1', 'My team',
1174 'Моя команда'),
1175 ('PROP TR MESSAGE TO 2', 'Enemy team',
1176 'Вражеская команда'),
1177 ('PROP TR MESSAGE TO 3', 'Red team',
1178 'Красная команда'),
1179 ('PROP TR MESSAGE TO 4', 'Blue team',
1180 'Синяя команда'),
1181 ('PROP TR MESSAGE TO 5', 'Everyone',
1182 'Все игроки'),
1183 ('PROP TR MESSAGE TEXT', 'Message text',
1184 'Текст сообщения'),
1185 ('PROP TR MESSAGE TIME', 'Time (in ticks)',
1186 'Время показа (в тиках)'),
1187 ('PROP TR EFFECT TYPE', 'Effect type',
1188 'Тип эффекта'),
1189 ('PROP TR EFFECT SUBTYPE', 'Effect subtype',
1190 'Подтип эффекта'),
1191 ('PROP TR EFFECT COLOR', 'Effect color',
1192 'Цвет эффекта'),
1193 ('PROP TR EFFECT CENTER', 'Trigger center',
1194 'По центру'),
1195 ('PROP TR EFFECT VELX', 'Horizontal speed',
1196 'Скорость по горизонтали'),
1197 ('PROP TR EFFECT VELY', 'Vertical speed',
1198 'Скорость по вертикали'),
1199 ('PROP TR EFFECT SPL', 'Speed variance left',
1200 'Отклонение влево'),
1201 ('PROP TR EFFECT SPR', 'Speed variance right',
1202 'Отклонение вправо'),
1203 ('PROP TR EFFECT SPU', 'Speed variance up',
1204 'Отклонение вверх'),
1205 ('PROP TR EFFECT SPD', 'Speed variance down',
1206 'Отклонение вниз'),
1207 ('PROP TR EFFECT PARTICLE', 'Particle generator',
1208 'Генератор частиц'),
1209 ('PROP TR EFFECT ANIMATION', 'Animation',
1210 'Анимация'),
1211 ('PROP TR EFFECT SLIQUID', 'Water splash',
1212 'Брызги воды'),
1213 ('PROP TR EFFECT LLIQUID', 'Light colored splash',
1214 'Цветные брызги (светлее)'),
1215 ('PROP TR EFFECT DLIQUID', 'Dark colored splash',
1216 'Цветные брызги (темнее)'),
1217 ('PROP TR EFFECT BLOOD', 'Blood',
1218 'Кровь'),
1219 ('PROP TR EFFECT SPARK', 'Sparks',
1220 'Искры'),
1221 ('PROP TR EFFECT BUBBLE', 'Bubbles',
1222 'Пузырьки'),
1224 ('MSG ERROR', 'Error',
1225 'Ошибка'),
1226 ('MSG WRONG TEXWIDTH', 'Panel Width must be a multiple of Texture Width (%d)',
1227 'Ширина панели должна быть кратна ширине текстуры (%d)'),
1228 ('MSG WRONG TEXHEIGHT', 'Panel Height must be a multiple of Texture Height (%d)',
1229 'Высота панели должна быть кратна высоте текстуры (%d)'),
1230 ('MSG WRONG ALPHA', 'Transparency must be in [0..255] interval',
1231 'Прозрачность должна быть в интервале [0..255]'),
1232 ('MSG WRONG SIZE', 'Width and Height must be greater than 0',
1233 'Ширина и высота должны быть больше 0'),
1234 ('MSG WRONG XY', 'X or Y coordinate hasn''t been set',
1235 'Не задана X или Y координата'),
1236 ('MSG TEXTURE ALREADY', 'Texture "%s" already exists',
1237 'Текстура "%s" уже добавлена'),
1238 ('MSG RES NAME 64', 'Resource "%s" name must not be longer than 64 chars',
1239 'Имя ресурса "%s" должно быть не длиннее 64 символов'),
1240 ('MSG CHOOSE ITEM', 'Select Item',
1241 'Выберите предмет'),
1242 ('MSG CHOOSE MONSTER', 'Select Monster',
1243 'Выберите монстра'),
1244 ('MSG CHOOSE AREA', 'Select Area',
1245 'Выберите область'),
1246 ('MSG CHOOSE TEXTURE', 'Select Texture',
1247 'Выберите текстуру'),
1248 ('MSG CHOOSE RES', 'Resource hasn''t been selected',
1249 'Не выбран ресурс'),
1250 ('MSG EXIT', 'Exit',
1251 'Выход'),
1252 ('MSG EXIT PROMT', 'Leaving so soon?',
1253 'Уже уходите?'),
1254 ('MSG DEL TEXTURE', 'Delete the texture',
1255 'Удалить текстуру'),
1256 ('MSG DEL TEXTURE PROMT', 'Delete the texture "%s" ?',
1257 'Удалить текстуру "%s" ?'),
1258 ('MSG DEL TEXTURE CANT', 'Can''t delete texture in use. Replace it on all panels with this texture.',
1259 'Нельзя удалить используемую текстуру. Замените её на каждой панели с ней.'),
1260 ('MSG DEL RECENT', 'File does not longer exist',
1261 'Этого файла больше нет'),
1262 ('MSG DEL RECENT PROMT', 'Remove entry from recent list?',
1263 'Убрать запись из истории?'),
1264 ('MSG CLEAR MAP', 'New map',
1265 'Новая карта'),
1266 ('MSG CLEAR MAP PROMT', 'Clear the entire map?',
1267 'Очистить всю карту?'),
1268 ('MSG DELETE MAP', 'Delete the map',
1269 'Удалить карту'),
1270 ('MSG DELETE MAP PROMT', 'Delete the map "%s" from "%s" ?',
1271 'Удалить карту "%s" из "%s" ?'),
1272 ('MSG MAP DELETED', 'Map is deleted',
1273 'Карта удалена'),
1274 ('MSG MAP DELETED PROMT', 'Map "%s" is deleted',
1275 'Карта "%s" удалена'),
1276 ('MSG REOPEN MAP PROMT', 'Reopen this map?',
1277 'Загрузить карту заново?'),
1278 ('MSG EXEC ERROR', 'Game start error',
1279 'Ошибка запуска игры'),
1280 ('MSG SOUND ERROR', 'Can''t play sound',
1281 'Не удалось проиграть звук'),
1282 ('MSG WAD ERROR', 'Can''t open WAD: %s',
1283 'Ошибка при открытии WAD: %s'),
1284 ('MSG RES ERROR', 'Can''t read resource: %s:%s\%s',
1285 'Ошибка при чтении ресурса: %s:%s\%s'),
1286 ('MSG PACKED', 'Map "%s" with resources saved to "%s"',
1287 'Карта "%s" вместе с ресурсами сохранена в "%s"'),
1288 ('MSG MAP EXISTS', 'Map "%s" already exists. Overwrite?',
1289 'Карта "%s" уже существует. Заменить?'),
1290 ('MSG SAVE MAP', 'Save the map',
1291 'Сохранить карту'),
1293 ('HINT TELEPORT', 'Choose destination of Teleport',
1294 'Выберите точку телепорта'),
1295 ('HINT SPAWN', 'Choose Spawn point',
1296 'Выберите точку появления'),
1297 ('HINT PANEL DOOR', 'Choose Door',
1298 'Выберите панель двери'),
1299 ('HINT PANEL TEXTURE', 'Choose textured Panel',
1300 'Выберите панель с текстурой'),
1301 ('HINT PANEL SHOT', 'Choose textured shot indicator Panel',
1302 'Выберите панель индикации выстрела с текстурой'),
1303 ('HINT PANEL LIFT', 'Choose Stream Panel',
1304 'Выберите панель лифта'),
1305 ('HINT MONSTER', 'Choose Monster',
1306 'Выберите монстра'),
1307 ('HINT EXT AREA', 'Specify action Area',
1308 'Укажите область воздействия'),
1309 ('HINT WIDTH', 'Width: %d',
1310 'Ширина: %d'),
1311 ('HINT HEIGHT', 'Height: %d',
1312 'Высота: %d'),
1314 ('MENU FILE', 'File',
1315 'Файл'),
1316 ('MENU FILE NEW', 'New Map',
1317 'Новая карта'),
1318 ('MENU FILE OPEN', 'Open Map',
1319 'Открыть карту'),
1320 ('MENU FILE SAVE', 'Save Map',
1321 'Сохранить карту'),
1322 ('MENU FILE SAVE AS', 'Save Map As...',
1323 'Сохранить карту как...'),
1324 ('MENU FILE OPEN WAD', 'Select Map',
1325 'Выбрать карту'),
1326 ('MENU FILE REOPEN', 'Reopen Map',
1327 'Открыть заново'),
1328 ('MENU FILE SAVE MINI', 'Save Mini-map',
1329 'Сохранить мини-карту'),
1330 ('MENU FILE DELETE', 'Delete Map from WAD...',
1331 'Удалить карту из WAD...'),
1332 ('MENU FILE PACK MAP', 'Pack Map',
1333 'Упаковать карту'),
1334 ('MENU FILE EXIT', 'Exit',
1335 'Выход'),
1337 ('MENU EDIT', 'Edit',
1338 'Правка'),
1339 ('MENU EDIT UNDO', 'Undo',
1340 'Отменить'),
1341 ('MENU EDIT COPY', 'Copy',
1342 'Копировать'),
1343 ('MENU EDIT CUT', 'Cut',
1344 'Вырезать'),
1345 ('MENU EDIT PASTE', 'Paste',
1346 'Вставить'),
1347 ('MENU EDIT SELECT ALL', 'Select All',
1348 'Выделить всё'),
1349 ('MENU EDIT TO FORE', 'Bring to Front',
1350 'Передвинуть вперёд'),
1351 ('MENU EDIT TO BACK', 'Send to Back',
1352 'Передвинуть назад'),
1354 ('MENU TOOLS', 'Tools',
1355 'Инструменты'),
1356 ('MENU TOOLS SNAP GRID', 'Snap to Grid',
1357 'Привязка к сетке'),
1358 ('MENU TOOLS MINIMAP', 'Show Mini-map',
1359 'Мини-карта'),
1360 ('MENU TOOLS STEP GRID', 'Switch Grid step',
1361 'Сменить шаг сетки'),
1362 ('MENU TOOLS SHOW EDGES', 'Switch Map edges',
1363 'Границы карты'),
1364 ('MENU TOOLS LAYERS', 'Layers',
1365 'Слои'),
1367 ('MENU SERV', 'Service',
1368 'Сервис'),
1369 ('MENU SERV TEST', 'Check the Map',
1370 'Проверка карты'),
1371 ('MENU SERV OPT', 'Optimize the Map',
1372 'Оптимизация карты'),
1373 ('MENU SERV PREVIEW', 'Map Preview',
1374 'Предварительный просмотр'),
1375 ('MENU SERV LAUNCH', 'In-game test',
1376 'Тест карты в игре'),
1378 ('MENU SETS', 'Settings',
1379 'Настройка'),
1380 ('MENU SETS MAP', 'Map parameters',
1381 'Параметры карты'),
1382 ('MENU SETS EDITOR', 'Editor settings',
1383 'Настройки редактора'),
1384 ('MENU SETS LAUNCH', 'In-game test settings',
1385 'Настройки теста в игре'),
1387 ('MENU HELP', 'Help',
1388 'Справка'),
1389 ('MENU HELP ABOUT', 'About',
1390 'О программе'),
1392 ('MENU LAYER BACK', '1. Background',
1393 '1. Фон'),
1394 ('MENU LAYER WALL', '2. Walls',
1395 '2. Стены'),
1396 ('MENU LAYER FORE', '3. Foreground',
1397 '3. Передний план'),
1398 ('MENU LAYER STAIR', '4. Steps',
1399 '4. Ступени'),
1400 ('MENU LAYER WATER', '5. Liquids',
1401 '5. Жидкости'),
1402 ('MENU LAYER ITEM', '6. Items',
1403 '6. Предметы'),
1404 ('MENU LAYER MONSTER', '7. Monsters',
1405 '7. Монстры'),
1406 ('MENU LAYER AREA', '8. Areas',
1407 '8. Области'),
1408 ('MENU LAYER TRIGGER', '9. Triggers',
1409 '9. Триггеры'),
1411 ('MENU TB NEW', 'New Map',
1412 'Новая карта'),
1413 ('MENU TB OPEN', 'Open Map',
1414 'Открыть карту'),
1415 ('MENU TB SAVE', 'Save Map',
1416 'Сохранить карту'),
1417 ('MENU TB OPEN WAD', 'Open another Map from same WAD',
1418 'Открыть другую карту из этого же WAD''а'),
1419 ('MENU TB MINIMAP', 'Show Mini-map',
1420 'Показать мини-карту'),
1421 ('MENU TB LAYERS', 'Show/Hide Objects',
1422 'Отрисовка панелей/объектов'),
1423 ('MENU TB GRID', 'Grid On/Off',
1424 'Включить/Отключить отображение сетки'),
1425 ('MENU TB GRID STEP', 'Switch Grid step',
1426 'Изменить шаг сетки'),
1427 ('MENU TB LAUNCH', 'In-game test',
1428 'Тест карты в игре'),
1430 ('MENU LAUNCH SETS', 'Settings...',
1431 'Параметры...'),
1433 ('CAP FX TYPE', 'Select Effect type',
1434 'Выберите тип эффекта'),
1435 ('CAP MONSTER TYPE', 'Select Monster type',
1436 'Выберите тип монстра'),
1437 ('CAP ITEM TYPE', 'Select Item type',
1438 'Выберите тип предмета'),
1439 ('CAP ABOUT', 'About Map Editor',
1440 'О программе'),
1441 ('CAP ACT', 'Activation type',
1442 'Тип активации'),
1443 ('CAP ADD SKY', 'Select Sky Texture',
1444 'Выберите текстуру неба'),
1445 ('CAP ADD SOUND', 'Select Sound/Music',
1446 'Выберите звук/музыку'),
1447 ('CAP ADD TEXTURE', 'Select Texture',
1448 'Выберите текстуру'),
1449 ('CAP KEYS', 'Keys',
1450 'Ключи'),
1451 ('CAP TEST', 'Map Checking',
1452 'Проверка карты'),
1453 ('CAP OPT', 'Map Optimization',
1454 'Оптимизация карты'),
1455 ('CAP SETS', 'Map Parameters',
1456 'Параметры карты'),
1457 ('CAP LAUNCH', 'In-game test Settings',
1458 'Настройки теста в игре'),
1459 ('CAP ES', 'Editor Settings',
1460 'Настройки редактора'),
1461 ('CAP PACK', 'Pack Map',
1462 'Упаковать карту'),
1463 ('CAP SAVE', 'Save Map',
1464 'Сохранить карту'),
1465 ('CAP MINI', 'Save Mini-map',
1466 'Сохранить мини-карту'),
1467 ('CAP SELECT', 'Select Map',
1468 'Выберите карту'),
1469 ('CAP OPEN', 'Open Map',
1470 'Открыть карту'),
1471 ('CAP REMOVE', 'Remove Map',
1472 'Удалить карту'),
1473 ('CAP TEXTURE', 'Texture: %dx%d',
1474 'Текстура: %dx%d'),
1475 ('CAP ANIMATION', 'Animation: %dx%d, %d frames',
1476 'Анимация: %dx%d, %d кадров'),
1477 ('CAP STAT SELECTED', 'Selected objects: %d',
1478 'Выделено объектов: %d'),
1480 ('CTRL PROP KEY', 'Property',
1481 'Свойство'),
1482 ('CTRL PROP VALUE', 'Value',
1483 'Значение'),
1485 ('CTRL PANELS', 'Panels',
1486 'Панели'),
1487 ('CTRL ITEMS', 'Items',
1488 'Предметы'),
1489 ('CTRL MONSTERS', 'Monsters',
1490 'Монстры'),
1491 ('CTRL AREAS', 'Areas',
1492 'Области'),
1493 ('CTRL TRIGGERS', 'Triggers',
1494 'Триггеры'),
1496 ('CTRL LIST TEXTURE', 'Texture List',
1497 'Список текстур'),
1498 ('CTRL LIST ITEM', 'Item List',
1499 'Список предметов'),
1500 ('CTRL LIST MONSTER', 'Monster List',
1501 'Список монстров'),
1502 ('CTRL LIST AREA', 'Area List',
1503 'Список областей'),
1504 ('CTRL LIST TRIGGER', 'Trigger List',
1505 'Список триггеров'),
1506 ('CTRL LIST ACTIVE', 'Activation Type',
1507 'Тип активации триггера'),
1508 ('CTRL LIST KEYS', 'Keys Needed',
1509 'Ключи для активации'),
1511 ('CTRL PREVIEW', 'Texture Preview',
1512 'Предварительный просмотр'),
1513 ('CTRL ITEM DM', 'DM Only',
1514 'Только в DM'),
1515 ('CTRL ITEM FALLS', 'Falls',
1516 'Падает'),
1517 ('CTRL LEFT', 'Left',
1518 'Влево'),
1519 ('CTRL RIGHT', 'Right',
1520 'Вправо'),
1522 ('CTRL ACT PLAYER CLOSE', 'Player Collides',
1523 'Игрок близко'),
1524 ('CTRL ACT MONSTER CLOSE', 'Monster Collides',
1525 'Монстр близко'),
1526 ('CTRL ACT PLAYER PRESS', 'Player Pressed',
1527 'Игрок нажал'),
1528 ('CTRL ACT MONSTER PRESS', 'Monster Pressed',
1529 'Монстр нажал'),
1530 ('CTRL ACT SHOT', 'Shot',
1531 'Выстрел'),
1532 ('CTRL ACT NO MONSTER', 'No Monsters',
1533 'Монстров нет'),
1535 ('CTRL KEYS RED', 'Red Key',
1536 'Красный ключ'),
1537 ('CTRL KEYS GREEN', 'Green Key',
1538 'Зелёный ключ'),
1539 ('CTRL KEYS BLUE', 'Blue Key',
1540 'Синий ключ'),
1541 ('CTRL KEYS TEAM RED', 'Red Team',
1542 'Красная команда'),
1543 ('CTRL KEYS TEAM BLUE', 'Blue Team',
1544 'Синяя команда'),
1546 ('CTRL OPT GB', 'Optimization',
1547 'Оптимизация'),
1548 ('CTRL OPT TEXTURE', 'Texture Optimization',
1549 'Оптимизация текстур'),
1550 ('CTRL OPT PANEL', 'Panel Optimization',
1551 'Оптимизация панелей'),
1552 ('CTRL OPT WALL', 'Walls',
1553 'Стены'),
1554 ('CTRL OPT FORE', 'Foreground',
1555 'Передний план'),
1556 ('CTRL OPT BACK', 'Background',
1557 'Фон'),
1558 ('CTRL OPT STAIR', 'Steps',
1559 'Ступени'),
1560 ('CTRL OPT WATER', 'Water',
1561 'Вода'),
1562 ('CTRL OPT ACID1', 'Acid 1',
1563 'Кислота 1'),
1564 ('CTRL OPT ACID2', 'Acid 2',
1565 'Кислота 2'),
1566 ('CTRL OPT LIFT', 'Streams',
1567 'Лифты'),
1568 ('CTRL OPT BLOCKMON', 'Monster Boundary',
1569 'Блокиратор монстров'),
1570 ('CTRL OPT DESC TEXTURE', 'Deletes unused textures from texture list.',
1571 'Удаляет неиспользуемые текстуры из списка.'),
1572 ('CTRL OPT DESC PANEL', 'Merges nearby panels of same type. Increases game performance.',
1573 'Объединяет одинаковые панели, расположенные вплотную друг к другу, увеличивая тем самым производительность игры.'),
1574 ('CTRL SETS STATS', 'Statistics:',
1575 'Статистика:'),
1576 ('CTRL SETS SIZES', 'Map Size:',
1577 'Размеры:'),
1579 ('CTRL LAUNCH DM', 'Deathmatch',
1580 'Deathmatch'),
1581 ('CTRL LAUNCH TDM', 'Team Deathmatch',
1582 'Team Deathmatch'),
1583 ('CTRL LAUNCH CTF', 'Capture the Flag',
1584 'Capture the Flag'),
1585 ('CTRL LAUNCH COOP', 'Cooperative',
1586 'Cooperative'),
1587 ('CTRL LAUNCH 2P', 'Two Players',
1588 'Два игрока'),
1589 ('CTRL LAUNCH FF', 'Friendly Fire',
1590 'Урон своих'),
1591 ('CTRL LAUNCH EXIT', 'Enable Exit',
1592 'Включить выход'),
1593 ('CTRL LAUNCH WEAPONS', 'Weapons Stay',
1594 'Оружие остаётся'),
1595 ('CTRL LAUNCH MONSTERS', 'Enable Monsters',
1596 'Монстры в DM'),
1597 ('CTRL LAUNCH CLOSE', 'Close the game after exiting the map',
1598 'Закрыть игру после выхода из карты'),
1599 ('CTRL LAUNCH OPEN', 'Select Doom 2D: Forever executable',
1600 'Выберите файл игры Doom 2D: Forever'),
1602 ('CTRL ES GRID', 'Show Grid',
1603 'Показывать сетку'),
1604 ('CTRL ES TEXTURE', 'Show Panel Texture',
1605 'Показывать текстуру панели'),
1606 ('CTRL ES PANEL SIZE', 'Show Panel Size',
1607 'Показывать размеры панели '),
1608 ('CTRL ES CHECKERBOARD', 'Use Checkerboard',
1609 'Использовать шахматку'),
1611 ('CTRL PACK TEXTURES', 'Textures',
1612 'Текстуры'),
1613 ('CTRL PACK SKY', 'Sky',
1614 'Небо'),
1615 ('CTRL PACK MUSIC', 'Music',
1616 'Музыку'),
1617 ('CTRL PACK ADD', 'Don''t overwrite WAD',
1618 'Не перезаписывать WAD'),
1619 ('CTRL PACK NON STD', 'Non-standard Resources only',
1620 'Только нестандартные ресурсы'),
1622 ('LAB TEX WIDTH', 'Texture Width:',
1623 'Ширина текстуры:'),
1624 ('LAB TEX HEIGHT', 'Texture Height:',
1625 'Высота текстуры:'),
1627 ('LAB SPECTRUM', 'Show the Spectrum',
1628 'Показать спектр'),
1630 ('LAB ABOUT VER', 'Version 2.1.5',
1631 'Версия 2.1.5'),
1632 ('LAB ABOUT AUTHOR', 'Author: rs.falcon',
1633 'Автор: rs.falcon'),
1634 ('LAB ABOUT AUTHOR 2', 'Additions: Pss',
1635 'Дорабатывал: Pss'),
1636 ('LAB ABOUT MAIL', 'rmw.falcon@mail.ru',
1637 'rmw.falcon@mail.ru'),
1638 ('LAB ABOUT MAIL 2', 'pssxx@mail.ru',
1639 'pssxx@mail.ru'),
1640 ('LAB ABOUT SITE', 'Doom 2D: Forever Web-site',
1641 'Сайт Doom 2D: Forever'),
1642 ('LAB ABOUT HTTP', 'www.doom2d.org',
1643 'www.doom2d.org'),
1645 ('LAB ADD WADS', 'WAD Files:',
1646 'Список WAD-файлов:'),
1647 ('LAB ADD SECTIONS', 'WAD Sections:',
1648 'Список секций WAD-файла:'),
1650 ('LAB SETS NAME', 'Map Name:',
1651 'Название карты:'),
1652 ('LAB SETS DESC', 'Map Description',
1653 'Описание карты:'),
1654 ('LAB SETS AUTHOR', 'Author:',
1655 'Автор:'),
1656 ('LAB SETS BACK', 'Background/Sky:',
1657 'Фон/Небо:'),
1658 ('LAB SETS MUSIC', 'Music:',
1659 'Музыка:'),
1660 ('LAB SETS TEXTURES', 'Textures:',
1661 'Текстур:'),
1662 ('LAB SETS PANELS', 'Panels:',
1663 'Панелей:'),
1664 ('LAB SETS ITEMS', 'Items:',
1665 'Предметов:'),
1666 ('LAB SETS MONSTERS', 'Monsters:',
1667 'Монстров:'),
1668 ('LAB SETS AREAS', 'Areas:',
1669 'Областей:'),
1670 ('LAB SETS TRIGGERS', 'Triggers:',
1671 'Триггеров:'),
1672 ('LAB SETS SIZES', 'Current:',
1673 'Текущий:'),
1674 ('LAB SETS WIDTH', 'Width:',
1675 'Ширина:'),
1676 ('LAB SETS HEIGHT', 'Height:',
1677 'Высота:'),
1678 ('LAB SETS MAPMOVE', 'Direction to shift map objects:',
1679 'Направление смещения объектов карты:'),
1680 ('LAB SETS SNAPPING', 'Preserve snapping',
1681 'Сохранять привязку'),
1683 ('LAB LAUNCH TIME', 'Time Limit:',
1684 'Лимит времени:'),
1685 ('LAB LAUNCH SECS', 'seconds',
1686 'секунд'),
1687 ('LAB LAUNCH SCORE', 'Score Limit:',
1688 'Лимит очков:'),
1689 ('LAB LAUNCH PATH', 'Path to Doom2DF.exe:',
1690 'Путь к Doom2DF.exe:'),
1691 ('LAB LAUNCH ARGS', 'Launch Arguments:',
1692 'Параметры запуска:'),
1694 ('LAB ES GRID', 'Grid Step:',
1695 'Шаг сетки:'),
1696 ('LAB ES GRID COLOR', 'Grid Color:',
1697 'Цвет сетки:'),
1698 ('LAB ES GRID SIZE', 'Grid Dot Size:',
1699 'Размер точек сетки:'),
1700 ('LAB ES BACK', 'Background Color:',
1701 'Цвет фона:'),
1702 ('LAB ES PREVIEW', 'Texture Preview Background Color:',
1703 'Цвет фона поля предпросмотра текстуры:'),
1704 ('LAB ES MINIMAP', 'Mini-map Scale:',
1705 'Масштаб мини-карты:'),
1706 ('LAB ES RECENT', 'Recent Maps List Contains:',
1707 'Запоминать последних открытых карт:'),
1708 ('LAB ES LANGUAGE', 'Language:',
1709 'Язык:'),
1710 ('LAB ES COMPRESS', 'Compress archive when save',
1711 'Сжимать архив при сохранении'),
1712 ('LAB ES BACKUP', 'Make backup before save',
1713 'Резервная копия при сохранении'),
1715 ('LAB PACK SAVE TO', 'Save to:',
1716 'Сохранить в:'),
1717 ('LAB PACK MAP NAME', 'Map Resource Name:',
1718 'Название ресурса карты:'),
1719 ('LAB PACK TEXTURES', 'Texture Section:',
1720 'Секция для текстур:'),
1721 ('LAB PACK SKY', 'Sky Section:',
1722 'Секция для неба:'),
1723 ('LAB PACK MUSIC', 'Music Section:',
1724 'Секция для музыки:'),
1726 ('LAB MINI SCALE', 'Scale:',
1727 'Масштаб:'),
1729 ('BTN APPLY PROPS', 'Apply Properties',
1730 'Применить свойства'),
1731 ('BTN OK', 'OK',
1732 'OK'),
1733 ('BTN CANCEL', 'Cancel',
1734 'Отмена'),
1735 ('BTN ADD', 'Add',
1736 'Добавить'),
1737 ('BTN CLOSE', 'Close',
1738 'Закрыть'),
1739 ('BTN ADD CLOSE', 'Add and Close',
1740 'Добавить и закрыть'),
1741 ('BTN TEST AGAIN', 'Check',
1742 'Проверить'),
1743 ('BTN START', 'Run',
1744 'Начать'),
1745 ('BTN PACK', 'Pack',
1746 'Упаковать'),
1747 ('BTN SAVE', 'Save',
1748 'Сохранить'),
1749 ('BTN NO SOUND', 'No sound',
1750 'Нет звука'),
1751 ('BTN TEXTURE ADD', 'Add texture to the list',
1752 'Добавить текстуру в список'),
1753 ('BTN TEXTURE DELETE', 'Delete texture from the list',
1754 'Удалить текстуру из списка'),
1755 ('BTN TEXTURE EMPTY', 'Deselect texture',
1756 'Снять выбор с текстуры'),
1758 ('LOAD WAD', 'Reading WAD',
1759 'Чтение WAD'),
1760 ('LOAD MAP', 'Loading Map',
1761 'Чтение карты'),
1762 ('LOAD TEXTURES', 'Reading Textures',
1763 'Чтение текстур'),
1764 ('LOAD PANELS', 'Reading Panels',
1765 'Чтение панелей'),
1766 ('LOAD ITEMS', 'Reading Items',
1767 'Чтение предметов'),
1768 ('LOAD MONSTERS', 'Reading Monsters',
1769 'Чтение монстров'),
1770 ('LOAD AREAS', 'Reading Areas',
1771 'Чтение областей'),
1772 ('LOAD TRIGGERS', 'Reading Triggers',
1773 'Чтение триггеров'),
1775 ('TEST AREA WALL', 'Player collides with the wall and will be stuck.',
1776 'Если в этой области появится игрок, то он застрянет в стене и не сможет двигаться.'),
1777 ('TEST AREA WALL STR', 'Area #%d collides with Map (%d:%d)',
1778 'Область #%d пересекается с картой (%d:%d)'),
1779 ('TEST SPAWNS 1', 'There are several spawn points for First Player on the map',
1780 'Несколько точек появления первого игрока'),
1781 ('TEST SPAWNS 2', 'There are several spawn points for Second Player on the map',
1782 'Несколько точек появления второго игрока'),
1783 ('TEST SPAWNS', 'There are several spawn points on the map. Random one will be used.',
1784 'Несколько точек появления игрока, будет использована случайная.'),
1785 ('TEST NO DM', 'There are no DM spawn points on the map',
1786 'На карте нет точек DM'),
1787 ('TEST NO DM EX', 'There are no DM spawn points on the map. Only "Single Player" mode available.',
1788 'На карте нет точек DM, поиграть получится только в режиме "Single Player".'),
1789 ('TEST MONSTER WALL', 'Monster collides with the wall and will be stuck.',
1790 'Монстр пересекается с картой. Он застрянет в стене и не сможет двигаться'),
1791 ('TEST MONSTER WALL STR', 'Monster #%d collides with a map (%d:%d)',
1792 'Монстр #%d пересекается с картой (%d:%d)'),
1794 ('OPT NO TEXTURES', 'Texture list is empty',
1795 'Список текстур пуст'),
1796 ('OPT DELETED TEXTURES', 'Deleted Textures:',
1797 'Удалённые текстуры:'),
1798 ('OPT TOTAL TEXTURES', 'Textures Total:',
1799 'Всего текстур:'),
1800 ('OPT TEX DELETED', 'Textures Deleted:',
1801 'Удалено текстур:'),
1802 ('OPT PANELS OPT', 'Panels Optimized:',
1803 'Оптимизировано панелей:'),
1804 ('OPT WALLS', 'Walls Optimization...',
1805 'Оптимизация стен...'),
1806 ('OPT FORES', 'Foreground Optimization...',
1807 'Оптимизация переднего плана...'),
1808 ('OPT BACKS', 'Background Optimization...',
1809 'Оптимизация фона...'),
1810 ('OPT STAIRS', 'Steps Optimization...',
1811 'Оптимизация ступеней...'),
1812 ('OPT WATER', 'Water Optimization...',
1813 'Оптимизация воды...'),
1814 ('OPT ACID1', 'Acid 1 Optimization...',
1815 'Оптимизация кислоты 1...'),
1816 ('OPT ACID2', 'Acid 2 Optimization...',
1817 'Оптимизация кислоты 2...'),
1818 ('OPT LIFTS', 'Streams Optimization...',
1819 'Оптимизация лифтов...'),
1820 ('OPT BLOCKMON', 'Monster Boundaries Optimization...',
1821 'Оптимизация блокираторов монстров....'),
1822 ('OPT TOTAL PANELS', 'Panels Total:',
1823 'Всего панелей:'),
1824 ('OPT PANELS AFTER', 'Panels after Optimization:',
1825 'Панелей после оптимизации:'),
1827 ('WAD SPECIAL MAP', '<MAP WAD-FILE>',
1828 '<WAD-ФАЙЛ КАРТЫ>'),
1829 ('WAD SPECIAL TEXS', '<EXTRA TEXTURES>',
1830 '<СПЕЦТЕКСТУРЫ>'),
1832 ('FILE FILTER ALL', 'Doom 2D: Forever Maps (*.dfz, *.dfzip, *.zip, *.wad)|*.dfz;*.dfzip;*.zip;*.wad|Doom 2D: Forever 0.30 Maps (*.ini)|*.ini|All Files (*.*)|*.*',
1833 'Карты Doom 2D: Forever (*.dfz, *.dfzip, *.zip, *.wad)|*.dfz;*.dfzip;*.zip;*.wad|Старые карты Doom 2D: Forever 0.30 (*.ini)|*.ini|Все файлы (*.*)|*.*'),
1834 ('FILE FILTER WAD', 'Doom 2D: Forever Maps (*.dfz)|*.dfz|Doom 2D: Forever Maps (*.dfzip)|*.dfzip|Doom 2D: Forever Maps (*.zip)|*.zip|Doom 2D: Forever Maps (*.wad)|*.wad|All Files (*.*)|*.*',
1835 'Карты Doom 2D: Forever (*.dfz)|*.dfz|Карты Doom 2D: Forever (*.dfzip)|*.dfzip|Карты Doom 2D: Forever (*.zip)|*.zip|Карты Doom 2D: Forever (*.wad)|*.wad|Все файлы (*.*)|*.*'),
1837 ('EDITOR TITLE', 'Doom 2D: Forever Map Editor',
1838 'Редактор карт Doom 2D: Forever'),
1841 ('', '', '') );
1844 procedure SetupArrays();
1845 var
1846 i: Integer;
1848 begin
1849 // Да/Нет:
1850 BoolNames[False] := _lc[I_ARRAY_BOOL_FALSE];
1851 BoolNames[True] := _lc[I_ARRAY_BOOL_TRUE];
1853 // Направления:
1854 DirNames[D_LEFT] := _lc[I_ARRAY_DIR_LEFT];
1855 DirNames[D_RIGHT] := _lc[I_ARRAY_DIR_RIGHT];
1857 // Смены направления:
1858 DirNamesAdv[0] := _lc[I_ARRAY_DIR_SAME];
1859 DirNamesAdv[1] := _lc[I_ARRAY_DIR_LEFT];
1860 DirNamesAdv[2] := _lc[I_ARRAY_DIR_RIGHT];
1861 DirNamesAdv[3] := _lc[I_ARRAY_DIR_REVERSED];
1863 // Направление (на кнопках):
1864 DirButtonNames[1] := _lc[I_ARRAY_DIRBTN_LEFT];
1865 DirButtonNames[2] := _lc[I_ARRAY_DIRBTN_RIGHT];
1866 DirButtonNames[3] := _lc[I_ARRAY_DIRBTN_UP];
1867 DirButtonNames[4] := _lc[I_ARRAY_DIRBTN_DOWN];
1869 // Названия панелей:
1870 PANELNAMES[0] := _lc[I_ARRAY_PANEL_WALL];
1871 PANELNAMES[1] := _lc[I_ARRAY_PANEL_BACK];
1872 PANELNAMES[2] := _lc[I_ARRAY_PANEL_FRONT];
1873 PANELNAMES[3] := _lc[I_ARRAY_PANEL_DOOR_OPEN];
1874 PANELNAMES[4] := _lc[I_ARRAY_PANEL_DOOR_CLOSE];
1875 PANELNAMES[5] := _lc[I_ARRAY_PANEL_STAIR];
1876 PANELNAMES[6] := _lc[I_ARRAY_PANEL_WATER];
1877 PANELNAMES[7] := _lc[I_ARRAY_PANEL_ACID_1];
1878 PANELNAMES[8] := _lc[I_ARRAY_PANEL_ACID_2];
1879 PANELNAMES[9] := _lc[I_ARRAY_PANEL_LIFT_UP];
1880 PANELNAMES[10] := _lc[I_ARRAY_PANEL_LIFT_DOWN];
1881 PANELNAMES[11] := _lc[I_ARRAY_PANEL_LIFT_LEFT];
1882 PANELNAMES[12] := _lc[I_ARRAY_PANEL_LIFT_RIGHT];
1883 PANELNAMES[13] := _lc[I_ARRAY_PANEL_BLOCKMON];
1885 // Названия эффектов:
1886 EffectNames[EFFECT_NONE] := _lc[I_ARRAY_FX_NONE];
1887 EffectNames[EFFECT_TELEPORT] := _lc[I_ARRAY_FX_TELEPORT];
1888 EffectNames[EFFECT_RESPAWN] := _lc[I_ARRAY_FX_RESPAWN];
1889 EffectNames[EFFECT_FIRE] := _lc[I_ARRAY_FX_FIRE];
1891 // Названия предметов:
1892 ItemNames[ITEM_MEDKIT_SMALL] := _lc[I_ARRAY_ITEM_MEDKIT];
1893 ItemNames[ITEM_MEDKIT_LARGE] := _lc[I_ARRAY_ITEM_LARGE_MEDKIT];
1894 ItemNames[ITEM_MEDKIT_BLACK] := _lc[I_ARRAY_ITEM_BLACK_MEDKIT];
1895 ItemNames[ITEM_ARMOR_GREEN] := _lc[I_ARRAY_ITEM_GREEN_ARMOR];
1896 ItemNames[ITEM_ARMOR_BLUE] := _lc[I_ARRAY_ITEM_BLUE_ARMOR];
1897 ItemNames[ITEM_SPHERE_BLUE] := _lc[I_ARRAY_ITEM_BLUE_SPHERE];
1898 ItemNames[ITEM_SPHERE_WHITE] := _lc[I_ARRAY_ITEM_MEGASPHERE];
1899 ItemNames[ITEM_SUIT] := _lc[I_ARRAY_ITEM_HAZ_SUIT];
1900 ItemNames[ITEM_OXYGEN] := _lc[I_ARRAY_ITEM_OXYGEN];
1901 ItemNames[ITEM_INVUL] := _lc[I_ARRAY_ITEM_INVULNERABILITY];
1902 ItemNames[ITEM_WEAPON_SAW] := _lc[I_ARRAY_ITEM_CHAINSAW];
1903 ItemNames[ITEM_WEAPON_SHOTGUN1] := _lc[I_ARRAY_ITEM_SHOTGUN];
1904 ItemNames[ITEM_WEAPON_SHOTGUN2] := _lc[I_ARRAY_ITEM_DB_SHOTGUN];
1905 ItemNames[ITEM_WEAPON_CHAINGUN] := _lc[I_ARRAY_ITEM_CHAINGUN];
1906 ItemNames[ITEM_WEAPON_ROCKETLAUNCHER] := _lc[I_ARRAY_ITEM_ROCKET_LAUNCHER];
1907 ItemNames[ITEM_WEAPON_PLASMA] := _lc[I_ARRAY_ITEM_PLASMA_RIFLE];
1908 ItemNames[ITEM_WEAPON_BFG] := _lc[I_ARRAY_ITEM_BFG];
1909 ItemNames[ITEM_WEAPON_SUPERPULEMET] := _lc[I_ARRAY_ITEM_SUPER_MINIGUN];
1910 ItemNames[ITEM_WEAPON_FLAMETHROWER] := _lc[I_ARRAY_ITEM_FLAMETHROWER];
1911 ItemNames[ITEM_AMMO_BULLETS] := _lc[I_ARRAY_ITEM_CLIP];
1912 ItemNames[ITEM_AMMO_BULLETS_BOX] := _lc[I_ARRAY_ITEM_AMMO_BOX];
1913 ItemNames[ITEM_AMMO_SHELLS] := _lc[I_ARRAY_ITEM_4_SHELLS];
1914 ItemNames[ITEM_AMMO_SHELLS_BOX] := _lc[I_ARRAY_ITEM_25_SHELLS];
1915 ItemNames[ITEM_AMMO_ROCKET] := _lc[I_ARRAY_ITEM_1_ROCKET];
1916 ItemNames[ITEM_AMMO_ROCKET_BOX] := _lc[I_ARRAY_ITEM_ROCKET_BOX];
1917 ItemNames[ITEM_AMMO_CELL] := _lc[I_ARRAY_ITEM_CELL];
1918 ItemNames[ITEM_AMMO_CELL_BIG] := _lc[I_ARRAY_ITEM_LARGE_CELL];
1919 ItemNames[ITEM_AMMO_FUELCAN] := _lc[I_ARRAY_ITEM_FUELCAN];
1920 ItemNames[ITEM_AMMO_BACKPACK] := _lc[I_ARRAY_ITEM_BACKPACK];
1921 ItemNames[ITEM_KEY_RED] := _lc[I_ARRAY_ITEM_KEY_RED];
1922 ItemNames[ITEM_KEY_GREEN] := _lc[I_ARRAY_ITEM_KEY_GREEN];
1923 ItemNames[ITEM_KEY_BLUE] := _lc[I_ARRAY_ITEM_KEY_BLUE];
1924 ItemNames[ITEM_WEAPON_KASTET] := '?';
1925 ItemNames[ITEM_WEAPON_PISTOL] := '??';
1926 ItemNames[ITEM_BOTTLE] := _lc[I_ARRAY_ITEM_BOTTLE];
1927 ItemNames[ITEM_HELMET] := _lc[I_ARRAY_ITEM_HELMET];
1928 ItemNames[ITEM_JETPACK] := _lc[I_ARRAY_ITEM_JETPACK];
1929 ItemNames[ITEM_INVIS] := _lc[I_ARRAY_ITEM_INVIS];
1931 // Названия снарядов:
1932 ShotNames[TRIGGER_SHOT_PISTOL] := _lc[I_ARRAY_SHOT_PISTOL];
1933 ShotNames[TRIGGER_SHOT_BULLET] := _lc[I_ARRAY_SHOT_BULLET];
1934 ShotNames[TRIGGER_SHOT_SHOTGUN] := _lc[I_ARRAY_SHOT_SHOTGUN];
1935 ShotNames[TRIGGER_SHOT_SSG] := _lc[I_ARRAY_SHOT_SSG];
1936 ShotNames[TRIGGER_SHOT_IMP] := _lc[I_ARRAY_SHOT_IMP];
1937 ShotNames[TRIGGER_SHOT_PLASMA] := _lc[I_ARRAY_SHOT_PLASMA];
1938 ShotNames[TRIGGER_SHOT_SPIDER] := _lc[I_ARRAY_SHOT_SPIDER];
1939 ShotNames[TRIGGER_SHOT_CACO] := _lc[I_ARRAY_SHOT_CACO];
1940 ShotNames[TRIGGER_SHOT_BARON] := _lc[I_ARRAY_SHOT_BARON];
1941 ShotNames[TRIGGER_SHOT_MANCUB] := _lc[I_ARRAY_SHOT_MANCUB];
1942 ShotNames[TRIGGER_SHOT_REV] := _lc[I_ARRAY_SHOT_REV];
1943 ShotNames[TRIGGER_SHOT_ROCKET] := _lc[I_ARRAY_SHOT_ROCKET];
1944 ShotNames[TRIGGER_SHOT_BFG] := _lc[I_ARRAY_SHOT_BFG];
1945 ShotNames[TRIGGER_SHOT_EXPL] := _lc[I_ARRAY_SHOT_EXPL];
1946 ShotNames[TRIGGER_SHOT_BFGEXPL] := _lc[I_ARRAY_SHOT_BFGEXPL];
1947 ShotNames[TRIGGER_SHOT_FLAME] := _lc[I_ARRAY_SHOT_FLAME];
1949 // Названия монстров:
1950 MonsterNames[MONSTER_DEMON] := _lc[I_ARRAY_MON_DEMON];
1951 MonsterNames[MONSTER_IMP] := _lc[I_ARRAY_MON_IMP];
1952 MonsterNames[MONSTER_ZOMBY] := _lc[I_ARRAY_MON_ZOMBIE];
1953 MonsterNames[MONSTER_SERG] := _lc[I_ARRAY_MON_SERGEANT];
1954 MonsterNames[MONSTER_CYBER] := _lc[I_ARRAY_MON_CYBER];
1955 MonsterNames[MONSTER_CGUN] := _lc[I_ARRAY_MON_CGUN];
1956 MonsterNames[MONSTER_BARON] := _lc[I_ARRAY_MON_HELL_BARON];
1957 MonsterNames[MONSTER_KNIGHT] := _lc[I_ARRAY_MON_HELL_KNIGHT];
1958 MonsterNames[MONSTER_CACO] := _lc[I_ARRAY_MON_CACODEMON];
1959 MonsterNames[MONSTER_SOUL] := _lc[I_ARRAY_MON_LOST_SOUL];
1960 MonsterNames[MONSTER_PAIN] := _lc[I_ARRAY_MON_PAIN_ELEMENTAL];
1961 MonsterNames[MONSTER_SPIDER] := _lc[I_ARRAY_MON_MASTERMIND];
1962 MonsterNames[MONSTER_BSP] := _lc[I_ARRAY_MON_ARACHNATRON];
1963 MonsterNames[MONSTER_MANCUB] := _lc[I_ARRAY_MON_MANCUBUS];
1964 MonsterNames[MONSTER_SKEL] := _lc[I_ARRAY_MON_REVENANT];
1965 MonsterNames[MONSTER_VILE] := _lc[I_ARRAY_MON_ARCHVILE];
1966 MonsterNames[MONSTER_FISH] := _lc[I_ARRAY_MON_FISH];
1967 MonsterNames[MONSTER_BARREL] := _lc[I_ARRAY_MON_BARREL];
1968 MonsterNames[MONSTER_ROBO] := _lc[I_ARRAY_MON_ROBOT];
1969 MonsterNames[MONSTER_MAN] := _lc[I_ARRAY_MON_PRIKOLIST];
1971 // Названия областей:
1972 AreaNames[AREA_PLAYERPOINT1] := _lc[I_ARRAY_AREA_PLAYER_ONE];
1973 AreaNames[AREA_PLAYERPOINT2] := _lc[I_ARRAY_AREA_PLAYER_TWO];
1974 AreaNames[AREA_DMPOINT] := _lc[I_ARRAY_AREA_DM];
1975 AreaNames[AREA_REDFLAG] := _lc[I_ARRAY_AREA_FLAG_RED];
1976 AreaNames[AREA_BLUEFLAG] := _lc[I_ARRAY_AREA_FLAG_BLUE];
1977 AreaNames[AREA_DOMFLAG] := _lc[I_ARRAY_AREA_FLAG_DOM];
1978 AreaNames[AREA_REDTEAMPOINT] := _lc[I_ARRAY_AREA_TEAM_RED];
1979 AreaNames[AREA_BLUETEAMPOINT] := _lc[I_ARRAY_AREA_TEAM_BLUE];
1981 // Названия триггеров:
1982 TriggerNames[TRIGGER_EXIT] := _lc[I_ARRAY_TR_EXIT];
1983 TriggerNames[TRIGGER_TELEPORT] := _lc[I_ARRAY_TR_TELEPORT];
1984 TriggerNames[TRIGGER_OPENDOOR] := _lc[I_ARRAY_TR_DOOR_OPEN];
1985 TriggerNames[TRIGGER_CLOSEDOOR] := _lc[I_ARRAY_TR_DOOR_CLOSE];
1986 TriggerNames[TRIGGER_DOOR] := _lc[I_ARRAY_TR_DOOR_SWITCH];
1987 TriggerNames[TRIGGER_DOOR5] := _lc[I_ARRAY_TR_DOOR_5_SEC];
1988 TriggerNames[TRIGGER_CLOSETRAP] := _lc[I_ARRAY_TR_TRAP_CLOSE];
1989 TriggerNames[TRIGGER_TRAP] := _lc[I_ARRAY_TR_TRAP];
1990 TriggerNames[TRIGGER_PRESS] := _lc[I_ARRAY_TR_EXTEND];
1991 TriggerNames[TRIGGER_SECRET] := _lc[I_ARRAY_TR_SECRET];
1992 TriggerNames[TRIGGER_LIFTUP] := _lc[I_ARRAY_TR_LIFT_UP];
1993 TriggerNames[TRIGGER_LIFTDOWN] := _lc[I_ARRAY_TR_LIFT_DOWN];
1994 TriggerNames[TRIGGER_LIFT] := _lc[I_ARRAY_TR_LIFT_SWITCH];
1995 TriggerNames[TRIGGER_TEXTURE] := _lc[I_ARRAY_TR_TEXTURE];
1996 TriggerNames[TRIGGER_ON] := _lc[I_ARRAY_TR_ON];
1997 TriggerNames[TRIGGER_OFF] := _lc[I_ARRAY_TR_OFF];
1998 TriggerNames[TRIGGER_ONOFF] := _lc[I_ARRAY_TR_SWITCH];
1999 TriggerNames[TRIGGER_SOUND] := _lc[I_ARRAY_TR_SOUND];
2000 TriggerNames[TRIGGER_SPAWNMONSTER] := _lc[I_ARRAY_TR_SPAWN_MONSTER];
2001 TriggerNames[TRIGGER_SPAWNITEM] := _lc[I_ARRAY_TR_SPAWN_ITEM];
2002 TriggerNames[TRIGGER_MUSIC] := _lc[I_ARRAY_TR_MUSIC];
2003 TriggerNames[TRIGGER_PUSH] := _lc[I_ARRAY_TR_PUSH];
2004 TriggerNames[TRIGGER_SCORE] := _lc[I_ARRAY_TR_SCORE];
2005 TriggerNames[TRIGGER_MESSAGE] := _lc[I_ARRAY_TR_MESSAGE];
2006 TriggerNames[TRIGGER_DAMAGE] := _lc[I_ARRAY_TR_DAMAGE];
2007 TriggerNames[TRIGGER_HEALTH] := _lc[I_ARRAY_TR_HEALTH];
2008 TriggerNames[TRIGGER_SHOT] := _lc[I_ARRAY_TR_SHOT];
2009 TriggerNames[TRIGGER_EFFECT] := _lc[I_ARRAY_TR_EFFECT];
2011 // Установка значений в панели выбора объектов:
2012 with MainForm do
2013 begin
2014 lbPanelType.Items.Clear();
2015 for i := 0 to High(PANELNAMES) do
2016 lbPanelType.Items.Add(PANELNAMES[i]);
2017 lbPanelType.ItemIndex := 0;
2019 lbItemList.Clear();
2020 for i := ITEM_MEDKIT_SMALL to ITEM_KEY_BLUE do
2021 lbItemList.Items.Add(ItemNames[i]);
2022 lbItemList.Items.Add(ItemNames[ITEM_BOTTLE]);
2023 lbItemList.Items.Add(ItemNames[ITEM_HELMET]);
2024 lbItemList.Items.Add(ItemNames[ITEM_JETPACK]);
2025 lbItemList.Items.Add(ItemNames[ITEM_INVIS]);
2026 lbItemList.Items.Add(ItemNames[ITEM_WEAPON_FLAMETHROWER]);
2027 lbItemList.Items.Add(ItemNames[ITEM_AMMO_FUELCAN]);
2029 lbMonsterList.Clear();
2030 for i := MONSTER_DEMON to MONSTER_MAN do
2031 lbMonsterList.Items.Add(MonsterNames[i]);
2033 lbAreasList.Clear();
2034 for i := AREA_PLAYERPOINT1 to AREA_BLUETEAMPOINT do
2035 lbAreasList.Items.Add(AreaNames[i]);
2037 lbTriggersList.Clear();
2038 for i := Low(TriggerNames) to High(TriggerNames) do
2039 lbTriggersList.Items.Add(TriggerNames[i]);
2041 clbActivationType.Clear();
2042 clbActivationType.Items.Add(_lc[I_CTRL_ACT_PLAYER_CLOSE]);
2043 clbActivationType.Items.Add(_lc[I_CTRL_ACT_MONSTER_CLOSE]);
2044 clbActivationType.Items.Add(_lc[I_CTRL_ACT_PLAYER_PRESS]);
2045 clbActivationType.Items.Add(_lc[I_CTRL_ACT_MONSTER_PRESS]);
2046 clbActivationType.Items.Add(_lc[I_CTRL_ACT_SHOT]);
2047 clbActivationType.Items.Add(_lc[I_CTRL_ACT_NO_MONSTER]);
2049 clbKeys.Clear();
2050 clbKeys.Items.Add(_lc[I_CTRL_KEYS_RED]);
2051 clbKeys.Items.Add(_lc[I_CTRL_KEYS_GREEN]);
2052 clbKeys.Items.Add(_lc[I_CTRL_KEYS_BLUE]);
2053 clbKeys.Items.Add(_lc[I_CTRL_KEYS_TEAM_RED]);
2054 clbKeys.Items.Add(_lc[I_CTRL_KEYS_TEAM_BLUE]);
2055 end;
2056 end;
2058 procedure SetupCaptions();
2059 var i: Integer; s: AnsiString;
2060 begin
2061 // Главная форма:
2062 with MainForm do
2063 begin
2064 // Заголовок:
2065 s := g_GetBuildHash(false);
2066 if s = 'custom build' then
2067 s := s + ' by ' + g_GetBuilderName() + ' ' + EDITOR_BUILDDATE + ' ' + EDITOR_BUILDTIME;
2068 FormCaption := _lc[I_EDITOR_TITLE] + ' (' + s + ')';
2069 i := Pos('-', Caption);
2070 if i > 0 then
2071 begin
2072 Caption := FormCaption + ' ' + Copy(Caption, i, Length(Caption)-i+1);
2073 end
2074 else
2075 Caption := FormCaption;
2076 // Главное меню:
2077 // "Файл":
2078 miMenuFile.Caption := _lc[I_MENU_FILE];
2079 miNewMap.Caption := _lc[I_MENU_FILE_NEW];
2080 miOpenMap.Caption := _lc[I_MENU_FILE_OPEN];
2081 miSaveMap.Caption := _lc[I_MENU_FILE_SAVE];
2082 miSaveMapAs.Caption := _lc[I_MENU_FILE_SAVE_AS];
2083 miOpenWadMap.Caption := _lc[I_MENU_FILE_OPEN_WAD];
2084 miReopenMap.Caption := _lc[I_MENU_FILE_REOPEN];
2085 miSaveMiniMap.Caption := _lc[I_MENU_FILE_SAVE_MINI];
2086 miDeleteMap.Caption := _lc[I_MENU_FILE_DELETE];
2087 miPackMap.Caption := _lc[I_MENU_FILE_PACK_MAP];
2088 miExit.Caption := _lc[I_MENU_FILE_EXIT];
2089 // "Правка":
2090 miMenuEdit.Caption := _lc[I_MENU_EDIT];
2091 miUndo.Caption := _lc[I_MENU_EDIT_UNDO];
2092 miCopy.Caption := _lc[I_MENU_EDIT_COPY];
2093 miCut.Caption := _lc[I_MENU_EDIT_CUT];
2094 miPaste.Caption := _lc[I_MENU_EDIT_PASTE];
2095 miSelectAll.Caption := _lc[I_MENU_EDIT_SELECT_ALL];
2096 miToFore.Caption := _lc[I_MENU_EDIT_TO_FORE];
2097 miToBack.Caption := _lc[I_MENU_EDIT_TO_BACK];
2098 // "Инструменты":
2099 miMenuTools.Caption := _lc[I_MENU_TOOLS];
2100 miSnapToGrid.Caption := _lc[I_MENU_TOOLS_SNAP_GRID];
2101 miMiniMap.Caption := _lc[I_MENU_TOOLS_MINIMAP];
2102 miSwitchGrid.Caption := _lc[I_MENU_TOOLS_STEP_GRID];
2103 miShowEdges.Caption := _lc[I_MENU_TOOLS_SHOW_EDGES];
2104 miLayers.Caption := _lc[I_MENU_TOOLS_LAYERS];
2105 miLayer1.Caption := _lc[I_MENU_LAYER_BACK];
2106 miLayer2.Caption := _lc[I_MENU_LAYER_WALL];
2107 miLayer3.Caption := _lc[I_MENU_LAYER_FORE];
2108 miLayer4.Caption := _lc[I_MENU_LAYER_STAIR];
2109 miLayer5.Caption := _lc[I_MENU_LAYER_WATER];
2110 miLayer6.Caption := _lc[I_MENU_LAYER_ITEM];
2111 miLayer7.Caption := _lc[I_MENU_LAYER_MONSTER];
2112 miLayer8.Caption := _lc[I_MENU_LAYER_AREA];
2113 miLayer9.Caption := _lc[I_MENU_LAYER_TRIGGER];
2114 // "Сервис":
2115 miMenuService.Caption := _lc[I_MENU_SERV];
2116 miCheckMap.Caption := _lc[I_MENU_SERV_TEST];
2117 miOptimmization.Caption := _lc[I_MENU_SERV_OPT];
2118 miMapPreview.Caption := _lc[I_MENU_SERV_PREVIEW];
2119 miTestMap.Caption := _lc[I_MENU_SERV_LAUNCH];
2120 // "Настройка":
2121 miMenuSettings.Caption := _lc[I_MENU_SETS];
2122 miMapOptions.Caption := _lc[I_MENU_SETS_MAP];
2123 miOptions.Caption := _lc[I_MENU_SETS_EDITOR];
2124 miMapTestSettings.Caption := _lc[I_MENU_SETS_LAUNCH];
2125 // "Справка":
2126 miMenuHelp.Caption := _lc[I_MENU_HELP];
2127 miAbout.Caption := _lc[I_MENU_HELP_ABOUT];
2129 // Панель инструментов:
2130 tbNewMap.Hint := _lc[I_MENU_TB_NEW];
2131 tbOpenMap.Hint := _lc[I_MENU_TB_OPEN];
2132 tbSaveMap.Hint := _lc[I_MENU_TB_SAVE];
2133 tbOpenWadMap.Hint := _lc[I_MENU_TB_OPEN_WAD];
2134 tbShowMap.Hint := _lc[I_MENU_TB_MINIMAP];
2135 tbShow.Hint := _lc[I_MENU_TB_LAYERS];
2136 tbGridOn.Hint := _lc[I_MENU_TB_GRID];
2137 tbGrid.Hint := _lc[I_MENU_TB_GRID_STEP];
2138 tbTestMap.Hint := _lc[I_MENU_TB_LAUNCH];
2139 // Всплывающее меню для кнопки слоев:
2140 miLayerP1.Caption := _lc[I_MENU_LAYER_BACK];
2141 miLayerP2.Caption := _lc[I_MENU_LAYER_WALL];
2142 miLayerP3.Caption := _lc[I_MENU_LAYER_FORE];
2143 miLayerP4.Caption := _lc[I_MENU_LAYER_STAIR];
2144 miLayerP5.Caption := _lc[I_MENU_LAYER_WATER];
2145 miLayerP6.Caption := _lc[I_MENU_LAYER_ITEM];
2146 miLayerP7.Caption := _lc[I_MENU_LAYER_MONSTER];
2147 miLayerP8.Caption := _lc[I_MENU_LAYER_AREA];
2148 miLayerP9.Caption := _lc[I_MENU_LAYER_TRIGGER];
2149 // Всплывающее меню для кнопки теста карты:
2150 miMapTestPMSet.Caption := _lc[I_MENU_LAUNCH_SETS];
2152 // Кнопка применения свойств:
2153 bApplyProperty.Caption := _lc[I_BTN_APPLY_PROPS];
2154 // Редактор свойств объектов:
2155 vleObjectProperty.TitleCaptions[0] := _lc[I_CTRL_PROP_KEY];
2156 vleObjectProperty.TitleCaptions[1] := _lc[I_CTRL_PROP_VALUE];
2158 // Вкладка "Панели":
2159 tsPanels.Caption := _lc[I_CTRL_PANELS];
2160 lbPanelType.Hint := _lc[I_PROP_PANEL_TYPE];
2161 lbTextureList.Hint := _lc[I_CTRL_LIST_TEXTURE];
2162 // Панель настройки текстур:
2163 LabelTxW.Caption := _lc[I_LAB_TEX_WIDTH];
2164 LabelTxH.Caption := _lc[I_LAB_TEX_HEIGHT];
2165 cbPreview.Caption := _lc[I_CTRL_PREVIEW];
2166 bbAddTexture.Hint := _lc[I_BTN_TEXTURE_ADD];
2167 bbRemoveTexture.Hint := _lc[I_BTN_TEXTURE_DELETE];
2168 bClearTexture.Hint := _lc[I_BTN_TEXTURE_EMPTY];
2170 // Вкладка "Предметы":
2171 tsItems.Caption := _lc[I_CTRL_ITEMS];
2172 lbItemList.Hint := _lc[I_CTRL_LIST_ITEM];
2173 cbOnlyDM.Caption := _lc[I_CTRL_ITEM_DM];
2174 cbFall.Caption := _lc[I_CTRL_ITEM_FALLS];
2176 // Вкладка "Монстры":
2177 tsMonsters.Caption := _lc[I_CTRL_MONSTERS];
2178 lbMonsterList.Hint := _lc[I_CTRL_LIST_MONSTER];
2179 rbMonsterLeft.Caption := _lc[I_CTRL_LEFT];
2180 rbMonsterRight.Caption := _lc[I_CTRL_RIGHT];
2182 // Вкладка "Области":
2183 tsAreas.Caption := _lc[I_CTRL_AREAS];
2184 lbAreasList.Hint := _lc[I_CTRL_LIST_AREA];
2185 rbAreaLeft.Caption := _lc[I_CTRL_LEFT];
2186 rbAreaRight.Caption := _lc[I_CTRL_RIGHT];
2188 // Вкладка "Триггеры":
2189 tsTriggers.Caption := _lc[I_CTRL_TRIGGERS];
2190 lbTriggersList.Hint := _lc[I_CTRL_LIST_TRIGGER];
2191 clbActivationType.Hint := _lc[I_CTRL_LIST_ACTIVE];
2192 clbKeys.Hint := _lc[I_CTRL_LIST_KEYS];
2193 end;
2195 // Форма "О программе":
2196 with AboutForm do
2197 begin
2198 Caption := _lc[I_CAP_ABOUT];
2199 LabelTitle.Caption := _lc[I_EDITOR_TITLE];
2200 LabelVer.Caption := _lc[I_LAB_ABOUT_VER];
2201 LabelAuthor.Caption := _lc[I_LAB_ABOUT_AUTHOR];
2202 LabelAuthor2.Caption := _lc[I_LAB_ABOUT_AUTHOR_2];
2203 LabelMail.Caption := _lc[I_LAB_ABOUT_MAIL];
2204 LabelMail2.Caption := _lc[I_LAB_ABOUT_MAIL_2];
2205 LabelSite.Caption := _lc[I_LAB_ABOUT_SITE];
2206 LabelHttp.Caption := _lc[I_LAB_ABOUT_HTTP];
2207 end;
2209 // Форма "Тип активации":
2210 with ActivationTypeForm do
2211 begin
2212 Caption := _lc[I_CAP_ACT];
2213 cbPlayerCollide.Caption := _lc[I_CTRL_ACT_PLAYER_CLOSE];
2214 cbMonsterCollide.Caption := _lc[I_CTRL_ACT_MONSTER_CLOSE];
2215 cbPlayerPress.Caption := _lc[I_CTRL_ACT_PLAYER_PRESS];
2216 cbMonsterPress.Caption := _lc[I_CTRL_ACT_MONSTER_PRESS];
2217 cbShot.Caption := _lc[I_CTRL_ACT_SHOT];
2218 cbNoMonster.Caption := _lc[I_CTRL_ACT_NO_MONSTER];
2219 bOK.Caption := _lc[I_BTN_OK];
2220 end;
2222 // Форма "Выбор текстуры для неба":
2223 with AddSkyForm do
2224 begin
2225 Caption := _lc[I_CAP_ADD_SKY];
2226 LabelWADs.Caption := _lc[I_LAB_ADD_WADS];
2227 LabelSections.Caption := _lc[I_LAB_ADD_SECTIONS];
2228 bOK.Caption := _lc[I_BTN_OK];
2229 bCancel.Caption := _lc[I_BTN_CANCEL];
2230 end;
2232 // Форма "Выбор звука или музыки":
2233 with AddSoundForm do
2234 begin
2235 Caption := _lc[I_CAP_ADD_SOUND];
2236 LabelWADs.Caption := _lc[I_LAB_ADD_WADS];
2237 LabelSections.Caption := _lc[I_LAB_ADD_SECTIONS];
2238 bOK.Caption := _lc[I_BTN_OK];
2239 bCancel.Caption := _lc[I_BTN_CANCEL];
2240 bEmpty.Caption := _lc[I_BTN_NO_SOUND];
2241 end;
2243 // Форма "Выбор текстуры":
2244 with AddTextureForm do
2245 begin
2246 Caption := _lc[I_CAP_ADD_TEXTURE];
2247 LabelWADs.Caption := _lc[I_LAB_ADD_WADS];
2248 LabelSections.Caption := _lc[I_LAB_ADD_SECTIONS];
2249 bAddTexture.Caption := _lc[I_BTN_ADD];
2250 bClose.Caption := _lc[I_BTN_CLOSE];
2251 bAddClose.Caption := _lc[I_BTN_ADD_CLOSE];
2252 end;
2254 // Форма "Выбор типа монстра" / "Выбор типа предмета":
2255 ChooseTypeForm.bOK.Caption := _lc[I_BTN_OK];
2257 // Форма "Ключи":
2258 with KeysForm do
2259 begin
2260 Caption := _lc[I_CAP_KEYS];
2261 cbRedKey.Caption := _lc[I_CTRL_KEYS_RED];
2262 cbGreenKey.Caption := _lc[I_CTRL_KEYS_GREEN];
2263 cbBlueKey.Caption := _lc[I_CTRL_KEYS_BLUE];
2264 cbRedTeam.Caption := _lc[I_CTRL_KEYS_TEAM_RED];
2265 cbBlueTeam.Caption := _lc[I_CTRL_KEYS_TEAM_BLUE];
2266 bOK.Caption := _lc[I_BTN_OK];
2267 end;
2269 // Форма "Проверка карты":
2270 with MapCheckForm do
2271 begin
2272 Caption := _lc[I_CAP_TEST];
2273 bCheckMap.Caption := _lc[I_BTN_TEST_AGAIN];
2274 bClose.Caption := _lc[I_BTN_CLOSE];
2275 end;
2277 // Форма "Оптимизация карты":
2278 with MapOptimizationForm do
2279 begin
2280 Caption := _lc[I_CAP_OPT];
2281 // Выбор оптимизации:
2282 GroupBoxOpt.Caption := _lc[I_CTRL_OPT_GB];
2283 rbTexturesOptimization.Caption := _lc[I_CTRL_OPT_TEXTURE];
2284 rbPanelsOptimization.Caption := _lc[I_CTRL_OPT_PANEL];
2285 // Оптимизация текстур:
2286 bBeginTextureOptimization.Caption := _lc[I_BTN_START];
2287 // Оптимизация панелей:
2288 cbOptimizeWalls.Caption := _lc[I_CTRL_OPT_WALL];
2289 cbOptimizeForeGround.Caption := _lc[I_CTRL_OPT_FORE];
2290 cbOptimizeBackGround.Caption := _lc[I_CTRL_OPT_BACK];
2291 cbOptimizeSteps.Caption := _lc[I_CTRL_OPT_STAIR];
2292 cbOptimizeWater.Caption := _lc[I_CTRL_OPT_WATER];
2293 cbOptimizeAcid1.Caption := _lc[I_CTRL_OPT_ACID1];
2294 cbOptimizeAcid2.Caption := _lc[I_CTRL_OPT_ACID2];
2295 cbOptimizeLift.Caption := _lc[I_CTRL_OPT_LIFT];
2296 cbOptimizeBlockMon.Caption := _lc[I_CTRL_OPT_BLOCKMON];
2297 bBeginPanelsOptimization.Caption := _lc[I_BTN_START];
2298 end;
2300 // Форма "Параметры карты":
2301 with MapOptionsForm do
2302 begin
2303 Caption := _lc[I_CAP_SETS];
2304 // Основные параметры:
2305 LabelName.Caption := _lc[I_LAB_SETS_NAME];
2306 LabelDesc.Caption := _lc[I_LAB_SETS_DESC];
2307 LabelAuthor.Caption := _lc[I_LAB_SETS_AUTHOR];
2308 LabelBack.Caption := _lc[I_LAB_SETS_BACK];
2309 LabelMusic.Caption := _lc[I_LAB_SETS_MUSIC];
2310 // Статистика:
2311 GBStats.Caption := _lc[I_CTRL_SETS_STATS];
2312 LabelTexs.Caption := _lc[I_LAB_SETS_TEXTURES];
2313 LabelPanels.Caption := _lc[I_LAB_SETS_PANELS];
2314 LabelItems.Caption := _lc[I_LAB_SETS_ITEMS];
2315 LabelMonsters.Caption := _lc[I_LAB_SETS_MONSTERS];
2316 LabelAreas.Caption := _lc[I_LAB_SETS_AREAS];
2317 LabelTriggers.Caption := _lc[I_LAB_SETS_TRIGGERS];
2318 // Размеры:
2319 GBSizes.Caption := _lc[I_CTRL_SETS_SIZES];
2320 LabelWidth.Caption := _lc[I_LAB_SETS_WIDTH];
2321 LabelHeight.Caption := _lc[I_LAB_SETS_HEIGHT];
2322 LabelCurSize.Caption := _lc[I_LAB_SETS_SIZES];
2323 LabelMapMove.Caption := _lc[I_LAB_SETS_MAPMOVE];
2324 cbSnapping.Caption := _lc[I_LAB_SETS_SNAPPING];
2325 // Кнопки:
2326 bOK.Caption := _lc[I_BTN_OK];
2327 bCancel.Caption := _lc[I_BTN_CANCEL];
2328 end;
2330 // Форма "Настройки теста карты":
2331 with MapTestForm do
2332 begin
2333 Caption := _lc[I_CAP_LAUNCH];
2334 bOK.Caption := _lc[I_BTN_OK];
2335 bCancel.Caption := _lc[I_BTN_CANCEL];
2336 // Режим игры:
2337 rbDM.Caption := _lc[I_CTRL_LAUNCH_DM];
2338 rbTDM.Caption := _lc[I_CTRL_LAUNCH_TDM];
2339 rbCTF.Caption := _lc[I_CTRL_LAUNCH_CTF];
2340 rbCOOP.Caption := _lc[I_CTRL_LAUNCH_COOP];
2341 // Опции:
2342 cbTwoPlayers.Caption := _lc[I_CTRL_LAUNCH_2P];
2343 cbTeamDamage.Caption := _lc[I_CTRL_LAUNCH_FF];
2344 cbAllowExit.Caption := _lc[I_CTRL_LAUNCH_EXIT];
2345 cbWeaponStay.Caption := _lc[I_CTRL_LAUNCH_WEAPONS];
2346 cbMonstersDM.Caption := _lc[I_CTRL_LAUNCH_MONSTERS];
2347 cbMapOnce.Caption := _lc[I_CTRL_LAUNCH_CLOSE];
2348 LabelTime.Caption := _lc[I_LAB_LAUNCH_TIME];
2349 LabelSecs.Caption := _lc[I_LAB_LAUNCH_SECS];
2350 LabelScore.Caption := _lc[I_LAB_LAUNCH_SCORE];
2351 // Путь:
2352 LabelPath.Caption := _lc[I_LAB_LAUNCH_PATH];
2353 FindD2dDialog.Title := _lc[I_CTRL_LAUNCH_OPEN];
2355 LabelArgs.Caption := _lc[I_LAB_LAUNCH_ARGS];
2356 end;
2358 // Форма "Настройки редактора":
2359 with OptionsForm do
2360 begin
2361 Caption := _lc[I_CAP_ES];
2362 bOK.Caption := _lc[I_BTN_OK];
2363 bCancel.Caption := _lc[I_BTN_CANCEL];
2364 // Настройки:
2365 cbShowDots.Caption := _lc[I_CTRL_ES_GRID];
2366 cbShowTexture.Caption := _lc[I_CTRL_ES_TEXTURE];
2367 cbShowSize.Caption := _lc[I_CTRL_ES_PANEL_SIZE];
2368 cbCheckerboard.Caption := _lc[I_CTRL_ES_CHECKERBOARD];
2369 cbCompress.Caption := _lc[I_LAB_ES_COMPRESS];
2370 cbBackup.Caption := _lc[I_LAB_ES_BACKUP];
2371 LabelGrid.Caption := _lc[I_LAB_ES_GRID];
2372 LabelGridCol.Caption := _lc[I_LAB_ES_GRID_COLOR];
2373 LabelGridSize.Caption := _lc[I_LAB_ES_GRID_SIZE];
2374 LabelBack.Caption := _lc[I_LAB_ES_BACK];
2375 LabelPreview.Caption := _lc[I_LAB_ES_PREVIEW];
2376 LabelMinimap.Caption := _lc[I_LAB_ES_MINIMAP];
2377 LabelRecent.Caption := _lc[I_LAB_ES_RECENT];
2378 LabelLanguage.Caption := _lc[I_LAB_ES_LANGUAGE];
2379 end;
2381 // Форма "Упаковать карту":
2382 with PackMapForm do
2383 begin
2384 Caption := _lc[I_CAP_PACK];
2385 bPack.Caption := _lc[I_BTN_PACK];
2386 LabelSaveTo.Caption := _lc[I_LAB_PACK_SAVE_TO];
2387 LabelMapName.Caption := _lc[I_LAB_PACK_MAP_NAME];
2388 // Что упаковывать:
2389 cbTextrures.Caption := _lc[I_CTRL_PACK_TEXTURES];
2390 LabelTextures.Caption := _lc[I_LAB_PACK_TEXTURES];
2391 cbSky.Caption := _lc[I_CTRL_PACK_SKY];
2392 LabelSky.Caption := _lc[I_LAB_PACK_SKY];
2393 cbMusic.Caption := _lc[I_CTRL_PACK_MUSIC];
2394 LabelMusic.Caption := _lc[I_LAB_PACK_MUSIC];
2395 cbAdd.Caption := _lc[I_CTRL_PACK_ADD];
2396 cbNonStandart.Caption := _lc[I_CTRL_PACK_NON_STD];
2397 end;
2399 // Форма "Сохранить карту":
2400 with SaveMapForm do
2401 begin
2402 Caption := _lc[I_CAP_SAVE];
2403 bOK.Caption := _lc[I_BTN_OK];
2404 bCancel.Caption := _lc[I_BTN_CANCEL];
2405 end;
2407 // Форма "Сохранить мини-карту":
2408 with SaveMiniMapForm do
2409 begin
2410 Caption := _lc[I_CAP_MINI];
2411 LabelScale.Caption := _lc[I_LAB_MINI_SCALE];
2412 bSave.Caption := _lc[I_BTN_SAVE];
2413 bClose.Caption := _lc[I_BTN_CLOSE];
2414 end;
2416 // Форма "Выбор карты":
2417 with SelectMapForm do
2418 begin
2419 Caption := _lc[I_CAP_SELECT];
2420 bOK.Caption := _lc[I_BTN_OK];
2421 bCancel.Caption := _lc[I_BTN_CANCEL];
2422 end;
2424 // Заголовок приложения:
2425 Application.Title := _lc[I_EDITOR_TITLE];
2426 end;
2428 procedure g_Language_Load(fileName: String);
2429 var
2430 F: TextFile;
2431 key, value: String;
2432 i: TStrings_Locale;
2433 k: Integer;
2434 ok: Boolean;
2436 begin
2437 // Значения по-умолчанию:
2438 for i := Low(TStrings_Locale) to High(TStrings_Locale) do
2439 _lc[i] := g_lang_default[i][LANGUAGE_ENGLISH_N];
2441 if FileExists(fileName) then
2442 begin
2443 AssignFile(F, fileName);
2444 ReSet(F);
2445 k := 0;
2447 // Читаем файл:
2448 while not EoF(F) do
2449 begin
2450 // Читаем строку:
2451 ReadLn(F, key);
2452 key := Trim(key);
2454 // Строка - ключ перевода:
2455 if (key <> '') and
2456 (key[1] = '[') and
2457 (Pos(']', key) > 2) then
2458 begin
2459 key := UpperCase(Copy(key, 2, Pos(']', key)-2));
2461 // Пропускаем пустые строки до строки - перевода:
2462 value := '';
2463 while (not EoF(F)) and (value = '') do
2464 begin
2465 ReadLn(F, value);
2466 value := Trim(value);
2467 end;
2469 // Есть строка - перевод:
2470 if value <> '' then
2471 begin
2472 // Ищем индекс ключа перевода:
2473 ok := False;
2474 i := TStrings_Locale(k);
2476 // От текущего к первому:
2477 while i > Low(TStrings_Locale) do
2478 begin
2479 if g_lang_default[i][1] = key then
2480 begin
2481 _lc[i] := value;
2482 ok := True;
2483 Break;
2484 end;
2486 Dec(i);
2487 end;
2489 // Первый:
2490 if not ok then
2491 begin
2492 i := Low(TStrings_Locale);
2494 if (g_lang_default[i][1] = key) then
2495 begin
2496 _lc[i] := value;
2497 ok := True;
2498 end;
2499 end;
2501 // От следующего за текущим до последнего:
2502 if not ok then
2503 begin
2504 i := TStrings_Locale(k);
2506 while i < High(TStrings_Locale) do
2507 begin
2508 Inc(i);
2510 if g_lang_default[i][1] = key then
2511 begin
2512 _lc[i] := value;
2513 Break;
2514 end;
2515 end;
2516 end;
2517 end;
2519 Inc(k);
2520 end;
2521 end;
2523 CloseFile(F);
2524 end
2525 else
2526 e_WriteLog('Language file "'+fileName+'" not found!', MSG_WARNING);
2528 SetupArrays();
2529 SetupCaptions();
2530 RemoveSelectFromObjects();
2531 end;
2533 procedure g_Language_Set(lang: String);
2534 var
2535 i: TStrings_Locale;
2536 n: Byte;
2538 begin
2539 if lang = LANGUAGE_ENGLISH then
2540 n := LANGUAGE_ENGLISH_N
2541 else
2542 n := LANGUAGE_RUSSIAN_N;
2544 for i := Low(TStrings_Locale) to High(TStrings_Locale) do
2545 begin
2546 _lc[i] := g_lang_default[i][n];
2547 // have to cache a CP1251 version for GL text
2548 _glc[i] := utf8to1251(g_lang_default[i][n]);
2549 end;
2551 SetupArrays();
2552 SetupCaptions();
2553 RemoveSelectFromObjects();
2554 end;
2556 procedure g_Language_Dump(fileName: String);
2557 var
2558 F: TextFile;
2559 i: TStrings_Locale;
2561 begin
2562 AssignFile(F, fileName);
2563 ReWrite(F);
2565 for i := Low(TStrings_Locale) to High(TStrings_Locale) do
2566 WriteLn(F, _lc[i]);
2568 CloseFile(F);
2569 end;
2571 End.