DEADSOFTWARE

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