DEADSOFTWARE

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