diff --git a/artifacts/alien_research_progress.png b/artifacts/alien_research_progress.png new file mode 100644 index 0000000..f0a41b9 Binary files /dev/null and b/artifacts/alien_research_progress.png differ diff --git a/artifacts/alien_research_progress.png.import b/artifacts/alien_research_progress.png.import new file mode 100644 index 0000000..219e6a6 --- /dev/null +++ b/artifacts/alien_research_progress.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3qnxtk20gsdo" +path="res://.godot/imported/alien_research_progress.png-4e5d04e60f097403ec0c28ff48037d60.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://artifacts/alien_research_progress.png" +dest_files=["res://.godot/imported/alien_research_progress.png-4e5d04e60f097403ec0c28ff48037d60.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/artifacts/captain_equipment_redesign.png b/artifacts/captain_equipment_redesign.png index 08c800f..bfd87ac 100644 Binary files a/artifacts/captain_equipment_redesign.png and b/artifacts/captain_equipment_redesign.png differ diff --git a/artifacts/captain_unified_skills.png b/artifacts/captain_unified_skills.png index fd06ba9..f072744 100644 Binary files a/artifacts/captain_unified_skills.png and b/artifacts/captain_unified_skills.png differ diff --git a/artifacts/laboratory_progress.png b/artifacts/laboratory_progress.png index 6fe00fa..20e4600 100644 Binary files a/artifacts/laboratory_progress.png and b/artifacts/laboratory_progress.png differ diff --git a/artifacts/laboratory_projects.png b/artifacts/laboratory_projects.png deleted file mode 100644 index 3985cc1..0000000 Binary files a/artifacts/laboratory_projects.png and /dev/null differ diff --git a/artifacts/load_en.png b/artifacts/load_en.png new file mode 100644 index 0000000..bba6575 Binary files /dev/null and b/artifacts/load_en.png differ diff --git a/artifacts/load_en.png.import b/artifacts/load_en.png.import new file mode 100644 index 0000000..eebf10d --- /dev/null +++ b/artifacts/load_en.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5a06k3qmlmfh" +path="res://.godot/imported/load_en.png-83aa43132dd9ea251d247a2ac0112c34.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://artifacts/load_en.png" +dest_files=["res://.godot/imported/load_en.png-83aa43132dd9ea251d247a2ac0112c34.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/artifacts/load_pl.png b/artifacts/load_pl.png new file mode 100644 index 0000000..4c58d38 Binary files /dev/null and b/artifacts/load_pl.png differ diff --git a/artifacts/load_pl.png.import b/artifacts/load_pl.png.import new file mode 100644 index 0000000..b360832 --- /dev/null +++ b/artifacts/load_pl.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgal3tyfa8886" +path="res://.godot/imported/load_pl.png-378ea7b5ca010d43a872c9ebc55660e0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://artifacts/load_pl.png" +dest_files=["res://.godot/imported/load_pl.png-378ea7b5ca010d43a872c9ebc55660e0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/artifacts/menu_en.png b/artifacts/menu_en.png new file mode 100644 index 0000000..9d7f9a2 Binary files /dev/null and b/artifacts/menu_en.png differ diff --git a/artifacts/menu_en.png.import b/artifacts/menu_en.png.import new file mode 100644 index 0000000..9c57bea --- /dev/null +++ b/artifacts/menu_en.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cw326a8sik63r" +path="res://.godot/imported/menu_en.png-72dd67b30eaa21f347b4212c2929fccf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://artifacts/menu_en.png" +dest_files=["res://.godot/imported/menu_en.png-72dd67b30eaa21f347b4212c2929fccf.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/artifacts/menu_guide_pl.png b/artifacts/menu_guide_pl.png new file mode 100644 index 0000000..58a1e06 Binary files /dev/null and b/artifacts/menu_guide_pl.png differ diff --git a/artifacts/menu_guide_pl.png.import b/artifacts/menu_guide_pl.png.import new file mode 100644 index 0000000..bdbc65b --- /dev/null +++ b/artifacts/menu_guide_pl.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqashyeitlj5c" +path="res://.godot/imported/menu_guide_pl.png-5226b4638f3800c932cdfbe51a6d7ebf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://artifacts/menu_guide_pl.png" +dest_files=["res://.godot/imported/menu_guide_pl.png-5226b4638f3800c932cdfbe51a6d7ebf.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/artifacts/menu_hangar_pl.png b/artifacts/menu_hangar_pl.png new file mode 100644 index 0000000..62ea976 Binary files /dev/null and b/artifacts/menu_hangar_pl.png differ diff --git a/artifacts/menu_hangar_pl.png.import b/artifacts/menu_hangar_pl.png.import new file mode 100644 index 0000000..ea67bbb --- /dev/null +++ b/artifacts/menu_hangar_pl.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cik4hh7dymmwb" +path="res://.godot/imported/menu_hangar_pl.png-25c816b540579d3c47e233d9051b3b05.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://artifacts/menu_hangar_pl.png" +dest_files=["res://.godot/imported/menu_hangar_pl.png-25c816b540579d3c47e233d9051b3b05.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/artifacts/menu_pl.png b/artifacts/menu_pl.png new file mode 100644 index 0000000..6840389 Binary files /dev/null and b/artifacts/menu_pl.png differ diff --git a/artifacts/menu_pl.png.import b/artifacts/menu_pl.png.import new file mode 100644 index 0000000..f5d7b8b --- /dev/null +++ b/artifacts/menu_pl.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://017a1h77y8ov" +path="res://.godot/imported/menu_pl.png-80a4d2c9e287b5a7689462443ecf1715.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://artifacts/menu_pl.png" +dest_files=["res://.godot/imported/menu_pl.png-80a4d2c9e287b5a7689462443ecf1715.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/artifacts/named_save_en.png b/artifacts/named_save_en.png new file mode 100644 index 0000000..bd80f5c Binary files /dev/null and b/artifacts/named_save_en.png differ diff --git a/artifacts/named_save_en.png.import b/artifacts/named_save_en.png.import new file mode 100644 index 0000000..3ddd6e9 --- /dev/null +++ b/artifacts/named_save_en.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cp2yr8fiegbg0" +path="res://.godot/imported/named_save_en.png-65dccf89fd0b085edf697bee47fcaa84.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://artifacts/named_save_en.png" +dest_files=["res://.godot/imported/named_save_en.png-65dccf89fd0b085edf697bee47fcaa84.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/artifacts/named_saves_validation.md b/artifacts/named_saves_validation.md new file mode 100644 index 0000000..4787e3d --- /dev/null +++ b/artifacts/named_saves_validation.md @@ -0,0 +1,35 @@ +# Nazwane zapisy i wygląd menu — 27.10.2026 + +- Zapis ręczny i F6 otwierają okno z nazwą zapisu (do 48 znaków). +- Nowy zapis tworzy osobny slot. Wybór karty pozwala nadpisać zapis lub zmienić + jego nazwę; poprzednia wersja zostaje w kopii zapasowej tego slotu. +- Nazwy gracza nie są tłumaczone ani używane jako nazwy plików. +- Wczytywanie w menu głównym i pauzie pokazuje nazwę, datę, statek, + poziom układu i kapitana oraz szczegóły wybranej wyprawy. +- Autosave nie zastępuje zapisów ręcznych. Kontynuuj wybiera najnowszy + poprawny zapis. Obsługiwane są również dotychczasowe pliki last_game.res. +- Wczytanie nadal rozpoczyna bieżący poziom od początku, bez cooldownów. +- Zapis i wyjście do menu/z gry wymagają zatwierdzenia nazwanego zapisu; + anulowanie wraca do pauzy i nie wykonuje akcji wyjścia. +- Wspólna warstwa menu obejmuje opcje, zapis, wczytywanie, pauzę i komunikaty. + Instrukcja i hangar używają tej samej palety, ramek oraz przycisków. + +## Walidacja + +- `tests/named_save_test.tscn`: PASS, 0 niepowodzeń, kod zakończenia 0. + Osobne sloty, Unicode i ukośniki w nazwie, sortowanie, wybór starszego zapisu, + nadpisanie i zmiana nazwy, kopia slotu, izolacja autosave, pusta nazwa, + odrzucanie ścieżek spoza katalogu, formularz UI, sygnał wyboru, + zachowanie nazw w obcym języku, anulowanie i wykonanie akcji po zapisie. +- `tests/save_settings_test.tscn`: PASS, 0 niepowodzeń, kod zakończenia 0. +- `tests/menu_options_preview.tscn`: PASS, kod zakończenia 0. + Podglądy pięciu języków, sprawdzenie wyśrodkowania listy, pauza, zapis, + opcje podczas gry, instrukcja i wybór statku. +- `tools/build_localization.py`: 1079 wpisów, zgodne parametry formatowania. +- `git diff --check`: bez błędów. + +Zrzuty: `load_pl.png`, `load_en.png`, `options_pl.png`, `options_en.png`, +`named_save_en.png`, `menu_guide_pl.png`, `menu_hangar_pl.png` w artifacts/. +Testy używały osobnego katalogu danych; nie zmieniały zapisów użytkownika. +Nie przebudowywano pliku EXE. Ostrzeżenie Camera2D pochodzi z interpolacji +fizyki; starszy test zapisu może przy kończeniu zgłosić 4 obiekty ObjectDB. diff --git a/artifacts/options_en.png b/artifacts/options_en.png new file mode 100644 index 0000000..4ea90d5 Binary files /dev/null and b/artifacts/options_en.png differ diff --git a/artifacts/options_en.png.import b/artifacts/options_en.png.import new file mode 100644 index 0000000..f0dda1f --- /dev/null +++ b/artifacts/options_en.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dp310xwkdh1rd" +path="res://.godot/imported/options_en.png-801fa53375ff3d69f8b1c23faa9470cd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://artifacts/options_en.png" +dest_files=["res://.godot/imported/options_en.png-801fa53375ff3d69f8b1c23faa9470cd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/artifacts/options_pl.png b/artifacts/options_pl.png new file mode 100644 index 0000000..2ac7b34 Binary files /dev/null and b/artifacts/options_pl.png differ diff --git a/artifacts/options_pl.png.import b/artifacts/options_pl.png.import new file mode 100644 index 0000000..b5ee441 --- /dev/null +++ b/artifacts/options_pl.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b6j7ka8rk8a2" +path="res://.godot/imported/options_pl.png-7300fb0ac2f8c2059ac3c0f65f2f6693.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://artifacts/options_pl.png" +dest_files=["res://.godot/imported/options_pl.png-7300fb0ac2f8c2059ac3c0f65f2f6693.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/artifacts/planet_exploration_balance.json b/artifacts/planet_exploration_balance.json new file mode 100644 index 0000000..8182ece --- /dev/null +++ b/artifacts/planet_exploration_balance.json @@ -0,0 +1,41 @@ +{ + "bonus_fraction": 0.239, + "failures": [], + "statistics": [ + { + "level": 1, + "mean_damage": 3.0, + "mean_difficulty": 0.0, + "mean_materials": 22.95, + "mean_recovery": 1.0 + }, + { + "level": 10, + "mean_damage": 3.5, + "mean_difficulty": 0.181849574397679, + "mean_materials": 37.485, + "mean_recovery": 1.01624732860126 + }, + { + "level": 30, + "mean_damage": 4.495, + "mean_difficulty": 0.476566741391365, + "mean_materials": 71.395, + "mean_recovery": 1.00788772210352 + }, + { + "level": 60, + "mean_damage": 5.865, + "mean_difficulty": 0.732818183297586, + "mean_materials": 120.955, + "mean_recovery": 0.98072989632556 + }, + { + "level": 120, + "mean_damage": 7.38, + "mean_difficulty": 0.920596468134915, + "mean_materials": 209.155, + "mean_recovery": 0.949410793431032 + } + ] +} \ No newline at end of file diff --git a/artifacts/planet_exploration_validation.md b/artifacts/planet_exploration_validation.md new file mode 100644 index 0000000..fb4d2dc --- /dev/null +++ b/artifacts/planet_exploration_validation.md @@ -0,0 +1,29 @@ +# Weryfikacja eksploracji planet — 27.10.2026 + +Zaimplementowano progresję trudności i łupu, znaczenie poszczególnych elementów sprzętu, podgląd POI przed akcją oraz uszkodzenia i zniszczenie lądownika. + +## Balans + +200 planet na każdy poziom, sprzęt o poziomie planety. Wartości łupu dotyczą przeciętnego złoża; uszkodzenia zwykłego POI. + +| Poziom | Średni łup | Średnie uszkodzenia HP | +|---|---:|---:| +| 1 | 22,95 | 3,00 | +| 10 | 37,49 | 3,50 | +| 30 | 71,40 | 4,50 | +| 60 | 120,96 | 5,87 | +| 120 | 209,16 | 7,38 | + +Na poziomie 1: 100% odzysku podstawowego łupu, zwykły POI 2–4 HP, dodatkowe przeszukanie 8–18 HP. Po lądowaniu i dziesięciu zwykłych POI pozostaje 55–75 HP. W próbie 2000 POI dodatkowe znaleziska wystąpiły w 23,9% przypadków. + +## Testy zakończone powodzeniem + +- `planet_exploration_balance_test`: progresja na 1000 planetach, wagi sprzętu, brak odporności od poziomu 50, zgodność nagrody z podglądem, brak ponownego losowania, ograniczenia dodatkowego przeszukania, utrata ładunku po zniszczeniu. +- `single_visit_surface_test`: rzeczywiste E → podgląd → potwierdzenie, brak kosztu otwarcia okna, blokada powtórnej nagrody, osobny przycisk dodatkowych znalezisk, ostrzeżenie i pełny przebieg zniszczenia lądownika. +- `ruins_loot_layout_test`: czytelne trzy moduły przy 1280×720 i 800×600. +- `planet_threats_test`, `poi_rewards_test`, `planet_expeditions_test`, `surface_events_test`: progresja, transakcje, zapisy danych, powroty, obsługa specjalnych miejsc i istniejących wydarzeń. +- `planet_reward_scaling_test`: 30000 losowań premii, 3600 zwykłych akcji POI, 600 wyników wydarzeń. +- `captain_equipment_preview`: rozmiar okna, poziomy sprzętu, przeciąganie i zamykanie Esc. +- `save_settings_test`: zapis i odczyt, kopia zapasowa, pięć języków, głośność oraz pauza. + +Katalogi językowe zbudowano offline; walidacja zgodności placeholderów przeszła. Podglądy: `planet_poi_forecast.png`, `planet_poi_bonus.png`, `single_visit_planet_poi.png`. diff --git a/artifacts/planet_poi_bonus.png b/artifacts/planet_poi_bonus.png new file mode 100644 index 0000000..d74b2c8 Binary files /dev/null and b/artifacts/planet_poi_bonus.png differ diff --git a/artifacts/planet_poi_bonus.png.import b/artifacts/planet_poi_bonus.png.import new file mode 100644 index 0000000..cff43d9 --- /dev/null +++ b/artifacts/planet_poi_bonus.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgesypgow2von" +path="res://.godot/imported/planet_poi_bonus.png-cc1fcd55f6d644db0d7d15e5217141ed.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://artifacts/planet_poi_bonus.png" +dest_files=["res://.godot/imported/planet_poi_bonus.png-cc1fcd55f6d644db0d7d15e5217141ed.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/artifacts/planet_poi_forecast.png b/artifacts/planet_poi_forecast.png new file mode 100644 index 0000000..51bf4b5 Binary files /dev/null and b/artifacts/planet_poi_forecast.png differ diff --git a/artifacts/planet_poi_forecast.png.import b/artifacts/planet_poi_forecast.png.import new file mode 100644 index 0000000..d4cdcc0 --- /dev/null +++ b/artifacts/planet_poi_forecast.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://1e50q1nyo8cv" +path="res://.godot/imported/planet_poi_forecast.png-5424b6424be854e50c01d697253c8c8f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://artifacts/planet_poi_forecast.png" +dest_files=["res://.godot/imported/planet_poi_forecast.png-5424b6424be854e50c01d697253c8c8f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/artifacts/research_progression_validation.md b/artifacts/research_progression_validation.md new file mode 100644 index 0000000..bc119ce --- /dev/null +++ b/artifacts/research_progression_validation.md @@ -0,0 +1,13 @@ +# Progresja badań — 27.10.2026 + +- Laboratorium: 23 projekty, pełna pula od początku, bez progów poziomu kapitana, 600 sekund bazowo. Naukowiec zachowuje skrócenie do 540/480/420 sekund. Dotychczasowe koszty minerałów zachowane. +- Obcy: 28 technologii, brak progów poziomu, zachowane zależności drzewa, 600 sekund na technologię, 715 próbek za całość. Efekt aktywuje się po zakończeniu. +- Dwa niezależne stanowiska, pojedynczy projekt na każde. SAVE/LOAD zachowuje projekt i dokładny pozostały czas; nie nalicza czasu poza grą. + +Testy zakończone powodzeniem: research_progression_test, save_settings_test, laboratory_test (również praca równoległa), laboratory_loot_test, alien_research_test, alien_hull_technologies_test, alien_shield_technologies_test, alien_weapon_technologies_test, new_skills_test, auxiliary_shield_test, external_turret_test, pulse_laser_test. + +Zapis testowano przez rzeczywistą usługę SAVE/LOAD, z licznikami 387,5 i 245,25 s. Oba wróciły bez zmiany, przy poprawnym resecie cooldownów walki. Testy korzystały z osobnego APPDATA. + +Katalogi pięciu języków zbudowano offline i sprawdzono placeholdery. Układ trwającego badania sprawdzono w natywnym podglądzie artifacts/alien_research_progress.png. + +Korekta przetestowana: wszystkie 23 projekty i 28 technologii można ukończyć na poziomie kapitana 1. Zmiana poziomu nie zmienia istniejących propozycji. diff --git a/artifacts/ruins_loot_layout_fixed.png b/artifacts/ruins_loot_layout_fixed.png index b60c52f..eb75f67 100644 Binary files a/artifacts/ruins_loot_layout_fixed.png and b/artifacts/ruins_loot_layout_fixed.png differ diff --git a/artifacts/save_settings_validation.md b/artifacts/save_settings_validation.md new file mode 100644 index 0000000..df6692d --- /dev/null +++ b/artifacts/save_settings_validation.md @@ -0,0 +1,37 @@ +# Zapis, kontynuacja i opcje — 27.10.2026 + +## Zachowanie + +- Wczytanie zaczyna bieżący poziom od początku: pozycja startowa, pełny kadłub, + tarcze i energia, nowe starcia, bez cooldownów i czasowych efektów. +- Postęp kapitana, ekwipunek z indywidualnymi rollami i orbami, amunicja, + odblokowania, badania, załoga i gospodarka zostają zachowane. +- Zapis na powierzchni normalizuje kopię wyprawy do bezpiecznego powrotu + z bieżącym łupem; nie zmienia trwającej rozgrywki. +- Kontynuuj jest nieaktywne bez poprawnego zapisu. Uszkodzony główny plik + powoduje odczyt ostatniej poprawnej kopii zapasowej. +- Esc otwiera pauzę i zapis; F6 zapisuje bez zajmowania F1–F5 umiejętności. +- Ustawienia dźwięku, obrazu i języka są zapisane oddzielnie od rozgrywki. +- 1048 lokalnych tekstów: PL, DE, ES, EN, FR. Tłumaczenia przygotowane przez AI, + bez przekazywania katalogu do zewnętrznego tłumacza. Generator działa offline. + +## Sprawdzenie w Godot 4.7.2 + +- `tests/save_settings_test.tscn`: PASS, 0 niepowodzeń, kod zakończenia 0. + Obejmuje odczyt/zapis, kopię i jej odzyskanie, indywidualne parametry broni, + orby, załogę, badania, reset poziomu i cooldownów, łup powierzchniowy, + trwałość ustawień, pięć języków, liczby i nazwy w tekstach składanych, + pauzę i przejście do opcji. +- `tests/distant_integration.tscn`: PASS, kod zakończenia 0. +- `tests/levels/planet_expeditions_test.tscn`: PASS, kod zakończenia 0. + Poprawiono dotychczasowe oczekiwania testu o amunicję, rakiety i kredyty + losowo zdobywane w POI przed kontrolowanym powrotem. +- `tests/menu_options_preview.tscn`: PASS, kod zakończenia 0. + Wizualnie sprawdzone menu i opcje pięciu języków oraz opcje podczas pauzy. +- `tools/build_localization.py`: 1048 tekstów, brak brakujących wpisów + w wyodrębnionym katalogu, zgodne znaczniki parametrów we wszystkich językach. +- `git diff --check`: bez błędów. + +Silnik zgłasza istniejącą korektę trybu Camera2D z powodu interpolacji fizyki. +Test zapisu przy zakończeniu może zgłosić 4 obiekty ObjectDB; podgląd zwykłego +menu i gry kończy się bez tego ostrzeżenia. Nie przebudowywano pliku EXE. diff --git a/artifacts/session_menu_en.png b/artifacts/session_menu_en.png new file mode 100644 index 0000000..26c9abf Binary files /dev/null and b/artifacts/session_menu_en.png differ diff --git a/artifacts/session_menu_en.png.import b/artifacts/session_menu_en.png.import new file mode 100644 index 0000000..53776f1 --- /dev/null +++ b/artifacts/session_menu_en.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bt0ecddgwvfnt" +path="res://.godot/imported/session_menu_en.png-e61bd101cd3a2226f0d2f5c44c1e02fc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://artifacts/session_menu_en.png" +dest_files=["res://.godot/imported/session_menu_en.png-e61bd101cd3a2226f0d2f5c44c1e02fc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/artifacts/session_options_en.png b/artifacts/session_options_en.png new file mode 100644 index 0000000..8bc8316 Binary files /dev/null and b/artifacts/session_options_en.png differ diff --git a/artifacts/session_options_en.png.import b/artifacts/session_options_en.png.import new file mode 100644 index 0000000..563fe0f --- /dev/null +++ b/artifacts/session_options_en.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://03kyty7ry5js" +path="res://.godot/imported/session_options_en.png-843bd47a1b19a7b3329f0a2129fbfa9f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://artifacts/session_options_en.png" +dest_files=["res://.godot/imported/session_options_en.png-843bd47a1b19a7b3329f0a2129fbfa9f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/artifacts/single_visit_planet_poi.png b/artifacts/single_visit_planet_poi.png index 278ee21..959acd3 100644 Binary files a/artifacts/single_visit_planet_poi.png and b/artifacts/single_visit_planet_poi.png differ diff --git a/documentation.txt b/documentation.txt index 2956eb7..9134135 100644 --- a/documentation.txt +++ b/documentation.txt @@ -249,3 +249,77 @@ Wyższy poziom zwiększa zakres obrażeń, a przez niego koszt. Czterokrotnie wy średnie obrażenia dają dwukrotny koszt przed addonami. Każdy addon dodaje 5% kosztu. Bonusy kapitana i innych zamontowanych przedmiotów nie zmieniają kosztu tego egzemplarza. Parametry energy_damage_exponent i energy_per_addon edytuje się w definicji broni. + + +ZAPIS GRY I OPCJE (27.10.2026) +- Menu główne: Kontynuuj wczytuje ostatni poprawny zapis; przy braku zapisu + przycisk jest nieaktywny. Zapis rozgrywki pokazuje datę, poziom i umożliwia wczytanie. +- Esc w grze: pauza, zapis ręczny, opcje, zapis i menu, zapis i wyjście. + F6 otwiera okno nazwanego zapisu. Automatyczny zapis co 60 sekund poza powierzchnią, + przy rozpoczęciu poziomu, powrocie z lokacji i zamykaniu okna gry. +- Wczytanie zawsze zaczyna bieżący poziom od początku: punkt startowy, + pełne kadłub/tarcze/energia, odnowieni przeciwnicy i eksploracja, bez cooldownów + i czasowych efektów. Inne odwiedzone układy i trwały postęp są zachowane. +- Zachowane są wyposażenie, amunicja, odblokowane sloty, kapitan, oferowane + umiejętności, badania, załoga, fregata, magazyny, placówki i mapy wypraw. + Zapis na powierzchni zachowuje bieżący łup jako zakończoną wyprawę; + po wczytaniu gracz rozpoczyna poziom w kosmosie. +- Pliki: user://last_game.res, user://last_game_backup.res, user://settings.cfg. + Zapis przechodzi przez plik tymczasowy i kontrolny odczyt. Przy uszkodzeniu + głównego pliku Kontynuuj używa poprawnej kopii zapasowej. +- Opcje: głośność ogólna i muzyki, okno/pełny ekran, sześć rozdzielczości + od 1024×576 do 3840×2160 (okno ograniczone do dostępnego ekranu), język. +- Języki: polski, niemiecki, hiszpański, angielski i francuski. + Teksty przygotowano przy użyciu AI, bez zewnętrznej usługi tłumaczącej. + Lokalne katalogi zawierają 1048 tekstów, łącznie z instrukcją i opisami. + Obsługiwane są też teksty składane i parametry liczbowe istniejącego interfejsu. + tools/build_localization.py odtwarza katalogi offline i sprawdza znaczniki formatu. +- Test integracyjny: tests/save_settings_test.tscn. Podgląd wizualny: + tests/menu_options_preview.tscn; zrzuty w artifacts/menu_*.png i options_*.png. + + +NAZWANE ZAPISY I OKNA MENU (27.10.2026) +- Zapisz grę / F6 otwiera archiwum w trybie zapisu. Nazwa do 48 znaków, + także ze znakami narodowymi; nazwa nie jest ścieżką pliku i nie jest tłumaczona. +- Nowy zapis tworzy oddzielny slot. Wybór istniejącej karty i Nadpisz zapis + aktualizuje ten slot (można też zmienić nazwę) z zachowaniem kopii zapasowej. +- Wczytaj grę w menu głównym i pauzie pokazuje karty z nazwą, datą, statkiem, + poziomem układu i kapitana. Panel po prawej podaje szczegóły i zasadę restartu. +- Kontynuuj wybiera najnowszy poprawny zapis, ręczny lub automatyczny. + Dotychczasowe last_game.res i last_game_backup.res pozostają obsługiwane. +- Ręczne pliki: user://saves/slot_*.res, osobne *.backup.res i *.pending.res. + Autosave nadal korzysta z last_game.res i nigdy nie nadpisuje nazwanych slotów. +- Zapisz i wróć do menu / wyjdź najpierw prosi o nazwę lub wybór slotu. + Anulowanie wraca do pauzy bez wykonywania wyjścia. +- menu_modal.gd: wspólna responsywna warstwa z przyciemnieniem, nagłówkiem, + turkusowymi obramowaniami, złotą akcją główną i przyciskiem zamknięcia/Esc. + Używają jej opcje, zapis, odczyt, pauza i komunikaty. Instrukcja i hangar + korzystają ze wspólnej palety oraz stylu przycisków. +- Opcje: sekcje Dźwięk, Obraz i Język, Anuluj bez zmiany preferencji, + Zastosuj zapisuje preferencje. Nowe teksty mają cztery dodatkowe tłumaczenia AI. +- Testy: tests/named_save_test.tscn, tests/save_settings_test.tscn, + tests/menu_options_preview.tscn. Podglądy: artifacts/load_pl.png, + options_pl.png, named_save_en.png, menu_guide_pl.png i menu_hangar_pl.png. + +POI: progresja planet i podgląd wyprawy (27.10.2026) +- Pierwszy poziom: łagodne planety; wyposażenie poziomu 1 odzyskuje 100% podstawowego łupu. Lądowanie kosztuje 5 HP, zwykły POI 2–4 HP. +- Poziom planety zwiększa zasobność oraz trudność. Sprzęt jest porównywany z poziomem i warunkami planety; każdy rodzaj POI inaczej wykorzystuje aparat oddechowy, kombinezon i ochronę biologiczną. +- E przy POI otwiera podgląd nagrody oraz przedziału uszkodzeń. Dopiero potwierdzenie wykonuje akcję. Podgląd jest stały dla danej wizyty i nie losuje ponownie łupu. +- Około 25% zwykłych POI oferuje dodatkowe, jednorazowe przeszukanie: dodatkowy łup za większe uszkodzenia. Akcja wymaga osobnego przycisku. Mapa oznacza pozostałe znaleziska kolorem złotym. +- Brak statystyk zagrożeń, tlenu, temperatury i mnożników w podglądzie/HUD. Przed ryzykowną akcją pojawia się ostrzeżenie o możliwym zniszczeniu lądownika. +- HP równe zero kończy wyprawę i odbiera jej niezabezpieczony łup. Bezpieczny powrót zachowuje znaleziska. Samo otwarcie okna nigdy nie przyznaje nagrody ani nie zadaje obrażeń. +- Instrukcja oraz nowe teksty interfejsu przetłumaczone offline na DE/ES/EN/FR. Esc zamyka ekwipunek przed otwarciem pauzy. +- Wyniki i testy: artifacts/planet_exploration_validation.md, artifacts/planet_exploration_balance.json. + +Progresja badań (27.10.2026) +- Poziom oznacza poziom kapitana. Laboratorium: projekty od poziomu 1, 4, 8, 12, 16, 20, 25 i 30; na 30 dostępna cała pula 23 projektów. Koszty surowców zachowane. +- Badania obcych: progi głębokości drzewa 1, 8, 20, 40, 60 i 80. Zachowane zależności i łączny koszt 715 próbek. Końcowe technologie wymagają poziomu 80. +- Laboratorium: 600 sekund bazowego czasu gry, z premią Naukowca 540/480/420 sekund. Obcy: 600 sekund. Po jednym projekcie na stanowisko; oba stanowiska mogą działać równolegle. Odkrycie aktywuje się dopiero po zakończeniu. +- Zapis przechowuje identyfikator projektu, czas całkowity i dokładny czas pozostały dla obu stanowisk. LOAD nie zeruje badań, nie kończy ich automatycznie i nie nalicza czasu poza grą. Zwykła pauza zatrzymuje badania; eksploracja i dokowanie pozwalają im działać. +- Nowe napisy mają tłumaczenia offline DE/ES/EN/FR. Interfejs pokazuje wymagany poziom, czas i trwający projekt. +- Testy: research_progression_test (wszystkie 23+28 odkryć, progi, koszty i czas), save_settings_test (rzeczywisty SAVE/LOAD obu liczników), laboratory_test (równoległe badania, pauza, efekty odkrycia), laboratory_loot_test, new_skills_test i testy technologii obcych. + +Korekta zasad badań (27.10.2026) +- Usunięto wszystkie progi poziomu kapitana. Od początku losowanie trzech projektów laboratorium korzysta z całej puli nieodkrytych projektów. Poziom kapitana nie wpływa na dostępność ani losowanie. +- W badaniach obcych pozostały wyłącznie zależności drzewa, próbki oraz jeden aktywny projekt; brak wymagań poziomu. +- Zachowano koszty, 10 minut bazowego badania, dotychczasową umiejętność Naukowiec i pełny zapis liczników. Wcześniejszy opis progów 30/80 jest nieaktualny. diff --git a/planet_mechanic.txt b/planet_mechanic.txt index 8f94465..619e0e1 100644 --- a/planet_mechanic.txt +++ b/planet_mechanic.txt @@ -398,7 +398,7 @@ Ustalono: - Naprawa kosztuje 1 część za 1 punkt procentowy HP. - Powrót jest dobrowolny; zniszczenie powoduje utratę bieżącego lootu. - Wyjście z gry działa jak powrót; docelowo następuje po nim zapis. -- Zapisu gry na razie nie ma. +- Zapis gry jest dostępny od 27.10.2026: Esc lub F6; wczytanie rozpoczyna bieżący poziom od początku. - Frachtowiec i stałe zasoby pozostają po śmierci. - Nie ma osobnego magazynu frachtowca. - Aktywna walka blokuje lądowanie; sama obecność wrogów w układzie nie. @@ -1146,3 +1146,26 @@ Efekty lotu i pogoda (18.10.2026) - Pogoda biomów: doliny i mokradła deszcz, jesienne lasy liście, wyżyny podmuchy, kaniony pył, tundra śnieg. Natężenie przechodzi płynnie między stanami co 38–85 sekund. - Niska mgła nad dolinami pozostaje pod statkiem. Nad sceną są delikatne opady i smugi światła; przy silnym deszczu na mokradłach rzadki słaby błysk. Korony drzew lekko kołyszą się z wiatrem. - Istniejący ambient wiatru reaguje na natężenie pogody. Efekty są kosmetyczne i nie zmieniają szans POI ani zagrożenia. + +POI: progresja planet i podgląd wyprawy (27.10.2026) +- Pierwszy poziom: łagodne planety; wyposażenie poziomu 1 odzyskuje 100% podstawowego łupu. Lądowanie kosztuje 5 HP, zwykły POI 2–4 HP. +- Poziom planety zwiększa zasobność oraz trudność. Sprzęt jest porównywany z poziomem i warunkami planety; każdy rodzaj POI inaczej wykorzystuje aparat oddechowy, kombinezon i ochronę biologiczną. +- E przy POI otwiera podgląd nagrody oraz przedziału uszkodzeń. Dopiero potwierdzenie wykonuje akcję. Podgląd jest stały dla danej wizyty i nie losuje ponownie łupu. +- Około 25% zwykłych POI oferuje dodatkowe, jednorazowe przeszukanie: dodatkowy łup za większe uszkodzenia. Akcja wymaga osobnego przycisku. Mapa oznacza pozostałe znaleziska kolorem złotym. +- Brak statystyk zagrożeń, tlenu, temperatury i mnożników w podglądzie/HUD. Przed ryzykowną akcją pojawia się ostrzeżenie o możliwym zniszczeniu lądownika. +- HP równe zero kończy wyprawę i odbiera jej niezabezpieczony łup. Bezpieczny powrót zachowuje znaleziska. Samo otwarcie okna nigdy nie przyznaje nagrody ani nie zadaje obrażeń. +- Instrukcja oraz nowe teksty interfejsu przetłumaczone offline na DE/ES/EN/FR. Esc zamyka ekwipunek przed otwarciem pauzy. +- Wyniki i testy: artifacts/planet_exploration_validation.md, artifacts/planet_exploration_balance.json. + +Progresja badań (27.10.2026) +- Poziom oznacza poziom kapitana. Laboratorium: projekty od poziomu 1, 4, 8, 12, 16, 20, 25 i 30; na 30 dostępna cała pula 23 projektów. Koszty surowców zachowane. +- Badania obcych: progi głębokości drzewa 1, 8, 20, 40, 60 i 80. Zachowane zależności i łączny koszt 715 próbek. Końcowe technologie wymagają poziomu 80. +- Laboratorium: 600 sekund bazowego czasu gry, z premią Naukowca 540/480/420 sekund. Obcy: 600 sekund. Po jednym projekcie na stanowisko; oba stanowiska mogą działać równolegle. Odkrycie aktywuje się dopiero po zakończeniu. +- Zapis przechowuje identyfikator projektu, czas całkowity i dokładny czas pozostały dla obu stanowisk. LOAD nie zeruje badań, nie kończy ich automatycznie i nie nalicza czasu poza grą. Zwykła pauza zatrzymuje badania; eksploracja i dokowanie pozwalają im działać. +- Nowe napisy mają tłumaczenia offline DE/ES/EN/FR. Interfejs pokazuje wymagany poziom, czas i trwający projekt. +- Testy: research_progression_test (wszystkie 23+28 odkryć, progi, koszty i czas), save_settings_test (rzeczywisty SAVE/LOAD obu liczników), laboratory_test (równoległe badania, pauza, efekty odkrycia), laboratory_loot_test, new_skills_test i testy technologii obcych. + +Korekta zasad badań (27.10.2026) +- Usunięto wszystkie progi poziomu kapitana. Od początku losowanie trzech projektów laboratorium korzysta z całej puli nieodkrytych projektów. Poziom kapitana nie wpływa na dostępność ani losowanie. +- W badaniach obcych pozostały wyłącznie zależności drzewa, próbki oraz jeden aktywny projekt; brak wymagań poziomu. +- Zachowano koszty, 10 minut bazowego badania, dotychczasową umiejętność Naukowiec i pełny zapis liczników. Wcześniejszy opis progów 30/80 jest nieaktualny. diff --git a/project.godot b/project.godot index 434ae0a..8eeaf85 100644 --- a/project.godot +++ b/project.godot @@ -17,6 +17,7 @@ config/icon="res://icon.svg" [autoload] +GameSettings="*res://scripts/game/game_settings.gd" GameState="*res://scripts/game/game_state.gd" MCPRuntimeServer="*res://addons/godot_mcp_toolkit/runtime/mcp_runtime_server.gd" diff --git a/resources/localization/authored.tsv b/resources/localization/authored.tsv new file mode 100644 index 0000000..c2a0b92 --- /dev/null +++ b/resources/localization/authored.tsv @@ -0,0 +1,637 @@ +0 \nKein Platz: %d Module warten im Frachter. \nSin espacio: %d módulos esperan en el carguero. \nNo space: %d modules are waiting in the freighter. \nPas de place : %d modules attendent dans le cargo. +32 %s · %s\nSAUERSTOFF %d%% · TEMP %d°C · BIO %d/50\nGEFAHR: %.1f%% / 300%%\nPOI-BEUTE: ×%.2f · Bergung %.0f%%\nPOI: nähern und E drücken\nLandung −%d HP · Landemodul %d%% %s · %s\nOXÍGENO %d%% · TEMP %d°C · BIO %d/50\nPELIGRO: %.1f%% / 300%%\nBOTÍN POI: ×%.2f · recuperación %.0f%%\nPOI: acércate y pulsa E\nAterrizaje −%d PV · Módulo %d%% %s · %s\nOXYGEN %d%% · TEMP %d°C · BIO %d/50\nHAZARD: %.1f%% / 300%%\nPOI LOOT: ×%.2f · recovery %.0f%%\nPOI: approach and press E\nLanding −%d HP · Lander %d%% %s · %s\nOXYGÈNE %d%% · TEMP %d°C · BIO %d/50\nDANGER : %.1f%% / 300%%\nBUTIN POI : ×%.2f · récupération %.0f%%\nPOI : approchez et appuyez sur E\nAtterrissage −%d PV · Atterrisseur %d%% +33 %s · %s\nSAUERSTOFF %d%% · Gefahr %.0f%% → %.0f%%\nTEMPERATUR %d°C · Gefahr %.0f%% → %.0f%%\nBIOLOGISCH %d/50 · Gefahr %.0f%% → %.0f%%\nGESAMTGEFAHR: %.1f%% / 300%%\nOhne Ausrüstung: %.1f%% · Reduktion 2 pp/Stufe\nPOI-BEUTE: ×%.2f · Bergung %.0f%% · Ausrüstung ×%.2f\nPOI: nähern und E für Funde drücken.\nLandung: −%d HP · Landemodul: %d%% %s · %s\nOXÍGENO %d%% · peligro %.0f%% → %.0f%%\nTEMPERATURA %d°C · peligro %.0f%% → %.0f%%\nBIOLÓGICO %d/50 · peligro %.0f%% → %.0f%%\nPELIGRO GLOBAL: %.1f%% / 300%%\nSin equipo: %.1f%% · reducción 2 pp/nivel\nBOTÍN POI: ×%.2f · recuperación %.0f%% · equipo ×%.2f\nPOI: acércate y pulsa E para recoger.\nAterrizaje: −%d PV · Módulo: %d%% %s · %s\nOXYGEN %d%% · hazard %.0f%% → %.0f%%\nTEMPERATURE %d°C · hazard %.0f%% → %.0f%%\nBIOLOGICAL %d/50 · hazard %.0f%% → %.0f%%\nGLOBAL HAZARD: %.1f%% / 300%%\nWithout gear: %.1f%% · reduction 2 pp/level\nPOI LOOT: ×%.2f · recovery %.0f%% · gear ×%.2f\nPOI: approach and press E to collect finds.\nLanding: −%d HP · Lander: %d%% %s · %s\nOXYGÈNE %d%% · danger %.0f%% → %.0f%%\nTEMPÉRATURE %d°C · danger %.0f%% → %.0f%%\nBIOLOGIQUE %d/50 · danger %.0f%% → %.0f%%\nDANGER GLOBAL : %.1f%% / 300%%\nSans équipement : %.1f%% · réduction 2 pp/niveau\nBUTIN POI : ×%.2f · récupération %.0f%% · équipement ×%.2f\nPOI : approchez et appuyez sur E pour récupérer.\nAtterrissage : −%d PV · Atterrisseur : %d%% +47 +1 000 000 Credits und Deuterium\n+10 000 aller Mineralien, Teile und Zeitkristalle\n+1000 Proben, +25 aller Orbs, +100 Lernpunkte\n+10 000 Munition, +1000 Strahlungsmunition und Raketen, +100 Energiebanken\nKarten: Stufe 2, aktuell +1/+5, 120, 125 und 130 ohne Duplikate\nJe ein Ausrüstungstyp im Fregattenlager und Kapitänsausrüstung. +1 000 000 créditos y deuterio\n+10 000 de cada mineral, piezas y cristales de tiempo\n+1000 muestras, +25 de cada orbe, +100 puntos de aprendizaje\n+10 000 municiones, +1000 irradiadas y misiles, +100 baterías\nMapas: nivel 2, actual +1/+5, 120, 125 y 130 sin duplicados\nUn equipo de cada tipo en la fragata y equipo del capitán. +1 000 000 credits and deuterium\n+10 000 of each mineral, parts and time crystals\n+1000 samples, +25 of each orb, +100 learning points\n+10 000 ammunition, +1000 irradiated rounds and missiles, +100 power banks\nMaps: level 2, current +1/+5, 120, 125 and 130 without duplicates\nOne of each equipment type in frigate storage and captain gear. +1 000 000 crédits et deutérium\n+10 000 de chaque minéral, pièces et cristaux temporels\n+1000 échantillons, +25 de chaque orbe, +100 points d'apprentissage\n+10 000 munitions, +1000 irradiées et missiles, +100 batteries\nCartes : niveau 2, actuel +1/+5, 120, 125 et 130 sans doublons\nUn équipement de chaque type dans la frégate et équipement du capitaine. +75 BOSS JEFE BOSS BOSS +86 Boss Jefe Boss Boss +147 Elite Élite Elite Élite +227 Laser Láser Laser Laser +288 Normal Normal Normal Normal +652 [b]Dein Spielstil[/b]\n\nÖffne das Schiff oben rechts. Ziehe Ausrüstung in passende Slots: maximal 3 Waffen, 5 Module und 5 Erweiterungen. Anfangs je 1 Waffen- und Erweiterungsslot. Weitere Waffen: 100 und 500 Titan. Erweiterungen: je 40 Eisen, Aluminium und Titan, danach jeweils doppelt. Fracht beginnt mit 5 Plätzen; zusätzliche Plätze kosten 100 Eisen und 50 Aluminium. Ausbau im Fregattenhangar, Lagerung im gebauten Modullager. Erweiterungen: 1–5; passive P wirken automatisch.\n\nVergleiche Werte, Attribute und Abklingzeiten. Aktive Erweiterungen würfeln 30–5 s Abklingzeit; gleiche Typen teilen sie. Recycler stellt Schilde und Energie aus Splittern her, Virus übernimmt Flüchtende, Titanpanzerung schützt niedrigen Rumpf.\n\nGegner geben XP und Credits. Liegt der Kapitän über 2 Stufen über dem System, sinken Gegner- und Ruinen-XP; bei 8 Stufen Vorsprung sind sie null. Andere Belohnungen bleiben. Beim Aufstieg Fähigkeit wählen; aktive F1–F5, passive ständig.\n\n[b]Das Fähigkeitsfenster pausiert nicht.[/b] Vor dem Weiterflug Vorräte und Ausrüstung prüfen. [b]Tu estilo de juego[/b]\n\nAbre la nave arriba a la derecha. Arrastra equipo a ranuras compatibles: máximo 3 armas, 5 módulos y 5 extensiones. Empiezas con 1 arma y 1 extensión. Armas extra: 100 y 500 titanio. Extensiones: 40 hierro, aluminio y titanio, duplicándose después. Bodega inicial de 5 espacios; cada extra cuesta 100 hierro y 50 aluminio. Amplía en el hangar y guarda equipo en el almacén construido. Extensiones: 1–5; pasivas P automáticas.\n\nCompara estadísticas, atributos y recargas. Las activas sortean 30–5 s y comparten recarga por tipo. Reciclador restaura escudos y energía con fragmentos; Virus captura enemigos en fuga; blindaje de titanio protege con casco bajo.\n\nEnemigos dan EXP y créditos. Con más de 2 niveles de ventaja baja la EXP de enemigos y ruinas; con 8 es cero. Las otras recompensas siguen. Elige habilidad al ascender: activas F1–F5, pasivas permanentes.\n\n[b]La ventana de habilidades no pausa.[/b] Revisa reservas y equipo antes de avanzar. [b]Build your play style[/b]\n\nOpen the ship at the top right. Drag gear into matching slots: up to 3 weapons, 5 modules and 5 extensions. Start with 1 weapon and 1 extension slot. Extra weapons cost 100 and 500 titanium. Extensions cost 40 each of iron, aluminium and titanium, doubling each time. Cargo starts at 5 slots; each extra costs 100 iron and 50 aluminium. Expand in the frigate hangar; store gear in the built module room. Use extensions with 1–5; passive P extensions work automatically.\n\nCompare stats, modifiers and cooldowns. Active extensions roll 30–5 s cooldowns shared by type. Recycler restores shields and energy from fragments; Virus captures fleeing enemies; titanium armor protects low hull.\n\nEnemies grant XP and credits. More than 2 captain levels above the system reduces enemy and ruin XP; an 8-level advantage gives zero. Other rewards remain. Choose a skill on level-up: active F1–F5, passives always apply.\n\n[b]The skill window does not pause the game.[/b] Check supplies and gear before proceeding. [b]Votre style de jeu[/b]\n\nOuvrez le vaisseau en haut à droite. Glissez l'équipement dans les emplacements : 3 armes, 5 modules et 5 extensions au maximum. Départ avec 1 arme et 1 extension. Armes supplémentaires : 100 puis 500 titane. Extensions : 40 fer, aluminium et titane, puis coût doublé à chaque fois. Soute initiale de 5 places ; chacune coûte 100 fer et 50 aluminium. Agrandissez au hangar et stockez dans la salle construite. Extensions : 1–5 ; passives P automatiques.\n\nComparez statistiques, modificateurs et recharges. Les extensions actives tirent 30–5 s de recharge partagée par type. Recycleur restaure boucliers et énergie avec les fragments ; Virus capture les fuyards ; blindage en titane protège la coque faible.\n\nLes ennemis donnent EXP et crédits. Au-delà de 2 niveaux d'avance, l'EXP des ennemis et ruines baisse ; à 8, elle est nulle. Autres récompenses conservées. Choisissez une compétence à chaque niveau : actives F1–F5, passives permanentes.\n\n[b]La fenêtre des compétences ne met pas en pause.[/b] Vérifiez équipement et réserves avant de continuer. +654 [b]Steuerung[/b]\n\nW — Schub. S — bremsen, dann rückwärts. A/D — drehen. Q/E — seitwärts. TAB — energieverbrauchender Boost.\n\nMaus — zielen. Linke/rechte/mittlere Maustaste — drei Waffen. 1–5 — Erweiterungen. F1–F5 — aktive Kapitänsfähigkeiten. R — Energiebank aus Vorräten.\n\nDas Schiff hat Trägheit. Drehung stoppt die Bewegung nicht. Früh bremsen und seitwärts ausweichen. [b]Controles[/b]\n\nW — impulso. S — frenar y luego reversa. A/D — girar. Q/E — lateral. TAB — acelerar consumiendo energía.\n\nRatón — apuntar. Botones izquierdo/derecho/central — tres armas. 1–5 — extensiones. F1–F5 — habilidades activas. R — batería de reservas.\n\nLa nave tiene inercia. Girar no detiene el movimiento. Frena antes y desplázate lateralmente para esquivar. [b]Ship controls[/b]\n\nW — thrust. S — brake, then reverse. A/D — turn. Q/E — strafe. TAB — energy-consuming boost.\n\nMouse — aim. Left/right/middle mouse buttons — three weapons. 1–5 — installed extensions. F1–F5 — active captain skills. R — use a power bank from supplies.\n\nThe ship has inertia. Turning does not stop movement. Brake early and strafe to avoid fire. [b]Commandes[/b]\n\nW — poussée. S — frein puis recul. A/D — rotation. Q/E — déplacement latéral. TAB — propulsion consommant de l'énergie.\n\nSouris — viser. Boutons gauche/droit/central — trois armes. 1–5 — extensions. F1–F5 — compétences actives. R — batterie des réserves.\n\nLe vaisseau a de l'inertie. Tourner n'arrête pas le mouvement. Freinez tôt et déplacez-vous latéralement pour esquiver. +655 [b]Dein erstes System[/b]\n\nWähle über Neue Expedition ein Schiff, dessen Werte deinem Stil entsprechen.\n\n1. Normale Gegner finden und besiegen. Ausrüstung verbessern, Ressourcen überwachen. Ziel unten links.\n\n2. Danach erscheint der Boss. Prüfe Munition und Rumpf.\n\n3. Nach dem Sieg bewohnten Planeten finden, Dienste nutzen und Wurmloch öffnen. Hineinfliegen führt ins nächste schwierigere System. [b]Tu primer sistema[/b]\n\nElige una nave con Nueva expedición según tu estilo.\n\n1. Busca y derrota enemigos normales. Mejora equipo y vigila recursos. Objetivo abajo a la izquierda.\n\n2. Después aparece el jefe. Revisa munición y casco.\n\n3. Tras vencer, encuentra el planeta habitado, usa servicios y abre el agujero de gusano. Entra para ir al siguiente sistema más difícil. [b]Your first system[/b]\n\nChoose a ship through New expedition to suit your play style.\n\n1. Find and defeat normal enemies. Improve gear and watch resources. Current objective is at the bottom left.\n\n2. The boss appears after other enemies are defeated. Check ammunition and hull first.\n\n3. After victory, find the inhabited planet, use services and open the wormhole. Enter it to reach the next harder system. [b]Votre premier système[/b]\n\nChoisissez un vaisseau adapté à votre style avec Nouvelle expédition.\n\n1. Trouvez et éliminez les ennemis normaux. Améliorez l'équipement et surveillez les ressources. Objectif en bas à gauche.\n\n2. Le boss apparaît ensuite. Vérifiez munitions et coque.\n\n3. Après la victoire, trouvez la planète habitée, utilisez les services et ouvrez le trou de ver. Entrez pour rejoindre le système suivant, plus difficile. +656 [b]Kampf und Überleben[/b]\n\nSchilde absorbieren Schaden vor dem Rumpf. Bei null Rumpf wird das Schiff zerstört. Energie versorgt einige Waffen und Boost; regeneriert schneller am Stern.\n\nEnergiewaffen brauchen Energie, Maschinenkanone normale Munition, Gamma Strahlungsmunition, Werfer Raketen. Ohne Vorräte kein Schuss. Absorption reduziert bestimmten Schaden.\n\nMinen wirken im Gebiet, Leuchtköder lenken ab, Tarnung bricht Kontakt, Teleport bringt Sicherheit, Drohnen unterstützen. Solar-Schilde benötigen Sternreichweite. Kosten und Abklingzeiten prüfen.\n\nGegner unter 10% Rumpf fliehen langsamer und können eine Mine legen. Vorsichtig verfolgen. [b]Combate y supervivencia[/b]\n\nLos escudos absorben antes que el casco. Casco cero destruye la nave. La energía alimenta armas y aceleración; regenera más rápido cerca de la estrella.\n\nArmas energéticas usan energía, cañón automático munición normal, gamma irradiada y lanzadores misiles. Sin reservas no disparas. La absorción reduce ciertos daños.\n\nMinas atacan áreas, bengalas distraen, camuflaje rompe contacto, teletransporte busca seguridad y drones apoyan. La recarga solar necesita cercanía a estrella. Revisa costes y recargas.\n\nEnemigos bajo 10% de casco huyen más lento y pueden dejar minas. Persigue con cuidado. [b]Combat and survival[/b]\n\nShields absorb damage before hull. Zero hull destroys the ship. Energy powers some weapons and boost, regenerating faster near the star.\n\nEnergy weapons use energy, machine guns regular rounds, gamma irradiated rounds and launchers missiles. Empty supplies prevent firing. Absorption reduces the relevant damage type.\n\nMines hit areas, flares distract, cloaking breaks contact, teleport finds safety and drones support fire. Solar shield charging requires star range. Check costs and cooldowns.\n\nEnemies below 10% hull flee more slowly and may drop a mine. Pursue carefully. [b]Combat et survie[/b]\n\nLes boucliers absorbent avant la coque. À zéro coque, le vaisseau est détruit. L'énergie alimente certaines armes et la propulsion, se régénérant plus vite près de l'étoile.\n\nArmes énergétiques : énergie ; canon automatique : munitions normales ; gamma : irradiées ; lanceurs : missiles. Sans réserves, aucun tir. L'absorption réduit les dégâts correspondants.\n\nMines de zone, leurres de diversion, camouflage pour rompre le contact, téléportation vers la sécurité et drones de soutien. La recharge solaire exige la portée de l'étoile. Vérifiez coûts et recharges.\n\nLes ennemis sous 10% de coque fuient plus lentement et peuvent larguer une mine. Poursuivez prudemment. +657 [b]Planetenexpeditionen[/b]\n\nDie ersten Planeten sind sanft. In späteren Systemen wird die Erkundung schwieriger, die Funde aber reicher. Passe die Kapitänsausrüstung der Planetenstufe an: Atemgerät für Höhlen, Anzug für Abbau und Ruinen, Handwaffe für Lager und Siedlungen.\n\nNähere dich einem EARTHLIKE-Planeten. F zeigt Informationen, L landet. Das Landemodul benötigt vor dem Start 100 HP; die Landung beschädigt den Rumpf. Keine Landung im Kampf.\n\nAm Boden: W Schub, S bremsen/rückwärts, A/D drehen, Q/R seitwärts, TAB Boost. Am POI E drücken. Zuerst erscheinen erwartete Beute und Schäden. Das Öffnen kostet nichts. Mit Schaltfläche oder erneutem E bestätigen.\n\nManche Orte bieten zusätzliche Funde. Tieferes Durchsuchen bringt mehr Beute und höhere Schäden. Niedriger Rumpf kann die gesamte Expeditionsbeute kosten. Mit L kehrst du mit bisheriger Beute zurück. Fragezeichen-Begegnungen öffnen ebenfalls mit E.\n\n[b]Frachter und Fortschritt[/b]\nAm Zentralstern mit L andocken. Der Hangar repariert das Landemodul gegen Teile. Die Werkstatt produziert Vorräte und bessere Kapitänsausrüstung. Das Labor forscht.\n\nEsc öffnet Pause, benannte Spielstände und Optionen. Laden behält Fortschritt und Ausrüstung und startet das aktuelle Level neu. [b]Expediciones planetarias[/b]\n\nLos primeros planetas son fáciles. En sistemas posteriores explorar es más difícil, pero los hallazgos son más ricos. Adapta el equipo del capitán al planeta: respirador para cuevas, traje para extracción y ruinas, arma de mano para almacenes y asentamientos.\n\nAcércate a un planeta EARTHLIKE. F muestra información y L aterriza. El módulo necesita 100 PV antes de salir; aterrizar daña el casco. No puedes aterrizar durante combate.\n\nEn superficie: W impulso, S freno/reversa, A/D giro, Q/R lateral, TAB acelera. Pulsa E junto al POI. Primero verás la recompensa y daños previstos. Abrir la ventana no consume nada. Confirma con el botón o pulsando E otra vez.\n\nAlgunos lugares ofrecen hallazgos extra. Explorar más a fondo da más botín y más daños. Con casco bajo puedes perder todo el botín de esta expedición. L permite regresar con lo recogido. Los encuentros con interrogante también se abren con E.\n\n[b]Carguero y progreso[/b]\nAtraca con L cerca de la estrella central. El hangar repara el módulo a cambio de piezas. El taller fabrica reservas y mejor equipo del capitán. El laboratorio investiga.\n\nEsc abre pausa, partidas con nombre y opciones. Cargar conserva progreso y equipo y reinicia el nivel actual. [b]Planet expeditions[/b]\n\nThe first planets are gentle. Later systems are harder to explore but offer richer finds. Match captain gear to planet level: breathing gear for caves, suit for extraction and ruins, sidearm for warehouses and settlements.\n\nApproach an EARTHLIKE planet. F shows information and L lands. The lander needs 100 HP before launch; landing damages its hull. You cannot land during combat.\n\nOn the surface: W thrust, S brake/reverse, A/D turn, Q/R strafe, TAB boost. Press E near a POI. First you see expected rewards and damage. Opening the window costs nothing. Confirm with the button or press E again.\n\nSome locations offer extra finds. Searching deeper gives more loot and more damage. Low hull may cost all loot from this expedition. L lets you return with your current cargo. Question-mark encounters also open with E.\n\n[b]Freighter and progress[/b]\nDock with L near the central star. The hangar repairs the lander for parts. The workshop crafts supplies and higher-level captain gear. The laboratory runs research.\n\nEsc opens pause, named saves and options. Loading retains progress and equipment and restarts the current level. [b]Expéditions planétaires[/b]\n\nLes premières planètes sont faciles. Dans les systèmes suivants, l'exploration devient plus difficile mais les trouvailles plus riches. Adaptez l'équipement au niveau de la planète : respiration pour grottes, combinaison pour extraction et ruines, arme de poing pour entrepôts et colonies.\n\nApprochez une planète EARTHLIKE. F affiche les informations et L atterrit. L'atterrisseur exige 100 PV avant le départ ; l'atterrissage endommage sa coque. Impossible d'atterrir en combat.\n\nAu sol : W poussée, S frein/recul, A/D rotation, Q/R déplacement latéral, TAB propulsion. Appuyez sur E près d'un POI. Récompenses et dégâts prévus s'affichent d'abord. Ouvrir la fenêtre ne coûte rien. Confirmez avec le bouton ou appuyez à nouveau sur E.\n\nCertains lieux offrent des trouvailles supplémentaires. Fouiller plus profondément donne plus de butin et de dégâts. Une coque faible peut coûter tout le butin de l'expédition. L permet de revenir avec votre cargaison. Les rencontres avec point d'interrogation s'ouvrent aussi avec E.\n\n[b]Cargo et progression[/b]\nAmarrez-vous avec L près de l'étoile centrale. Le hangar répare l'atterrisseur contre des pièces. L'atelier fabrique réserves et meilleur équipement. Le laboratoire recherche.\n\nÉchap ouvre pause, sauvegardes nommées et options. Charger conserve progression et équipement et reprend au début du niveau actuel. +658 [b]Beute und Herstellung[/b]\n\nNahe Gegenstände werden angezogen. Frachtraum maximal 20 Plätze; bei vollem Raum Platz schaffen.\n\nAsteroiden beschießen: gewöhnlich 5–7 Splitter, jeder eine Rohstoffeinheit zum Aufsammeln. Bergarbeiter erhöht Ertrag.\n\nWrack anfliegen und E halten: 65% Rohstoffe, 20% Munition oder Raketen, 15% Modul.\n\nFregattenwerkstatt produziert Munition, Raketen, Teile, Energiebanken und Kapitänsausrüstung. Kosten im Tooltip. Unnötige Gegenstände zerlegen; Teile für Reparaturen verwenden. [b]Botín y fabricación[/b]\n\nLos objetos cercanos son atraídos. Bodega máxima de 20 espacios; libera sitio si está llena.\n\nDispara a asteroides: normalmente 5–7 fragmentos, cada uno una unidad de recurso que debes recoger. Minero aumenta rendimiento.\n\nAcércate a pecios y mantén E: 65% recursos, 20% munición o misiles, 15% módulo.\n\nTaller de fragata fabrica munición, misiles, piezas, baterías y equipo. Costes en descripción. Desmonta objetos innecesarios; las piezas sirven para reparar. [b]Loot and crafting[/b]\n\nNearby items are attracted to your ship. Cargo holds up to 20 items; free space when full.\n\nShoot asteroids: normally 5–7 fragments, each one resource unit you must collect. Miner increases yield.\n\nApproach wrecks and hold E: 65% resources, 20% ammunition or missiles, 15% module.\n\nThe frigate workshop crafts ammunition, missiles, parts, power banks and captain gear. Check button tooltips for costs. Dismantle unnecessary items; parts are used for repairs. [b]Butin et fabrication[/b]\n\nLes objets proches sont attirés. Soute de 20 objets maximum ; libérez de la place si pleine.\n\nTirez sur les astéroïdes : normalement 5–7 fragments, chacun une unité à ramasser. Mineur augmente le rendement.\n\nApprochez les épaves et maintenez E : 65% ressources, 20% munitions ou missiles, 15% module.\n\nL'atelier fabrique munitions, missiles, pièces, batteries et équipement. Coûts dans les infobulles. Démontez les objets inutiles ; les pièces servent aux réparations. +653 [b]Sound-Credits[/b]\n\nBlender Foundation — Ambient Bird, Cricket and Frog (Yo Frankie!), geteilt von Lamoot. https://opengameart.org/content/ambient-bird-cricket-and-frog\nCC BY 3.0: https://creativecommons.org/licenses/by/3.0/\nÄnderungen: Filterung, Ein-/Ausblenden, Froschtonhöhe, Stereo 48 kHz. Keine Verbindung der Urheber zum Spiel.\n\nCC0: Thimras — Park ambiences; Iwan „qubodup” Gabovitch — 20 Rustles of dry leaves; isaiah658 — Ambient Bird Sounds; Rudmer_Rotteveel — Wood Creak Single V7.\n\nFregatte, CC0: LEGIT Audio — The Shop (OpenGameArt); bart — 68 Workshop Sounds und Steam release sounds; Kenney — Sci-Fi Sounds.\n\nVollständige Quellen und Änderungen in CREDITS.md und manifest.json bei den Audiodateien. [b]Créditos de sonido[/b]\n\nBlender Foundation — Ambient Bird, Cricket and Frog (Yo Frankie!), compartido por Lamoot. https://opengameart.org/content/ambient-bird-cricket-and-frog\nCC BY 3.0: https://creativecommons.org/licenses/by/3.0/\nCambios: filtros, fundidos, tono de rana, estéreo 48 kHz. Los autores no están asociados al juego.\n\nCC0: Thimras — Park ambiences; Iwan „qubodup” Gabovitch — 20 Rustles of dry leaves; isaiah658 — Ambient Bird Sounds; Rudmer_Rotteveel — Wood Creak Single V7.\n\nFragata, CC0: LEGIT Audio — The Shop (OpenGameArt); bart — 68 Workshop Sounds y Steam release sounds; Kenney — Sci-Fi Sounds.\n\nFuentes completas y cambios en CREDITS.md y manifest.json junto a los archivos de audio. [b]Audio credits[/b]\n\nBlender Foundation — Ambient Bird, Cricket and Frog (Yo Frankie!), shared by Lamoot. https://opengameart.org/content/ambient-bird-cricket-and-frog\nCC BY 3.0: https://creativecommons.org/licenses/by/3.0/\nChanges: filtering, fades, frog pitch adjustment, stereo 48 kHz conversion. Authors are not affiliated with this game.\n\nCC0: Thimras — Park ambiences; Iwan „qubodup” Gabovitch — 20 Rustles of dry leaves; isaiah658 — Ambient Bird Sounds; Rudmer_Rotteveel — Wood Creak Single V7.\n\nFrigate, CC0: LEGIT Audio — The Shop (OpenGameArt); bart — 68 Workshop Sounds and Steam release sounds; Kenney — Sci-Fi Sounds.\n\nFull sources and modifications in CREDITS.md and manifest.json alongside audio assets. [b]Crédits audio[/b]\n\nBlender Foundation — Ambient Bird, Cricket and Frog (Yo Frankie!), partagé par Lamoot. https://opengameart.org/content/ambient-bird-cricket-and-frog\nCC BY 3.0 : https://creativecommons.org/licenses/by/3.0/\nModifications : filtrage, fondus, hauteur de grenouille, conversion stéréo 48 kHz. Auteurs non associés au jeu.\n\nCC0 : Thimras — Park ambiences ; Iwan „qubodup” Gabovitch — 20 Rustles of dry leaves ; isaiah658 — Ambient Bird Sounds ; Rudmer_Rotteveel — Wood Creak Single V7.\n\nFrégate, CC0 : LEGIT Audio — The Shop (OpenGameArt) ; bart — 68 Workshop Sounds et Steam release sounds ; Kenney — Sci-Fi Sounds.\n\nSources complètes et modifications dans CREDITS.md et manifest.json près des ressources audio. +1 EARTHLIKE · LANDUNG EARTHLIKE · ATERRIZAJE EARTHLIKE · LANDING EARTHLIKE · ATTERRISSAGE +2 Kosten: Coste: Cost: Coût : +3 BOOSTER-ORB · TAB ohne Energiekosten. Funktioniert mit eingebautem Triebwerk. ORBE PROPULSOR · TAB sin coste de energía. Requiere motor instalado. BOOSTER ORB · TAB without energy cost. Requires an installed engine. ORBE PROPULSEUR · TAB sans coût en énergie. Nécessite un moteur installé. +4 DURCHSCHLAG-ORB · 50% des Schadens umgehen Schilde. Nur diese Waffe. ORBE PERFORANTE · El 50% del daño ignora escudos. Solo esta arma. PIERCING ORB · 50% of damage bypasses shields. This weapon only. ORBE PERFORANT · 50% des dégâts ignorent les boucliers. Cette arme uniquement. +5 PASSIV • Keine Kosten oder Abklingzeit. Duplikate sind nicht kumulativ; das beste Exemplar wirkt. PASIVO • Sin coste ni recarga. Los duplicados no se acumulan; funciona el mejor ejemplar. PASSIVE • No cost or cooldown. Duplicates do not stack; the best copy applies. PASSIF • Sans coût ni recharge. Les doublons ne se cumulent pas ; le meilleur exemplaire s'applique. +6 Nähere dich zum Durchsuchen Acércate para registrar Approach to search Approchez pour fouiller +7 Gefahrenreduktion: %d Prozentpunkte (2 pro Stufe; max. 100). Stufe 50 neutralisiert diese Gefahr vollständig. Reducción de peligro: %d puntos porcentuales (2 por nivel; máx. 100). El nivel 50 neutraliza este peligro. Hazard reduction: %d percentage points (2 per level; max. 100). Level 50 fully neutralizes this hazard. Réduction du danger : %d points de pourcentage (2 par niveau ; max. 100). Le niveau 50 neutralise ce danger. +8 Prüfe Ressourcen und aktuelle Gefahr. Comprueba los recursos y el peligro actual. Check required resources and current hazard. Vérifiez les ressources requises et le danger actuel. +9 Bei der aktuellen Gefahr beträgt die Erfolgschance 0%. Con el peligro actual esta etapa tiene un 0% de éxito. This stage has a 0% success chance at the current hazard level. Cette étape a 0% de chances de réussite avec le danger actuel. +10 DIENSTE VERFÜGBAR SERVICIOS DISPONIBLES SERVICES AVAILABLE SERVICES DISPONIBLES +11 System gesichert Sistema despejado System cleared Système sécurisé +12 Zu wenige Proben Muestras insuficientes Not enough samples Échantillons insuffisants +13 Eingebaut — zuerst in den Frachtraum legen. Instalado: retíralo primero a la bodega. Installed — move it to cargo first. Installé — placez-le d'abord en soute. +14 [E] Karte kaufen [E] Comprar mapa [E] Buy map [E] Acheter la carte +15 [E] Außenposten [E] Puesto [E] Outpost [E] Avant-poste +16 · +1 Teil (Schrottsammler) · +1 pieza (Chatarrero) · +1 part (Scrap collector) · +1 pièce (Ferrailleur) +17 [AUSGERÜSTET] [EQUIPADO] [EQUIPPED] [ÉQUIPÉ] +18 Rumpf de casco hull de coque +19 · Module: %d · Módulos: %d · Modules: %d · Modules : %d +20 · kein Bereich · sin intervalo · no range · aucune plage +21 %d CREDITS\n%d TEILE\n%d ZEITKRISTALLE %d CRÉDITOS\n%d PIEZAS\n%d CRISTALES DE TIEMPO %d CREDITS\n%d PARTS\n%d TIME CRYSTALS %d CRÉDITS\n%d PIÈCES\n%d CRISTAUX TEMPORELS +22 %d Credits%s %d créditos%s %d credits%s %d crédits%s +23 %d%% Chance auf ein zusätzliches Teil pro Wrack. Ein Wurf pro Wrack. Rangboni sind nicht kumulativ. %d%% de probabilidad de obtener 1 pieza extra por pecio. Una tirada por pecio. Los rangos no se acumulan. %d%% chance for 1 extra part per searched wreck. One roll per wreck. Rank bonuses do not stack. %d%% de chances de trouver 1 pièce supplémentaire par épave. Un tirage par épave. Les rangs ne se cumulent pas. +24 %s\n\n%s\nR • Verbraucht ein Exemplar aus dem Vorrat. %s\n\n%s\nR • Consume una unidad de las reservas. %s\n\n%s\nR • Consumes one unit from supplies. %s\n\n%s\nR • Consomme une unité des réserves. +25 %s\n%s\nZum passenden Slot ziehen. Doppelklick zum An- oder Ablegen. %s\n%s\nArrastra a una ranura compatible. Doble clic para equipar o retirar. %s\n%s\nDrag to a matching slot. Double-click to equip or remove. %s\n%s\nGlissez vers un emplacement compatible. Double-clic pour équiper ou retirer. +26 %s\nLager voll %s\nAlmacén lleno %s\nStorage full %s\nStockage plein +27 %s\nBasiswerte vor Modulboni.\n%s %s\nEstadísticas base antes de bonificaciones.\n%s %s\nBase stats before module bonuses.\n%s %s\nStatistiques de base avant les bonus.\n%s +28 %s\nStapel: %d\n\n%s\n\nDoppelklick: Orb wählen; dann Modul oder Waffe anklicken. Rechtsklick oder Esc bricht ab. %s\nCantidad: %d\n\n%s\n\nDoble clic: elige orbe y pulsa un módulo o arma. Clic derecho o Esc cancela. %s\nStack: %d\n\n%s\n\nDouble-click: select orb, then click a module or weapon. Right-click or Esc cancels. %s\nPile : %d\n\n%s\n\nDouble-clic : choisissez l'orbe puis un module ou une arme. Clic droit ou Échap annule. +29 %s\nVerwaltung: %d / 100\nFörderbonus: +%d%% %s\nGestión: %d / 100\nBonificación de extracción: +%d%% %s\nManagement: %d / 100\nExtraction bonus: +%d%% %s\nGestion : %d / 100\nBonus d'extraction : +%d%% +30 %s\nFrachtraum voll %s\nBodega llena %s\nCargo full %s\nSoute pleine +31 %s / STUFE %d %s / NIVEL %d %s / LEVEL %d %s / NIVEAU %d +34 %s · Stufe %d %s · nivel %d %s · level %d %s · niveau %d +35 %s · Stufe %d\n%s\n[%s] · Abklingzeit %d s%s %s · nivel %d\n%s\n[%s] · Recarga %d s%s %s · level %d\n%s\n[%s] · Cooldown %d s%s %s · niveau %d\n%s\n[%s] · Recharge %d s%s +36 %s · Stufe %d\nKosten: %s\nStellt einen neuen Gegenstand her und rüstet ihn aus. %s · nivel %d\nCoste: %s\nFabrica y equipa un objeto nuevo. %s · level %d\nCost: %s\nCrafts and equips a new item. %s · niveau %d\nCoût : %s\nFabrique et équipe un nouvel objet. +37 %s · Stufe %d / 3\n%s %s · nivel %d / 3\n%s %s · level %d / 3\n%s %s · niveau %d / 3\n%s +38 %s · Expeditionsstufe %d %s · nivel de expedición %d %s · expedition level %d %s · niveau d'expédition %d +39 %s · Verwaltung %d/100 · %.1f Deuterium/min %s · gestión %d/100 · %.1f deuterio/min %s · management %d/100 · %.1f deuterium/min %s · gestion %d/100 · %.1f deutérium/min +40 %s • Stufe %d %s • Nivel %d %s • Level %d %s • Niveau %d +41 %s: %d Chargen = %d Stück\nKosten: %s %s: %d lotes = %d unidades\nCoste: %s %s: %d batches = %d units\nCost: %s %s : %d lots = %d unités\nCoût : %s +42 +%d CREDITS +%d CRÉDITOS +%d CREDITS +%d CRÉDITS +43 +%d ZEITKRISTALLE +%d CRISTALES DE TIEMPO +%d TIME CRYSTALS +%d CRISTAUX TEMPORELS +44 +%d Erfahrung · +1 Modul +%d experiencia · +1 módulo +%d experience · +1 module +%d expérience · +1 module +45 +%d Rohstoffeinheiten pro zerstörtem Asteroiden. +%d unidades de recurso por asteroide destruido. +%d resource units per destroyed asteroid. +%d unités de ressource par astéroïde détruit. +46 +%d Wracks in neuen Systemen. Beim Systemstart festgelegt; verändert das aktuelle System nicht. Rangboni sind nicht kumulativ. +%d pecios en sistemas nuevos. Se fija al entrar; no cambia el sistema actual. Los rangos no se acumulan. +%d wrecks in new systems. Set on entry; does not change the current system. Rank bonuses do not stack. +%d épaves dans les nouveaux systèmes. Fixé à l'entrée ; ne change pas le système actuel. Les rangs ne se cumulent pas. +48 +10 normale Munition, +10 Strahlungsmunition und +10 Raketen +10 munición normal, +10 irradiada y +10 misiles +10 regular ammunition, +10 irradiated ammunition and +10 missiles +10 munitions normales, +10 irradiées et +10 missiles +49 01 / HAUPTDECK · VERBINDUNG GESICHERT 01 / CUBIERTA PRINCIPAL · CONEXIÓN SEGURA 01 / MAIN DECK · SECURE CONNECTION 01 / PONT PRINCIPAL · CONNEXION SÉCURISÉE +50 01 / PANZERUNG UND SCHUTZ 01 / BLINDAJE Y PROTECCIÓN 01 / ARMOR AND PROTECTION 01 / BLINDAGE ET PROTECTION +51 02 / SCHILDE UND ENERGIE 02 / ESCUDOS Y ENERGÍA 02 / SHIELDS AND ENERGY 02 / BOUCLIERS ET ÉNERGIE +52 03 / FEUERKRAFT 03 / POTENCIA DE FUEGO 03 / FIREPOWER 03 / PUISSANCE DE FEU +53 04 / ANTRIEB UND NAVIGATION 04 / PROPULSIÓN Y NAVEGACIÓN 04 / PROPULSION AND NAVIGATION 04 / PROPULSION ET NAVIGATION +54 05 / FRACHT UND VORRÄTE 05 / CARGA Y SUMINISTROS 05 / CARGO AND SUPPLIES 05 / CARGAISON ET RÉSERVES +55 1 KLICK = 1 REZEPT • DIREKT AUS MINERALIEN HERSTELLEN 1 CLIC = 1 RECETA • FABRICACIÓN DIRECTA CON MINERALES 1 CLICK = 1 RECIPE • CRAFT DIRECTLY FROM MINERALS 1 CLIC = 1 RECETTE • FABRICATION DIRECTE AVEC LES MINÉRAUX +56 50 Munition → 1 Geschütz mit 50 Schuss 50 municiones → 1 torreta con 50 disparos 50 ammunition → 1 turret with 50 rounds 50 munitions → 1 tourelle de 50 coups +57 50% Waffenschaden umgehen Schilde und treffen den Rumpf. Nur Waffen. El 50% del daño ignora escudos y alcanza el casco. Solo armas. 50% of weapon damage bypasses shields and hits hull. Weapons only. 50% des dégâts ignorent les boucliers et touchent la coque. Armes uniquement. +58 AKTIVE SLOTS F1–F5 · MAXIMAL 5 FÄHIGKEITEN RANURAS ACTIVAS F1–F5 · MÁXIMO 5 HABILIDADES ACTIVE SLOTS F1–F5 · MAXIMUM 5 SKILLS EMPLACEMENTS ACTIFS F1–F5 · MAXIMUM 5 COMPÉTENCES +59 MUNITION UND RAKETEN MUNICIÓN Y MISILES AMMUNITION AND MISSILES MUNITIONS ET MISSILES +60 +1 STUFE AUFWERTEN MEJORAR +1 NIVEL UPGRADE +1 LEVEL AMÉLIORER DE 1 NIVEAU +61 Energieschadensabsorption Absorción de daño energético Energy damage absorption Absorption des dégâts énergétiques +62 Kinetische Schadensabsorption Absorción de daño cinético Kinetic damage absorption Absorption des dégâts cinétiques +63 Strahlungsschadensabsorption Absorción de daño por radiación Radiation damage absorption Absorption des dégâts radiatifs +64 Aktive Schiffserweiterung. Erzeugt eine zusätzliche größere Schutzschicht. Im Erweiterungsslot einbauen und mit 1–5 aktivieren. Extensión activa. Crea una capa protectora adicional más grande. Instálala y usa la tecla 1–5 asignada. Active ship extension. Creates an additional larger protective layer. Install in an extension slot and use the assigned 1–5 key. Extension active. Crée une couche protectrice supplémentaire plus grande. Installez-la puis utilisez la touche 1–5 attribuée. +65 Aktive Schiffserweiterung. Im Erweiterungsslot einbauen und mit 1–5 aktivieren. Extensión activa. Instálala en una ranura y usa la tecla 1–5 asignada. Active ship extension. Install in an extension slot and use its assigned 1–5 key. Extension active. Installez-la dans un emplacement puis utilisez la touche 1–5 attribuée. +67 Munition für Raketenwerfer. Kinetischer Schaden. Munición para lanzamisiles. Daño cinético. Missile launcher ammunition. Kinetic damage. Munitions pour lance-missiles. Dégâts cinétiques. +68 Normale Munition Munición normal Regular ammunition Munitions normales +69 Munition: 1 Rakete/Schuss • Basisabklingzeit: 5 s • Keine Energiekosten Munición: 1 misil/disparo • Recarga base: 5 s • Sin coste de energía Ammo: 1 missile/shot • Base cooldown: 5 s • No energy cost Munitions : 1 missile/tir • Recharge de base : 5 s • Sans coût en énergie +70 Frequenzanalyse Análisis de frecuencia Frequency analysis Analyse des fréquences +71 Stummes Archiv Archivo sin voz Silent archive Archives silencieuses +72 Automatische Lieferungen besetzter Außenposten · %.0f/min Entregas automáticas de puestos con personal · %.0f/min Automatic deliveries from staffed outposts · %.0f/min Livraisons automatiques des avant-postes occupés · %.0f/min +73 Sound-Credits Créditos de sonido Audio credits Crédits audio +74 Erhöht die Gegenstandsstufe um 1 und würfelt Werte vorhandener Attribute neu. Typen, Anzahl und Orb-Effekte bleiben erhalten. Werte können sinken. Ein Orb pro Aufwertung. Hauptfortschritt bis 120; technisches Limit 1000. Nicht für Verbrauchsgüter. Aumenta el nivel del objeto en 1 y vuelve a sortear sus estadísticas y valores de atributos. Conserva tipos, cantidad y orbes. Los valores pueden bajar. Un orbe por mejora. Progresión hasta 120; límite técnico 1000. No afecta consumibles. Raises the item level by 1 and rerolls stats and existing modifier values. Keeps modifier types, count and orb effects. Rolls may decrease. One orb per upgrade. Main progression to 120; technical cap 1000. Does not affect consumables. Augmente le niveau de l'objet de 1 et retire ses statistiques et valeurs de modificateurs. Conserve types, nombre et effets d'orbes. Les valeurs peuvent baisser. Un orbe par amélioration. Progression jusqu'à 120 ; limite technique 1000. Sans effet sur les consommables. +76 ZU WENIGE ROHSTOFFE RECURSOS INSUFICIENTES NOT ENOUGH RESOURCES RESSOURCES INSUFFISANTES +77 ZU WENIGE ROHSTOFFE — REZEPT FÜR KOSTEN ANZEIGEN RECURSOS INSUFICIENTES — PASA SOBRE LA RECETA PARA VER EL COSTE NOT ENOUGH RESOURCES — HOVER OVER THE RECIPE FOR COST RESSOURCES INSUFFISANTES — SURVOLEZ LA RECETTE POUR VOIR LE COÛT +79 WAFFE %d / %s ARMA %d / %s WEAPON %d / %s ARME %d / %s +80 WAFFE [%s] ARMA [%s] WEAPON [%s] ARME [%s] +81 Sehr schnelle kinetische Waffe. Verbraucht 1 Munition pro Schuss. Arma cinética de disparo rápido. Consume 1 munición por disparo. Very rapid kinetic weapon. Consumes 1 ammunition per shot. Arme cinétique très rapide. Consomme 1 munition par tir. +82 Nicht zugewiesen Sin asignar Unassigned Non affecté +83 Sicheres System · Versorgung Sistema seguro · suministros Safe system · supplies Système sûr · ravitaillement +84 Direkter Rumpftreffer erledigt normale Aliens unter 8% Rumpf und Bosse unter 2%. Das Schiff zerbricht. Un impacto directo en el casco remata alienígenas normales al 8% o menos y jefes al 2%. La nave se fragmenta. A direct hull hit finishes normal aliens at 8% hull or less and bosses at 2%. The ship breaks apart. Un impact direct sur la coque achève les aliens normaux à 8% ou moins et les boss à 2%. Le vaisseau se disloque. +85 Ein direkter Treffer auf den ungeschützten Rumpf öffnet 5 s einen Riss. Deine Folgetreffer ignorieren die Hälfte seiner Absorption. Nicht kumulativ. Un impacto directo en el casco expuesto abre una brecha de 5 s. Tus siguientes impactos ignoran la mitad de la absorción. No se acumula. A direct hit on exposed hull opens a breach for 5 s. Your following hits ignore half its absorption. Breaches do not stack. Un impact direct sur la coque exposée ouvre une brèche de 5 s. Vos impacts suivants ignorent la moitié de son absorption. Non cumulable. +87 Kein sicherer Teleportpunkt No hay lugar seguro para teletransportarse No safe teleport location Aucun emplacement sûr pour la téléportation +88 Keine Teile Sin piezas No parts Aucune pièce +89 Keine Attribute verfügbar. No hay atributos disponibles. No modifiers available. Aucun modificateur disponible. +90 Keine Energie Sin energía No energy Pas d'énergie +91 Kein Modul Sin módulo No module Aucun module +92 Kein geeigneter Gegenstand Sin objeto compatible No suitable item Aucun objet compatible +93 Keine Außenposten. Suche Tiefenvorkommen auf Planeten (60% Chance). Baukosten: Ergiebigkeit × 10 Teile. Sin puestos. Busca depósitos profundos en planetas (60%). Construcción: riqueza × 10 piezas. No outposts. Find deep deposits on planets (60% chance). Construction: richness × 10 parts. Aucun avant-poste. Cherchez des gisements profonds sur les planètes (60%). Construction : richesse × 10 pièces. +95 Keine Verbindung zur Schiffsausrüstung. Sin conexión con el equipo de la nave. No connection to ship equipment. Aucune connexion à l'équipement du vaisseau. +96 Keine Gegenstände mit Attributen an Bord. Vor der Landung Ausrüstung aus dem Fregattenlager holen. No hay objetos con atributos a bordo. Recoge equipo del almacén de la fragata antes de aterrizar. No items with modifiers on board. Retrieve equipment from frigate storage before landing. Aucun objet avec modificateurs à bord. Récupérez l'équipement dans la frégate avant d'atterrir. +97 Keine Erweiterung Sin extensión No extension Aucune extension +98 Keine unerforschten Sektoren. Suche Einsiedler auf Planeten oder Karten in Expeditionsbeute. Sin sectores por explorar. Busca ermitaños en planetas o mapas en el botín. No unexplored sectors. Find a hermit on a planet or maps in expedition loot. Aucun secteur à explorer. Cherchez un ermite sur une planète ou des cartes dans le butin. +99 Keine freie gebaute Kabine. Bereite einen Raum auf der Fregatte vor. No hay camarote construido libre. Prepara uno en la fragata. No free built cabin. Prepare a room on the frigate. Aucune cabine construite libre. Préparez une pièce sur la frégate. +100 Keine Waffe eingebaut Sin arma instalada No weapon installed Aucune arme installée +101 Keine Besatzung. Bereite eine Kabine vor und rekrutiere einen Spezialisten auf einem Planeten. Sin tripulación. Prepara un camarote y contrata un especialista en un planeta. No crew. Prepare a cabin and hire a specialist found on a planet. Aucun équipier. Préparez une cabine et recrutez un spécialiste sur une planète. +102 %d Zeitkristalle fehlen. Faltan %d cristales de tiempo. Missing %d time crystals. Il manque %d cristaux temporels. +103 Kristalle fehlen, Attribut bereits maximiert oder Gegenstand nicht verfügbar. Faltan cristales, el atributo ya está al máximo o el objeto no está disponible. Missing crystals, modifier already maximized, or item unavailable. Cristaux insuffisants, modificateur déjà maximal ou objet indisponible. +104 Ressourcen fehlen. Kosten: Faltan recursos. Coste: Missing resources. Cost: Ressources insuffisantes. Coût : +106 Alienwaffen verursachen 10% weniger Schaden. Las armas alienígenas causan un 10% menos de daño. Alien weapons deal 10% less damage. Les armes extraterrestres infligent 10% de dégâts en moins. +107 Handwaffe Arma de mano Sidearm Arme de poing +108 Baukosten: Ergiebigkeit × 10 Teile. Förderung benötigt ein Besatzungsmitglied. Construcción: riqueza × 10 piezas. La extracción requiere tripulante. Construction costs richness × 10 parts. Extraction requires a crew member. Construction : richesse × 10 pièces. L'extraction nécessite un équipier. +109 Baukosten: je 100 aller fünf Weltraumrohstoffe. Requiere 100 unidades de cada uno de los cinco recursos espaciales. Requires 100 of each of the five space resources. Nécessite 100 unités de chacune des cinq ressources spatiales. +110 Staubsturm Tormenta de polvo Dust storm Tempête de poussière +111 HAUPTATTRIBUT ATRIBUTO PRINCIPAL PRIMARY STAT STATISTIQUE PRINCIPALE +112 Gezielter Schuss Disparo certero Accurate shot Tir précis +113 Schweres schnelles kinetisches Projektil. Starker Treffer alle 2,2 s. Verbraucht 10 normale Munition, keine Energie. Proyectil cinético pesado y rápido. Gran impacto cada 2,2 s. Consume 10 municiones normales, sin energía. Heavy fast kinetic projectile. Powerful hit every 2.2 s. Uses 10 regular ammunition and no energy. Projectile cinétique lourd et rapide. Impact puissant toutes les 2,2 s. Consomme 10 munitions normales, sans énergie. +114 Die schweren Türen öffnen sich. Zwischen verwitterten Reliefs wartet ein weiteres Fragment alter Technologie. Las puertas pesadas ceden. Entre relieves desgastados espera otro fragmento de tecnología antigua. The heavy doors yield. Among faded reliefs waits another fragment of ancient technology. Les lourdes portes cèdent. Parmi les reliefs effacés attend un autre fragment de technologie ancienne. +115 Raketenintervall um %d%% verkürzt. Nach Ausrüstungsboni; mindestens 1 s. Rangboni sind nicht kumulativ. Intervalo entre misiles reducido un %d%%. Después de bonificaciones; mínimo 1 s. Los rangos no se acumulan. Missile interval reduced by %d%%. Applied after equipment bonuses; minimum 1 s. Rank bonuses do not stack. Intervalle des missiles réduit de %d%%. Après les bonus ; minimum 1 s. Les rangs ne se cumulent pas. +116 Wartet auf Besatzung Esperando tripulante Waiting for crew En attente d'un équipier +118 DEUTERIUM / FREGATTENTREIBSTOFF DEUTERIO / COMBUSTIBLE DE FRAGATA DEUTERIUM / FRIGATE FUEL DEUTÉRIUM / CARBURANT DE FRÉGATE +119 DPS pro Geschütz DPS de una torreta DPS per turret DPS d'une tourelle +120 DPS enthält Ausrüstung, Kapitän, kritische Treffer und Strahlung. Theoretisch vor Zielverteidigung; tatsächlicher Schaden hängt von Treffern, Energie und Munition ab. El DPS incluye equipo, capitán, críticos y radiación. Es teórico, antes de defensas; depende de impactos, energía y munición. DPS includes equipment, captain, critical hits and radiation. Theoretical, before target defenses; actual damage depends on hits, energy and ammunition. Le DPS inclut équipement, capitaine, critiques et radiation. Théorique avant défense ; le résultat dépend des impacts, de l'énergie et des munitions. +121 DAUER %d s DURACIÓN %d s DURATION %d s DURÉE %d s +123 Tief unter der Oberfläche liegt ein Reservoir mit wertvollen Proben — und einem schwierigen Rückweg. Bajo la superficie hay un depósito con muestras valiosas y un difícil camino de regreso. Deep below the surface lies a reservoir with valuable samples — and a difficult return route. Sous la surface se trouve un réservoir aux précieux échantillons, mais le retour sera difficile. +125 Deuterium: %.1f · Förderung: %.0f/min Deuterio: %.1f · Producción: %.0f/min Deuterium: %.1f · Production: %.0f/min Deutérium : %.1f · Production : %.0f/min +126 Bis zu 3% der maximalen Schilde pro Sekunde. Hasta el 3% de escudos máximos por segundo. Up to 3% of maximum shields per second. Jusqu'à 3% des boucliers maximaux par seconde. +127 Munition hinzufügen Añadir munición Add ammunition Ajouter des munitions +128 Ressourcen, Munition, alle Orbs und %d Karten hinzugefügt.\n%d Gegenstände im Fregattenlager; Kapitänsausrüstung und Lernpunkte hinzugefügt. Añadidos recursos, munición, todos los orbes y %d mapas.\n%d objetos en la fragata; añadidos equipo y puntos de aprendizaje. Added resources, ammunition, all orbs and %d maps.\n%d items in frigate storage; captain gear and learning points added. Ressources, munitions, tous les orbes et %d cartes ajoutés.\n%d objets dans la frégate ; équipement et points d'apprentissage ajoutés. +129 Zusatzschild bereits aktiv Escudo adicional ya activo Auxiliary shield already active Bouclier auxiliaire déjà actif +130 Zusätzlich 5% Schaden gegen Alienschilde. Kumulativ mit Schildwissen. 5% de daño adicional a escudos alienígenas. Se acumula con Conocimiento de escudos. An additional 5% damage to alien shields. Stacks with Shield knowledge. 5% de dégâts supplémentaires aux boucliers aliens. Cumulable avec Connaissance des boucliers. +131 Zusätzlich 5% Ausweichchance gegen Aliens. Unabhängig von anderen Ausweichwürfen. 5% de evasión adicional contra alienígenas. Independiente de otras evasiones. An additional 5% chance to evade alien damage. Independent of other evasion rolls. 5% de chances supplémentaires d'esquiver les aliens. Indépendant des autres esquives. +132 Booster bereits aktiv Propulsor ya activo Booster already active Propulseur déjà actif +133 TAB-Boost verbraucht keine Energie und funktioniert mit leerem Generator. Nur Triebwerk. El impulso TAB no consume energía y funciona con el generador vacío. Solo motor. TAB boost costs no energy and works with an empty generator. Engine only. La propulsion TAB ne coûte aucune énergie et fonctionne avec un générateur vide. Moteur uniquement. +134 Drohnenkommandant Comandante de drones Drone commander Commandant de drones +135 Schildaufladung Recarga de escudos Shield recharge Recharge des boucliers +137 Erfahrung (XP) Experiencia (EXP) Experience (XP) Expérience (EXP) +138 Drohnen kämpfen bereits Los drones ya combaten Drones already deployed Drones déjà au combat +139 Hoher Schaden auf kurze Distanz. Vier Schüsse pro Sekunde. Gran daño a corta distancia. Cuatro disparos por segundo. High damage at short range. Four shots per second. Dégâts élevés à courte portée. Quatre tirs par seconde. +140 Externe Geschütze Torretas externas External turrets Tourelles externes +141 Gammageschütz Cañón gamma Gamma cannon Canon gamma +142 Maschinenkanone Cañón automático Machine gun Canon automatique +143 Plasmakanone Cañón de plasma Plasma cannon Canon à plasma +144 Artilleriekanone Cañón de artillería Artillery cannon Canon d'artillerie +149 Energie pro Schuss Energía por disparo Energy per shot Énergie par tir +150 Arbeiter evakuieren Evacuar trabajadores Evacuate workers Évacuer les ouvriers +151 FREGATTE / EINSATZDECK FRAGATA / CUBIERTA OPERATIVA FRIGATE / OPERATIONS DECK FRÉGATE / PONT OPÉRATIONNEL +152 FREGATTE • PANZERUNG FRAGATA • BLINDAJE FRIGATE • ARMOR FRÉGATE • BLINDAGE +153 GEFÄHRLICHE FAUNA FAUNA PELIGROSA DANGEROUS FAUNA FAUNE DANGEREUSE +154 Stellt Schilde aus tatsächlich verursachtem Schaden wieder her. Insgesamt bis zu 10% Schaden; höchstens 5% der maximalen Schilde/s mit Reserve für eine solche Heilung. Recupera escudos con daño real. Hasta el 10% del daño; máximo 5% de escudos máximos/s con reserva para una recuperación. Recovers shields from actual damage dealt. Up to 10% of damage; capped at 5% maximum shields/s, with reserve for one such recovery. Restaure les boucliers avec les dégâts réels. Jusqu'à 10% des dégâts ; limite de 5% des boucliers maximaux/s avec réserve pour une récupération. +155 Heiße Biosphäre Biosfera caliente Hot biosphere Biosphère chaude +156 Bergarbeiter Minero Miner Mineur +157 Dichter Nebel Niebla densa Dense fog Brouillard dense +158 TIEFENVORKOMMEN / DEUTERIUM DEPÓSITO PROFUNDO / DEUTERIO DEEP DEPOSIT / DEUTERIUM GISEMENT PROFOND / DEUTÉRIUM +161 Hauptfortschritt: Stufe 1–120. Gegner-HP, Schilde und Angriff steigen pro Stufe um 10% des Basiswerts, nach 120 um 20%. Beutebasiswerte steigen um 7% pro Gegenstandsstufe. Prozentboni sind begrenzt. Ausrüstungslimit: 1000. Progresión principal: niveles 1–120. Vida, escudos y ataque enemigos aumentan un 10% base por nivel; tras 120, un 20%. El botín aumenta un 7% por nivel de objeto. Bonificaciones limitadas. Límite técnico: 1000. Main progression: levels 1–120. Enemy HP, shields and attack gain 10% of base per level, 20% after 120. Loot base stats gain 7% per item level. Percentage bonuses are capped. Technical equipment cap: 1000. Progression principale : niveaux 1–120. PV, boucliers et attaque ennemis gagnent 10% de la base par niveau, 20% après 120. Le butin gagne 7% par niveau d'objet. Bonus limités. Limite technique : 1000. +162 Tiefes Deuteriumvorkommen Depósito profundo de deuterio Deep deuterium deposit Gisement profond de deutérium +164 HANGAR / WARTUNG HANGAR / MANTENIMIENTO HANGAR / MAINTENANCE HANGAR / MAINTENANCE +165 HANGAR / SCHIFFSAUSWAHL HANGAR / SELECCIÓN DE NAVE HANGAR / SHIP SELECTION HANGAR / CHOIX DU VAISSEAU +166 ZUR NÄCHSTEN STUFE IR AL SIGUIENTE NIVEL GO TO NEXT LEVEL PASSER AU NIVEAU SUIVANT +167 SPRUNGANTRIEB INITIALISIEREN INICIANDO MOTOR DE SALTO INITIALIZING JUMP DRIVE INITIALISATION DU MOTEUR DE SAUT +168 ZEITTECHNIKER INGENIERO TEMPORAL CHRONAL ENGINEER INGÉNIEUR TEMPOREL +169 Zeittechniker Ingeniero temporal Chronal engineer Ingénieur temporel +170 Eine Ingenieurin bittet dich, ein neues Energiesystem mit dem Landemodul zu testen. Grundvergütung ist garantiert; bei Erfolg gibt es einen Bonus. Ein früherer Test zeigt einen plötzlichen Spannungsanstieg. Una ingeniera pide probar un sistema de energía con el módulo de aterrizaje. Garantiza un pago base y una prima por éxito. La grabación anterior muestra una subida brusca de tensión. An engineer asks to test a new power system using your lander. Base payment is guaranteed, with a bonus for success. A previous recording shows a sudden voltage surge. Une ingénieure demande de tester un système d'énergie avec votre atterrisseur. Paiement de base garanti, prime en cas de réussite. Un ancien enregistrement montre une surtension soudaine. +171 Isolierte Proben und Kammer zur Erforschung fremder Organismen. Muestras aisladas y cámara para estudiar organismos alienígenas. Isolated samples and a chamber for studying alien organisms. Échantillons isolés et chambre d'étude des organismes extraterrestres. +172 Ein Besatzungsmitglied betreut einen Außenposten. Neue Zuweisung ersetzt die vorherige. Cada tripulante opera un puesto. Una nueva asignación sustituye la anterior. One crew member operates one outpost. A new assignment replaces the previous one. Un équipier exploite un avant-poste. Une nouvelle affectation remplace la précédente. +173 Einmalige Expedition. Verbraucht die Karte und %d Deuterium. Expedición única. Consume el mapa y %d deuterio. Single-use expedition. Consumes the map and %d deuterium. Expédition unique. Consomme la carte et %d deutérium. +174 Einweg-Energiebank. Stellt 10% der maximalen Schiffsenergie bis zum aktuellen Limit wieder her. Im Flug mit R verwenden. Batería de un uso. Restaura el 10% de energía máxima hasta el límite actual. Usa R durante el vuelo. Single-use power bank. Restores 10% maximum ship energy up to its current cap. Press R during flight. Batterie à usage unique. Restaure 10% de l'énergie maximale jusqu'à la limite actuelle. Touche R en vol. +178 KAPITÄN · PASSIV CAPITÁN · PASIVO CAPTAIN · PASSIVE CAPITAINE · PASSIF +179 COMPUTER COMPUTADORA COMPUTER ORDINATEUR +180 KORSAR • ENERGIE CORSARIO • ENERGÍA CORSAIR • ENERGY CORSAIRE • ÉNERGIE +181 BAUKOSTEN COSTE DE CONSTRUCCIÓN CONSTRUCTION COST COÛT DE CONSTRUCTION +182 KOSTEN · vorhanden / benötigt\n COSTE · disponible / necesario\n COST · owned / required\n COÛT · disponible / requis\n +183 100 MUNITION KAUFEN — 100 CREDITS COMPRAR 100 MUNICIONES — 100 CRÉDITOS BUY 100 AMMUNITION — 100 CREDITS ACHETER 100 MUNITIONS — 100 CRÉDITS +184 KARTE KAUFEN · %d CREDITS COMPRAR MAPA · %d CRÉDITOS BUY MAP · %d CREDITS ACHETER LA CARTE · %d CRÉDITS +186 Rumpf vollständig repariert Casco completo Hull is full Coque intacte +187 Rumpf vollständig intakt. Keine Reparatur nötig. El casco está intacto. No necesita reparación. Hull is fully intact. No repair needed. La coque est intacte. Aucune réparation nécessaire. +188 Rumpf benötigt keine Reparatur El casco no necesita reparación Hull does not need repair La coque ne nécessite pas de réparation +189 Rumpf: %d · Schilde: %d\nEnergie: %d · Tempo: %d px/s Casco: %d · Escudos: %d\nEnergía: %d · Velocidad: %d px/s Hull: %d · Shields: %d\nEnergy: %d · Speed: %d px/s Coque : %d · Boucliers : %d\nÉnergie : %d · Vitesse : %d px/s +190 Tarnung Camuflaje Cloaking Camouflage +191 Tarnung bereits aktiv Camuflaje ya activo Cloaking already active Camouflage déjà actif +192 Kapseln für das Gammageschütz. Strahlungsschaden. Cápsulas para el cañón gamma. Daño por radiación. Gamma cannon capsules. Radiation damage. Capsules pour canon gamma. Dégâts radiatifs. +193 Jede feindliche Rakete hat innerhalb von 240 px eine Abfangchance von 25%. Sie explodiert ohne Schaden. Ein Wurf pro Rakete. Cada misil enemigo tiene un 25% de ser interceptado a 240 px. Explota sin daño. Una tirada por misil. Each incoming enemy missile has a 25% interception chance within 240 px. It explodes without damage. One roll per missile. Chaque missile ennemi a 25% de chances d'être intercepté à 240 px. Il explose sans dégâts. Un tirage par missile. +194 Jeder direkte Waffentreffer verursacht zusätzlich 5 Schaden gegen Aliens vor Absorption. Cada impacto directo causa 5 de daño adicional a alienígenas antes de absorción. Each direct weapon hit deals 5 extra damage to aliens before absorption. Chaque impact direct inflige 5 dégâts supplémentaires aux aliens avant absorption. +195 Jeder direkte Treffer verursacht gleichzeitig vollen Schild- und Rumpfschaden. Absorption gilt weiterhin. Cada impacto directo causa daño completo a escudos y casco a la vez. La absorción sigue activa. Each direct hit deals full damage to alien shields and hull simultaneously. Absorption still applies. Chaque impact direct inflige tous ses dégâts simultanément aux boucliers et à la coque aliens. L'absorption reste active. +196 Orbs werden beim Benutzen verbraucht. Jede Aufwertung benötigt einen weiteren Orb. Gleiche Effekte sind nicht kumulativ. Schadenstyp-Orbs ersetzen einander. Repliken kommen ins Lager. Los orbes se consumen al usarlos. Cada mejora requiere otro. Los efectos iguales no se acumulan. Los tipos de daño se sustituyen. Las réplicas van al almacén. Orbs are consumed on use. Each upgrade needs another orb. Identical effects do not stack. Damage-type orbs replace each other. Replicas go to storage. Les orbes sont consommés à l'usage. Chaque amélioration en exige un autre. Les effets identiques ne se cumulent pas. Les types de dégâts se remplacent. Les répliques vont au stockage. +197 Pro Punkt: +1 Prozentpunkt kritische Trefferchance. Maximal +20 bei 20 Punkten. Por punto: +1 punto porcentual de crítico. Máximo +20 con 20 puntos. Per point: +1 percentage point critical chance. Maximum +20 at 20 points. Par point : +1 point de pourcentage de critique. Maximum +20 à 20 points. +198 Pro Punkt: +2% Schaden aller Waffen. Maximal +40% bei 20 Punkten. Por punto: +2% de daño de todas las armas. Máximo +40% con 20 puntos. Per point: +2% damage for all weapons. Maximum +40% at 20 points. Par point : +2% de dégâts de toutes les armes. Maximum +40% à 20 points. +199 Jeder Schuss/Impuls würfelt Schaden aus diesem Bereich. Cada disparo/impulso sortea daño en este intervalo. Each shot/pulse rolls damage within this range. Chaque tir/impulsion tire ses dégâts dans cette plage. +200 Jeder Schuss hat 1% Chance, 5 s lang ein zufälliges Aliensystem auszuschalten: Antrieb, Waffe oder Schilde. Rotes Symbol zeigt das System. Periodischer Schaden würfelt nicht erneut. Cada disparo tiene un 1% de desactivar durante 5 s motor, arma o escudos alienígenas. Un icono rojo indica el sistema. El daño periódico no vuelve a sortear. Each shot has a 1% chance to disable a random alien engine, weapon or shields for 5 s. A red icon marks the system. Damage over time does not reroll. Chaque tir a 1% de chances de désactiver moteur, arme ou boucliers aliens pendant 5 s. Une icône rouge indique le système. Les dégâts périodiques ne relancent pas le tirage. +201 Jeder gesammelte Asteroidensplitter stellt %.1f%% der maximalen Schilde und Energie wieder her. Cada fragmento de asteroide recogido restaura %.1f%% de escudos y energía máximos. Each collected asteroid fragment restores %.1f%% of maximum shields and energy. Chaque fragment d'astéroïde ramassé restaure %.1f%% des boucliers et de l'énergie maximaux. +202 Klicken, um Kapitänsausrüstung zu öffnen Pulsa para abrir equipo del capitán Click to open captain inventory Cliquez pour ouvrir l'inventaire du capitaine +203 Zum Herstellen klicken Pulsa para fabricar Click to craft Cliquez pour fabriquer +204 Platziert ein autonomes Geschütz. Kosten: genau 50 Munition für sein Magazin. Es zielt automatisch und verschwindet nach 50 Schüssen. Jeder Schuss verursacht 50% weniger Schaden als eine gleichwertige Maschinenkanone. Keine weitere Schiffsmunition. Verschwindet beim Andocken oder bei Schiffszerstörung. Despliega una torreta autónoma. Coste: exactamente 50 municiones para su cargador. Apunta sola y desaparece tras 50 disparos. Cada disparo causa un 50% menos que un cañón automático equivalente. Sin gasto adicional. Desaparece al atracar o destruirse la nave. Deploys an autonomous hovering turret. Costs exactly 50 ammunition loaded into its magazine. It aims automatically and disappears after 50 shots. Each shot deals 50% less damage than an equivalent machine gun. No further ship ammunition is used. Vanishes on docking or ship destruction. Déploie une tourelle autonome. Coûte exactement 50 munitions chargées dans son magasin. Vise automatiquement et disparaît après 50 tirs. Chaque tir inflige 50% de dégâts en moins qu'un canon automatique équivalent. Aucun coût supplémentaire. Disparaît à l'amarrage ou à la destruction du vaisseau. +205 Mineraliensammler Recolector de minerales Mineral collector Collecteur de minéraux +207 Expedition fortsetzen Continuar expedición Continue expedition Poursuivre l'expédition +208 Expedition fortsetzen [E] Continuar expedición [E] Continue expedition [E] Poursuivre l'expédition [E] +209 Der Gang öffnet sich zu einer kühlen Höhle mit unbekannten Lebensformen an den Wänden. El corredor se abre a una cueva fría con formas de vida desconocidas en las paredes. The corridor opens into a cool cavern with unknown life clustered on its walls. Le couloir débouche sur une grotte fraîche aux parois couvertes de vie inconnue. +210 Wurzeln haben den Eingang freigelegt. Dahinter liegt ein uraltes verstaubtes Gerät. Las raíces han abierto la entrada. Tras ella descansa un aparato antiguo cubierto de polvo. Roots have opened the entrance. Beyond it lies an ancient dust-covered device. Les racines ont dégagé l'entrée. Un appareil ancien couvert de poussière repose derrière. +211 Kosten jeder Technologie dieser Reihe: %d Proben. Coste de cada tecnología de esta fila: %d muestras. Each technology in this row costs %d samples. Chaque technologie de cette rangée coûte %d échantillons. +212 Kosten: %d Proben Coste: %d muestras Cost: %d samples Coût : %d échantillons +213 Kosten: 10 Kristalle × Gegenstandsstufe. Maximierte Werte kosten nichts. Coste: 10 cristales × nivel del objeto. Los valores máximos no se cobran. Cost: 10 crystals × item level. Already-maximized values are not charged. Coût : 10 cristaux × niveau de l'objet. Les valeurs déjà maximales sont gratuites. +215 Credits: %d Créditos: %d Credits: %d Crédits : %d +216 Credits: %d · Teile: %d\nAusgaben sofort; neue Belohnungen bleiben nach sicherer Rückkehr. Créditos: %d · piezas: %d\nPagas de inmediato; conservas recompensas tras volver a salvo. Credits: %d · parts: %d\nCosts are paid immediately. New rewards are kept after a safe return. Crédits : %d · pièces : %d\nDépenses immédiates ; récompenses conservées après un retour sûr. +217 Zeitkristalle Cristales de tiempo Time crystals Cristaux temporels +218 Zeitkristalle: %d Cristales de tiempo: %d Time crystals: %d Cristaux temporels : %d +219 1 Rakete für %d Credits kaufen. Comprar 1 misil por %d créditos. Buy 1 missile for %d credits. Acheter 1 missile pour %d crédits. +220 10 Strahlungsgeschosse für %d Credits kaufen. Comprar 10 proyectiles irradiados por %d créditos. Buy 10 irradiated rounds for %d credits. Acheter 10 projectiles irradiés pour %d crédits. +221 100 normale Geschosse für %d Credits kaufen. Comprar 100 balas normales por %d créditos. Buy 100 regular rounds for %d credits. Acheter 100 balles normales pour %d crédits. +222 Munition für Maschinenkanone kaufen. Comprar munición de cañón automático. Buy machine gun ammunition. Acheter des munitions de canon automatique. +223 Container kaufen · Inhalt unbekannt Comprar contenedor · contenido desconocido Buy container · contents unknown Acheter le conteneur · contenu inconnu +224 Rohstoffpaket kaufen Comprar paquete de recursos Buy resource pack Acheter un lot de ressources +225 STARTEN DESPEGAR LAUNCH DÉCOLLER +226 ZUM SYSTEM FLIEGEN VOLAR AL SISTEMA TRAVEL TO SYSTEM VOYAGER VERS LE SYSTÈME +228 Pulslaser Láser de pulsos Pulse laser Laser pulsé +229 Strahlungslaser Láser de radiación Radiation laser Laser radiatif +230 Strahllaser Láser de haz Beam laser Laser à faisceau +231 Waffenschadensbereich (Stufe 1) Intervalo de daño del arma (nivel 1) Weapon damage roll range (level 1) Plage de dégâts de l'arme (niveau 1) +232 Würfelt Gegenstand und Attribute für die aktuelle Systemstufe. Sortea objeto y atributos para el nivel del sistema actual. Rolls an item and modifiers at the current system level. Tire un objet et ses modificateurs au niveau du système actuel. +233 Flug: Stufe × 1000 Deuterium. Rückkehr kostenlos. Karte beim Start verbraucht. Jeder Sektor nur einmal besuchbar. Vuelo: nivel × 1000 deuterio. Regreso gratis. Consume el mapa al partir. Cada sector solo se visita una vez. Flight: level × 1000 deuterium. Free return. Map consumed on departure. Each sector can be visited only once. Vol : niveau × 1000 deutérium. Retour gratuit. Carte consommée au départ. Chaque secteur ne peut être visité qu'une fois. +234 LANDEMODUL ZERSTÖRT · Aktuelle Expeditionsbeute verloren. MÓDULO DE ATERRIZAJE DESTRUIDO · Botín de esta expedición perdido. LANDER DESTROYED · Current expedition loot lost. ATTERRISSEUR DÉTRUIT · Butin de cette expédition perdu. +235 LANDEMODUL ZERSTÖRT — Expeditionsbeute verloren MÓDULO DE ATERRIZAJE DESTRUIDO — botín perdido LANDER DESTROYED — expedition loot lost ATTERRISSEUR DÉTRUIT — butin perdu +236 Landemodul %d / 100 HP · Energie %d%% Módulo %d / 100 PV · Energía %d%% Lander %d / 100 HP · Energy %d%% Atterrisseur %d / 100 PV · Énergie %d%% +237 Landemodul muss im Frachter auf 100% repariert werden. Repara el módulo al 100% en el carguero. Repair the lander to 100% at the freighter. Réparez l'atterrisseur à 100% dans le cargo. +238 Landemodul · %d%% Módulo de aterrizaje · %d%% Lander · %d%% Atterrisseur · %d%% +239 LAGER / RESSOURCEN UND AUSRÜSTUNG ALMACÉN / RECURSOS Y EQUIPO STORAGE / RESOURCES AND EQUIPMENT STOCKAGE / RESSOURCES ET ÉQUIPEMENT +240 MAXIMIEREN · %d KRISTALLE MAXIMIZAR · %d CRISTALES MAXIMIZE · %d CRYSTALS MAXIMISER · %d CRISTAUX +241 MODULE / Symbol zum Übertragen anklicken MÓDULOS / Pulsa un icono para transferir MODULES / Click an icon to transfer MODULES / Cliquez sur une icône pour transférer +242 SCHIFFSMODULE MÓDULOS DE NAVE SHIP MODULES MODULES DU VAISSEAU +243 JÄGER • TEMPO CAZA • VELOCIDAD FIGHTER • SPEED CHASSEUR • VITESSE +244 50%% Chance, fliehende Gegner unter 10%% Rumpf zu übernehmen. Ein Versuch pro Schiff bei freiem Kontrollplatz. Sie greifen frühere Verbündete an. Bosse sind immun. Gegner greifen infizierte Schiffe an, wenn du fern bist. Du kannst sie weiterhin beschädigen. Kontrolllimit: %d. 50%% de capturar enemigos que huyen con menos del 10%% de casco. Un intento por nave con plaza libre. Atacan a antiguos aliados. Jefes inmunes. Los enemigos los atacan si estás lejos. Puedes dañarlos. Límite: %d. 50%% chance to take over fleeing enemies below 10%% hull. One attempt per ship when a control slot is free. They attack former allies. Bosses are immune. Enemies attack infected ships when you are away. You can still damage them. Control limit: %d. 50%% de chances de contrôler les ennemis en fuite sous 10%% de coque. Un essai par vaisseau avec une place libre. Ils attaquent leurs anciens alliés. Boss immunisés. Les ennemis les attaquent quand vous êtes loin. Vous pouvez les endommager. Limite : %d. +245 Lager voll — Platz schaffen. Almacén lleno: libera espacio. Storage full — free up space. Stockage plein — libérez de la place. +246 Lager voll — Platz schaffen. Almacén lleno: libera espacio. Storage full — free up space. Stockage plein — libérez de la place. +247 Abnehmender Nutzen: 37,5% × Punkte / (Punkte + 10). Maximal 25% Ausweichen bei 20 Punkten. Verhindert den gesamten Treffer. Rendimiento decreciente: 37,5% × puntos / (puntos + 10). Máximo 25% de evasión con 20 puntos. Anula el impacto completo. Diminishing returns: 37.5% × points / (points + 10). Maximum 25% evasion at 20 points. Evading cancels the entire hit. Rendement décroissant : 37,5% × points / (points + 10). Maximum 25% d'esquive à 20 points. Annule tout l'impact. +248 Abnehmender Nutzen: 50% × Punkte / (Punkte + 10). Maximal 33,3% Schadensreduktion bei 20 Punkten, vor Schilden und Rumpf. Rendimiento decreciente: 50% × puntos / (puntos + 10). Máximo 33,3% de reducción con 20 puntos, antes de escudos y casco. Diminishing returns: 50% × points / (points + 10). Maximum 33.3% reduction at 20 points, before shields and hull. Rendement décroissant : 50% × points / (points + 10). Maximum 33,3% de réduction à 20 points, avant boucliers et coque. +249 Ausweichmanöver Maniobra preventiva Preemptive maneuver Manœuvre préventive +250 Karte ferner Systeme · Stufe %d Mapa de sistemas lejanos · nivel %d Distant systems map · level %d Carte des systèmes lointains · niveau %d +251 Karte bereits gekauft. Nach neuer Landung gibt es ein neues Angebot. Mapa comprado. Aterriza de nuevo para otra oferta. Map already purchased. Land again for a new offer. Carte déjà achetée. Atterrissez de nouveau pour une autre offre. +252 Karte bereits gekauft oder zu wenige Credits. Mapa ya comprado o créditos insuficientes. Map already purchased or not enough credits. Carte déjà achetée ou crédits insuffisants. +253 Karte: %d Credits\nTreibstoff: %d Deuterium\nVorhanden: %d Credits Mapa: %d créditos\nCombustible: %d deuterio\nDisponible: %d créditos Map: %d credits\nFuel: %d deuterium\nOwned: %d credits Carte : %d crédits\nCarburant : %d deutérium\nDisponible : %d crédits +254 Kupfer Cobre Copper Cuivre +255 Platz für zukünftige Forschung. Espacio para futura investigación. Space for future research. Emplacement pour une recherche future. +256 Ein überwachsener Pfad führt zwischen leeren Häusern zu alten Verstecken mit möglichen Ersparnissen. Un sendero cubierto de maleza une casas vacías. Sus escondites podrían guardar ahorros. An overgrown path winds between empty homes. Their caches might still hold savings. Un sentier envahi relie des maisons vides. Leurs caches contiennent peut-être des économies. +257 Kritischer Multiplikator Multiplicador crítico Critical multiplier Multiplicateur critique +258 Modul Módulo Module Module +259 Sumpfland Humedales Wetlands Marécages +260 Vielleicht später Quizá después Maybe later Peut-être plus tard +261 Du kannst nur ein Angebot wählen. Solo puedes elegir una oferta. You can choose only one offer. Vous ne pouvez choisir qu'une offre. +262 SYMBOL FÜR KOSTEN ANZEIGEN PASA SOBRE EL ICONO PARA VER EL COSTE HOVER OVER AN ICON TO SEE COST SURVOLEZ UNE ICÔNE POUR VOIR LE COÛT +263 NAVIGATION / ENTDECKTE SYSTEME NAVEGACIÓN / SISTEMAS DESCUBIERTOS NAVIGATION / DISCOVERED SYSTEMS NAVIGATION / SYSTÈMES DÉCOUVERTS +264 NAVIGATION / AUSSENPOSTEN NAVEGACIÓN / PUESTOS NAVIGATION / OUTPOSTS NAVIGATION / AVANT-POSTES +265 ORB ANWENDEN APLICAR ORBE APPLY ORB APPLIQUER L'ORBE +266 FEHLSCHLAG · %d HP verloren. Frühere Beute bleibt im Frachtraum. FALLO · pérdida de %d PV. El botín anterior permanece en bodega. FAILURE · lost %d HP. Previous loot remains in cargo. ÉCHEC · perte de %d PV. Le butin précédent reste en soute. +267 UNBEKANNTES SYSTEM. DEINE EXPEDITION. SISTEMA DESCONOCIDO. TU EXPEDICIÓN. UNKNOWN SYSTEM. YOUR EXPEDITION. SYSTÈME INCONNU. VOTRE EXPÉDITION. +268 RUMPF KRITISCH — %d%% CASCO BAJO — %d%% LOW HULL — %d%% COQUE FAIBLE — %d%% +269 NEUE FÄHIGKEIT NUEVA HABILIDAD NEW SKILL NOUVELLE COMPÉTENCE +270 Ein mobiler Mechaniker bietet eine schnelle Reparatur an. Er übermittelt Preis und Arbeitsumfang und wartet auf deine Antwort. Un mecánico móvil ofrece una reparación rápida. Envía precio y alcance del trabajo y espera tu respuesta. A mobile mechanic offers a quick repair. He sends the price and scope of work and awaits your answer. Un mécanicien itinérant propose une réparation rapide. Il transmet le prix et le détail des travaux et attend votre réponse. +271 Erhaltene Tagebücher könnten dir zeigen, wie man auf diesem Planeten überlebt. Los diarios conservados podrían enseñarte a sobrevivir en este planeta. Surviving journals might teach you how to survive on this planet. Des journaux préservés pourraient vous apprendre à survivre sur cette planète. +272 Ein Sturm bedroht ein Lager mit defektem Evakuierungstransporter. Du kannst erst Menschen am Schutzraum, dann Arbeiter und Verwundete retten. Jeder abgeschlossene Schritt wird bezahlt, doch die Bedingungen verschlechtern sich. Una tormenta amenaza un campamento cuyo transporte está averiado. Rescata primero a quienes esperan en el refugio, después a trabajadores y heridos. Cada etapa se paga, pero las condiciones empeoran. A storm threatens a camp whose evacuation transport is broken. Rescue people at the shelter, then workers and wounded. Each completed stage pays, but conditions worsen. Une tempête menace un camp dont le transport est en panne. Secourez d'abord les personnes à l'abri, puis les ouvriers et blessés. Chaque étape est payée, mais les conditions empirent. +273 Gegenstandsnamen für alle Attribute und Werte anzeigen. Pasa sobre el nombre para ver todos los atributos y estadísticas. Hover over an item name to see all modifiers and stats. Survolez le nom d'un objet pour voir tous ses modificateurs et statistiques. +274 Auf 100%% reparieren · Kosten %d Teile. Volle Hülle für Landung erforderlich. Reparar al 100%% · coste %d piezas. Casco completo necesario para aterrizar. Repair to 100%% · cost %d parts. Full hull required for landing. Réparer à 100%% · coût %d pièces. Coque intacte requise pour atterrir. +275 Landemodul reparieren: +%d HP Reparar módulo: +%d PV Repair lander: +%d HP Réparer l'atterrisseur : +%d PV +276 Repariert so viel Rumpf wie Teile und fehlende HP erlauben. Kosten: 1 Teil pro HP. Keine Energie. Repara el casco según piezas y vida faltante. Coste: 1 pieza por PV. Sin energía. Repairs hull as parts and missing HP allow. Costs 1 part per hull point. No energy cost. Répare la coque selon les pièces et PV manquants. Coûte 1 pièce par PV. Sans énergie. +277 Landemodul repariert: +%d HP. Módulo reparado: +%d PV. Lander repaired: +%d HP. Atterrisseur réparé : +%d PV. +278 Lenkrakete mit kleinem Einschlag. Hinterlässt 5 s brennendes Gas mit 95 px Radius: 110% Einschlagschaden/s, kinetisch. Wolken sind nicht kumulativ. Misil guiado de impacto pequeño. Deja gas ardiendo 5 s en 95 px: 110% del daño de impacto/s, cinético. Las nubes no se acumulan. Guided missile with a small impact. Leaves burning gas for 5 s within 95 px: 110% impact damage/s, kinetic. Overlapping clouds do not stack. Missile guidé à faible impact. Laisse du gaz brûlant 5 s dans un rayon de 95 px : 110% des dégâts d'impact/s, cinétiques. Nuages non cumulables. +279 Repariert sofort %d%% des maximalen Rumpfs für 1 Teil. Benötigt beschädigtes Schiff und aktiven Flug. Repara al instante %d%% del casco máximo por 1 pieza. Requiere daños y vuelo activo. Instantly repairs %d%% maximum hull for 1 part. Requires a damaged ship in active flight. Répare instantanément %d%% de coque maximale pour 1 pièce. Nécessite un vaisseau endommagé en vol. +280 Noch keine Fähigkeiten. Deine Spezialisierung beginnt hier. Aún no tienes habilidades. Tu especialización empieza aquí. No skills yet. Your specialization starts here. Aucune compétence pour le moment. Votre spécialisation commence ici. +281 Außenposten kann nicht gebaut werden. Teile prüfen. No se puede construir el puesto. Comprueba las piezas. Cannot build outpost. Check available parts. Impossible de construire l'avant-poste. Vérifiez les pièces. +282 Menü konnte nicht geöffnet werden: %s No se pudo abrir el menú: %s Could not open menu: %s Impossible d'ouvrir le menu : %s +283 Systemwechsel fehlgeschlagen: %s No se pudo viajar al sistema: %s Could not travel to system: %s Impossible de rejoindre le système : %s +287 Reduziert diesen Schaden vor Schilden und Panzerung. Gesamtlimit: 60%. Reduce este daño antes de escudos y blindaje. Límite total: 60%. Reduces this damage type before shields and armor. Total ship cap: 60%. Réduit ces dégâts avant boucliers et blindage. Limite totale : 60%. +289 Neue Laborforschung ist %d%% schneller. Rangboni sind nicht kumulativ. Las nuevas investigaciones duran un %d%% menos. Los rangos no se acumulan. New laboratory research takes %d%% less time. Rank bonuses do not stack. Les nouvelles recherches durent %d%% de moins. Les rangs ne se cumulent pas. +290 Neue Systeme werden durch den Tunnel nach dem Sieg über Gegner freigeschaltet. Desbloquea sistemas pasando por el túnel tras derrotar a los enemigos. Unlock new systems by passing through the tunnel after defeating enemies. Débloquez de nouveaux systèmes en traversant le tunnel après avoir vaincu les ennemis. +291 Neue Stufe Nuevo nivel New level Nouveau niveau +292 %d%% mehr Credits für besiegte Gegner. Gilt auch für aufzusammelnde Credits. Rangboni sind nicht kumulativ. %d%% más créditos por enemigos derrotados, incluidos los recogidos tras combatir. Los rangos no se acumulan. %d%% more credits from defeated enemies, including collected drops. Rank bonuses do not stack. %d%% de crédits supplémentaires par ennemi vaincu, y compris ceux à ramasser. Les rangs ne se cumulent pas. +293 SPEZIALISTENLAGER / REKRUTIERUNG CAMPAMENTO ESPECIALISTA / RECLUTAMIENTO SPECIALIST CAMP / RECRUITMENT CAMP DE SPÉCIALISTE / RECRUTEMENT +294 PARAMETERANZEIGE LECTURA DE PARÁMETROS PARAMETER READOUT LECTURE DES PARAMÈTRES +295 SCAN: Ersatzteile. Menge unbekannt. ESCÁNER: repuestos. Cantidad desconocida. SCAN: spare parts. Quantity unknown. SCAN : pièces détachées. Quantité inconnue. +296 SCAN: Schiffskomponente. Stufe und Werte unbekannt. ESCÁNER: componente de nave. Nivel y parámetros desconocidos. SCAN: ship component. Level and stats unknown. SCAN : composant de vaisseau. Niveau et statistiques inconnus. +297 SCAN: Mineralproben. Zusammensetzung und Menge unbekannt. ESCÁNER: muestras minerales. Composición y cantidad desconocidas. SCAN: mineral samples. Composition and quantity unknown. SCAN : échantillons minéraux. Composition et quantité inconnues. +298 ERFORSCHT · IN BEUTE VERFÜGBAR DESCUBIERTO · DISPONIBLE EN BOTÍN DISCOVERED · AVAILABLE AS LOOT DÉCOUVERT · DISPONIBLE DANS LE BUTIN +299 FERNER SEKTOR SECTOR LEJANO DISTANT SECTOR SECTEUR LOINTAIN +300 IN DEN RUCKSACK LEGEN GUARDAR EN MOCHILA MOVE TO BACKPACK RANGER DANS LE SAC +301 ABLEGEN → GUARDAR → STORE → DÉPOSER → +302 LETZTES SYSTEM ÚLTIMO SISTEMA FINAL SYSTEM DERNIER SYSTÈME +303 SCHILD %.0f / %.0f ESCUDO %.0f / %.0f SHIELD %.0f / %.0f BOUCLIER %.0f / %.0f +304 WURMLOCH ÖFFNEN ABRIR AGUJERO DE GUSANO OPEN WORMHOLE OUVRIR LE TROU DE VER +305 Ein Alien, das deinen aktiven Schild trifft, erhält 20% des tatsächlich absorbierten Schadens als Entladung. Keine weiteren Treffereffekte. Un alienígena que golpea tu escudo activo recibe una descarga del 20% del daño absorbido. Sin efectos adicionales. An alien hitting your active shield receives a discharge equal to 20% of actual absorbed damage. No additional hit effects. Un alien touchant votre bouclier actif subit une décharge de 20% des dégâts absorbés. Aucun effet d'impact supplémentaire. +306 Ein Bergbaurover ist mit Mineralien beladen. Sein Betreiber benötigt Reparaturmaterial und bietet einen Teil seiner Vorräte im Tausch gegen deine Ressourcen an. Die genaue Warenliste liegt vor. Un vehículo minero va cargado de minerales. Su operador necesita materiales de reparación y ofrece intercambiar parte de sus reservas por tus recursos. Envía la lista exacta. A mining rover is loaded with minerals. Its operator needs repair materials and offers part of his stock in exchange for your resources. He sends an exact goods list. Un rover minier est chargé de minéraux. Son opérateur a besoin de matériaux de réparation et propose une partie de son stock contre vos ressources. Il transmet la liste exacte. +307 Schaden Daño Damage Dégâts +308 Waffenschaden Daño de armas Weapon damage Dégâts des armes +309 Kampfdrohnen verursachen %d%% mehr Schaden. Rangboni sind nicht kumulativ. Los drones causan un %d%% más de daño. Los rangos no se acumulan. Combat drones deal %d%% more damage. Rank bonuses do not stack. Les drones infligent %d%% de dégâts supplémentaires. Les rangs ne se cumulent pas. +310 Schaden gegen Alienrümpfe Daño a cascos alienígenas Damage to alien hulls Dégâts aux coques aliens +311 Kritischer Schaden Daño crítico Critical damage Dégâts critiques +312 Schaden gegen Alienschilde Daño a escudos alienígenas Damage to alien shields Dégâts aux boucliers aliens +313 Trefferschaden Daño de impacto Hit damage Dégâts d'impact +314 Attributschaden Daño de atributos Modifier damage Dégâts des modificateurs +315 Schaden: %s Daño: %s Damage: %s Dégâts : %s +316 Spezialistenlager Campamento especialista Specialist camp Camp de spécialiste +317 In den Schiffsfrachtraum übernehmen. Gegenstände ohne Platz bleiben auf der Fregatte. Recoger en bodega. Los objetos sin espacio se quedan en la fragata. Retrieve into ship cargo. Items without space remain on the frigate. Récupérer en soute. Les objets sans place restent sur la frégate. +318 1 Frachtplatz im Hangar freischalten: 100 Eisen + 50 Aluminium. Desbloquear 1 espacio en hangar: 100 hierro + 50 aluminio. Unlock 1 cargo slot in the hangar: 100 iron + 50 aluminium. Débloquer 1 place dans le hangar : 100 fer + 50 aluminium. +319 Ferner Sektor %03d Sector lejano %03d Distant sector %03d Secteur lointain %03d +320 Schussintervall Intervalo de disparo Shot interval Intervalle de tir +321 Aufstellintervall Intervalo de despliegue Deployment interval Intervalle de déploiement +322 Geschütz-Schussintervall Intervalo de torreta Turret shot interval Intervalle de tir de tourelle +323 Geschützintervall: %.2f s • Nächste Aufstellung: %.2f s Intervalo de torreta: %.2f s • Próximo despliegue: %.2f s Turret interval: %.2f s • Next deployment: %.2f s Intervalle de tourelle : %.2f s • Prochain déploiement : %.2f s +324 Schussintervall: %.2f s Intervalo de disparo: %.2f s Shot interval: %.2f s Intervalle de tir : %.2f s +325 Umgekehrte Polarität Polaridad invertida Reversed polarity Polarité inversée +326 Schildrückgewinnung durch Schaden Recuperación de escudos por daño Shield recovery from damage Récupération de boucliers par dégâts +327 Geborgene Module · %d Módulos recuperados · %d Recovered modules · %d Modules récupérés · %d +328 Alles ablegen → Guardar todo → Store all → Tout déposer → +329 Kapitänsausrüstung ablegen Guardar equipo del capitán Store captain equipment Déposer l'équipement du capitaine +330 Allgemeinwissen Conocimiento general General knowledge Connaissances générales +331 Schneefall Nevada Snowfall Chute de neige +332 Elektrizitätsorb Orbe eléctrico Electricity orb Orbe électrique +333 Atomantriebsorb Orbe de motores atómicos Atomic engine orb Orbe de moteurs atomiques +334 Limit erreicht. Límite alcanzado. Limit reached. Limite atteinte. +336 Vorräte liegen unter einem eingestürzten Gebäudeteil. Balken knarren bei jedem Schritt. Hay suministros bajo un edificio derrumbado. Las vigas crujen a cada paso. Supplies lie under a collapsed building. Beams creak with every step. Des réserves sont enfouies sous un bâtiment effondré. Les poutres craquent à chaque pas. +337 Sparsamer Strahllaser: geringer Schaden, Reichweite etwa ein Bildschirm. Impulskosten steigen mit Schaden und Attributen. Láser eficiente: daño bajo y alcance de una pantalla. El coste crece con daño y atributos. Efficient beam laser: low damage and roughly one screen of range. Pulse cost scales with damage and modifiers. Laser économe : faibles dégâts et portée d'un écran environ. Le coût augmente avec les dégâts et modificateurs. +338 Effizientes Magazin Cargador eficiente Efficient magazine Chargeur économe +339 Alienwaffen schwächen Debilitar armas alienígenas Weaken alien weapons Affaiblir les armes aliens +340 Gescannte Kiste öffnen Abrir escondite escaneado Open scanned cache Ouvrir la cache scannée +341 Schiff und Ausrüstungsslots öffnen Abrir nave y ranuras de equipo Open ship and equipment slots Ouvrir le vaisseau et ses emplacements +342 PANZERUNG BLINDAJE ARMOR BLINDAGE +343 REAKTIVE PANZERUNG BLINDAJE REACTIVO REACTIVE ARMOR BLINDAGE RÉACTIF +344 KABINE 01 CAMAROTE 01 CABIN 01 CABINE 01 +345 KABINE 02 CAMAROTE 02 CABIN 02 CABINE 02 +346 KABINE 03 CAMAROTE 03 CABIN 03 CABINE 03 +347 KABINE 04 CAMAROTE 04 CABIN 04 CABINE 04 +348 KABINE 05 CAMAROTE 05 CABIN 05 CABINE 05 +349 ERLERNTE FÄHIGKEITEN HABILIDADES APRENDIDAS LEARNED SKILLS COMPÉTENCES ACQUISES +350 ZUM SCHIFF ZURÜCK [L] VOLVER A LA NAVE [L] RETURN TO SHIP [L] RETOUR AU VAISSEAU [L] +351 VON EXPEDITION ZURÜCKKEHREN REGRESAR DE EXPEDICIÓN RETURN FROM EXPEDITION REVENIR D'EXPÉDITION +352 EXPEDITIONSRÜCKKEHR · REGRESO DE EXPEDICIÓN · EXPEDITION RETURN · RETOUR D'EXPÉDITION · +353 STUFE %d NIVEL %d LEVEL %d NIVEAU %d +354 STUFE %s / III · %s NIVEL %s / III · %s LEVEL %s / III · %s NIVEAU %s / III · %s +355 WAFFEN- UND ERWEITERUNGSENTWÜRFE PROYECTOS DE ARMAS Y EXTENSIONES WEAPON AND EXTENSION DESIGNS PLANS D'ARMES ET D'EXTENSIONS +356 ZU HARD WECHSELN PASAR A DIFÍCIL SWITCH TO HARD PASSER EN DIFFICILE +357 PROBEN / %d MUESTRAS / %d SAMPLES / %d ÉCHANTILLONS / %d +358 TEMPO: %.0f VELOCIDAD: %.0f SPEED: %.0f VITESSE : %.0f +360 Reaktive Panzerung Blindaje reactivo Reactive armor Blindage réactif +361 Titanpanzerung Blindaje de titanio Titanium armor Blindage en titane +362 Schiffswerte, Bewaffnung, Panzerung und Systeme Estadísticas, armas, blindaje y sistemas Ship stats, weapons, armor and systems Statistiques, armement, blindage et systèmes +363 Passive Erweiterung. Wirkt eingebaut. Absorbiert bei niedrigem Rumpf 50% des Schadens. Extensión pasiva. Funciona instalada. Absorbe el 50% del daño con casco bajo. Passive extension. Works while installed. Absorbs 50% incoming damage at low hull. Extension passive. Active une fois installée. Absorbe 50% des dégâts lorsque la coque est faible. +364 Passive Erweiterung. Infizierte fliehende Gegner greifen andere Feinde an. Extensión pasiva. Los enemigos que huyen son controlados por el virus y atacan a otros enemigos. Passive extension. Fleeing enemies are taken over by the virus and attack other enemies. Extension passive. Les ennemis en fuite sont contrôlés par le virus et attaquent les autres ennemis. +365 Passive Erweiterung. Gesammelte Asteroidensplitter regenerieren Schilde und Energie. Extensión pasiva. Los fragmentos de asteroides recogidos restauran escudos y energía. Passive extension. Collected asteroid fragments restore shields and energy. Extension passive. Les fragments d'astéroïdes ramassés restaurent boucliers et énergie. +366 Passives Geschwindigkeitsmodul. Stufe 1: 1–5 px/s Bonus; steigt mit Gegenstandsstufe. Módulo pasivo de velocidad. Nivel 1: +1–5 px/s; aumenta con el nivel del objeto. Passive speed module. Level 1 bonus: 1–5 px/s, increasing with item level. Module passif de vitesse. Bonus au niveau 1 : 1–5 px/s, augmente avec le niveau de l'objet. +367 Sichere Bezahlung oder Risiko Pago seguro o riesgo Guaranteed pay or risk Paiement garanti ou risque +368 Bedeckter Himmel Cielo cubierto Overcast Ciel couvert +370 Erster Rumpftreffer nach Schildverlust verursacht 70% weniger Rumpfschaden. Abklingzeit: 15 s aktiver Flug. El primer impacto al casco tras perder escudos causa un 70% menos de daño. Recarga: 15 s de vuelo activo. First hull hit after losing shields deals 70% less hull damage. Cooldown: 15 s of active flight. Le premier impact sur la coque après perte des boucliers inflige 70% de dégâts en moins. Recharge : 15 s de vol actif. +371 Erster Treffer auf aktive Schilde verursacht nur 10% Schaden, einschließlich Rumpfdurchschlag. Abklingzeit: 60 s. El primer impacto en escudos activos causa solo el 10% del daño, incluida penetración al casco. Recarga: 60 s. First hit on active shields deals only 10% damage, including hull penetration. Cooldown: 60 s. Le premier impact sur les boucliers actifs n'inflige que 10% des dégâts, pénétration comprise. Recharge : 60 s. +372 Erstes Ziel: Gegner besiegen → Boss besiegen → bewohnten Planeten finden. Primer objetivo: derrota enemigos → derrota al jefe → encuentra un planeta habitado. First objective: defeat enemies → defeat the boss → find an inhabited planet. Premier objectif : vaincre les ennemis → vaincre le boss → trouver une planète habitée. +373 Steuerung Pilotaje Piloting Pilotage +374 Außenposten bereit. Operator im Kommandozentrum zuweisen. Puesto listo. Asigna un operador en el centro de mando. Outpost ready. Assign an operator in the command center. Avant-poste prêt. Affectez un opérateur au centre de commandement. +375 Bergbauaußenposten Puesto minero Mining outpost Avant-poste minier +376 Außenposten gebaut · %.1f Deuterium/min Puesto construido · %.1f deuterio/min Outpost built · %.1f deuterium/min Avant-poste construit · %.1f deutérium/min +377 Außenposten: Puesto: Outpost: Avant-poste : +378 Nach Rumpfschaden durchdringt Projektil oder Laser ein weiteres Ziel mit 50% Schaden. Raketen erzeugen ein durchschlagendes Geschoss ohne weitere Explosion. Keine Ketten und keine zusätzlichen Kosten. Tras dañar el casco, proyectil o láser atraviesa otro objetivo con 50% de daño. Los misiles generan un proyectil penetrante sin otra explosión. Sin cadenas ni coste extra. After hull damage, a projectile or laser pierces one extra target for 50% damage. Missiles release a penetrating shot without another explosion. No chain piercing or extra cost. Après avoir touché la coque, projectile ou laser traverse une cible supplémentaire à 50% des dégâts. Les missiles libèrent un projectile pénétrant sans nouvelle explosion. Sans chaîne ni surcoût. +379 Bei Schildverlust sofort 25% wiederherstellen. 2 s lang 50% weniger Schildschaden. Abklingzeit: 30 s. Mit Salvenstreuung gilt nur der stärkere Effekt. Andocken setzt die Abklingzeit nicht zurück. Al romperse los escudos recupera 25% al instante. Reduce daño a escudos un 50% durante 2 s. Recarga: 30 s. Con dispersión de salva se aplica el efecto mayor. Atracar no reinicia recarga. On shield break, instantly recover 25%. For 2 s take 50% less shield damage. Cooldown: 30 s. Only the stronger reduction applies with Salvo dispersion. Docking does not reset cooldown. À la rupture des boucliers, restaure immédiatement 25%. Pendant 2 s, réduit les dégâts aux boucliers de 50%. Recharge : 30 s. Seule la réduction la plus forte s'applique avec Dispersion de salve. L'amarrage ne réinitialise pas la recharge. +380 Absorbiert 50%% Schaden bei höchstens %d%% Rumpf. Schwelle wird vor dem Treffer geprüft. Absorbe 50%% del daño con casco de %d%% o menos. Se comprueba antes del impacto. Absorbs 50%% damage while hull is at most %d%%. Threshold checked before the hit. Absorbe 50%% des dégâts avec au plus %d%% de coque. Seuil vérifié avant l'impact. +381 Maschinenkanonenmunition. Kinetischer Schaden. Munición de cañón automático. Daño cinético. Machine gun rounds. Kinetic damage. Munitions de canon automatique. Dégâts cinétiques. +382 Aliengeschosse, Raketen und Laser können auch andere Aliens treffen, aber nicht das Schiff des Schützen. Los proyectiles, misiles y láseres alienígenas pueden alcanzar a otros alienígenas, pero no a su propio tirador. Alien bullets, missiles and lasers can hit other aliens, but never the shooter's own ship. Les projectiles, missiles et lasers aliens peuvent toucher d'autres aliens, jamais le vaisseau du tireur. +383 Die Ader reicht tiefer. Eine Bohrung könnte reichere Schichten freilegen, wenn das Gestein stabil bleibt. La veta continúa abajo. Perforar revelará un filón más rico si la roca permanece estable. The vein extends deeper. Drilling could expose richer ore if the rock stays stable. Le filon descend plus bas. Un forage pourrait révéler du minerai plus riche si la roche reste stable. +384 Unter dem eingestürzten Boden liegt der Siedlungssafe. Der Weg führt unter instabile Decken. Bajo el suelo hundido está la caja fuerte del poblado. Llegar exige pasar bajo techos inestables. The settlement safe lies beneath a collapsed floor, under unstable ceilings. Le coffre de la colonie se trouve sous un plancher effondré et des plafonds instables. +385 Alle Gegner besiegen Derrota a todos los enemigos Defeat all enemies Vaincre tous les ennemis +386 Besatzungskabine mit Bett, Schreibtisch und Stauraum. Camarote con cama, escritorio y espacio personal. Crew cabin with bed, desk and personal storage. Cabine avec lit, bureau et rangement personnel. +387 Raum eingerichtet. Seine Funktion folgt später. Sala equipada. Su mecánica se añadirá más adelante. Room furnished. Its functionality will be added later. Pièce équipée. Ses fonctionnalités seront ajoutées ultérieurement. +388 Energiebank stellt %d%% statt 10%% maximaler Energie wieder her. Passiv; Rangboni sind nicht kumulativ. La batería restaura %d%% de energía máxima en vez del 10%%. Pasiva; rangos no acumulables. Power banks restore %d%% maximum energy instead of 10%%. Passive; rank bonuses do not stack. Les batteries restaurent %d%% d'énergie maximale au lieu de 10%%. Passif ; rangs non cumulables. +389 Stufe %d Nivel %d Level %d Niveau %d +390 Verbleibende Entscheidungen für diesen Aufstieg: %d Elecciones restantes de este ascenso: %d Remaining choices for this level-up: %d Choix restants pour cette montée de niveau : %d +391 Verbleibend Restante Remaining Restant +392 Verbleibend: %d Spielsekunden Restan: %d segundos de juego Remaining: %d gameplay seconds Restant : %d secondes de jeu +393 Biombonus: Materialien ×%.1f · Module +%d…+%d Stufen\nMunition und Raketen unverändert. Bonus de bioma: materiales ×%.1f · módulos +%d…+%d niveles\nMunición y misiles sin aumento. Biome bonus: materials ×%.1f · modules +%d…+%d levels\nAmmunition and missiles do not increase. Bonus de biome : matériaux ×%.1f · modules +%d…+%d niveaux\nMunitions et missiles inchangés. +394 Erfahrungsbonus Bonificación de experiencia Experience bonus Bonus d'expérience +395 Creditbonus Bonificación de créditos Credit bonus Bonus de crédits +396 Schadensbonus Bonificación de daño Damage bonus Bonus de dégâts +397 Ausrüstungsbonus: bis +100%. Kapitänsfähigkeiten wirken separat. Equipo: hasta +100%. Las habilidades del capitán actúan por separado. Equipment bonus: up to +100%. Captain skills apply separately. Bonus d'équipement : jusqu'à +100%. Les compétences du capitaine s'appliquent séparément. +398 Herstellung normaler und Strahlungsmunition liefert %d%% mehr zum gleichen Preis. Keine Raketen. Rangboni sind nicht kumulativ. Fabricar munición normal e irradiada da %d%% más al mismo coste. No incluye misiles. Rangos no acumulables. Crafting regular and irradiated ammunition yields %d%% more for the same cost. Excludes missiles. Rank bonuses do not stack. La fabrication de munitions normales et irradiées donne %d%% de plus au même coût. Hors missiles. Rangs non cumulables. +399 Ziehen, um das Fenster zu bewegen Arrastra para mover la ventana Drag to move the window Glissez pour déplacer la fenêtre +400 Schildüberlastung Sobrecarga de escudos Shield overload Surcharge des boucliers +401 Reaktorüberlastung Sobrecarga del reactor Reactor overload Surcharge du réacteur +402 Auflockerungen Claros Sunny spells Éclaircies +403 %d Gegenstände übertragen. %d objetos transferidos. Transferred %d items. %d objets transférés. +404 Verwundete transportieren Transportar heridos Move the wounded Transporter les blessés +405 Durchschuss Perforación Piercing shot Tir perforant +406 10 s fast unsichtbar. Gegner erkennen und verfolgen dich nicht. Schießen beendet die Tarnung. Bereits abgefeuerte Geschosse bleiben gefährlich. Abklingzeit: 60 s. Casi invisible durante 10 s. Los enemigos no te detectan ni siguen. Disparar rompe el camuflaje. Los proyectiles ya disparados aún dañan. Recarga: 60 s. Nearly invisible for 10 s. Enemies cannot detect or track you. Firing breaks cloaking. Existing projectiles can still hit. Cooldown: 60 s. Presque invisible pendant 10 s. Les ennemis ne vous détectent ni ne vous suivent. Tirer rompt le camouflage. Les projectiles déjà lancés restent dangereux. Recharge : 60 s. +407 Ein unabhängiger Lieferant verkauft seine letzten Vorräte günstig, statt sie zurück in den Orbit zu bringen. Seine Kisten tragen Zeichen verschiedener Firmen. Un proveedor independiente liquida sus reservas antes de volver a órbita. Sus cajas llevan marcas de varias empresas. An independent supplier sells his remaining stock cheaply rather than taking it back to orbit. His crates bear several companies' markings. Un fournisseur indépendant brade ses réserves plutôt que de les ramener en orbite. Ses caisses portent les marques de plusieurs entreprises. +408 Besatzung im Fregatten-Kommandozentrum zuweisen. Deuterium wird automatisch geliefert, auch wenn du den Planeten verlässt. Asigna tripulante en el mando de la fragata. El deuterio llega automáticamente aunque salgas del planeta. Assign crew in the frigate command center. Deuterium is delivered automatically even while you are away. Affectez un équipier au commandement de la frégate. Le deutérium est livré automatiquement même en votre absence. +409 Für ein Besatzungsmitglied. Spezialisten können auf Planeten rekrutiert werden. Para un tripulante. Contrata especialistas en los planetas. Prepared for one crew member. Hire specialists on planets. Prévue pour un équipier. Recrutez des spécialistes sur les planètes. +410 Fähigkeit im Kapitänsfenster einem F1–F5-Slot zuweisen Asigna la habilidad a F1–F5 en el panel del capitán Assign the skill to F1–F5 in the captain panel Affectez la compétence à F1–F5 dans le panneau du capitaine +411 Stellt bis zu 100 Schildpunkte wieder her. Benötigt und verbraucht 100% Energie. Restaura hasta 100 puntos de escudo. Requiere y consume el 100% de energía. Restores up to 100 shield points. Requires and consumes 100% energy. Restaure jusqu'à 100 points de bouclier. Nécessite et consomme 100% d'énergie. +412 Stellt 10% maximaler Energie wieder her. Taste R. Restaura el 10% de energía máxima. Usa R. Restores 10% maximum energy. Press R. Restaure 10% d'énergie maximale. Touche R. +414 Analyseproben Muestras de análisis Analysis samples Échantillons d'analyse +415 Tempo Velocidad Speed Vitesse +416 Aktuelles Tempo Velocidad actual Current speed Vitesse actuelle +417 Strahlgeschwindigkeit: %.0f px/s Velocidad del haz: %.0f px/s Beam travel speed: %.0f px/s Vitesse du faisceau : %.0f px/s +418 Höchstgeschwindigkeit Velocidad máxima Maximum speed Vitesse maximale +419 Drehgeschwindigkeit Velocidad de giro Turn speed Vitesse de rotation +420 Schiffsgeschwindigkeit Velocidad de nave Ship speed Vitesse du vaisseau +421 Leerer Slot\nPlatz für zukünftige Forschung. Ranura vacía\nEspacio para futura investigación. Empty slot\nSpace for future research. Emplacement vide\nPlace pour une recherche future. +422 Rumpfriss Fisura del casco Hull breach Brèche de coque +423 Kostenpflichtiger Kistenscan Escaneo de pago Paid cache scan Scan payant de cache +424 RAKETEN MISILES MISSILES MISSILES +425 RANDOLOOT / ERKUNDEN • KÄMPFEN • SCHIFF AUSBAUEN RANDOLOOT / EXPLORA • COMBATE • MEJORA TU NAVE RANDOLOOT / EXPLORE • FIGHT • UPGRADE YOUR SHIP RANDOLOOT / EXPLOREZ • COMBATTEZ • AMÉLIOREZ +426 REAKTOR REACTOR REACTOR RÉACTEUR +427 FÄHIGKEITEN ZURÜCKSETZEN — 100 CREDITS REINICIAR HABILIDADES — 100 CRÉDITOS RESET SKILLS — 100 CREDITS RÉINITIALISER LES COMPÉTENCES — 100 CRÉDITS +428 KONDENSATORRESERVE RESERVA DE CONDENSADORES CAPACITOR RESERVE RÉSERVE DE CONDENSATEURS +429 Strahlungskugel. Verstrahlung: 10 s, 25% Trefferschaden/s. Weitere Treffer erneuern die Dauer. Verbraucht Strahlungsmunition. Esfera radiactiva. Radiación: 10 s al 25% del daño de impacto/s. Los impactos renuevan duración. Usa munición irradiada. Radiation sphere. Irradiation: 10 s at 25% hit damage/s. Further hits refresh duration. Uses irradiated ammunition. Sphère radiative. Irradiation : 10 s à 25% des dégâts d'impact/s. Les impacts renouvellent la durée. Utilise des munitions irradiées. +430 Rakete Misil Missile Missile +433 Schadensreduktion Reducción de daño Damage reduction Réduction des dégâts +434 Regale, Behälter und Modul-Lagerplätze. Estantes, contenedores y puestos de almacenamiento de módulos. Shelves, containers and module storage stations. Étagères, conteneurs et postes de stockage de modules. +435 Energieregeneration +%d%% für 7 s. Verbraucht alle Schilde und verhindert ihre Regeneration währenddessen. Mindestens 25%% Schilde erforderlich. Regeneración de energía +%d%% durante 7 s. Consume todos los escudos y bloquea su recuperación. Requiere al menos 25%% de escudos. Energy regeneration +%d%% for 7 s. Consumes all shields and blocks their recovery during the effect. Requires at least 25%% shields. Régénération d'énergie +%d%% pendant 7 s. Consomme tous les boucliers et bloque leur récupération. Nécessite au moins 25%% de boucliers. +436 Rekrutierung: %d Credits · vorhanden: %d Contratación: %d créditos · disponible: %d Recruitment: %d credits · owned: %d Recrutement : %d crédits · disponible : %d +437 Kondensatorreserve Reserva de condensadores Capacitor reserve Réserve de condensateurs +438 Zerstörtes Relais Relé destruido Broken relay Relais détruit +440 Gegenstand zerlegen: +10 Teile Desmontar objeto: +10 piezas Dismantle item: +10 parts Démonter l'objet : +10 pièces +441 Quecksilber Mercurio Mercury Mercure +442 BERGBAUNETZWERK RED DE EXTRACCIÓN MINING NETWORK RÉSEAU D'EXTRACTION +443 TRIEBWERK MOTOR ENGINE MOTEUR +444 MODULLAGER IM UMBAU ALMACÉN DE MÓDULOS EN OBRAS MODULE STORAGE UNDER CONSTRUCTION STOCKAGE DE MODULES EN TRAVAUX +445 LEERTASTE — Intro überspringen ESPACIO — omitir introducción SPACE — skip intro ESPACE — passer l'introduction +446 KAPITÄNSAUSRÜSTUNG · %d Stück GEBORGENE MODULE · %d EQUIPO DEL CAPITÁN · %d uds. MÓDULOS RECUPERADOS · %d CAPTAIN GEAR · %d items RECOVERED MODULES · %d ÉQUIPEMENT DU CAPITAINE · %d objets MODULES RÉCUPÉRÉS · %d +447 ERNEUT VERSUCHEN [R] REINTENTAR [R] RETRY [R] RÉESSAYER [R] +448 SPIELERSCHIFF NAVE DEL JUGADOR PLAYER SHIP VAISSEAU DU JOUEUR +449 SCHIFF GESICHERT NAVE ASEGURADA SHIP SECURED VAISSEAU SÉCURISÉ +450 SCHIFF ZERSTÖRT NAVE DESTRUIDA SHIP DESTROYED VAISSEAU DÉTRUIT +451 SCHIFF · %d / %d NAVE · %d / %d SHIP · %d / %d VAISSEAU · %d / %d +452 SCHIFF · PASSIV NAVE · PASIVO SHIP · PASSIVE VAISSEAU · PASSIF +453 DAUERHAFTER EFFEKT EFECTO PERMANENTE PERMANENT EFFECT EFFET PERMANENT +454 SYSTEME UND MODULE SISTEMAS Y MÓDULOS SYSTEMS AND MODULES SYSTÈMES ET MODULES +455 BORDSYSTEME SISTEMAS DE A BORDO ONBOARD SYSTEMS SYSTÈMES DE BORD +456 Ferne Sektoren: doppelte Gegnerzahl, ein Boss. Jeder Gegner gibt Zeitkristalle. Normale Gegner: je 15% Karten und Energiebanken. Boss: immer eine Karte und ein zufälliger Orb, zusätzlich 5% Replikationsorb. Sectores lejanos: doble de enemigos y un jefe. Todos dan cristales de tiempo. Normales: 15% de mapas y baterías cada uno. Jefe: siempre un mapa y un orbe aleatorio, más 5% de orbe de réplica. Distant sectors: twice as many enemies, one boss. Every enemy drops time crystals. Normal enemies: 15% each for maps and power banks. Boss always drops one map and a random orb, plus a 5% replication-orb chance. Secteurs lointains : deux fois plus d'ennemis, un boss. Tous donnent des cristaux temporels. Ennemis normaux : 15% chacun pour cartes et batteries. Boss : toujours une carte et un orbe aléatoire, plus 5% de chance d'orbe de réplication. +458 Felsiges Hochland Tierras altas rocosas Rocky highlands Hauts plateaux rocheux +459 Scan zeigt Inhaltstyp, nicht Menge oder Zustand. Öffnen kostet extra. El escaneo revela el tipo, no cantidad ni estado. Abrir cuesta aparte. Scan reveals content type, not quantity or condition. Opening costs extra. Le scan révèle le type, pas la quantité ni l'état. L'ouverture est facturée séparément. +460 Scan abgeschlossen. Öffnung bezahlen oder später zurückkehren. Escaneo terminado. Paga la apertura o vuelve más tarde. Scan complete. Pay to open or return later. Scan terminé. Payez l'ouverture ou revenez plus tard. +461 Raketenabklingzeitverkürzung Reducción de recarga de misiles Missile cooldown reduction Réduction de recharge des missiles +462 Fällt der Rumpf von mindestens 30% darunter, regeneriert er in 5 s 15% des Maximums. Abklingzeit: 45 s. Treffer unterbrechen nicht. Al bajar de al menos 30% de casco a menos, repara 15% del máximo en 5 s. Recarga: 45 s. Los impactos no interrumpen. Dropping from at least 30% hull below that threshold repairs 15% maximum hull over 5 s. Cooldown: 45 s. Hits do not interrupt. Passer d'au moins 30% de coque sous ce seuil répare 15% du maximum en 5 s. Recharge : 45 s. Les impacts n'interrompent pas. +463 Fallen Schilde von mindestens 30% darunter, sinken Waffenenergiekosten 2 s lang um 50%. Abklingzeit: 15 s. Al bajar de al menos 30% de escudos a menos, reduce el coste energético de armas un 50% por 2 s. Recarga: 15 s. Dropping from at least 30% shields below that threshold reduces weapon energy cost by 50% for 2 s. Cooldown: 15 s. Passer d'au moins 30% de boucliers sous ce seuil réduit le coût énergétique des armes de 50% pendant 2 s. Recharge : 15 s. +464 Ein Spezialist sucht Arbeit. Prüfe seine Fähigkeiten; du kannst später zurückkehren. Kosten: 1000 Credits × Verwaltung. Un especialista busca trabajo. Revisa sus habilidades; puedes volver después. Coste: 1000 créditos × gestión. A specialist is looking for work. Review their skills; you may return later. Cost: 1000 credits × management. Un spécialiste cherche du travail. Consultez ses compétences ; vous pouvez revenir. Coût : 1000 crédits × gestion. +465 Spezialist bereits rekrutiert. Especialista ya contratado. Specialist already hired. Spécialiste déjà recruté. +466 Begegnung beendet. Belohnungen im Expeditionsfrachtraum gehen bei Landemodulzerstörung verloren. Encuentro terminado. Las recompensas en bodega se pierden si se destruye el módulo. Encounter finished. Expedition cargo rewards are lost if the lander is destroyed. Rencontre terminée. Les récompenses en soute sont perdues si l'atterrisseur est détruit. +467 Proben verkaufen Vender muestras Sell samples Vendre les échantillons +468 Ausrüstung: bis +100% Basismultiplikator, maximal ×4. Equipo: hasta +100% del multiplicador base, máximo ×4. Equipment: up to +100% base multiplier, maximum ×4. Équipement : jusqu'à +100% du multiplicateur de base, maximum ×4. +469 Ausrüstung: bis 15% Generatorkapazität/s. Sternaufladung und zeitweilige Fähigkeiten wirken zusätzlich. Equipo: hasta 15% de capacidad del generador/s. La estrella y las habilidades temporales añaden bonus separados. Equipment: up to 15% generator capacity/s. Star charging and temporary skills add separate bonuses. Équipement : jusqu'à 15% de capacité du générateur/s. La charge stellaire et les compétences temporaires ajoutent leurs bonus. +470 Ausrüstung: bis 40%. Mit Fähigkeiten insgesamt bis 60%. Equipo: hasta 40%. Con habilidades: hasta 60%. Equipment: up to 40%. With skills: up to 60%. Équipement : jusqu'à 40%. Avec compétences : jusqu'à 60%. +471 Analysestationen, Geräte und Experimentiertisch. Puestos de análisis, instrumentos y mesa de experimentos. Analysis stations, instruments and an experiment table. Postes d'analyse, instruments et table d'expériences. +472 Antike Struktur Estructura antigua Ancient structure Structure ancienne +473 Start Inicio Start Départ +474 Schiff und Kapitän Nave y capitán Ship and captain Vaisseau et capitaine +475 Schiff ist zerstört La nave está destruida Ship is destroyed Le vaisseau est détruit +476 Schiff nicht verfügbar Nave no disponible Ship unavailable Vaisseau indisponible +477 Volltreffer En el blanco Bullseye Dans le mille +478 Erfolg: %.2f%% · Fehlschlag: −%d–%d HP\nChance berücksichtigt Planet und Kapitänsausrüstung. Éxito: %.2f%% · fallo: −%d–%d PV\nIncluye condiciones del planeta y equipo del capitán. Success: %.2f%% · failure: −%d–%d HP\nChance includes planet conditions and captain gear. Réussite : %.2f%% · échec : −%d–%d PV\nInclut les conditions planétaires et l'équipement du capitaine. +479 Ein einsamer Forscher braucht dringend einen deiner Rohstoffe, um seine Studien abzuschließen. Sein Restbudget erlaubt ihm, mehr als den üblichen Preis zu zahlen. Un investigador necesita urgentemente uno de tus recursos para acabar su estudio. Su presupuesto restante le permite pagar más de lo habitual. A lone researcher urgently needs one of your resources to finish a study. His remaining grant allows him to pay above the usual rate. Un chercheur isolé a besoin d'une de vos ressources pour terminer son étude. Son budget restant lui permet de payer davantage. +480 Glückschance Probabilidad de suerte Luck chance Chance de butin amélioré +481 Ausweichchance %d%% für 5 s. Ausweichen verhindert den gesamten Treffer. Evasión de %d%% durante 5 s. Anula el impacto completo. Evasion chance is %d%% for 5 s. Evading cancels the entire hit. Chance d'esquive de %d%% pendant 5 s. Annule tout l'impact. +482 Glück Suerte Luck Chance +483 Glück (Limit 60%) Suerte (límite 60%) Luck (60% cap) Chance (limite 60%) +484 Glück: %d%% Chance auf Beute eine Stufe höher. Gilt für Gegner und Funde. Basis: 0%%. Mit Ausrüstung maximal 60%%. Rangboni sind nicht kumulativ. Suerte: %d%% de obtener botín un nivel superior. Afecta enemigos y hallazgos. Base 0%%. Con equipo, límite 60%%. Rangos no acumulables. Luck: %d%% chance for loot one level above the base. Applies to enemies and discoveries. Base 0%%. Stacks with gear up to 60%%. Rank bonuses do not stack. Chance : %d%% d'obtenir du butin un niveau supérieur. Ennemis et découvertes. Base 0%%. Avec équipement, limite 60%%. Rangs non cumulables. +485 Hornisse Avispón Hornet Frelon +486 Beschleunigt schnell auf 300% Normaltempo (+200%), danach Abbremsen. Keine Energiekosten. Acelera al 300% de velocidad normal (+200%) y después pierde el exceso. Sin coste energético. Quickly accelerates to 300% normal speed (+200%), then loses excess speed. No energy cost. Accélère à 300% de la vitesse normale (+200%), puis perd l'excès. Sans coût énergétique. +487 Beschleunigt schnell auf 300% Normaltempo (+200%), danach Abbremsen. Benötigt und verbraucht 100% Energie. Acelera al 300% normal (+200%) y después pierde el exceso. Requiere y consume 100% de energía. Quickly accelerates to 300% normal speed (+200%), then loses excess speed. Requires and consumes 100% energy. Accélère à 300% de la vitesse normale (+200%), puis perd l'excès. Nécessite et consomme 100% d'énergie. +488 Feuerrate Cadencia Fire rate Cadence de tir +489 Schwachstelle Punto débil Weak point Point faible +490 Ein Fahrer ist in einem umgestürzten Rover eingeschlossen. Baue aus deinen Teilen einen provisorischen Heber. Die Batterie ist instabil; der Fahrer verspricht eine Belohnung für die Rettung. Un conductor está atrapado en un vehículo volcado. Construye un elevador con tus piezas. La batería es inestable; promete pagarte por rescatarlo. A driver is trapped in an overturned rover. Build a makeshift jack from your parts. The battery is unstable; he promises payment for rescue. Un conducteur est bloqué dans un rover renversé. Construisez un cric avec vos pièces. La batterie est instable ; il promet une récompense. +491 Diese Entscheidung ist nicht verfügbar. Esta decisión no está disponible. This choice is unavailable. Ce choix est indisponible. +492 Überraschungsbeute: 50% Teile, 35% Mineralien, 10% Raketen, 5% Modul. Wert kann unter dem Preis liegen. Botín misterioso: 50% piezas, 35% minerales, 10% misiles, 5% módulo. Puede valer menos que el coste. Mystery loot: 50% parts, 35% minerals, 10% missiles, 5% module. Value may be below the price. Butin mystère : 50% pièces, 35% minéraux, 10% missiles, 5% module. Sa valeur peut être inférieure au prix. +493 Zusatzschild Escudo auxiliar Auxiliary shield Bouclier auxiliaire +494 Schilde vollständig geladen Escudos completos Shields are full Boucliers pleins +495 Schilde durch Energieumleitung deaktiviert Escudos desactivados por redirección de energía Shields disabled by Power redirect Boucliers désactivés par Redirection d'énergie +496 Teleport zu zufälligem sicheren Systempunkt. Verbraucht alle aktuelle Energie; positive Energie erforderlich. Abklingzeit: 60 s. Teletransporta a un lugar seguro aleatorio. Consume toda la energía actual; requiere energía positiva. Recarga: 60 s. Teleports to a random safe system location. Consumes all current energy; requires positive energy. Cooldown: 60 s. Téléporte vers un lieu sûr aléatoire du système. Consomme toute l'énergie actuelle ; énergie positive requise. Recharge : 60 s. +497 Attribut bereits maximal oder ohne Würfelbereich. El atributo ya está al máximo o no tiene intervalo aleatorio. Modifier already maximized or has no roll range. Modificateur déjà maximal ou sans plage aléatoire. +498 Erfolgschance 0%. Gefahr mit geeigneter Ausrüstung reduzieren. Probabilidad 0%. Reduce el peligro con equipo adecuado. 0% success chance. Reduce hazard with suitable equipment. 0% de réussite. Réduisez le danger avec un équipement adapté. +499 Theoretischer DPS: kritische Treffer und Strahlung, vor Zielverteidigung, bei verfügbarer Energie und Munition. DPS teórico: críticos y radiación, antes de defensas y con energía y munición disponibles. Theoretical DPS: critical hits and radiation, before target defenses, with energy and ammunition available. DPS théorique : critiques et radiation, avant défense, avec énergie et munitions disponibles. +500 Dieser Ort wurde bereits besucht. Este lugar ya fue visitado. This location was already visited. Ce lieu a déjà été visité. +501 Diese Begegnung ist nicht mehr verfügbar. Este encuentro ya no está disponible. This encounter is no longer available. Cette rencontre n'est plus disponible. +502 Waffentreffer schädigen auch Aliens bis 10 px vom Zielumriss. Raketenexplosionsradius +10 px. Keine Kettenabpraller. Los impactos también dañan alienígenas a 10 px del objetivo. Radio de misiles +10 px. Sin rebotes en cadena. Weapon hits also damage aliens within 10 px of the target outline. Missile blast radius +10 px. No chain ricochets. Les impacts touchent aussi les aliens à 10 px du contour de la cible. Rayon des missiles +10 px. Sans ricochets en chaîne. +503 Treffer auf Alienschilde blockieren Regeneration für 5 s. Weitere Treffer erneuern die Dauer. Impactar escudos alienígenas bloquea regeneración durante 5 s. Más impactos renuevan la duración. Hitting alien shields blocks regeneration for 5 s. Further hits refresh duration. Toucher les boucliers aliens bloque leur régénération 5 s. Les impacts suivants renouvellent la durée. +504 Expedition zu Sektor %d aktiv. Vor dem nächsten Flug über die Deck-Schaltfläche zurückkehren. Expedición al sector %d activa. Usa el botón de regreso de la cubierta antes de otro vuelo. Expedition to sector %d in progress. Use the deck return button before another flight. Expédition vers le secteur %d en cours. Utilisez le bouton de retour du pont avant un autre vol. +505 Ändert Waffenschaden dauerhaft zu Energie. Schaden und Kosten unverändert. Ersetzt vorherigen Schadenstyp-Orb. Cambia permanentemente el daño a energía. Sin cambiar daño ni coste. Sustituye el orbe de tipo anterior. Permanently changes weapon damage to energy. No change to damage or shot cost. Replaces the previous damage-type orb. Change définitivement les dégâts en énergie. Dégâts et coût inchangés. Remplace l'orbe de type précédent. +506 Ändert Waffenschaden dauerhaft zu kinetisch. Schaden und Kosten unverändert. Ersetzt vorherigen Schadenstyp-Orb. Cambia permanentemente el daño a cinético. Sin cambiar daño ni coste. Sustituye el orbe de tipo anterior. Permanently changes weapon damage to kinetic. No change to damage or shot cost. Replaces the previous damage-type orb. Change définitivement les dégâts en cinétique. Dégâts et coût inchangés. Remplace l'orbe de type précédent. +507 Ändert Waffenschaden dauerhaft zu Strahlung. Schaden und Kosten unverändert. Ersetzt vorherigen Schadenstyp-Orb. Cambia permanentemente el daño a radiación. Sin cambiar daño ni coste. Sustituye el orbe de tipo anterior. Permanently changes weapon damage to radiation. No change to damage or shot cost. Replaces the previous damage-type orb. Change définitivement les dégâts en radiation. Dégâts et coût inchangés. Remplace l'orbe de type précédent. +508 Zusätzlich 5% Waffenschaden gegen Alienrümpfe. Kumulativ mit Rumpfwissen. 5% de daño extra al casco alienígena. Se acumula con Conocimiento del casco. Additional 5% weapon damage to alien hulls. Stacks with Hull knowledge. 5% de dégâts supplémentaires aux coques aliens. Cumulable avec Connaissance de la coque. +509 10% mehr Waffenschaden gegen Alienrümpfe. 10% más daño a cascos alienígenas. 10% more weapon damage to alien hulls. 10% de dégâts supplémentaires aux coques aliens. +510 10% mehr Waffenschaden gegen Alienschilde. 10% más daño a escudos alienígenas. 10% more weapon damage to alien shields. 10% de dégâts supplémentaires aux boucliers aliens. +511 Erzeugt eine unabhängige exakte Ausrüstungskopie im Frachterlager. Original bleibt. Kopiert Stufe, Attribute und Orbs. Zusätzliche 5% Dropchance bei Fernexpeditionsbossen. Crea una copia exacta independiente en el almacén. Conserva el original. Copia nivel, atributos y orbes. Probabilidad adicional del 5% de jefes lejanos. Creates an exact independent equipment copy in freighter storage. Original stays. Copies level, modifiers and orbs. Additional 5% drop chance from distant expedition bosses. Crée une copie exacte indépendante dans le stockage. L'original reste. Copie niveau, modificateurs et orbes. 5% supplémentaires de chance sur les boss lointains. +512 Nur Triebwerk. Senkt TAB-Energiekosten dauerhaft um 50%. Nicht kumulativ. Kostenloser Booster-Orb hat Vorrang. Solo motor. Reduce el coste de TAB un 50% permanentemente. No acumulable. El orbe de impulso gratuito tiene prioridad. Engine only. Permanently halves TAB energy cost. Does not stack. Free booster orb takes priority. Moteur uniquement. Réduit définitivement de 50% le coût de TAB. Non cumulable. L'orbe de propulsion gratuite est prioritaire. +513 Nur Schilde. Treffer geben bis 5% maximaler Schilde als Energie zurück, höchstens tatsächlich verlorene Schilde. Limit: 5% Generatorkapazität/s mit Reserve für eine Erholung. Ausweichen und reine Rumpftreffer lösen nichts aus. Solo escudos. Los impactos devuelven como energía hasta 5% de escudos máximos, nunca más que la pérdida real. Límite: 5% del generador/s y reserva para una recuperación. Evasión e impactos solo al casco no activan. Shields only. Hits restore up to 5% maximum shields as energy, capped by actual shield loss. Rate: 5% generator capacity/s with reserve for one recovery. Evades and hull-only hits do not trigger it. Boucliers uniquement. Les impacts rendent en énergie jusqu'à 5% des boucliers maximaux, limités à la perte réelle. Cadence : 5% du générateur/s et réserve pour une récupération. Esquives et impacts sur coque seule sans effet. +514 Schadenstyp: %s Tipo de daño: %s Damage type: %s Type de dégâts : %s +516 Eine dunkle Felsspalte am Bergfuß beherbergt Organismen, die eine Analyse wert sind. Una grieta oscura al pie de la montaña alberga organismos dignos de estudio. A dark fissure at the mountain's foot shelters organisms worth studying. Une fissure sombre au pied de la montagne abrite des organismes à étudier. +517 KAPITÄNSFÄHIGKEITEN HABILIDADES DEL CAPITÁN CAPTAIN SKILLS COMPÉTENCES DU CAPITAINE +518 EINHEIMISCHE DIENSTE SERVICIOS LOCALES LOCAL SERVICES SERVICES LOCAUX +519 Zeigt Gegner-HP- und Schildbalken. Muestra barras de vida y escudos enemigos. Reveals enemy HP and shield bars. Révèle les barres de PV et de boucliers ennemies. +520 System %d\nAusrüstung und Vorräte bleiben erhalten. Sistema %d\nEquipo y reservas conservados. System %d\nEquipment and supplies are retained. Système %d\nÉquipement et réserves conservés. +521 System sicher. Dienste verfügbar. Sistema seguro. Servicios disponibles. System safe. Services available. Système sûr. Services disponibles. +522 Kapitänsfähigkeiten Habilidades del capitán Captain skills Compétences du capitaine +523 Kapitänsfähigkeiten · verfügbare Punkte: %d Habilidades del capitán · puntos: %d Captain skills · available points: %d Compétences du capitaine · points : %d +524 Fähigkeit nicht freigeschaltet Habilidad no desbloqueada Skill not unlocked Compétence non débloquée +526 Enthält Mechaniker und aktiven Titanpanzerungseffekt. Incluye mecánico y efecto activo del blindaje de titanio. Includes mechanic and active titanium armor effect. Inclut le mécanicien et l'effet actif du blindage en titane. +527 Eine Operatorin kann eine alte gepanzerte Kiste gegen Gebühr scannen. Der Scan zeigt möglichen Inhalt; Öffnen kostet extra. Die korrodierte Hülle stört die Messung. Una operadora puede escanear una caja blindada antigua por un precio. Revela el posible contenido; abrir cuesta aparte. La corrosión interfiere con la lectura. An operator can scan an ancient armored cache for a fee. The scan reveals possible contents; opening costs extra. Corrosion interferes with the reading. Une opératrice peut scanner une vieille cache blindée contre paiement. Le scan révèle son contenu possible ; l'ouverture est séparée. La corrosion brouille la lecture. +528 Im Bauwerk überlebt ein ungewöhnlicher Mechanismus. Ihn zu bergen könnte die alte Struktur destabilisieren. Un mecanismo inusual permanece en el edificio. Extraerlo podría desestabilizar la estructura antigua. An unusual mechanism survives inside. Recovering it could destabilize the ancient structure. Un mécanisme inhabituel subsiste à l'intérieur. Le récupérer risque de déstabiliser la structure ancienne. +529 Ein Einsiedler bietet eine Karte zu Orten abseits bekannter Routen an. Un ermitaño ofrece un mapa de lugares fuera de las rutas conocidas. A hermit offers a map of locations beyond known routes. Un ermite propose une carte de lieux hors des routes connues. +530 In Sternreichweite: 20% maximale Schilde/s für bis 5 s. Verlassen der Reichweite beendet den Effekt. Abklingzeit: 30 s. Cerca de la estrella: 20% de escudos máximos/s hasta 5 s. Alejarse termina el efecto. Recarga: 30 s. In star range: restores 20% maximum shields/s for up to 5 s. Leaving range ends the effect. Cooldown: 30 s. À portée de l'étoile : restaure 20% des boucliers maximaux/s pendant 5 s maximum. Sortir de portée arrête l'effet. Recharge : 30 s. +531 W — Schub · S — bremsen/rückwärts · A/D — drehen\nQ/R — seitwärts · TAB — Boost · E — POI besuchen W — impulso · S — frenar/reversa · A/D — girar\nQ/R — lateral · TAB — acelerar · E — visitar POI W — thrust · S — brake/reverse · A/D — turn\nQ/R — strafe · TAB — boost · E — visit POI W — poussée · S — frein/recul · A/D — rotation\nQ/R — déplacement latéral · TAB — propulsion · E — visiter POI +532 WURMLOCH\nHineinfliegen für nächstes System AGUJERO DE GUSANO\nEntra para pasar al siguiente sistema WORMHOLE\nEnter to reach the next system TROU DE VER\nEntrez pour rejoindre le système suivant +533 WURMLOCH — nächstes System AGUJERO DE GUSANO — siguiente sistema WORMHOLE — next system TROU DE VER — système suivant +534 ZUM FLUG ZURÜCK VOLVER AL VUELO RETURN TO FLIGHT REPRENDRE LE VOL +535 ZURÜCK ZU SYSTEM %d [R] VOLVER AL SISTEMA %d [R] RETURN TO SYSTEM %d [R] RETOUR AU SYSTÈME %d [R] +537 HERSTELLEN FABRICAR CRAFT FABRIQUER +539 Garantiertes Paket nehmen Tomar lote garantizado Take guaranteed supplies Prendre le lot garanti +540 Staub weht durch ein leeres Lager. Einige Kisten sind noch versiegelt. El polvo recorre un almacén vacío. Algunas cajas siguen selladas. Dust drifts through an empty warehouse. Some crates remain sealed. La poussière traverse un entrepôt vide. Certaines caisses restent scellées. +541 Rumpfwissen Conocimiento del casco Hull knowledge Connaissance de la coque +542 Ins Wurmloch fliegen, um weiterzukommen. Entra en el agujero de gusano para avanzar. Fly into the wormhole to proceed. Entrez dans le trou de ver pour continuer. +543 Feindliche Geschosse und Laser haben 25% Chance auf größere Zielstreuung. Los proyectiles y láseres enemigos tienen un 25% de sufrir mayor dispersión. Enemy projectiles and lasers have a 25% chance of increased aim spread. Les projectiles et lasers ennemis ont 25% de chances de subir une dispersion accrue. +545 Zur Expedition zurück Volver a la expedición Return to expedition Reprendre l'expédition +546 Zurück an Bord Volver a bordo Return aboard Retour à bord +547 Alle verfügbaren Projekte erforscht. Todos los proyectos disponibles inventados. All available projects researched. Tous les projets disponibles sont recherchés. +548 Aktive Fähigkeit für F%d wählen. Passive benötigen keinen Slot. Elige habilidad activa para F%d. Las pasivas no usan ranura. Choose an active skill for F%d. Passives do not occupy a slot. Choisissez une compétence active pour F%d. Les passives n'occupent aucun emplacement. +549 Schiff wählen und Expedition starten. Elige nave e inicia expedición. Choose a ship and begin your expedition. Choisissez un vaisseau et lancez l'expédition. +550 Eine Fähigkeit wählen. Die Wahl gilt für die gesamte Partie. Elige una habilidad. La elección dura toda la partida. Choose one skill. The choice lasts for the entire run. Choisissez une compétence. Le choix dure toute la partie. +551 Modul oder Waffe wählen\nRechtsklick/Esc — abbrechen Elige módulo o arma\nClic derecho/Esc — cancelar Choose module or weapon\nRight-click/Esc — cancel Choisissez un module ou une arme\nClic droit/Échap — annuler +552 Raum auf dem Deck wählen. Elige una sala de la cubierta. Choose a room on deck. Choisissez une pièce sur le pont. +553 Raum wählen. Werkstatt und Hangar verfügbar. Elige una sala. Taller y hangar disponibles. Choose a room. Workshop and hangar are available. Choisissez une pièce. Atelier et hangar disponibles. +554 Projekt wählen. Forschung dauert %d Spielsekunden. Entdeckte Waffen und Erweiterungen erscheinen in Beute. Plasmakanone von Anfang an verfügbar. Elige proyecto. Investigar dura %d segundos de juego. Armas y extensiones descubiertas aparecerán en botín. Cañón de plasma disponible al inicio. Choose a project. Research takes %d gameplay seconds. Discovered weapons and extensions enter loot drops. Plasma cannon is available from the start. Choisissez un projet. Recherche de %d secondes de jeu. Armes et extensions découvertes entrent dans le butin. Canon à plasma disponible au départ. +555 Gegenstand und Attribut wählen. Der Techniker maximiert nur diesen Wert für die aktuelle Gegenstandsstufe. Elige objeto y atributo. El ingeniero maximiza solo ese valor para el nivel actual. Choose an item and modifier. The engineer maximizes only that value for the current item level. Choisissez un objet et un modificateur. L'ingénieur maximise uniquement cette valeur au niveau actuel. +557 Fähigkeit wählen · ausstehende Aufstiege: %d Elige habilidad · ascensos pendientes: %d Choose skill · pending level-ups: %d Choisissez une compétence · niveaux en attente : %d +558 Gewähltes Attribut ist jetzt maximal für die aktuelle Gegenstandsstufe. El atributo elegido está al máximo para el nivel actual. Selected modifier is now maximized for the current item level. Le modificateur choisi est maximal pour le niveau actuel. +559 Förderung = Ergiebigkeit × (1 + Verwaltung/100). Ohne Besatzung: 0. Teile: %d / %d Extracción = riqueza × (1 + gestión/100). Sin tripulante: 0. Piezas: %d / %d Extraction = richness × (1 + management/100). No crew: 0. Parts: %d / %d Extraction = richesse × (1 + gestion/100). Sans équipier : 0. Pièces : %d / %d +560 Förderung: Ergiebigkeit × (1 + Verwaltung/100) Deuterium/min. Ohne Besatzung: 0. Vorkommen unerschöpflich. Extracción: riqueza × (1 + gestión/100) deuterio/min. Sin tripulante: 0. Depósitos inagotables. Extraction: richness × (1 + management/100) deuterium/min. No crew: 0. Deposits do not deplete. Extraction : richesse × (1 + gestion/100) deutérium/min. Sans équipier : 0. Gisements inépuisables. +561 Aus Asteroiden gewonnen. Zutat für Werkstattrezepte. Extraído de asteroides. Ingrediente del taller. Mined from asteroids. Used in workshop recipes. Extrait des astéroïdes. Utilisé dans les recettes de l'atelier. +562 Beenden Salir Exit Quitter +563 1 Teil erforderlich Requiere 1 pieza Requires 1 part Nécessite 1 pièce +564 Positive maximale Schildkapazität erforderlich Requiere capacidad máxima de escudo positiva Requires positive maximum shield capacity Nécessite une capacité maximale de bouclier positive +565 Volle Energie erforderlich Requiere energía completa Requires full energy Énergie pleine requise +566 Eingebaute Waffe erforderlich Requiere arma instalada Requires an installed weapon Arme installée requise +567 50 normale Munition erforderlich Requiere 50 municiones normales Requires 50 regular ammunition Nécessite 50 munitions normales +568 Sternreichweite erforderlich Requiere alcance de la estrella Requires star range Portée de l'étoile requise +569 Warentausch Intercambio de mercancías Goods exchange Échange de marchandises +570 Rohstoffe tauschen Intercambiar recursos Exchange resources Échanger des ressources +571 Rohstoffe gegen 3 Raketen tauschen Cambiar recursos por 3 misiles Trade resources for 3 missiles Échanger des ressources contre 3 missiles +572 Expedition beendet. Karte verbraucht.\nRückkehr zu System %d.\nAusrüstung und Vorräte bleiben erhalten. Expedición terminada. Mapa consumido.\nRegreso al sistema %d.\nEquipo y reservas conservados. Expedition finished. Map consumed.\nReturning to system %d.\nEquipment and supplies retained. Expédition terminée. Carte consommée.\nRetour au système %d.\nÉquipement et réserves conservés. +573 3 Drohnen für 10 s. Gemeinsam 50% des Schiffs-DPS beim Start. Kosten: 50 normale Munition. Abklingzeit: 30 s. 3 drones durante 10 s. Juntos causan 50% del DPS al salir. Coste: 50 municiones normales. Recarga: 30 s. 3 drones for 10 s. Together they deal 50% ship DPS at launch. Cost: 50 regular ammunition. Cooldown: 30 s. 3 drones pendant 10 s. Ensemble, 50% du DPS du vaisseau au lancement. Coût : 50 munitions normales. Recharge : 30 s. +574 3 Leuchtköder für 10 s. Gegner in Reichweite zielen auf sie statt auf dich. Abklingzeit: 30 s. 3 bengalas durante 10 s. Los enemigos cercanos las atacan en vez de a ti. Recarga: 30 s. 3 flares for 10 s. Enemies in range target them instead of you. Cooldown: 30 s. 3 leurres pendant 10 s. Les ennemis à portée les ciblent à votre place. Recharge : 30 s. +575 Brandraketenwerfer Lanzamisiles incendiarios Incendiary missile launcher Lance-missiles incendiaires +576 Feuert eine Lenkrakete mit Flächenexplosion. Abklingzeit: 5 s. Dispara un misil guiado con explosión de área. Recarga: 5 s. Fires a guided missile with an area blast. Cooldown: 5 s. Tire un missile guidé à explosion de zone. Recharge : 5 s. +577 Kurze rote Laserimpulse. Jeder hat 50% Chance, Schilde vollständig zu umgehen. 30% weniger Schaden als gleichwertiger Strahllaser, 30% höhere Energiekosten. Pulsos rojos cortos. Cada uno tiene 50% de ignorar escudos. 30% menos daño y 30% más energía que un láser de haz equivalente. Short red laser pulses. Each has a 50% chance to bypass shields entirely. 30% less damage and 30% higher energy cost than an equivalent beam laser. Impulsions laser rouges courtes. Chacune a 50% de chances d'ignorer les boucliers. 30% de dégâts en moins et 30% d'énergie en plus qu'un laser à faisceau équivalent. +578 Rakete fliegt gerade zum Fadenkreuz. Höherer Schaden und Flächenexplosion. Verbraucht Raketenmunition. Misil recto hacia la mira. Mayor daño y explosión de área. Usa munición de misiles. Fires a rocket straight toward the crosshair. Higher damage and area blast. Uses missile ammunition. Tire une roquette droit vers le viseur. Dégâts supérieurs et explosion de zone. Consomme des missiles. +579 Aus Mineralien hergestellt oder aus Gegenständen und Wracks geborgen. Für Reparaturen. Fabricadas con minerales o recuperadas de objetos y pecios. Para reparaciones. Crafted from minerals or salvaged from items and wrecks. Used for repairs. Fabriquées avec des minéraux ou récupérées dans des objets et épaves. Pour les réparations. +580 Ein enger Spalt führt zum reichsten Teil des Vorkommens. Werkzeugschläge hallen dumpf wider. Una grieta estrecha lleva a la parte más rica del depósito. Los golpes resuenan con eco sordo. A narrow crack leads to the richest deposit. Tool strikes echo dully. Une fissure étroite mène au gisement le plus riche. Les coups d'outil résonnent sourdement. +581 Wanderer Viajero Wanderer Voyageur +582 Wanderhändler Comerciante ambulante Traveling merchant Marchand itinérant +583 Seltene Mineralien glitzern zwischen verwitterten Felsen. Löse sie vorsichtig. Minerales raros brillan entre rocas erosionadas. Sepáralos con cuidado. Rare minerals glitter among weathered rocks. Carefully separate them. Des minéraux rares brillent parmi les roches érodées. Détachez-les soigneusement. +584 Mit Besatzung: %.1f–%.1f Deuterium/min (Verwaltung 1–100). Con tripulante: %.1f–%.1f deuterio/min (gestión 1–100). With crew: %.1f–%.1f deuterium/min (management 1–100). Avec équipier : %.1f–%.1f deutérium/min (gestion 1–100). +585 REKRUTIEREN · %d CREDITS CONTRATAR · %d CRÉDITOS HIRE · %d CREDITS RECRUTER · %d CRÉDITS +586 AUSSENPOSTEN BAUEN · %d TEILE CONSTRUIR PUESTO · %d PIEZAS BUILD OUTPOST · %d PARTS CONSTRUIRE L'AVANT-POSTE · %d PIÈCES +587 SEKTION BAUEN CONSTRUIR SECCIÓN BUILD SECTION CONSTRUIRE LA SECTION +588 LAGER BAUEN CONSTRUIR ALMACÉN BUILD STORAGE CONSTRUIRE LE STOCKAGE +589 VERBRAUCHT CONSUMIDO CONSUMED CONSOMMÉ +590 VERBRAUCHSGUT CONSUMIBLE CONSUMABLE CONSOMMABLE +591 BESATZUNG ENTLASSEN DESPEDIR TRIPULANTE DISMISS CREW MEMBER RENVOYER L'ÉQUIPIER +592 NORMAL %02d NORMALES %02d NORMAL %02d NORMAUX %02d +593 Militärvorräte liegen hinter einem Stahlgitter. Rost erschwert den Zugang zu schweren Behältern. Suministros militares esperan tras una reja de acero. El óxido dificulta abrir los recipientes. Military supplies lie behind a steel grate. Rust hinders access to heavy containers. Des réserves militaires attendent derrière une grille. La rouille gêne l'accès aux conteneurs. +594 Andocken, um Slots auszubauen. Atraca para ampliar ranuras. Dock to expand slots. Amarrez-vous pour agrandir les emplacements. +595 Gefahr %.1f%% / 300%% · POI-Beute ×%.2f Peligro %.1f%% / 300%% · Botín POI ×%.2f Hazard %.1f%% / 300%% · POI loot ×%.2f Danger %.1f%% / 300%% · Butin POI ×%.2f +596 Gefahr nach Ausrüstung: %.1f%% / 300%% (ohne %.1f%%). Peligro con equipo: %.1f%% / 300%% (sin equipo %.1f%%). Hazard after gear: %.1f%% / 300%% (without gear %.1f%%). Danger avec équipement : %.1f%% / 300%% (sans %.1f%%). +597 Belegte Plätze Espacios ocupados Occupied slots Places occupées +599 Hilfe beenden und bisherige Bezahlung behalten Terminar ayuda y conservar pagos Finish helping and keep payment so far Terminer l'aide et conserver les paiements +600 Expedition beenden und kostenlos zum Ausgangssystem zurückkehren. Termina la expedición y vuelve gratis al sistema inicial. End expedition and return to the starting system for free. Terminez l'expédition et revenez gratuitement au système de départ. +601 Hilfe beendet. Bisherige Bezahlung bleibt im Expeditionsfrachtraum. Ayuda terminada. Los pagos permanecen en la bodega de expedición. Assistance finished. Payment remains in expedition cargo. Aide terminée. Les paiements restent en soute d'expédition. +602 Bereich vor kritischen Treffern und Zielverteidigung. Intervalo antes de críticos y defensa del objetivo. Range before critical hits and target defenses. Plage avant critiques et défense de la cible. +603 Einkäufe mit Credits sind %d%% günstiger. Compras con créditos un %d%% más baratas. Credit purchases cost %d%% less. Achats en crédits %d%% moins chers. +604 Störung fremder Systeme Interferencia de sistemas alienígenas Alien systems disruption Perturbation des systèmes aliens +605 Schneesturm Ventisca Blizzard Blizzard +610 Ein Lagerverwalter verkauft Restbestände. Wähle ein kleines garantiertes Teilepaket oder ein versiegeltes Überraschungspaket. Darin können wertvolle Komponenten oder wertloses Material liegen. Un encargado liquida reservas. Elige un lote pequeño garantizado de piezas o un paquete sellado sorpresa. Puede contener componentes valiosos o materiales sin valor. A depot manager sells remaining supplies. Choose a modest guaranteed parts pack or a sealed mystery package. It may hold valuable components or worthless materials. Un responsable liquide ses stocks. Choisissez un petit lot garanti de pièces ou un paquet mystère scellé. Il peut contenir des composants précieux ou des matériaux sans valeur. +611 Verwaltung: %d / 100\nFörderbonus: +%d%%\nHerkunft: %s Gestión: %d / 100\nBonus de extracción: +%d%%\nOrigen: %s Management: %d / 100\nExtraction bonus: +%d%%\nOrigin: %s Gestion : %d / 100\nBonus d'extraction : +%d%%\nOrigine : %s +612 Kombinationsregeln Reglas de acumulación Stacking rules Règles de cumul +613 Reichweite Alcance Range Portée +614 Geschützreichweite: %.0f px • Magazin: 50 Schuss • Aufstellen: 50 Munition Alcance de torreta: %.0f px • Cargador: 50 • Despliegue: 50 municiones Turret range: %.0f px • Magazine: 50 rounds • Deployment: 50 ammunition Portée de tourelle : %.0f px • Chargeur : 50 coups • Déploiement : 50 munitions +615 Scannerreichweite Alcance del escáner Scanner range Portée du scanner +616 Reichweite: %.0f px • Munition: %d/Schuss Alcance: %.0f px • Munición: %d/disparo Range: %.0f px • Ammunition: %d/shot Portée : %.0f px • Munitions : %d/tir +617 Reichweite: %.0f px • Energie: %.1f/Schuss Alcance: %.0f px • Energía: %.1f/disparo Range: %.0f px • Energy: %.1f/shot Portée : %.0f px • Énergie : %.1f/tir +618 Reichweite: %.0f px • Strahlungsmunition: 1/Schuss Alcance: %.0f px • Munición irradiada: 1/disparo Range: %.0f px • Irradiated ammunition: 1/shot Portée : %.0f px • Munitions irradiées : 1/tir +619 Ergiebigkeit: %d / 100 Riqueza: %d / 100 Richness: %d / 100 Richesse : %d / 100 +620 Ergiebigkeit: %d / 100 · unerschöpflich Riqueza: %d / 100 · inagotable Richness: %d / 100 · inexhaustible Richesse : %d / 100 · inépuisable +621 Benötigt freie gebaute Kabine und Credits: 1000 × Verwaltung. Requiere camarote libre construido y créditos: 1000 × gestión. Requires a free built cabin and credits: 1000 × management. Nécessite une cabine construite libre et des crédits : 1000 × gestion. +622 Besatzungsmitglied bezieht freie Kabine. Im Kommandozentrum einer Station zuweisen. El tripulante ocupa un camarote libre. Asígnalo a una estación en mando. Crew member occupies a free cabin. Assign them to a station in command. L'équipier occupe une cabine libre. Affectez-le à une station au commandement. +623 Alienschildbruch schädigt andere Aliens im Radius 120 px mit 400% des auslösenden Schadens. Keine Ketten. Jedes Ziel höchstens einmal pro 10 s. Romper un escudo daña otros alienígenas a 120 px con 400% del golpe final. Sin cadenas. Cada enemigo una vez cada 10 s. Breaking alien shields damages others within 120 px for 400% of the breaking hit. No chains. Each enemy triggers at most once per 10 s. Briser un bouclier alien touche les autres à 120 px pour 400% de l'impact final. Sans chaîne. Chaque ennemi déclenche au plus une fois par 10 s. +624 Schrottsammler Chatarrero Scrap collector Ferrailleur +625 Beute sammeln und zum Frachter zurückkehren Recoge botín y vuelve al carguero Collect loot and return to the freighter Ramassez le butin et revenez au cargo +626 Heber bauen und Fahrer helfen Construir elevador y ayudar al conductor Build a jack and help the driver Construire un cric et aider le conducteur +627 Fehlende Rohstoffe aus Asteroiden gewinnen Obtén recursos faltantes de asteroides Gather missing resources from asteroids Récupérez les ressources manquantes sur les astéroïdes +628 Grüner Pulslaser. Verstrahlung: 100% Impulsschaden/s für 10 s. Weitere Impulse erneuern die Dauer; stärkster Effekt gilt. Láser verde de pulsos. Radiación: 100% del daño/s por 10 s. Más pulsos renuevan duración; solo el efecto más fuerte. Green pulse laser. Irradiates for 100% pulse damage/s over 10 s. Further pulses refresh duration; strongest effect applies. Laser pulsé vert. Irradie à 100% des dégâts d'impulsion/s pendant 10 s. Les impulsions renouvellent la durée ; effet le plus fort appliqué. +629 Kistenscan bestellen Pedir escaneo del escondite Request cache scan Demander un scan de la cache +630 Bewohnten Planeten finden Encuentra un planeta habitado Find an inhabited planet Trouvez une planète habitée +631 Modul gefunden Módulo encontrado Module found Module trouvé +632 Funde liegen im Expeditionsfrachtraum. Nach sicherer Rückkehr bleiben sie erhalten. Hallazgos en bodega de expedición. Los conservas tras volver a salvo. Finds are in expedition cargo. Keep them after returning safely. Les trouvailles sont en soute d'expédition. Conservées après un retour sûr. +633 Mine für 60 s. Scharf nach 0,7 s. Verursacht 5% maximalen Zielrumpf als Schaden ohne Absorptionsreduktion und verlangsamt 50% für 5 s. Abwurf alle 5 s. Mina de 60 s, se arma en 0,7 s. Causa 5% del casco máximo sin reducción de absorción y ralentiza 50% por 5 s. Lanzamiento cada 5 s. Mine lasts 60 s, arms after 0.7 s. Deals 5% target maximum hull damage without absorption reduction and slows 50% for 5 s. Drop every 5 s. Mine de 60 s, armée après 0,7 s. Inflige 5% de coque maximale sans réduction d'absorption et ralentit de 50% pendant 5 s. Largage toutes les 5 s. +634 Mine für 60 s, scharf nach 0,7 s. Gegnernähe löst Explosion im Radius 140 aus: 50% aktuellen Rumpf als Schaden ohne Absorption; Schilde absorbieren. Verlangsamt 50% für 5 s. Mina de 60 s, armada en 0,7 s. Explota con enemigos cercanos en radio 140: 50% del casco actual sin absorción; escudos absorben. Ralentiza 50% por 5 s. Mine lasts 60 s, arms in 0.7 s. Nearby enemies trigger a radius-140 blast: 50% current hull damage without absorption; shields absorb it. Slows 50% for 5 s. Mine de 60 s, armée en 0,7 s. Explose près des ennemis dans un rayon de 140 : 50% de coque actuelle sans absorption ; boucliers protecteurs. Ralentit de 50% pendant 5 s. +635 Munitionsverbrauch −%d%%. Normale und Strahlungsmunition, keine Raketen. Consumo de munición −%d%%. Normal e irradiada, no misiles. Ammunition consumption −%d%%. Regular and irradiated rounds, not missiles. Consommation de munitions −%d%%. Normales et irradiées, hors missiles. +636 Verbraucht 70% maximaler Energie für einen Zusatzschild mit 50% maximaler Schildkapazität. Größerer violetter Schild absorbiert zuerst. Bis erschöpft; keine Regeneration und nicht kumulativ. Andocken und Energieumleitung deaktivieren ihn. Consume 70% de energía máxima para un escudo extra del 50% de escudos máximos. La capa violeta absorbe primero. Dura hasta agotarse, no regenera ni acumula. Atracar y redirigir energía lo desactivan. Uses 70% maximum energy for an auxiliary shield at 50% maximum shield capacity. Larger purple layer absorbs first. Lasts until depleted; no regeneration or stacking. Docking and Power redirect disable it. Consomme 70% d'énergie maximale pour un bouclier auxiliaire de 50% des boucliers maximaux. La couche violette absorbe d'abord. Jusqu'à épuisement, sans régénération ni cumul. Amarrage et Redirection d'énergie le désactivent. +637 Maximale Schilde +10%. Kauf lädt sie nicht auf. Escudos máximos +10%. Comprar no los recarga. Maximum shields +10%. Purchase does not refill shields. Boucliers maximaux +10%. L'achat ne les recharge pas. +638 Maximaler Rumpf +10%. Kauf repariert keinen Schaden. Casco máximo +10%. Comprar no repara daños. Maximum hull +10%. Purchase does not repair damage. Coque maximale +10%. L'achat ne répare pas les dégâts. +639 Erhöht maximale Energiekapazität. Aumenta la capacidad máxima de energía. Increases maximum energy capacity. Augmente la capacité énergétique maximale. +640 Erhöht maximale Schilde und regeneriert sie ständig. Aumenta escudos máximos y los regenera continuamente. Increases maximum shields and regenerates them continuously. Augmente les boucliers maximaux et les régénère continuellement. +641 Erhöht maximale Schiffsschilde und regeneriert sie ständig. Aumenta escudos máximos de la nave y los regenera. Increases maximum ship shields and regenerates them continuously. Augmente les boucliers maximaux du vaisseau et les régénère. +642 Erhöht maximale Rumpfstärke. Aumenta la resistencia máxima del casco. Increases maximum hull strength. Augmente la résistance maximale de la coque. +643 Erhöht Chance auf Gegenstand eine Stufe höher. Mit Glückspilz bis gemeinsam 60%. Mejora la probabilidad de objeto un nivel superior. Con Afortunado hasta 60% total. Increases chance of an item one level higher. Stacks with Lucky up to a shared 60% cap. Augmente la chance d'objet un niveau supérieur. Avec Chanceux jusqu'à 60% au total. +644 Erhöht Feuerrate dieser Waffe, Kosten pro Schuss unverändert. Bonuslimit: 25%. Aumenta cadencia sin cambiar coste por disparo. Límite de bonus: 25%. Increases this weapon's fire rate without changing shot cost. Bonus cap: 25%. Augmente la cadence sans changer le coût par tir. Limite du bonus : 25%. +645 Erhöht Scannerreichweite für Gegner, Asteroiden, Wracks und antike Funde. Aumenta alcance del escáner para enemigos, asteroides, pecios y hallazgos antiguos. Increases scanner range for enemies, asteroids, wrecks and ancient discoveries. Augmente la portée du scanner pour ennemis, astéroïdes, épaves et découvertes anciennes. +646 Normal Normal Regular Normale +647 Normale Munition Munición normal Regular ammunition Munitions normales +648 Normal Normal Normal Normal +649 Normalflug: bis 240 px/s. TAB: bis 480 px/s. Aktiver Booster: bis 600 px/s. Vuelo normal: hasta 240 px/s. TAB: 480 px/s. Propulsor activo: 600 px/s. Normal flight: up to 240 px/s. TAB: up to 480 px/s. Active booster: up to 600 px/s. Vol normal : jusqu'à 240 px/s. TAB : 480 px/s. Propulseur actif : 600 px/s. +650 Ein Schrotthändler bietet einen versiegelten Container aus einem Wrack an. Das Frachtetikett ist verbrannt. Er verkauft ihn ungeöffnet und erzählt nur von einem glücklichen früheren Käufer. Un chatarrero vende un contenedor sellado de un pecio. La etiqueta se quemó. Lo vende sin abrir y solo habla de un comprador anterior afortunado. A salvager sells a sealed wreck container. Its cargo label burned away. He sells it unopened and speaks only of one lucky previous buyer. Un ferrailleur vend un conteneur scellé d'une épave. Son étiquette a brûlé. Il le vend sans l'ouvrir et ne parle que d'un ancien acheteur chanceux. +651 Rohstoffvorkommen Depósito de recursos Resource deposit Gisement de ressources +664 keine ninguno none aucun +665 keine Beute sin botín no loot aucun butin +674 zur Fregatte übertragen transferir a la fragata transfer to frigate transférer vers la frégate +679 normal normal normal normal +680 Solaraufladung Carga solar Solar charging Charge solaire +681 Schildaufladung Recarga de escudos Shield charging Recharge des boucliers +683 Milde Biosphäre Biosfera suave Mild biosphere Biosphère tempérée +684 Kopfgeldjäger Cazarrecompensas Bounty hunter Chasseur de primes +685 Beute und Herstellung Botín y fabricación Loot and crafting Butin et fabrication +686 Beute ×%.2f · Ausrüstung ×%.2f · Bergung %.0f%%\nGefahr nach Schutz: %.1f%% / 300%% Botín ×%.2f · equipo ×%.2f · recuperación %.0f%%\nPeligro tras protección: %.1f%% / 300%% Loot ×%.2f · gear ×%.2f · recovery %.0f%%\nHazard after protection: %.1f%% / 300%% Butin ×%.2f · équipement ×%.2f · récupération %.0f%%\nDanger après protection : %.1f%% / 300%% +687 Beute: Botín: Loot: Butin : +688 Bis 10% tatsächlich verursachter Schaden. Bis 5% maximale Schilde/s, mit Reserve für eine Erholung. Hasta 10% del daño real. Hasta 5% de escudos máximos/s, con reserva para una recuperación. Up to 10% actual damage dealt. Up to 5% maximum shields/s, with reserve for one recovery. Jusqu'à 10% des dégâts réels. Jusqu'à 5% des boucliers maximaux/s avec réserve pour une récupération. +689 Gesamt-DPS DPS total Total DPS DPS total +690 MMT Botón central MMB Bouton central +691 Tödlicher Treffer lässt 1 Rumpfpunkt und 2 s Unverwundbarkeit. Einmal pro Expedition oder Eintritt in normales System. Andocken und Neustart nach Niederlage erneuern ihn nicht. Un impacto letal deja 1 de casco y 2 s de invulnerabilidad. Una vez por expedición o entrada en sistema normal. Atracar y reiniciar tras morir no lo renuevan. A lethal hit leaves 1 hull and grants 2 s invulnerability. Once per expedition or normal system entry. Docking and defeat restarts do not renew it. Un coup fatal laisse 1 point de coque et 2 s d'invulnérabilité. Une fois par expédition ou entrée en système normal. Amarrage et reprise après défaite ne le renouvellent pas. +692 Quelle: %s · Stufe %d Origen: %s · nivel %d Source: %s · level %d Source : %s · niveau %d +694 Eisen %d · Teile %d Hierro %d · Piezas %d Iron %d · Parts %d Fer %d · Pièces %d +695 Viper Víbora Viper Vipère +696 Eisen hierro iron fer +697 ‹ ZURÜCK / ESC ‹ VOLVER / ESC ‹ BACK / ESC ‹ RETOUR / ÉCHAP diff --git a/resources/localization/de_catalog.gd b/resources/localization/de_catalog.gd new file mode 100644 index 0000000..b50a260 --- /dev/null +++ b/resources/localization/de_catalog.gd @@ -0,0 +1,1105 @@ +# Generated by tools/build_localization.py; AI-authored, offline. +extends RefCounted +const MESSAGES := { + "\nBrak miejsca: %d modułów czeka we frachtowcu.": "\nKein Platz: %d Module warten im Frachter.", + "%s · %s\nTLEN %d%% · TEMP %d°C · BIO %d/50\nZAGROŻENIE: %.1f%% / 300%%\nŁUP POI: ×%.2f · odzysk %.0f%%\nPOI: podleć i naciśnij E\nLądowanie −%d HP · Lądownik %d%%": "%s · %s\nSAUERSTOFF %d%% · TEMP %d°C · BIO %d/50\nGEFAHR: %.1f%% / 300%%\nPOI-BEUTE: ×%.2f · Bergung %.0f%%\nPOI: nähern und E drücken\nLandung −%d HP · Landemodul %d%%", + "%s · %s\nTLEN %d%% · zagrożenie %.0f%% → %.0f%%\nTEMPERATURA %d°C · zagrożenie %.0f%% → %.0f%%\nBIOLOGICZNE %d/50 · zagrożenie %.0f%% → %.0f%%\nZAGROŻENIE GLOBALNE: %.1f%% / 300%%\nBez sprzętu: %.1f%% · redukcja 2 pp/poziom\nŁUP POI: ×%.2f · odzysk %.0f%% · sprzęt ×%.2f\nPOI: podleć i naciśnij E, aby odebrać znaleziska.\nLądowanie: −%d HP · Lądownik: %d%%": "%s · %s\nSAUERSTOFF %d%% · Gefahr %.0f%% → %.0f%%\nTEMPERATUR %d°C · Gefahr %.0f%% → %.0f%%\nBIOLOGISCH %d/50 · Gefahr %.0f%% → %.0f%%\nGESAMTGEFAHR: %.1f%% / 300%%\nOhne Ausrüstung: %.1f%% · Reduktion 2 pp/Stufe\nPOI-BEUTE: ×%.2f · Bergung %.0f%% · Ausrüstung ×%.2f\nPOI: nähern und E für Funde drücken.\nLandung: −%d HP · Landemodul: %d%%", + "+1 000 000 kredytów i deuteru\n+10 000 każdego minerału, części i kryształów czasu\n+1000 próbek, +25 każdego orba, +100 punktów nauki\n+10 000 amunicji, +1000 radiacyjnej i rakiet, +100 powerbanków\nMapy: poziomy 2, obecny +1/+5, 120, 125 i 130 (bez duplikatów)\nPo 1 każdego rodzaju wyposażenia do magazynu fregaty oraz sprzęt kapitana.": "+1 000 000 Credits und Deuterium\n+10 000 aller Mineralien, Teile und Zeitkristalle\n+1000 Proben, +25 aller Orbs, +100 Lernpunkte\n+10 000 Munition, +1000 Strahlungsmunition und Raketen, +100 Energiebanken\nKarten: Stufe 2, aktuell +1/+5, 120, 125 und 130 ohne Duplikate\nJe ein Ausrüstungstyp im Fregattenlager und Kapitänsausrüstung.", + "BOSS": "BOSS", + "Boss": "Boss", + "Elite": "Elite", + "Laser": "Laser", + "Normal": "Normal", + "[font_size=16][color=#f1bd79]Buduj własny styl gry[/color][/font_size]\n\n[color=#91dbea][b]Wyposażenie[/b][/color]\nKliknij panel statku w prawym górnym rogu i otwórz magazyn. Przeciągaj przedmioty do pasujących slotów: maksymalnie 3 bronie, 5 modułów i 5 rozszerzeń. Na początku dostępny jest 1 slot broni i 1 rozszerzenia. Pierwszy dodatkowy slot broni kosztuje 100 tytanu, drugi 500. Rozszerzenia kosztują po 40 żelaza, aluminium i tytanu, a każdy kolejny slot podwaja ten koszt (80, 160, 320). Ładownia zaczyna z 5 miejscami; każde kolejne miejsce kosztuje 100 żelaza i 50 aluminium. Sloty odblokowujesz w hangarze fregaty. Po zbudowaniu składu modułów zakładka Magazyn na frachtowcu pozwala odkładać i odbierać wyposażenie. Aktywne rozszerzenia uruchamiasz klawiszami 1–5; pasywne (oznaczone P) działają automatycznie w tych samych slotach. Najedź kursorem, żeby sprawdzić parametry i porównanie wyposażenia.\n\n[color=#91dbea][b]Nie każdy duplikat jest taki sam[/b][/color]\nBroń i moduły mogą mieć różne parametry oraz addony. Aktywne rozszerzenia losują cooldown od 30 do 5 pełnych sekund. Pasywne mają losowaną siłę efektu: Recykler odnawia tarcze i energię po zebraniu odłamka, Wirus przejmuje uciekających wrogów, a Pancerz z tytanu ogranicza obrażenia przy niskim kadłubie. Krótsze odnowienia są rzadkie — przed rozłożeniem porównaj egzemplarze. Rozszerzenia tego samego typu dzielą aktywne odnowienie.\n\n[color=#91dbea][b]Umiejętności kapitana[/b][/color]\nZa pokonanych wrogów zdobywasz doświadczenie i kredyty. Trudniejsze układy dają więcej bazowego XP. Jeśli kapitan przewyższa poziom układu o ponad 2 poziomy, XP za przeciwników i ruiny maleje; przy przewadze 8 poziomów spada do zera. Kredyty i surowce nadal zbierasz. Po awansie wybierasz umiejętność. Pasywne działają stale, aktywne przypisujesz do F1–F5.\n\n[color=#f1bd79][b]Okno umiejętności nie pauzuje gry.[/b][/color]\nOtwieraj je w bezpiecznym miejscu. Przed kolejnym układem uzupełnij zapasy i sprawdź wyposażenie.": "[b]Dein Spielstil[/b]\n\nÖffne das Schiff oben rechts. Ziehe Ausrüstung in passende Slots: maximal 3 Waffen, 5 Module und 5 Erweiterungen. Anfangs je 1 Waffen- und Erweiterungsslot. Weitere Waffen: 100 und 500 Titan. Erweiterungen: je 40 Eisen, Aluminium und Titan, danach jeweils doppelt. Fracht beginnt mit 5 Plätzen; zusätzliche Plätze kosten 100 Eisen und 50 Aluminium. Ausbau im Fregattenhangar, Lagerung im gebauten Modullager. Erweiterungen: 1–5; passive P wirken automatisch.\n\nVergleiche Werte, Attribute und Abklingzeiten. Aktive Erweiterungen würfeln 30–5 s Abklingzeit; gleiche Typen teilen sie. Recycler stellt Schilde und Energie aus Splittern her, Virus übernimmt Flüchtende, Titanpanzerung schützt niedrigen Rumpf.\n\nGegner geben XP und Credits. Liegt der Kapitän über 2 Stufen über dem System, sinken Gegner- und Ruinen-XP; bei 8 Stufen Vorsprung sind sie null. Andere Belohnungen bleiben. Beim Aufstieg Fähigkeit wählen; aktive F1–F5, passive ständig.\n\n[b]Das Fähigkeitsfenster pausiert nicht.[/b] Vor dem Weiterflug Vorräte und Ausrüstung prüfen.", + "[font_size=16][color=#f1bd79]Opanuj statek[/color][/font_size]\n\n[color=#91dbea][b]W[/b][/color] — ciąg do przodu.\n[color=#91dbea][b]S[/b][/color] — hamowanie; po zatrzymaniu lot wstecz.\n[color=#91dbea][b]A / D[/b][/color] — obracanie statku.\n[color=#91dbea][b]Q / E[/b][/color] — ruch boczny w lewo / prawo.\n[color=#91dbea][b]TAB[/b][/color] — dopalanie: większa prędkość kosztem energii.\n\n[color=#91dbea][b]Kursor myszy[/b][/color] — celowanie.\n[color=#91dbea][b]LPM / PPM / ŚPM[/b][/color] — strzelanie z trzech slotów broni.\n[color=#91dbea][b]1–5[/b][/color] — użycie zamontowanych rozszerzeń.\n[color=#91dbea][b]F1–F5[/b][/color] — aktywne umiejętności kapitana.\n[color=#91dbea][b]R[/b][/color] — użycie powerbanku, jeśli masz go w zapasach.\n\nStatek ma bezwładność. Obrót nie zatrzymuje ruchu — hamuj wcześniej i wykorzystuj ruch boczny, żeby unikać ostrzału.": "[b]Steuerung[/b]\n\nW — Schub. S — bremsen, dann rückwärts. A/D — drehen. Q/E — seitwärts. TAB — energieverbrauchender Boost.\n\nMaus — zielen. Linke/rechte/mittlere Maustaste — drei Waffen. 1–5 — Erweiterungen. F1–F5 — aktive Kapitänsfähigkeiten. R — Energiebank aus Vorräten.\n\nDas Schiff hat Trägheit. Drehung stoppt die Bewegung nicht. Früh bremsen und seitwärts ausweichen.", + "[font_size=16][color=#f1bd79]Twój pierwszy układ[/color][/font_size]\n\nWybierz statek przyciskiem [b]Nowa wyprawa[/b]. Każdy kadłub ma inne parametry — na początek wybierz ten, który pasuje do Twojego stylu.\n\n[color=#91dbea][b]1. Pokonaj zwykłych wrogów[/b][/color]\nOdszukuj przeciwników, rozwijaj wyposażenie i pilnuj zasobów. Aktualny cel znajdziesz w lewym dolnym rogu ekranu.\n\n[color=#91dbea][b]2. Pokonaj bossa[/b][/color]\nGdy zniszczysz pozostałych wrogów, w układzie pojawi się boss. Przygotuj zapas amunicji i sprawdź kadłub przed walką.\n\n[color=#91dbea][b]3. Znajdź zamieszkaną planetę[/b][/color]\nPo zwycięstwie podleć do zamieszkanej planety. Skorzystaj z usług i otwórz wormhole. Wleć w jego środek, żeby przejść do następnego, trudniejszego układu.": "[b]Dein erstes System[/b]\n\nWähle über Neue Expedition ein Schiff, dessen Werte deinem Stil entsprechen.\n\n1. Normale Gegner finden und besiegen. Ausrüstung verbessern, Ressourcen überwachen. Ziel unten links.\n\n2. Danach erscheint der Boss. Prüfe Munition und Rumpf.\n\n3. Nach dem Sieg bewohnten Planeten finden, Dienste nutzen und Wurmloch öffnen. Hineinfliegen führt ins nächste schwierigere System.", + "[font_size=16][color=#f1bd79]Wróć z wyprawy[/color][/font_size]\n\n[color=#91dbea][b]Tarcze, kadłub i energia[/b][/color]\nTarcze pochłaniają obrażenia przed kadłubem. Utrata całego kadłuba oznacza zniszczenie statku. Energia zasila część broni oraz dopalanie; odnawia się z czasem, szybciej przy gwieździe.\n\n[color=#91dbea][b]Dobieraj broń do zapasów[/b][/color]\nBroń energetyczna zużywa energię. Działko maszynowe potrzebuje zwykłej amunicji, gamma — napromieniowanej, a wyrzutnie — rakiet. Puste zapasy oznaczają brak strzału. Absorpcja ogranicza obrażenia danego typu.\n\n[color=#91dbea][b]Korzystaj z rozszerzeń[/b][/color]\nMiny atakują obszarowo, flary odciągają uwagę, kamuflaż pomaga zerwać kontakt, teleport przenosi w bezpieczne miejsce, a drony wspierają ostrzał. Doładowanie tarcz działa przy gwieździe. Sprawdzaj koszt i cooldown w opisie.\n\n[color=#f1bd79][b]Uważaj na uciekających przeciwników[/b][/color]\nWróg z kadłubem poniżej 10% ucieka wolniej, ale może zostawić minę. Nie leć bezmyślnie prosto za nim.": "[b]Kampf und Überleben[/b]\n\nSchilde absorbieren Schaden vor dem Rumpf. Bei null Rumpf wird das Schiff zerstört. Energie versorgt einige Waffen und Boost; regeneriert schneller am Stern.\n\nEnergiewaffen brauchen Energie, Maschinenkanone normale Munition, Gamma Strahlungsmunition, Werfer Raketen. Ohne Vorräte kein Schuss. Absorption reduziert bestimmten Schaden.\n\nMinen wirken im Gebiet, Leuchtköder lenken ab, Tarnung bricht Kontakt, Teleport bringt Sicherheit, Drohnen unterstützen. Solar-Schilde benötigen Sternreichweite. Kosten und Abklingzeiten prüfen.\n\nGegner unter 10% Rumpf fliehen langsamer und können eine Mine legen. Vorsichtig verfolgen.", + "[b]Wyprawy na planety[/b]\n\nPierwsze planety są łagodne. W kolejnych układach eksploracja jest trudniejsza, ale znaleziska są bogatsze. Dopasuj poziom wyposażenia kapitana do poziomu planety: aparat oddechowy pomaga w jaskiniach, skafander przy wydobyciu i ruinach, a broń ręczna w magazynach i osadach.\n\nPodleć do planety EARTHLIKE. F pokazuje informacje, a L rozpoczyna lądowanie. Lądownik musi mieć 100 HP przed startem; lądowanie uszkadza kadłub. Podczas walki nie można lądować.\n\nNa powierzchni: W — ciąg, S — hamowanie i wstecz, A/D — obrót, Q/R — ruch boczny, TAB — dopalanie. Przy POI naciśnij E. Najpierw zobaczysz przewidywaną nagrodę i uszkodzenia. Samo otwarcie okna niczego nie zużywa. Potwierdź eksplorację przyciskiem lub drugim naciśnięciem E.\n\nNiektóre miejsca oferują dodatkowe znaleziska. Przeszukanie głębiej daje więcej łupu, ale mocniej uszkadza lądownik. Niski kadłub może oznaczać utratę całej zdobyczy tej wyprawy. L pozwala wrócić z dotychczasowym łupem. Spotkania oznaczone pytajnikiem również otwierasz klawiszem E.\n\n[b]Frachtowiec i postęp[/b]\nPrzy gwieździe centralnej zadokuj klawiszem L. Hangar naprawia lądownik za części. Warsztat produkuje zaopatrzenie i kolejne poziomy wyposażenia kapitana. Laboratorium prowadzi badania.\n\nEsc otwiera pauzę, nazwane zapisy i opcje. Wczytanie zachowuje postęp oraz wyposażenie i zaczyna bieżący poziom od początku.": "[b]Planetenexpeditionen[/b]\n\nDie ersten Planeten sind sanft. In späteren Systemen wird die Erkundung schwieriger, die Funde aber reicher. Passe die Kapitänsausrüstung der Planetenstufe an: Atemgerät für Höhlen, Anzug für Abbau und Ruinen, Handwaffe für Lager und Siedlungen.\n\nNähere dich einem EARTHLIKE-Planeten. F zeigt Informationen, L landet. Das Landemodul benötigt vor dem Start 100 HP; die Landung beschädigt den Rumpf. Keine Landung im Kampf.\n\nAm Boden: W Schub, S bremsen/rückwärts, A/D drehen, Q/R seitwärts, TAB Boost. Am POI E drücken. Zuerst erscheinen erwartete Beute und Schäden. Das Öffnen kostet nichts. Mit Schaltfläche oder erneutem E bestätigen.\n\nManche Orte bieten zusätzliche Funde. Tieferes Durchsuchen bringt mehr Beute und höhere Schäden. Niedriger Rumpf kann die gesamte Expeditionsbeute kosten. Mit L kehrst du mit bisheriger Beute zurück. Fragezeichen-Begegnungen öffnen ebenfalls mit E.\n\n[b]Frachter und Fortschritt[/b]\nAm Zentralstern mit L andocken. Der Hangar repariert das Landemodul gegen Teile. Die Werkstatt produziert Vorräte und bessere Kapitänsausrüstung. Das Labor forscht.\n\nEsc öffnet Pause, benannte Spielstände und Optionen. Laden behält Fortschritt und Ausrüstung und startet das aktuelle Level neu.", + "[font_size=16][color=#f1bd79]Zbieraj. Porównuj. Twórz.[/color][/font_size]\n\n[color=#91dbea][b]Łup zbierasz przez podlecenie[/b][/color]\nPrzedmioty w pobliżu są przyciągane do statku. Magazyn mieści 20 przedmiotów; przy pełnym magazynie zwolnij miejsce, żeby zebrać kolejny.\n\n[color=#91dbea][b]Asteroidy zostawiają fizyczne odłamki[/b][/color]\nStrzelaj do asteroid. Po zniszczeniu rozpadają się bazowo na 5–7 poszarpanych fragmentów. Każdy to jedna jednostka surowca — musisz go zebrać. Umiejętność górnika zwiększa uzysk.\n\n[color=#91dbea][b]Przeszukuj wraki[/b][/color]\nPodleć do wraku i przytrzymaj E, aby go przeszukać. Wraki dają surowce (65%), amunicję lub rakiety (łącznie 20%) albo moduł (15%).\n\n[color=#91dbea][b]Warsztat fregaty — produkcja[/b][/color]\nZadokuj na fregacie i wybierz Warsztat. Tam wytworzysz amunicję, rakiety, części, powerbanki i wyposażenie kapitana. Koszt sprawdzisz w podpowiedzi przycisku produkcji.\n\n[color=#91dbea][b]Odzyskuj części[/b][/color]\nNajedź na zbędny przedmiot w magazynie i użyj przycisku rozłożenia. Części przydadzą się do napraw.": "[b]Beute und Herstellung[/b]\n\nNahe Gegenstände werden angezogen. Frachtraum maximal 20 Plätze; bei vollem Raum Platz schaffen.\n\nAsteroiden beschießen: gewöhnlich 5–7 Splitter, jeder eine Rohstoffeinheit zum Aufsammeln. Bergarbeiter erhöht Ertrag.\n\nWrack anfliegen und E halten: 65% Rohstoffe, 20% Munition oder Raketen, 15% Modul.\n\nFregattenwerkstatt produziert Munition, Raketen, Teile, Energiebanken und Kapitänsausrüstung. Kosten im Tooltip. Unnötige Gegenstände zerlegen; Teile für Reparaturen verwenden.", + "[font_size=16][color=#f1bd79]Dźwięki otoczenia[/color][/font_size]\n\n[b]Blender Foundation — Ambient Bird, Cricket and Frog (Yo Frankie!)[/b]\nOdgłosy świerszcza i żaby, udostępnione przez Lamoot:\nhttps://opengameart.org/content/ambient-bird-cricket-and-frog\nLicencja Creative Commons Attribution 3.0:\nhttps://creativecommons.org/licenses/by/3.0/\nZmiany: filtrowanie, płynne początki i zakończenia, zmiana wysokości żaby oraz konwersja do stereo 48 kHz. Autorzy nie są powiązani z tą grą.\n\n[b]Nagrania na licencji CC0[/b]\nThimras — Park ambiences (wiatr).\nIwan „qubodup” Gabovitch — 20 Rustles of dry leaves.\nisaiah658 — Ambient Bird Sounds.\nRudmer_Rotteveel — Wood Creak Single V7.\n\n[b]Wnętrze fregaty — CC0[/b]\nLEGIT Audio — The Shop (bezpłatne próbki OpenGameArt).\nbart — 68 Workshop Sounds i Steam release sounds.\nKenney — Sci-Fi Sounds.\n\nSzczegółowe źródła i zakres obróbki znajdują się w plikach CREDITS.md i manifest.json przy zasobach audio.": "[b]Sound-Credits[/b]\n\nBlender Foundation — Ambient Bird, Cricket and Frog (Yo Frankie!), geteilt von Lamoot. https://opengameart.org/content/ambient-bird-cricket-and-frog\nCC BY 3.0: https://creativecommons.org/licenses/by/3.0/\nÄnderungen: Filterung, Ein-/Ausblenden, Froschtonhöhe, Stereo 48 kHz. Keine Verbindung der Urheber zum Spiel.\n\nCC0: Thimras — Park ambiences; Iwan „qubodup” Gabovitch — 20 Rustles of dry leaves; isaiah658 — Ambient Bird Sounds; Rudmer_Rotteveel — Wood Creak Single V7.\n\nFregatte, CC0: LEGIT Audio — The Shop (OpenGameArt); bart — 68 Workshop Sounds und Steam release sounds; Kenney — Sci-Fi Sounds.\n\nVollständige Quellen und Änderungen in CREDITS.md und manifest.json bei den Audiodateien.", + "\nEARTHLIKE · LĄDOWANIE": "EARTHLIKE · LANDUNG", + "\nKoszt: ": "Kosten: ", + "\nORB DOPALACZA · TAB bez kosztu energii. Działa po zamontowaniu silnika.": "BOOSTER-ORB · TAB ohne Energiekosten. Funktioniert mit eingebautem Triebwerk.", + "\nORB PRZEBICIA · 50% obrażeń omija tarcze. Tylko ta broń.": "DURCHSCHLAG-ORB · 50% des Schadens umgehen Schilde. Nur diese Waffe.", + "\nPASYWNE • Bez kosztu i cooldownu.\nDuplikaty nie sumują efektu — działa najlepszy egzemplarz.": "PASSIV • Keine Kosten oder Abklingzeit. Duplikate sind nicht kumulativ; das beste Exemplar wirkt.", + "\nPodleć, aby przeszukać": "Nähere dich zum Durchsuchen", + "\nRedukcja zagrożenia: %d pp (2 pp/poziom, maks. 100 pp).\nPoziom 50 całkowicie neutralizuje odpowiadające zagrożenie.": "Gefahrenreduktion: %d Prozentpunkte (2 pro Stufe; max. 100). Stufe 50 neutralisiert diese Gefahr vollständig.", + "\nSprawdź wymagane zasoby i aktualne zagrożenie.": "Prüfe Ressourcen und aktuelle Gefahr.", + "\nTen etap ma 0% szans przy obecnym zagrożeniu.": "Bei der aktuellen Gefahr beträgt die Erfolgschance 0%.", + "\nUSŁUGI DOSTĘPNE": "DIENSTE VERFÜGBAR", + "\nUkład oczyszczony": "System gesichert", + "\nZa mało próbek": "Zu wenige Proben", + "\nZamontowane — najpierw zdejmij do ładowni.": "Eingebaut — zuerst in den Frachtraum legen.", + "\n[E] Kup mapę": "[E] Karte kaufen", + "\n[E] Placówka": "[E] Außenposten", + " · +1 część (Zbieracz złomu)": " · +1 Teil (Schrottsammler)", + " [ZAŁOŻONE]": " [AUSGERÜSTET]", + " kadłuba": " Rumpf", + " · Moduły: %d": " · Module: %d", + " · brak zakresu": " · kein Bereich", + "%d KREDYTÓW\n%d CZĘŚCI\n%d KRYSZTAŁÓW CZASU": "%d CREDITS\n%d TEILE\n%d ZEITKRISTALLE", + "%d kredytów%s": "%d Credits%s", + "%d%% szansy na 1 dodatkową część z przeszukanego wraku. Losowanie raz na wrak. Premie rang nie sumują się.": "%d%% Chance auf ein zusätzliches Teil pro Wrack. Ein Wurf pro Wrack. Rangboni sind nicht kumulativ.", + "%s\n\n%s\nR • Zużywa jedną sztukę z zasobów.": "%s\n\n%s\nR • Verbraucht ein Exemplar aus dem Vorrat.", + "%s\n%s\nPrzeciągnij przedmiot do pasującego slotu. Dwuklik zakłada lub zdejmuje.": "%s\n%s\nZum passenden Slot ziehen. Doppelklick zum An- oder Ablegen.", + "%s\nMagazyn pełny": "%s\nLager voll", + "%s\nStatystyki bazowe przed bonusami modułów.\n%s": "%s\nBasiswerte vor Modulboni.\n%s", + "%s\nStos: %d\n\n%s\n\nDwuklik: wybierz orb. Następnie kliknij odpowiedni moduł lub broń. PPM lub Esc anuluje.": "%s\nStapel: %d\n\n%s\n\nDoppelklick: Orb wählen; dann Modul oder Waffe anklicken. Rechtsklick oder Esc bricht ab.", + "%s\nZarządzanie: %d / 100\nPremia do wydobycia: +%d%%": "%s\nVerwaltung: %d / 100\nFörderbonus: +%d%%", + "%s\nŁadownia pełna": "%s\nFrachtraum voll", + "%s / POZIOM %d": "%s / STUFE %d", + "%s · poziom %d": "%s · Stufe %d", + "%s · poziom %d\n%s\n[%s] · Odnowienie %d s%s": "%s · Stufe %d\n%s\n[%s] · Abklingzeit %d s%s", + "%s · poziom %d\nKoszt: %s\nWytwarza i zakłada nowy przedmiot.": "%s · Stufe %d\nKosten: %s\nStellt einen neuen Gegenstand her und rüstet ihn aus.", + "%s · poziom %d / 3\n%s": "%s · Stufe %d / 3\n%s", + "%s · poziom wyprawy %d": "%s · Expeditionsstufe %d", + "%s · zarządzanie %d/100 · %.1f deuteru/min": "%s · Verwaltung %d/100 · %.1f Deuterium/min", + "%s • Poziom %d": "%s • Stufe %d", + "%s: %d partii = %d szt.\nKoszt: %s": "%s: %d Chargen = %d Stück\nKosten: %s", + "+%d KREDYTÓW": "+%d CREDITS", + "+%d KRYSZTAŁÓW CZASU": "+%d ZEITKRISTALLE", + "+%d doświadczenia · +1 moduł": "+%d Erfahrung · +1 Modul", + "+%d szt. surowca z każdej zniszczonej asteroidy.": "+%d Rohstoffeinheiten pro zerstörtem Asteroiden.", + "+%d wraków na nowej planszy. Premia ustalana przy rozpoczęciu systemu; nie zmienia bieżącej planszy. Premie rang nie sumują się.": "+%d Wracks in neuen Systemen. Beim Systemstart festgelegt; verändert das aktuelle System nicht. Rangboni sind nicht kumulativ.", + "+10 zwykłej amunicji, +10 radiacyjnej amunicji i +10 rakiet": "+10 normale Munition, +10 Strahlungsmunition und +10 Raketen", + "01 / POKŁAD GŁÓWNY · POŁĄCZENIE ZABEZPIECZONE": "01 / HAUPTDECK · VERBINDUNG GESICHERT", + "01 / PANCERZ I OCHRONA": "01 / PANZERUNG UND SCHUTZ", + "02 / TARCZE I ENERGIA": "02 / SCHILDE UND ENERGIE", + "03 / SIŁA OGNIA": "03 / FEUERKRAFT", + "04 / NAPĘD I NAWIGACJA": "04 / ANTRIEB UND NAVIGATION", + "05 / ŁADOWNIA I ZAOPATRZENIE": "05 / FRACHT UND VORRÄTE", + "1 KLIKNIĘCIE = 1 RECEPTURA • PRODUKCJA BEZPOŚREDNIO Z MINERAŁÓW": "1 KLICK = 1 REZEPT • DIREKT AUS MINERALIEN HERSTELLEN", + "50 amunicji → 1 działko z 50 pociskami": "50 Munition → 1 Geschütz mit 50 Schuss", + "50% obrażeń broni omija tarcze i trafia bezpośrednio w kadłub. Tylko broń.": "50% Waffenschaden umgehen Schilde und treffen den Rumpf. Nur Waffen.", + "AKTYWNE SLOTY F1–F5 · MAKSYMALNIE 5 UMIEJĘTNOŚCI": "AKTIVE SLOTS F1–F5 · MAXIMAL 5 FÄHIGKEITEN", + "AMUNICJA I RAKIETY": "MUNITION UND RAKETEN", + "AWANSUJ +1 POZIOM": "+1 STUFE AUFWERTEN", + "Absorpcja obrażeń energetycznych": "Energieschadensabsorption", + "Absorpcja obrażeń kinetycznych": "Kinetische Schadensabsorption", + "Absorpcja obrażeń radiacyjnych": "Strahlungsschadensabsorption", + "Aktywne rozszerzenie statku. Tworzy dodatkową, większą warstwę ochronną. Zamontuj w slocie rozszerzeń i użyj przypisanego klawisza 1–5.": "Aktive Schiffserweiterung. Erzeugt eine zusätzliche größere Schutzschicht. Im Erweiterungsslot einbauen und mit 1–5 aktivieren.", + "Aktywne rozszerzenie statku. Zamontuj w slocie rozszerzeń i użyj przypisanego klawisza 1–5.": "Aktive Schiffserweiterung. Im Erweiterungsslot einbauen und mit 1–5 aktivieren.", + "Amunicja do wyrzutni rakiet. Obrażenia kinetyczne.": "Munition für Raketenwerfer. Kinetischer Schaden.", + "Amunicja zwykła": "Normale Munition", + "Amunicja: 1 rakieta / strzał • Cooldown bazowy: 5 s • Bez kosztu energii": "Munition: 1 Rakete/Schuss • Basisabklingzeit: 5 s • Keine Energiekosten", + "Analiza częstotliwości": "Frequenzanalyse", + "Archiwum bez głosu": "Stummes Archiv", + "Automatyczne dostawy z obsadzonych placówek · %.0f / min": "Automatische Lieferungen besetzter Außenposten · %.0f/min", + "Autorzy dźwięków": "Sound-Credits", + "Awansuje przedmiot o 1 poziom i ponownie losuje jego parametry oraz wartości obecnych addonów. Zachowuje ich typy, liczbę i efekty orbów. Wyniki losowania mogą być niższe. Jedna sztuka daje jeden awans. Kolejny awans wymaga nowego orba (główna progresja do 120; 1000 to limit techniczny). Nie działa na materiały zużywalne.": "Erhöht die Gegenstandsstufe um 1 und würfelt Werte vorhandener Attribute neu. Typen, Anzahl und Orb-Effekte bleiben erhalten. Werte können sinken. Ein Orb pro Aufwertung. Hauptfortschritt bis 120; technisches Limit 1000. Nicht für Verbrauchsgüter.", + "BRAK SUROWCÓW": "ZU WENIGE ROHSTOFFE", + "BRAKUJE SUROWCÓW — NAJEDŹ NA RECEPTURĘ, ABY SPRAWDZIĆ KOSZT": "ZU WENIGE ROHSTOFFE — REZEPT FÜR KOSTEN ANZEIGEN", + "BROŃ %d / %s": "WAFFE %d / %s", + "BROŃ [%s]": "WAFFE [%s]", + "Bardzo szybkostrzelna broń kinetyczna. Zużywa 1 sztukę amunicji na strzał.": "Sehr schnelle kinetische Waffe. Verbraucht 1 Munition pro Schuss.", + "Bez przydziału": "Nicht zugewiesen", + "Bezpieczny układ · zaopatrzenie": "Sicheres System · Versorgung", + "Bezpośrednie trafienie kadłuba dobija zwykłego obcego przy maksymalnie 8% kadłuba, a bossa przy 2%. Statek rozpada się na fragmenty.": "Direkter Rumpftreffer erledigt normale Aliens unter 8% Rumpf und Bosse unter 2%. Das Schiff zerbricht.", + "Bezpośrednie trafienie odsłoniętego kadłuba otwiera wyrwę na 5 s. Kolejne twoje trafienia ignorują połowę absorpcji tego statku. Wyrwy nie sumują się.": "Ein direkter Treffer auf den ungeschützten Rumpf öffnet 5 s einen Riss. Deine Folgetreffer ignorieren die Hälfte seiner Absorption. Nicht kumulativ.", + "Brak bezpiecznego miejsca na teleport": "Kein sicherer Teleportpunkt", + "Brak części": "Keine Teile", + "Brak dostępnych addonów.": "Keine Attribute verfügbar.", + "Brak energii": "Keine Energie", + "Brak modułu": "Kein Modul", + "Brak odpowiedniego przedmiotu": "Kein geeigneter Gegenstand", + "Brak placówek. Szukaj głębokich złóż na planetach (szansa 60%). Budowa: zasobność × 10 części.": "Keine Außenposten. Suche Tiefenvorkommen auf Planeten (60% Chance). Baukosten: Ergiebigkeit × 10 Teile.", + "Brak połączenia z wyposażeniem statku.": "Keine Verbindung zur Schiffsausrüstung.", + "Brak przedmiotów z addonami na statku. Zabierz wyposażenie z magazynu fregaty przed lądowaniem.": "Keine Gegenstände mit Attributen an Bord. Vor der Landung Ausrüstung aus dem Fregattenlager holen.", + "Brak rozszerzenia": "Keine Erweiterung", + "Brak sektorów do zbadania. Szukaj pustelnika na planecie lub map w łupach z wypraw.": "Keine unerforschten Sektoren. Suche Einsiedler auf Planeten oder Karten in Expeditionsbeute.", + "Brak wolnej, zbudowanej kajuty. Przygotuj pokój na fregacie.": "Keine freie gebaute Kabine. Bereite einen Raum auf der Fregatte vor.", + "Brak zamontowanej broni": "Keine Waffe eingebaut", + "Brak załogantów. Przygotuj kajutę i zatrudnij specjalistę spotkanego na planecie.": "Keine Besatzung. Bereite eine Kabine vor und rekrutiere einen Spezialisten auf einem Planeten.", + "Brakuje %d kryształów czasu.": "%d Zeitkristalle fehlen.", + "Brakuje kryształów, addon jest już maksymalny lub przedmiot jest niedostępny.": "Kristalle fehlen, Attribut bereits maximiert oder Gegenstand nicht verfügbar.", + "Brakuje zasobów. Koszt: ": "Ressourcen fehlen. Kosten: ", + "Broń obcych zadaje o 10% mniej obrażeń.": "Alienwaffen verursachen 10% weniger Schaden.", + "Broń ręczna": "Handwaffe", + "Budowa kosztuje zasobność × 10 części. Do wydobycia potrzebny jest załogant.": "Baukosten: Ergiebigkeit × 10 Teile. Förderung benötigt ein Besatzungsmitglied.", + "Budowa wymaga po 100 każdego z pięciu surowców kosmicznych.": "Baukosten: je 100 aller fünf Weltraumrohstoffe.", + "Burza pyłowa": "Staubsturm", + "CECHA GŁÓWNA": "HAUPTATTRIBUT", + "Celny strzał": "Gezielter Schuss", + "Ciężki, szybki pocisk kinetyczny. Silne pojedyncze uderzenie co 2,2 s. Zużywa 10 zwykłej amunicji, bez energii.": "Schweres schnelles kinetisches Projektil. Starker Treffer alle 2,2 s. Verbraucht 10 normale Munition, keine Energie.", + "Ciężkie drzwi ustępują. W niszy pośród zatartych reliefów czeka kolejny fragment dawnej technologii.": "Die schweren Türen öffnen sich. Zwischen verwitterten Reliefs wartet ein weiteres Fragment alter Technologie.", + "Czas między wystrzeleniem rakiet krótszy o %d%%. Działa po premiach sprzętu; minimalny odstęp to 1 s. Premie rang nie sumują się.": "Raketenintervall um %d%% verkürzt. Nach Ausrüstungsboni; mindestens 1 s. Rangboni sind nicht kumulativ.", + "Czeka na załoganta": "Wartet auf Besatzung", + "DEUTER / PALIWO FREGATY": "DEUTERIUM / FREGATTENTREIBSTOFF", + "DPS jednego działka": "DPS pro Geschütz", + "DPS uwzględnia premie wyposażenia, kapitana, krytyki i promieniowanie. To wartość teoretyczna, przed obroną celu; rzeczywisty wynik zależy od trafień, energii i amunicji.": "DPS enthält Ausrüstung, Kapitän, kritische Treffer und Strahlung. Theoretisch vor Zielverteidigung; tatsächlicher Schaden hängt von Treffern, Energie und Munition ab.", + "DZIAŁANIE %d s": "DAUER %d s", + "Daleko od światła powierzchni leży podziemny zbiornik. Wokół niego przetrwały najcenniejsze próbki — i najtrudniejsza droga powrotna.": "Tief unter der Oberfläche liegt ein Reservoir mit wertvollen Proben — und einem schwierigen Rückweg.", + "Deuter: %.1f · Produkcja: %.0f/min": "Deuterium: %.1f · Förderung: %.0f/min", + "Do 3% maksymalnych tarcz na sekundę.": "Bis zu 3% der maximalen Schilde pro Sekunde.", + "Dodaj amunicję": "Munition hinzufügen", + "Dodano pełny pakiet zasobów, amunicję, wszystkie orby i %d map.\n%d przedmiotów czeka w magazynie fregaty; dodano też sprzęt kapitana i punkty nauki.": "Ressourcen, Munition, alle Orbs und %d Karten hinzugefügt.\n%d Gegenstände im Fregattenlager; Kapitänsausrüstung und Lernpunkte hinzugefügt.", + "Dodatkowa tarcza już działa": "Zusatzschild bereits aktiv", + "Dodatkowe 5% obrażeń tarczom obcych. Sumuje się z Wiedzą o tarczach.": "Zusätzlich 5% Schaden gegen Alienschilde. Kumulativ mit Schildwissen.", + "Dodatkowe 5% szansy uniknięcia obrażeń od wrogich obcych. Łączy się niezależnie z pozostałymi unikami.": "Zusätzlich 5% Ausweichchance gegen Aliens. Unabhängig von anderen Ausweichwürfen.", + "Dopalacz już działa": "Booster bereits aktiv", + "Dopalacz pod TAB nie zużywa energii i działa również przy pustym generatorze. Tylko silnik.": "TAB-Boost verbraucht keine Energie und funktioniert mit leerem Generator. Nur Triebwerk.", + "Dowódca dronów": "Drohnenkommandant", + "Doładowanie tarcz": "Schildaufladung", + "Doświadczenie (EXP)": "Erfahrung (XP)", + "Drony już walczą": "Drohnen kämpfen bereits", + "Duże obrażenia na krótkim dystansie. Cztery strzały na sekundę.": "Hoher Schaden auf kurze Distanz. Vier Schüsse pro Sekunde.", + "Działka zewnętrzne": "Externe Geschütze", + "Działko gamma": "Gammageschütz", + "Działko maszynowe": "Maschinenkanone", + "Działko plazmowe": "Plasmakanone", + "Działo artyleryjskie": "Artilleriekanone", + "Energia na strzał": "Energie pro Schuss", + "Ewakuuj pracowników": "Arbeiter evakuieren", + "FREGATA / POKŁAD OPERACYJNY": "FREGATTE / EINSATZDECK", + "FREGATA • PANCERZ": "FREGATTE • PANZERUNG", + "GROŹNA FAUNA": "GEFÄHRLICHE FAUNA", + "Globalnie odnawia tarcze z faktycznie zadanych obrażeń. Łącznie do 10% obrażeń; tempo odzysku do 5% maksymalnych tarcz/s, z rezerwą na jedno takie odnowienie.": "Stellt Schilde aus tatsächlich verursachtem Schaden wieder her. Insgesamt bis zu 10% Schaden; höchstens 5% der maximalen Schilde/s mit Reserve für eine solche Heilung.", + "Gorąca biosfera": "Heiße Biosphäre", + "Górnik": "Bergarbeiter", + "Gęsta mgła": "Dichter Nebel", + "GŁĘBOKIE ZŁOŻE / DEUTER": "TIEFENVORKOMMEN / DEUTERIUM", + "Główna progresja: poziomy 1–120. HP, tarcze i atak wrogów rosną o 10% wartości bazowej na poziom, po 120 o 20%. Bazowe parametry łupu rosną o 7% na poziom przedmiotu. Bonusy procentowe mają limity. Poziom 1000 to limit techniczny wyposażenia.": "Hauptfortschritt: Stufe 1–120. Gegner-HP, Schilde und Angriff steigen pro Stufe um 10% des Basiswerts, nach 120 um 20%. Beutebasiswerte steigen um 7% pro Gegenstandsstufe. Prozentboni sind begrenzt. Ausrüstungslimit: 1000.", + "Głębokie złoże deuteru": "Tiefes Deuteriumvorkommen", + "HANGAR / OBSŁUGA": "HANGAR / WARTUNG", + "HANGAR / WYBÓR STATKU": "HANGAR / SCHIFFSAUSWAHL", + "IDŹ DO NASTĘPNEGO POZIOMU": "ZUR NÄCHSTEN STUFE", + "INICJALIZACJA NAPĘDU SKOKOWEGO": "SPRUNGANTRIEB INITIALISIEREN", + "INŻYNIER CHRONALNY": "ZEITTECHNIKER", + "Inżynier chronalny": "Zeittechniker", + "Inżynierka rozłożyła stanowisko pomiarowe daleko od zabudowań. Potrzebuje lądownika do krótkiego testu nowego układu zasilania. Zapewnia podstawową zapłatę niezależnie od wyniku i dodatkową premię za poprawny przebieg próby. Gdy pytasz o ryzyko, bez słowa przesyła zapis poprzedniego testu. Widać na nim nagły skok napięcia.": "Eine Ingenieurin bittet dich, ein neues Energiesystem mit dem Landemodul zu testen. Grundvergütung ist garantiert; bei Erfolg gibt es einen Bonus. Ein früherer Test zeigt einen plötzlichen Spannungsanstieg.", + "Izolowane próbki i komora do badań obcych organizmów.": "Isolierte Proben und Kammer zur Erforschung fremder Organismen.", + "Jeden załogant obsługuje jedną placówkę. Nowy przydział przenosi go z poprzedniej.": "Ein Besatzungsmitglied betreut einen Außenposten. Neue Zuweisung ersetzt die vorherige.", + "Jednorazowa wyprawa. Zużywa mapę i pobiera %d deuteru.": "Einmalige Expedition. Verbraucht die Karte und %d Deuterium.", + "Jednorazowy powerbank. Przywraca 10% maksymalnej energii statku, do jego aktualnego limitu. Użyj klawiszem R podczas lotu.": "Einweg-Energiebank. Stellt 10% der maximalen Schiffsenergie bis zum aktuellen Limit wieder her. Im Flug mit R verwenden.", + "KAPITAN · PASYWNE": "KAPITÄN · PASSIV", + "KOMPUTER": "COMPUTER", + "KORSARZ • ENERGIA": "KORSAR • ENERGIE", + "KOSZT BUDOWY": "BAUKOSTEN", + "KOSZT · posiadasz / wymagane\n": "KOSTEN · vorhanden / benötigt\n", + "KUP 100 AMUNICJI — 100 KREDYTÓW": "100 MUNITION KAUFEN — 100 CREDITS", + "KUP MAPĘ · %d KREDYTÓW": "KARTE KAUFEN · %d CREDITS", + "Kadłub jest pełny": "Rumpf vollständig repariert", + "Kadłub jest w pełni sprawny. Naprawa nie jest potrzebna.": "Rumpf vollständig intakt. Keine Reparatur nötig.", + "Kadłub nie wymaga naprawy": "Rumpf benötigt keine Reparatur", + "Kadłub: %d · Tarcze: %d\nEnergia: %d · Prędkość: %d px/s": "Rumpf: %d · Schilde: %d\nEnergie: %d · Tempo: %d px/s", + "Kamuflaż": "Tarnung", + "Kamuflaż już działa": "Tarnung bereits aktiv", + "Kapsuły do działka gamma. Obrażenia radiacyjne.": "Kapseln für das Gammageschütz. Strahlungsschaden.", + "Każda nadlatująca wroga rakieta ma 25% szansy zostać przechwycona w zasięgu 240 px od statku. Przechwycona rakieta wybucha bez zadawania obrażeń. Jeden rzut na rakietę.": "Jede feindliche Rakete hat innerhalb von 240 px eine Abfangchance von 25%. Sie explodiert ohne Schaden. Ein Wurf pro Rakete.", + "Każde bezpośrednie trafienie twojej broni zadaje obcym dodatkowe 5 obrażeń przed absorpcją.": "Jeder direkte Waffentreffer verursacht zusätzlich 5 Schaden gegen Aliens vor Absorption.", + "Każde bezpośrednie trafienie zadaje pełne obrażenia jednocześnie tarczom i kadłubowi obcego. Nadal działa absorpcja.": "Jeder direkte Treffer verursacht gleichzeitig vollen Schild- und Rumpfschaden. Absorption gilt weiterhin.", + "Każdy orb jest jednorazowy i znika po użyciu. Kolejny awans wymaga kolejnej sztuki. Efekty tego samego orba nie sumują się. Orby typu obrażeń zastępują się. Replika trafia do magazynu.": "Orbs werden beim Benutzen verbraucht. Jede Aufwertung benötigt einen weiteren Orb. Gleiche Effekte sind nicht kumulativ. Schadenstyp-Orbs ersetzen einander. Repliken kommen ins Lager.", + "Każdy punkt: +1 punkt procentowy szansy na trafienie krytyczne. Maksymalnie +20 przy 20 punktach.": "Pro Punkt: +1 Prozentpunkt kritische Trefferchance. Maximal +20 bei 20 Punkten.", + "Każdy punkt: +2% obrażeń wszystkich broni. Maksymalnie +40% przy 20 punktach.": "Pro Punkt: +2% Schaden aller Waffen. Maximal +40% bei 20 Punkten.", + "Każdy strzał / impuls losuje obrażenia z tego zakresu.": "Jeder Schuss/Impuls würfelt Schaden aus diesem Bereich.", + "Każdy strzał ma 1% szansy wyłączyć na 5 sekund losowy system obcego: silnik, broń lub tarcze. Czerwona ikona nad wrogiem wskazuje wyłączony system. Obrażenia okresowe nie losują ponownie.": "Jeder Schuss hat 1% Chance, 5 s lang ein zufälliges Aliensystem auszuschalten: Antrieb, Waffe oder Schilde. Rotes Symbol zeigt das System. Periodischer Schaden würfelt nicht erneut.", + "Każdy zebrany odłamek asteroidy odnawia %.1f%% maksymalnych tarcz i energii.": "Jeder gesammelte Asteroidensplitter stellt %.1f%% der maximalen Schilde und Energie wieder her.", + "Kliknij, aby otworzyć ekwipunek kapitana": "Klicken, um Kapitänsausrüstung zu öffnen", + "Kliknij, aby wytworzyć": "Zum Herstellen klicken", + "Kliknięcie rozstawia autonomiczne działko lewitujące w miejscu. Koszt: dokładnie 50 amunicji, która trafia do jego magazynka. Działko samodzielnie celuje i oddaje 50 strzałów; potem znika. Obrażenia każdego pocisku są o 50% niższe niż działka maszynowego z takimi samymi parametrami. Nie zużywa dalszej amunicji statku. Znika przy dokowaniu lub zniszczeniu statku.": "Platziert ein autonomes Geschütz. Kosten: genau 50 Munition für sein Magazin. Es zielt automatisch und verschwindet nach 50 Schüssen. Jeder Schuss verursacht 50% weniger Schaden als eine gleichwertige Maschinenkanone. Keine weitere Schiffsmunition. Verschwindet beim Andocken oder bei Schiffszerstörung.", + "Kolekcjoner minerałów": "Mineraliensammler", + "Kontynuuj wyprawę": "Expedition fortsetzen", + "Kontynuuj wyprawę [E]": "Expedition fortsetzen [E]", + "Korytarz rozszerza się w chłodną grotę. Na wapiennych ścianach widać kolejne skupiska nieznanych form życia.": "Der Gang öffnet sich zu einer kühlen Höhle mit unbekannten Lebensformen an den Wänden.", + "Korzenie rozsunęły kamienie przy wejściu. Za progiem spoczywa porzucone urządzenie, pokryte pyłem minionych wieków.": "Wurzeln haben den Eingang freigelegt. Dahinter liegt ein uraltes verstaubtes Gerät.", + "Koszt każdej technologii w tym rzędzie: %d próbek.": "Kosten jeder Technologie dieser Reihe: %d Proben.", + "Koszt: %d próbek": "Kosten: %d Proben", + "Koszt: 10 kryształów × poziom przedmiotu. Gotowe maksima nie pobierają opłaty.": "Kosten: 10 Kristalle × Gegenstandsstufe. Maximierte Werte kosten nichts.", + "Kredyty: %d": "Credits: %d", + "Kredyty: %d · części: %d\nWydatki pobierane są od razu. Nowe nagrody zachowasz po bezpiecznym powrocie.": "Credits: %d · Teile: %d\nAusgaben sofort; neue Belohnungen bleiben nach sicherer Rückkehr.", + "Kryształy czasu": "Zeitkristalle", + "Kryształy czasu: %d": "Zeitkristalle: %d", + "Kup 1 rakietę za %d kredytów.": "1 Rakete für %d Credits kaufen.", + "Kup 10 pocisków radiacyjnych za %d kredytów.": "10 Strahlungsgeschosse für %d Credits kaufen.", + "Kup 100 zwykłych pocisków za %d kredytów.": "100 normale Geschosse für %d Credits kaufen.", + "Kup amunicję do działka maszynowego.": "Munition für Maschinenkanone kaufen.", + "Kup kontener · zawartość nieznana": "Container kaufen · Inhalt unbekannt", + "Kup zestaw surowców": "Rohstoffpaket kaufen", + "LEĆ": "STARTEN", + "LEĆ DO UKŁADU": "ZUM SYSTEM FLIEGEN", + "Laser pulsacyjny": "Pulslaser", + "Laser radiacyjny": "Strahlungslaser", + "Laser wiązkowy": "Strahllaser", + "Losowanie zakresu obrażeń broni (poziom 1)": "Waffenschadensbereich (Stufe 1)", + "Losuje przedmiot i addony dla poziomu aktualnego układu.": "Würfelt Gegenstand und Attribute für die aktuelle Systemstufe.", + "Lot: poziom × 1000 deuteru. Powrót bezpłatny. Mapa zużywa się przy wylocie. Każdy sektor można odwiedzić tylko raz.": "Flug: Stufe × 1000 Deuterium. Rückkehr kostenlos. Karte beim Start verbraucht. Jeder Sektor nur einmal besuchbar.", + "LĄDOWNIK ZNISZCZONY · Utracono łup bieżącej wyprawy.": "LANDEMODUL ZERSTÖRT · Aktuelle Expeditionsbeute verloren.", + "LĄDOWNIK ZNISZCZONY — utracono łup wyprawy": "LANDEMODUL ZERSTÖRT — Expeditionsbeute verloren", + "Lądownik %d / 100 HP · Energia %d%%": "Landemodul %d / 100 HP · Energie %d%%", + "Lądownik wymaga naprawy do 100% we frachtowcu.": "Landemodul muss im Frachter auf 100% repariert werden.", + "Lądownik · %d%%": "Landemodul · %d%%", + "MAGAZYN / ZASOBY I WYPOSAŻENIE": "LAGER / RESSOURCEN UND AUSRÜSTUNG", + "MAKSYMALIZUJ · %d KRYSZTAŁÓW": "MAXIMIEREN · %d KRISTALLE", + "MODUŁY / Kliknij ikonę, aby przenieść przedmiot": "MODULE / Symbol zum Übertragen anklicken", + "MODUŁY STATKU": "SCHIFFSMODULE", + "MYŚLIWIEC • SZYBKOŚĆ": "JÄGER • TEMPO", + "Ma 50%% szans na przejęcie uciekającego wroga (poniżej 10%% kadłuba). Jedna próba na statek; losowanie następuje, gdy jest wolne miejsce na przejęcie. Zamiast uciekać atakują swoich dawnych sojuszników. Bossowie są odporni na wirusa. Wrogowie atakują zawirusowane statki, gdy gracza nie ma w pobliżu. Nadal możesz uszkodzić i zniszczyć je własną bronią. Limit jednocześnie kontrolowanych: %d.": "50%% Chance, fliehende Gegner unter 10%% Rumpf zu übernehmen. Ein Versuch pro Schiff bei freiem Kontrollplatz. Sie greifen frühere Verbündete an. Bosse sind immun. Gegner greifen infizierte Schiffe an, wenn du fern bist. Du kannst sie weiterhin beschädigen. Kontrolllimit: %d.", + "Magazyn jest pełny — zwolnij miejsce.": "Lager voll — Platz schaffen.", + "Magazyn pełny — zwolnij miejsce.": "Lager voll — Platz schaffen.", + "Malejące korzyści: 37,5% × punkty / (punkty + 10). Maksymalnie 25% uniku przy 20 punktach. Unik anuluje całe trafienie.": "Abnehmender Nutzen: 37,5% × Punkte / (Punkte + 10). Maximal 25% Ausweichen bei 20 Punkten. Verhindert den gesamten Treffer.", + "Malejące korzyści: 50% × punkty / (punkty + 10). Maksymalnie 33,3% redukcji przy 20 punktach, przed tarczami i kadłubem.": "Abnehmender Nutzen: 50% × Punkte / (Punkte + 10). Maximal 33,3% Schadensreduktion bei 20 Punkten, vor Schilden und Rumpf.", + "Manewr wyprzedzający": "Ausweichmanöver", + "Mapa odległych systemów · poz. %d": "Karte ferner Systeme · Stufe %d", + "Mapa z tej wizyty została kupiona. Wróć po kolejnym lądowaniu po nową ofertę.": "Karte bereits gekauft. Nach neuer Landung gibt es ein neues Angebot.", + "Mapa została już kupiona lub brakuje kredytów.": "Karte bereits gekauft oder zu wenige Credits.", + "Mapa: %d kredytów\nPaliwo na lot: %d deuteru\nPosiadasz: %d kredytów": "Karte: %d Credits\nTreibstoff: %d Deuterium\nVorhanden: %d Credits", + "Miedź": "Kupfer", + "Miejsce na przyszłe badanie.": "Platz für zukünftige Forschung.", + "Między pustymi domami zarosła dawna ścieżka. W pozostawionych schowkach mogą jeszcze leżeć drobne oszczędności.": "Ein überwachsener Pfad führt zwischen leeren Häusern zu alten Verstecken mit möglichen Ersparnissen.", + "Mnożnik krytyka": "Kritischer Multiplikator", + "Moduł": "Modul", + "Mokradła": "Sumpfland", + "Może później": "Vielleicht später", + "Możesz wybrać tylko jedną ofertę.": "Du kannst nur ein Angebot wählen.", + "NAJEDŹ NA IKONĘ, ABY ZOBACZYĆ KOSZT": "SYMBOL FÜR KOSTEN ANZEIGEN", + "NAWIGACJA / ODKRYTE UKŁADY": "NAVIGATION / ENTDECKTE SYSTEME", + "NAWIGACJA / PLACÓWKI": "NAVIGATION / AUSSENPOSTEN", + "NAŁÓŻ ORB": "ORB ANWENDEN", + "NIEPOWODZENIE · utrata %d HP. Wcześniejszy łup pozostaje w ładowni.": "FEHLSCHLAG · %d HP verloren. Frühere Beute bleibt im Frachtraum.", + "NIEZNANY UKŁAD. TWOJA WYPRAWA.": "UNBEKANNTES SYSTEM. DEINE EXPEDITION.", + "NISKI KADŁUB — %d%%": "RUMPF KRITISCH — %d%%", + "NOWA UMIEJĘTNOŚĆ": "NEUE FÄHIGKEIT", + "Na skraju polany stoi warsztat na szerokich gąsienicach. Mechanik odbiera sygnał z twojego lądownika i po chwili przesyła listę uszkodzeń. Ma części wystarczające na jedną szybką naprawę. Podaje cenę oraz dokładny zakres prac, po czym uruchamia spawarkę i czeka na odpowiedź.": "Ein mobiler Mechaniker bietet eine schnelle Reparatur an. Er übermittelt Preis und Arbeitsumfang und wartet auf deine Antwort.", + "Na stole ocalały dzienniki mieszkańców. Ich notatki mogą nauczyć cię, jak przetrwać na tej planecie.": "Erhaltene Tagebücher könnten dir zeigen, wie man auf diesem Planeten überlebt.", + "Nad małym obozem zbiera się burza, a jego transport ewakuacyjny stoi z rozebranym silnikiem. Pierwsza grupa ludzi czeka już przy awaryjnym schronieniu. Dalej pozostali pracownicy zabezpieczający sprzęt i ranni, których trudniej przenieść. Koordynator może zapłacić za każdy ukończony etap pomocy, ale z każdą minutą warunki będą gorsze.": "Ein Sturm bedroht ein Lager mit defektem Evakuierungstransporter. Du kannst erst Menschen am Schutzraum, dann Arbeiter und Verwundete retten. Jeder abgeschlossene Schritt wird bezahlt, doch die Bedingungen verschlechtern sich.", + "Najedź na nazwę przedmiotu, aby zobaczyć wszystkie addony i parametry.": "Gegenstandsnamen für alle Attribute und Werte anzeigen.", + "Napraw do 100%% · koszt %d części. Pełny kadłub wymagany do lądowania.": "Auf 100%% reparieren · Kosten %d Teile. Volle Hülle für Landung erforderlich.", + "Napraw lądownik: +%d HP": "Landemodul reparieren: +%d HP", + "Naprawiają tyle kadłuba, ile pozwalają części i brakujące punkty. Koszt: 1 część za 1 punkt kadłuba. Nie zużywają energii.": "Repariert so viel Rumpf wie Teile und fehlende HP erlauben. Kosten: 1 Teil pro HP. Keine Energie.", + "Naprawiono lądownik: +%d HP.": "Landemodul repariert: +%d HP.", + "Naprowadzana rakieta z małym uderzeniem. Zostawia płonący gaz na 5 s w promieniu 95 px: 110% obrażeń uderzenia na sekundę, kinetyczne. Nakładające się chmury nie sumują obrażeń.": "Lenkrakete mit kleinem Einschlag. Hinterlässt 5 s brennendes Gas mit 95 px Radius: 110% Einschlagschaden/s, kinetisch. Wolken sind nicht kumulativ.", + "Natychmiast naprawia %d%% maksymalnego kadłuba za 1 część. Wymaga uszkodzonego statku i aktywnego lotu.": "Repariert sofort %d%% des maximalen Rumpfs für 1 Teil. Benötigt beschädigtes Schiff und aktiven Flug.", + "Nie masz jeszcze umiejętności. To początek Twojej specjalizacji.": "Noch keine Fähigkeiten. Deine Spezialisierung beginnt hier.", + "Nie można zbudować placówki. Sprawdź liczbę części.": "Außenposten kann nicht gebaut werden. Teile prüfen.", + "Nie udało się otworzyć menu: %s": "Menü konnte nicht geöffnet werden: %s", + "Nie udało się przenieść do układu: %s": "Systemwechsel fehlgeschlagen: %s", + "Niweluje obrażenia tego typu przed tarczą i pancerzem. Łączny limit statku: 60%.": "Reduziert diesen Schaden vor Schilden und Panzerung. Gesamtlimit: 60%.", + "Nowe badania w laboratorium trwają o %d%% krócej. Premie rang nie sumują się.": "Neue Laborforschung ist %d%% schneller. Rangboni sind nicht kumulativ.", + "Nowe układy odblokujesz, przechodząc dalej przez tunel po pokonaniu przeciwników.": "Neue Systeme werden durch den Tunnel nach dem Sieg über Gegner freigeschaltet.", + "Nowy poziom": "Neue Stufe", + "O %d%% więcej kredytów za pokonanych wrogów. Premia obejmuje kredyty do zebrania po walce. Premie rang nie sumują się.": "%d%% mehr Credits für besiegte Gegner. Gilt auch für aufzusammelnde Credits. Rangboni sind nicht kumulativ.", + "OBÓZ SPECJALISTY / REKRUTACJA": "SPEZIALISTENLAGER / REKRUTIERUNG", + "ODCZYT PARAMETRÓW": "PARAMETERANZEIGE", + "ODCZYT: części zamienne. Ilość nieznana.": "SCAN: Ersatzteile. Menge unbekannt.", + "ODCZYT: podzespół statku. Poziomu i parametrów nie udało się ustalić.": "SCAN: Schiffskomponente. Stufe und Werte unbekannt.", + "ODCZYT: próbki mineralne. Dokładny skład i ilość nieznane.": "SCAN: Mineralproben. Zusammensetzung und Menge unbekannt.", + "ODKRYTE · DOSTĘPNE W ŁUPACH": "ERFORSCHT · IN BEUTE VERFÜGBAR", + "ODLEGŁY SEKTOR": "FERNER SEKTOR", + "ODŁÓŻ DO PLECAKA": "IN DEN RUCKSACK LEGEN", + "ODŁÓŻ →": "ABLEGEN →", + "OSTATNI UKŁAD": "LETZTES SYSTEM", + "OSŁONA %.0f / %.0f": "SCHILD %.0f / %.0f", + "OTWÓRZ WORMHOLE": "WURMLOCH ÖFFNEN", + "Obcy trafiający twoją aktywną tarczę otrzymuje wyładowanie równe 20% obrażeń faktycznie pochłoniętych przez osłonę. Bez kolejnych efektów trafienia.": "Ein Alien, das deinen aktiven Schild trifft, erhält 20% des tatsächlich absorbierten Schadens als Entladung. Keine weiteren Treffereffekte.", + "Obok niewielkiej instalacji wydobywczej stoi łazik załadowany po same osie. Jego operator od tygodni wydobywa ten sam minerał, ale zabrakło mu materiałów do naprawy urządzeń. Proponuje wymianę części swojego zapasu na surowce z twojej ładowni. Przesyła dokładny wykaz towarów.": "Ein Bergbaurover ist mit Mineralien beladen. Sein Betreiber benötigt Reparaturmaterial und bietet einen Teil seiner Vorräte im Tausch gegen deine Ressourcen an. Die genaue Warenliste liegt vor.", + "Obrażenia": "Schaden", + "Obrażenia broni": "Waffenschaden", + "Obrażenia dronów bojowych większe o %d%%. Premie rang nie sumują się.": "Kampfdrohnen verursachen %d%% mehr Schaden. Rangboni sind nicht kumulativ.", + "Obrażenia kadłubów obcych": "Schaden gegen Alienrümpfe", + "Obrażenia krytyczne": "Kritischer Schaden", + "Obrażenia tarcz obcych": "Schaden gegen Alienschilde", + "Obrażenia trafienia": "Trefferschaden", + "Obrażenia z addonów": "Attributschaden", + "Obrażenia: %s": "Schaden: %s", + "Obóz specjalisty": "Spezialistenlager", + "Odbierz do ładowni statku. Przedmioty bez miejsca pozostają na fregacie.": "In den Schiffsfrachtraum übernehmen. Gegenstände ohne Platz bleiben auf der Fregatte.", + "Odblokuj 1 slot ładowni w hangarze: 100 żelaza + 50 aluminium.": "1 Frachtplatz im Hangar freischalten: 100 Eisen + 50 Aluminium.", + "Odległy sektor %03d": "Ferner Sektor %03d", + "Odstęp między strzałami": "Schussintervall", + "Odstęp rozstawiania": "Aufstellintervall", + "Odstęp strzałów działka": "Geschütz-Schussintervall", + "Odstęp strzałów działka: %.2f s • Kolejne rozstawienie: %.2f s": "Geschützintervall: %.2f s • Nächste Aufstellung: %.2f s", + "Odstęp strzałów: %.2f s": "Schussintervall: %.2f s", + "Odwrócona polaryzacja": "Umgekehrte Polarität", + "Odzysk tarcz z obrażeń": "Schildrückgewinnung durch Schaden", + "Odzyskane moduły · %d": "Geborgene Module · %d", + "Odłóż wszystko →": "Alles ablegen →", + "Odłóż wyposażenie kapitana": "Kapitänsausrüstung ablegen", + "Ogólna wiedza": "Allgemeinwissen", + "Opady śniegu": "Schneefall", + "Orb elektryczności": "Elektrizitätsorb", + "Orb silników atomowych": "Atomantriebsorb", + "Osiągnięto limit.": "Limit erreicht.", + "Ostatnie zapasy ukryto pod zawaloną częścią budynku. Belki skrzypią przy każdym kroku.": "Vorräte liegen unter einem eingestürzten Gebäudeteil. Balken knarren bei jedem Schritt.", + "Oszczędny laser wiązkowy: małe obrażenia i zasięg około jednego ekranu. Koszt impulsu rośnie z obrażeniami i addonami egzemplarza.": "Sparsamer Strahllaser: geringer Schaden, Reichweite etwa ein Bildschirm. Impulskosten steigen mit Schaden und Attributen.", + "Oszczędny magazynek": "Effizientes Magazin", + "Osłabienie broni obcych": "Alienwaffen schwächen", + "Otwórz przeskanowaną skrytkę": "Gescannte Kiste öffnen", + "Otwórz statek i sloty wyposażenia": "Schiff und Ausrüstungsslots öffnen", + "PANCERZ": "PANZERUNG", + "PANCERZ REAKTYWNY": "REAKTIVE PANZERUNG", + "POKÓJ 01": "KABINE 01", + "POKÓJ 02": "KABINE 02", + "POKÓJ 03": "KABINE 03", + "POKÓJ 04": "KABINE 04", + "POKÓJ 05": "KABINE 05", + "POSIADANE UMIEJĘTNOŚCI": "ERLERNTE FÄHIGKEITEN", + "POWRÓT NA STATEK [L]": "ZUM SCHIFF ZURÜCK [L]", + "POWRÓT Z WYPRAWY": "VON EXPEDITION ZURÜCKKEHREN", + "POWRÓT Z WYPRAWY · ": "EXPEDITIONSRÜCKKEHR · ", + "POZIOM %d": "STUFE %d", + "POZIOM %s / III · %s": "STUFE %s / III · %s", + "PROJEKTY BRONI I ROZSZERZEŃ": "WAFFEN- UND ERWEITERUNGSENTWÜRFE", + "PRZEJDŹ DO HARD": "ZU HARD WECHSELN", + "PRÓBKI / %d": "PROBEN / %d", + "PRĘDKOŚĆ: %.0f": "TEMPO: %.0f", + "Pancerz reaktywny": "Reaktive Panzerung", + "Pancerz z tytanu": "Titanpanzerung", + "Parametry statku, uzbrojenie, pancerz i systemy": "Schiffswerte, Bewaffnung, Panzerung und Systeme", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Przy niskim kadłubie pochłania 50% otrzymywanych obrażeń.": "Passive Erweiterung. Wirkt eingebaut. Absorbiert bei niedrigem Rumpf 50% des Schadens.", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Uciekający wrogowie przechodzą pod kontrolę wirusa i atakują inne wrogie statki.": "Passive Erweiterung. Infizierte fliehende Gegner greifen andere Feinde an.", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Zebrany odłamek asteroidy przywraca tarcze i energię.": "Passive Erweiterung. Gesammelte Asteroidensplitter regenerieren Schilde und Energie.", + "Pasywny moduł prędkości. Na poziomie 1 bonus wynosi 1–5 px/s i rośnie wraz z poziomem przedmiotu.": "Passives Geschwindigkeitsmodul. Stufe 1: 1–5 px/s Bonus; steigt mit Gegenstandsstufe.", + "Pewna wypłata albo ryzyko": "Sichere Bezahlung oder Risiko", + "Pełne zachmurzenie": "Bedeckter Himmel", + "Pierwsze trafienie sięgające kadłuba po utracie tarcz zadaje kadłubowi o 70% mniej obrażeń. Odnowienie: 15 s aktywnego lotu.": "Erster Rumpftreffer nach Schildverlust verursacht 70% weniger Rumpfschaden. Abklingzeit: 15 s aktiver Flug.", + "Pierwsze trafienie w aktywną tarczę zadaje tylko 10% obrażeń. Odnowienie: 60 s. Redukcja obejmuje też przebicie tego trafienia na kadłub.": "Erster Treffer auf aktive Schilde verursacht nur 10% Schaden, einschließlich Rumpfdurchschlag. Abklingzeit: 60 s.", + "Pierwszy cel: pokonaj wrogów → pokonaj bossa → znajdź zamieszkaną planetę.": "Erstes Ziel: Gegner besiegen → Boss besiegen → bewohnten Planeten finden.", + "Pilotaż": "Steuerung", + "Placówka gotowa. Przydziel operatora w centrum dowodzenia.": "Außenposten bereit. Operator im Kommandozentrum zuweisen.", + "Placówka górnicza": "Bergbauaußenposten", + "Placówka zbudowana · %.1f deuteru/min": "Außenposten gebaut · %.1f Deuterium/min", + "Placówka: ": "Außenposten: ", + "Po uszkodzeniu kadłuba pocisk lub laser przebija jeden dodatkowy cel za 50% obrażeń. Rakieta wypuszcza dodatkowy pocisk penetrujący bez kolejnej eksplozji. Bez łańcuchowych przestrzałów i dodatkowego kosztu strzału.": "Nach Rumpfschaden durchdringt Projektil oder Laser ein weiteres Ziel mit 50% Schaden. Raketen erzeugen ein durchschlagendes Geschoss ohne weitere Explosion. Keine Ketten und keine zusätzlichen Kosten.", + "Po zbiciu tarcz natychmiast odzyskujesz 25% ich maksimum. Przez 2 s obrażenia kierowane w tarczę są zmniejszone o 50%. Odnowienie: 30 s. Nie sumuje redukcji z Rozproszeniem salwy; działa silniejsza. Dokowanie nie resetuje odnowienia.": "Bei Schildverlust sofort 25% wiederherstellen. 2 s lang 50% weniger Schildschaden. Abklingzeit: 30 s. Mit Salvenstreuung gilt nur der stärkere Effekt. Andocken setzt die Abklingzeit nicht zurück.", + "Pochłania 50%% otrzymywanych obrażeń, gdy kadłub ma nie więcej niż %d%% maksimum. Próg sprawdzany przed trafieniem.": "Absorbiert 50%% Schaden bei höchstens %d%% Rumpf. Schwelle wird vor dem Treffer geprüft.", + "Pociski do działka maszynowego. Obrażenia kinetyczne.": "Maschinenkanonenmunition. Kinetischer Schaden.", + "Pociski, rakiety i lasery obcych mogą trafiać także innych wrogich obcych. Trafienie własnego statku strzelca jest wykluczone.": "Aliengeschosse, Raketen und Laser können auch andere Aliens treffen, aber nicht das Schiff des Schützen.", + "Pod cienką warstwą gruntu żyła schodzi głębiej. Odwiert odsłoni bogatszy pokład, jeśli skała pozostanie stabilna.": "Die Ader reicht tiefer. Eine Bohrung könnte reichere Schichten freilegen, wenn das Gestein stabil bleibt.", + "Pod zapadniętą podłogą kryje się sejf osady. Dotarcie do niego wymaga wejścia pod niestabilne stropy.": "Unter dem eingestürzten Boden liegt der Siedlungssafe. Der Weg führt unter instabile Decken.", + "Pokonaj wszystkich wrogów": "Alle Gegner besiegen", + "Pokój załogi z łóżkiem, biurkiem i miejscem na rzeczy osobiste.": "Besatzungskabine mit Bett, Schreibtisch und Stauraum.", + "Pomieszczenie jest wyposażone. Jego mechanika zostanie dodana w kolejnym etapie.": "Raum eingerichtet. Seine Funktion folgt später.", + "Powerbank przywraca %d%% maksymalnej energii zamiast 10%%. Umiejętność pasywna; premie rang nie sumują się.": "Energiebank stellt %d%% statt 10%% maximaler Energie wieder her. Passiv; Rangboni sind nicht kumulativ.", + "Poziom %d": "Stufe %d", + "Pozostałe wybory po tym awansie: %d": "Verbleibende Entscheidungen für diesen Aufstieg: %d", + "Pozostało": "Verbleibend", + "Pozostało: %d s gry": "Verbleibend: %d Spielsekunden", + "Premia biomu: materiały ×%.1f · moduły +%d…+%d poz.\nLiczba amunicji i rakiet nie wzrasta.": "Biombonus: Materialien ×%.1f · Module +%d…+%d Stufen\nMunition und Raketen unverändert.", + "Premia do doświadczenia": "Erfahrungsbonus", + "Premia do kredytów": "Creditbonus", + "Premia do obrażeń": "Schadensbonus", + "Premia ze sprzętu: do +100%. Umiejętności kapitana działają osobno.": "Ausrüstungsbonus: bis +100%. Kapitänsfähigkeiten wirken separat.", + "Produkcja zwykłej i radiacyjnej amunicji daje o %d%% więcej sztuk za ten sam koszt. Nie dotyczy rakiet. Premie rang nie sumują się.": "Herstellung normaler und Strahlungsmunition liefert %d%% mehr zum gleichen Preis. Keine Raketen. Rangboni sind nicht kumulativ.", + "Przeciągnij, aby przesunąć okno": "Ziehen, um das Fenster zu bewegen", + "Przeciążenie osłon": "Schildüberlastung", + "Przeciążenie reaktora": "Reaktorüberlastung", + "Przejaśnienia": "Auflockerungen", + "Przeniesiono %d przedmiotów.": "%d Gegenstände übertragen.", + "Przenieś rannych": "Verwundete transportieren", + "Przestrzał": "Durchschuss", + "Przez 10 s statek staje się niemal niewidoczny. Przeciwnicy nie wykrywają go ani nie śledzą. Oddanie strzału przerywa kamuflaż. Nie zapewnia odporności na już wystrzelone pociski. Odnowienie: 60 s.": "10 s fast unsichtbar. Gegner erkennen und verfolgen dich nicht. Schießen beendet die Tarnung. Bereits abgefeuerte Geschosse bleiben gefährlich. Abklingzeit: 60 s.", + "Przy zakurzonym transporterze miga przenośny nadajnik. Właściciel przedstawia się jako niezależny dostawca, choć oznaczenia na skrzyniach należą do kilku różnych firm. Twierdzi, że kończy interesy na tej planecie i woli sprzedać zapasy taniej, niż zabierać je z powrotem na orbitę.": "Ein unabhängiger Lieferant verkauft seine letzten Vorräte günstig, statt sie zurück in den Orbit zu bringen. Seine Kisten tragen Zeichen verschiedener Firmen.", + "Przydziel załoganta w centrum dowodzenia fregaty. Deuter trafia automatycznie do magazynu, również gdy jesteś poza tą planetą.": "Besatzung im Fregatten-Kommandozentrum zuweisen. Deuterium wird automatisch geliefert, auch wenn du den Planeten verlässt.", + "Przygotowana dla jednego załoganta. Specjalistów możesz zatrudniać na planetach.": "Für ein Besatzungsmitglied. Spezialisten können auf Planeten rekrutiert werden.", + "Przypisz umiejętność do slotu F1–F5 w panelu kapitana": "Fähigkeit im Kapitänsfenster einem F1–F5-Slot zuweisen", + "Przywraca 100 punktów tarcz, do ich maksimum. Wymaga i zużywa 100% energii.": "Stellt bis zu 100 Schildpunkte wieder her. Benötigt und verbraucht 100% Energie.", + "Przywracają 10% maksymalnej energii. Użyj klawiszem R.": "Stellt 10% maximaler Energie wieder her. Taste R.", + "Próbki do analizy": "Analyseproben", + "Prędkość": "Tempo", + "Prędkość aktualna": "Aktuelles Tempo", + "Prędkość lecącej wiązki: %.0f px/s": "Strahlgeschwindigkeit: %.0f px/s", + "Prędkość maksymalna": "Höchstgeschwindigkeit", + "Prędkość obrotu": "Drehgeschwindigkeit", + "Prędkość statku": "Schiffsgeschwindigkeit", + "Pusty slot\nMiejsce na przyszłe badanie.": "Leerer Slot\nPlatz für zukünftige Forschung.", + "Pęknięcie poszycia": "Rumpfriss", + "Płatny skan skrytki": "Kostenpflichtiger Kistenscan", + "RAKIETY": "RAKETEN", + "RANDOLOOT / EKSPLORUJ • WALCZ • ROZWIJAJ STATEK": "RANDOLOOT / ERKUNDEN • KÄMPFEN • SCHIFF AUSBAUEN", + "REAKTOR": "REAKTOR", + "RESET SKILLI — 100 KREDYTÓW": "FÄHIGKEITEN ZURÜCKSETZEN — 100 CREDITS", + "REZERWA KONDENSATORÓW": "KONDENSATORRESERVE", + "Radiacyjna kula. Napromieniowanie: 10 s, 25% obrażeń trafienia/s. Kolejne trafienia odświeżają czas. Zużywa napromieniowaną amunicję.": "Strahlungskugel. Verstrahlung: 10 s, 25% Trefferschaden/s. Weitere Treffer erneuern die Dauer. Verbraucht Strahlungsmunition.", + "Rakieta": "Rakete", + "Redukcja obrażeń": "Schadensreduktion", + "Regały, pojemniki i stanowiska do przechowywania modułów.": "Regale, Behälter und Modul-Lagerplätze.", + "Regeneracja energii +%d%% przez 7 sekund. Zużywa wszystkie tarcze i blokuje ich odzysk na czas działania. Wymaga min. 25%% tarcz.": "Energieregeneration +%d%% für 7 s. Verbraucht alle Schilde und verhindert ihre Regeneration währenddessen. Mindestens 25%% Schilde erforderlich.", + "Rekrutacja: %d kredytów · posiadasz: %d": "Rekrutierung: %d Credits · vorhanden: %d", + "Rezerwa kondensatorów": "Kondensatorreserve", + "Rozbity przekaźnik": "Zerstörtes Relais", + "Rozłóż przedmiot: +10 części": "Gegenstand zerlegen: +10 Teile", + "Rtęć": "Quecksilber", + "SIEĆ WYDOBYWCZA": "BERGBAUNETZWERK", + "SILNIK": "TRIEBWERK", + "SKŁAD MODUŁÓW W REMONCIE": "MODULLAGER IM UMBAU", + "SPACJA — pomiń intro": "LEERTASTE — Intro überspringen", + "SPRZĘT KAPITANA · %d szt. ODZYSKANE MODUŁY · %d": "KAPITÄNSAUSRÜSTUNG · %d Stück GEBORGENE MODULE · %d", + "SPRÓBUJ PONOWNIE [R]": "ERNEUT VERSUCHEN [R]", + "STATEK GRACZA": "SPIELERSCHIFF", + "STATEK ZABEZPIECZONY": "SCHIFF GESICHERT", + "STATEK ZNISZCZONY": "SCHIFF ZERSTÖRT", + "STATEK · %d / %d": "SCHIFF · %d / %d", + "STATEK · PASYWNE": "SCHIFF · PASSIV", + "STAŁY EFEKT": "DAUERHAFTER EFFEKT", + "SYSTEMY I MODUŁY": "SYSTEME UND MODULE", + "SYSTEMY POKŁADOWE": "BORDSYSTEME", + "Sektory poza znanymi szlakami. Podwójna liczba wrogów, jeden boss. Kryształy czasu z każdego wroga. Zwykli wrogowie: mapy i powerbanki po 15%. Boss zawsze zostawia 1 mapę i 1 losowy orb, a dodatkowo ma 5% szansy na Orb replikacji.": "Ferne Sektoren: doppelte Gegnerzahl, ein Boss. Jeder Gegner gibt Zeitkristalle. Normale Gegner: je 15% Karten und Energiebanken. Boss: immer eine Karte und ein zufälliger Orb, zusätzlich 5% Replikationsorb.", + "Skaliste wyżyny": "Felsiges Hochland", + "Skan ujawni rodzaj zawartości, ale nie jej ilość ani stan. Otwarcie wymaga osobnej opłaty.": "Scan zeigt Inhaltstyp, nicht Menge oder Zustand. Öffnen kostet extra.", + "Skan zakończony. Możesz opłacić otwarcie lub wrócić później.": "Scan abgeschlossen. Öffnung bezahlen oder später zurückkehren.", + "Skrócenie cooldownu rakiet": "Raketenabklingzeitverkürzung", + "Spadek kadłuba z co najmniej 30% poniżej tego progu uruchamia naprawę 15% maksymalnego kadłuba przez 5 s. Odnowienie: 45 s. Trafienia nie przerywają naprawy.": "Fällt der Rumpf von mindestens 30% darunter, regeneriert er in 5 s 15% des Maximums. Abklingzeit: 45 s. Treffer unterbrechen nicht.", + "Spadek tarcz z co najmniej 30% poniżej tego progu zmniejsza koszt energii broni o 50% przez 2 s. Odnowienie: 15 s.": "Fallen Schilde von mindestens 30% darunter, sinken Waffenenergiekosten 2 s lang um 50%. Abklingzeit: 15 s.", + "Specjalista z obozu szuka pracy. Obejrzyj umiejętności i zdecyduj — możesz wrócić później. Koszt zatrudnienia: 1000 kredytów × zarządzanie.": "Ein Spezialist sucht Arbeit. Prüfe seine Fähigkeiten; du kannst später zurückkehren. Kosten: 1000 Credits × Verwaltung.", + "Specjalista został już zatrudniony.": "Spezialist bereits rekrutiert.", + "Spotkanie zakończone. Nagrody w ładowni wyprawy przepadną po zniszczeniu lądownika.": "Begegnung beendet. Belohnungen im Expeditionsfrachtraum gehen bei Landemodulzerstörung verloren.", + "Sprzedaj próbki": "Proben verkaufen", + "Sprzęt: do +100% mnożnika bazowego, maksymalnie ×4.": "Ausrüstung: bis +100% Basismultiplikator, maximal ×4.", + "Sprzęt: do 15% pojemności generatora/s. Ładowanie przy gwieździe i czasowe umiejętności dodają osobne premie.": "Ausrüstung: bis 15% Generatorkapazität/s. Sternaufladung und zeitweilige Fähigkeiten wirken zusätzlich.", + "Sprzęt: do 40%. Łącznie z umiejętnościami: do 60%.": "Ausrüstung: bis 40%. Mit Fähigkeiten insgesamt bis 60%.", + "Stanowiska analityczne, aparatura i stół do doświadczeń.": "Analysestationen, Geräte und Experimentiertisch.", + "Starożytna struktura": "Antike Struktur", + "Start": "Start", + "Statek i kapitan": "Schiff und Kapitän", + "Statek jest zniszczony": "Schiff ist zerstört", + "Statek niedostępny": "Schiff nicht verfügbar", + "Strzał w 10": "Volltreffer", + "Sukces: %.2f%% · w razie porażki: −%d–%d HP\nSzansa uwzględnia warunki planety i sprzęt kapitana.": "Erfolg: %.2f%% · Fehlschlag: −%d–%d HP\nChance berücksichtigt Planet und Kapitänsausrüstung.", + "Sygnał prowadzi do samotnego badacza pochylonego nad analizatorem próbek. Na widok twojego spisu ładunku nagle przerywa rozmowę. Jednego z przewożonych przez ciebie surowców potrzebuje do ukończenia badań. Ma środki z kończącego się grantu i jest gotów zapłacić więcej niż zwykły skup.": "Ein einsamer Forscher braucht dringend einen deiner Rohstoffe, um seine Studien abzuschließen. Sein Restbudget erlaubt ihm, mehr als den üblichen Preis zu zahlen.", + "Szansa szczęścia": "Glückschance", + "Szansa uniku wynosi %d%% przez 5 sekund. Unik anuluje całe trafienie.": "Ausweichchance %d%% für 5 s. Ausweichen verhindert den gesamten Treffer.", + "Szczęście": "Glück", + "Szczęście (limit 60%)": "Glück (Limit 60%)", + "Szczęście: %d%% szans na przedmiot o 1 poziom wyższy niż bazowy loot planszy. Dotyczy lootu z wrogów i znalezisk. Bazowo: 0%%. Sumuje się ze sprzętem do limitu 60%%. Premie rang nie sumują się.": "Glück: %d%% Chance auf Beute eine Stufe höher. Gilt für Gegner und Funde. Basis: 0%%. Mit Ausrüstung maximal 60%%. Rangboni sind nicht kumulativ.", + "Szerszeń": "Hornisse", + "Szybko rozpędza do 300% zwykłej prędkości (+200%), następnie wytraca nadmiar prędkości. Bez kosztu energii.": "Beschleunigt schnell auf 300% Normaltempo (+200%), danach Abbremsen. Keine Energiekosten.", + "Szybko rozpędza do 300% zwykłej prędkości (+200%), następnie wytraca nadmiar prędkości. Wymaga i zużywa 100% energii.": "Beschleunigt schnell auf 300% Normaltempo (+200%), danach Abbremsen. Benötigt und verbraucht 100% Energie.", + "Szybkostrzelność": "Feuerrate", + "Słaby punkt": "Schwachstelle", + "Słaby sygnał alarmowy dobiega z przewróconego łazika. Jego kierowca żyje, lecz nie może wydostać się z kabiny. Do uniesienia wraku potrzebny jest prowizoryczny podnośnik zbudowany z twoich części. Czujniki ostrzegają, że uszkodzona bateria pojazdu jest niestabilna. Uwięziony obiecuje zapłatę, jeśli pomożesz mu wrócić do obozu.": "Ein Fahrer ist in einem umgestürzten Rover eingeschlossen. Baue aus deinen Teilen einen provisorischen Heber. Die Batterie ist instabil; der Fahrer verspricht eine Belohnung für die Rettung.", + "Ta decyzja jest niedostępna.": "Diese Entscheidung ist nicht verfügbar.", + "Tajemniczy łup: 50% części, 35% minerały, 10% rakiety, 5% moduł. Wartość może być niższa od opłaty.": "Überraschungsbeute: 50% Teile, 35% Mineralien, 10% Raketen, 5% Modul. Wert kann unter dem Preis liegen.", + "Tarcza zewnętrzna": "Zusatzschild", + "Tarcze są pełne": "Schilde vollständig geladen", + "Tarcze wyłączone przez Przekierowanie zasilania": "Schilde durch Energieumleitung deaktiviert", + "Teleportuje w losowe, bezpieczne miejsce systemu. Zużywa całą aktualną energię (wymaga dodatniej energii). Odnowienie: 60 s.": "Teleport zu zufälligem sicheren Systempunkt. Verbraucht alle aktuelle Energie; positive Energie erforderlich. Abklingzeit: 60 s.", + "Ten addon ma już maksymalną wartość lub nie posiada zakresu losowania.": "Attribut bereits maximal oder ohne Würfelbereich.", + "Ten etap ma 0% szans. Obniż zagrożenie odpowiednim wyposażeniem.": "Erfolgschance 0%. Gefahr mit geeigneter Ausrüstung reduzieren.", + "Teoretyczny DPS: uwzględnia krytyki i promieniowanie; przed obroną celu, przy dostępnej energii i amunicji.": "Theoretischer DPS: kritische Treffer und Strahlung, vor Zielverteidigung, bei verfügbarer Energie und Munition.", + "To miejsce zostało już odwiedzone.": "Dieser Ort wurde bereits besucht.", + "To spotkanie jest już niedostępne.": "Diese Begegnung ist nicht mehr verfügbar.", + "Trafienie dowolną bronią razi też obcych do 10 px od obrysu trafionego statku. Promień eksplozji twoich rakiet rośnie o 10 px. Bez łańcuchowych rykoszetów.": "Waffentreffer schädigen auch Aliens bis 10 px vom Zielumriss. Raketenexplosionsradius +10 px. Keine Kettenabpraller.", + "Trafienie tarczy obcego blokuje regenerację na 5 s. Kolejne trafienia odświeżają czas.": "Treffer auf Alienschilde blockieren Regeneration für 5 s. Weitere Treffer erneuern die Dauer.", + "Trwa wyprawa do sektora %d. Użyj przycisku POWRÓT Z WYPRAWY na pokładzie, aby wrócić do układu startowego przed kolejnym lotem.": "Expedition zu Sektor %d aktiv. Vor dem nächsten Flug über die Deck-Schaltfläche zurückkehren.", + "Trwale zmienia typ obrażeń broni na energetyczny (jak laser). Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.": "Ändert Waffenschaden dauerhaft zu Energie. Schaden und Kosten unverändert. Ersetzt vorherigen Schadenstyp-Orb.", + "Trwale zmienia typ obrażeń broni na kinetyczny. Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.": "Ändert Waffenschaden dauerhaft zu kinetisch. Schaden und Kosten unverändert. Ersetzt vorherigen Schadenstyp-Orb.", + "Trwale zmienia typ obrażeń broni na radiacyjny. Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.": "Ändert Waffenschaden dauerhaft zu Strahlung. Schaden und Kosten unverändert. Ersetzt vorherigen Schadenstyp-Orb.", + "Twoja broń zadaje dodatkowe 5% obrażeń kadłubom obcych. Sumuje się z Wiedzą o kadłubie.": "Zusätzlich 5% Waffenschaden gegen Alienrümpfe. Kumulativ mit Rumpfwissen.", + "Twoja broń zadaje o 10% więcej obrażeń kadłubom obcych.": "10% mehr Waffenschaden gegen Alienrümpfe.", + "Twoja broń zadaje o 10% więcej obrażeń tarczom obcych.": "10% mehr Waffenschaden gegen Alienschilde.", + "Tworzy dokładną, niezależną kopię wyposażenia w magazynie frachtowca. Oryginał zostaje. Kopiuje poziom, addony i efekty orbów. Drop: dodatkowe 5% z bossa dalekiej wyprawy.": "Erzeugt eine unabhängige exakte Ausrüstungskopie im Frachterlager. Original bleibt. Kopiert Stufe, Attribute und Orbs. Zusätzliche 5% Dropchance bei Fernexpeditionsbossen.", + "Tylko silnik. Trwale zmniejsza zużycie energii dopalacza TAB o 50%. Nie sumuje się. Orb darmowego dopalacza ma pierwszeństwo.": "Nur Triebwerk. Senkt TAB-Energiekosten dauerhaft um 50%. Nicht kumulativ. Kostenloser Booster-Orb hat Vorrang.", + "Tylko tarcze. Trafienie w tarcze odnawia do 5% maksymalnych tarcz jako energię, nie więcej niż faktycznie stracone tarcze. Tempo odzysku: do 5% pojemności generatora/s, z rezerwą na jedno takie odnowienie. Uniki i trafienia w sam kadłub nie aktywują efektu.": "Nur Schilde. Treffer geben bis 5% maximaler Schilde als Energie zurück, höchstens tatsächlich verlorene Schilde. Limit: 5% Generatorkapazität/s mit Reserve für eine Erholung. Ausweichen und reine Rumpftreffer lösen nichts aus.", + "Typ obrażeń: %s": "Schadenstyp: %s", + "U podnóża góry otwiera się ciemna szczelina. Przy wilgotnych skałach rosną organizmy warte dokładniejszej analizy.": "Eine dunkle Felsspalte am Bergfuß beherbergt Organismen, die eine Analyse wert sind.", + "UMIEJĘTNOŚCI KAPITANA": "KAPITÄNSFÄHIGKEITEN", + "USŁUGI TUBYLCÓW": "EINHEIMISCHE DIENSTE", + "Ujawnia paski HP i tarcz wrogów.": "Zeigt Gegner-HP- und Schildbalken.", + "Układ %d\nWyposażenie i zapasy zostają zachowane.": "System %d\nAusrüstung und Vorräte bleiben erhalten.", + "Układ bezpieczny. Usługi dostępne.": "System sicher. Dienste verfügbar.", + "Umiejętności kapitana": "Kapitänsfähigkeiten", + "Umiejętności kapitana · punkty do wydania: %d": "Kapitänsfähigkeiten · verfügbare Punkte: %d", + "Umiejętność nie jest odblokowana": "Fähigkeit nicht freigeschaltet", + "Uwzględnia mechanika i aktywny efekt pancerza z tytanu.": "Enthält Mechaniker und aktiven Titanpanzerungseffekt.", + "W ruinach starego magazynu ktoś odnalazł pancerną skrytkę. Stojąca obok operatorka ma skaner zdolny zajrzeć przez jej osłonę, lecz urządzenie zużywa drogie ogniwa. Za niewielką opłatą sprawdzi, co może znajdować się w środku. Otwarcie zamka będzie kosztować osobno. Uprzedza, że skorodowana obudowa zakłóca odczyt.": "Eine Operatorin kann eine alte gepanzerte Kiste gegen Gebühr scannen. Der Scan zeigt möglichen Inhalt; Öffnen kostet extra. Die korrodierte Hülle stört die Messung.", + "W sercu budowli ocalał niezwykły mechanizm. Aby go wydobyć, trzeba poruszyć konstrukcję, która od dawna nie powinna stać.": "Im Bauwerk überlebt ein ungewöhnlicher Mechanismus. Ihn zu bergen könnte die alte Struktur destabilisieren.", + "W zaciszu chaty pustelnik przechowuje współrzędne miejsc poza znanymi szlakami. Oferuje ci jedną ze swoich map.": "Ein Einsiedler bietet eine Karte zu Orten abseits bekannter Routen an.", + "W zasięgu gwiazdy przywraca 20% maksymalnych tarcz na sekundę przez maksymalnie 5 s. Opuszczenie zasięgu kończy efekt. Odnowienie: 30 s.": "In Sternreichweite: 20% maximale Schilde/s für bis 5 s. Verlassen der Reichweite beendet den Effekt. Abklingzeit: 30 s.", + "W — ciąg · S — hamuj / wstecz · A/D — obrót\nQ/R — ruch boczny · TAB — dopalanie · E — odwiedź POI": "W — Schub · S — bremsen/rückwärts · A/D — drehen\nQ/R — seitwärts · TAB — Boost · E — POI besuchen", + "WORMHOLE\nWleć, aby przejść do następnego układu": "WURMLOCH\nHineinfliegen für nächstes System", + "WORMHOLE — następny układ": "WURMLOCH — nächstes System", + "WRÓĆ DO LOTU": "ZUM FLUG ZURÜCK", + "WRÓĆ DO UKŁADU %d [R]": "ZURÜCK ZU SYSTEM %d [R]", + "WYTWÓRZ": "HERSTELLEN", + "Weź gwarantowany zestaw": "Garantiertes Paket nehmen", + "Wiatr przesuwa kurz po podłodze pustego magazynu. Kilka skrzyń wciąż ma nienaruszone zamknięcia.": "Staub weht durch ein leeres Lager. Einige Kisten sind noch versiegelt.", + "Wiedza o kadłubie": "Rumpfwissen", + "Wleć w wormhole, aby przejść dalej.": "Ins Wurmloch fliegen, um weiterzukommen.", + "Wrogie pociski i lasery mają 25% szansy na dodatkowy szeroki rozrzut celowania.": "Feindliche Geschosse und Laser haben 25% Chance auf größere Zielstreuung.", + "Wróć do wyprawy": "Zur Expedition zurück", + "Wróć na pokład": "Zurück an Bord", + "Wszystkie dostępne projekty zostały wynalezione.": "Alle verfügbaren Projekte erforscht.", + "Wybierz aktywną umiejętność dla F%d. Pasywne działają bez zajmowania slotu.": "Aktive Fähigkeit für F%d wählen. Passive benötigen keinen Slot.", + "Wybierz jednostkę i rozpocznij wyprawę.": "Schiff wählen und Expedition starten.", + "Wybierz jedną umiejętność. Wybór obowiązuje przez całą rozgrywkę.": "Eine Fähigkeit wählen. Die Wahl gilt für die gesamte Partie.", + "Wybierz moduł lub broń\nPPM / Esc — anuluj": "Modul oder Waffe wählen\nRechtsklick/Esc — abbrechen", + "Wybierz pomieszczenie na pokładzie.": "Raum auf dem Deck wählen.", + "Wybierz pomieszczenie na pokładzie. · Warsztat i hangar są dostępne.": "Raum wählen. Werkstatt und Hangar verfügbar.", + "Wybierz projekt. Nowe badanie trwa %d sekund gry. Odkryta broń lub rozszerzenie zacznie pojawiać się w łupach. Od początku dostępne jest działko plazmowe.": "Projekt wählen. Forschung dauert %d Spielsekunden. Entdeckte Waffen und Erweiterungen erscheinen in Beute. Plasmakanone von Anfang an verfügbar.", + "Wybierz przedmiot i konkretny addon. Inżynier ustawi tylko jego wartość na maksimum dla obecnego poziomu przedmiotu.": "Gegenstand und Attribut wählen. Der Techniker maximiert nur diesen Wert für die aktuelle Gegenstandsstufe.", + "Wybierz umiejętność · oczekujące awanse: %d": "Fähigkeit wählen · ausstehende Aufstiege: %d", + "Wybrany addon ma teraz maksymalną wartość dla obecnego poziomu przedmiotu.": "Gewähltes Attribut ist jetzt maximal für die aktuelle Gegenstandsstufe.", + "Wydobycie = zasobność × (1 + zarządzanie / 100). Bez załoganta: 0. Części: %d / %d": "Förderung = Ergiebigkeit × (1 + Verwaltung/100). Ohne Besatzung: 0. Teile: %d / %d", + "Wydobycie: zasobność × (1 + zarządzanie / 100) deuteru/min. Bez załoganta: 0. Złoża nie wyczerpują się.": "Förderung: Ergiebigkeit × (1 + Verwaltung/100) Deuterium/min. Ohne Besatzung: 0. Vorkommen unerschöpflich.", + "Wydobywany z asteroid. Składnik receptur warsztatu.": "Aus Asteroiden gewonnen. Zutat für Werkstattrezepte.", + "Wyjście": "Beenden", + "Wymagana 1 część": "1 Teil erforderlich", + "Wymagana dodatnia maksymalna pojemność tarcz": "Positive maximale Schildkapazität erforderlich", + "Wymagana pełna energia": "Volle Energie erforderlich", + "Wymagana zamontowana broń": "Eingebaute Waffe erforderlich", + "Wymagane 50 szt. zwykłej amunicji": "50 normale Munition erforderlich", + "Wymagany zasięg gwiazdy": "Sternreichweite erforderlich", + "Wymiana towarów": "Warentausch", + "Wymień surowce": "Rohstoffe tauschen", + "Wymień surowce na 3 rakiety": "Rohstoffe gegen 3 Raketen tauschen", + "Wyprawa zakończona. Mapa została zużyta.\nPowrót do układu %d.\nWyposażenie i zapasy zostają zachowane.": "Expedition beendet. Karte verbraucht.\nRückkehr zu System %d.\nAusrüstung und Vorräte bleiben erhalten.", + "Wypuszcza 3 drony na 10 s. Strzelają działkami mechanicznymi; łącznie zadają 50% DPS statku w momencie startu. Koszt: 50 szt. zwykłej amunicji. Odnowienie: 30 s.": "3 Drohnen für 10 s. Gemeinsam 50% des Schiffs-DPS beim Start. Kosten: 50 normale Munition. Abklingzeit: 30 s.", + "Wypuszcza trzy flary na 10 s. Wrogowie w zasięgu obierają je za cel zamiast gracza. Odnowienie: 30 s.": "3 Leuchtköder für 10 s. Gegner in Reichweite zielen auf sie statt auf dich. Abklingzeit: 30 s.", + "Wyrzutnia rakiet zapalających": "Brandraketenwerfer", + "Wystrzeliwuje naprowadzaną rakietę z eksplozją obszarową. Cooldown: 5 s.": "Feuert eine Lenkrakete mit Flächenexplosion. Abklingzeit: 5 s.", + "Wystrzeliwuje pojedyncze krótkie czerwone wiązki, które szybko lecą przez przestrzeń. Każdy impuls ma 50% szansy całkowicie ominąć tarcze i trafić w kadłub. Zadaje o 30% mniej obrażeń niż laser wiązkowy z takimi samymi parametrami i zużywa o 30% więcej energii.": "Kurze rote Laserimpulse. Jeder hat 50% Chance, Schilde vollständig zu umgehen. 30% weniger Schaden als gleichwertiger Strahllaser, 30% höhere Energiekosten.", + "Wystrzeliwuje rakietę prosto w kierunku celownika. Większe obrażenia i eksplozja obszarowa. Zużywa amunicję rakietową.": "Rakete fliegt gerade zum Fadenkreuz. Höherer Schaden und Flächenexplosion. Verbraucht Raketenmunition.", + "Wytwarzane z minerałów, odzyskiwane z przedmiotów i wraków. Do napraw.": "Aus Mineralien hergestellt oder aus Gegenständen und Wracks geborgen. Für Reparaturen.", + "Wąska szczelina prowadzi do najbogatszej części złoża. Każde uderzenie narzędzia odbija się głuchym echem.": "Ein enger Spalt führt zum reichsten Teil des Vorkommens. Werkzeugschläge hallen dumpf wider.", + "Wędrowiec": "Wanderer", + "Wędrowny handlarz": "Wanderhändler", + "Wśród zwietrzałych skał połyskują drobiny rzadkich minerałów. Wystarczy ostrożnie oddzielić je od podłoża.": "Seltene Mineralien glitzern zwischen verwitterten Felsen. Löse sie vorsichtig.", + "Z załogantem: %.1f–%.1f deuteru/min (zarządzanie 1–100).": "Mit Besatzung: %.1f–%.1f Deuterium/min (Verwaltung 1–100).", + "ZATRUDNIJ · %d KREDYTÓW": "REKRUTIEREN · %d CREDITS", + "ZBUDUJ PLACÓWKĘ · %d CZĘŚCI": "AUSSENPOSTEN BAUEN · %d TEILE", + "ZBUDUJ SEKCJĘ": "SEKTION BAUEN", + "ZBUDUJ SKŁAD": "LAGER BAUEN", + "ZUŻYTY": "VERBRAUCHT", + "ZUŻYWALNY": "VERBRAUCHSGUT", + "ZWOLNIJ ZAŁOGANTA": "BESATZUNG ENTLASSEN", + "ZWYKŁE %02d": "NORMAL %02d", + "Za stalową kratą zachowały się regały z wojskowym zaopatrzeniem. Rdza utrudnia dostęp do ciężkich pojemników.": "Militärvorräte liegen hinter einem Stahlgitter. Rost erschwert den Zugang zu schweren Behältern.", + "Zadokuj statkiem, aby rozbudować sloty.": "Andocken, um Slots auszubauen.", + "Zagrożenie %.1f%% / 300%% · Łup POI ×%.2f": "Gefahr %.1f%% / 300%% · POI-Beute ×%.2f", + "Zagrożenie po sprzęcie: %.1f%% / 300%% (bez sprzętu %.1f%%).": "Gefahr nach Ausrüstung: %.1f%% / 300%% (ohne %.1f%%).", + "Zajęte miejsca": "Belegte Plätze", + "Zakończ pomoc i zachowaj dotychczasową zapłatę": "Hilfe beenden und bisherige Bezahlung behalten", + "Zakończ wyprawę i wróć do układu startowego. Powrót jest bezpłatny.": "Expedition beenden und kostenlos zum Ausgangssystem zurückkehren.", + "Zakończono pomoc. Dotychczasowa zapłata pozostaje w ładowni wyprawy.": "Hilfe beendet. Bisherige Bezahlung bleibt im Expeditionsfrachtraum.", + "Zakres przed krytykiem i obroną przeciwnika.": "Bereich vor kritischen Treffern und Zielverteidigung.", + "Zakupy za kredyty tańsze o %d%%.": "Einkäufe mit Credits sind %d%% günstiger.", + "Zakłócenia systemów obcych": "Störung fremder Systeme", + "Zamieć śnieżna": "Schneesturm", + "Zarządca opuszczanego punktu przeładunkowego sprzedaje ostatnie zapasy. Za podaną kwotę możesz zabrać przygotowany zestaw części albo jeden z zaplombowanych pakietów odzyskanych z transportu. Otwarty zestaw jest skromny, ale sprawdzony. W zamkniętych pakietach zdarzały się wartościowe podzespoły — oraz materiały, których nikt nie chciał kupić.": "Ein Lagerverwalter verkauft Restbestände. Wähle ein kleines garantiertes Teilepaket oder ein versiegeltes Überraschungspaket. Darin können wertvolle Komponenten oder wertloses Material liegen.", + "Zarządzanie: %d / 100\nPremia do wydobycia: +%d%%\nPochodzenie: %s": "Verwaltung: %d / 100\nFörderbonus: +%d%%\nHerkunft: %s", + "Zasady łączenia": "Kombinationsregeln", + "Zasięg": "Reichweite", + "Zasięg działka: %.0f px • Magazynek: 50 pocisków • Koszt rozstawienia: 50 amunicji": "Geschützreichweite: %.0f px • Magazin: 50 Schuss • Aufstellen: 50 Munition", + "Zasięg skanera": "Scannerreichweite", + "Zasięg: %.0f px • Amunicja: %d / strzał": "Reichweite: %.0f px • Munition: %d/Schuss", + "Zasięg: %.0f px • Energia: %.1f / strzał": "Reichweite: %.0f px • Energie: %.1f/Schuss", + "Zasięg: %.0f px • Napromieniowana amunicja: 1 / strzał": "Reichweite: %.0f px • Strahlungsmunition: 1/Schuss", + "Zasobność: %d / 100": "Ergiebigkeit: %d / 100", + "Zasobność: %d / 100 · złoże niewyczerpywalne": "Ergiebigkeit: %d / 100 · unerschöpflich", + "Zatrudnienie wymaga wolnej, zbudowanej kajuty i kredytów: 1000 × zarządzanie.": "Benötigt freie gebaute Kabine und Credits: 1000 × Verwaltung.", + "Załogant zajął wolną kajutę na fregacie. Przydziel go do stacji w centrum dowodzenia.": "Besatzungsmitglied bezieht freie Kabine. Im Kommandozentrum einer Station zuweisen.", + "Zbicie tarczy obcego razi pozostałych obcych w promieniu 120 px za 400% obrażeń trafienia, które zbiło tarczę. Bez reakcji łańcuchowych. Ten sam wróg wywołuje impuls najwyżej raz na 10 s.": "Alienschildbruch schädigt andere Aliens im Radius 120 px mit 400% des auslösenden Schadens. Keine Ketten. Jedes Ziel höchstens einmal pro 10 s.", + "Zbieracz złomu": "Schrottsammler", + "Zbierz łup i wróć do frachtowca": "Beute sammeln und zum Frachter zurückkehren", + "Zbuduj podnośnik i pomóż kierowcy": "Heber bauen und Fahrer helfen", + "Zdobądź brakujące surowce z asteroid": "Fehlende Rohstoffe aus Asteroiden gewinnen", + "Zielony laser pulsacyjny. Trafienie napromieniowuje: 100% obrażeń impulsu na sekundę przez 10 s. Kolejne impulsy odświeżają czas, działa najmocniejsze napromieniowanie.": "Grüner Pulslaser. Verstrahlung: 100% Impulsschaden/s für 10 s. Weitere Impulse erneuern die Dauer; stärkster Effekt gilt.", + "Zleć skan skrytki": "Kistenscan bestellen", + "Znajdź zamieszkaną planetę": "Bewohnten Planeten finden", + "Znaleziono moduł": "Modul gefunden", + "Znaleziska są w ładowni wyprawy. Zachowasz je po bezpiecznym powrocie na statek.": "Funde liegen im Expeditionsfrachtraum. Nach sicherer Rückkehr bleiben sie erhalten.", + "Zostawia minę na 60 s. Uzbraja się po 0,7 s. Trafiony wróg otrzymuje obrażenia równe 5% maksymalnego kadłuba (bez redukcji absorpcji) i zwalnia o 50% na 5 s. Zrzut co 5 s.": "Mine für 60 s. Scharf nach 0,7 s. Verursacht 5% maximalen Zielrumpf als Schaden ohne Absorptionsreduktion und verlangsamt 50% für 5 s. Abwurf alle 5 s.", + "Zostawia minę na 60 s. Uzbraja się po 0,7 s. Wykrywa bliski przelot wroga. Wybuch w promieniu 140 jednostek zadaje każdemu wrogowi 50% aktualnego kadłuba bez redukcji absorpcji (tarcze pochłaniają obrażenia) i spowalnia o 50% na 5 s.": "Mine für 60 s, scharf nach 0,7 s. Gegnernähe löst Explosion im Radius 140 aus: 50% aktuellen Rumpf als Schaden ohne Absorption; Schilde absorbieren. Verlangsamt 50% für 5 s.", + "Zużycie amunicji mniejsze o %d%%. Obejmuje zwykłą i napromieniowaną amunicję, bez rakiet.": "Munitionsverbrauch −%d%%. Normale und Strahlungsmunition, keine Raketen.", + "Zużywa 70% maksymalnej energii i tworzy osobną tarczę o pojemności 50% aktualnych maksymalnych tarcz statku. Większa, fioletowa osłona pochłania obrażenia przed zwykłymi tarczami. Działa do wyczerpania, nie regeneruje się i nie nakłada się na kolejną kopię. Dokowanie i Przekierowanie zasilania ją wyłączają.": "Verbraucht 70% maximaler Energie für einen Zusatzschild mit 50% maximaler Schildkapazität. Größerer violetter Schild absorbiert zuerst. Bis erschöpft; keine Regeneration und nicht kumulativ. Andocken und Energieumleitung deaktivieren ihn.", + "Zwiększa maksymalne tarcze o 10%. Zakup nie uzupełnia osłon.": "Maximale Schilde +10%. Kauf lädt sie nicht auf.", + "Zwiększa maksymalny kadłub twojego statku o 10%. Zakup nie odnawia utraconego kadłuba.": "Maximaler Rumpf +10%. Kauf repariert keinen Schaden.", + "Zwiększa maksymalną pojemność energii.": "Erhöht maximale Energiekapazität.", + "Zwiększa maksymalną pojemność tarcz i stale je regeneruje.": "Erhöht maximale Schilde und regeneriert sie ständig.", + "Zwiększa maksymalną pojemność tarcz statku i stale je regeneruje.": "Erhöht maximale Schiffsschilde und regeneriert sie ständig.", + "Zwiększa maksymalną wytrzymałość kadłuba.": "Erhöht maximale Rumpfstärke.", + "Zwiększa szansę na przedmiot o 1 poziom wyższy. Sumuje się z Farciarzem, do wspólnego limitu 60%.": "Erhöht Chance auf Gegenstand eine Stufe höher. Mit Glückspilz bis gemeinsam 60%.", + "Zwiększa tempo strzałów tej broni. Koszt pojedynczego strzału pozostaje bez zmian. Limit bonusu: 25%.": "Erhöht Feuerrate dieser Waffe, Kosten pro Schuss unverändert. Bonuslimit: 25%.", + "Zwiększa zasięg stałego skanera wykrywającego wrogów, asteroidy, wraki i antyczne znaleziska.": "Erhöht Scannerreichweite für Gegner, Asteroiden, Wracks und antike Funde.", + "Zwykła": "Normal", + "Zwykła amunicja": "Normale Munition", + "Zwykły": "Normal", + "Zwykły lot: do 240 px/s. TAB: do 480 px/s. Aktywny dopalacz: do 600 px/s.": "Normalflug: bis 240 px/s. TAB: bis 480 px/s. Aktiver Booster: bis 600 px/s.", + "Złomiarz wyciągnął z wraku zamknięty kontener. Plomba wygląda na nienaruszoną, ale tabliczka ładunkowa została wypalona podczas wejścia w atmosferę. Sprzedawca nie zamierza tracić czasu na otwieranie zabezpieczeń. Podaje cenę za całość i zapewnia, że poprzedni kupujący trafił świetnie. O wcześniejszych klientach mówi już mniej chętnie.": "Ein Schrotthändler bietet einen versiegelten Container aus einem Wrack an. Das Frachtetikett ist verbrannt. Er verkauft ihn ungeöffnet und erzählt nur von einem glücklichen früheren Käufer.", + "Złoże surowców": "Rohstoffvorkommen", + "brak": "keine", + "brak łupu": "keine Beute", + "przenieś na fregatę": "zur Fregatte übertragen", + "zwykły": "normal", + "Ładowanie słoneczne": "Solaraufladung", + "Ładowanie tarcz": "Schildaufladung", + "Łagodna biosfera": "Milde Biosphäre", + "Łowca nagród": "Kopfgeldjäger", + "Łup i wytwarzanie": "Beute und Herstellung", + "Łup ×%.2f · sprzęt ×%.2f · odzysk %.0f%%\nZagrożenie po ochronie: %.1f%% / 300%%": "Beute ×%.2f · Ausrüstung ×%.2f · Bergung %.0f%%\nGefahr nach Schutz: %.1f%% / 300%%", + "Łup: ": "Beute: ", + "Łącznie do 10% faktycznie zadanych obrażeń. Tempo: do 5% maksymalnych tarcz/s, z rezerwą na jedno takie odnowienie.": "Bis 10% tatsächlich verursachter Schaden. Bis 5% maximale Schilde/s, mit Reserve für eine Erholung.", + "Łączny DPS": "Gesamt-DPS", + "ŚPM": "MMT", + "Śmiertelne trafienie zostawia 1 punkt kadłuba i daje 2 s niewrażliwości. Raz na wyprawę lub wejście do zwykłego układu. Dokowanie ani restart po porażce nie odnawiają efektu.": "Tödlicher Treffer lässt 1 Rumpfpunkt und 2 s Unverwundbarkeit. Einmal pro Expedition oder Eintritt in normales System. Andocken und Neustart nach Niederlage erneuern ihn nicht.", + "Źródło: %s · poziom %d": "Quelle: %s · Stufe %d", + "Żelazo %d · Części %d": "Eisen %d · Teile %d", + "Żmija": "Viper", + "żelaza": "Eisen", + "‹ WRÓĆ / ESC": "‹ ZURÜCK / ESC", + "Naukowiec": "Wissenschaftler", + "PRZEWIDYWANA NAGRODA": "ERWARTETE BELOHNUNG", + "Podejmij eksplorację [E]": "Erkundung starten [E]", + "DODATKOWE ZNALEZISKA": "ZUSÄTZLICHE FUNDE", + "Przeszukaj głębiej": "Tiefer durchsuchen", + "Moduły: %d · poziom %d–%d": "Module: %d · Stufe %d–%d", + "Uszkodzenia lądownika: %d–%d HP": "Landemodul-Schaden: %d–%d HP", + "Uszkodzenia lądownika: −%d HP": "Landemodul-Schaden: −%d HP", + "Lądownik może zostać zniszczony. Utracisz cały łup tej wyprawy.": "Das Landemodul kann zerstört werden. Du verlierst die gesamte Beute dieser Expedition.", + "Przewidywane uszkodzenia lądownika: 0–%d HP": "Erwarteter Landemodul-Schaden: 0–%d HP", + "Ten etap jest niedostępny z obecnym wyposażeniem.": "Diese Etappe ist mit der aktuellen Ausrüstung nicht verfügbar.", + "Sprawdź wymagane zasoby.": "Prüfe die benötigten Ressourcen.", + " · dodatkowe znaleziska": " · zusätzliche Funde", + "[E] Zaplanuj eksplorację": "[E] Erkundung planen", + "%s · Poziom %d\nLądowanie: −%d HP\nLądownik: %d / 100 HP\nPOI: podleć i naciśnij E, aby zaplanować eksplorację.": "%s · Stufe %d\nLandung: −%d HP\nLandemodul: %d / 100 HP\nPOI: nähern und E drücken, um die Erkundung zu planen.", + "Dopasuj poziom wyposażenia do planety, aby odzyskać więcej łupu i ograniczyć uszkodzenia lądownika.": "Passe die Ausrüstungsstufe dem Planeten an, um mehr Beute zu bergen und Landemodul-Schäden zu verringern.", + "Pomaga podczas eksploracji jaskiń i miejsc z trudną atmosferą.": "Hilft bei der Erkundung von Höhlen und schwierigen Atmosphären.", + "Pomaga przy wydobyciu i eksploracji niestabilnych ruin.": "Hilft beim Abbau und der Erkundung instabiler Ruinen.", + "Pomaga przeszukiwać magazyny i osady opanowane przez faunę.": "Hilft beim Durchsuchen von Lagern und von Tieren besetzten Siedlungen.", + "Dopasuj poziom wyposażenia do poziomu planety.": "Passe die Ausrüstungsstufe der Planetenstufe an.", + "RANDOLOOT / SYSTEMY POKŁADOWE": "RANDOLOOT / BORDSYSTEME", + "Dostosuj dźwięk, ekran i język swojej wyprawy.": "Passe Ton, Anzeige und Sprache deiner Expedition an.", + "USTAWIENIA / KOMPUTER POKŁADOWY": "EINSTELLUNGEN / BORDCOMPUTER", + "01 / DŹWIĘK": "01 / TON", + "02 / OBRAZ": "02 / ANZEIGE", + "03 / JĘZYK": "03 / SPRACHE", + "Język interfejsu": "Oberflächensprache", + "Ustawienia są zapamiętywane między uruchomieniami.": "Einstellungen bleiben nach dem Neustart erhalten.", + "ZAPISZ WYPRAWĘ": "EXPEDITION SPEICHERN", + "WCZYTAJ WYPRAWĘ": "EXPEDITION LADEN", + "Nadaj nazwę nowemu zapisowi lub wybierz zapis do nadpisania.": "Benenne einen neuen Spielstand oder wähle einen zum Überschreiben.", + "Wybierz zapis i wróć do swojej wyprawy.": "Wähle einen Spielstand und kehre zur Expedition zurück.", + "ARCHIWUM / DZIENNIK POKŁADOWY": "ARCHIV / BORDBUCH", + "Nazwa zapisu": "Spielstandname", + "Nowy zapis": "Neuer Spielstand", + "ZAPISANE WYPRAWY": "GESPEICHERTE EXPEDITIONEN", + "DANE WYPRAWY": "EXPEDITIONSDATEN", + "Wczytanie rozpoczyna poziom od początku. Postęp i wyposażenie zostają zachowane.": "Laden startet das Level neu. Fortschritt und Ausrüstung bleiben erhalten.", + "Nie ma jeszcze zapisanych wypraw.": "Noch keine gespeicherten Expeditionen.", + "Układ %d · Kapitan %d": "System %d · Kapitän %d", + "Układ %d\nKapitan · poziom %d\nKredyty: %d": "System %d\nKapitän · Stufe %d\nCredits: %d", + "Nowy zapis\nUkład %d\nKapitan · poziom %d": "Neuer Spielstand\nSystem %d\nKapitän · Stufe %d", + "Odzyskano z kopii zapasowej": "Aus Sicherung wiederhergestellt", + "Nadpisz zapis": "Spielstand überschreiben", + "Automatyczny zapis": "Automatischer Spielstand", + "Zapis rozgrywki": "Spielstand", + "Wczytaj grę": "Spiel laden", + "WCZYTAJ GRĘ": "SPIEL LADEN", + "Wybierz wyprawę z archiwum zapisów": "Expedition aus dem Archiv wählen", + "Twoja wyprawa czeka. Wybierz, co chcesz zrobić.": "Deine Expedition wartet. Wähle eine Aktion.", + "ŁĄCZE / MENU POKŁADOWE": "VERBINDUNG / BORDMENÜ", + "Gwiazda centralna": "Zentralstern", + "ADDONY (aktywne po zamontowaniu)": "ATTRIBUTE (nach Einbau aktiv)", + "ADDONY (aktywne": "ATTRIBUTE (aktiv", + "Cooldown po addonach: %.2f s\nZapas rakiet: %d": "Abklingzeit nach Attributen: %.2f s\nRaketen: %d", + "Kliknij: ": "Klicken: ", + "Odbierz w Hangarze.": "Im Hangar abholen.", + "Odnowienie: %d s.": "Abklingzeit: %d s.", + "Pogoda: ": "Wetter: ", + "Uwzględnia utratę bonusów zdejmowanego przedmiotu.": "Berücksichtigt verlorene Boni des abgelegten Gegenstands.", + "Wymaga: ": "Benötigt: ", + "Zapas: ": "Vorrat: ", + "[E] Buduj": "[E] Bauen", + "[E] Maksymalizuj addon": "[E] Attribut maximieren", + "[E] Porozmawiaj": "[E] Sprechen", + "[E] Przeszukaj": "[E] Durchsuchen", + "[E] Zbierz znaleziska": "[E] Funde sammeln", + " · rabat %d%%": " · Rabatt %d%%", + " (obok planety)": " (neben Planet)", + " · mapa kupiona": " · Karte gekauft", + " · odwiedzono": " · besucht", + " · partia: %d szt.": " · Charge: %d Stück", + " · zatrudniono": " · rekrutiert", + " — zamieszkana": " — bewohnt", + "%d / %d ZBADANO": "%d / %d ERFORSCHT", + "%d kr.": "%d Cr.", + "%d pkt": "%d Pkt.", + "Zapas: %s": "Vorrat: %s", + "ODNOWIENIE %d s": "ABKLINGZEIT %d s", + "%s · %d szt.": "%s · %d Stück", + "ADDONY: %d/5": "ATTRIBUTE: %d/5", + "poz. %d": "St. %d", + "+%d amunicji": "+%d Munition", + "+%d rakiet": "+%d Raketen", + "06 / PREMIE I BADANIA": "06 / BONI UND FORSCHUNG", + "Absorpcja: ": "Absorption: ", + "DALEKIE WYPRAWY / SEKTORY DO ZBADANIA": "FERNEXPEDITIONEN / UNERFORSCHTE SEKTOREN", + "DZIENNIK PLANETARNY / WYPRAWA": "PLANETENLOG / EXPEDITION", + "DZIENNIK WYPRAWY / %s": "EXPEDITIONSLOG / %s", + "Etap %d/3 · %s": "Etappe %d/3 · %s", + "INSTRUKCJA / AKADEMIA PILOTA": "ANLEITUNG / PILOTENAKADEMIE", + "Każdy strzał": "Jeder Schuss", + "Kup %d rakiet · sklep: %d kr.": "%d Raketen kaufen · Laden: %d Cr.", + "Kup: %s · poz. %d": "Kaufen: %s · St. %d", + "LĄDUJ [L]": "LANDEN [L]", + "MAGAZYN · %d / %d": "LAGER · %d / %d", + "Nagroda za sukces: ": "Erfolgsbelohnung: ", + "ODCZYT: amunicja rakietowa. Liczba sztuk nieznana.": "SCAN: Raketenmunition. Menge unbekannt.", + "ORBY / SPECJALNE ULEPSZENIA": "ORBS / SPEZIALVERBESSERUNGEN", + "Obecnie: %.2f %s → maksimum: %.2f %s": "Aktuell: %.2f %s → Maximum: %.2f %s", + "Obecnie: %s": "Aktuell: %s", + "Obecny: System %d · Najdalszy odkryty: %d": "Aktuell: System %d · Weitestes entdeckt: %d", + "Obraż. krytyczne": "Krit. Schaden", + "Odnowienie: %.0f s": "Abklingzeit: %.0f s", + "Otrzymano: ": "Erhalten: ", + "Otrzymasz: ": "Du erhältst: ", + "POSIADASZ / WYMAGANE": "VORHANDEN / BENÖTIGT", + "PUSTELNIK / KARTOGRAF": "EINSIEDLER / KARTOGRAF", + "Pustelnik / Kartograf": "Einsiedler / Kartograf", + "Paliwo: %d deuteru": "Treibstoff: %d Deuterium", + "Regeneracja generatora: +%.1f /s": "Generatorregeneration: +%.1f /s", + "Regeneracja tarcz: +%.1f pkt/s": "Schildregeneration: +%.1f Pkt./s", + "Skróc. cooldownu rakiet": "Raketen-Abklingzeitreduktion", + "Slot zablokowany. Odblokowuj kolejne miejsca w hangarze fregaty.\nNastępny slot: ": "Slot gesperrt. Weitere Plätze im Fregattenhangar freischalten.\nNächster Slot: ", + "Slot: %s": "Slot: %s", + "Typ obrażeń:": "Schadenstyp:", + "Typ: ": "Typ: ", + "Uruchom prototyp · podstawa: %d kr.": "Prototyp starten · Basis: %d Cr.", + "WYTWORZONO: %s ×%d": "HERGESTELLT: %s ×%d", + "Z PLANET: ": "VON PLANETEN: ", + "ZMIANY PO ZAŁOŻENIU": "ÄNDERUNGEN NACH AUSRÜSTEN", + "Zadokuj, aby naprawić lądownik, rozbudować statek i przenieść wyposażenie.": "Andocken, um Landemodul zu reparieren, Schiff auszubauen und Ausrüstung zu übertragen.", + "Zakwaterowanie: Kajuta %02d": "Unterkunft: Kabine %02d", + "Zapas paliwa: %.1f deuteru": "Treibstoffvorrat: %.1f Deuterium", + "Zapas: %d": "Vorrat: %d", + "Zmiana statystyk statku:": "Änderung der Schiffswerte:", + "[%s] Pusty slot — przypisz skill w panelu kapitana": "[%s] Leerer Slot — Fähigkeit im Kapitänsfenster zuweisen", + "[R] +10% energii": "[R] +10% Energie", + "odbierz do statku": "ins Schiff übernehmen", + "Średni DPS z krytykami i cooldownem.\nBez ograniczeń energii i amunicji.\nAddony uwzględniają zdjęcie obecnej broni.": "Mittlerer DPS mit kritischen Treffern und Abklingzeit.\nOhne Energie- und Munitionsgrenzen.\nAttribute berücksichtigen Entfernen der aktuellen Waffe.", + "← ODBIERZ": "← ABHOLEN", + "← Odbierz wszystko": "← Alles abholen", + "● FREGATA / POŁĄCZENIE GOTOWE": "● FREGATTE / VERBINDUNG BEREIT", + "● OPERACYJNE": "● BETRIEBSBEREIT", + "● RAPORT WYPRAWY": "● EXPEDITIONSBERICHT", + "● STACJA / ZAOPATRZENIE": "● STATION / VERSORGUNG", + "● TELEMETRIA / DANE PLANETY": "● TELEMETRIE / PLANETENDATEN", + "● W REMONCIE": "● IM UMBAU", + "● ŁĄCZE ORBITALNE": "● ORBITALVERBINDUNG", + "Wczytaj": "Laden", + "WYBIERZ I WYSTARTUJ ›": "WÄHLEN UND STARTEN ›", + "Rusznikarz": "Waffenschmied", + "Specjalista rakietowy": "Raketenspezialist", + "Procedura awaryjna": "Notfallprozedur", + "Elektryk": "Elektriker", + "Farciarz": "Glückspilz", + "Eksplorator": "Entdecker", + "Rekin biznesu": "Geschäftshai", + "Manewr taktyczny": "Taktisches Manöver", + "Przekierowanie zasilania": "Energieumleitung", + "Regeneracja energii +%d%% przez 15 sekund.": "Energieregeneration +%d%% für 15 s.", + "ADDON DO MAKSYMALIZACJI": "ATTRIBUT ZUM MAXIMIEREN", + "ADDONY · PO ZAMONTOWANIU": "ATTRIBUTE · EINGEBAUT", + "AKTYWNA": "AKTIV", + "AKTYWNA %.1f s": "AKTIV %.1f s", + "AMUNICJA": "MUNITION", + "AWANS KAPITANA": "KAPITÄNSAUFSTIEG", + "AWARYJNE GRODZIE": "NOTSCHOTTEN", + "Absorpcja energetyczna": "Energieabsorption", + "Absorpcja kinetyczna": "Kinetische Absorption", + "Absorpcja radiacyjna": "Strahlungsabsorption", + "Akcja ratunkowa": "Rettungsaktion", + "Aktywne rozszerzenie naprawcze.": "Aktive Reparaturerweiterung.", + "Aktywne rozszerzenie silnika.": "Aktive Antriebserweiterung.", + "Aktywne rozszerzenie tarcz.": "Aktive Schilderweiterung.", + "Alpejska tundra": "Alpine Tundra", + "Amunicja radiacyjna": "Strahlungsmunition", + "Analiza konstrukcji": "Strukturanalyse", + "Antyczne znalezisko": "Antiker Fund", + "Awaryjne grodzie": "Notschotten", + "BLOKADA": "GESPERRT", + "Bank energii": "Energiebank", + "Banki energii": "Energiebanken", + "Bez zmian w bonusach.": "Keine Bonusänderungen.", + "Blokada regeneracji": "Regenerationssperre", + "Brakuje %.1f deuteru": "%.1f Deuterium fehlen", + "Brama zapomnianych": "Tor der Vergessenen", + "Burza z piorunami": "Gewitter", + "CELE": "ZIELE", + "CENTRUM DOWODZENIA": "KOMMANDOZENTRUM", + "Celne oko": "Scharfes Auge", + "Chmury i wiatr": "Wolken und Wind", + "Cmentarz maszyn": "Maschinenfriedhof", + "DOKUJ [L]": "ANDOCKEN [L]", + "DPS broni": "Waffen-DPS", + "Daleka wyprawa %d": "Fernexpedition %d", + "Dezorientacja celowania": "Zielstörung", + "Dodaj wszystko": "Alles hinzufügen", + "Dopalacz": "Booster", + "Dozwolone przedmioty": "Erlaubte Gegenstände", + "Drony bojowe": "Kampfdrohnen", + "Drony naprawcze": "Reparaturdrohnen", + "Dystans": "Distanz", + "Dzika biosfera": "Wilde Biosphäre", + "EKWIPUNEK KAPITANA": "KAPITÄNSAUSRÜSTUNG", + "ELITA": "ELITE", + "Echo dawnej cywilizacji": "Echo einer alten Zivilisation", + "Energetyczne": "Energie", + "Epicki": "Episch", + "Ewakuacja etapami": "Schrittweise Evakuierung", + "FRACHTOWIEC": "FRACHTER", + "Hangar · Warsztat · Magazyn": "Hangar · Werkstatt · Lager", + "FREGATA · %d": "FREGATTE · %d", + "Flary": "Leuchtköder", + "GOTOWA": "BEREIT", + "GOTOWE": "BEREIT", + "GOTOWY": "BEREIT", + "Jaskinia": "Höhle", + "Jesienne lasy": "Herbstwälder", + "KAJUTA %02d": "KABINE %02d", + "KRYT! ": "KRIT! ", + "KUP %d": "KAUFEN %d", + "Kinetyczne": "Kinetisch", + "Kontener w ciemno": "Überraschungscontainer", + "Krzem": "Silizium", + "LOSUJ PRZEDMIOT · POZ. %d": "GEGENSTAND WÜRFELN · ST. %d", + "LPM": "LMT", + "Legendarny": "Legendär", + "Losowa": "Zufällig", + "MAGAZYN": "LAGER", + "MAGAZYN FRACHTOWCA": "FRACHTERLAGER", + "MIEJSCE ODKRYTE": "ORT ENTDECKT", + "Magazyn fregaty": "Fregattenlager", + "Mechanik": "Mechaniker", + "Miny": "Minen", + "Mobilny serwis": "Mobiler Service", + "NAPRAWA": "REPARATUR", + "NATYCHMIAST": "SOFORT", + "NORMALNY": "NORMAL", + "Napraw": "Reparieren", + "Napromieniowana amunicja": "Strahlungsmunition", + "Niepospolity": "Ungewöhnlich", + "Nieznana planeta": "Unbekannter Planet", + "Nikiel": "Nickel", + "ODLOT [L]": "ABFLUG [L]", + "ODWIEDZONO": "BESUCHT", + "OPERACYJNY": "BETRIEBSBEREIT", + "OSTATNI BASTION": "LETZTE BASTION", + "Odbierz": "Abholen", + "Odblokuj 1 slot · ": "1 Slot freischalten · ", + "Oddychanie": "Atmung", + "Odzysk tarcz z obr.": "Schilde aus Schaden", + "Opuszczona wioska": "Verlassenes Dorf", + "Opuszczony magazyn": "Verlassenes Lager", + "Orb awansu": "Aufwertungsorb", + "Orb dopalacza": "Booster-Orb", + "Orb kinetyczny": "Kinetischer Orb", + "Orb polaryzacyjny": "Polarisationsorb", + "Orb przebicia": "Durchschlag-Orb", + "Orb radiacji": "Strahlungsorb", + "Orb replikacji": "Replikationsorb", + "Ostatni bastion": "Letzte Bastion", + "PARAMETRY": "PARAMETER", + "PASYWNA": "PASSIV", + "PASYWNE": "PASSIV", + "POZ. %d": "ST. %d", + "PPM": "RMT", + "PROCEDURA AWARYJNA": "NOTFALLPROZEDUR", + "PRODUKCJA": "HERSTELLUNG", + "PRZEDMIOT": "GEGENSTAND", + "PRZEDMIOTY": "GEGENSTÄNDE", + "PRZYDZIEL": "ZUWEISEN", + "PRZYSPIESZANIE · TRASA ZABEZPIECZONA": "BESCHLEUNIGEN · ROUTE GESICHERT", + "PUSTY": "LEER", + "Paliwo gotowe": "Treibstoff bereit", + "Pierwsza wyprawa": "Erste Expedition", + "Planety i frachtowiec": "Planeten und Frachter", + "Pojemne kondensatory": "Große Kondensatoren", + "Pokonaj bossa": "Boss besiegen", + "Posiadane ": "Vorhanden ", + "Powerbank": "Energiebank", + "Powerbanki": "Energiebanken", + "Poz. %d": "St. %d", + "Przyspieszenie": "Beschleunigung", + "Pusta stocznia": "Leere Werft", + "Pusty slot": "Leerer Slot", + "REPLIKUJ": "REPLIZIEREN", + "ROZBUDOWA STATKU": "SCHIFFSAUSBAU", + "ROZPOCZNIJ BADANIE · %d s": "FORSCHUNG STARTEN · %d s", + "ROZPROSZENIE SALWY": "SALVENSTREUUNG", + "ROZSZ. [%d]": "ERW. [%d]", + "ROZSZERZENIA": "ERWEITERUNGEN", + "ROZSZERZENIE": "ERWEITERUNG", + "Radiacyjna": "Strahlung", + "Radiacyjne": "Strahlung", + "Receptura": "Rezept", + "Recykler": "Recycler", + "Regener. energii": "Energiereg.", + "Regener. tarcz": "Schildreg.", + "Regeneracja energii": "Energieregeneration", + "Regeneracja tarcz": "Schildregeneration", + "Rozpad konstrukcji": "Strukturzerfall", + "Rozproszenie salwy": "Salvenstreuung", + "Rozszerzenia": "Erweiterungen", + "Rozszerzenie": "Erweiterung", + "Rykoszet": "Abpraller", + "Rzadki": "Selten", + "SEKCJA 02": "SEKTION 02", + "SEKCJA 03": "SEKTION 03", + "SEKCJA 04": "SEKTION 04", + "SEKCJA ROZWOJOWA": "AUSBAUSEKTION", + "SKOK WARP": "WARPSPRUNG", + "SLOT %d": "SLOT %d", + "STATYSTYKI STATKU": "SCHIFFSSTATISTIK", + "SUROWCE": "ROHSTOFFE", + "SUROWCE Z ASTEROID": "ASTEROIDENROHSTOFFE", + "Sektor dodany do listy wypraw na frachtowcu. Mapa pozwala na jeden lot.": "Sektor zur Expeditionsliste hinzugefügt. Karte erlaubt einen Flug.", + "Skafander": "Raumanzug", + "Slot zablokowany • Odblokuj w hangarze": "Slot gesperrt • Im Hangar freischalten", + "Spotkanie": "Begegnung", + "Statystyki": "Statistik", + "Sterowanie": "Steuerung", + "Strzelec": "Schütze", + "Suche kaniony": "Trockene Canyons", + "Surowiec pozyskiwany z asteroid.": "Rohstoff aus Asteroiden.", + "Surowiec z asteroid. Do produkcji amunicji i rakiet.": "Asteroidenrohstoff für Munition und Raketen.", + "Surowiec z asteroid. Do produkcji napromieniowanej amunicji.": "Asteroidenrohstoff für Strahlungsmunition.", + "System obrony przed obcymi": "Alienabwehrsystem", + "System oddychania": "Atemsystem", + "Szansa na krytyk": "Kritische Chance", + "Szansa na trafienie krytyczne": "Kritische Trefferchance", + "Szansa na unik": "Ausweichchance", + "TARCZA": "SCHILD", + "TARCZA AWARYJNA": "NOTSCHILD", + "TEMPERATURA": "TEMPERATUR", + "TLEN": "SAUERSTOFF", + "Taran": "Rammen", + "Tarcza awaryjna": "Notschild", + "Test prototypu": "Prototyptest", + "Tlen %d · Temp. %d · Fauna %d pp": "Sauerstoff %d · Temp. %d · Fauna %d pp", + "ULEPSZ DO %s": "AUFWERTEN AUF %s", + "ULEPSZENIE %s → %s": "AUFWERTUNG %s → %s", + "UNIK": "AUSGEWICHEN", + "UZBROJENIE": "BEWAFFNUNG", + "Ulewa": "Starkregen", + "W REMONCIE": "IM UMBAU", + "WIRUS": "VIRUS", + "WOLNA KAJUTA": "FREIE KABINE", + "WORMHOLE OTWARTY": "WURMLOCH OFFEN", + "WROGOWIE": "GEGNER", + "WYBIERZ": "WÄHLEN", + "Walka i przetrwanie": "Kampf und Überleben", + "Wiedza o broni": "Waffenwissen", + "Wiedza o tarczach": "Schildwissen", + "Wirus": "Virus", + "Wolfram": "Wolfram", + "Wolny slot": "Freier Slot", + "Wrak konwoju": "Konvoiwrack", + "Wrak statku": "Schiffswrack", + "Wybierz tajemniczy pakiet": "Überraschungspaket wählen", + "Wymagane 70% maksymalnej energii": "70% maximaler Energie erforderlich", + "Wymagane min. 25% tarcz": "Mindestens 25% Schilde erforderlich", + "Wymagany aktywny lot": "Aktiver Flug erforderlich", + "Wyprawa %d": "Expedition %d", + "Wyrzutnia rakiet naprowadzanych": "Lenkraketenwerfer", + "Wyrzutnia rakiet niekierowanych": "Ungelenkter Raketenwerfer", + "Wzmocnione poszycie": "Verstärkte Hülle", + "ZAMKNIJ [ESC]": "SCHLIESSEN [ESC]", + "ZAMONTOWANE NA STATKU": "AUF SCHIFF EINGEBAUT", + "ZAOPATRZENIE": "VERSORGUNG", + "ZAPASY": "VORRÄTE", + "ZAPASY GRACZA": "SPIELERVORRÄTE", + "ZBUDOWANO": "GEBAUT", + "ZDOBYTO": "ERHALTEN", + "ZMIANY PO WYMIANIE BRONI": "ÄNDERUNGEN BEIM WAFFENTAUSCH", + "ZWIADEK • TARCZE": "SPÄHER • SCHILDE", + "Zabezpiecz schronienie": "Unterkunft sichern", + "Zablokowany": "Gesperrt", + "Zakres i skalowanie": "Bereich und Skalierung", + "Zamknij okno statku": "Schiffsfenster schließen", + "Zielone doliny": "Grüne Täler", + "Zimna biosfera": "Kalte Biosphäre", + "Zapis przywraca początek bieżącego poziomu. Cooldowny i efekty czasowe są zerowane.": "Laden startet das aktuelle Level neu. Abklingzeiten und temporäre Effekte werden zurückgesetzt.", + "Dopasuj poziom sprzętu do planety.": "Passe die Ausrüstungsstufe dem Planeten an.", + "Wymagany poziom kapitana: %d": "Erforderliche Kapitänsstufe: %d", + "Czas badania: 10 minut gry": "Forschungsdauer: 10 Spielminuten", + "NOWA WYPRAWA": "NEUE EXPEDITION", + "KONTYNUUJ": "FORTSETZEN", + "INSTRUKCJA": "ANLEITUNG", + "ZAPIS ROZGRYWKI": "SPIELSTAND", + "OPCJE": "OPTIONEN", + "WYJŚCIE": "BEENDEN", + "Wybierz statek i ruszaj w nieznane": "Wähle dein Schiff und starte", + "Wczytaj ostatnią wyprawę": "Letzte Expedition laden", + "Pierwszy lot? Zacznij tutaj": "Dein erster Flug? Hier starten", + "Ostatni zapis i kopia zapasowa": "Letzter Spielstand und Sicherung", + "Dźwięk, obraz i język": "Ton, Grafik und Sprache", + "Zakończ grę": "Spiel beenden", + "DZIENNIK POKŁADOWY / NOWA WYPRAWA": "BORDBUCH / NEUE EXPEDITION", + "Nieznany kosmos. Niepowtarzalny łup.": "Unbekanntes All. Einzigartige Beute.", + "Głośność ogólna": "Gesamtlautstärke", + "Głośność muzyki": "Musiklautstärke", + "Rozdzielczość": "Auflösung", + "Pełny ekran": "Vollbild", + "Język": "Sprache", + "Zastosuj": "Anwenden", + "Anuluj": "Abbrechen", + "Zamknij": "Schließen", + "Pauza": "Pause", + "Wróć do gry": "Zurück zum Spiel", + "Zapisz grę": "Spiel speichern", + "Zapisz i wróć do menu": "Speichern und zum Menü", + "Zapisz i wyjdź": "Speichern und beenden", + "Zapisano grę.": "Spiel gespeichert.", + "Nie udało się zapisać gry.": "Spiel konnte nicht gespeichert werden.", + "Nie udało się zapisać ustawień.": "Einstellungen konnten nicht gespeichert werden.", + "Brak poprawnego zapisu gry.": "Kein gültiger Spielstand vorhanden.", + "Ostatni zapis: %s\nUkład: %d · Kapitan: %d": "Letzter Spielstand: %s\nSystem: %d · Kapitän: %d", + "Wróć": "Zurück", + "POWRÓT": "ZURÜCK", + "ZAMKNIJ": "SCHLIESSEN", + "KAPITAN": "KAPITÄN", + "Kapitan": "Kapitän", + "STATEK": "SCHIFF", + "Statek": "Schiff", + "WYPOSAŻENIE": "AUSRÜSTUNG", + "Wyposażenie": "Ausrüstung", + "ŁADOWNIA": "FRACHTRAUM", + "Ładownia": "Frachtraum", + "BROŃ": "WAFFEN", + "Broń": "Waffen", + "KADŁUB": "RUMPF", + "Kadłub": "Rumpf", + "TARCZE": "SCHILDE", + "Tarcze": "Schilde", + "ENERGIA": "ENERGIE", + "Energia": "Energie", + "Pancerz": "Panzerung", + "Silnik": "Triebwerk", + "Reaktor": "Reaktor", + "Komputer": "Computer", + "HANGAR": "HANGAR", + "WARSZTAT": "WERKSTATT", + "LABORATORIUM": "LABOR", + "BADANIA OBCYCH": "ALIENFORSCHUNG", + "ZAŁOGA": "BESATZUNG", + "HANDEL": "HANDEL", + "KUP": "KAUFEN", + "SPRZEDAJ": "VERKAUFEN", + "NAPRAW": "REPARIEREN", + "ZBUDUJ": "BAUEN", + "ODLOKUJ": "FREISCHALTEN", + "USUŃ": "ENTFERNEN", + "ZAMONTUJ": "EINBAUEN", + "ZDEMONTUJ": "AUSBAUEN", + "Żelazo": "Eisen", + "Aluminium": "Aluminium", + "Tytan": "Titan", + "Uran": "Uran", + "Siarka": "Schwefel", + "Deuter": "Deuterium", + "Kredyty": "Credits", + "Części": "Teile", + "Amunicja": "Munition", + "Rakiety": "Raketen", + "Próbki": "Proben", + "Poziom": "Stufe", + "Doświadczenie": "Erfahrung", + "Umiejętności": "Fähigkeiten", + "UMIEJĘTNOŚCI": "FÄHIGKEITEN", + "Zbadano": "Erforscht", + "Za mało próbek": "Zu wenige Proben", + "Magazyn pełny": "Lager voll", + "Brak miejsca": "Kein Platz" +} diff --git a/resources/localization/de_catalog.gd.uid b/resources/localization/de_catalog.gd.uid new file mode 100644 index 0000000..a23954c --- /dev/null +++ b/resources/localization/de_catalog.gd.uid @@ -0,0 +1 @@ +uid://cw37g2vl88y4o diff --git a/resources/localization/en_catalog.gd b/resources/localization/en_catalog.gd new file mode 100644 index 0000000..dd9b749 --- /dev/null +++ b/resources/localization/en_catalog.gd @@ -0,0 +1,1105 @@ +# Generated by tools/build_localization.py; AI-authored, offline. +extends RefCounted +const MESSAGES := { + "\nBrak miejsca: %d modułów czeka we frachtowcu.": "\nNo space: %d modules are waiting in the freighter.", + "%s · %s\nTLEN %d%% · TEMP %d°C · BIO %d/50\nZAGROŻENIE: %.1f%% / 300%%\nŁUP POI: ×%.2f · odzysk %.0f%%\nPOI: podleć i naciśnij E\nLądowanie −%d HP · Lądownik %d%%": "%s · %s\nOXYGEN %d%% · TEMP %d°C · BIO %d/50\nHAZARD: %.1f%% / 300%%\nPOI LOOT: ×%.2f · recovery %.0f%%\nPOI: approach and press E\nLanding −%d HP · Lander %d%%", + "%s · %s\nTLEN %d%% · zagrożenie %.0f%% → %.0f%%\nTEMPERATURA %d°C · zagrożenie %.0f%% → %.0f%%\nBIOLOGICZNE %d/50 · zagrożenie %.0f%% → %.0f%%\nZAGROŻENIE GLOBALNE: %.1f%% / 300%%\nBez sprzętu: %.1f%% · redukcja 2 pp/poziom\nŁUP POI: ×%.2f · odzysk %.0f%% · sprzęt ×%.2f\nPOI: podleć i naciśnij E, aby odebrać znaleziska.\nLądowanie: −%d HP · Lądownik: %d%%": "%s · %s\nOXYGEN %d%% · hazard %.0f%% → %.0f%%\nTEMPERATURE %d°C · hazard %.0f%% → %.0f%%\nBIOLOGICAL %d/50 · hazard %.0f%% → %.0f%%\nGLOBAL HAZARD: %.1f%% / 300%%\nWithout gear: %.1f%% · reduction 2 pp/level\nPOI LOOT: ×%.2f · recovery %.0f%% · gear ×%.2f\nPOI: approach and press E to collect finds.\nLanding: −%d HP · Lander: %d%%", + "+1 000 000 kredytów i deuteru\n+10 000 każdego minerału, części i kryształów czasu\n+1000 próbek, +25 każdego orba, +100 punktów nauki\n+10 000 amunicji, +1000 radiacyjnej i rakiet, +100 powerbanków\nMapy: poziomy 2, obecny +1/+5, 120, 125 i 130 (bez duplikatów)\nPo 1 każdego rodzaju wyposażenia do magazynu fregaty oraz sprzęt kapitana.": "+1 000 000 credits and deuterium\n+10 000 of each mineral, parts and time crystals\n+1000 samples, +25 of each orb, +100 learning points\n+10 000 ammunition, +1000 irradiated rounds and missiles, +100 power banks\nMaps: level 2, current +1/+5, 120, 125 and 130 without duplicates\nOne of each equipment type in frigate storage and captain gear.", + "BOSS": "BOSS", + "Boss": "Boss", + "Elite": "Elite", + "Laser": "Laser", + "Normal": "Normal", + "[font_size=16][color=#f1bd79]Buduj własny styl gry[/color][/font_size]\n\n[color=#91dbea][b]Wyposażenie[/b][/color]\nKliknij panel statku w prawym górnym rogu i otwórz magazyn. Przeciągaj przedmioty do pasujących slotów: maksymalnie 3 bronie, 5 modułów i 5 rozszerzeń. Na początku dostępny jest 1 slot broni i 1 rozszerzenia. Pierwszy dodatkowy slot broni kosztuje 100 tytanu, drugi 500. Rozszerzenia kosztują po 40 żelaza, aluminium i tytanu, a każdy kolejny slot podwaja ten koszt (80, 160, 320). Ładownia zaczyna z 5 miejscami; każde kolejne miejsce kosztuje 100 żelaza i 50 aluminium. Sloty odblokowujesz w hangarze fregaty. Po zbudowaniu składu modułów zakładka Magazyn na frachtowcu pozwala odkładać i odbierać wyposażenie. Aktywne rozszerzenia uruchamiasz klawiszami 1–5; pasywne (oznaczone P) działają automatycznie w tych samych slotach. Najedź kursorem, żeby sprawdzić parametry i porównanie wyposażenia.\n\n[color=#91dbea][b]Nie każdy duplikat jest taki sam[/b][/color]\nBroń i moduły mogą mieć różne parametry oraz addony. Aktywne rozszerzenia losują cooldown od 30 do 5 pełnych sekund. Pasywne mają losowaną siłę efektu: Recykler odnawia tarcze i energię po zebraniu odłamka, Wirus przejmuje uciekających wrogów, a Pancerz z tytanu ogranicza obrażenia przy niskim kadłubie. Krótsze odnowienia są rzadkie — przed rozłożeniem porównaj egzemplarze. Rozszerzenia tego samego typu dzielą aktywne odnowienie.\n\n[color=#91dbea][b]Umiejętności kapitana[/b][/color]\nZa pokonanych wrogów zdobywasz doświadczenie i kredyty. Trudniejsze układy dają więcej bazowego XP. Jeśli kapitan przewyższa poziom układu o ponad 2 poziomy, XP za przeciwników i ruiny maleje; przy przewadze 8 poziomów spada do zera. Kredyty i surowce nadal zbierasz. Po awansie wybierasz umiejętność. Pasywne działają stale, aktywne przypisujesz do F1–F5.\n\n[color=#f1bd79][b]Okno umiejętności nie pauzuje gry.[/b][/color]\nOtwieraj je w bezpiecznym miejscu. Przed kolejnym układem uzupełnij zapasy i sprawdź wyposażenie.": "[b]Build your play style[/b]\n\nOpen the ship at the top right. Drag gear into matching slots: up to 3 weapons, 5 modules and 5 extensions. Start with 1 weapon and 1 extension slot. Extra weapons cost 100 and 500 titanium. Extensions cost 40 each of iron, aluminium and titanium, doubling each time. Cargo starts at 5 slots; each extra costs 100 iron and 50 aluminium. Expand in the frigate hangar; store gear in the built module room. Use extensions with 1–5; passive P extensions work automatically.\n\nCompare stats, modifiers and cooldowns. Active extensions roll 30–5 s cooldowns shared by type. Recycler restores shields and energy from fragments; Virus captures fleeing enemies; titanium armor protects low hull.\n\nEnemies grant XP and credits. More than 2 captain levels above the system reduces enemy and ruin XP; an 8-level advantage gives zero. Other rewards remain. Choose a skill on level-up: active F1–F5, passives always apply.\n\n[b]The skill window does not pause the game.[/b] Check supplies and gear before proceeding.", + "[font_size=16][color=#f1bd79]Opanuj statek[/color][/font_size]\n\n[color=#91dbea][b]W[/b][/color] — ciąg do przodu.\n[color=#91dbea][b]S[/b][/color] — hamowanie; po zatrzymaniu lot wstecz.\n[color=#91dbea][b]A / D[/b][/color] — obracanie statku.\n[color=#91dbea][b]Q / E[/b][/color] — ruch boczny w lewo / prawo.\n[color=#91dbea][b]TAB[/b][/color] — dopalanie: większa prędkość kosztem energii.\n\n[color=#91dbea][b]Kursor myszy[/b][/color] — celowanie.\n[color=#91dbea][b]LPM / PPM / ŚPM[/b][/color] — strzelanie z trzech slotów broni.\n[color=#91dbea][b]1–5[/b][/color] — użycie zamontowanych rozszerzeń.\n[color=#91dbea][b]F1–F5[/b][/color] — aktywne umiejętności kapitana.\n[color=#91dbea][b]R[/b][/color] — użycie powerbanku, jeśli masz go w zapasach.\n\nStatek ma bezwładność. Obrót nie zatrzymuje ruchu — hamuj wcześniej i wykorzystuj ruch boczny, żeby unikać ostrzału.": "[b]Ship controls[/b]\n\nW — thrust. S — brake, then reverse. A/D — turn. Q/E — strafe. TAB — energy-consuming boost.\n\nMouse — aim. Left/right/middle mouse buttons — three weapons. 1–5 — installed extensions. F1–F5 — active captain skills. R — use a power bank from supplies.\n\nThe ship has inertia. Turning does not stop movement. Brake early and strafe to avoid fire.", + "[font_size=16][color=#f1bd79]Twój pierwszy układ[/color][/font_size]\n\nWybierz statek przyciskiem [b]Nowa wyprawa[/b]. Każdy kadłub ma inne parametry — na początek wybierz ten, który pasuje do Twojego stylu.\n\n[color=#91dbea][b]1. Pokonaj zwykłych wrogów[/b][/color]\nOdszukuj przeciwników, rozwijaj wyposażenie i pilnuj zasobów. Aktualny cel znajdziesz w lewym dolnym rogu ekranu.\n\n[color=#91dbea][b]2. Pokonaj bossa[/b][/color]\nGdy zniszczysz pozostałych wrogów, w układzie pojawi się boss. Przygotuj zapas amunicji i sprawdź kadłub przed walką.\n\n[color=#91dbea][b]3. Znajdź zamieszkaną planetę[/b][/color]\nPo zwycięstwie podleć do zamieszkanej planety. Skorzystaj z usług i otwórz wormhole. Wleć w jego środek, żeby przejść do następnego, trudniejszego układu.": "[b]Your first system[/b]\n\nChoose a ship through New expedition to suit your play style.\n\n1. Find and defeat normal enemies. Improve gear and watch resources. Current objective is at the bottom left.\n\n2. The boss appears after other enemies are defeated. Check ammunition and hull first.\n\n3. After victory, find the inhabited planet, use services and open the wormhole. Enter it to reach the next harder system.", + "[font_size=16][color=#f1bd79]Wróć z wyprawy[/color][/font_size]\n\n[color=#91dbea][b]Tarcze, kadłub i energia[/b][/color]\nTarcze pochłaniają obrażenia przed kadłubem. Utrata całego kadłuba oznacza zniszczenie statku. Energia zasila część broni oraz dopalanie; odnawia się z czasem, szybciej przy gwieździe.\n\n[color=#91dbea][b]Dobieraj broń do zapasów[/b][/color]\nBroń energetyczna zużywa energię. Działko maszynowe potrzebuje zwykłej amunicji, gamma — napromieniowanej, a wyrzutnie — rakiet. Puste zapasy oznaczają brak strzału. Absorpcja ogranicza obrażenia danego typu.\n\n[color=#91dbea][b]Korzystaj z rozszerzeń[/b][/color]\nMiny atakują obszarowo, flary odciągają uwagę, kamuflaż pomaga zerwać kontakt, teleport przenosi w bezpieczne miejsce, a drony wspierają ostrzał. Doładowanie tarcz działa przy gwieździe. Sprawdzaj koszt i cooldown w opisie.\n\n[color=#f1bd79][b]Uważaj na uciekających przeciwników[/b][/color]\nWróg z kadłubem poniżej 10% ucieka wolniej, ale może zostawić minę. Nie leć bezmyślnie prosto za nim.": "[b]Combat and survival[/b]\n\nShields absorb damage before hull. Zero hull destroys the ship. Energy powers some weapons and boost, regenerating faster near the star.\n\nEnergy weapons use energy, machine guns regular rounds, gamma irradiated rounds and launchers missiles. Empty supplies prevent firing. Absorption reduces the relevant damage type.\n\nMines hit areas, flares distract, cloaking breaks contact, teleport finds safety and drones support fire. Solar shield charging requires star range. Check costs and cooldowns.\n\nEnemies below 10% hull flee more slowly and may drop a mine. Pursue carefully.", + "[b]Wyprawy na planety[/b]\n\nPierwsze planety są łagodne. W kolejnych układach eksploracja jest trudniejsza, ale znaleziska są bogatsze. Dopasuj poziom wyposażenia kapitana do poziomu planety: aparat oddechowy pomaga w jaskiniach, skafander przy wydobyciu i ruinach, a broń ręczna w magazynach i osadach.\n\nPodleć do planety EARTHLIKE. F pokazuje informacje, a L rozpoczyna lądowanie. Lądownik musi mieć 100 HP przed startem; lądowanie uszkadza kadłub. Podczas walki nie można lądować.\n\nNa powierzchni: W — ciąg, S — hamowanie i wstecz, A/D — obrót, Q/R — ruch boczny, TAB — dopalanie. Przy POI naciśnij E. Najpierw zobaczysz przewidywaną nagrodę i uszkodzenia. Samo otwarcie okna niczego nie zużywa. Potwierdź eksplorację przyciskiem lub drugim naciśnięciem E.\n\nNiektóre miejsca oferują dodatkowe znaleziska. Przeszukanie głębiej daje więcej łupu, ale mocniej uszkadza lądownik. Niski kadłub może oznaczać utratę całej zdobyczy tej wyprawy. L pozwala wrócić z dotychczasowym łupem. Spotkania oznaczone pytajnikiem również otwierasz klawiszem E.\n\n[b]Frachtowiec i postęp[/b]\nPrzy gwieździe centralnej zadokuj klawiszem L. Hangar naprawia lądownik za części. Warsztat produkuje zaopatrzenie i kolejne poziomy wyposażenia kapitana. Laboratorium prowadzi badania.\n\nEsc otwiera pauzę, nazwane zapisy i opcje. Wczytanie zachowuje postęp oraz wyposażenie i zaczyna bieżący poziom od początku.": "[b]Planet expeditions[/b]\n\nThe first planets are gentle. Later systems are harder to explore but offer richer finds. Match captain gear to planet level: breathing gear for caves, suit for extraction and ruins, sidearm for warehouses and settlements.\n\nApproach an EARTHLIKE planet. F shows information and L lands. The lander needs 100 HP before launch; landing damages its hull. You cannot land during combat.\n\nOn the surface: W thrust, S brake/reverse, A/D turn, Q/R strafe, TAB boost. Press E near a POI. First you see expected rewards and damage. Opening the window costs nothing. Confirm with the button or press E again.\n\nSome locations offer extra finds. Searching deeper gives more loot and more damage. Low hull may cost all loot from this expedition. L lets you return with your current cargo. Question-mark encounters also open with E.\n\n[b]Freighter and progress[/b]\nDock with L near the central star. The hangar repairs the lander for parts. The workshop crafts supplies and higher-level captain gear. The laboratory runs research.\n\nEsc opens pause, named saves and options. Loading retains progress and equipment and restarts the current level.", + "[font_size=16][color=#f1bd79]Zbieraj. Porównuj. Twórz.[/color][/font_size]\n\n[color=#91dbea][b]Łup zbierasz przez podlecenie[/b][/color]\nPrzedmioty w pobliżu są przyciągane do statku. Magazyn mieści 20 przedmiotów; przy pełnym magazynie zwolnij miejsce, żeby zebrać kolejny.\n\n[color=#91dbea][b]Asteroidy zostawiają fizyczne odłamki[/b][/color]\nStrzelaj do asteroid. Po zniszczeniu rozpadają się bazowo na 5–7 poszarpanych fragmentów. Każdy to jedna jednostka surowca — musisz go zebrać. Umiejętność górnika zwiększa uzysk.\n\n[color=#91dbea][b]Przeszukuj wraki[/b][/color]\nPodleć do wraku i przytrzymaj E, aby go przeszukać. Wraki dają surowce (65%), amunicję lub rakiety (łącznie 20%) albo moduł (15%).\n\n[color=#91dbea][b]Warsztat fregaty — produkcja[/b][/color]\nZadokuj na fregacie i wybierz Warsztat. Tam wytworzysz amunicję, rakiety, części, powerbanki i wyposażenie kapitana. Koszt sprawdzisz w podpowiedzi przycisku produkcji.\n\n[color=#91dbea][b]Odzyskuj części[/b][/color]\nNajedź na zbędny przedmiot w magazynie i użyj przycisku rozłożenia. Części przydadzą się do napraw.": "[b]Loot and crafting[/b]\n\nNearby items are attracted to your ship. Cargo holds up to 20 items; free space when full.\n\nShoot asteroids: normally 5–7 fragments, each one resource unit you must collect. Miner increases yield.\n\nApproach wrecks and hold E: 65% resources, 20% ammunition or missiles, 15% module.\n\nThe frigate workshop crafts ammunition, missiles, parts, power banks and captain gear. Check button tooltips for costs. Dismantle unnecessary items; parts are used for repairs.", + "[font_size=16][color=#f1bd79]Dźwięki otoczenia[/color][/font_size]\n\n[b]Blender Foundation — Ambient Bird, Cricket and Frog (Yo Frankie!)[/b]\nOdgłosy świerszcza i żaby, udostępnione przez Lamoot:\nhttps://opengameart.org/content/ambient-bird-cricket-and-frog\nLicencja Creative Commons Attribution 3.0:\nhttps://creativecommons.org/licenses/by/3.0/\nZmiany: filtrowanie, płynne początki i zakończenia, zmiana wysokości żaby oraz konwersja do stereo 48 kHz. Autorzy nie są powiązani z tą grą.\n\n[b]Nagrania na licencji CC0[/b]\nThimras — Park ambiences (wiatr).\nIwan „qubodup” Gabovitch — 20 Rustles of dry leaves.\nisaiah658 — Ambient Bird Sounds.\nRudmer_Rotteveel — Wood Creak Single V7.\n\n[b]Wnętrze fregaty — CC0[/b]\nLEGIT Audio — The Shop (bezpłatne próbki OpenGameArt).\nbart — 68 Workshop Sounds i Steam release sounds.\nKenney — Sci-Fi Sounds.\n\nSzczegółowe źródła i zakres obróbki znajdują się w plikach CREDITS.md i manifest.json przy zasobach audio.": "[b]Audio credits[/b]\n\nBlender Foundation — Ambient Bird, Cricket and Frog (Yo Frankie!), shared by Lamoot. https://opengameart.org/content/ambient-bird-cricket-and-frog\nCC BY 3.0: https://creativecommons.org/licenses/by/3.0/\nChanges: filtering, fades, frog pitch adjustment, stereo 48 kHz conversion. Authors are not affiliated with this game.\n\nCC0: Thimras — Park ambiences; Iwan „qubodup” Gabovitch — 20 Rustles of dry leaves; isaiah658 — Ambient Bird Sounds; Rudmer_Rotteveel — Wood Creak Single V7.\n\nFrigate, CC0: LEGIT Audio — The Shop (OpenGameArt); bart — 68 Workshop Sounds and Steam release sounds; Kenney — Sci-Fi Sounds.\n\nFull sources and modifications in CREDITS.md and manifest.json alongside audio assets.", + "\nEARTHLIKE · LĄDOWANIE": "EARTHLIKE · LANDING", + "\nKoszt: ": "Cost: ", + "\nORB DOPALACZA · TAB bez kosztu energii. Działa po zamontowaniu silnika.": "BOOSTER ORB · TAB without energy cost. Requires an installed engine.", + "\nORB PRZEBICIA · 50% obrażeń omija tarcze. Tylko ta broń.": "PIERCING ORB · 50% of damage bypasses shields. This weapon only.", + "\nPASYWNE • Bez kosztu i cooldownu.\nDuplikaty nie sumują efektu — działa najlepszy egzemplarz.": "PASSIVE • No cost or cooldown. Duplicates do not stack; the best copy applies.", + "\nPodleć, aby przeszukać": "Approach to search", + "\nRedukcja zagrożenia: %d pp (2 pp/poziom, maks. 100 pp).\nPoziom 50 całkowicie neutralizuje odpowiadające zagrożenie.": "Hazard reduction: %d percentage points (2 per level; max. 100). Level 50 fully neutralizes this hazard.", + "\nSprawdź wymagane zasoby i aktualne zagrożenie.": "Check required resources and current hazard.", + "\nTen etap ma 0% szans przy obecnym zagrożeniu.": "This stage has a 0% success chance at the current hazard level.", + "\nUSŁUGI DOSTĘPNE": "SERVICES AVAILABLE", + "\nUkład oczyszczony": "System cleared", + "\nZa mało próbek": "Not enough samples", + "\nZamontowane — najpierw zdejmij do ładowni.": "Installed — move it to cargo first.", + "\n[E] Kup mapę": "[E] Buy map", + "\n[E] Placówka": "[E] Outpost", + " · +1 część (Zbieracz złomu)": " · +1 part (Scrap collector)", + " [ZAŁOŻONE]": " [EQUIPPED]", + " kadłuba": " hull", + " · Moduły: %d": " · Modules: %d", + " · brak zakresu": " · no range", + "%d KREDYTÓW\n%d CZĘŚCI\n%d KRYSZTAŁÓW CZASU": "%d CREDITS\n%d PARTS\n%d TIME CRYSTALS", + "%d kredytów%s": "%d credits%s", + "%d%% szansy na 1 dodatkową część z przeszukanego wraku. Losowanie raz na wrak. Premie rang nie sumują się.": "%d%% chance for 1 extra part per searched wreck. One roll per wreck. Rank bonuses do not stack.", + "%s\n\n%s\nR • Zużywa jedną sztukę z zasobów.": "%s\n\n%s\nR • Consumes one unit from supplies.", + "%s\n%s\nPrzeciągnij przedmiot do pasującego slotu. Dwuklik zakłada lub zdejmuje.": "%s\n%s\nDrag to a matching slot. Double-click to equip or remove.", + "%s\nMagazyn pełny": "%s\nStorage full", + "%s\nStatystyki bazowe przed bonusami modułów.\n%s": "%s\nBase stats before module bonuses.\n%s", + "%s\nStos: %d\n\n%s\n\nDwuklik: wybierz orb. Następnie kliknij odpowiedni moduł lub broń. PPM lub Esc anuluje.": "%s\nStack: %d\n\n%s\n\nDouble-click: select orb, then click a module or weapon. Right-click or Esc cancels.", + "%s\nZarządzanie: %d / 100\nPremia do wydobycia: +%d%%": "%s\nManagement: %d / 100\nExtraction bonus: +%d%%", + "%s\nŁadownia pełna": "%s\nCargo full", + "%s / POZIOM %d": "%s / LEVEL %d", + "%s · poziom %d": "%s · level %d", + "%s · poziom %d\n%s\n[%s] · Odnowienie %d s%s": "%s · level %d\n%s\n[%s] · Cooldown %d s%s", + "%s · poziom %d\nKoszt: %s\nWytwarza i zakłada nowy przedmiot.": "%s · level %d\nCost: %s\nCrafts and equips a new item.", + "%s · poziom %d / 3\n%s": "%s · level %d / 3\n%s", + "%s · poziom wyprawy %d": "%s · expedition level %d", + "%s · zarządzanie %d/100 · %.1f deuteru/min": "%s · management %d/100 · %.1f deuterium/min", + "%s • Poziom %d": "%s • Level %d", + "%s: %d partii = %d szt.\nKoszt: %s": "%s: %d batches = %d units\nCost: %s", + "+%d KREDYTÓW": "+%d CREDITS", + "+%d KRYSZTAŁÓW CZASU": "+%d TIME CRYSTALS", + "+%d doświadczenia · +1 moduł": "+%d experience · +1 module", + "+%d szt. surowca z każdej zniszczonej asteroidy.": "+%d resource units per destroyed asteroid.", + "+%d wraków na nowej planszy. Premia ustalana przy rozpoczęciu systemu; nie zmienia bieżącej planszy. Premie rang nie sumują się.": "+%d wrecks in new systems. Set on entry; does not change the current system. Rank bonuses do not stack.", + "+10 zwykłej amunicji, +10 radiacyjnej amunicji i +10 rakiet": "+10 regular ammunition, +10 irradiated ammunition and +10 missiles", + "01 / POKŁAD GŁÓWNY · POŁĄCZENIE ZABEZPIECZONE": "01 / MAIN DECK · SECURE CONNECTION", + "01 / PANCERZ I OCHRONA": "01 / ARMOR AND PROTECTION", + "02 / TARCZE I ENERGIA": "02 / SHIELDS AND ENERGY", + "03 / SIŁA OGNIA": "03 / FIREPOWER", + "04 / NAPĘD I NAWIGACJA": "04 / PROPULSION AND NAVIGATION", + "05 / ŁADOWNIA I ZAOPATRZENIE": "05 / CARGO AND SUPPLIES", + "1 KLIKNIĘCIE = 1 RECEPTURA • PRODUKCJA BEZPOŚREDNIO Z MINERAŁÓW": "1 CLICK = 1 RECIPE • CRAFT DIRECTLY FROM MINERALS", + "50 amunicji → 1 działko z 50 pociskami": "50 ammunition → 1 turret with 50 rounds", + "50% obrażeń broni omija tarcze i trafia bezpośrednio w kadłub. Tylko broń.": "50% of weapon damage bypasses shields and hits hull. Weapons only.", + "AKTYWNE SLOTY F1–F5 · MAKSYMALNIE 5 UMIEJĘTNOŚCI": "ACTIVE SLOTS F1–F5 · MAXIMUM 5 SKILLS", + "AMUNICJA I RAKIETY": "AMMUNITION AND MISSILES", + "AWANSUJ +1 POZIOM": "UPGRADE +1 LEVEL", + "Absorpcja obrażeń energetycznych": "Energy damage absorption", + "Absorpcja obrażeń kinetycznych": "Kinetic damage absorption", + "Absorpcja obrażeń radiacyjnych": "Radiation damage absorption", + "Aktywne rozszerzenie statku. Tworzy dodatkową, większą warstwę ochronną. Zamontuj w slocie rozszerzeń i użyj przypisanego klawisza 1–5.": "Active ship extension. Creates an additional larger protective layer. Install in an extension slot and use the assigned 1–5 key.", + "Aktywne rozszerzenie statku. Zamontuj w slocie rozszerzeń i użyj przypisanego klawisza 1–5.": "Active ship extension. Install in an extension slot and use its assigned 1–5 key.", + "Amunicja do wyrzutni rakiet. Obrażenia kinetyczne.": "Missile launcher ammunition. Kinetic damage.", + "Amunicja zwykła": "Regular ammunition", + "Amunicja: 1 rakieta / strzał • Cooldown bazowy: 5 s • Bez kosztu energii": "Ammo: 1 missile/shot • Base cooldown: 5 s • No energy cost", + "Analiza częstotliwości": "Frequency analysis", + "Archiwum bez głosu": "Silent archive", + "Automatyczne dostawy z obsadzonych placówek · %.0f / min": "Automatic deliveries from staffed outposts · %.0f/min", + "Autorzy dźwięków": "Audio credits", + "Awansuje przedmiot o 1 poziom i ponownie losuje jego parametry oraz wartości obecnych addonów. Zachowuje ich typy, liczbę i efekty orbów. Wyniki losowania mogą być niższe. Jedna sztuka daje jeden awans. Kolejny awans wymaga nowego orba (główna progresja do 120; 1000 to limit techniczny). Nie działa na materiały zużywalne.": "Raises the item level by 1 and rerolls stats and existing modifier values. Keeps modifier types, count and orb effects. Rolls may decrease. One orb per upgrade. Main progression to 120; technical cap 1000. Does not affect consumables.", + "BRAK SUROWCÓW": "NOT ENOUGH RESOURCES", + "BRAKUJE SUROWCÓW — NAJEDŹ NA RECEPTURĘ, ABY SPRAWDZIĆ KOSZT": "NOT ENOUGH RESOURCES — HOVER OVER THE RECIPE FOR COST", + "BROŃ %d / %s": "WEAPON %d / %s", + "BROŃ [%s]": "WEAPON [%s]", + "Bardzo szybkostrzelna broń kinetyczna. Zużywa 1 sztukę amunicji na strzał.": "Very rapid kinetic weapon. Consumes 1 ammunition per shot.", + "Bez przydziału": "Unassigned", + "Bezpieczny układ · zaopatrzenie": "Safe system · supplies", + "Bezpośrednie trafienie kadłuba dobija zwykłego obcego przy maksymalnie 8% kadłuba, a bossa przy 2%. Statek rozpada się na fragmenty.": "A direct hull hit finishes normal aliens at 8% hull or less and bosses at 2%. The ship breaks apart.", + "Bezpośrednie trafienie odsłoniętego kadłuba otwiera wyrwę na 5 s. Kolejne twoje trafienia ignorują połowę absorpcji tego statku. Wyrwy nie sumują się.": "A direct hit on exposed hull opens a breach for 5 s. Your following hits ignore half its absorption. Breaches do not stack.", + "Brak bezpiecznego miejsca na teleport": "No safe teleport location", + "Brak części": "No parts", + "Brak dostępnych addonów.": "No modifiers available.", + "Brak energii": "No energy", + "Brak modułu": "No module", + "Brak odpowiedniego przedmiotu": "No suitable item", + "Brak placówek. Szukaj głębokich złóż na planetach (szansa 60%). Budowa: zasobność × 10 części.": "No outposts. Find deep deposits on planets (60% chance). Construction: richness × 10 parts.", + "Brak połączenia z wyposażeniem statku.": "No connection to ship equipment.", + "Brak przedmiotów z addonami na statku. Zabierz wyposażenie z magazynu fregaty przed lądowaniem.": "No items with modifiers on board. Retrieve equipment from frigate storage before landing.", + "Brak rozszerzenia": "No extension", + "Brak sektorów do zbadania. Szukaj pustelnika na planecie lub map w łupach z wypraw.": "No unexplored sectors. Find a hermit on a planet or maps in expedition loot.", + "Brak wolnej, zbudowanej kajuty. Przygotuj pokój na fregacie.": "No free built cabin. Prepare a room on the frigate.", + "Brak zamontowanej broni": "No weapon installed", + "Brak załogantów. Przygotuj kajutę i zatrudnij specjalistę spotkanego na planecie.": "No crew. Prepare a cabin and hire a specialist found on a planet.", + "Brakuje %d kryształów czasu.": "Missing %d time crystals.", + "Brakuje kryształów, addon jest już maksymalny lub przedmiot jest niedostępny.": "Missing crystals, modifier already maximized, or item unavailable.", + "Brakuje zasobów. Koszt: ": "Missing resources. Cost: ", + "Broń obcych zadaje o 10% mniej obrażeń.": "Alien weapons deal 10% less damage.", + "Broń ręczna": "Sidearm", + "Budowa kosztuje zasobność × 10 części. Do wydobycia potrzebny jest załogant.": "Construction costs richness × 10 parts. Extraction requires a crew member.", + "Budowa wymaga po 100 każdego z pięciu surowców kosmicznych.": "Requires 100 of each of the five space resources.", + "Burza pyłowa": "Dust storm", + "CECHA GŁÓWNA": "PRIMARY STAT", + "Celny strzał": "Accurate shot", + "Ciężki, szybki pocisk kinetyczny. Silne pojedyncze uderzenie co 2,2 s. Zużywa 10 zwykłej amunicji, bez energii.": "Heavy fast kinetic projectile. Powerful hit every 2.2 s. Uses 10 regular ammunition and no energy.", + "Ciężkie drzwi ustępują. W niszy pośród zatartych reliefów czeka kolejny fragment dawnej technologii.": "The heavy doors yield. Among faded reliefs waits another fragment of ancient technology.", + "Czas między wystrzeleniem rakiet krótszy o %d%%. Działa po premiach sprzętu; minimalny odstęp to 1 s. Premie rang nie sumują się.": "Missile interval reduced by %d%%. Applied after equipment bonuses; minimum 1 s. Rank bonuses do not stack.", + "Czeka na załoganta": "Waiting for crew", + "DEUTER / PALIWO FREGATY": "DEUTERIUM / FRIGATE FUEL", + "DPS jednego działka": "DPS per turret", + "DPS uwzględnia premie wyposażenia, kapitana, krytyki i promieniowanie. To wartość teoretyczna, przed obroną celu; rzeczywisty wynik zależy od trafień, energii i amunicji.": "DPS includes equipment, captain, critical hits and radiation. Theoretical, before target defenses; actual damage depends on hits, energy and ammunition.", + "DZIAŁANIE %d s": "DURATION %d s", + "Daleko od światła powierzchni leży podziemny zbiornik. Wokół niego przetrwały najcenniejsze próbki — i najtrudniejsza droga powrotna.": "Deep below the surface lies a reservoir with valuable samples — and a difficult return route.", + "Deuter: %.1f · Produkcja: %.0f/min": "Deuterium: %.1f · Production: %.0f/min", + "Do 3% maksymalnych tarcz na sekundę.": "Up to 3% of maximum shields per second.", + "Dodaj amunicję": "Add ammunition", + "Dodano pełny pakiet zasobów, amunicję, wszystkie orby i %d map.\n%d przedmiotów czeka w magazynie fregaty; dodano też sprzęt kapitana i punkty nauki.": "Added resources, ammunition, all orbs and %d maps.\n%d items in frigate storage; captain gear and learning points added.", + "Dodatkowa tarcza już działa": "Auxiliary shield already active", + "Dodatkowe 5% obrażeń tarczom obcych. Sumuje się z Wiedzą o tarczach.": "An additional 5% damage to alien shields. Stacks with Shield knowledge.", + "Dodatkowe 5% szansy uniknięcia obrażeń od wrogich obcych. Łączy się niezależnie z pozostałymi unikami.": "An additional 5% chance to evade alien damage. Independent of other evasion rolls.", + "Dopalacz już działa": "Booster already active", + "Dopalacz pod TAB nie zużywa energii i działa również przy pustym generatorze. Tylko silnik.": "TAB boost costs no energy and works with an empty generator. Engine only.", + "Dowódca dronów": "Drone commander", + "Doładowanie tarcz": "Shield recharge", + "Doświadczenie (EXP)": "Experience (XP)", + "Drony już walczą": "Drones already deployed", + "Duże obrażenia na krótkim dystansie. Cztery strzały na sekundę.": "High damage at short range. Four shots per second.", + "Działka zewnętrzne": "External turrets", + "Działko gamma": "Gamma cannon", + "Działko maszynowe": "Machine gun", + "Działko plazmowe": "Plasma cannon", + "Działo artyleryjskie": "Artillery cannon", + "Energia na strzał": "Energy per shot", + "Ewakuuj pracowników": "Evacuate workers", + "FREGATA / POKŁAD OPERACYJNY": "FRIGATE / OPERATIONS DECK", + "FREGATA • PANCERZ": "FRIGATE • ARMOR", + "GROŹNA FAUNA": "DANGEROUS FAUNA", + "Globalnie odnawia tarcze z faktycznie zadanych obrażeń. Łącznie do 10% obrażeń; tempo odzysku do 5% maksymalnych tarcz/s, z rezerwą na jedno takie odnowienie.": "Recovers shields from actual damage dealt. Up to 10% of damage; capped at 5% maximum shields/s, with reserve for one such recovery.", + "Gorąca biosfera": "Hot biosphere", + "Górnik": "Miner", + "Gęsta mgła": "Dense fog", + "GŁĘBOKIE ZŁOŻE / DEUTER": "DEEP DEPOSIT / DEUTERIUM", + "Główna progresja: poziomy 1–120. HP, tarcze i atak wrogów rosną o 10% wartości bazowej na poziom, po 120 o 20%. Bazowe parametry łupu rosną o 7% na poziom przedmiotu. Bonusy procentowe mają limity. Poziom 1000 to limit techniczny wyposażenia.": "Main progression: levels 1–120. Enemy HP, shields and attack gain 10% of base per level, 20% after 120. Loot base stats gain 7% per item level. Percentage bonuses are capped. Technical equipment cap: 1000.", + "Głębokie złoże deuteru": "Deep deuterium deposit", + "HANGAR / OBSŁUGA": "HANGAR / MAINTENANCE", + "HANGAR / WYBÓR STATKU": "HANGAR / SHIP SELECTION", + "IDŹ DO NASTĘPNEGO POZIOMU": "GO TO NEXT LEVEL", + "INICJALIZACJA NAPĘDU SKOKOWEGO": "INITIALIZING JUMP DRIVE", + "INŻYNIER CHRONALNY": "CHRONAL ENGINEER", + "Inżynier chronalny": "Chronal engineer", + "Inżynierka rozłożyła stanowisko pomiarowe daleko od zabudowań. Potrzebuje lądownika do krótkiego testu nowego układu zasilania. Zapewnia podstawową zapłatę niezależnie od wyniku i dodatkową premię za poprawny przebieg próby. Gdy pytasz o ryzyko, bez słowa przesyła zapis poprzedniego testu. Widać na nim nagły skok napięcia.": "An engineer asks to test a new power system using your lander. Base payment is guaranteed, with a bonus for success. A previous recording shows a sudden voltage surge.", + "Izolowane próbki i komora do badań obcych organizmów.": "Isolated samples and a chamber for studying alien organisms.", + "Jeden załogant obsługuje jedną placówkę. Nowy przydział przenosi go z poprzedniej.": "One crew member operates one outpost. A new assignment replaces the previous one.", + "Jednorazowa wyprawa. Zużywa mapę i pobiera %d deuteru.": "Single-use expedition. Consumes the map and %d deuterium.", + "Jednorazowy powerbank. Przywraca 10% maksymalnej energii statku, do jego aktualnego limitu. Użyj klawiszem R podczas lotu.": "Single-use power bank. Restores 10% maximum ship energy up to its current cap. Press R during flight.", + "KAPITAN · PASYWNE": "CAPTAIN · PASSIVE", + "KOMPUTER": "COMPUTER", + "KORSARZ • ENERGIA": "CORSAIR • ENERGY", + "KOSZT BUDOWY": "CONSTRUCTION COST", + "KOSZT · posiadasz / wymagane\n": "COST · owned / required\n", + "KUP 100 AMUNICJI — 100 KREDYTÓW": "BUY 100 AMMUNITION — 100 CREDITS", + "KUP MAPĘ · %d KREDYTÓW": "BUY MAP · %d CREDITS", + "Kadłub jest pełny": "Hull is full", + "Kadłub jest w pełni sprawny. Naprawa nie jest potrzebna.": "Hull is fully intact. No repair needed.", + "Kadłub nie wymaga naprawy": "Hull does not need repair", + "Kadłub: %d · Tarcze: %d\nEnergia: %d · Prędkość: %d px/s": "Hull: %d · Shields: %d\nEnergy: %d · Speed: %d px/s", + "Kamuflaż": "Cloaking", + "Kamuflaż już działa": "Cloaking already active", + "Kapsuły do działka gamma. Obrażenia radiacyjne.": "Gamma cannon capsules. Radiation damage.", + "Każda nadlatująca wroga rakieta ma 25% szansy zostać przechwycona w zasięgu 240 px od statku. Przechwycona rakieta wybucha bez zadawania obrażeń. Jeden rzut na rakietę.": "Each incoming enemy missile has a 25% interception chance within 240 px. It explodes without damage. One roll per missile.", + "Każde bezpośrednie trafienie twojej broni zadaje obcym dodatkowe 5 obrażeń przed absorpcją.": "Each direct weapon hit deals 5 extra damage to aliens before absorption.", + "Każde bezpośrednie trafienie zadaje pełne obrażenia jednocześnie tarczom i kadłubowi obcego. Nadal działa absorpcja.": "Each direct hit deals full damage to alien shields and hull simultaneously. Absorption still applies.", + "Każdy orb jest jednorazowy i znika po użyciu. Kolejny awans wymaga kolejnej sztuki. Efekty tego samego orba nie sumują się. Orby typu obrażeń zastępują się. Replika trafia do magazynu.": "Orbs are consumed on use. Each upgrade needs another orb. Identical effects do not stack. Damage-type orbs replace each other. Replicas go to storage.", + "Każdy punkt: +1 punkt procentowy szansy na trafienie krytyczne. Maksymalnie +20 przy 20 punktach.": "Per point: +1 percentage point critical chance. Maximum +20 at 20 points.", + "Każdy punkt: +2% obrażeń wszystkich broni. Maksymalnie +40% przy 20 punktach.": "Per point: +2% damage for all weapons. Maximum +40% at 20 points.", + "Każdy strzał / impuls losuje obrażenia z tego zakresu.": "Each shot/pulse rolls damage within this range.", + "Każdy strzał ma 1% szansy wyłączyć na 5 sekund losowy system obcego: silnik, broń lub tarcze. Czerwona ikona nad wrogiem wskazuje wyłączony system. Obrażenia okresowe nie losują ponownie.": "Each shot has a 1% chance to disable a random alien engine, weapon or shields for 5 s. A red icon marks the system. Damage over time does not reroll.", + "Każdy zebrany odłamek asteroidy odnawia %.1f%% maksymalnych tarcz i energii.": "Each collected asteroid fragment restores %.1f%% of maximum shields and energy.", + "Kliknij, aby otworzyć ekwipunek kapitana": "Click to open captain inventory", + "Kliknij, aby wytworzyć": "Click to craft", + "Kliknięcie rozstawia autonomiczne działko lewitujące w miejscu. Koszt: dokładnie 50 amunicji, która trafia do jego magazynka. Działko samodzielnie celuje i oddaje 50 strzałów; potem znika. Obrażenia każdego pocisku są o 50% niższe niż działka maszynowego z takimi samymi parametrami. Nie zużywa dalszej amunicji statku. Znika przy dokowaniu lub zniszczeniu statku.": "Deploys an autonomous hovering turret. Costs exactly 50 ammunition loaded into its magazine. It aims automatically and disappears after 50 shots. Each shot deals 50% less damage than an equivalent machine gun. No further ship ammunition is used. Vanishes on docking or ship destruction.", + "Kolekcjoner minerałów": "Mineral collector", + "Kontynuuj wyprawę": "Continue expedition", + "Kontynuuj wyprawę [E]": "Continue expedition [E]", + "Korytarz rozszerza się w chłodną grotę. Na wapiennych ścianach widać kolejne skupiska nieznanych form życia.": "The corridor opens into a cool cavern with unknown life clustered on its walls.", + "Korzenie rozsunęły kamienie przy wejściu. Za progiem spoczywa porzucone urządzenie, pokryte pyłem minionych wieków.": "Roots have opened the entrance. Beyond it lies an ancient dust-covered device.", + "Koszt każdej technologii w tym rzędzie: %d próbek.": "Each technology in this row costs %d samples.", + "Koszt: %d próbek": "Cost: %d samples", + "Koszt: 10 kryształów × poziom przedmiotu. Gotowe maksima nie pobierają opłaty.": "Cost: 10 crystals × item level. Already-maximized values are not charged.", + "Kredyty: %d": "Credits: %d", + "Kredyty: %d · części: %d\nWydatki pobierane są od razu. Nowe nagrody zachowasz po bezpiecznym powrocie.": "Credits: %d · parts: %d\nCosts are paid immediately. New rewards are kept after a safe return.", + "Kryształy czasu": "Time crystals", + "Kryształy czasu: %d": "Time crystals: %d", + "Kup 1 rakietę za %d kredytów.": "Buy 1 missile for %d credits.", + "Kup 10 pocisków radiacyjnych za %d kredytów.": "Buy 10 irradiated rounds for %d credits.", + "Kup 100 zwykłych pocisków za %d kredytów.": "Buy 100 regular rounds for %d credits.", + "Kup amunicję do działka maszynowego.": "Buy machine gun ammunition.", + "Kup kontener · zawartość nieznana": "Buy container · contents unknown", + "Kup zestaw surowców": "Buy resource pack", + "LEĆ": "LAUNCH", + "LEĆ DO UKŁADU": "TRAVEL TO SYSTEM", + "Laser pulsacyjny": "Pulse laser", + "Laser radiacyjny": "Radiation laser", + "Laser wiązkowy": "Beam laser", + "Losowanie zakresu obrażeń broni (poziom 1)": "Weapon damage roll range (level 1)", + "Losuje przedmiot i addony dla poziomu aktualnego układu.": "Rolls an item and modifiers at the current system level.", + "Lot: poziom × 1000 deuteru. Powrót bezpłatny. Mapa zużywa się przy wylocie. Każdy sektor można odwiedzić tylko raz.": "Flight: level × 1000 deuterium. Free return. Map consumed on departure. Each sector can be visited only once.", + "LĄDOWNIK ZNISZCZONY · Utracono łup bieżącej wyprawy.": "LANDER DESTROYED · Current expedition loot lost.", + "LĄDOWNIK ZNISZCZONY — utracono łup wyprawy": "LANDER DESTROYED — expedition loot lost", + "Lądownik %d / 100 HP · Energia %d%%": "Lander %d / 100 HP · Energy %d%%", + "Lądownik wymaga naprawy do 100% we frachtowcu.": "Repair the lander to 100% at the freighter.", + "Lądownik · %d%%": "Lander · %d%%", + "MAGAZYN / ZASOBY I WYPOSAŻENIE": "STORAGE / RESOURCES AND EQUIPMENT", + "MAKSYMALIZUJ · %d KRYSZTAŁÓW": "MAXIMIZE · %d CRYSTALS", + "MODUŁY / Kliknij ikonę, aby przenieść przedmiot": "MODULES / Click an icon to transfer", + "MODUŁY STATKU": "SHIP MODULES", + "MYŚLIWIEC • SZYBKOŚĆ": "FIGHTER • SPEED", + "Ma 50%% szans na przejęcie uciekającego wroga (poniżej 10%% kadłuba). Jedna próba na statek; losowanie następuje, gdy jest wolne miejsce na przejęcie. Zamiast uciekać atakują swoich dawnych sojuszników. Bossowie są odporni na wirusa. Wrogowie atakują zawirusowane statki, gdy gracza nie ma w pobliżu. Nadal możesz uszkodzić i zniszczyć je własną bronią. Limit jednocześnie kontrolowanych: %d.": "50%% chance to take over fleeing enemies below 10%% hull. One attempt per ship when a control slot is free. They attack former allies. Bosses are immune. Enemies attack infected ships when you are away. You can still damage them. Control limit: %d.", + "Magazyn jest pełny — zwolnij miejsce.": "Storage full — free up space.", + "Magazyn pełny — zwolnij miejsce.": "Storage full — free up space.", + "Malejące korzyści: 37,5% × punkty / (punkty + 10). Maksymalnie 25% uniku przy 20 punktach. Unik anuluje całe trafienie.": "Diminishing returns: 37.5% × points / (points + 10). Maximum 25% evasion at 20 points. Evading cancels the entire hit.", + "Malejące korzyści: 50% × punkty / (punkty + 10). Maksymalnie 33,3% redukcji przy 20 punktach, przed tarczami i kadłubem.": "Diminishing returns: 50% × points / (points + 10). Maximum 33.3% reduction at 20 points, before shields and hull.", + "Manewr wyprzedzający": "Preemptive maneuver", + "Mapa odległych systemów · poz. %d": "Distant systems map · level %d", + "Mapa z tej wizyty została kupiona. Wróć po kolejnym lądowaniu po nową ofertę.": "Map already purchased. Land again for a new offer.", + "Mapa została już kupiona lub brakuje kredytów.": "Map already purchased or not enough credits.", + "Mapa: %d kredytów\nPaliwo na lot: %d deuteru\nPosiadasz: %d kredytów": "Map: %d credits\nFuel: %d deuterium\nOwned: %d credits", + "Miedź": "Copper", + "Miejsce na przyszłe badanie.": "Space for future research.", + "Między pustymi domami zarosła dawna ścieżka. W pozostawionych schowkach mogą jeszcze leżeć drobne oszczędności.": "An overgrown path winds between empty homes. Their caches might still hold savings.", + "Mnożnik krytyka": "Critical multiplier", + "Moduł": "Module", + "Mokradła": "Wetlands", + "Może później": "Maybe later", + "Możesz wybrać tylko jedną ofertę.": "You can choose only one offer.", + "NAJEDŹ NA IKONĘ, ABY ZOBACZYĆ KOSZT": "HOVER OVER AN ICON TO SEE COST", + "NAWIGACJA / ODKRYTE UKŁADY": "NAVIGATION / DISCOVERED SYSTEMS", + "NAWIGACJA / PLACÓWKI": "NAVIGATION / OUTPOSTS", + "NAŁÓŻ ORB": "APPLY ORB", + "NIEPOWODZENIE · utrata %d HP. Wcześniejszy łup pozostaje w ładowni.": "FAILURE · lost %d HP. Previous loot remains in cargo.", + "NIEZNANY UKŁAD. TWOJA WYPRAWA.": "UNKNOWN SYSTEM. YOUR EXPEDITION.", + "NISKI KADŁUB — %d%%": "LOW HULL — %d%%", + "NOWA UMIEJĘTNOŚĆ": "NEW SKILL", + "Na skraju polany stoi warsztat na szerokich gąsienicach. Mechanik odbiera sygnał z twojego lądownika i po chwili przesyła listę uszkodzeń. Ma części wystarczające na jedną szybką naprawę. Podaje cenę oraz dokładny zakres prac, po czym uruchamia spawarkę i czeka na odpowiedź.": "A mobile mechanic offers a quick repair. He sends the price and scope of work and awaits your answer.", + "Na stole ocalały dzienniki mieszkańców. Ich notatki mogą nauczyć cię, jak przetrwać na tej planecie.": "Surviving journals might teach you how to survive on this planet.", + "Nad małym obozem zbiera się burza, a jego transport ewakuacyjny stoi z rozebranym silnikiem. Pierwsza grupa ludzi czeka już przy awaryjnym schronieniu. Dalej pozostali pracownicy zabezpieczający sprzęt i ranni, których trudniej przenieść. Koordynator może zapłacić za każdy ukończony etap pomocy, ale z każdą minutą warunki będą gorsze.": "A storm threatens a camp whose evacuation transport is broken. Rescue people at the shelter, then workers and wounded. Each completed stage pays, but conditions worsen.", + "Najedź na nazwę przedmiotu, aby zobaczyć wszystkie addony i parametry.": "Hover over an item name to see all modifiers and stats.", + "Napraw do 100%% · koszt %d części. Pełny kadłub wymagany do lądowania.": "Repair to 100%% · cost %d parts. Full hull required for landing.", + "Napraw lądownik: +%d HP": "Repair lander: +%d HP", + "Naprawiają tyle kadłuba, ile pozwalają części i brakujące punkty. Koszt: 1 część za 1 punkt kadłuba. Nie zużywają energii.": "Repairs hull as parts and missing HP allow. Costs 1 part per hull point. No energy cost.", + "Naprawiono lądownik: +%d HP.": "Lander repaired: +%d HP.", + "Naprowadzana rakieta z małym uderzeniem. Zostawia płonący gaz na 5 s w promieniu 95 px: 110% obrażeń uderzenia na sekundę, kinetyczne. Nakładające się chmury nie sumują obrażeń.": "Guided missile with a small impact. Leaves burning gas for 5 s within 95 px: 110% impact damage/s, kinetic. Overlapping clouds do not stack.", + "Natychmiast naprawia %d%% maksymalnego kadłuba za 1 część. Wymaga uszkodzonego statku i aktywnego lotu.": "Instantly repairs %d%% maximum hull for 1 part. Requires a damaged ship in active flight.", + "Nie masz jeszcze umiejętności. To początek Twojej specjalizacji.": "No skills yet. Your specialization starts here.", + "Nie można zbudować placówki. Sprawdź liczbę części.": "Cannot build outpost. Check available parts.", + "Nie udało się otworzyć menu: %s": "Could not open menu: %s", + "Nie udało się przenieść do układu: %s": "Could not travel to system: %s", + "Niweluje obrażenia tego typu przed tarczą i pancerzem. Łączny limit statku: 60%.": "Reduces this damage type before shields and armor. Total ship cap: 60%.", + "Nowe badania w laboratorium trwają o %d%% krócej. Premie rang nie sumują się.": "New laboratory research takes %d%% less time. Rank bonuses do not stack.", + "Nowe układy odblokujesz, przechodząc dalej przez tunel po pokonaniu przeciwników.": "Unlock new systems by passing through the tunnel after defeating enemies.", + "Nowy poziom": "New level", + "O %d%% więcej kredytów za pokonanych wrogów. Premia obejmuje kredyty do zebrania po walce. Premie rang nie sumują się.": "%d%% more credits from defeated enemies, including collected drops. Rank bonuses do not stack.", + "OBÓZ SPECJALISTY / REKRUTACJA": "SPECIALIST CAMP / RECRUITMENT", + "ODCZYT PARAMETRÓW": "PARAMETER READOUT", + "ODCZYT: części zamienne. Ilość nieznana.": "SCAN: spare parts. Quantity unknown.", + "ODCZYT: podzespół statku. Poziomu i parametrów nie udało się ustalić.": "SCAN: ship component. Level and stats unknown.", + "ODCZYT: próbki mineralne. Dokładny skład i ilość nieznane.": "SCAN: mineral samples. Composition and quantity unknown.", + "ODKRYTE · DOSTĘPNE W ŁUPACH": "DISCOVERED · AVAILABLE AS LOOT", + "ODLEGŁY SEKTOR": "DISTANT SECTOR", + "ODŁÓŻ DO PLECAKA": "MOVE TO BACKPACK", + "ODŁÓŻ →": "STORE →", + "OSTATNI UKŁAD": "FINAL SYSTEM", + "OSŁONA %.0f / %.0f": "SHIELD %.0f / %.0f", + "OTWÓRZ WORMHOLE": "OPEN WORMHOLE", + "Obcy trafiający twoją aktywną tarczę otrzymuje wyładowanie równe 20% obrażeń faktycznie pochłoniętych przez osłonę. Bez kolejnych efektów trafienia.": "An alien hitting your active shield receives a discharge equal to 20% of actual absorbed damage. No additional hit effects.", + "Obok niewielkiej instalacji wydobywczej stoi łazik załadowany po same osie. Jego operator od tygodni wydobywa ten sam minerał, ale zabrakło mu materiałów do naprawy urządzeń. Proponuje wymianę części swojego zapasu na surowce z twojej ładowni. Przesyła dokładny wykaz towarów.": "A mining rover is loaded with minerals. Its operator needs repair materials and offers part of his stock in exchange for your resources. He sends an exact goods list.", + "Obrażenia": "Damage", + "Obrażenia broni": "Weapon damage", + "Obrażenia dronów bojowych większe o %d%%. Premie rang nie sumują się.": "Combat drones deal %d%% more damage. Rank bonuses do not stack.", + "Obrażenia kadłubów obcych": "Damage to alien hulls", + "Obrażenia krytyczne": "Critical damage", + "Obrażenia tarcz obcych": "Damage to alien shields", + "Obrażenia trafienia": "Hit damage", + "Obrażenia z addonów": "Modifier damage", + "Obrażenia: %s": "Damage: %s", + "Obóz specjalisty": "Specialist camp", + "Odbierz do ładowni statku. Przedmioty bez miejsca pozostają na fregacie.": "Retrieve into ship cargo. Items without space remain on the frigate.", + "Odblokuj 1 slot ładowni w hangarze: 100 żelaza + 50 aluminium.": "Unlock 1 cargo slot in the hangar: 100 iron + 50 aluminium.", + "Odległy sektor %03d": "Distant sector %03d", + "Odstęp między strzałami": "Shot interval", + "Odstęp rozstawiania": "Deployment interval", + "Odstęp strzałów działka": "Turret shot interval", + "Odstęp strzałów działka: %.2f s • Kolejne rozstawienie: %.2f s": "Turret interval: %.2f s • Next deployment: %.2f s", + "Odstęp strzałów: %.2f s": "Shot interval: %.2f s", + "Odwrócona polaryzacja": "Reversed polarity", + "Odzysk tarcz z obrażeń": "Shield recovery from damage", + "Odzyskane moduły · %d": "Recovered modules · %d", + "Odłóż wszystko →": "Store all →", + "Odłóż wyposażenie kapitana": "Store captain equipment", + "Ogólna wiedza": "General knowledge", + "Opady śniegu": "Snowfall", + "Orb elektryczności": "Electricity orb", + "Orb silników atomowych": "Atomic engine orb", + "Osiągnięto limit.": "Limit reached.", + "Ostatnie zapasy ukryto pod zawaloną częścią budynku. Belki skrzypią przy każdym kroku.": "Supplies lie under a collapsed building. Beams creak with every step.", + "Oszczędny laser wiązkowy: małe obrażenia i zasięg około jednego ekranu. Koszt impulsu rośnie z obrażeniami i addonami egzemplarza.": "Efficient beam laser: low damage and roughly one screen of range. Pulse cost scales with damage and modifiers.", + "Oszczędny magazynek": "Efficient magazine", + "Osłabienie broni obcych": "Weaken alien weapons", + "Otwórz przeskanowaną skrytkę": "Open scanned cache", + "Otwórz statek i sloty wyposażenia": "Open ship and equipment slots", + "PANCERZ": "ARMOR", + "PANCERZ REAKTYWNY": "REACTIVE ARMOR", + "POKÓJ 01": "CABIN 01", + "POKÓJ 02": "CABIN 02", + "POKÓJ 03": "CABIN 03", + "POKÓJ 04": "CABIN 04", + "POKÓJ 05": "CABIN 05", + "POSIADANE UMIEJĘTNOŚCI": "LEARNED SKILLS", + "POWRÓT NA STATEK [L]": "RETURN TO SHIP [L]", + "POWRÓT Z WYPRAWY": "RETURN FROM EXPEDITION", + "POWRÓT Z WYPRAWY · ": "EXPEDITION RETURN · ", + "POZIOM %d": "LEVEL %d", + "POZIOM %s / III · %s": "LEVEL %s / III · %s", + "PROJEKTY BRONI I ROZSZERZEŃ": "WEAPON AND EXTENSION DESIGNS", + "PRZEJDŹ DO HARD": "SWITCH TO HARD", + "PRÓBKI / %d": "SAMPLES / %d", + "PRĘDKOŚĆ: %.0f": "SPEED: %.0f", + "Pancerz reaktywny": "Reactive armor", + "Pancerz z tytanu": "Titanium armor", + "Parametry statku, uzbrojenie, pancerz i systemy": "Ship stats, weapons, armor and systems", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Przy niskim kadłubie pochłania 50% otrzymywanych obrażeń.": "Passive extension. Works while installed. Absorbs 50% incoming damage at low hull.", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Uciekający wrogowie przechodzą pod kontrolę wirusa i atakują inne wrogie statki.": "Passive extension. Fleeing enemies are taken over by the virus and attack other enemies.", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Zebrany odłamek asteroidy przywraca tarcze i energię.": "Passive extension. Collected asteroid fragments restore shields and energy.", + "Pasywny moduł prędkości. Na poziomie 1 bonus wynosi 1–5 px/s i rośnie wraz z poziomem przedmiotu.": "Passive speed module. Level 1 bonus: 1–5 px/s, increasing with item level.", + "Pewna wypłata albo ryzyko": "Guaranteed pay or risk", + "Pełne zachmurzenie": "Overcast", + "Pierwsze trafienie sięgające kadłuba po utracie tarcz zadaje kadłubowi o 70% mniej obrażeń. Odnowienie: 15 s aktywnego lotu.": "First hull hit after losing shields deals 70% less hull damage. Cooldown: 15 s of active flight.", + "Pierwsze trafienie w aktywną tarczę zadaje tylko 10% obrażeń. Odnowienie: 60 s. Redukcja obejmuje też przebicie tego trafienia na kadłub.": "First hit on active shields deals only 10% damage, including hull penetration. Cooldown: 60 s.", + "Pierwszy cel: pokonaj wrogów → pokonaj bossa → znajdź zamieszkaną planetę.": "First objective: defeat enemies → defeat the boss → find an inhabited planet.", + "Pilotaż": "Piloting", + "Placówka gotowa. Przydziel operatora w centrum dowodzenia.": "Outpost ready. Assign an operator in the command center.", + "Placówka górnicza": "Mining outpost", + "Placówka zbudowana · %.1f deuteru/min": "Outpost built · %.1f deuterium/min", + "Placówka: ": "Outpost: ", + "Po uszkodzeniu kadłuba pocisk lub laser przebija jeden dodatkowy cel za 50% obrażeń. Rakieta wypuszcza dodatkowy pocisk penetrujący bez kolejnej eksplozji. Bez łańcuchowych przestrzałów i dodatkowego kosztu strzału.": "After hull damage, a projectile or laser pierces one extra target for 50% damage. Missiles release a penetrating shot without another explosion. No chain piercing or extra cost.", + "Po zbiciu tarcz natychmiast odzyskujesz 25% ich maksimum. Przez 2 s obrażenia kierowane w tarczę są zmniejszone o 50%. Odnowienie: 30 s. Nie sumuje redukcji z Rozproszeniem salwy; działa silniejsza. Dokowanie nie resetuje odnowienia.": "On shield break, instantly recover 25%. For 2 s take 50% less shield damage. Cooldown: 30 s. Only the stronger reduction applies with Salvo dispersion. Docking does not reset cooldown.", + "Pochłania 50%% otrzymywanych obrażeń, gdy kadłub ma nie więcej niż %d%% maksimum. Próg sprawdzany przed trafieniem.": "Absorbs 50%% damage while hull is at most %d%%. Threshold checked before the hit.", + "Pociski do działka maszynowego. Obrażenia kinetyczne.": "Machine gun rounds. Kinetic damage.", + "Pociski, rakiety i lasery obcych mogą trafiać także innych wrogich obcych. Trafienie własnego statku strzelca jest wykluczone.": "Alien bullets, missiles and lasers can hit other aliens, but never the shooter's own ship.", + "Pod cienką warstwą gruntu żyła schodzi głębiej. Odwiert odsłoni bogatszy pokład, jeśli skała pozostanie stabilna.": "The vein extends deeper. Drilling could expose richer ore if the rock stays stable.", + "Pod zapadniętą podłogą kryje się sejf osady. Dotarcie do niego wymaga wejścia pod niestabilne stropy.": "The settlement safe lies beneath a collapsed floor, under unstable ceilings.", + "Pokonaj wszystkich wrogów": "Defeat all enemies", + "Pokój załogi z łóżkiem, biurkiem i miejscem na rzeczy osobiste.": "Crew cabin with bed, desk and personal storage.", + "Pomieszczenie jest wyposażone. Jego mechanika zostanie dodana w kolejnym etapie.": "Room furnished. Its functionality will be added later.", + "Powerbank przywraca %d%% maksymalnej energii zamiast 10%%. Umiejętność pasywna; premie rang nie sumują się.": "Power banks restore %d%% maximum energy instead of 10%%. Passive; rank bonuses do not stack.", + "Poziom %d": "Level %d", + "Pozostałe wybory po tym awansie: %d": "Remaining choices for this level-up: %d", + "Pozostało": "Remaining", + "Pozostało: %d s gry": "Remaining: %d gameplay seconds", + "Premia biomu: materiały ×%.1f · moduły +%d…+%d poz.\nLiczba amunicji i rakiet nie wzrasta.": "Biome bonus: materials ×%.1f · modules +%d…+%d levels\nAmmunition and missiles do not increase.", + "Premia do doświadczenia": "Experience bonus", + "Premia do kredytów": "Credit bonus", + "Premia do obrażeń": "Damage bonus", + "Premia ze sprzętu: do +100%. Umiejętności kapitana działają osobno.": "Equipment bonus: up to +100%. Captain skills apply separately.", + "Produkcja zwykłej i radiacyjnej amunicji daje o %d%% więcej sztuk za ten sam koszt. Nie dotyczy rakiet. Premie rang nie sumują się.": "Crafting regular and irradiated ammunition yields %d%% more for the same cost. Excludes missiles. Rank bonuses do not stack.", + "Przeciągnij, aby przesunąć okno": "Drag to move the window", + "Przeciążenie osłon": "Shield overload", + "Przeciążenie reaktora": "Reactor overload", + "Przejaśnienia": "Sunny spells", + "Przeniesiono %d przedmiotów.": "Transferred %d items.", + "Przenieś rannych": "Move the wounded", + "Przestrzał": "Piercing shot", + "Przez 10 s statek staje się niemal niewidoczny. Przeciwnicy nie wykrywają go ani nie śledzą. Oddanie strzału przerywa kamuflaż. Nie zapewnia odporności na już wystrzelone pociski. Odnowienie: 60 s.": "Nearly invisible for 10 s. Enemies cannot detect or track you. Firing breaks cloaking. Existing projectiles can still hit. Cooldown: 60 s.", + "Przy zakurzonym transporterze miga przenośny nadajnik. Właściciel przedstawia się jako niezależny dostawca, choć oznaczenia na skrzyniach należą do kilku różnych firm. Twierdzi, że kończy interesy na tej planecie i woli sprzedać zapasy taniej, niż zabierać je z powrotem na orbitę.": "An independent supplier sells his remaining stock cheaply rather than taking it back to orbit. His crates bear several companies' markings.", + "Przydziel załoganta w centrum dowodzenia fregaty. Deuter trafia automatycznie do magazynu, również gdy jesteś poza tą planetą.": "Assign crew in the frigate command center. Deuterium is delivered automatically even while you are away.", + "Przygotowana dla jednego załoganta. Specjalistów możesz zatrudniać na planetach.": "Prepared for one crew member. Hire specialists on planets.", + "Przypisz umiejętność do slotu F1–F5 w panelu kapitana": "Assign the skill to F1–F5 in the captain panel", + "Przywraca 100 punktów tarcz, do ich maksimum. Wymaga i zużywa 100% energii.": "Restores up to 100 shield points. Requires and consumes 100% energy.", + "Przywracają 10% maksymalnej energii. Użyj klawiszem R.": "Restores 10% maximum energy. Press R.", + "Próbki do analizy": "Analysis samples", + "Prędkość": "Speed", + "Prędkość aktualna": "Current speed", + "Prędkość lecącej wiązki: %.0f px/s": "Beam travel speed: %.0f px/s", + "Prędkość maksymalna": "Maximum speed", + "Prędkość obrotu": "Turn speed", + "Prędkość statku": "Ship speed", + "Pusty slot\nMiejsce na przyszłe badanie.": "Empty slot\nSpace for future research.", + "Pęknięcie poszycia": "Hull breach", + "Płatny skan skrytki": "Paid cache scan", + "RAKIETY": "MISSILES", + "RANDOLOOT / EKSPLORUJ • WALCZ • ROZWIJAJ STATEK": "RANDOLOOT / EXPLORE • FIGHT • UPGRADE YOUR SHIP", + "REAKTOR": "REACTOR", + "RESET SKILLI — 100 KREDYTÓW": "RESET SKILLS — 100 CREDITS", + "REZERWA KONDENSATORÓW": "CAPACITOR RESERVE", + "Radiacyjna kula. Napromieniowanie: 10 s, 25% obrażeń trafienia/s. Kolejne trafienia odświeżają czas. Zużywa napromieniowaną amunicję.": "Radiation sphere. Irradiation: 10 s at 25% hit damage/s. Further hits refresh duration. Uses irradiated ammunition.", + "Rakieta": "Missile", + "Redukcja obrażeń": "Damage reduction", + "Regały, pojemniki i stanowiska do przechowywania modułów.": "Shelves, containers and module storage stations.", + "Regeneracja energii +%d%% przez 7 sekund. Zużywa wszystkie tarcze i blokuje ich odzysk na czas działania. Wymaga min. 25%% tarcz.": "Energy regeneration +%d%% for 7 s. Consumes all shields and blocks their recovery during the effect. Requires at least 25%% shields.", + "Rekrutacja: %d kredytów · posiadasz: %d": "Recruitment: %d credits · owned: %d", + "Rezerwa kondensatorów": "Capacitor reserve", + "Rozbity przekaźnik": "Broken relay", + "Rozłóż przedmiot: +10 części": "Dismantle item: +10 parts", + "Rtęć": "Mercury", + "SIEĆ WYDOBYWCZA": "MINING NETWORK", + "SILNIK": "ENGINE", + "SKŁAD MODUŁÓW W REMONCIE": "MODULE STORAGE UNDER CONSTRUCTION", + "SPACJA — pomiń intro": "SPACE — skip intro", + "SPRZĘT KAPITANA · %d szt. ODZYSKANE MODUŁY · %d": "CAPTAIN GEAR · %d items RECOVERED MODULES · %d", + "SPRÓBUJ PONOWNIE [R]": "RETRY [R]", + "STATEK GRACZA": "PLAYER SHIP", + "STATEK ZABEZPIECZONY": "SHIP SECURED", + "STATEK ZNISZCZONY": "SHIP DESTROYED", + "STATEK · %d / %d": "SHIP · %d / %d", + "STATEK · PASYWNE": "SHIP · PASSIVE", + "STAŁY EFEKT": "PERMANENT EFFECT", + "SYSTEMY I MODUŁY": "SYSTEMS AND MODULES", + "SYSTEMY POKŁADOWE": "ONBOARD SYSTEMS", + "Sektory poza znanymi szlakami. Podwójna liczba wrogów, jeden boss. Kryształy czasu z każdego wroga. Zwykli wrogowie: mapy i powerbanki po 15%. Boss zawsze zostawia 1 mapę i 1 losowy orb, a dodatkowo ma 5% szansy na Orb replikacji.": "Distant sectors: twice as many enemies, one boss. Every enemy drops time crystals. Normal enemies: 15% each for maps and power banks. Boss always drops one map and a random orb, plus a 5% replication-orb chance.", + "Skaliste wyżyny": "Rocky highlands", + "Skan ujawni rodzaj zawartości, ale nie jej ilość ani stan. Otwarcie wymaga osobnej opłaty.": "Scan reveals content type, not quantity or condition. Opening costs extra.", + "Skan zakończony. Możesz opłacić otwarcie lub wrócić później.": "Scan complete. Pay to open or return later.", + "Skrócenie cooldownu rakiet": "Missile cooldown reduction", + "Spadek kadłuba z co najmniej 30% poniżej tego progu uruchamia naprawę 15% maksymalnego kadłuba przez 5 s. Odnowienie: 45 s. Trafienia nie przerywają naprawy.": "Dropping from at least 30% hull below that threshold repairs 15% maximum hull over 5 s. Cooldown: 45 s. Hits do not interrupt.", + "Spadek tarcz z co najmniej 30% poniżej tego progu zmniejsza koszt energii broni o 50% przez 2 s. Odnowienie: 15 s.": "Dropping from at least 30% shields below that threshold reduces weapon energy cost by 50% for 2 s. Cooldown: 15 s.", + "Specjalista z obozu szuka pracy. Obejrzyj umiejętności i zdecyduj — możesz wrócić później. Koszt zatrudnienia: 1000 kredytów × zarządzanie.": "A specialist is looking for work. Review their skills; you may return later. Cost: 1000 credits × management.", + "Specjalista został już zatrudniony.": "Specialist already hired.", + "Spotkanie zakończone. Nagrody w ładowni wyprawy przepadną po zniszczeniu lądownika.": "Encounter finished. Expedition cargo rewards are lost if the lander is destroyed.", + "Sprzedaj próbki": "Sell samples", + "Sprzęt: do +100% mnożnika bazowego, maksymalnie ×4.": "Equipment: up to +100% base multiplier, maximum ×4.", + "Sprzęt: do 15% pojemności generatora/s. Ładowanie przy gwieździe i czasowe umiejętności dodają osobne premie.": "Equipment: up to 15% generator capacity/s. Star charging and temporary skills add separate bonuses.", + "Sprzęt: do 40%. Łącznie z umiejętnościami: do 60%.": "Equipment: up to 40%. With skills: up to 60%.", + "Stanowiska analityczne, aparatura i stół do doświadczeń.": "Analysis stations, instruments and an experiment table.", + "Starożytna struktura": "Ancient structure", + "Start": "Start", + "Statek i kapitan": "Ship and captain", + "Statek jest zniszczony": "Ship is destroyed", + "Statek niedostępny": "Ship unavailable", + "Strzał w 10": "Bullseye", + "Sukces: %.2f%% · w razie porażki: −%d–%d HP\nSzansa uwzględnia warunki planety i sprzęt kapitana.": "Success: %.2f%% · failure: −%d–%d HP\nChance includes planet conditions and captain gear.", + "Sygnał prowadzi do samotnego badacza pochylonego nad analizatorem próbek. Na widok twojego spisu ładunku nagle przerywa rozmowę. Jednego z przewożonych przez ciebie surowców potrzebuje do ukończenia badań. Ma środki z kończącego się grantu i jest gotów zapłacić więcej niż zwykły skup.": "A lone researcher urgently needs one of your resources to finish a study. His remaining grant allows him to pay above the usual rate.", + "Szansa szczęścia": "Luck chance", + "Szansa uniku wynosi %d%% przez 5 sekund. Unik anuluje całe trafienie.": "Evasion chance is %d%% for 5 s. Evading cancels the entire hit.", + "Szczęście": "Luck", + "Szczęście (limit 60%)": "Luck (60% cap)", + "Szczęście: %d%% szans na przedmiot o 1 poziom wyższy niż bazowy loot planszy. Dotyczy lootu z wrogów i znalezisk. Bazowo: 0%%. Sumuje się ze sprzętem do limitu 60%%. Premie rang nie sumują się.": "Luck: %d%% chance for loot one level above the base. Applies to enemies and discoveries. Base 0%%. Stacks with gear up to 60%%. Rank bonuses do not stack.", + "Szerszeń": "Hornet", + "Szybko rozpędza do 300% zwykłej prędkości (+200%), następnie wytraca nadmiar prędkości. Bez kosztu energii.": "Quickly accelerates to 300% normal speed (+200%), then loses excess speed. No energy cost.", + "Szybko rozpędza do 300% zwykłej prędkości (+200%), następnie wytraca nadmiar prędkości. Wymaga i zużywa 100% energii.": "Quickly accelerates to 300% normal speed (+200%), then loses excess speed. Requires and consumes 100% energy.", + "Szybkostrzelność": "Fire rate", + "Słaby punkt": "Weak point", + "Słaby sygnał alarmowy dobiega z przewróconego łazika. Jego kierowca żyje, lecz nie może wydostać się z kabiny. Do uniesienia wraku potrzebny jest prowizoryczny podnośnik zbudowany z twoich części. Czujniki ostrzegają, że uszkodzona bateria pojazdu jest niestabilna. Uwięziony obiecuje zapłatę, jeśli pomożesz mu wrócić do obozu.": "A driver is trapped in an overturned rover. Build a makeshift jack from your parts. The battery is unstable; he promises payment for rescue.", + "Ta decyzja jest niedostępna.": "This choice is unavailable.", + "Tajemniczy łup: 50% części, 35% minerały, 10% rakiety, 5% moduł. Wartość może być niższa od opłaty.": "Mystery loot: 50% parts, 35% minerals, 10% missiles, 5% module. Value may be below the price.", + "Tarcza zewnętrzna": "Auxiliary shield", + "Tarcze są pełne": "Shields are full", + "Tarcze wyłączone przez Przekierowanie zasilania": "Shields disabled by Power redirect", + "Teleportuje w losowe, bezpieczne miejsce systemu. Zużywa całą aktualną energię (wymaga dodatniej energii). Odnowienie: 60 s.": "Teleports to a random safe system location. Consumes all current energy; requires positive energy. Cooldown: 60 s.", + "Ten addon ma już maksymalną wartość lub nie posiada zakresu losowania.": "Modifier already maximized or has no roll range.", + "Ten etap ma 0% szans. Obniż zagrożenie odpowiednim wyposażeniem.": "0% success chance. Reduce hazard with suitable equipment.", + "Teoretyczny DPS: uwzględnia krytyki i promieniowanie; przed obroną celu, przy dostępnej energii i amunicji.": "Theoretical DPS: critical hits and radiation, before target defenses, with energy and ammunition available.", + "To miejsce zostało już odwiedzone.": "This location was already visited.", + "To spotkanie jest już niedostępne.": "This encounter is no longer available.", + "Trafienie dowolną bronią razi też obcych do 10 px od obrysu trafionego statku. Promień eksplozji twoich rakiet rośnie o 10 px. Bez łańcuchowych rykoszetów.": "Weapon hits also damage aliens within 10 px of the target outline. Missile blast radius +10 px. No chain ricochets.", + "Trafienie tarczy obcego blokuje regenerację na 5 s. Kolejne trafienia odświeżają czas.": "Hitting alien shields blocks regeneration for 5 s. Further hits refresh duration.", + "Trwa wyprawa do sektora %d. Użyj przycisku POWRÓT Z WYPRAWY na pokładzie, aby wrócić do układu startowego przed kolejnym lotem.": "Expedition to sector %d in progress. Use the deck return button before another flight.", + "Trwale zmienia typ obrażeń broni na energetyczny (jak laser). Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.": "Permanently changes weapon damage to energy. No change to damage or shot cost. Replaces the previous damage-type orb.", + "Trwale zmienia typ obrażeń broni na kinetyczny. Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.": "Permanently changes weapon damage to kinetic. No change to damage or shot cost. Replaces the previous damage-type orb.", + "Trwale zmienia typ obrażeń broni na radiacyjny. Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.": "Permanently changes weapon damage to radiation. No change to damage or shot cost. Replaces the previous damage-type orb.", + "Twoja broń zadaje dodatkowe 5% obrażeń kadłubom obcych. Sumuje się z Wiedzą o kadłubie.": "Additional 5% weapon damage to alien hulls. Stacks with Hull knowledge.", + "Twoja broń zadaje o 10% więcej obrażeń kadłubom obcych.": "10% more weapon damage to alien hulls.", + "Twoja broń zadaje o 10% więcej obrażeń tarczom obcych.": "10% more weapon damage to alien shields.", + "Tworzy dokładną, niezależną kopię wyposażenia w magazynie frachtowca. Oryginał zostaje. Kopiuje poziom, addony i efekty orbów. Drop: dodatkowe 5% z bossa dalekiej wyprawy.": "Creates an exact independent equipment copy in freighter storage. Original stays. Copies level, modifiers and orbs. Additional 5% drop chance from distant expedition bosses.", + "Tylko silnik. Trwale zmniejsza zużycie energii dopalacza TAB o 50%. Nie sumuje się. Orb darmowego dopalacza ma pierwszeństwo.": "Engine only. Permanently halves TAB energy cost. Does not stack. Free booster orb takes priority.", + "Tylko tarcze. Trafienie w tarcze odnawia do 5% maksymalnych tarcz jako energię, nie więcej niż faktycznie stracone tarcze. Tempo odzysku: do 5% pojemności generatora/s, z rezerwą na jedno takie odnowienie. Uniki i trafienia w sam kadłub nie aktywują efektu.": "Shields only. Hits restore up to 5% maximum shields as energy, capped by actual shield loss. Rate: 5% generator capacity/s with reserve for one recovery. Evades and hull-only hits do not trigger it.", + "Typ obrażeń: %s": "Damage type: %s", + "U podnóża góry otwiera się ciemna szczelina. Przy wilgotnych skałach rosną organizmy warte dokładniejszej analizy.": "A dark fissure at the mountain's foot shelters organisms worth studying.", + "UMIEJĘTNOŚCI KAPITANA": "CAPTAIN SKILLS", + "USŁUGI TUBYLCÓW": "LOCAL SERVICES", + "Ujawnia paski HP i tarcz wrogów.": "Reveals enemy HP and shield bars.", + "Układ %d\nWyposażenie i zapasy zostają zachowane.": "System %d\nEquipment and supplies are retained.", + "Układ bezpieczny. Usługi dostępne.": "System safe. Services available.", + "Umiejętności kapitana": "Captain skills", + "Umiejętności kapitana · punkty do wydania: %d": "Captain skills · available points: %d", + "Umiejętność nie jest odblokowana": "Skill not unlocked", + "Uwzględnia mechanika i aktywny efekt pancerza z tytanu.": "Includes mechanic and active titanium armor effect.", + "W ruinach starego magazynu ktoś odnalazł pancerną skrytkę. Stojąca obok operatorka ma skaner zdolny zajrzeć przez jej osłonę, lecz urządzenie zużywa drogie ogniwa. Za niewielką opłatą sprawdzi, co może znajdować się w środku. Otwarcie zamka będzie kosztować osobno. Uprzedza, że skorodowana obudowa zakłóca odczyt.": "An operator can scan an ancient armored cache for a fee. The scan reveals possible contents; opening costs extra. Corrosion interferes with the reading.", + "W sercu budowli ocalał niezwykły mechanizm. Aby go wydobyć, trzeba poruszyć konstrukcję, która od dawna nie powinna stać.": "An unusual mechanism survives inside. Recovering it could destabilize the ancient structure.", + "W zaciszu chaty pustelnik przechowuje współrzędne miejsc poza znanymi szlakami. Oferuje ci jedną ze swoich map.": "A hermit offers a map of locations beyond known routes.", + "W zasięgu gwiazdy przywraca 20% maksymalnych tarcz na sekundę przez maksymalnie 5 s. Opuszczenie zasięgu kończy efekt. Odnowienie: 30 s.": "In star range: restores 20% maximum shields/s for up to 5 s. Leaving range ends the effect. Cooldown: 30 s.", + "W — ciąg · S — hamuj / wstecz · A/D — obrót\nQ/R — ruch boczny · TAB — dopalanie · E — odwiedź POI": "W — thrust · S — brake/reverse · A/D — turn\nQ/R — strafe · TAB — boost · E — visit POI", + "WORMHOLE\nWleć, aby przejść do następnego układu": "WORMHOLE\nEnter to reach the next system", + "WORMHOLE — następny układ": "WORMHOLE — next system", + "WRÓĆ DO LOTU": "RETURN TO FLIGHT", + "WRÓĆ DO UKŁADU %d [R]": "RETURN TO SYSTEM %d [R]", + "WYTWÓRZ": "CRAFT", + "Weź gwarantowany zestaw": "Take guaranteed supplies", + "Wiatr przesuwa kurz po podłodze pustego magazynu. Kilka skrzyń wciąż ma nienaruszone zamknięcia.": "Dust drifts through an empty warehouse. Some crates remain sealed.", + "Wiedza o kadłubie": "Hull knowledge", + "Wleć w wormhole, aby przejść dalej.": "Fly into the wormhole to proceed.", + "Wrogie pociski i lasery mają 25% szansy na dodatkowy szeroki rozrzut celowania.": "Enemy projectiles and lasers have a 25% chance of increased aim spread.", + "Wróć do wyprawy": "Return to expedition", + "Wróć na pokład": "Return aboard", + "Wszystkie dostępne projekty zostały wynalezione.": "All available projects researched.", + "Wybierz aktywną umiejętność dla F%d. Pasywne działają bez zajmowania slotu.": "Choose an active skill for F%d. Passives do not occupy a slot.", + "Wybierz jednostkę i rozpocznij wyprawę.": "Choose a ship and begin your expedition.", + "Wybierz jedną umiejętność. Wybór obowiązuje przez całą rozgrywkę.": "Choose one skill. The choice lasts for the entire run.", + "Wybierz moduł lub broń\nPPM / Esc — anuluj": "Choose module or weapon\nRight-click/Esc — cancel", + "Wybierz pomieszczenie na pokładzie.": "Choose a room on deck.", + "Wybierz pomieszczenie na pokładzie. · Warsztat i hangar są dostępne.": "Choose a room. Workshop and hangar are available.", + "Wybierz projekt. Nowe badanie trwa %d sekund gry. Odkryta broń lub rozszerzenie zacznie pojawiać się w łupach. Od początku dostępne jest działko plazmowe.": "Choose a project. Research takes %d gameplay seconds. Discovered weapons and extensions enter loot drops. Plasma cannon is available from the start.", + "Wybierz przedmiot i konkretny addon. Inżynier ustawi tylko jego wartość na maksimum dla obecnego poziomu przedmiotu.": "Choose an item and modifier. The engineer maximizes only that value for the current item level.", + "Wybierz umiejętność · oczekujące awanse: %d": "Choose skill · pending level-ups: %d", + "Wybrany addon ma teraz maksymalną wartość dla obecnego poziomu przedmiotu.": "Selected modifier is now maximized for the current item level.", + "Wydobycie = zasobność × (1 + zarządzanie / 100). Bez załoganta: 0. Części: %d / %d": "Extraction = richness × (1 + management/100). No crew: 0. Parts: %d / %d", + "Wydobycie: zasobność × (1 + zarządzanie / 100) deuteru/min. Bez załoganta: 0. Złoża nie wyczerpują się.": "Extraction: richness × (1 + management/100) deuterium/min. No crew: 0. Deposits do not deplete.", + "Wydobywany z asteroid. Składnik receptur warsztatu.": "Mined from asteroids. Used in workshop recipes.", + "Wyjście": "Exit", + "Wymagana 1 część": "Requires 1 part", + "Wymagana dodatnia maksymalna pojemność tarcz": "Requires positive maximum shield capacity", + "Wymagana pełna energia": "Requires full energy", + "Wymagana zamontowana broń": "Requires an installed weapon", + "Wymagane 50 szt. zwykłej amunicji": "Requires 50 regular ammunition", + "Wymagany zasięg gwiazdy": "Requires star range", + "Wymiana towarów": "Goods exchange", + "Wymień surowce": "Exchange resources", + "Wymień surowce na 3 rakiety": "Trade resources for 3 missiles", + "Wyprawa zakończona. Mapa została zużyta.\nPowrót do układu %d.\nWyposażenie i zapasy zostają zachowane.": "Expedition finished. Map consumed.\nReturning to system %d.\nEquipment and supplies retained.", + "Wypuszcza 3 drony na 10 s. Strzelają działkami mechanicznymi; łącznie zadają 50% DPS statku w momencie startu. Koszt: 50 szt. zwykłej amunicji. Odnowienie: 30 s.": "3 drones for 10 s. Together they deal 50% ship DPS at launch. Cost: 50 regular ammunition. Cooldown: 30 s.", + "Wypuszcza trzy flary na 10 s. Wrogowie w zasięgu obierają je za cel zamiast gracza. Odnowienie: 30 s.": "3 flares for 10 s. Enemies in range target them instead of you. Cooldown: 30 s.", + "Wyrzutnia rakiet zapalających": "Incendiary missile launcher", + "Wystrzeliwuje naprowadzaną rakietę z eksplozją obszarową. Cooldown: 5 s.": "Fires a guided missile with an area blast. Cooldown: 5 s.", + "Wystrzeliwuje pojedyncze krótkie czerwone wiązki, które szybko lecą przez przestrzeń. Każdy impuls ma 50% szansy całkowicie ominąć tarcze i trafić w kadłub. Zadaje o 30% mniej obrażeń niż laser wiązkowy z takimi samymi parametrami i zużywa o 30% więcej energii.": "Short red laser pulses. Each has a 50% chance to bypass shields entirely. 30% less damage and 30% higher energy cost than an equivalent beam laser.", + "Wystrzeliwuje rakietę prosto w kierunku celownika. Większe obrażenia i eksplozja obszarowa. Zużywa amunicję rakietową.": "Fires a rocket straight toward the crosshair. Higher damage and area blast. Uses missile ammunition.", + "Wytwarzane z minerałów, odzyskiwane z przedmiotów i wraków. Do napraw.": "Crafted from minerals or salvaged from items and wrecks. Used for repairs.", + "Wąska szczelina prowadzi do najbogatszej części złoża. Każde uderzenie narzędzia odbija się głuchym echem.": "A narrow crack leads to the richest deposit. Tool strikes echo dully.", + "Wędrowiec": "Wanderer", + "Wędrowny handlarz": "Traveling merchant", + "Wśród zwietrzałych skał połyskują drobiny rzadkich minerałów. Wystarczy ostrożnie oddzielić je od podłoża.": "Rare minerals glitter among weathered rocks. Carefully separate them.", + "Z załogantem: %.1f–%.1f deuteru/min (zarządzanie 1–100).": "With crew: %.1f–%.1f deuterium/min (management 1–100).", + "ZATRUDNIJ · %d KREDYTÓW": "HIRE · %d CREDITS", + "ZBUDUJ PLACÓWKĘ · %d CZĘŚCI": "BUILD OUTPOST · %d PARTS", + "ZBUDUJ SEKCJĘ": "BUILD SECTION", + "ZBUDUJ SKŁAD": "BUILD STORAGE", + "ZUŻYTY": "CONSUMED", + "ZUŻYWALNY": "CONSUMABLE", + "ZWOLNIJ ZAŁOGANTA": "DISMISS CREW MEMBER", + "ZWYKŁE %02d": "NORMAL %02d", + "Za stalową kratą zachowały się regały z wojskowym zaopatrzeniem. Rdza utrudnia dostęp do ciężkich pojemników.": "Military supplies lie behind a steel grate. Rust hinders access to heavy containers.", + "Zadokuj statkiem, aby rozbudować sloty.": "Dock to expand slots.", + "Zagrożenie %.1f%% / 300%% · Łup POI ×%.2f": "Hazard %.1f%% / 300%% · POI loot ×%.2f", + "Zagrożenie po sprzęcie: %.1f%% / 300%% (bez sprzętu %.1f%%).": "Hazard after gear: %.1f%% / 300%% (without gear %.1f%%).", + "Zajęte miejsca": "Occupied slots", + "Zakończ pomoc i zachowaj dotychczasową zapłatę": "Finish helping and keep payment so far", + "Zakończ wyprawę i wróć do układu startowego. Powrót jest bezpłatny.": "End expedition and return to the starting system for free.", + "Zakończono pomoc. Dotychczasowa zapłata pozostaje w ładowni wyprawy.": "Assistance finished. Payment remains in expedition cargo.", + "Zakres przed krytykiem i obroną przeciwnika.": "Range before critical hits and target defenses.", + "Zakupy za kredyty tańsze o %d%%.": "Credit purchases cost %d%% less.", + "Zakłócenia systemów obcych": "Alien systems disruption", + "Zamieć śnieżna": "Blizzard", + "Zarządca opuszczanego punktu przeładunkowego sprzedaje ostatnie zapasy. Za podaną kwotę możesz zabrać przygotowany zestaw części albo jeden z zaplombowanych pakietów odzyskanych z transportu. Otwarty zestaw jest skromny, ale sprawdzony. W zamkniętych pakietach zdarzały się wartościowe podzespoły — oraz materiały, których nikt nie chciał kupić.": "A depot manager sells remaining supplies. Choose a modest guaranteed parts pack or a sealed mystery package. It may hold valuable components or worthless materials.", + "Zarządzanie: %d / 100\nPremia do wydobycia: +%d%%\nPochodzenie: %s": "Management: %d / 100\nExtraction bonus: +%d%%\nOrigin: %s", + "Zasady łączenia": "Stacking rules", + "Zasięg": "Range", + "Zasięg działka: %.0f px • Magazynek: 50 pocisków • Koszt rozstawienia: 50 amunicji": "Turret range: %.0f px • Magazine: 50 rounds • Deployment: 50 ammunition", + "Zasięg skanera": "Scanner range", + "Zasięg: %.0f px • Amunicja: %d / strzał": "Range: %.0f px • Ammunition: %d/shot", + "Zasięg: %.0f px • Energia: %.1f / strzał": "Range: %.0f px • Energy: %.1f/shot", + "Zasięg: %.0f px • Napromieniowana amunicja: 1 / strzał": "Range: %.0f px • Irradiated ammunition: 1/shot", + "Zasobność: %d / 100": "Richness: %d / 100", + "Zasobność: %d / 100 · złoże niewyczerpywalne": "Richness: %d / 100 · inexhaustible", + "Zatrudnienie wymaga wolnej, zbudowanej kajuty i kredytów: 1000 × zarządzanie.": "Requires a free built cabin and credits: 1000 × management.", + "Załogant zajął wolną kajutę na fregacie. Przydziel go do stacji w centrum dowodzenia.": "Crew member occupies a free cabin. Assign them to a station in command.", + "Zbicie tarczy obcego razi pozostałych obcych w promieniu 120 px za 400% obrażeń trafienia, które zbiło tarczę. Bez reakcji łańcuchowych. Ten sam wróg wywołuje impuls najwyżej raz na 10 s.": "Breaking alien shields damages others within 120 px for 400% of the breaking hit. No chains. Each enemy triggers at most once per 10 s.", + "Zbieracz złomu": "Scrap collector", + "Zbierz łup i wróć do frachtowca": "Collect loot and return to the freighter", + "Zbuduj podnośnik i pomóż kierowcy": "Build a jack and help the driver", + "Zdobądź brakujące surowce z asteroid": "Gather missing resources from asteroids", + "Zielony laser pulsacyjny. Trafienie napromieniowuje: 100% obrażeń impulsu na sekundę przez 10 s. Kolejne impulsy odświeżają czas, działa najmocniejsze napromieniowanie.": "Green pulse laser. Irradiates for 100% pulse damage/s over 10 s. Further pulses refresh duration; strongest effect applies.", + "Zleć skan skrytki": "Request cache scan", + "Znajdź zamieszkaną planetę": "Find an inhabited planet", + "Znaleziono moduł": "Module found", + "Znaleziska są w ładowni wyprawy. Zachowasz je po bezpiecznym powrocie na statek.": "Finds are in expedition cargo. Keep them after returning safely.", + "Zostawia minę na 60 s. Uzbraja się po 0,7 s. Trafiony wróg otrzymuje obrażenia równe 5% maksymalnego kadłuba (bez redukcji absorpcji) i zwalnia o 50% na 5 s. Zrzut co 5 s.": "Mine lasts 60 s, arms after 0.7 s. Deals 5% target maximum hull damage without absorption reduction and slows 50% for 5 s. Drop every 5 s.", + "Zostawia minę na 60 s. Uzbraja się po 0,7 s. Wykrywa bliski przelot wroga. Wybuch w promieniu 140 jednostek zadaje każdemu wrogowi 50% aktualnego kadłuba bez redukcji absorpcji (tarcze pochłaniają obrażenia) i spowalnia o 50% na 5 s.": "Mine lasts 60 s, arms in 0.7 s. Nearby enemies trigger a radius-140 blast: 50% current hull damage without absorption; shields absorb it. Slows 50% for 5 s.", + "Zużycie amunicji mniejsze o %d%%. Obejmuje zwykłą i napromieniowaną amunicję, bez rakiet.": "Ammunition consumption −%d%%. Regular and irradiated rounds, not missiles.", + "Zużywa 70% maksymalnej energii i tworzy osobną tarczę o pojemności 50% aktualnych maksymalnych tarcz statku. Większa, fioletowa osłona pochłania obrażenia przed zwykłymi tarczami. Działa do wyczerpania, nie regeneruje się i nie nakłada się na kolejną kopię. Dokowanie i Przekierowanie zasilania ją wyłączają.": "Uses 70% maximum energy for an auxiliary shield at 50% maximum shield capacity. Larger purple layer absorbs first. Lasts until depleted; no regeneration or stacking. Docking and Power redirect disable it.", + "Zwiększa maksymalne tarcze o 10%. Zakup nie uzupełnia osłon.": "Maximum shields +10%. Purchase does not refill shields.", + "Zwiększa maksymalny kadłub twojego statku o 10%. Zakup nie odnawia utraconego kadłuba.": "Maximum hull +10%. Purchase does not repair damage.", + "Zwiększa maksymalną pojemność energii.": "Increases maximum energy capacity.", + "Zwiększa maksymalną pojemność tarcz i stale je regeneruje.": "Increases maximum shields and regenerates them continuously.", + "Zwiększa maksymalną pojemność tarcz statku i stale je regeneruje.": "Increases maximum ship shields and regenerates them continuously.", + "Zwiększa maksymalną wytrzymałość kadłuba.": "Increases maximum hull strength.", + "Zwiększa szansę na przedmiot o 1 poziom wyższy. Sumuje się z Farciarzem, do wspólnego limitu 60%.": "Increases chance of an item one level higher. Stacks with Lucky up to a shared 60% cap.", + "Zwiększa tempo strzałów tej broni. Koszt pojedynczego strzału pozostaje bez zmian. Limit bonusu: 25%.": "Increases this weapon's fire rate without changing shot cost. Bonus cap: 25%.", + "Zwiększa zasięg stałego skanera wykrywającego wrogów, asteroidy, wraki i antyczne znaleziska.": "Increases scanner range for enemies, asteroids, wrecks and ancient discoveries.", + "Zwykła": "Regular", + "Zwykła amunicja": "Regular ammunition", + "Zwykły": "Normal", + "Zwykły lot: do 240 px/s. TAB: do 480 px/s. Aktywny dopalacz: do 600 px/s.": "Normal flight: up to 240 px/s. TAB: up to 480 px/s. Active booster: up to 600 px/s.", + "Złomiarz wyciągnął z wraku zamknięty kontener. Plomba wygląda na nienaruszoną, ale tabliczka ładunkowa została wypalona podczas wejścia w atmosferę. Sprzedawca nie zamierza tracić czasu na otwieranie zabezpieczeń. Podaje cenę za całość i zapewnia, że poprzedni kupujący trafił świetnie. O wcześniejszych klientach mówi już mniej chętnie.": "A salvager sells a sealed wreck container. Its cargo label burned away. He sells it unopened and speaks only of one lucky previous buyer.", + "Złoże surowców": "Resource deposit", + "brak": "none", + "brak łupu": "no loot", + "przenieś na fregatę": "transfer to frigate", + "zwykły": "normal", + "Ładowanie słoneczne": "Solar charging", + "Ładowanie tarcz": "Shield charging", + "Łagodna biosfera": "Mild biosphere", + "Łowca nagród": "Bounty hunter", + "Łup i wytwarzanie": "Loot and crafting", + "Łup ×%.2f · sprzęt ×%.2f · odzysk %.0f%%\nZagrożenie po ochronie: %.1f%% / 300%%": "Loot ×%.2f · gear ×%.2f · recovery %.0f%%\nHazard after protection: %.1f%% / 300%%", + "Łup: ": "Loot: ", + "Łącznie do 10% faktycznie zadanych obrażeń. Tempo: do 5% maksymalnych tarcz/s, z rezerwą na jedno takie odnowienie.": "Up to 10% actual damage dealt. Up to 5% maximum shields/s, with reserve for one recovery.", + "Łączny DPS": "Total DPS", + "ŚPM": "MMB", + "Śmiertelne trafienie zostawia 1 punkt kadłuba i daje 2 s niewrażliwości. Raz na wyprawę lub wejście do zwykłego układu. Dokowanie ani restart po porażce nie odnawiają efektu.": "A lethal hit leaves 1 hull and grants 2 s invulnerability. Once per expedition or normal system entry. Docking and defeat restarts do not renew it.", + "Źródło: %s · poziom %d": "Source: %s · level %d", + "Żelazo %d · Części %d": "Iron %d · Parts %d", + "Żmija": "Viper", + "żelaza": "iron", + "‹ WRÓĆ / ESC": "‹ BACK / ESC", + "Naukowiec": "Scientist", + "PRZEWIDYWANA NAGRODA": "EXPECTED REWARD", + "Podejmij eksplorację [E]": "Begin exploration [E]", + "DODATKOWE ZNALEZISKA": "ADDITIONAL FINDS", + "Przeszukaj głębiej": "Search deeper", + "Moduły: %d · poziom %d–%d": "Modules: %d · level %d–%d", + "Uszkodzenia lądownika: %d–%d HP": "Lander damage: %d–%d HP", + "Uszkodzenia lądownika: −%d HP": "Lander damage: −%d HP", + "Lądownik może zostać zniszczony. Utracisz cały łup tej wyprawy.": "The lander may be destroyed. You will lose all loot from this expedition.", + "Przewidywane uszkodzenia lądownika: 0–%d HP": "Expected lander damage: 0–%d HP", + "Ten etap jest niedostępny z obecnym wyposażeniem.": "This stage is unavailable with your current equipment.", + "Sprawdź wymagane zasoby.": "Check the required resources.", + " · dodatkowe znaleziska": " · additional finds", + "[E] Zaplanuj eksplorację": "[E] Plan exploration", + "%s · Poziom %d\nLądowanie: −%d HP\nLądownik: %d / 100 HP\nPOI: podleć i naciśnij E, aby zaplanować eksplorację.": "%s · Level %d\nLanding: −%d HP\nLander: %d / 100 HP\nPOI: approach and press E to plan exploration.", + "Dopasuj poziom wyposażenia do planety, aby odzyskać więcej łupu i ograniczyć uszkodzenia lądownika.": "Match equipment level to the planet to recover more loot and reduce lander damage.", + "Pomaga podczas eksploracji jaskiń i miejsc z trudną atmosferą.": "Helps explore caves and difficult atmospheres.", + "Pomaga przy wydobyciu i eksploracji niestabilnych ruin.": "Helps with extraction and exploring unstable ruins.", + "Pomaga przeszukiwać magazyny i osady opanowane przez faunę.": "Helps search warehouses and settlements occupied by wildlife.", + "Dopasuj poziom wyposażenia do poziomu planety.": "Match equipment level to planet level.", + "RANDOLOOT / SYSTEMY POKŁADOWE": "RANDOLOOT / ONBOARD SYSTEMS", + "Dostosuj dźwięk, ekran i język swojej wyprawy.": "Adjust sound, display and language for your expedition.", + "USTAWIENIA / KOMPUTER POKŁADOWY": "SETTINGS / ONBOARD COMPUTER", + "01 / DŹWIĘK": "01 / SOUND", + "02 / OBRAZ": "02 / DISPLAY", + "03 / JĘZYK": "03 / LANGUAGE", + "Język interfejsu": "Interface language", + "Ustawienia są zapamiętywane między uruchomieniami.": "Settings are remembered between sessions.", + "ZAPISZ WYPRAWĘ": "SAVE EXPEDITION", + "WCZYTAJ WYPRAWĘ": "LOAD EXPEDITION", + "Nadaj nazwę nowemu zapisowi lub wybierz zapis do nadpisania.": "Name a new save or choose one to overwrite.", + "Wybierz zapis i wróć do swojej wyprawy.": "Choose a save and return to your expedition.", + "ARCHIWUM / DZIENNIK POKŁADOWY": "ARCHIVE / SHIP LOG", + "Nazwa zapisu": "Save name", + "Nowy zapis": "New save", + "ZAPISANE WYPRAWY": "SAVED EXPEDITIONS", + "DANE WYPRAWY": "EXPEDITION DETAILS", + "Wczytanie rozpoczyna poziom od początku. Postęp i wyposażenie zostają zachowane.": "Loading restarts the level. Progress and equipment are retained.", + "Nie ma jeszcze zapisanych wypraw.": "No saved expeditions yet.", + "Układ %d · Kapitan %d": "System %d · Captain %d", + "Układ %d\nKapitan · poziom %d\nKredyty: %d": "System %d\nCaptain · level %d\nCredits: %d", + "Nowy zapis\nUkład %d\nKapitan · poziom %d": "New save\nSystem %d\nCaptain · level %d", + "Odzyskano z kopii zapasowej": "Recovered from backup", + "Nadpisz zapis": "Overwrite save", + "Automatyczny zapis": "Autosave", + "Zapis rozgrywki": "Saved game", + "Wczytaj grę": "Load game", + "WCZYTAJ GRĘ": "LOAD GAME", + "Wybierz wyprawę z archiwum zapisów": "Choose an expedition from the save archive", + "Twoja wyprawa czeka. Wybierz, co chcesz zrobić.": "Your expedition awaits. Choose what to do.", + "ŁĄCZE / MENU POKŁADOWE": "LINK / ONBOARD MENU", + "Gwiazda centralna": "Central star", + "ADDONY (aktywne po zamontowaniu)": "MODIFIERS (active when installed)", + "ADDONY (aktywne": "MODIFIERS (active", + "Cooldown po addonach: %.2f s\nZapas rakiet: %d": "Cooldown after modifiers: %.2f s\nMissiles: %d", + "Kliknij: ": "Click: ", + "Odbierz w Hangarze.": "Collect in the hangar.", + "Odnowienie: %d s.": "Cooldown: %d s.", + "Pogoda: ": "Weather: ", + "Uwzględnia utratę bonusów zdejmowanego przedmiotu.": "Includes lost bonuses from the removed item.", + "Wymaga: ": "Requires: ", + "Zapas: ": "Stock: ", + "[E] Buduj": "[E] Build", + "[E] Maksymalizuj addon": "[E] Maximize modifier", + "[E] Porozmawiaj": "[E] Talk", + "[E] Przeszukaj": "[E] Search", + "[E] Zbierz znaleziska": "[E] Collect finds", + " · rabat %d%%": " · discount %d%%", + " (obok planety)": " (near planet)", + " · mapa kupiona": " · map purchased", + " · odwiedzono": " · visited", + " · partia: %d szt.": " · batch: %d units", + " · zatrudniono": " · hired", + " — zamieszkana": " — inhabited", + "%d / %d ZBADANO": "%d / %d RESEARCHED", + "%d kr.": "%d cr.", + "%d pkt": "%d pts", + "Zapas: %s": "Stock: %s", + "ODNOWIENIE %d s": "COOLDOWN %d s", + "%s · %d szt.": "%s · %d units", + "ADDONY: %d/5": "MODIFIERS: %d/5", + "poz. %d": "Lv. %d", + "+%d amunicji": "+%d ammunition", + "+%d rakiet": "+%d missiles", + "06 / PREMIE I BADANIA": "06 / BONUSES AND RESEARCH", + "Absorpcja: ": "Absorption: ", + "DALEKIE WYPRAWY / SEKTORY DO ZBADANIA": "DISTANT EXPEDITIONS / UNEXPLORED SECTORS", + "DZIENNIK PLANETARNY / WYPRAWA": "PLANET LOG / EXPEDITION", + "DZIENNIK WYPRAWY / %s": "EXPEDITION LOG / %s", + "Etap %d/3 · %s": "Stage %d/3 · %s", + "INSTRUKCJA / AKADEMIA PILOTA": "GUIDE / PILOT ACADEMY", + "Każdy strzał": "Each shot", + "Kup %d rakiet · sklep: %d kr.": "Buy %d missiles · shop: %d cr.", + "Kup: %s · poz. %d": "Buy: %s · lv. %d", + "LĄDUJ [L]": "LAND [L]", + "MAGAZYN · %d / %d": "STORAGE · %d / %d", + "Nagroda za sukces: ": "Success reward: ", + "ODCZYT: amunicja rakietowa. Liczba sztuk nieznana.": "SCAN: missile ammunition. Quantity unknown.", + "ORBY / SPECJALNE ULEPSZENIA": "ORBS / SPECIAL UPGRADES", + "Obecnie: %.2f %s → maksimum: %.2f %s": "Current: %.2f %s → maximum: %.2f %s", + "Obecnie: %s": "Current: %s", + "Obecny: System %d · Najdalszy odkryty: %d": "Current: System %d · Furthest discovered: %d", + "Obraż. krytyczne": "Crit. damage", + "Odnowienie: %.0f s": "Cooldown: %.0f s", + "Otrzymano: ": "Received: ", + "Otrzymasz: ": "You receive: ", + "POSIADASZ / WYMAGANE": "OWNED / REQUIRED", + "PUSTELNIK / KARTOGRAF": "HERMIT / CARTOGRAPHER", + "Pustelnik / Kartograf": "Hermit / Cartographer", + "Paliwo: %d deuteru": "Fuel: %d deuterium", + "Regeneracja generatora: +%.1f /s": "Generator regeneration: +%.1f /s", + "Regeneracja tarcz: +%.1f pkt/s": "Shield regeneration: +%.1f pts/s", + "Skróc. cooldownu rakiet": "Missile cooldown reduction", + "Slot zablokowany. Odblokowuj kolejne miejsca w hangarze fregaty.\nNastępny slot: ": "Slot locked. Unlock more in the frigate hangar.\nNext slot: ", + "Slot: %s": "Slot: %s", + "Typ obrażeń:": "Damage type:", + "Typ: ": "Type: ", + "Uruchom prototyp · podstawa: %d kr.": "Start prototype · base: %d cr.", + "WYTWORZONO: %s ×%d": "CRAFTED: %s ×%d", + "Z PLANET: ": "FROM PLANETS: ", + "ZMIANY PO ZAŁOŻENIU": "CHANGES WHEN EQUIPPED", + "Zadokuj, aby naprawić lądownik, rozbudować statek i przenieść wyposażenie.": "Dock to repair the lander, expand your ship and transfer gear.", + "Zakwaterowanie: Kajuta %02d": "Accommodation: cabin %02d", + "Zapas paliwa: %.1f deuteru": "Fuel stock: %.1f deuterium", + "Zapas: %d": "Stock: %d", + "Zmiana statystyk statku:": "Ship stat changes:", + "[%s] Pusty slot — przypisz skill w panelu kapitana": "[%s] Empty slot — assign a skill in the captain panel", + "[R] +10% energii": "[R] +10% energy", + "odbierz do statku": "retrieve into ship", + "Średni DPS z krytykami i cooldownem.\nBez ograniczeń energii i amunicji.\nAddony uwzględniają zdjęcie obecnej broni.": "Average DPS with critical hits and cooldown.\nWithout energy or ammunition limits.\nModifiers include removing the current weapon.", + "← ODBIERZ": "← RETRIEVE", + "← Odbierz wszystko": "← Retrieve all", + "● FREGATA / POŁĄCZENIE GOTOWE": "● FRIGATE / CONNECTION READY", + "● OPERACYJNE": "● OPERATIONAL", + "● RAPORT WYPRAWY": "● EXPEDITION REPORT", + "● STACJA / ZAOPATRZENIE": "● STATION / SUPPLIES", + "● TELEMETRIA / DANE PLANETY": "● TELEMETRY / PLANET DATA", + "● W REMONCIE": "● UNDER CONSTRUCTION", + "● ŁĄCZE ORBITALNE": "● ORBITAL LINK", + "Wczytaj": "Load", + "WYBIERZ I WYSTARTUJ ›": "SELECT AND LAUNCH ›", + "Rusznikarz": "Gunsmith", + "Specjalista rakietowy": "Missile specialist", + "Procedura awaryjna": "Emergency procedure", + "Elektryk": "Electrician", + "Farciarz": "Lucky", + "Eksplorator": "Explorer", + "Rekin biznesu": "Business shark", + "Manewr taktyczny": "Tactical maneuver", + "Przekierowanie zasilania": "Power redirect", + "Regeneracja energii +%d%% przez 15 sekund.": "Energy regeneration +%d%% for 15 s.", + "ADDON DO MAKSYMALIZACJI": "MODIFIER TO MAXIMIZE", + "ADDONY · PO ZAMONTOWANIU": "MODIFIERS · WHEN INSTALLED", + "AKTYWNA": "ACTIVE", + "AKTYWNA %.1f s": "ACTIVE %.1f s", + "AMUNICJA": "AMMUNITION", + "AWANS KAPITANA": "CAPTAIN LEVEL UP", + "AWARYJNE GRODZIE": "EMERGENCY BULKHEADS", + "Absorpcja energetyczna": "Energy absorption", + "Absorpcja kinetyczna": "Kinetic absorption", + "Absorpcja radiacyjna": "Radiation absorption", + "Akcja ratunkowa": "Rescue operation", + "Aktywne rozszerzenie naprawcze.": "Active repair extension.", + "Aktywne rozszerzenie silnika.": "Active engine extension.", + "Aktywne rozszerzenie tarcz.": "Active shield extension.", + "Alpejska tundra": "Alpine tundra", + "Amunicja radiacyjna": "Irradiated ammunition", + "Analiza konstrukcji": "Structural analysis", + "Antyczne znalezisko": "Ancient discovery", + "Awaryjne grodzie": "Emergency bulkheads", + "BLOKADA": "LOCKED", + "Bank energii": "Power bank", + "Banki energii": "Power banks", + "Bez zmian w bonusach.": "No bonus changes.", + "Blokada regeneracji": "Regeneration lock", + "Brakuje %.1f deuteru": "Missing %.1f deuterium", + "Brama zapomnianych": "Gate of the forgotten", + "Burza z piorunami": "Thunderstorm", + "CELE": "OBJECTIVES", + "CENTRUM DOWODZENIA": "COMMAND CENTER", + "Celne oko": "Keen eye", + "Chmury i wiatr": "Clouds and wind", + "Cmentarz maszyn": "Machine graveyard", + "DOKUJ [L]": "DOCK [L]", + "DPS broni": "Weapon DPS", + "Daleka wyprawa %d": "Distant expedition %d", + "Dezorientacja celowania": "Aim disruption", + "Dodaj wszystko": "Add all", + "Dopalacz": "Booster", + "Dozwolone przedmioty": "Allowed items", + "Drony bojowe": "Combat drones", + "Drony naprawcze": "Repair drones", + "Dystans": "Distance", + "Dzika biosfera": "Wild biosphere", + "EKWIPUNEK KAPITANA": "CAPTAIN INVENTORY", + "ELITA": "ELITE", + "Echo dawnej cywilizacji": "Echo of an ancient civilization", + "Energetyczne": "Energy", + "Epicki": "Epic", + "Ewakuacja etapami": "Staged evacuation", + "FRACHTOWIEC": "FREIGHTER", + "Hangar · Warsztat · Magazyn": "Hangar · Workshop · Storage", + "FREGATA · %d": "FRIGATE · %d", + "Flary": "Flares", + "GOTOWA": "READY", + "GOTOWE": "READY", + "GOTOWY": "READY", + "Jaskinia": "Cave", + "Jesienne lasy": "Autumn forests", + "KAJUTA %02d": "CABIN %02d", + "KRYT! ": "CRIT! ", + "KUP %d": "BUY %d", + "Kinetyczne": "Kinetic", + "Kontener w ciemno": "Mystery container", + "Krzem": "Silicon", + "LOSUJ PRZEDMIOT · POZ. %d": "ROLL ITEM · LV. %d", + "LPM": "LMB", + "Legendarny": "Legendary", + "Losowa": "Random", + "MAGAZYN": "STORAGE", + "MAGAZYN FRACHTOWCA": "FREIGHTER STORAGE", + "MIEJSCE ODKRYTE": "LOCATION DISCOVERED", + "Magazyn fregaty": "Frigate storage", + "Mechanik": "Mechanic", + "Miny": "Mines", + "Mobilny serwis": "Mobile repairs", + "NAPRAWA": "REPAIR", + "NATYCHMIAST": "INSTANT", + "NORMALNY": "NORMAL", + "Napraw": "Repair", + "Napromieniowana amunicja": "Irradiated ammunition", + "Niepospolity": "Uncommon", + "Nieznana planeta": "Unknown planet", + "Nikiel": "Nickel", + "ODLOT [L]": "DEPART [L]", + "ODWIEDZONO": "VISITED", + "OPERACYJNY": "OPERATIONAL", + "OSTATNI BASTION": "LAST BASTION", + "Odbierz": "Collect", + "Odblokuj 1 slot · ": "Unlock 1 slot · ", + "Oddychanie": "Breathing", + "Odzysk tarcz z obr.": "Shields from damage", + "Opuszczona wioska": "Abandoned village", + "Opuszczony magazyn": "Abandoned warehouse", + "Orb awansu": "Upgrade orb", + "Orb dopalacza": "Booster orb", + "Orb kinetyczny": "Kinetic orb", + "Orb polaryzacyjny": "Polarization orb", + "Orb przebicia": "Piercing orb", + "Orb radiacji": "Radiation orb", + "Orb replikacji": "Replication orb", + "Ostatni bastion": "Last bastion", + "PARAMETRY": "PARAMETERS", + "PASYWNA": "PASSIVE", + "PASYWNE": "PASSIVE", + "POZ. %d": "LV. %d", + "PPM": "RMB", + "PROCEDURA AWARYJNA": "EMERGENCY PROCEDURE", + "PRODUKCJA": "CRAFTING", + "PRZEDMIOT": "ITEM", + "PRZEDMIOTY": "ITEMS", + "PRZYDZIEL": "ASSIGN", + "PRZYSPIESZANIE · TRASA ZABEZPIECZONA": "ACCELERATING · ROUTE SECURED", + "PUSTY": "EMPTY", + "Paliwo gotowe": "Fuel ready", + "Pierwsza wyprawa": "First expedition", + "Planety i frachtowiec": "Planets and freighter", + "Pojemne kondensatory": "Large capacitors", + "Pokonaj bossa": "Defeat the boss", + "Posiadane ": "Owned ", + "Powerbank": "Power bank", + "Powerbanki": "Power banks", + "Poz. %d": "Lv. %d", + "Przyspieszenie": "Acceleration", + "Pusta stocznia": "Empty shipyard", + "Pusty slot": "Empty slot", + "REPLIKUJ": "REPLICATE", + "ROZBUDOWA STATKU": "SHIP EXPANSION", + "ROZPOCZNIJ BADANIE · %d s": "START RESEARCH · %d s", + "ROZPROSZENIE SALWY": "SALVO DISPERSION", + "ROZSZ. [%d]": "EXT. [%d]", + "ROZSZERZENIA": "EXTENSIONS", + "ROZSZERZENIE": "EXTENSION", + "Radiacyjna": "Irradiated", + "Radiacyjne": "Radiation", + "Receptura": "Recipe", + "Recykler": "Recycler", + "Regener. energii": "Energy regen.", + "Regener. tarcz": "Shield regen.", + "Regeneracja energii": "Energy regeneration", + "Regeneracja tarcz": "Shield regeneration", + "Rozpad konstrukcji": "Structural collapse", + "Rozproszenie salwy": "Salvo dispersion", + "Rozszerzenia": "Extensions", + "Rozszerzenie": "Extension", + "Rykoszet": "Ricochet", + "Rzadki": "Rare", + "SEKCJA 02": "SECTION 02", + "SEKCJA 03": "SECTION 03", + "SEKCJA 04": "SECTION 04", + "SEKCJA ROZWOJOWA": "EXPANSION SECTION", + "SKOK WARP": "WARP JUMP", + "SLOT %d": "SLOT %d", + "STATYSTYKI STATKU": "SHIP STATISTICS", + "SUROWCE": "RESOURCES", + "SUROWCE Z ASTEROID": "ASTEROID RESOURCES", + "Sektor dodany do listy wypraw na frachtowcu. Mapa pozwala na jeden lot.": "Sector added to the expedition list. Map allows one flight.", + "Skafander": "Spacesuit", + "Slot zablokowany • Odblokuj w hangarze": "Slot locked • Unlock in hangar", + "Spotkanie": "Encounter", + "Statystyki": "Statistics", + "Sterowanie": "Controls", + "Strzelec": "Gunner", + "Suche kaniony": "Dry canyons", + "Surowiec pozyskiwany z asteroid.": "Resource mined from asteroids.", + "Surowiec z asteroid. Do produkcji amunicji i rakiet.": "Asteroid resource used for ammunition and missiles.", + "Surowiec z asteroid. Do produkcji napromieniowanej amunicji.": "Asteroid resource used for irradiated ammunition.", + "System obrony przed obcymi": "Alien defense system", + "System oddychania": "Breathing system", + "Szansa na krytyk": "Critical chance", + "Szansa na trafienie krytyczne": "Critical hit chance", + "Szansa na unik": "Evasion chance", + "TARCZA": "SHIELD", + "TARCZA AWARYJNA": "EMERGENCY SHIELD", + "TEMPERATURA": "TEMPERATURE", + "TLEN": "OXYGEN", + "Taran": "Ram", + "Tarcza awaryjna": "Emergency shield", + "Test prototypu": "Prototype test", + "Tlen %d · Temp. %d · Fauna %d pp": "Oxygen %d · Temp. %d · Fauna %d pp", + "ULEPSZ DO %s": "UPGRADE TO %s", + "ULEPSZENIE %s → %s": "UPGRADE %s → %s", + "UNIK": "EVADE", + "UZBROJENIE": "ARMAMENT", + "Ulewa": "Downpour", + "W REMONCIE": "UNDER CONSTRUCTION", + "WIRUS": "VIRUS", + "WOLNA KAJUTA": "FREE CABIN", + "WORMHOLE OTWARTY": "WORMHOLE OPEN", + "WROGOWIE": "ENEMIES", + "WYBIERZ": "SELECT", + "Walka i przetrwanie": "Combat and survival", + "Wiedza o broni": "Weapon knowledge", + "Wiedza o tarczach": "Shield knowledge", + "Wirus": "Virus", + "Wolfram": "Tungsten", + "Wolny slot": "Free slot", + "Wrak konwoju": "Convoy wreck", + "Wrak statku": "Shipwreck", + "Wybierz tajemniczy pakiet": "Choose mystery package", + "Wymagane 70% maksymalnej energii": "Requires 70% maximum energy", + "Wymagane min. 25% tarcz": "Requires at least 25% shields", + "Wymagany aktywny lot": "Requires active flight", + "Wyprawa %d": "Expedition %d", + "Wyrzutnia rakiet naprowadzanych": "Guided missile launcher", + "Wyrzutnia rakiet niekierowanych": "Unguided rocket launcher", + "Wzmocnione poszycie": "Reinforced plating", + "ZAMKNIJ [ESC]": "CLOSE [ESC]", + "ZAMONTOWANE NA STATKU": "INSTALLED ON SHIP", + "ZAOPATRZENIE": "SUPPLIES", + "ZAPASY": "STOCK", + "ZAPASY GRACZA": "PLAYER SUPPLIES", + "ZBUDOWANO": "BUILT", + "ZDOBYTO": "ACQUIRED", + "ZMIANY PO WYMIANIE BRONI": "CHANGES AFTER WEAPON SWAP", + "ZWIADEK • TARCZE": "SCOUT • SHIELDS", + "Zabezpiecz schronienie": "Secure the shelter", + "Zablokowany": "Locked", + "Zakres i skalowanie": "Range and scaling", + "Zamknij okno statku": "Close ship window", + "Zielone doliny": "Green valleys", + "Zimna biosfera": "Cold biosphere", + "Zapis przywraca początek bieżącego poziomu. Cooldowny i efekty czasowe są zerowane.": "Loading restarts the current level. Cooldowns and temporary effects are reset.", + "Dopasuj poziom sprzętu do planety.": "Match equipment level to the planet.", + "Wymagany poziom kapitana: %d": "Required captain level: %d", + "Czas badania: 10 minut gry": "Research time: 10 minutes of play", + "NOWA WYPRAWA": "NEW EXPEDITION", + "KONTYNUUJ": "CONTINUE", + "INSTRUKCJA": "HOW TO PLAY", + "ZAPIS ROZGRYWKI": "SAVED GAME", + "OPCJE": "OPTIONS", + "WYJŚCIE": "EXIT", + "Wybierz statek i ruszaj w nieznane": "Choose your ship and explore", + "Wczytaj ostatnią wyprawę": "Load your last expedition", + "Pierwszy lot? Zacznij tutaj": "First flight? Start here", + "Ostatni zapis i kopia zapasowa": "Latest save and backup", + "Dźwięk, obraz i język": "Sound, display and language", + "Zakończ grę": "Exit the game", + "DZIENNIK POKŁADOWY / NOWA WYPRAWA": "SHIP LOG / NEW EXPEDITION", + "Nieznany kosmos. Niepowtarzalny łup.": "Unknown space. Unique loot.", + "Głośność ogólna": "Master volume", + "Głośność muzyki": "Music volume", + "Rozdzielczość": "Resolution", + "Pełny ekran": "Fullscreen", + "Język": "Language", + "Zastosuj": "Apply", + "Anuluj": "Cancel", + "Zamknij": "Close", + "Pauza": "Paused", + "Wróć do gry": "Resume game", + "Zapisz grę": "Save game", + "Zapisz i wróć do menu": "Save and return to menu", + "Zapisz i wyjdź": "Save and quit", + "Zapisano grę.": "Game saved.", + "Nie udało się zapisać gry.": "Could not save the game.", + "Nie udało się zapisać ustawień.": "Could not save settings.", + "Brak poprawnego zapisu gry.": "No valid saved game found.", + "Ostatni zapis: %s\nUkład: %d · Kapitan: %d": "Last saved: %s\nSystem: %d · Captain: %d", + "Wróć": "Back", + "POWRÓT": "BACK", + "ZAMKNIJ": "CLOSE", + "KAPITAN": "CAPTAIN", + "Kapitan": "Captain", + "STATEK": "SHIP", + "Statek": "Ship", + "WYPOSAŻENIE": "EQUIPMENT", + "Wyposażenie": "Equipment", + "ŁADOWNIA": "CARGO", + "Ładownia": "Cargo", + "BROŃ": "WEAPONS", + "Broń": "Weapons", + "KADŁUB": "HULL", + "Kadłub": "Hull", + "TARCZE": "SHIELDS", + "Tarcze": "Shields", + "ENERGIA": "ENERGY", + "Energia": "Energy", + "Pancerz": "Armor", + "Silnik": "Engine", + "Reaktor": "Reactor", + "Komputer": "Computer", + "HANGAR": "HANGAR", + "WARSZTAT": "WORKSHOP", + "LABORATORIUM": "LABORATORY", + "BADANIA OBCYCH": "ALIEN RESEARCH", + "ZAŁOGA": "CREW", + "HANDEL": "TRADE", + "KUP": "BUY", + "SPRZEDAJ": "SELL", + "NAPRAW": "REPAIR", + "ZBUDUJ": "BUILD", + "ODLOKUJ": "UNLOCK", + "USUŃ": "REMOVE", + "ZAMONTUJ": "INSTALL", + "ZDEMONTUJ": "UNINSTALL", + "Żelazo": "Iron", + "Aluminium": "Aluminium", + "Tytan": "Titanium", + "Uran": "Uranium", + "Siarka": "Sulfur", + "Deuter": "Deuterium", + "Kredyty": "Credits", + "Części": "Parts", + "Amunicja": "Ammunition", + "Rakiety": "Missiles", + "Próbki": "Samples", + "Poziom": "Level", + "Doświadczenie": "Experience", + "Umiejętności": "Skills", + "UMIEJĘTNOŚCI": "SKILLS", + "Zbadano": "Researched", + "Za mało próbek": "Not enough samples", + "Magazyn pełny": "Storage full", + "Brak miejsca": "No space" +} diff --git a/resources/localization/en_catalog.gd.uid b/resources/localization/en_catalog.gd.uid new file mode 100644 index 0000000..62f8920 --- /dev/null +++ b/resources/localization/en_catalog.gd.uid @@ -0,0 +1 @@ +uid://d16fsi6s03mud diff --git a/resources/localization/es_catalog.gd b/resources/localization/es_catalog.gd new file mode 100644 index 0000000..8400250 --- /dev/null +++ b/resources/localization/es_catalog.gd @@ -0,0 +1,1105 @@ +# Generated by tools/build_localization.py; AI-authored, offline. +extends RefCounted +const MESSAGES := { + "\nBrak miejsca: %d modułów czeka we frachtowcu.": "\nSin espacio: %d módulos esperan en el carguero.", + "%s · %s\nTLEN %d%% · TEMP %d°C · BIO %d/50\nZAGROŻENIE: %.1f%% / 300%%\nŁUP POI: ×%.2f · odzysk %.0f%%\nPOI: podleć i naciśnij E\nLądowanie −%d HP · Lądownik %d%%": "%s · %s\nOXÍGENO %d%% · TEMP %d°C · BIO %d/50\nPELIGRO: %.1f%% / 300%%\nBOTÍN POI: ×%.2f · recuperación %.0f%%\nPOI: acércate y pulsa E\nAterrizaje −%d PV · Módulo %d%%", + "%s · %s\nTLEN %d%% · zagrożenie %.0f%% → %.0f%%\nTEMPERATURA %d°C · zagrożenie %.0f%% → %.0f%%\nBIOLOGICZNE %d/50 · zagrożenie %.0f%% → %.0f%%\nZAGROŻENIE GLOBALNE: %.1f%% / 300%%\nBez sprzętu: %.1f%% · redukcja 2 pp/poziom\nŁUP POI: ×%.2f · odzysk %.0f%% · sprzęt ×%.2f\nPOI: podleć i naciśnij E, aby odebrać znaleziska.\nLądowanie: −%d HP · Lądownik: %d%%": "%s · %s\nOXÍGENO %d%% · peligro %.0f%% → %.0f%%\nTEMPERATURA %d°C · peligro %.0f%% → %.0f%%\nBIOLÓGICO %d/50 · peligro %.0f%% → %.0f%%\nPELIGRO GLOBAL: %.1f%% / 300%%\nSin equipo: %.1f%% · reducción 2 pp/nivel\nBOTÍN POI: ×%.2f · recuperación %.0f%% · equipo ×%.2f\nPOI: acércate y pulsa E para recoger.\nAterrizaje: −%d PV · Módulo: %d%%", + "+1 000 000 kredytów i deuteru\n+10 000 każdego minerału, części i kryształów czasu\n+1000 próbek, +25 każdego orba, +100 punktów nauki\n+10 000 amunicji, +1000 radiacyjnej i rakiet, +100 powerbanków\nMapy: poziomy 2, obecny +1/+5, 120, 125 i 130 (bez duplikatów)\nPo 1 każdego rodzaju wyposażenia do magazynu fregaty oraz sprzęt kapitana.": "+1 000 000 créditos y deuterio\n+10 000 de cada mineral, piezas y cristales de tiempo\n+1000 muestras, +25 de cada orbe, +100 puntos de aprendizaje\n+10 000 municiones, +1000 irradiadas y misiles, +100 baterías\nMapas: nivel 2, actual +1/+5, 120, 125 y 130 sin duplicados\nUn equipo de cada tipo en la fragata y equipo del capitán.", + "BOSS": "JEFE", + "Boss": "Jefe", + "Elite": "Élite", + "Laser": "Láser", + "Normal": "Normal", + "[font_size=16][color=#f1bd79]Buduj własny styl gry[/color][/font_size]\n\n[color=#91dbea][b]Wyposażenie[/b][/color]\nKliknij panel statku w prawym górnym rogu i otwórz magazyn. Przeciągaj przedmioty do pasujących slotów: maksymalnie 3 bronie, 5 modułów i 5 rozszerzeń. Na początku dostępny jest 1 slot broni i 1 rozszerzenia. Pierwszy dodatkowy slot broni kosztuje 100 tytanu, drugi 500. Rozszerzenia kosztują po 40 żelaza, aluminium i tytanu, a każdy kolejny slot podwaja ten koszt (80, 160, 320). Ładownia zaczyna z 5 miejscami; każde kolejne miejsce kosztuje 100 żelaza i 50 aluminium. Sloty odblokowujesz w hangarze fregaty. Po zbudowaniu składu modułów zakładka Magazyn na frachtowcu pozwala odkładać i odbierać wyposażenie. Aktywne rozszerzenia uruchamiasz klawiszami 1–5; pasywne (oznaczone P) działają automatycznie w tych samych slotach. Najedź kursorem, żeby sprawdzić parametry i porównanie wyposażenia.\n\n[color=#91dbea][b]Nie każdy duplikat jest taki sam[/b][/color]\nBroń i moduły mogą mieć różne parametry oraz addony. Aktywne rozszerzenia losują cooldown od 30 do 5 pełnych sekund. Pasywne mają losowaną siłę efektu: Recykler odnawia tarcze i energię po zebraniu odłamka, Wirus przejmuje uciekających wrogów, a Pancerz z tytanu ogranicza obrażenia przy niskim kadłubie. Krótsze odnowienia są rzadkie — przed rozłożeniem porównaj egzemplarze. Rozszerzenia tego samego typu dzielą aktywne odnowienie.\n\n[color=#91dbea][b]Umiejętności kapitana[/b][/color]\nZa pokonanych wrogów zdobywasz doświadczenie i kredyty. Trudniejsze układy dają więcej bazowego XP. Jeśli kapitan przewyższa poziom układu o ponad 2 poziomy, XP za przeciwników i ruiny maleje; przy przewadze 8 poziomów spada do zera. Kredyty i surowce nadal zbierasz. Po awansie wybierasz umiejętność. Pasywne działają stale, aktywne przypisujesz do F1–F5.\n\n[color=#f1bd79][b]Okno umiejętności nie pauzuje gry.[/b][/color]\nOtwieraj je w bezpiecznym miejscu. Przed kolejnym układem uzupełnij zapasy i sprawdź wyposażenie.": "[b]Tu estilo de juego[/b]\n\nAbre la nave arriba a la derecha. Arrastra equipo a ranuras compatibles: máximo 3 armas, 5 módulos y 5 extensiones. Empiezas con 1 arma y 1 extensión. Armas extra: 100 y 500 titanio. Extensiones: 40 hierro, aluminio y titanio, duplicándose después. Bodega inicial de 5 espacios; cada extra cuesta 100 hierro y 50 aluminio. Amplía en el hangar y guarda equipo en el almacén construido. Extensiones: 1–5; pasivas P automáticas.\n\nCompara estadísticas, atributos y recargas. Las activas sortean 30–5 s y comparten recarga por tipo. Reciclador restaura escudos y energía con fragmentos; Virus captura enemigos en fuga; blindaje de titanio protege con casco bajo.\n\nEnemigos dan EXP y créditos. Con más de 2 niveles de ventaja baja la EXP de enemigos y ruinas; con 8 es cero. Las otras recompensas siguen. Elige habilidad al ascender: activas F1–F5, pasivas permanentes.\n\n[b]La ventana de habilidades no pausa.[/b] Revisa reservas y equipo antes de avanzar.", + "[font_size=16][color=#f1bd79]Opanuj statek[/color][/font_size]\n\n[color=#91dbea][b]W[/b][/color] — ciąg do przodu.\n[color=#91dbea][b]S[/b][/color] — hamowanie; po zatrzymaniu lot wstecz.\n[color=#91dbea][b]A / D[/b][/color] — obracanie statku.\n[color=#91dbea][b]Q / E[/b][/color] — ruch boczny w lewo / prawo.\n[color=#91dbea][b]TAB[/b][/color] — dopalanie: większa prędkość kosztem energii.\n\n[color=#91dbea][b]Kursor myszy[/b][/color] — celowanie.\n[color=#91dbea][b]LPM / PPM / ŚPM[/b][/color] — strzelanie z trzech slotów broni.\n[color=#91dbea][b]1–5[/b][/color] — użycie zamontowanych rozszerzeń.\n[color=#91dbea][b]F1–F5[/b][/color] — aktywne umiejętności kapitana.\n[color=#91dbea][b]R[/b][/color] — użycie powerbanku, jeśli masz go w zapasach.\n\nStatek ma bezwładność. Obrót nie zatrzymuje ruchu — hamuj wcześniej i wykorzystuj ruch boczny, żeby unikać ostrzału.": "[b]Controles[/b]\n\nW — impulso. S — frenar y luego reversa. A/D — girar. Q/E — lateral. TAB — acelerar consumiendo energía.\n\nRatón — apuntar. Botones izquierdo/derecho/central — tres armas. 1–5 — extensiones. F1–F5 — habilidades activas. R — batería de reservas.\n\nLa nave tiene inercia. Girar no detiene el movimiento. Frena antes y desplázate lateralmente para esquivar.", + "[font_size=16][color=#f1bd79]Twój pierwszy układ[/color][/font_size]\n\nWybierz statek przyciskiem [b]Nowa wyprawa[/b]. Każdy kadłub ma inne parametry — na początek wybierz ten, który pasuje do Twojego stylu.\n\n[color=#91dbea][b]1. Pokonaj zwykłych wrogów[/b][/color]\nOdszukuj przeciwników, rozwijaj wyposażenie i pilnuj zasobów. Aktualny cel znajdziesz w lewym dolnym rogu ekranu.\n\n[color=#91dbea][b]2. Pokonaj bossa[/b][/color]\nGdy zniszczysz pozostałych wrogów, w układzie pojawi się boss. Przygotuj zapas amunicji i sprawdź kadłub przed walką.\n\n[color=#91dbea][b]3. Znajdź zamieszkaną planetę[/b][/color]\nPo zwycięstwie podleć do zamieszkanej planety. Skorzystaj z usług i otwórz wormhole. Wleć w jego środek, żeby przejść do następnego, trudniejszego układu.": "[b]Tu primer sistema[/b]\n\nElige una nave con Nueva expedición según tu estilo.\n\n1. Busca y derrota enemigos normales. Mejora equipo y vigila recursos. Objetivo abajo a la izquierda.\n\n2. Después aparece el jefe. Revisa munición y casco.\n\n3. Tras vencer, encuentra el planeta habitado, usa servicios y abre el agujero de gusano. Entra para ir al siguiente sistema más difícil.", + "[font_size=16][color=#f1bd79]Wróć z wyprawy[/color][/font_size]\n\n[color=#91dbea][b]Tarcze, kadłub i energia[/b][/color]\nTarcze pochłaniają obrażenia przed kadłubem. Utrata całego kadłuba oznacza zniszczenie statku. Energia zasila część broni oraz dopalanie; odnawia się z czasem, szybciej przy gwieździe.\n\n[color=#91dbea][b]Dobieraj broń do zapasów[/b][/color]\nBroń energetyczna zużywa energię. Działko maszynowe potrzebuje zwykłej amunicji, gamma — napromieniowanej, a wyrzutnie — rakiet. Puste zapasy oznaczają brak strzału. Absorpcja ogranicza obrażenia danego typu.\n\n[color=#91dbea][b]Korzystaj z rozszerzeń[/b][/color]\nMiny atakują obszarowo, flary odciągają uwagę, kamuflaż pomaga zerwać kontakt, teleport przenosi w bezpieczne miejsce, a drony wspierają ostrzał. Doładowanie tarcz działa przy gwieździe. Sprawdzaj koszt i cooldown w opisie.\n\n[color=#f1bd79][b]Uważaj na uciekających przeciwników[/b][/color]\nWróg z kadłubem poniżej 10% ucieka wolniej, ale może zostawić minę. Nie leć bezmyślnie prosto za nim.": "[b]Combate y supervivencia[/b]\n\nLos escudos absorben antes que el casco. Casco cero destruye la nave. La energía alimenta armas y aceleración; regenera más rápido cerca de la estrella.\n\nArmas energéticas usan energía, cañón automático munición normal, gamma irradiada y lanzadores misiles. Sin reservas no disparas. La absorción reduce ciertos daños.\n\nMinas atacan áreas, bengalas distraen, camuflaje rompe contacto, teletransporte busca seguridad y drones apoyan. La recarga solar necesita cercanía a estrella. Revisa costes y recargas.\n\nEnemigos bajo 10% de casco huyen más lento y pueden dejar minas. Persigue con cuidado.", + "[b]Wyprawy na planety[/b]\n\nPierwsze planety są łagodne. W kolejnych układach eksploracja jest trudniejsza, ale znaleziska są bogatsze. Dopasuj poziom wyposażenia kapitana do poziomu planety: aparat oddechowy pomaga w jaskiniach, skafander przy wydobyciu i ruinach, a broń ręczna w magazynach i osadach.\n\nPodleć do planety EARTHLIKE. F pokazuje informacje, a L rozpoczyna lądowanie. Lądownik musi mieć 100 HP przed startem; lądowanie uszkadza kadłub. Podczas walki nie można lądować.\n\nNa powierzchni: W — ciąg, S — hamowanie i wstecz, A/D — obrót, Q/R — ruch boczny, TAB — dopalanie. Przy POI naciśnij E. Najpierw zobaczysz przewidywaną nagrodę i uszkodzenia. Samo otwarcie okna niczego nie zużywa. Potwierdź eksplorację przyciskiem lub drugim naciśnięciem E.\n\nNiektóre miejsca oferują dodatkowe znaleziska. Przeszukanie głębiej daje więcej łupu, ale mocniej uszkadza lądownik. Niski kadłub może oznaczać utratę całej zdobyczy tej wyprawy. L pozwala wrócić z dotychczasowym łupem. Spotkania oznaczone pytajnikiem również otwierasz klawiszem E.\n\n[b]Frachtowiec i postęp[/b]\nPrzy gwieździe centralnej zadokuj klawiszem L. Hangar naprawia lądownik za części. Warsztat produkuje zaopatrzenie i kolejne poziomy wyposażenia kapitana. Laboratorium prowadzi badania.\n\nEsc otwiera pauzę, nazwane zapisy i opcje. Wczytanie zachowuje postęp oraz wyposażenie i zaczyna bieżący poziom od początku.": "[b]Expediciones planetarias[/b]\n\nLos primeros planetas son fáciles. En sistemas posteriores explorar es más difícil, pero los hallazgos son más ricos. Adapta el equipo del capitán al planeta: respirador para cuevas, traje para extracción y ruinas, arma de mano para almacenes y asentamientos.\n\nAcércate a un planeta EARTHLIKE. F muestra información y L aterriza. El módulo necesita 100 PV antes de salir; aterrizar daña el casco. No puedes aterrizar durante combate.\n\nEn superficie: W impulso, S freno/reversa, A/D giro, Q/R lateral, TAB acelera. Pulsa E junto al POI. Primero verás la recompensa y daños previstos. Abrir la ventana no consume nada. Confirma con el botón o pulsando E otra vez.\n\nAlgunos lugares ofrecen hallazgos extra. Explorar más a fondo da más botín y más daños. Con casco bajo puedes perder todo el botín de esta expedición. L permite regresar con lo recogido. Los encuentros con interrogante también se abren con E.\n\n[b]Carguero y progreso[/b]\nAtraca con L cerca de la estrella central. El hangar repara el módulo a cambio de piezas. El taller fabrica reservas y mejor equipo del capitán. El laboratorio investiga.\n\nEsc abre pausa, partidas con nombre y opciones. Cargar conserva progreso y equipo y reinicia el nivel actual.", + "[font_size=16][color=#f1bd79]Zbieraj. Porównuj. Twórz.[/color][/font_size]\n\n[color=#91dbea][b]Łup zbierasz przez podlecenie[/b][/color]\nPrzedmioty w pobliżu są przyciągane do statku. Magazyn mieści 20 przedmiotów; przy pełnym magazynie zwolnij miejsce, żeby zebrać kolejny.\n\n[color=#91dbea][b]Asteroidy zostawiają fizyczne odłamki[/b][/color]\nStrzelaj do asteroid. Po zniszczeniu rozpadają się bazowo na 5–7 poszarpanych fragmentów. Każdy to jedna jednostka surowca — musisz go zebrać. Umiejętność górnika zwiększa uzysk.\n\n[color=#91dbea][b]Przeszukuj wraki[/b][/color]\nPodleć do wraku i przytrzymaj E, aby go przeszukać. Wraki dają surowce (65%), amunicję lub rakiety (łącznie 20%) albo moduł (15%).\n\n[color=#91dbea][b]Warsztat fregaty — produkcja[/b][/color]\nZadokuj na fregacie i wybierz Warsztat. Tam wytworzysz amunicję, rakiety, części, powerbanki i wyposażenie kapitana. Koszt sprawdzisz w podpowiedzi przycisku produkcji.\n\n[color=#91dbea][b]Odzyskuj części[/b][/color]\nNajedź na zbędny przedmiot w magazynie i użyj przycisku rozłożenia. Części przydadzą się do napraw.": "[b]Botín y fabricación[/b]\n\nLos objetos cercanos son atraídos. Bodega máxima de 20 espacios; libera sitio si está llena.\n\nDispara a asteroides: normalmente 5–7 fragmentos, cada uno una unidad de recurso que debes recoger. Minero aumenta rendimiento.\n\nAcércate a pecios y mantén E: 65% recursos, 20% munición o misiles, 15% módulo.\n\nTaller de fragata fabrica munición, misiles, piezas, baterías y equipo. Costes en descripción. Desmonta objetos innecesarios; las piezas sirven para reparar.", + "[font_size=16][color=#f1bd79]Dźwięki otoczenia[/color][/font_size]\n\n[b]Blender Foundation — Ambient Bird, Cricket and Frog (Yo Frankie!)[/b]\nOdgłosy świerszcza i żaby, udostępnione przez Lamoot:\nhttps://opengameart.org/content/ambient-bird-cricket-and-frog\nLicencja Creative Commons Attribution 3.0:\nhttps://creativecommons.org/licenses/by/3.0/\nZmiany: filtrowanie, płynne początki i zakończenia, zmiana wysokości żaby oraz konwersja do stereo 48 kHz. Autorzy nie są powiązani z tą grą.\n\n[b]Nagrania na licencji CC0[/b]\nThimras — Park ambiences (wiatr).\nIwan „qubodup” Gabovitch — 20 Rustles of dry leaves.\nisaiah658 — Ambient Bird Sounds.\nRudmer_Rotteveel — Wood Creak Single V7.\n\n[b]Wnętrze fregaty — CC0[/b]\nLEGIT Audio — The Shop (bezpłatne próbki OpenGameArt).\nbart — 68 Workshop Sounds i Steam release sounds.\nKenney — Sci-Fi Sounds.\n\nSzczegółowe źródła i zakres obróbki znajdują się w plikach CREDITS.md i manifest.json przy zasobach audio.": "[b]Créditos de sonido[/b]\n\nBlender Foundation — Ambient Bird, Cricket and Frog (Yo Frankie!), compartido por Lamoot. https://opengameart.org/content/ambient-bird-cricket-and-frog\nCC BY 3.0: https://creativecommons.org/licenses/by/3.0/\nCambios: filtros, fundidos, tono de rana, estéreo 48 kHz. Los autores no están asociados al juego.\n\nCC0: Thimras — Park ambiences; Iwan „qubodup” Gabovitch — 20 Rustles of dry leaves; isaiah658 — Ambient Bird Sounds; Rudmer_Rotteveel — Wood Creak Single V7.\n\nFragata, CC0: LEGIT Audio — The Shop (OpenGameArt); bart — 68 Workshop Sounds y Steam release sounds; Kenney — Sci-Fi Sounds.\n\nFuentes completas y cambios en CREDITS.md y manifest.json junto a los archivos de audio.", + "\nEARTHLIKE · LĄDOWANIE": "EARTHLIKE · ATERRIZAJE", + "\nKoszt: ": "Coste: ", + "\nORB DOPALACZA · TAB bez kosztu energii. Działa po zamontowaniu silnika.": "ORBE PROPULSOR · TAB sin coste de energía. Requiere motor instalado.", + "\nORB PRZEBICIA · 50% obrażeń omija tarcze. Tylko ta broń.": "ORBE PERFORANTE · El 50% del daño ignora escudos. Solo esta arma.", + "\nPASYWNE • Bez kosztu i cooldownu.\nDuplikaty nie sumują efektu — działa najlepszy egzemplarz.": "PASIVO • Sin coste ni recarga. Los duplicados no se acumulan; funciona el mejor ejemplar.", + "\nPodleć, aby przeszukać": "Acércate para registrar", + "\nRedukcja zagrożenia: %d pp (2 pp/poziom, maks. 100 pp).\nPoziom 50 całkowicie neutralizuje odpowiadające zagrożenie.": "Reducción de peligro: %d puntos porcentuales (2 por nivel; máx. 100). El nivel 50 neutraliza este peligro.", + "\nSprawdź wymagane zasoby i aktualne zagrożenie.": "Comprueba los recursos y el peligro actual.", + "\nTen etap ma 0% szans przy obecnym zagrożeniu.": "Con el peligro actual esta etapa tiene un 0% de éxito.", + "\nUSŁUGI DOSTĘPNE": "SERVICIOS DISPONIBLES", + "\nUkład oczyszczony": "Sistema despejado", + "\nZa mało próbek": "Muestras insuficientes", + "\nZamontowane — najpierw zdejmij do ładowni.": "Instalado: retíralo primero a la bodega.", + "\n[E] Kup mapę": "[E] Comprar mapa", + "\n[E] Placówka": "[E] Puesto", + " · +1 część (Zbieracz złomu)": " · +1 pieza (Chatarrero)", + " [ZAŁOŻONE]": " [EQUIPADO]", + " kadłuba": " de casco", + " · Moduły: %d": " · Módulos: %d", + " · brak zakresu": " · sin intervalo", + "%d KREDYTÓW\n%d CZĘŚCI\n%d KRYSZTAŁÓW CZASU": "%d CRÉDITOS\n%d PIEZAS\n%d CRISTALES DE TIEMPO", + "%d kredytów%s": "%d créditos%s", + "%d%% szansy na 1 dodatkową część z przeszukanego wraku. Losowanie raz na wrak. Premie rang nie sumują się.": "%d%% de probabilidad de obtener 1 pieza extra por pecio. Una tirada por pecio. Los rangos no se acumulan.", + "%s\n\n%s\nR • Zużywa jedną sztukę z zasobów.": "%s\n\n%s\nR • Consume una unidad de las reservas.", + "%s\n%s\nPrzeciągnij przedmiot do pasującego slotu. Dwuklik zakłada lub zdejmuje.": "%s\n%s\nArrastra a una ranura compatible. Doble clic para equipar o retirar.", + "%s\nMagazyn pełny": "%s\nAlmacén lleno", + "%s\nStatystyki bazowe przed bonusami modułów.\n%s": "%s\nEstadísticas base antes de bonificaciones.\n%s", + "%s\nStos: %d\n\n%s\n\nDwuklik: wybierz orb. Następnie kliknij odpowiedni moduł lub broń. PPM lub Esc anuluje.": "%s\nCantidad: %d\n\n%s\n\nDoble clic: elige orbe y pulsa un módulo o arma. Clic derecho o Esc cancela.", + "%s\nZarządzanie: %d / 100\nPremia do wydobycia: +%d%%": "%s\nGestión: %d / 100\nBonificación de extracción: +%d%%", + "%s\nŁadownia pełna": "%s\nBodega llena", + "%s / POZIOM %d": "%s / NIVEL %d", + "%s · poziom %d": "%s · nivel %d", + "%s · poziom %d\n%s\n[%s] · Odnowienie %d s%s": "%s · nivel %d\n%s\n[%s] · Recarga %d s%s", + "%s · poziom %d\nKoszt: %s\nWytwarza i zakłada nowy przedmiot.": "%s · nivel %d\nCoste: %s\nFabrica y equipa un objeto nuevo.", + "%s · poziom %d / 3\n%s": "%s · nivel %d / 3\n%s", + "%s · poziom wyprawy %d": "%s · nivel de expedición %d", + "%s · zarządzanie %d/100 · %.1f deuteru/min": "%s · gestión %d/100 · %.1f deuterio/min", + "%s • Poziom %d": "%s • Nivel %d", + "%s: %d partii = %d szt.\nKoszt: %s": "%s: %d lotes = %d unidades\nCoste: %s", + "+%d KREDYTÓW": "+%d CRÉDITOS", + "+%d KRYSZTAŁÓW CZASU": "+%d CRISTALES DE TIEMPO", + "+%d doświadczenia · +1 moduł": "+%d experiencia · +1 módulo", + "+%d szt. surowca z każdej zniszczonej asteroidy.": "+%d unidades de recurso por asteroide destruido.", + "+%d wraków na nowej planszy. Premia ustalana przy rozpoczęciu systemu; nie zmienia bieżącej planszy. Premie rang nie sumują się.": "+%d pecios en sistemas nuevos. Se fija al entrar; no cambia el sistema actual. Los rangos no se acumulan.", + "+10 zwykłej amunicji, +10 radiacyjnej amunicji i +10 rakiet": "+10 munición normal, +10 irradiada y +10 misiles", + "01 / POKŁAD GŁÓWNY · POŁĄCZENIE ZABEZPIECZONE": "01 / CUBIERTA PRINCIPAL · CONEXIÓN SEGURA", + "01 / PANCERZ I OCHRONA": "01 / BLINDAJE Y PROTECCIÓN", + "02 / TARCZE I ENERGIA": "02 / ESCUDOS Y ENERGÍA", + "03 / SIŁA OGNIA": "03 / POTENCIA DE FUEGO", + "04 / NAPĘD I NAWIGACJA": "04 / PROPULSIÓN Y NAVEGACIÓN", + "05 / ŁADOWNIA I ZAOPATRZENIE": "05 / CARGA Y SUMINISTROS", + "1 KLIKNIĘCIE = 1 RECEPTURA • PRODUKCJA BEZPOŚREDNIO Z MINERAŁÓW": "1 CLIC = 1 RECETA • FABRICACIÓN DIRECTA CON MINERALES", + "50 amunicji → 1 działko z 50 pociskami": "50 municiones → 1 torreta con 50 disparos", + "50% obrażeń broni omija tarcze i trafia bezpośrednio w kadłub. Tylko broń.": "El 50% del daño ignora escudos y alcanza el casco. Solo armas.", + "AKTYWNE SLOTY F1–F5 · MAKSYMALNIE 5 UMIEJĘTNOŚCI": "RANURAS ACTIVAS F1–F5 · MÁXIMO 5 HABILIDADES", + "AMUNICJA I RAKIETY": "MUNICIÓN Y MISILES", + "AWANSUJ +1 POZIOM": "MEJORAR +1 NIVEL", + "Absorpcja obrażeń energetycznych": "Absorción de daño energético", + "Absorpcja obrażeń kinetycznych": "Absorción de daño cinético", + "Absorpcja obrażeń radiacyjnych": "Absorción de daño por radiación", + "Aktywne rozszerzenie statku. Tworzy dodatkową, większą warstwę ochronną. Zamontuj w slocie rozszerzeń i użyj przypisanego klawisza 1–5.": "Extensión activa. Crea una capa protectora adicional más grande. Instálala y usa la tecla 1–5 asignada.", + "Aktywne rozszerzenie statku. Zamontuj w slocie rozszerzeń i użyj przypisanego klawisza 1–5.": "Extensión activa. Instálala en una ranura y usa la tecla 1–5 asignada.", + "Amunicja do wyrzutni rakiet. Obrażenia kinetyczne.": "Munición para lanzamisiles. Daño cinético.", + "Amunicja zwykła": "Munición normal", + "Amunicja: 1 rakieta / strzał • Cooldown bazowy: 5 s • Bez kosztu energii": "Munición: 1 misil/disparo • Recarga base: 5 s • Sin coste de energía", + "Analiza częstotliwości": "Análisis de frecuencia", + "Archiwum bez głosu": "Archivo sin voz", + "Automatyczne dostawy z obsadzonych placówek · %.0f / min": "Entregas automáticas de puestos con personal · %.0f/min", + "Autorzy dźwięków": "Créditos de sonido", + "Awansuje przedmiot o 1 poziom i ponownie losuje jego parametry oraz wartości obecnych addonów. Zachowuje ich typy, liczbę i efekty orbów. Wyniki losowania mogą być niższe. Jedna sztuka daje jeden awans. Kolejny awans wymaga nowego orba (główna progresja do 120; 1000 to limit techniczny). Nie działa na materiały zużywalne.": "Aumenta el nivel del objeto en 1 y vuelve a sortear sus estadísticas y valores de atributos. Conserva tipos, cantidad y orbes. Los valores pueden bajar. Un orbe por mejora. Progresión hasta 120; límite técnico 1000. No afecta consumibles.", + "BRAK SUROWCÓW": "RECURSOS INSUFICIENTES", + "BRAKUJE SUROWCÓW — NAJEDŹ NA RECEPTURĘ, ABY SPRAWDZIĆ KOSZT": "RECURSOS INSUFICIENTES — PASA SOBRE LA RECETA PARA VER EL COSTE", + "BROŃ %d / %s": "ARMA %d / %s", + "BROŃ [%s]": "ARMA [%s]", + "Bardzo szybkostrzelna broń kinetyczna. Zużywa 1 sztukę amunicji na strzał.": "Arma cinética de disparo rápido. Consume 1 munición por disparo.", + "Bez przydziału": "Sin asignar", + "Bezpieczny układ · zaopatrzenie": "Sistema seguro · suministros", + "Bezpośrednie trafienie kadłuba dobija zwykłego obcego przy maksymalnie 8% kadłuba, a bossa przy 2%. Statek rozpada się na fragmenty.": "Un impacto directo en el casco remata alienígenas normales al 8% o menos y jefes al 2%. La nave se fragmenta.", + "Bezpośrednie trafienie odsłoniętego kadłuba otwiera wyrwę na 5 s. Kolejne twoje trafienia ignorują połowę absorpcji tego statku. Wyrwy nie sumują się.": "Un impacto directo en el casco expuesto abre una brecha de 5 s. Tus siguientes impactos ignoran la mitad de la absorción. No se acumula.", + "Brak bezpiecznego miejsca na teleport": "No hay lugar seguro para teletransportarse", + "Brak części": "Sin piezas", + "Brak dostępnych addonów.": "No hay atributos disponibles.", + "Brak energii": "Sin energía", + "Brak modułu": "Sin módulo", + "Brak odpowiedniego przedmiotu": "Sin objeto compatible", + "Brak placówek. Szukaj głębokich złóż na planetach (szansa 60%). Budowa: zasobność × 10 części.": "Sin puestos. Busca depósitos profundos en planetas (60%). Construcción: riqueza × 10 piezas.", + "Brak połączenia z wyposażeniem statku.": "Sin conexión con el equipo de la nave.", + "Brak przedmiotów z addonami na statku. Zabierz wyposażenie z magazynu fregaty przed lądowaniem.": "No hay objetos con atributos a bordo. Recoge equipo del almacén de la fragata antes de aterrizar.", + "Brak rozszerzenia": "Sin extensión", + "Brak sektorów do zbadania. Szukaj pustelnika na planecie lub map w łupach z wypraw.": "Sin sectores por explorar. Busca ermitaños en planetas o mapas en el botín.", + "Brak wolnej, zbudowanej kajuty. Przygotuj pokój na fregacie.": "No hay camarote construido libre. Prepara uno en la fragata.", + "Brak zamontowanej broni": "Sin arma instalada", + "Brak załogantów. Przygotuj kajutę i zatrudnij specjalistę spotkanego na planecie.": "Sin tripulación. Prepara un camarote y contrata un especialista en un planeta.", + "Brakuje %d kryształów czasu.": "Faltan %d cristales de tiempo.", + "Brakuje kryształów, addon jest już maksymalny lub przedmiot jest niedostępny.": "Faltan cristales, el atributo ya está al máximo o el objeto no está disponible.", + "Brakuje zasobów. Koszt: ": "Faltan recursos. Coste: ", + "Broń obcych zadaje o 10% mniej obrażeń.": "Las armas alienígenas causan un 10% menos de daño.", + "Broń ręczna": "Arma de mano", + "Budowa kosztuje zasobność × 10 części. Do wydobycia potrzebny jest załogant.": "Construcción: riqueza × 10 piezas. La extracción requiere tripulante.", + "Budowa wymaga po 100 każdego z pięciu surowców kosmicznych.": "Requiere 100 unidades de cada uno de los cinco recursos espaciales.", + "Burza pyłowa": "Tormenta de polvo", + "CECHA GŁÓWNA": "ATRIBUTO PRINCIPAL", + "Celny strzał": "Disparo certero", + "Ciężki, szybki pocisk kinetyczny. Silne pojedyncze uderzenie co 2,2 s. Zużywa 10 zwykłej amunicji, bez energii.": "Proyectil cinético pesado y rápido. Gran impacto cada 2,2 s. Consume 10 municiones normales, sin energía.", + "Ciężkie drzwi ustępują. W niszy pośród zatartych reliefów czeka kolejny fragment dawnej technologii.": "Las puertas pesadas ceden. Entre relieves desgastados espera otro fragmento de tecnología antigua.", + "Czas między wystrzeleniem rakiet krótszy o %d%%. Działa po premiach sprzętu; minimalny odstęp to 1 s. Premie rang nie sumują się.": "Intervalo entre misiles reducido un %d%%. Después de bonificaciones; mínimo 1 s. Los rangos no se acumulan.", + "Czeka na załoganta": "Esperando tripulante", + "DEUTER / PALIWO FREGATY": "DEUTERIO / COMBUSTIBLE DE FRAGATA", + "DPS jednego działka": "DPS de una torreta", + "DPS uwzględnia premie wyposażenia, kapitana, krytyki i promieniowanie. To wartość teoretyczna, przed obroną celu; rzeczywisty wynik zależy od trafień, energii i amunicji.": "El DPS incluye equipo, capitán, críticos y radiación. Es teórico, antes de defensas; depende de impactos, energía y munición.", + "DZIAŁANIE %d s": "DURACIÓN %d s", + "Daleko od światła powierzchni leży podziemny zbiornik. Wokół niego przetrwały najcenniejsze próbki — i najtrudniejsza droga powrotna.": "Bajo la superficie hay un depósito con muestras valiosas y un difícil camino de regreso.", + "Deuter: %.1f · Produkcja: %.0f/min": "Deuterio: %.1f · Producción: %.0f/min", + "Do 3% maksymalnych tarcz na sekundę.": "Hasta el 3% de escudos máximos por segundo.", + "Dodaj amunicję": "Añadir munición", + "Dodano pełny pakiet zasobów, amunicję, wszystkie orby i %d map.\n%d przedmiotów czeka w magazynie fregaty; dodano też sprzęt kapitana i punkty nauki.": "Añadidos recursos, munición, todos los orbes y %d mapas.\n%d objetos en la fragata; añadidos equipo y puntos de aprendizaje.", + "Dodatkowa tarcza już działa": "Escudo adicional ya activo", + "Dodatkowe 5% obrażeń tarczom obcych. Sumuje się z Wiedzą o tarczach.": "5% de daño adicional a escudos alienígenas. Se acumula con Conocimiento de escudos.", + "Dodatkowe 5% szansy uniknięcia obrażeń od wrogich obcych. Łączy się niezależnie z pozostałymi unikami.": "5% de evasión adicional contra alienígenas. Independiente de otras evasiones.", + "Dopalacz już działa": "Propulsor ya activo", + "Dopalacz pod TAB nie zużywa energii i działa również przy pustym generatorze. Tylko silnik.": "El impulso TAB no consume energía y funciona con el generador vacío. Solo motor.", + "Dowódca dronów": "Comandante de drones", + "Doładowanie tarcz": "Recarga de escudos", + "Doświadczenie (EXP)": "Experiencia (EXP)", + "Drony już walczą": "Los drones ya combaten", + "Duże obrażenia na krótkim dystansie. Cztery strzały na sekundę.": "Gran daño a corta distancia. Cuatro disparos por segundo.", + "Działka zewnętrzne": "Torretas externas", + "Działko gamma": "Cañón gamma", + "Działko maszynowe": "Cañón automático", + "Działko plazmowe": "Cañón de plasma", + "Działo artyleryjskie": "Cañón de artillería", + "Energia na strzał": "Energía por disparo", + "Ewakuuj pracowników": "Evacuar trabajadores", + "FREGATA / POKŁAD OPERACYJNY": "FRAGATA / CUBIERTA OPERATIVA", + "FREGATA • PANCERZ": "FRAGATA • BLINDAJE", + "GROŹNA FAUNA": "FAUNA PELIGROSA", + "Globalnie odnawia tarcze z faktycznie zadanych obrażeń. Łącznie do 10% obrażeń; tempo odzysku do 5% maksymalnych tarcz/s, z rezerwą na jedno takie odnowienie.": "Recupera escudos con daño real. Hasta el 10% del daño; máximo 5% de escudos máximos/s con reserva para una recuperación.", + "Gorąca biosfera": "Biosfera caliente", + "Górnik": "Minero", + "Gęsta mgła": "Niebla densa", + "GŁĘBOKIE ZŁOŻE / DEUTER": "DEPÓSITO PROFUNDO / DEUTERIO", + "Główna progresja: poziomy 1–120. HP, tarcze i atak wrogów rosną o 10% wartości bazowej na poziom, po 120 o 20%. Bazowe parametry łupu rosną o 7% na poziom przedmiotu. Bonusy procentowe mają limity. Poziom 1000 to limit techniczny wyposażenia.": "Progresión principal: niveles 1–120. Vida, escudos y ataque enemigos aumentan un 10% base por nivel; tras 120, un 20%. El botín aumenta un 7% por nivel de objeto. Bonificaciones limitadas. Límite técnico: 1000.", + "Głębokie złoże deuteru": "Depósito profundo de deuterio", + "HANGAR / OBSŁUGA": "HANGAR / MANTENIMIENTO", + "HANGAR / WYBÓR STATKU": "HANGAR / SELECCIÓN DE NAVE", + "IDŹ DO NASTĘPNEGO POZIOMU": "IR AL SIGUIENTE NIVEL", + "INICJALIZACJA NAPĘDU SKOKOWEGO": "INICIANDO MOTOR DE SALTO", + "INŻYNIER CHRONALNY": "INGENIERO TEMPORAL", + "Inżynier chronalny": "Ingeniero temporal", + "Inżynierka rozłożyła stanowisko pomiarowe daleko od zabudowań. Potrzebuje lądownika do krótkiego testu nowego układu zasilania. Zapewnia podstawową zapłatę niezależnie od wyniku i dodatkową premię za poprawny przebieg próby. Gdy pytasz o ryzyko, bez słowa przesyła zapis poprzedniego testu. Widać na nim nagły skok napięcia.": "Una ingeniera pide probar un sistema de energía con el módulo de aterrizaje. Garantiza un pago base y una prima por éxito. La grabación anterior muestra una subida brusca de tensión.", + "Izolowane próbki i komora do badań obcych organizmów.": "Muestras aisladas y cámara para estudiar organismos alienígenas.", + "Jeden załogant obsługuje jedną placówkę. Nowy przydział przenosi go z poprzedniej.": "Cada tripulante opera un puesto. Una nueva asignación sustituye la anterior.", + "Jednorazowa wyprawa. Zużywa mapę i pobiera %d deuteru.": "Expedición única. Consume el mapa y %d deuterio.", + "Jednorazowy powerbank. Przywraca 10% maksymalnej energii statku, do jego aktualnego limitu. Użyj klawiszem R podczas lotu.": "Batería de un uso. Restaura el 10% de energía máxima hasta el límite actual. Usa R durante el vuelo.", + "KAPITAN · PASYWNE": "CAPITÁN · PASIVO", + "KOMPUTER": "COMPUTADORA", + "KORSARZ • ENERGIA": "CORSARIO • ENERGÍA", + "KOSZT BUDOWY": "COSTE DE CONSTRUCCIÓN", + "KOSZT · posiadasz / wymagane\n": "COSTE · disponible / necesario\n", + "KUP 100 AMUNICJI — 100 KREDYTÓW": "COMPRAR 100 MUNICIONES — 100 CRÉDITOS", + "KUP MAPĘ · %d KREDYTÓW": "COMPRAR MAPA · %d CRÉDITOS", + "Kadłub jest pełny": "Casco completo", + "Kadłub jest w pełni sprawny. Naprawa nie jest potrzebna.": "El casco está intacto. No necesita reparación.", + "Kadłub nie wymaga naprawy": "El casco no necesita reparación", + "Kadłub: %d · Tarcze: %d\nEnergia: %d · Prędkość: %d px/s": "Casco: %d · Escudos: %d\nEnergía: %d · Velocidad: %d px/s", + "Kamuflaż": "Camuflaje", + "Kamuflaż już działa": "Camuflaje ya activo", + "Kapsuły do działka gamma. Obrażenia radiacyjne.": "Cápsulas para el cañón gamma. Daño por radiación.", + "Każda nadlatująca wroga rakieta ma 25% szansy zostać przechwycona w zasięgu 240 px od statku. Przechwycona rakieta wybucha bez zadawania obrażeń. Jeden rzut na rakietę.": "Cada misil enemigo tiene un 25% de ser interceptado a 240 px. Explota sin daño. Una tirada por misil.", + "Każde bezpośrednie trafienie twojej broni zadaje obcym dodatkowe 5 obrażeń przed absorpcją.": "Cada impacto directo causa 5 de daño adicional a alienígenas antes de absorción.", + "Każde bezpośrednie trafienie zadaje pełne obrażenia jednocześnie tarczom i kadłubowi obcego. Nadal działa absorpcja.": "Cada impacto directo causa daño completo a escudos y casco a la vez. La absorción sigue activa.", + "Każdy orb jest jednorazowy i znika po użyciu. Kolejny awans wymaga kolejnej sztuki. Efekty tego samego orba nie sumują się. Orby typu obrażeń zastępują się. Replika trafia do magazynu.": "Los orbes se consumen al usarlos. Cada mejora requiere otro. Los efectos iguales no se acumulan. Los tipos de daño se sustituyen. Las réplicas van al almacén.", + "Każdy punkt: +1 punkt procentowy szansy na trafienie krytyczne. Maksymalnie +20 przy 20 punktach.": "Por punto: +1 punto porcentual de crítico. Máximo +20 con 20 puntos.", + "Każdy punkt: +2% obrażeń wszystkich broni. Maksymalnie +40% przy 20 punktach.": "Por punto: +2% de daño de todas las armas. Máximo +40% con 20 puntos.", + "Każdy strzał / impuls losuje obrażenia z tego zakresu.": "Cada disparo/impulso sortea daño en este intervalo.", + "Każdy strzał ma 1% szansy wyłączyć na 5 sekund losowy system obcego: silnik, broń lub tarcze. Czerwona ikona nad wrogiem wskazuje wyłączony system. Obrażenia okresowe nie losują ponownie.": "Cada disparo tiene un 1% de desactivar durante 5 s motor, arma o escudos alienígenas. Un icono rojo indica el sistema. El daño periódico no vuelve a sortear.", + "Każdy zebrany odłamek asteroidy odnawia %.1f%% maksymalnych tarcz i energii.": "Cada fragmento de asteroide recogido restaura %.1f%% de escudos y energía máximos.", + "Kliknij, aby otworzyć ekwipunek kapitana": "Pulsa para abrir equipo del capitán", + "Kliknij, aby wytworzyć": "Pulsa para fabricar", + "Kliknięcie rozstawia autonomiczne działko lewitujące w miejscu. Koszt: dokładnie 50 amunicji, która trafia do jego magazynka. Działko samodzielnie celuje i oddaje 50 strzałów; potem znika. Obrażenia każdego pocisku są o 50% niższe niż działka maszynowego z takimi samymi parametrami. Nie zużywa dalszej amunicji statku. Znika przy dokowaniu lub zniszczeniu statku.": "Despliega una torreta autónoma. Coste: exactamente 50 municiones para su cargador. Apunta sola y desaparece tras 50 disparos. Cada disparo causa un 50% menos que un cañón automático equivalente. Sin gasto adicional. Desaparece al atracar o destruirse la nave.", + "Kolekcjoner minerałów": "Recolector de minerales", + "Kontynuuj wyprawę": "Continuar expedición", + "Kontynuuj wyprawę [E]": "Continuar expedición [E]", + "Korytarz rozszerza się w chłodną grotę. Na wapiennych ścianach widać kolejne skupiska nieznanych form życia.": "El corredor se abre a una cueva fría con formas de vida desconocidas en las paredes.", + "Korzenie rozsunęły kamienie przy wejściu. Za progiem spoczywa porzucone urządzenie, pokryte pyłem minionych wieków.": "Las raíces han abierto la entrada. Tras ella descansa un aparato antiguo cubierto de polvo.", + "Koszt każdej technologii w tym rzędzie: %d próbek.": "Coste de cada tecnología de esta fila: %d muestras.", + "Koszt: %d próbek": "Coste: %d muestras", + "Koszt: 10 kryształów × poziom przedmiotu. Gotowe maksima nie pobierają opłaty.": "Coste: 10 cristales × nivel del objeto. Los valores máximos no se cobran.", + "Kredyty: %d": "Créditos: %d", + "Kredyty: %d · części: %d\nWydatki pobierane są od razu. Nowe nagrody zachowasz po bezpiecznym powrocie.": "Créditos: %d · piezas: %d\nPagas de inmediato; conservas recompensas tras volver a salvo.", + "Kryształy czasu": "Cristales de tiempo", + "Kryształy czasu: %d": "Cristales de tiempo: %d", + "Kup 1 rakietę za %d kredytów.": "Comprar 1 misil por %d créditos.", + "Kup 10 pocisków radiacyjnych za %d kredytów.": "Comprar 10 proyectiles irradiados por %d créditos.", + "Kup 100 zwykłych pocisków za %d kredytów.": "Comprar 100 balas normales por %d créditos.", + "Kup amunicję do działka maszynowego.": "Comprar munición de cañón automático.", + "Kup kontener · zawartość nieznana": "Comprar contenedor · contenido desconocido", + "Kup zestaw surowców": "Comprar paquete de recursos", + "LEĆ": "DESPEGAR", + "LEĆ DO UKŁADU": "VOLAR AL SISTEMA", + "Laser pulsacyjny": "Láser de pulsos", + "Laser radiacyjny": "Láser de radiación", + "Laser wiązkowy": "Láser de haz", + "Losowanie zakresu obrażeń broni (poziom 1)": "Intervalo de daño del arma (nivel 1)", + "Losuje przedmiot i addony dla poziomu aktualnego układu.": "Sortea objeto y atributos para el nivel del sistema actual.", + "Lot: poziom × 1000 deuteru. Powrót bezpłatny. Mapa zużywa się przy wylocie. Każdy sektor można odwiedzić tylko raz.": "Vuelo: nivel × 1000 deuterio. Regreso gratis. Consume el mapa al partir. Cada sector solo se visita una vez.", + "LĄDOWNIK ZNISZCZONY · Utracono łup bieżącej wyprawy.": "MÓDULO DE ATERRIZAJE DESTRUIDO · Botín de esta expedición perdido.", + "LĄDOWNIK ZNISZCZONY — utracono łup wyprawy": "MÓDULO DE ATERRIZAJE DESTRUIDO — botín perdido", + "Lądownik %d / 100 HP · Energia %d%%": "Módulo %d / 100 PV · Energía %d%%", + "Lądownik wymaga naprawy do 100% we frachtowcu.": "Repara el módulo al 100% en el carguero.", + "Lądownik · %d%%": "Módulo de aterrizaje · %d%%", + "MAGAZYN / ZASOBY I WYPOSAŻENIE": "ALMACÉN / RECURSOS Y EQUIPO", + "MAKSYMALIZUJ · %d KRYSZTAŁÓW": "MAXIMIZAR · %d CRISTALES", + "MODUŁY / Kliknij ikonę, aby przenieść przedmiot": "MÓDULOS / Pulsa un icono para transferir", + "MODUŁY STATKU": "MÓDULOS DE NAVE", + "MYŚLIWIEC • SZYBKOŚĆ": "CAZA • VELOCIDAD", + "Ma 50%% szans na przejęcie uciekającego wroga (poniżej 10%% kadłuba). Jedna próba na statek; losowanie następuje, gdy jest wolne miejsce na przejęcie. Zamiast uciekać atakują swoich dawnych sojuszników. Bossowie są odporni na wirusa. Wrogowie atakują zawirusowane statki, gdy gracza nie ma w pobliżu. Nadal możesz uszkodzić i zniszczyć je własną bronią. Limit jednocześnie kontrolowanych: %d.": "50%% de capturar enemigos que huyen con menos del 10%% de casco. Un intento por nave con plaza libre. Atacan a antiguos aliados. Jefes inmunes. Los enemigos los atacan si estás lejos. Puedes dañarlos. Límite: %d.", + "Magazyn jest pełny — zwolnij miejsce.": "Almacén lleno: libera espacio.", + "Magazyn pełny — zwolnij miejsce.": "Almacén lleno: libera espacio.", + "Malejące korzyści: 37,5% × punkty / (punkty + 10). Maksymalnie 25% uniku przy 20 punktach. Unik anuluje całe trafienie.": "Rendimiento decreciente: 37,5% × puntos / (puntos + 10). Máximo 25% de evasión con 20 puntos. Anula el impacto completo.", + "Malejące korzyści: 50% × punkty / (punkty + 10). Maksymalnie 33,3% redukcji przy 20 punktach, przed tarczami i kadłubem.": "Rendimiento decreciente: 50% × puntos / (puntos + 10). Máximo 33,3% de reducción con 20 puntos, antes de escudos y casco.", + "Manewr wyprzedzający": "Maniobra preventiva", + "Mapa odległych systemów · poz. %d": "Mapa de sistemas lejanos · nivel %d", + "Mapa z tej wizyty została kupiona. Wróć po kolejnym lądowaniu po nową ofertę.": "Mapa comprado. Aterriza de nuevo para otra oferta.", + "Mapa została już kupiona lub brakuje kredytów.": "Mapa ya comprado o créditos insuficientes.", + "Mapa: %d kredytów\nPaliwo na lot: %d deuteru\nPosiadasz: %d kredytów": "Mapa: %d créditos\nCombustible: %d deuterio\nDisponible: %d créditos", + "Miedź": "Cobre", + "Miejsce na przyszłe badanie.": "Espacio para futura investigación.", + "Między pustymi domami zarosła dawna ścieżka. W pozostawionych schowkach mogą jeszcze leżeć drobne oszczędności.": "Un sendero cubierto de maleza une casas vacías. Sus escondites podrían guardar ahorros.", + "Mnożnik krytyka": "Multiplicador crítico", + "Moduł": "Módulo", + "Mokradła": "Humedales", + "Może później": "Quizá después", + "Możesz wybrać tylko jedną ofertę.": "Solo puedes elegir una oferta.", + "NAJEDŹ NA IKONĘ, ABY ZOBACZYĆ KOSZT": "PASA SOBRE EL ICONO PARA VER EL COSTE", + "NAWIGACJA / ODKRYTE UKŁADY": "NAVEGACIÓN / SISTEMAS DESCUBIERTOS", + "NAWIGACJA / PLACÓWKI": "NAVEGACIÓN / PUESTOS", + "NAŁÓŻ ORB": "APLICAR ORBE", + "NIEPOWODZENIE · utrata %d HP. Wcześniejszy łup pozostaje w ładowni.": "FALLO · pérdida de %d PV. El botín anterior permanece en bodega.", + "NIEZNANY UKŁAD. TWOJA WYPRAWA.": "SISTEMA DESCONOCIDO. TU EXPEDICIÓN.", + "NISKI KADŁUB — %d%%": "CASCO BAJO — %d%%", + "NOWA UMIEJĘTNOŚĆ": "NUEVA HABILIDAD", + "Na skraju polany stoi warsztat na szerokich gąsienicach. Mechanik odbiera sygnał z twojego lądownika i po chwili przesyła listę uszkodzeń. Ma części wystarczające na jedną szybką naprawę. Podaje cenę oraz dokładny zakres prac, po czym uruchamia spawarkę i czeka na odpowiedź.": "Un mecánico móvil ofrece una reparación rápida. Envía precio y alcance del trabajo y espera tu respuesta.", + "Na stole ocalały dzienniki mieszkańców. Ich notatki mogą nauczyć cię, jak przetrwać na tej planecie.": "Los diarios conservados podrían enseñarte a sobrevivir en este planeta.", + "Nad małym obozem zbiera się burza, a jego transport ewakuacyjny stoi z rozebranym silnikiem. Pierwsza grupa ludzi czeka już przy awaryjnym schronieniu. Dalej pozostali pracownicy zabezpieczający sprzęt i ranni, których trudniej przenieść. Koordynator może zapłacić za każdy ukończony etap pomocy, ale z każdą minutą warunki będą gorsze.": "Una tormenta amenaza un campamento cuyo transporte está averiado. Rescata primero a quienes esperan en el refugio, después a trabajadores y heridos. Cada etapa se paga, pero las condiciones empeoran.", + "Najedź na nazwę przedmiotu, aby zobaczyć wszystkie addony i parametry.": "Pasa sobre el nombre para ver todos los atributos y estadísticas.", + "Napraw do 100%% · koszt %d części. Pełny kadłub wymagany do lądowania.": "Reparar al 100%% · coste %d piezas. Casco completo necesario para aterrizar.", + "Napraw lądownik: +%d HP": "Reparar módulo: +%d PV", + "Naprawiają tyle kadłuba, ile pozwalają części i brakujące punkty. Koszt: 1 część za 1 punkt kadłuba. Nie zużywają energii.": "Repara el casco según piezas y vida faltante. Coste: 1 pieza por PV. Sin energía.", + "Naprawiono lądownik: +%d HP.": "Módulo reparado: +%d PV.", + "Naprowadzana rakieta z małym uderzeniem. Zostawia płonący gaz na 5 s w promieniu 95 px: 110% obrażeń uderzenia na sekundę, kinetyczne. Nakładające się chmury nie sumują obrażeń.": "Misil guiado de impacto pequeño. Deja gas ardiendo 5 s en 95 px: 110% del daño de impacto/s, cinético. Las nubes no se acumulan.", + "Natychmiast naprawia %d%% maksymalnego kadłuba za 1 część. Wymaga uszkodzonego statku i aktywnego lotu.": "Repara al instante %d%% del casco máximo por 1 pieza. Requiere daños y vuelo activo.", + "Nie masz jeszcze umiejętności. To początek Twojej specjalizacji.": "Aún no tienes habilidades. Tu especialización empieza aquí.", + "Nie można zbudować placówki. Sprawdź liczbę części.": "No se puede construir el puesto. Comprueba las piezas.", + "Nie udało się otworzyć menu: %s": "No se pudo abrir el menú: %s", + "Nie udało się przenieść do układu: %s": "No se pudo viajar al sistema: %s", + "Niweluje obrażenia tego typu przed tarczą i pancerzem. Łączny limit statku: 60%.": "Reduce este daño antes de escudos y blindaje. Límite total: 60%.", + "Nowe badania w laboratorium trwają o %d%% krócej. Premie rang nie sumują się.": "Las nuevas investigaciones duran un %d%% menos. Los rangos no se acumulan.", + "Nowe układy odblokujesz, przechodząc dalej przez tunel po pokonaniu przeciwników.": "Desbloquea sistemas pasando por el túnel tras derrotar a los enemigos.", + "Nowy poziom": "Nuevo nivel", + "O %d%% więcej kredytów za pokonanych wrogów. Premia obejmuje kredyty do zebrania po walce. Premie rang nie sumują się.": "%d%% más créditos por enemigos derrotados, incluidos los recogidos tras combatir. Los rangos no se acumulan.", + "OBÓZ SPECJALISTY / REKRUTACJA": "CAMPAMENTO ESPECIALISTA / RECLUTAMIENTO", + "ODCZYT PARAMETRÓW": "LECTURA DE PARÁMETROS", + "ODCZYT: części zamienne. Ilość nieznana.": "ESCÁNER: repuestos. Cantidad desconocida.", + "ODCZYT: podzespół statku. Poziomu i parametrów nie udało się ustalić.": "ESCÁNER: componente de nave. Nivel y parámetros desconocidos.", + "ODCZYT: próbki mineralne. Dokładny skład i ilość nieznane.": "ESCÁNER: muestras minerales. Composición y cantidad desconocidas.", + "ODKRYTE · DOSTĘPNE W ŁUPACH": "DESCUBIERTO · DISPONIBLE EN BOTÍN", + "ODLEGŁY SEKTOR": "SECTOR LEJANO", + "ODŁÓŻ DO PLECAKA": "GUARDAR EN MOCHILA", + "ODŁÓŻ →": "GUARDAR →", + "OSTATNI UKŁAD": "ÚLTIMO SISTEMA", + "OSŁONA %.0f / %.0f": "ESCUDO %.0f / %.0f", + "OTWÓRZ WORMHOLE": "ABRIR AGUJERO DE GUSANO", + "Obcy trafiający twoją aktywną tarczę otrzymuje wyładowanie równe 20% obrażeń faktycznie pochłoniętych przez osłonę. Bez kolejnych efektów trafienia.": "Un alienígena que golpea tu escudo activo recibe una descarga del 20% del daño absorbido. Sin efectos adicionales.", + "Obok niewielkiej instalacji wydobywczej stoi łazik załadowany po same osie. Jego operator od tygodni wydobywa ten sam minerał, ale zabrakło mu materiałów do naprawy urządzeń. Proponuje wymianę części swojego zapasu na surowce z twojej ładowni. Przesyła dokładny wykaz towarów.": "Un vehículo minero va cargado de minerales. Su operador necesita materiales de reparación y ofrece intercambiar parte de sus reservas por tus recursos. Envía la lista exacta.", + "Obrażenia": "Daño", + "Obrażenia broni": "Daño de armas", + "Obrażenia dronów bojowych większe o %d%%. Premie rang nie sumują się.": "Los drones causan un %d%% más de daño. Los rangos no se acumulan.", + "Obrażenia kadłubów obcych": "Daño a cascos alienígenas", + "Obrażenia krytyczne": "Daño crítico", + "Obrażenia tarcz obcych": "Daño a escudos alienígenas", + "Obrażenia trafienia": "Daño de impacto", + "Obrażenia z addonów": "Daño de atributos", + "Obrażenia: %s": "Daño: %s", + "Obóz specjalisty": "Campamento especialista", + "Odbierz do ładowni statku. Przedmioty bez miejsca pozostają na fregacie.": "Recoger en bodega. Los objetos sin espacio se quedan en la fragata.", + "Odblokuj 1 slot ładowni w hangarze: 100 żelaza + 50 aluminium.": "Desbloquear 1 espacio en hangar: 100 hierro + 50 aluminio.", + "Odległy sektor %03d": "Sector lejano %03d", + "Odstęp między strzałami": "Intervalo de disparo", + "Odstęp rozstawiania": "Intervalo de despliegue", + "Odstęp strzałów działka": "Intervalo de torreta", + "Odstęp strzałów działka: %.2f s • Kolejne rozstawienie: %.2f s": "Intervalo de torreta: %.2f s • Próximo despliegue: %.2f s", + "Odstęp strzałów: %.2f s": "Intervalo de disparo: %.2f s", + "Odwrócona polaryzacja": "Polaridad invertida", + "Odzysk tarcz z obrażeń": "Recuperación de escudos por daño", + "Odzyskane moduły · %d": "Módulos recuperados · %d", + "Odłóż wszystko →": "Guardar todo →", + "Odłóż wyposażenie kapitana": "Guardar equipo del capitán", + "Ogólna wiedza": "Conocimiento general", + "Opady śniegu": "Nevada", + "Orb elektryczności": "Orbe eléctrico", + "Orb silników atomowych": "Orbe de motores atómicos", + "Osiągnięto limit.": "Límite alcanzado.", + "Ostatnie zapasy ukryto pod zawaloną częścią budynku. Belki skrzypią przy każdym kroku.": "Hay suministros bajo un edificio derrumbado. Las vigas crujen a cada paso.", + "Oszczędny laser wiązkowy: małe obrażenia i zasięg około jednego ekranu. Koszt impulsu rośnie z obrażeniami i addonami egzemplarza.": "Láser eficiente: daño bajo y alcance de una pantalla. El coste crece con daño y atributos.", + "Oszczędny magazynek": "Cargador eficiente", + "Osłabienie broni obcych": "Debilitar armas alienígenas", + "Otwórz przeskanowaną skrytkę": "Abrir escondite escaneado", + "Otwórz statek i sloty wyposażenia": "Abrir nave y ranuras de equipo", + "PANCERZ": "BLINDAJE", + "PANCERZ REAKTYWNY": "BLINDAJE REACTIVO", + "POKÓJ 01": "CAMAROTE 01", + "POKÓJ 02": "CAMAROTE 02", + "POKÓJ 03": "CAMAROTE 03", + "POKÓJ 04": "CAMAROTE 04", + "POKÓJ 05": "CAMAROTE 05", + "POSIADANE UMIEJĘTNOŚCI": "HABILIDADES APRENDIDAS", + "POWRÓT NA STATEK [L]": "VOLVER A LA NAVE [L]", + "POWRÓT Z WYPRAWY": "REGRESAR DE EXPEDICIÓN", + "POWRÓT Z WYPRAWY · ": "REGRESO DE EXPEDICIÓN · ", + "POZIOM %d": "NIVEL %d", + "POZIOM %s / III · %s": "NIVEL %s / III · %s", + "PROJEKTY BRONI I ROZSZERZEŃ": "PROYECTOS DE ARMAS Y EXTENSIONES", + "PRZEJDŹ DO HARD": "PASAR A DIFÍCIL", + "PRÓBKI / %d": "MUESTRAS / %d", + "PRĘDKOŚĆ: %.0f": "VELOCIDAD: %.0f", + "Pancerz reaktywny": "Blindaje reactivo", + "Pancerz z tytanu": "Blindaje de titanio", + "Parametry statku, uzbrojenie, pancerz i systemy": "Estadísticas, armas, blindaje y sistemas", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Przy niskim kadłubie pochłania 50% otrzymywanych obrażeń.": "Extensión pasiva. Funciona instalada. Absorbe el 50% del daño con casco bajo.", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Uciekający wrogowie przechodzą pod kontrolę wirusa i atakują inne wrogie statki.": "Extensión pasiva. Los enemigos que huyen son controlados por el virus y atacan a otros enemigos.", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Zebrany odłamek asteroidy przywraca tarcze i energię.": "Extensión pasiva. Los fragmentos de asteroides recogidos restauran escudos y energía.", + "Pasywny moduł prędkości. Na poziomie 1 bonus wynosi 1–5 px/s i rośnie wraz z poziomem przedmiotu.": "Módulo pasivo de velocidad. Nivel 1: +1–5 px/s; aumenta con el nivel del objeto.", + "Pewna wypłata albo ryzyko": "Pago seguro o riesgo", + "Pełne zachmurzenie": "Cielo cubierto", + "Pierwsze trafienie sięgające kadłuba po utracie tarcz zadaje kadłubowi o 70% mniej obrażeń. Odnowienie: 15 s aktywnego lotu.": "El primer impacto al casco tras perder escudos causa un 70% menos de daño. Recarga: 15 s de vuelo activo.", + "Pierwsze trafienie w aktywną tarczę zadaje tylko 10% obrażeń. Odnowienie: 60 s. Redukcja obejmuje też przebicie tego trafienia na kadłub.": "El primer impacto en escudos activos causa solo el 10% del daño, incluida penetración al casco. Recarga: 60 s.", + "Pierwszy cel: pokonaj wrogów → pokonaj bossa → znajdź zamieszkaną planetę.": "Primer objetivo: derrota enemigos → derrota al jefe → encuentra un planeta habitado.", + "Pilotaż": "Pilotaje", + "Placówka gotowa. Przydziel operatora w centrum dowodzenia.": "Puesto listo. Asigna un operador en el centro de mando.", + "Placówka górnicza": "Puesto minero", + "Placówka zbudowana · %.1f deuteru/min": "Puesto construido · %.1f deuterio/min", + "Placówka: ": "Puesto: ", + "Po uszkodzeniu kadłuba pocisk lub laser przebija jeden dodatkowy cel za 50% obrażeń. Rakieta wypuszcza dodatkowy pocisk penetrujący bez kolejnej eksplozji. Bez łańcuchowych przestrzałów i dodatkowego kosztu strzału.": "Tras dañar el casco, proyectil o láser atraviesa otro objetivo con 50% de daño. Los misiles generan un proyectil penetrante sin otra explosión. Sin cadenas ni coste extra.", + "Po zbiciu tarcz natychmiast odzyskujesz 25% ich maksimum. Przez 2 s obrażenia kierowane w tarczę są zmniejszone o 50%. Odnowienie: 30 s. Nie sumuje redukcji z Rozproszeniem salwy; działa silniejsza. Dokowanie nie resetuje odnowienia.": "Al romperse los escudos recupera 25% al instante. Reduce daño a escudos un 50% durante 2 s. Recarga: 30 s. Con dispersión de salva se aplica el efecto mayor. Atracar no reinicia recarga.", + "Pochłania 50%% otrzymywanych obrażeń, gdy kadłub ma nie więcej niż %d%% maksimum. Próg sprawdzany przed trafieniem.": "Absorbe 50%% del daño con casco de %d%% o menos. Se comprueba antes del impacto.", + "Pociski do działka maszynowego. Obrażenia kinetyczne.": "Munición de cañón automático. Daño cinético.", + "Pociski, rakiety i lasery obcych mogą trafiać także innych wrogich obcych. Trafienie własnego statku strzelca jest wykluczone.": "Los proyectiles, misiles y láseres alienígenas pueden alcanzar a otros alienígenas, pero no a su propio tirador.", + "Pod cienką warstwą gruntu żyła schodzi głębiej. Odwiert odsłoni bogatszy pokład, jeśli skała pozostanie stabilna.": "La veta continúa abajo. Perforar revelará un filón más rico si la roca permanece estable.", + "Pod zapadniętą podłogą kryje się sejf osady. Dotarcie do niego wymaga wejścia pod niestabilne stropy.": "Bajo el suelo hundido está la caja fuerte del poblado. Llegar exige pasar bajo techos inestables.", + "Pokonaj wszystkich wrogów": "Derrota a todos los enemigos", + "Pokój załogi z łóżkiem, biurkiem i miejscem na rzeczy osobiste.": "Camarote con cama, escritorio y espacio personal.", + "Pomieszczenie jest wyposażone. Jego mechanika zostanie dodana w kolejnym etapie.": "Sala equipada. Su mecánica se añadirá más adelante.", + "Powerbank przywraca %d%% maksymalnej energii zamiast 10%%. Umiejętność pasywna; premie rang nie sumują się.": "La batería restaura %d%% de energía máxima en vez del 10%%. Pasiva; rangos no acumulables.", + "Poziom %d": "Nivel %d", + "Pozostałe wybory po tym awansie: %d": "Elecciones restantes de este ascenso: %d", + "Pozostało": "Restante", + "Pozostało: %d s gry": "Restan: %d segundos de juego", + "Premia biomu: materiały ×%.1f · moduły +%d…+%d poz.\nLiczba amunicji i rakiet nie wzrasta.": "Bonus de bioma: materiales ×%.1f · módulos +%d…+%d niveles\nMunición y misiles sin aumento.", + "Premia do doświadczenia": "Bonificación de experiencia", + "Premia do kredytów": "Bonificación de créditos", + "Premia do obrażeń": "Bonificación de daño", + "Premia ze sprzętu: do +100%. Umiejętności kapitana działają osobno.": "Equipo: hasta +100%. Las habilidades del capitán actúan por separado.", + "Produkcja zwykłej i radiacyjnej amunicji daje o %d%% więcej sztuk za ten sam koszt. Nie dotyczy rakiet. Premie rang nie sumują się.": "Fabricar munición normal e irradiada da %d%% más al mismo coste. No incluye misiles. Rangos no acumulables.", + "Przeciągnij, aby przesunąć okno": "Arrastra para mover la ventana", + "Przeciążenie osłon": "Sobrecarga de escudos", + "Przeciążenie reaktora": "Sobrecarga del reactor", + "Przejaśnienia": "Claros", + "Przeniesiono %d przedmiotów.": "%d objetos transferidos.", + "Przenieś rannych": "Transportar heridos", + "Przestrzał": "Perforación", + "Przez 10 s statek staje się niemal niewidoczny. Przeciwnicy nie wykrywają go ani nie śledzą. Oddanie strzału przerywa kamuflaż. Nie zapewnia odporności na już wystrzelone pociski. Odnowienie: 60 s.": "Casi invisible durante 10 s. Los enemigos no te detectan ni siguen. Disparar rompe el camuflaje. Los proyectiles ya disparados aún dañan. Recarga: 60 s.", + "Przy zakurzonym transporterze miga przenośny nadajnik. Właściciel przedstawia się jako niezależny dostawca, choć oznaczenia na skrzyniach należą do kilku różnych firm. Twierdzi, że kończy interesy na tej planecie i woli sprzedać zapasy taniej, niż zabierać je z powrotem na orbitę.": "Un proveedor independiente liquida sus reservas antes de volver a órbita. Sus cajas llevan marcas de varias empresas.", + "Przydziel załoganta w centrum dowodzenia fregaty. Deuter trafia automatycznie do magazynu, również gdy jesteś poza tą planetą.": "Asigna tripulante en el mando de la fragata. El deuterio llega automáticamente aunque salgas del planeta.", + "Przygotowana dla jednego załoganta. Specjalistów możesz zatrudniać na planetach.": "Para un tripulante. Contrata especialistas en los planetas.", + "Przypisz umiejętność do slotu F1–F5 w panelu kapitana": "Asigna la habilidad a F1–F5 en el panel del capitán", + "Przywraca 100 punktów tarcz, do ich maksimum. Wymaga i zużywa 100% energii.": "Restaura hasta 100 puntos de escudo. Requiere y consume el 100% de energía.", + "Przywracają 10% maksymalnej energii. Użyj klawiszem R.": "Restaura el 10% de energía máxima. Usa R.", + "Próbki do analizy": "Muestras de análisis", + "Prędkość": "Velocidad", + "Prędkość aktualna": "Velocidad actual", + "Prędkość lecącej wiązki: %.0f px/s": "Velocidad del haz: %.0f px/s", + "Prędkość maksymalna": "Velocidad máxima", + "Prędkość obrotu": "Velocidad de giro", + "Prędkość statku": "Velocidad de nave", + "Pusty slot\nMiejsce na przyszłe badanie.": "Ranura vacía\nEspacio para futura investigación.", + "Pęknięcie poszycia": "Fisura del casco", + "Płatny skan skrytki": "Escaneo de pago", + "RAKIETY": "MISILES", + "RANDOLOOT / EKSPLORUJ • WALCZ • ROZWIJAJ STATEK": "RANDOLOOT / EXPLORA • COMBATE • MEJORA TU NAVE", + "REAKTOR": "REACTOR", + "RESET SKILLI — 100 KREDYTÓW": "REINICIAR HABILIDADES — 100 CRÉDITOS", + "REZERWA KONDENSATORÓW": "RESERVA DE CONDENSADORES", + "Radiacyjna kula. Napromieniowanie: 10 s, 25% obrażeń trafienia/s. Kolejne trafienia odświeżają czas. Zużywa napromieniowaną amunicję.": "Esfera radiactiva. Radiación: 10 s al 25% del daño de impacto/s. Los impactos renuevan duración. Usa munición irradiada.", + "Rakieta": "Misil", + "Redukcja obrażeń": "Reducción de daño", + "Regały, pojemniki i stanowiska do przechowywania modułów.": "Estantes, contenedores y puestos de almacenamiento de módulos.", + "Regeneracja energii +%d%% przez 7 sekund. Zużywa wszystkie tarcze i blokuje ich odzysk na czas działania. Wymaga min. 25%% tarcz.": "Regeneración de energía +%d%% durante 7 s. Consume todos los escudos y bloquea su recuperación. Requiere al menos 25%% de escudos.", + "Rekrutacja: %d kredytów · posiadasz: %d": "Contratación: %d créditos · disponible: %d", + "Rezerwa kondensatorów": "Reserva de condensadores", + "Rozbity przekaźnik": "Relé destruido", + "Rozłóż przedmiot: +10 części": "Desmontar objeto: +10 piezas", + "Rtęć": "Mercurio", + "SIEĆ WYDOBYWCZA": "RED DE EXTRACCIÓN", + "SILNIK": "MOTOR", + "SKŁAD MODUŁÓW W REMONCIE": "ALMACÉN DE MÓDULOS EN OBRAS", + "SPACJA — pomiń intro": "ESPACIO — omitir introducción", + "SPRZĘT KAPITANA · %d szt. ODZYSKANE MODUŁY · %d": "EQUIPO DEL CAPITÁN · %d uds. MÓDULOS RECUPERADOS · %d", + "SPRÓBUJ PONOWNIE [R]": "REINTENTAR [R]", + "STATEK GRACZA": "NAVE DEL JUGADOR", + "STATEK ZABEZPIECZONY": "NAVE ASEGURADA", + "STATEK ZNISZCZONY": "NAVE DESTRUIDA", + "STATEK · %d / %d": "NAVE · %d / %d", + "STATEK · PASYWNE": "NAVE · PASIVO", + "STAŁY EFEKT": "EFECTO PERMANENTE", + "SYSTEMY I MODUŁY": "SISTEMAS Y MÓDULOS", + "SYSTEMY POKŁADOWE": "SISTEMAS DE A BORDO", + "Sektory poza znanymi szlakami. Podwójna liczba wrogów, jeden boss. Kryształy czasu z każdego wroga. Zwykli wrogowie: mapy i powerbanki po 15%. Boss zawsze zostawia 1 mapę i 1 losowy orb, a dodatkowo ma 5% szansy na Orb replikacji.": "Sectores lejanos: doble de enemigos y un jefe. Todos dan cristales de tiempo. Normales: 15% de mapas y baterías cada uno. Jefe: siempre un mapa y un orbe aleatorio, más 5% de orbe de réplica.", + "Skaliste wyżyny": "Tierras altas rocosas", + "Skan ujawni rodzaj zawartości, ale nie jej ilość ani stan. Otwarcie wymaga osobnej opłaty.": "El escaneo revela el tipo, no cantidad ni estado. Abrir cuesta aparte.", + "Skan zakończony. Możesz opłacić otwarcie lub wrócić później.": "Escaneo terminado. Paga la apertura o vuelve más tarde.", + "Skrócenie cooldownu rakiet": "Reducción de recarga de misiles", + "Spadek kadłuba z co najmniej 30% poniżej tego progu uruchamia naprawę 15% maksymalnego kadłuba przez 5 s. Odnowienie: 45 s. Trafienia nie przerywają naprawy.": "Al bajar de al menos 30% de casco a menos, repara 15% del máximo en 5 s. Recarga: 45 s. Los impactos no interrumpen.", + "Spadek tarcz z co najmniej 30% poniżej tego progu zmniejsza koszt energii broni o 50% przez 2 s. Odnowienie: 15 s.": "Al bajar de al menos 30% de escudos a menos, reduce el coste energético de armas un 50% por 2 s. Recarga: 15 s.", + "Specjalista z obozu szuka pracy. Obejrzyj umiejętności i zdecyduj — możesz wrócić później. Koszt zatrudnienia: 1000 kredytów × zarządzanie.": "Un especialista busca trabajo. Revisa sus habilidades; puedes volver después. Coste: 1000 créditos × gestión.", + "Specjalista został już zatrudniony.": "Especialista ya contratado.", + "Spotkanie zakończone. Nagrody w ładowni wyprawy przepadną po zniszczeniu lądownika.": "Encuentro terminado. Las recompensas en bodega se pierden si se destruye el módulo.", + "Sprzedaj próbki": "Vender muestras", + "Sprzęt: do +100% mnożnika bazowego, maksymalnie ×4.": "Equipo: hasta +100% del multiplicador base, máximo ×4.", + "Sprzęt: do 15% pojemności generatora/s. Ładowanie przy gwieździe i czasowe umiejętności dodają osobne premie.": "Equipo: hasta 15% de capacidad del generador/s. La estrella y las habilidades temporales añaden bonus separados.", + "Sprzęt: do 40%. Łącznie z umiejętnościami: do 60%.": "Equipo: hasta 40%. Con habilidades: hasta 60%.", + "Stanowiska analityczne, aparatura i stół do doświadczeń.": "Puestos de análisis, instrumentos y mesa de experimentos.", + "Starożytna struktura": "Estructura antigua", + "Start": "Inicio", + "Statek i kapitan": "Nave y capitán", + "Statek jest zniszczony": "La nave está destruida", + "Statek niedostępny": "Nave no disponible", + "Strzał w 10": "En el blanco", + "Sukces: %.2f%% · w razie porażki: −%d–%d HP\nSzansa uwzględnia warunki planety i sprzęt kapitana.": "Éxito: %.2f%% · fallo: −%d–%d PV\nIncluye condiciones del planeta y equipo del capitán.", + "Sygnał prowadzi do samotnego badacza pochylonego nad analizatorem próbek. Na widok twojego spisu ładunku nagle przerywa rozmowę. Jednego z przewożonych przez ciebie surowców potrzebuje do ukończenia badań. Ma środki z kończącego się grantu i jest gotów zapłacić więcej niż zwykły skup.": "Un investigador necesita urgentemente uno de tus recursos para acabar su estudio. Su presupuesto restante le permite pagar más de lo habitual.", + "Szansa szczęścia": "Probabilidad de suerte", + "Szansa uniku wynosi %d%% przez 5 sekund. Unik anuluje całe trafienie.": "Evasión de %d%% durante 5 s. Anula el impacto completo.", + "Szczęście": "Suerte", + "Szczęście (limit 60%)": "Suerte (límite 60%)", + "Szczęście: %d%% szans na przedmiot o 1 poziom wyższy niż bazowy loot planszy. Dotyczy lootu z wrogów i znalezisk. Bazowo: 0%%. Sumuje się ze sprzętem do limitu 60%%. Premie rang nie sumują się.": "Suerte: %d%% de obtener botín un nivel superior. Afecta enemigos y hallazgos. Base 0%%. Con equipo, límite 60%%. Rangos no acumulables.", + "Szerszeń": "Avispón", + "Szybko rozpędza do 300% zwykłej prędkości (+200%), następnie wytraca nadmiar prędkości. Bez kosztu energii.": "Acelera al 300% de velocidad normal (+200%) y después pierde el exceso. Sin coste energético.", + "Szybko rozpędza do 300% zwykłej prędkości (+200%), następnie wytraca nadmiar prędkości. Wymaga i zużywa 100% energii.": "Acelera al 300% normal (+200%) y después pierde el exceso. Requiere y consume 100% de energía.", + "Szybkostrzelność": "Cadencia", + "Słaby punkt": "Punto débil", + "Słaby sygnał alarmowy dobiega z przewróconego łazika. Jego kierowca żyje, lecz nie może wydostać się z kabiny. Do uniesienia wraku potrzebny jest prowizoryczny podnośnik zbudowany z twoich części. Czujniki ostrzegają, że uszkodzona bateria pojazdu jest niestabilna. Uwięziony obiecuje zapłatę, jeśli pomożesz mu wrócić do obozu.": "Un conductor está atrapado en un vehículo volcado. Construye un elevador con tus piezas. La batería es inestable; promete pagarte por rescatarlo.", + "Ta decyzja jest niedostępna.": "Esta decisión no está disponible.", + "Tajemniczy łup: 50% części, 35% minerały, 10% rakiety, 5% moduł. Wartość może być niższa od opłaty.": "Botín misterioso: 50% piezas, 35% minerales, 10% misiles, 5% módulo. Puede valer menos que el coste.", + "Tarcza zewnętrzna": "Escudo auxiliar", + "Tarcze są pełne": "Escudos completos", + "Tarcze wyłączone przez Przekierowanie zasilania": "Escudos desactivados por redirección de energía", + "Teleportuje w losowe, bezpieczne miejsce systemu. Zużywa całą aktualną energię (wymaga dodatniej energii). Odnowienie: 60 s.": "Teletransporta a un lugar seguro aleatorio. Consume toda la energía actual; requiere energía positiva. Recarga: 60 s.", + "Ten addon ma już maksymalną wartość lub nie posiada zakresu losowania.": "El atributo ya está al máximo o no tiene intervalo aleatorio.", + "Ten etap ma 0% szans. Obniż zagrożenie odpowiednim wyposażeniem.": "Probabilidad 0%. Reduce el peligro con equipo adecuado.", + "Teoretyczny DPS: uwzględnia krytyki i promieniowanie; przed obroną celu, przy dostępnej energii i amunicji.": "DPS teórico: críticos y radiación, antes de defensas y con energía y munición disponibles.", + "To miejsce zostało już odwiedzone.": "Este lugar ya fue visitado.", + "To spotkanie jest już niedostępne.": "Este encuentro ya no está disponible.", + "Trafienie dowolną bronią razi też obcych do 10 px od obrysu trafionego statku. Promień eksplozji twoich rakiet rośnie o 10 px. Bez łańcuchowych rykoszetów.": "Los impactos también dañan alienígenas a 10 px del objetivo. Radio de misiles +10 px. Sin rebotes en cadena.", + "Trafienie tarczy obcego blokuje regenerację na 5 s. Kolejne trafienia odświeżają czas.": "Impactar escudos alienígenas bloquea regeneración durante 5 s. Más impactos renuevan la duración.", + "Trwa wyprawa do sektora %d. Użyj przycisku POWRÓT Z WYPRAWY na pokładzie, aby wrócić do układu startowego przed kolejnym lotem.": "Expedición al sector %d activa. Usa el botón de regreso de la cubierta antes de otro vuelo.", + "Trwale zmienia typ obrażeń broni na energetyczny (jak laser). Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.": "Cambia permanentemente el daño a energía. Sin cambiar daño ni coste. Sustituye el orbe de tipo anterior.", + "Trwale zmienia typ obrażeń broni na kinetyczny. Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.": "Cambia permanentemente el daño a cinético. Sin cambiar daño ni coste. Sustituye el orbe de tipo anterior.", + "Trwale zmienia typ obrażeń broni na radiacyjny. Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.": "Cambia permanentemente el daño a radiación. Sin cambiar daño ni coste. Sustituye el orbe de tipo anterior.", + "Twoja broń zadaje dodatkowe 5% obrażeń kadłubom obcych. Sumuje się z Wiedzą o kadłubie.": "5% de daño extra al casco alienígena. Se acumula con Conocimiento del casco.", + "Twoja broń zadaje o 10% więcej obrażeń kadłubom obcych.": "10% más daño a cascos alienígenas.", + "Twoja broń zadaje o 10% więcej obrażeń tarczom obcych.": "10% más daño a escudos alienígenas.", + "Tworzy dokładną, niezależną kopię wyposażenia w magazynie frachtowca. Oryginał zostaje. Kopiuje poziom, addony i efekty orbów. Drop: dodatkowe 5% z bossa dalekiej wyprawy.": "Crea una copia exacta independiente en el almacén. Conserva el original. Copia nivel, atributos y orbes. Probabilidad adicional del 5% de jefes lejanos.", + "Tylko silnik. Trwale zmniejsza zużycie energii dopalacza TAB o 50%. Nie sumuje się. Orb darmowego dopalacza ma pierwszeństwo.": "Solo motor. Reduce el coste de TAB un 50% permanentemente. No acumulable. El orbe de impulso gratuito tiene prioridad.", + "Tylko tarcze. Trafienie w tarcze odnawia do 5% maksymalnych tarcz jako energię, nie więcej niż faktycznie stracone tarcze. Tempo odzysku: do 5% pojemności generatora/s, z rezerwą na jedno takie odnowienie. Uniki i trafienia w sam kadłub nie aktywują efektu.": "Solo escudos. Los impactos devuelven como energía hasta 5% de escudos máximos, nunca más que la pérdida real. Límite: 5% del generador/s y reserva para una recuperación. Evasión e impactos solo al casco no activan.", + "Typ obrażeń: %s": "Tipo de daño: %s", + "U podnóża góry otwiera się ciemna szczelina. Przy wilgotnych skałach rosną organizmy warte dokładniejszej analizy.": "Una grieta oscura al pie de la montaña alberga organismos dignos de estudio.", + "UMIEJĘTNOŚCI KAPITANA": "HABILIDADES DEL CAPITÁN", + "USŁUGI TUBYLCÓW": "SERVICIOS LOCALES", + "Ujawnia paski HP i tarcz wrogów.": "Muestra barras de vida y escudos enemigos.", + "Układ %d\nWyposażenie i zapasy zostają zachowane.": "Sistema %d\nEquipo y reservas conservados.", + "Układ bezpieczny. Usługi dostępne.": "Sistema seguro. Servicios disponibles.", + "Umiejętności kapitana": "Habilidades del capitán", + "Umiejętności kapitana · punkty do wydania: %d": "Habilidades del capitán · puntos: %d", + "Umiejętność nie jest odblokowana": "Habilidad no desbloqueada", + "Uwzględnia mechanika i aktywny efekt pancerza z tytanu.": "Incluye mecánico y efecto activo del blindaje de titanio.", + "W ruinach starego magazynu ktoś odnalazł pancerną skrytkę. Stojąca obok operatorka ma skaner zdolny zajrzeć przez jej osłonę, lecz urządzenie zużywa drogie ogniwa. Za niewielką opłatą sprawdzi, co może znajdować się w środku. Otwarcie zamka będzie kosztować osobno. Uprzedza, że skorodowana obudowa zakłóca odczyt.": "Una operadora puede escanear una caja blindada antigua por un precio. Revela el posible contenido; abrir cuesta aparte. La corrosión interfiere con la lectura.", + "W sercu budowli ocalał niezwykły mechanizm. Aby go wydobyć, trzeba poruszyć konstrukcję, która od dawna nie powinna stać.": "Un mecanismo inusual permanece en el edificio. Extraerlo podría desestabilizar la estructura antigua.", + "W zaciszu chaty pustelnik przechowuje współrzędne miejsc poza znanymi szlakami. Oferuje ci jedną ze swoich map.": "Un ermitaño ofrece un mapa de lugares fuera de las rutas conocidas.", + "W zasięgu gwiazdy przywraca 20% maksymalnych tarcz na sekundę przez maksymalnie 5 s. Opuszczenie zasięgu kończy efekt. Odnowienie: 30 s.": "Cerca de la estrella: 20% de escudos máximos/s hasta 5 s. Alejarse termina el efecto. Recarga: 30 s.", + "W — ciąg · S — hamuj / wstecz · A/D — obrót\nQ/R — ruch boczny · TAB — dopalanie · E — odwiedź POI": "W — impulso · S — frenar/reversa · A/D — girar\nQ/R — lateral · TAB — acelerar · E — visitar POI", + "WORMHOLE\nWleć, aby przejść do następnego układu": "AGUJERO DE GUSANO\nEntra para pasar al siguiente sistema", + "WORMHOLE — następny układ": "AGUJERO DE GUSANO — siguiente sistema", + "WRÓĆ DO LOTU": "VOLVER AL VUELO", + "WRÓĆ DO UKŁADU %d [R]": "VOLVER AL SISTEMA %d [R]", + "WYTWÓRZ": "FABRICAR", + "Weź gwarantowany zestaw": "Tomar lote garantizado", + "Wiatr przesuwa kurz po podłodze pustego magazynu. Kilka skrzyń wciąż ma nienaruszone zamknięcia.": "El polvo recorre un almacén vacío. Algunas cajas siguen selladas.", + "Wiedza o kadłubie": "Conocimiento del casco", + "Wleć w wormhole, aby przejść dalej.": "Entra en el agujero de gusano para avanzar.", + "Wrogie pociski i lasery mają 25% szansy na dodatkowy szeroki rozrzut celowania.": "Los proyectiles y láseres enemigos tienen un 25% de sufrir mayor dispersión.", + "Wróć do wyprawy": "Volver a la expedición", + "Wróć na pokład": "Volver a bordo", + "Wszystkie dostępne projekty zostały wynalezione.": "Todos los proyectos disponibles inventados.", + "Wybierz aktywną umiejętność dla F%d. Pasywne działają bez zajmowania slotu.": "Elige habilidad activa para F%d. Las pasivas no usan ranura.", + "Wybierz jednostkę i rozpocznij wyprawę.": "Elige nave e inicia expedición.", + "Wybierz jedną umiejętność. Wybór obowiązuje przez całą rozgrywkę.": "Elige una habilidad. La elección dura toda la partida.", + "Wybierz moduł lub broń\nPPM / Esc — anuluj": "Elige módulo o arma\nClic derecho/Esc — cancelar", + "Wybierz pomieszczenie na pokładzie.": "Elige una sala de la cubierta.", + "Wybierz pomieszczenie na pokładzie. · Warsztat i hangar są dostępne.": "Elige una sala. Taller y hangar disponibles.", + "Wybierz projekt. Nowe badanie trwa %d sekund gry. Odkryta broń lub rozszerzenie zacznie pojawiać się w łupach. Od początku dostępne jest działko plazmowe.": "Elige proyecto. Investigar dura %d segundos de juego. Armas y extensiones descubiertas aparecerán en botín. Cañón de plasma disponible al inicio.", + "Wybierz przedmiot i konkretny addon. Inżynier ustawi tylko jego wartość na maksimum dla obecnego poziomu przedmiotu.": "Elige objeto y atributo. El ingeniero maximiza solo ese valor para el nivel actual.", + "Wybierz umiejętność · oczekujące awanse: %d": "Elige habilidad · ascensos pendientes: %d", + "Wybrany addon ma teraz maksymalną wartość dla obecnego poziomu przedmiotu.": "El atributo elegido está al máximo para el nivel actual.", + "Wydobycie = zasobność × (1 + zarządzanie / 100). Bez załoganta: 0. Części: %d / %d": "Extracción = riqueza × (1 + gestión/100). Sin tripulante: 0. Piezas: %d / %d", + "Wydobycie: zasobność × (1 + zarządzanie / 100) deuteru/min. Bez załoganta: 0. Złoża nie wyczerpują się.": "Extracción: riqueza × (1 + gestión/100) deuterio/min. Sin tripulante: 0. Depósitos inagotables.", + "Wydobywany z asteroid. Składnik receptur warsztatu.": "Extraído de asteroides. Ingrediente del taller.", + "Wyjście": "Salir", + "Wymagana 1 część": "Requiere 1 pieza", + "Wymagana dodatnia maksymalna pojemność tarcz": "Requiere capacidad máxima de escudo positiva", + "Wymagana pełna energia": "Requiere energía completa", + "Wymagana zamontowana broń": "Requiere arma instalada", + "Wymagane 50 szt. zwykłej amunicji": "Requiere 50 municiones normales", + "Wymagany zasięg gwiazdy": "Requiere alcance de la estrella", + "Wymiana towarów": "Intercambio de mercancías", + "Wymień surowce": "Intercambiar recursos", + "Wymień surowce na 3 rakiety": "Cambiar recursos por 3 misiles", + "Wyprawa zakończona. Mapa została zużyta.\nPowrót do układu %d.\nWyposażenie i zapasy zostają zachowane.": "Expedición terminada. Mapa consumido.\nRegreso al sistema %d.\nEquipo y reservas conservados.", + "Wypuszcza 3 drony na 10 s. Strzelają działkami mechanicznymi; łącznie zadają 50% DPS statku w momencie startu. Koszt: 50 szt. zwykłej amunicji. Odnowienie: 30 s.": "3 drones durante 10 s. Juntos causan 50% del DPS al salir. Coste: 50 municiones normales. Recarga: 30 s.", + "Wypuszcza trzy flary na 10 s. Wrogowie w zasięgu obierają je za cel zamiast gracza. Odnowienie: 30 s.": "3 bengalas durante 10 s. Los enemigos cercanos las atacan en vez de a ti. Recarga: 30 s.", + "Wyrzutnia rakiet zapalających": "Lanzamisiles incendiarios", + "Wystrzeliwuje naprowadzaną rakietę z eksplozją obszarową. Cooldown: 5 s.": "Dispara un misil guiado con explosión de área. Recarga: 5 s.", + "Wystrzeliwuje pojedyncze krótkie czerwone wiązki, które szybko lecą przez przestrzeń. Każdy impuls ma 50% szansy całkowicie ominąć tarcze i trafić w kadłub. Zadaje o 30% mniej obrażeń niż laser wiązkowy z takimi samymi parametrami i zużywa o 30% więcej energii.": "Pulsos rojos cortos. Cada uno tiene 50% de ignorar escudos. 30% menos daño y 30% más energía que un láser de haz equivalente.", + "Wystrzeliwuje rakietę prosto w kierunku celownika. Większe obrażenia i eksplozja obszarowa. Zużywa amunicję rakietową.": "Misil recto hacia la mira. Mayor daño y explosión de área. Usa munición de misiles.", + "Wytwarzane z minerałów, odzyskiwane z przedmiotów i wraków. Do napraw.": "Fabricadas con minerales o recuperadas de objetos y pecios. Para reparaciones.", + "Wąska szczelina prowadzi do najbogatszej części złoża. Każde uderzenie narzędzia odbija się głuchym echem.": "Una grieta estrecha lleva a la parte más rica del depósito. Los golpes resuenan con eco sordo.", + "Wędrowiec": "Viajero", + "Wędrowny handlarz": "Comerciante ambulante", + "Wśród zwietrzałych skał połyskują drobiny rzadkich minerałów. Wystarczy ostrożnie oddzielić je od podłoża.": "Minerales raros brillan entre rocas erosionadas. Sepáralos con cuidado.", + "Z załogantem: %.1f–%.1f deuteru/min (zarządzanie 1–100).": "Con tripulante: %.1f–%.1f deuterio/min (gestión 1–100).", + "ZATRUDNIJ · %d KREDYTÓW": "CONTRATAR · %d CRÉDITOS", + "ZBUDUJ PLACÓWKĘ · %d CZĘŚCI": "CONSTRUIR PUESTO · %d PIEZAS", + "ZBUDUJ SEKCJĘ": "CONSTRUIR SECCIÓN", + "ZBUDUJ SKŁAD": "CONSTRUIR ALMACÉN", + "ZUŻYTY": "CONSUMIDO", + "ZUŻYWALNY": "CONSUMIBLE", + "ZWOLNIJ ZAŁOGANTA": "DESPEDIR TRIPULANTE", + "ZWYKŁE %02d": "NORMALES %02d", + "Za stalową kratą zachowały się regały z wojskowym zaopatrzeniem. Rdza utrudnia dostęp do ciężkich pojemników.": "Suministros militares esperan tras una reja de acero. El óxido dificulta abrir los recipientes.", + "Zadokuj statkiem, aby rozbudować sloty.": "Atraca para ampliar ranuras.", + "Zagrożenie %.1f%% / 300%% · Łup POI ×%.2f": "Peligro %.1f%% / 300%% · Botín POI ×%.2f", + "Zagrożenie po sprzęcie: %.1f%% / 300%% (bez sprzętu %.1f%%).": "Peligro con equipo: %.1f%% / 300%% (sin equipo %.1f%%).", + "Zajęte miejsca": "Espacios ocupados", + "Zakończ pomoc i zachowaj dotychczasową zapłatę": "Terminar ayuda y conservar pagos", + "Zakończ wyprawę i wróć do układu startowego. Powrót jest bezpłatny.": "Termina la expedición y vuelve gratis al sistema inicial.", + "Zakończono pomoc. Dotychczasowa zapłata pozostaje w ładowni wyprawy.": "Ayuda terminada. Los pagos permanecen en la bodega de expedición.", + "Zakres przed krytykiem i obroną przeciwnika.": "Intervalo antes de críticos y defensa del objetivo.", + "Zakupy za kredyty tańsze o %d%%.": "Compras con créditos un %d%% más baratas.", + "Zakłócenia systemów obcych": "Interferencia de sistemas alienígenas", + "Zamieć śnieżna": "Ventisca", + "Zarządca opuszczanego punktu przeładunkowego sprzedaje ostatnie zapasy. Za podaną kwotę możesz zabrać przygotowany zestaw części albo jeden z zaplombowanych pakietów odzyskanych z transportu. Otwarty zestaw jest skromny, ale sprawdzony. W zamkniętych pakietach zdarzały się wartościowe podzespoły — oraz materiały, których nikt nie chciał kupić.": "Un encargado liquida reservas. Elige un lote pequeño garantizado de piezas o un paquete sellado sorpresa. Puede contener componentes valiosos o materiales sin valor.", + "Zarządzanie: %d / 100\nPremia do wydobycia: +%d%%\nPochodzenie: %s": "Gestión: %d / 100\nBonus de extracción: +%d%%\nOrigen: %s", + "Zasady łączenia": "Reglas de acumulación", + "Zasięg": "Alcance", + "Zasięg działka: %.0f px • Magazynek: 50 pocisków • Koszt rozstawienia: 50 amunicji": "Alcance de torreta: %.0f px • Cargador: 50 • Despliegue: 50 municiones", + "Zasięg skanera": "Alcance del escáner", + "Zasięg: %.0f px • Amunicja: %d / strzał": "Alcance: %.0f px • Munición: %d/disparo", + "Zasięg: %.0f px • Energia: %.1f / strzał": "Alcance: %.0f px • Energía: %.1f/disparo", + "Zasięg: %.0f px • Napromieniowana amunicja: 1 / strzał": "Alcance: %.0f px • Munición irradiada: 1/disparo", + "Zasobność: %d / 100": "Riqueza: %d / 100", + "Zasobność: %d / 100 · złoże niewyczerpywalne": "Riqueza: %d / 100 · inagotable", + "Zatrudnienie wymaga wolnej, zbudowanej kajuty i kredytów: 1000 × zarządzanie.": "Requiere camarote libre construido y créditos: 1000 × gestión.", + "Załogant zajął wolną kajutę na fregacie. Przydziel go do stacji w centrum dowodzenia.": "El tripulante ocupa un camarote libre. Asígnalo a una estación en mando.", + "Zbicie tarczy obcego razi pozostałych obcych w promieniu 120 px za 400% obrażeń trafienia, które zbiło tarczę. Bez reakcji łańcuchowych. Ten sam wróg wywołuje impuls najwyżej raz na 10 s.": "Romper un escudo daña otros alienígenas a 120 px con 400% del golpe final. Sin cadenas. Cada enemigo una vez cada 10 s.", + "Zbieracz złomu": "Chatarrero", + "Zbierz łup i wróć do frachtowca": "Recoge botín y vuelve al carguero", + "Zbuduj podnośnik i pomóż kierowcy": "Construir elevador y ayudar al conductor", + "Zdobądź brakujące surowce z asteroid": "Obtén recursos faltantes de asteroides", + "Zielony laser pulsacyjny. Trafienie napromieniowuje: 100% obrażeń impulsu na sekundę przez 10 s. Kolejne impulsy odświeżają czas, działa najmocniejsze napromieniowanie.": "Láser verde de pulsos. Radiación: 100% del daño/s por 10 s. Más pulsos renuevan duración; solo el efecto más fuerte.", + "Zleć skan skrytki": "Pedir escaneo del escondite", + "Znajdź zamieszkaną planetę": "Encuentra un planeta habitado", + "Znaleziono moduł": "Módulo encontrado", + "Znaleziska są w ładowni wyprawy. Zachowasz je po bezpiecznym powrocie na statek.": "Hallazgos en bodega de expedición. Los conservas tras volver a salvo.", + "Zostawia minę na 60 s. Uzbraja się po 0,7 s. Trafiony wróg otrzymuje obrażenia równe 5% maksymalnego kadłuba (bez redukcji absorpcji) i zwalnia o 50% na 5 s. Zrzut co 5 s.": "Mina de 60 s, se arma en 0,7 s. Causa 5% del casco máximo sin reducción de absorción y ralentiza 50% por 5 s. Lanzamiento cada 5 s.", + "Zostawia minę na 60 s. Uzbraja się po 0,7 s. Wykrywa bliski przelot wroga. Wybuch w promieniu 140 jednostek zadaje każdemu wrogowi 50% aktualnego kadłuba bez redukcji absorpcji (tarcze pochłaniają obrażenia) i spowalnia o 50% na 5 s.": "Mina de 60 s, armada en 0,7 s. Explota con enemigos cercanos en radio 140: 50% del casco actual sin absorción; escudos absorben. Ralentiza 50% por 5 s.", + "Zużycie amunicji mniejsze o %d%%. Obejmuje zwykłą i napromieniowaną amunicję, bez rakiet.": "Consumo de munición −%d%%. Normal e irradiada, no misiles.", + "Zużywa 70% maksymalnej energii i tworzy osobną tarczę o pojemności 50% aktualnych maksymalnych tarcz statku. Większa, fioletowa osłona pochłania obrażenia przed zwykłymi tarczami. Działa do wyczerpania, nie regeneruje się i nie nakłada się na kolejną kopię. Dokowanie i Przekierowanie zasilania ją wyłączają.": "Consume 70% de energía máxima para un escudo extra del 50% de escudos máximos. La capa violeta absorbe primero. Dura hasta agotarse, no regenera ni acumula. Atracar y redirigir energía lo desactivan.", + "Zwiększa maksymalne tarcze o 10%. Zakup nie uzupełnia osłon.": "Escudos máximos +10%. Comprar no los recarga.", + "Zwiększa maksymalny kadłub twojego statku o 10%. Zakup nie odnawia utraconego kadłuba.": "Casco máximo +10%. Comprar no repara daños.", + "Zwiększa maksymalną pojemność energii.": "Aumenta la capacidad máxima de energía.", + "Zwiększa maksymalną pojemność tarcz i stale je regeneruje.": "Aumenta escudos máximos y los regenera continuamente.", + "Zwiększa maksymalną pojemność tarcz statku i stale je regeneruje.": "Aumenta escudos máximos de la nave y los regenera.", + "Zwiększa maksymalną wytrzymałość kadłuba.": "Aumenta la resistencia máxima del casco.", + "Zwiększa szansę na przedmiot o 1 poziom wyższy. Sumuje się z Farciarzem, do wspólnego limitu 60%.": "Mejora la probabilidad de objeto un nivel superior. Con Afortunado hasta 60% total.", + "Zwiększa tempo strzałów tej broni. Koszt pojedynczego strzału pozostaje bez zmian. Limit bonusu: 25%.": "Aumenta cadencia sin cambiar coste por disparo. Límite de bonus: 25%.", + "Zwiększa zasięg stałego skanera wykrywającego wrogów, asteroidy, wraki i antyczne znaleziska.": "Aumenta alcance del escáner para enemigos, asteroides, pecios y hallazgos antiguos.", + "Zwykła": "Normal", + "Zwykła amunicja": "Munición normal", + "Zwykły": "Normal", + "Zwykły lot: do 240 px/s. TAB: do 480 px/s. Aktywny dopalacz: do 600 px/s.": "Vuelo normal: hasta 240 px/s. TAB: 480 px/s. Propulsor activo: 600 px/s.", + "Złomiarz wyciągnął z wraku zamknięty kontener. Plomba wygląda na nienaruszoną, ale tabliczka ładunkowa została wypalona podczas wejścia w atmosferę. Sprzedawca nie zamierza tracić czasu na otwieranie zabezpieczeń. Podaje cenę za całość i zapewnia, że poprzedni kupujący trafił świetnie. O wcześniejszych klientach mówi już mniej chętnie.": "Un chatarrero vende un contenedor sellado de un pecio. La etiqueta se quemó. Lo vende sin abrir y solo habla de un comprador anterior afortunado.", + "Złoże surowców": "Depósito de recursos", + "brak": "ninguno", + "brak łupu": "sin botín", + "przenieś na fregatę": "transferir a la fragata", + "zwykły": "normal", + "Ładowanie słoneczne": "Carga solar", + "Ładowanie tarcz": "Recarga de escudos", + "Łagodna biosfera": "Biosfera suave", + "Łowca nagród": "Cazarrecompensas", + "Łup i wytwarzanie": "Botín y fabricación", + "Łup ×%.2f · sprzęt ×%.2f · odzysk %.0f%%\nZagrożenie po ochronie: %.1f%% / 300%%": "Botín ×%.2f · equipo ×%.2f · recuperación %.0f%%\nPeligro tras protección: %.1f%% / 300%%", + "Łup: ": "Botín: ", + "Łącznie do 10% faktycznie zadanych obrażeń. Tempo: do 5% maksymalnych tarcz/s, z rezerwą na jedno takie odnowienie.": "Hasta 10% del daño real. Hasta 5% de escudos máximos/s, con reserva para una recuperación.", + "Łączny DPS": "DPS total", + "ŚPM": "Botón central", + "Śmiertelne trafienie zostawia 1 punkt kadłuba i daje 2 s niewrażliwości. Raz na wyprawę lub wejście do zwykłego układu. Dokowanie ani restart po porażce nie odnawiają efektu.": "Un impacto letal deja 1 de casco y 2 s de invulnerabilidad. Una vez por expedición o entrada en sistema normal. Atracar y reiniciar tras morir no lo renuevan.", + "Źródło: %s · poziom %d": "Origen: %s · nivel %d", + "Żelazo %d · Części %d": "Hierro %d · Piezas %d", + "Żmija": "Víbora", + "żelaza": "hierro", + "‹ WRÓĆ / ESC": "‹ VOLVER / ESC", + "Naukowiec": "Científico", + "PRZEWIDYWANA NAGRODA": "RECOMPENSA PREVISTA", + "Podejmij eksplorację [E]": "Iniciar exploración [E]", + "DODATKOWE ZNALEZISKA": "HALLAZGOS ADICIONALES", + "Przeszukaj głębiej": "Explorar más a fondo", + "Moduły: %d · poziom %d–%d": "Módulos: %d · nivel %d–%d", + "Uszkodzenia lądownika: %d–%d HP": "Daño al módulo: %d–%d PV", + "Uszkodzenia lądownika: −%d HP": "Daño al módulo: −%d PV", + "Lądownik może zostać zniszczony. Utracisz cały łup tej wyprawy.": "El módulo puede ser destruido. Perderás todo el botín de esta expedición.", + "Przewidywane uszkodzenia lądownika: 0–%d HP": "Daño previsto al módulo: 0–%d PV", + "Ten etap jest niedostępny z obecnym wyposażeniem.": "Esta etapa no está disponible con el equipo actual.", + "Sprawdź wymagane zasoby.": "Comprueba los recursos necesarios.", + " · dodatkowe znaleziska": " · hallazgos adicionales", + "[E] Zaplanuj eksplorację": "[E] Planear exploración", + "%s · Poziom %d\nLądowanie: −%d HP\nLądownik: %d / 100 HP\nPOI: podleć i naciśnij E, aby zaplanować eksplorację.": "%s · Nivel %d\nAterrizaje: −%d PV\nMódulo: %d / 100 PV\nPOI: acércate y pulsa E para planear la exploración.", + "Dopasuj poziom wyposażenia do planety, aby odzyskać więcej łupu i ograniczyć uszkodzenia lądownika.": "Adapta el nivel del equipo al planeta para recuperar más botín y reducir daños al módulo.", + "Pomaga podczas eksploracji jaskiń i miejsc z trudną atmosferą.": "Ayuda a explorar cuevas y lugares de atmósfera difícil.", + "Pomaga przy wydobyciu i eksploracji niestabilnych ruin.": "Ayuda a extraer recursos y explorar ruinas inestables.", + "Pomaga przeszukiwać magazyny i osady opanowane przez faunę.": "Ayuda a registrar almacenes y asentamientos ocupados por fauna.", + "Dopasuj poziom wyposażenia do poziomu planety.": "Adapta el nivel del equipo al nivel del planeta.", + "RANDOLOOT / SYSTEMY POKŁADOWE": "RANDOLOOT / SISTEMAS DE A BORDO", + "Dostosuj dźwięk, ekran i język swojej wyprawy.": "Ajusta sonido, pantalla e idioma de tu expedición.", + "USTAWIENIA / KOMPUTER POKŁADOWY": "AJUSTES / COMPUTADORA DE A BORDO", + "01 / DŹWIĘK": "01 / SONIDO", + "02 / OBRAZ": "02 / PANTALLA", + "03 / JĘZYK": "03 / IDIOMA", + "Język interfejsu": "Idioma de interfaz", + "Ustawienia są zapamiętywane między uruchomieniami.": "Los ajustes se conservan entre sesiones.", + "ZAPISZ WYPRAWĘ": "GUARDAR EXPEDICIÓN", + "WCZYTAJ WYPRAWĘ": "CARGAR EXPEDICIÓN", + "Nadaj nazwę nowemu zapisowi lub wybierz zapis do nadpisania.": "Nombra una nueva partida o elige una para sobrescribir.", + "Wybierz zapis i wróć do swojej wyprawy.": "Elige una partida y vuelve a tu expedición.", + "ARCHIWUM / DZIENNIK POKŁADOWY": "ARCHIVO / DIARIO DE A BORDO", + "Nazwa zapisu": "Nombre de partida", + "Nowy zapis": "Nueva partida guardada", + "ZAPISANE WYPRAWY": "EXPEDICIONES GUARDADAS", + "DANE WYPRAWY": "DATOS DE EXPEDICIÓN", + "Wczytanie rozpoczyna poziom od początku. Postęp i wyposażenie zostają zachowane.": "Cargar reinicia el nivel. Se conservan el progreso y el equipo.", + "Nie ma jeszcze zapisanych wypraw.": "Aún no hay expediciones guardadas.", + "Układ %d · Kapitan %d": "Sistema %d · Capitán %d", + "Układ %d\nKapitan · poziom %d\nKredyty: %d": "Sistema %d\nCapitán · nivel %d\nCréditos: %d", + "Nowy zapis\nUkład %d\nKapitan · poziom %d": "Nueva partida\nSistema %d\nCapitán · nivel %d", + "Odzyskano z kopii zapasowej": "Recuperado de copia de seguridad", + "Nadpisz zapis": "Sobrescribir partida", + "Automatyczny zapis": "Guardado automático", + "Zapis rozgrywki": "Partida guardada", + "Wczytaj grę": "Cargar partida", + "WCZYTAJ GRĘ": "CARGAR PARTIDA", + "Wybierz wyprawę z archiwum zapisów": "Elige una expedición del archivo", + "Twoja wyprawa czeka. Wybierz, co chcesz zrobić.": "Tu expedición espera. Elige qué hacer.", + "ŁĄCZE / MENU POKŁADOWE": "ENLACE / MENÚ DE A BORDO", + "Gwiazda centralna": "Estrella central", + "ADDONY (aktywne po zamontowaniu)": "ATRIBUTOS (activos al instalar)", + "ADDONY (aktywne": "ATRIBUTOS (activos", + "Cooldown po addonach: %.2f s\nZapas rakiet: %d": "Recarga tras atributos: %.2f s\nMisiles: %d", + "Kliknij: ": "Pulsa: ", + "Odbierz w Hangarze.": "Recoger en el hangar.", + "Odnowienie: %d s.": "Recarga: %d s.", + "Pogoda: ": "Clima: ", + "Uwzględnia utratę bonusów zdejmowanego przedmiotu.": "Incluye perder bonus del objeto retirado.", + "Wymaga: ": "Requiere: ", + "Zapas: ": "Reservas: ", + "[E] Buduj": "[E] Construir", + "[E] Maksymalizuj addon": "[E] Maximizar atributo", + "[E] Porozmawiaj": "[E] Hablar", + "[E] Przeszukaj": "[E] Registrar", + "[E] Zbierz znaleziska": "[E] Recoger hallazgos", + " · rabat %d%%": " · descuento %d%%", + " (obok planety)": " (junto al planeta)", + " · mapa kupiona": " · mapa comprado", + " · odwiedzono": " · visitado", + " · partia: %d szt.": " · lote: %d uds.", + " · zatrudniono": " · contratado", + " — zamieszkana": " — habitado", + "%d / %d ZBADANO": "%d / %d INVESTIGADO", + "%d kr.": "%d cr.", + "%d pkt": "%d pts.", + "Zapas: %s": "Reservas: %s", + "ODNOWIENIE %d s": "RECARGA %d s", + "%s · %d szt.": "%s · %d uds.", + "ADDONY: %d/5": "ATRIBUTOS: %d/5", + "poz. %d": "Niv. %d", + "+%d amunicji": "+%d municiones", + "+%d rakiet": "+%d misiles", + "06 / PREMIE I BADANIA": "06 / BONUS E INVESTIGACIÓN", + "Absorpcja: ": "Absorción: ", + "DALEKIE WYPRAWY / SEKTORY DO ZBADANIA": "EXPEDICIONES LEJANAS / SECTORES POR EXPLORAR", + "DZIENNIK PLANETARNY / WYPRAWA": "DIARIO PLANETARIO / EXPEDICIÓN", + "DZIENNIK WYPRAWY / %s": "DIARIO DE EXPEDICIÓN / %s", + "Etap %d/3 · %s": "Etapa %d/3 · %s", + "INSTRUKCJA / AKADEMIA PILOTA": "INSTRUCCIONES / ACADEMIA DE PILOTOS", + "Każdy strzał": "Cada disparo", + "Kup %d rakiet · sklep: %d kr.": "Comprar %d misiles · tienda: %d cr.", + "Kup: %s · poz. %d": "Comprar: %s · niv. %d", + "LĄDUJ [L]": "ATERRIZAR [L]", + "MAGAZYN · %d / %d": "ALMACÉN · %d / %d", + "Nagroda za sukces: ": "Premio por éxito: ", + "ODCZYT: amunicja rakietowa. Liczba sztuk nieznana.": "ESCÁNER: munición de misiles. Cantidad desconocida.", + "ORBY / SPECJALNE ULEPSZENIA": "ORBES / MEJORAS ESPECIALES", + "Obecnie: %.2f %s → maksimum: %.2f %s": "Actual: %.2f %s → máximo: %.2f %s", + "Obecnie: %s": "Actual: %s", + "Obecny: System %d · Najdalszy odkryty: %d": "Actual: sistema %d · Más lejano descubierto: %d", + "Obraż. krytyczne": "Daño crítico", + "Odnowienie: %.0f s": "Recarga: %.0f s", + "Otrzymano: ": "Recibido: ", + "Otrzymasz: ": "Recibirás: ", + "POSIADASZ / WYMAGANE": "DISPONIBLE / REQUERIDO", + "PUSTELNIK / KARTOGRAF": "ERMITAÑO / CARTÓGRAFO", + "Pustelnik / Kartograf": "Ermitaño / Cartógrafo", + "Paliwo: %d deuteru": "Combustible: %d deuterio", + "Regeneracja generatora: +%.1f /s": "Regeneración del generador: +%.1f /s", + "Regeneracja tarcz: +%.1f pkt/s": "Regeneración de escudos: +%.1f pts/s", + "Skróc. cooldownu rakiet": "Reducción recarga misiles", + "Slot zablokowany. Odblokowuj kolejne miejsca w hangarze fregaty.\nNastępny slot: ": "Ranura bloqueada. Desbloquea más en hangar de fragata.\nPróxima ranura: ", + "Slot: %s": "Ranura: %s", + "Typ obrażeń:": "Tipo de daño:", + "Typ: ": "Tipo: ", + "Uruchom prototyp · podstawa: %d kr.": "Iniciar prototipo · base: %d cr.", + "WYTWORZONO: %s ×%d": "FABRICADO: %s ×%d", + "Z PLANET: ": "DE PLANETAS: ", + "ZMIANY PO ZAŁOŻENIU": "CAMBIOS AL EQUIPAR", + "Zadokuj, aby naprawić lądownik, rozbudować statek i przenieść wyposażenie.": "Atraca para reparar módulo, ampliar nave y transferir equipo.", + "Zakwaterowanie: Kajuta %02d": "Alojamiento: camarote %02d", + "Zapas paliwa: %.1f deuteru": "Reserva: %.1f deuterio", + "Zapas: %d": "Reservas: %d", + "Zmiana statystyk statku:": "Cambio de estadísticas:", + "[%s] Pusty slot — przypisz skill w panelu kapitana": "[%s] Ranura vacía — asigna habilidad en el panel del capitán", + "[R] +10% energii": "[R] +10% energía", + "odbierz do statku": "recoger a la nave", + "Średni DPS z krytykami i cooldownem.\nBez ograniczeń energii i amunicji.\nAddony uwzględniają zdjęcie obecnej broni.": "DPS medio con críticos y recarga.\nSin límites de energía ni munición.\nIncluye retirar el arma actual.", + "← ODBIERZ": "← RECOGER", + "← Odbierz wszystko": "← Recoger todo", + "● FREGATA / POŁĄCZENIE GOTOWE": "● FRAGATA / CONEXIÓN LISTA", + "● OPERACYJNE": "● OPERATIVO", + "● RAPORT WYPRAWY": "● INFORME DE EXPEDICIÓN", + "● STACJA / ZAOPATRZENIE": "● ESTACIÓN / SUMINISTROS", + "● TELEMETRIA / DANE PLANETY": "● TELEMETRÍA / DATOS DEL PLANETA", + "● W REMONCIE": "● EN OBRAS", + "● ŁĄCZE ORBITALNE": "● ENLACE ORBITAL", + "Wczytaj": "Cargar", + "WYBIERZ I WYSTARTUJ ›": "ELEGIR Y DESPEGAR ›", + "Rusznikarz": "Armero", + "Specjalista rakietowy": "Especialista en misiles", + "Procedura awaryjna": "Procedimiento de emergencia", + "Elektryk": "Electricista", + "Farciarz": "Afortunado", + "Eksplorator": "Explorador", + "Rekin biznesu": "Tiburón de negocios", + "Manewr taktyczny": "Maniobra táctica", + "Przekierowanie zasilania": "Redirección de energía", + "Regeneracja energii +%d%% przez 15 sekund.": "Regeneración de energía +%d%% durante 15 s.", + "ADDON DO MAKSYMALIZACJI": "ATRIBUTO PARA MAXIMIZAR", + "ADDONY · PO ZAMONTOWANIU": "ATRIBUTOS · INSTALADO", + "AKTYWNA": "ACTIVA", + "AKTYWNA %.1f s": "ACTIVA %.1f s", + "AMUNICJA": "MUNICIÓN", + "AWANS KAPITANA": "ASCENSO DEL CAPITÁN", + "AWARYJNE GRODZIE": "MAMPAROS DE EMERGENCIA", + "Absorpcja energetyczna": "Absorción energética", + "Absorpcja kinetyczna": "Absorción cinética", + "Absorpcja radiacyjna": "Absorción radiativa", + "Akcja ratunkowa": "Operación de rescate", + "Aktywne rozszerzenie naprawcze.": "Extensión activa de reparación.", + "Aktywne rozszerzenie silnika.": "Extensión activa de motor.", + "Aktywne rozszerzenie tarcz.": "Extensión activa de escudos.", + "Alpejska tundra": "Tundra alpina", + "Amunicja radiacyjna": "Munición irradiada", + "Analiza konstrukcji": "Análisis estructural", + "Antyczne znalezisko": "Hallazgo antiguo", + "Awaryjne grodzie": "Mamparos de emergencia", + "BLOKADA": "BLOQUEO", + "Bank energii": "Batería", + "Banki energii": "Baterías", + "Bez zmian w bonusach.": "Sin cambios en bonificaciones.", + "Blokada regeneracji": "Bloqueo de regeneración", + "Brakuje %.1f deuteru": "Faltan %.1f deuterio", + "Brama zapomnianych": "Puerta de los olvidados", + "Burza z piorunami": "Tormenta eléctrica", + "CELE": "OBJETIVOS", + "CENTRUM DOWODZENIA": "CENTRO DE MANDO", + "Celne oko": "Ojo certero", + "Chmury i wiatr": "Nubes y viento", + "Cmentarz maszyn": "Cementerio de máquinas", + "DOKUJ [L]": "ATRACAR [L]", + "DPS broni": "DPS del arma", + "Daleka wyprawa %d": "Expedición lejana %d", + "Dezorientacja celowania": "Desorientación de puntería", + "Dodaj wszystko": "Añadir todo", + "Dopalacz": "Propulsor", + "Dozwolone przedmioty": "Objetos permitidos", + "Drony bojowe": "Drones de combate", + "Drony naprawcze": "Drones de reparación", + "Dystans": "Distancia", + "Dzika biosfera": "Biosfera salvaje", + "EKWIPUNEK KAPITANA": "INVENTARIO DEL CAPITÁN", + "ELITA": "ÉLITE", + "Echo dawnej cywilizacji": "Eco de una civilización antigua", + "Energetyczne": "Energético", + "Epicki": "Épico", + "Ewakuacja etapami": "Evacuación por etapas", + "FRACHTOWIEC": "CARGUERO", + "Hangar · Warsztat · Magazyn": "Hangar · Taller · Almacén", + "FREGATA · %d": "FRAGATA · %d", + "Flary": "Bengalas", + "GOTOWA": "LISTA", + "GOTOWE": "LISTO", + "GOTOWY": "LISTO", + "Jaskinia": "Cueva", + "Jesienne lasy": "Bosques otoñales", + "KAJUTA %02d": "CAMAROTE %02d", + "KRYT! ": "¡CRÍT! ", + "KUP %d": "COMPRAR %d", + "Kinetyczne": "Cinético", + "Kontener w ciemno": "Contenedor misterioso", + "Krzem": "Silicio", + "LOSUJ PRZEDMIOT · POZ. %d": "SORTEAR OBJETO · NIV. %d", + "LPM": "Botón izquierdo", + "Legendarny": "Legendario", + "Losowa": "Aleatoria", + "MAGAZYN": "ALMACÉN", + "MAGAZYN FRACHTOWCA": "ALMACÉN DEL CARGUERO", + "MIEJSCE ODKRYTE": "LUGAR DESCUBIERTO", + "Magazyn fregaty": "Almacén de fragata", + "Mechanik": "Mecánico", + "Miny": "Minas", + "Mobilny serwis": "Servicio móvil", + "NAPRAWA": "REPARACIÓN", + "NATYCHMIAST": "INSTANTÁNEO", + "NORMALNY": "NORMAL", + "Napraw": "Reparar", + "Napromieniowana amunicja": "Munición irradiada", + "Niepospolity": "Poco común", + "Nieznana planeta": "Planeta desconocido", + "Nikiel": "Níquel", + "ODLOT [L]": "PARTIR [L]", + "ODWIEDZONO": "VISITADO", + "OPERACYJNY": "OPERATIVO", + "OSTATNI BASTION": "ÚLTIMO BASTIÓN", + "Odbierz": "Recoger", + "Odblokuj 1 slot · ": "Desbloquear 1 ranura · ", + "Oddychanie": "Respiración", + "Odzysk tarcz z obr.": "Escudos por daño", + "Opuszczona wioska": "Aldea abandonada", + "Opuszczony magazyn": "Almacén abandonado", + "Orb awansu": "Orbe de mejora", + "Orb dopalacza": "Orbe propulsor", + "Orb kinetyczny": "Orbe cinético", + "Orb polaryzacyjny": "Orbe de polaridad", + "Orb przebicia": "Orbe perforante", + "Orb radiacji": "Orbe radiactivo", + "Orb replikacji": "Orbe de réplica", + "Ostatni bastion": "Último bastión", + "PARAMETRY": "PARÁMETROS", + "PASYWNA": "PASIVA", + "PASYWNE": "PASIVAS", + "POZ. %d": "NIV. %d", + "PPM": "Botón derecho", + "PROCEDURA AWARYJNA": "PROCEDIMIENTO DE EMERGENCIA", + "PRODUKCJA": "FABRICACIÓN", + "PRZEDMIOT": "OBJETO", + "PRZEDMIOTY": "OBJETOS", + "PRZYDZIEL": "ASIGNAR", + "PRZYSPIESZANIE · TRASA ZABEZPIECZONA": "ACELERANDO · RUTA SEGURA", + "PUSTY": "VACÍO", + "Paliwo gotowe": "Combustible listo", + "Pierwsza wyprawa": "Primera expedición", + "Planety i frachtowiec": "Planetas y carguero", + "Pojemne kondensatory": "Condensadores amplios", + "Pokonaj bossa": "Derrota al jefe", + "Posiadane ": "Disponible ", + "Powerbank": "Batería", + "Powerbanki": "Baterías", + "Poz. %d": "Niv. %d", + "Przyspieszenie": "Aceleración", + "Pusta stocznia": "Astillero vacío", + "Pusty slot": "Ranura vacía", + "REPLIKUJ": "REPLICAR", + "ROZBUDOWA STATKU": "AMPLIACIÓN DE NAVE", + "ROZPOCZNIJ BADANIE · %d s": "INICIAR INVESTIGACIÓN · %d s", + "ROZPROSZENIE SALWY": "DISPERSIÓN DE SALVA", + "ROZSZ. [%d]": "EXT. [%d]", + "ROZSZERZENIA": "EXTENSIONES", + "ROZSZERZENIE": "EXTENSIÓN", + "Radiacyjna": "Irradiada", + "Radiacyjne": "Radiativo", + "Receptura": "Receta", + "Recykler": "Reciclador", + "Regener. energii": "Regen. energía", + "Regener. tarcz": "Regen. escudos", + "Regeneracja energii": "Regeneración de energía", + "Regeneracja tarcz": "Regeneración de escudos", + "Rozpad konstrukcji": "Colapso estructural", + "Rozproszenie salwy": "Dispersión de salva", + "Rozszerzenia": "Extensiones", + "Rozszerzenie": "Extensión", + "Rykoszet": "Rebote", + "Rzadki": "Raro", + "SEKCJA 02": "SECCIÓN 02", + "SEKCJA 03": "SECCIÓN 03", + "SEKCJA 04": "SECCIÓN 04", + "SEKCJA ROZWOJOWA": "SECCIÓN DE EXPANSIÓN", + "SKOK WARP": "SALTO WARP", + "SLOT %d": "RANURA %d", + "STATYSTYKI STATKU": "ESTADÍSTICAS DE NAVE", + "SUROWCE": "RECURSOS", + "SUROWCE Z ASTEROID": "RECURSOS DE ASTEROIDES", + "Sektor dodany do listy wypraw na frachtowcu. Mapa pozwala na jeden lot.": "Sector añadido a expediciones. El mapa permite un vuelo.", + "Skafander": "Traje espacial", + "Slot zablokowany • Odblokuj w hangarze": "Ranura bloqueada • Desbloquea en hangar", + "Spotkanie": "Encuentro", + "Statystyki": "Estadísticas", + "Sterowanie": "Controles", + "Strzelec": "Artillero", + "Suche kaniony": "Cañones secos", + "Surowiec pozyskiwany z asteroid.": "Recurso de asteroides.", + "Surowiec z asteroid. Do produkcji amunicji i rakiet.": "Recurso de asteroides para munición y misiles.", + "Surowiec z asteroid. Do produkcji napromieniowanej amunicji.": "Recurso de asteroides para munición irradiada.", + "System obrony przed obcymi": "Sistema de defensa alienígena", + "System oddychania": "Sistema respiratorio", + "Szansa na krytyk": "Probabilidad crítica", + "Szansa na trafienie krytyczne": "Probabilidad de impacto crítico", + "Szansa na unik": "Probabilidad de evasión", + "TARCZA": "ESCUDO", + "TARCZA AWARYJNA": "ESCUDO DE EMERGENCIA", + "TEMPERATURA": "TEMPERATURA", + "TLEN": "OXÍGENO", + "Taran": "Embestida", + "Tarcza awaryjna": "Escudo de emergencia", + "Test prototypu": "Prueba de prototipo", + "Tlen %d · Temp. %d · Fauna %d pp": "Oxígeno %d · Temp. %d · Fauna %d pp", + "ULEPSZ DO %s": "MEJORAR A %s", + "ULEPSZENIE %s → %s": "MEJORA %s → %s", + "UNIK": "EVASIÓN", + "UZBROJENIE": "ARMAMENTO", + "Ulewa": "Lluvia intensa", + "W REMONCIE": "EN OBRAS", + "WIRUS": "VIRUS", + "WOLNA KAJUTA": "CAMAROTE LIBRE", + "WORMHOLE OTWARTY": "AGUJERO DE GUSANO ABIERTO", + "WROGOWIE": "ENEMIGOS", + "WYBIERZ": "ELEGIR", + "Walka i przetrwanie": "Combate y supervivencia", + "Wiedza o broni": "Conocimiento de armas", + "Wiedza o tarczach": "Conocimiento de escudos", + "Wirus": "Virus", + "Wolfram": "Wolframio", + "Wolny slot": "Ranura libre", + "Wrak konwoju": "Pecio de convoy", + "Wrak statku": "Pecio de nave", + "Wybierz tajemniczy pakiet": "Elegir paquete misterioso", + "Wymagane 70% maksymalnej energii": "Requiere 70% de energía máxima", + "Wymagane min. 25% tarcz": "Requiere al menos 25% de escudos", + "Wymagany aktywny lot": "Requiere vuelo activo", + "Wyprawa %d": "Expedición %d", + "Wyrzutnia rakiet naprowadzanych": "Lanzamisiles guiados", + "Wyrzutnia rakiet niekierowanych": "Lanzacohetes no guiados", + "Wzmocnione poszycie": "Revestimiento reforzado", + "ZAMKNIJ [ESC]": "CERRAR [ESC]", + "ZAMONTOWANE NA STATKU": "INSTALADO EN NAVE", + "ZAOPATRZENIE": "SUMINISTROS", + "ZAPASY": "RESERVAS", + "ZAPASY GRACZA": "RESERVAS DEL JUGADOR", + "ZBUDOWANO": "CONSTRUIDO", + "ZDOBYTO": "OBTENIDO", + "ZMIANY PO WYMIANIE BRONI": "CAMBIOS AL CAMBIAR ARMA", + "ZWIADEK • TARCZE": "EXPLORADOR • ESCUDOS", + "Zabezpiecz schronienie": "Asegurar refugio", + "Zablokowany": "Bloqueado", + "Zakres i skalowanie": "Intervalo y escalado", + "Zamknij okno statku": "Cerrar ventana de nave", + "Zielone doliny": "Valles verdes", + "Zimna biosfera": "Biosfera fría", + "Zapis przywraca początek bieżącego poziomu. Cooldowny i efekty czasowe są zerowane.": "Cargar reinicia el nivel actual. Se reinician recargas y efectos temporales.", + "Dopasuj poziom sprzętu do planety.": "Adapta el nivel del equipo al planeta.", + "Wymagany poziom kapitana: %d": "Nivel de capitán requerido: %d", + "Czas badania: 10 minut gry": "Tiempo de investigación: 10 minutos de juego", + "NOWA WYPRAWA": "NUEVA EXPEDICIÓN", + "KONTYNUUJ": "CONTINUAR", + "INSTRUKCJA": "INSTRUCCIONES", + "ZAPIS ROZGRYWKI": "PARTIDA GUARDADA", + "OPCJE": "OPCIONES", + "WYJŚCIE": "SALIR", + "Wybierz statek i ruszaj w nieznane": "Elige tu nave y explora", + "Wczytaj ostatnią wyprawę": "Cargar la última expedición", + "Pierwszy lot? Zacznij tutaj": "¿Primer vuelo? Empieza aquí", + "Ostatni zapis i kopia zapasowa": "Última partida y copia de seguridad", + "Dźwięk, obraz i język": "Sonido, imagen e idioma", + "Zakończ grę": "Salir del juego", + "DZIENNIK POKŁADOWY / NOWA WYPRAWA": "DIARIO DE A BORDO / NUEVA EXPEDICIÓN", + "Nieznany kosmos. Niepowtarzalny łup.": "Espacio desconocido. Botín único.", + "Głośność ogólna": "Volumen general", + "Głośność muzyki": "Volumen de música", + "Rozdzielczość": "Resolución", + "Pełny ekran": "Pantalla completa", + "Język": "Idioma", + "Zastosuj": "Aplicar", + "Anuluj": "Cancelar", + "Zamknij": "Cerrar", + "Pauza": "Pausa", + "Wróć do gry": "Volver al juego", + "Zapisz grę": "Guardar partida", + "Zapisz i wróć do menu": "Guardar y volver al menú", + "Zapisz i wyjdź": "Guardar y salir", + "Zapisano grę.": "Partida guardada.", + "Nie udało się zapisać gry.": "No se pudo guardar la partida.", + "Nie udało się zapisać ustawień.": "No se pudieron guardar los ajustes.", + "Brak poprawnego zapisu gry.": "No hay ninguna partida válida.", + "Ostatni zapis: %s\nUkład: %d · Kapitan: %d": "Última partida: %s\nSistema: %d · Capitán: %d", + "Wróć": "Volver", + "POWRÓT": "VOLVER", + "ZAMKNIJ": "CERRAR", + "KAPITAN": "CAPITÁN", + "Kapitan": "Capitán", + "STATEK": "NAVE", + "Statek": "Nave", + "WYPOSAŻENIE": "EQUIPO", + "Wyposażenie": "Equipo", + "ŁADOWNIA": "BODEGA", + "Ładownia": "Bodega", + "BROŃ": "ARMAS", + "Broń": "Armas", + "KADŁUB": "CASCO", + "Kadłub": "Casco", + "TARCZE": "ESCUDOS", + "Tarcze": "Escudos", + "ENERGIA": "ENERGÍA", + "Energia": "Energía", + "Pancerz": "Blindaje", + "Silnik": "Motor", + "Reaktor": "Reactor", + "Komputer": "Computadora", + "HANGAR": "HANGAR", + "WARSZTAT": "TALLER", + "LABORATORIUM": "LABORATORIO", + "BADANIA OBCYCH": "INVESTIGACIÓN ALIENÍGENA", + "ZAŁOGA": "TRIPULACIÓN", + "HANDEL": "COMERCIO", + "KUP": "COMPRAR", + "SPRZEDAJ": "VENDER", + "NAPRAW": "REPARAR", + "ZBUDUJ": "CONSTRUIR", + "ODLOKUJ": "DESBLOQUEAR", + "USUŃ": "ELIMINAR", + "ZAMONTUJ": "INSTALAR", + "ZDEMONTUJ": "DESMONTAR", + "Żelazo": "Hierro", + "Aluminium": "Aluminio", + "Tytan": "Titanio", + "Uran": "Uranio", + "Siarka": "Azufre", + "Deuter": "Deuterio", + "Kredyty": "Créditos", + "Części": "Piezas", + "Amunicja": "Munición", + "Rakiety": "Misiles", + "Próbki": "Muestras", + "Poziom": "Nivel", + "Doświadczenie": "Experiencia", + "Umiejętności": "Habilidades", + "UMIEJĘTNOŚCI": "HABILIDADES", + "Zbadano": "Investigado", + "Za mało próbek": "Muestras insuficientes", + "Magazyn pełny": "Almacén lleno", + "Brak miejsca": "Sin espacio" +} diff --git a/resources/localization/es_catalog.gd.uid b/resources/localization/es_catalog.gd.uid new file mode 100644 index 0000000..7a3f9fd --- /dev/null +++ b/resources/localization/es_catalog.gd.uid @@ -0,0 +1 @@ +uid://ejhaweptx5e7 diff --git a/resources/localization/fr_catalog.gd b/resources/localization/fr_catalog.gd new file mode 100644 index 0000000..7ff841e --- /dev/null +++ b/resources/localization/fr_catalog.gd @@ -0,0 +1,1105 @@ +# Generated by tools/build_localization.py; AI-authored, offline. +extends RefCounted +const MESSAGES := { + "\nBrak miejsca: %d modułów czeka we frachtowcu.": "\nPas de place : %d modules attendent dans le cargo.", + "%s · %s\nTLEN %d%% · TEMP %d°C · BIO %d/50\nZAGROŻENIE: %.1f%% / 300%%\nŁUP POI: ×%.2f · odzysk %.0f%%\nPOI: podleć i naciśnij E\nLądowanie −%d HP · Lądownik %d%%": "%s · %s\nOXYGÈNE %d%% · TEMP %d°C · BIO %d/50\nDANGER : %.1f%% / 300%%\nBUTIN POI : ×%.2f · récupération %.0f%%\nPOI : approchez et appuyez sur E\nAtterrissage −%d PV · Atterrisseur %d%%", + "%s · %s\nTLEN %d%% · zagrożenie %.0f%% → %.0f%%\nTEMPERATURA %d°C · zagrożenie %.0f%% → %.0f%%\nBIOLOGICZNE %d/50 · zagrożenie %.0f%% → %.0f%%\nZAGROŻENIE GLOBALNE: %.1f%% / 300%%\nBez sprzętu: %.1f%% · redukcja 2 pp/poziom\nŁUP POI: ×%.2f · odzysk %.0f%% · sprzęt ×%.2f\nPOI: podleć i naciśnij E, aby odebrać znaleziska.\nLądowanie: −%d HP · Lądownik: %d%%": "%s · %s\nOXYGÈNE %d%% · danger %.0f%% → %.0f%%\nTEMPÉRATURE %d°C · danger %.0f%% → %.0f%%\nBIOLOGIQUE %d/50 · danger %.0f%% → %.0f%%\nDANGER GLOBAL : %.1f%% / 300%%\nSans équipement : %.1f%% · réduction 2 pp/niveau\nBUTIN POI : ×%.2f · récupération %.0f%% · équipement ×%.2f\nPOI : approchez et appuyez sur E pour récupérer.\nAtterrissage : −%d PV · Atterrisseur : %d%%", + "+1 000 000 kredytów i deuteru\n+10 000 każdego minerału, części i kryształów czasu\n+1000 próbek, +25 każdego orba, +100 punktów nauki\n+10 000 amunicji, +1000 radiacyjnej i rakiet, +100 powerbanków\nMapy: poziomy 2, obecny +1/+5, 120, 125 i 130 (bez duplikatów)\nPo 1 każdego rodzaju wyposażenia do magazynu fregaty oraz sprzęt kapitana.": "+1 000 000 crédits et deutérium\n+10 000 de chaque minéral, pièces et cristaux temporels\n+1000 échantillons, +25 de chaque orbe, +100 points d'apprentissage\n+10 000 munitions, +1000 irradiées et missiles, +100 batteries\nCartes : niveau 2, actuel +1/+5, 120, 125 et 130 sans doublons\nUn équipement de chaque type dans la frégate et équipement du capitaine.", + "BOSS": "BOSS", + "Boss": "Boss", + "Elite": "Élite", + "Laser": "Laser", + "Normal": "Normal", + "[font_size=16][color=#f1bd79]Buduj własny styl gry[/color][/font_size]\n\n[color=#91dbea][b]Wyposażenie[/b][/color]\nKliknij panel statku w prawym górnym rogu i otwórz magazyn. Przeciągaj przedmioty do pasujących slotów: maksymalnie 3 bronie, 5 modułów i 5 rozszerzeń. Na początku dostępny jest 1 slot broni i 1 rozszerzenia. Pierwszy dodatkowy slot broni kosztuje 100 tytanu, drugi 500. Rozszerzenia kosztują po 40 żelaza, aluminium i tytanu, a każdy kolejny slot podwaja ten koszt (80, 160, 320). Ładownia zaczyna z 5 miejscami; każde kolejne miejsce kosztuje 100 żelaza i 50 aluminium. Sloty odblokowujesz w hangarze fregaty. Po zbudowaniu składu modułów zakładka Magazyn na frachtowcu pozwala odkładać i odbierać wyposażenie. Aktywne rozszerzenia uruchamiasz klawiszami 1–5; pasywne (oznaczone P) działają automatycznie w tych samych slotach. Najedź kursorem, żeby sprawdzić parametry i porównanie wyposażenia.\n\n[color=#91dbea][b]Nie każdy duplikat jest taki sam[/b][/color]\nBroń i moduły mogą mieć różne parametry oraz addony. Aktywne rozszerzenia losują cooldown od 30 do 5 pełnych sekund. Pasywne mają losowaną siłę efektu: Recykler odnawia tarcze i energię po zebraniu odłamka, Wirus przejmuje uciekających wrogów, a Pancerz z tytanu ogranicza obrażenia przy niskim kadłubie. Krótsze odnowienia są rzadkie — przed rozłożeniem porównaj egzemplarze. Rozszerzenia tego samego typu dzielą aktywne odnowienie.\n\n[color=#91dbea][b]Umiejętności kapitana[/b][/color]\nZa pokonanych wrogów zdobywasz doświadczenie i kredyty. Trudniejsze układy dają więcej bazowego XP. Jeśli kapitan przewyższa poziom układu o ponad 2 poziomy, XP za przeciwników i ruiny maleje; przy przewadze 8 poziomów spada do zera. Kredyty i surowce nadal zbierasz. Po awansie wybierasz umiejętność. Pasywne działają stale, aktywne przypisujesz do F1–F5.\n\n[color=#f1bd79][b]Okno umiejętności nie pauzuje gry.[/b][/color]\nOtwieraj je w bezpiecznym miejscu. Przed kolejnym układem uzupełnij zapasy i sprawdź wyposażenie.": "[b]Votre style de jeu[/b]\n\nOuvrez le vaisseau en haut à droite. Glissez l'équipement dans les emplacements : 3 armes, 5 modules et 5 extensions au maximum. Départ avec 1 arme et 1 extension. Armes supplémentaires : 100 puis 500 titane. Extensions : 40 fer, aluminium et titane, puis coût doublé à chaque fois. Soute initiale de 5 places ; chacune coûte 100 fer et 50 aluminium. Agrandissez au hangar et stockez dans la salle construite. Extensions : 1–5 ; passives P automatiques.\n\nComparez statistiques, modificateurs et recharges. Les extensions actives tirent 30–5 s de recharge partagée par type. Recycleur restaure boucliers et énergie avec les fragments ; Virus capture les fuyards ; blindage en titane protège la coque faible.\n\nLes ennemis donnent EXP et crédits. Au-delà de 2 niveaux d'avance, l'EXP des ennemis et ruines baisse ; à 8, elle est nulle. Autres récompenses conservées. Choisissez une compétence à chaque niveau : actives F1–F5, passives permanentes.\n\n[b]La fenêtre des compétences ne met pas en pause.[/b] Vérifiez équipement et réserves avant de continuer.", + "[font_size=16][color=#f1bd79]Opanuj statek[/color][/font_size]\n\n[color=#91dbea][b]W[/b][/color] — ciąg do przodu.\n[color=#91dbea][b]S[/b][/color] — hamowanie; po zatrzymaniu lot wstecz.\n[color=#91dbea][b]A / D[/b][/color] — obracanie statku.\n[color=#91dbea][b]Q / E[/b][/color] — ruch boczny w lewo / prawo.\n[color=#91dbea][b]TAB[/b][/color] — dopalanie: większa prędkość kosztem energii.\n\n[color=#91dbea][b]Kursor myszy[/b][/color] — celowanie.\n[color=#91dbea][b]LPM / PPM / ŚPM[/b][/color] — strzelanie z trzech slotów broni.\n[color=#91dbea][b]1–5[/b][/color] — użycie zamontowanych rozszerzeń.\n[color=#91dbea][b]F1–F5[/b][/color] — aktywne umiejętności kapitana.\n[color=#91dbea][b]R[/b][/color] — użycie powerbanku, jeśli masz go w zapasach.\n\nStatek ma bezwładność. Obrót nie zatrzymuje ruchu — hamuj wcześniej i wykorzystuj ruch boczny, żeby unikać ostrzału.": "[b]Commandes[/b]\n\nW — poussée. S — frein puis recul. A/D — rotation. Q/E — déplacement latéral. TAB — propulsion consommant de l'énergie.\n\nSouris — viser. Boutons gauche/droit/central — trois armes. 1–5 — extensions. F1–F5 — compétences actives. R — batterie des réserves.\n\nLe vaisseau a de l'inertie. Tourner n'arrête pas le mouvement. Freinez tôt et déplacez-vous latéralement pour esquiver.", + "[font_size=16][color=#f1bd79]Twój pierwszy układ[/color][/font_size]\n\nWybierz statek przyciskiem [b]Nowa wyprawa[/b]. Każdy kadłub ma inne parametry — na początek wybierz ten, który pasuje do Twojego stylu.\n\n[color=#91dbea][b]1. Pokonaj zwykłych wrogów[/b][/color]\nOdszukuj przeciwników, rozwijaj wyposażenie i pilnuj zasobów. Aktualny cel znajdziesz w lewym dolnym rogu ekranu.\n\n[color=#91dbea][b]2. Pokonaj bossa[/b][/color]\nGdy zniszczysz pozostałych wrogów, w układzie pojawi się boss. Przygotuj zapas amunicji i sprawdź kadłub przed walką.\n\n[color=#91dbea][b]3. Znajdź zamieszkaną planetę[/b][/color]\nPo zwycięstwie podleć do zamieszkanej planety. Skorzystaj z usług i otwórz wormhole. Wleć w jego środek, żeby przejść do następnego, trudniejszego układu.": "[b]Votre premier système[/b]\n\nChoisissez un vaisseau adapté à votre style avec Nouvelle expédition.\n\n1. Trouvez et éliminez les ennemis normaux. Améliorez l'équipement et surveillez les ressources. Objectif en bas à gauche.\n\n2. Le boss apparaît ensuite. Vérifiez munitions et coque.\n\n3. Après la victoire, trouvez la planète habitée, utilisez les services et ouvrez le trou de ver. Entrez pour rejoindre le système suivant, plus difficile.", + "[font_size=16][color=#f1bd79]Wróć z wyprawy[/color][/font_size]\n\n[color=#91dbea][b]Tarcze, kadłub i energia[/b][/color]\nTarcze pochłaniają obrażenia przed kadłubem. Utrata całego kadłuba oznacza zniszczenie statku. Energia zasila część broni oraz dopalanie; odnawia się z czasem, szybciej przy gwieździe.\n\n[color=#91dbea][b]Dobieraj broń do zapasów[/b][/color]\nBroń energetyczna zużywa energię. Działko maszynowe potrzebuje zwykłej amunicji, gamma — napromieniowanej, a wyrzutnie — rakiet. Puste zapasy oznaczają brak strzału. Absorpcja ogranicza obrażenia danego typu.\n\n[color=#91dbea][b]Korzystaj z rozszerzeń[/b][/color]\nMiny atakują obszarowo, flary odciągają uwagę, kamuflaż pomaga zerwać kontakt, teleport przenosi w bezpieczne miejsce, a drony wspierają ostrzał. Doładowanie tarcz działa przy gwieździe. Sprawdzaj koszt i cooldown w opisie.\n\n[color=#f1bd79][b]Uważaj na uciekających przeciwników[/b][/color]\nWróg z kadłubem poniżej 10% ucieka wolniej, ale może zostawić minę. Nie leć bezmyślnie prosto za nim.": "[b]Combat et survie[/b]\n\nLes boucliers absorbent avant la coque. À zéro coque, le vaisseau est détruit. L'énergie alimente certaines armes et la propulsion, se régénérant plus vite près de l'étoile.\n\nArmes énergétiques : énergie ; canon automatique : munitions normales ; gamma : irradiées ; lanceurs : missiles. Sans réserves, aucun tir. L'absorption réduit les dégâts correspondants.\n\nMines de zone, leurres de diversion, camouflage pour rompre le contact, téléportation vers la sécurité et drones de soutien. La recharge solaire exige la portée de l'étoile. Vérifiez coûts et recharges.\n\nLes ennemis sous 10% de coque fuient plus lentement et peuvent larguer une mine. Poursuivez prudemment.", + "[b]Wyprawy na planety[/b]\n\nPierwsze planety są łagodne. W kolejnych układach eksploracja jest trudniejsza, ale znaleziska są bogatsze. Dopasuj poziom wyposażenia kapitana do poziomu planety: aparat oddechowy pomaga w jaskiniach, skafander przy wydobyciu i ruinach, a broń ręczna w magazynach i osadach.\n\nPodleć do planety EARTHLIKE. F pokazuje informacje, a L rozpoczyna lądowanie. Lądownik musi mieć 100 HP przed startem; lądowanie uszkadza kadłub. Podczas walki nie można lądować.\n\nNa powierzchni: W — ciąg, S — hamowanie i wstecz, A/D — obrót, Q/R — ruch boczny, TAB — dopalanie. Przy POI naciśnij E. Najpierw zobaczysz przewidywaną nagrodę i uszkodzenia. Samo otwarcie okna niczego nie zużywa. Potwierdź eksplorację przyciskiem lub drugim naciśnięciem E.\n\nNiektóre miejsca oferują dodatkowe znaleziska. Przeszukanie głębiej daje więcej łupu, ale mocniej uszkadza lądownik. Niski kadłub może oznaczać utratę całej zdobyczy tej wyprawy. L pozwala wrócić z dotychczasowym łupem. Spotkania oznaczone pytajnikiem również otwierasz klawiszem E.\n\n[b]Frachtowiec i postęp[/b]\nPrzy gwieździe centralnej zadokuj klawiszem L. Hangar naprawia lądownik za części. Warsztat produkuje zaopatrzenie i kolejne poziomy wyposażenia kapitana. Laboratorium prowadzi badania.\n\nEsc otwiera pauzę, nazwane zapisy i opcje. Wczytanie zachowuje postęp oraz wyposażenie i zaczyna bieżący poziom od początku.": "[b]Expéditions planétaires[/b]\n\nLes premières planètes sont faciles. Dans les systèmes suivants, l'exploration devient plus difficile mais les trouvailles plus riches. Adaptez l'équipement au niveau de la planète : respiration pour grottes, combinaison pour extraction et ruines, arme de poing pour entrepôts et colonies.\n\nApprochez une planète EARTHLIKE. F affiche les informations et L atterrit. L'atterrisseur exige 100 PV avant le départ ; l'atterrissage endommage sa coque. Impossible d'atterrir en combat.\n\nAu sol : W poussée, S frein/recul, A/D rotation, Q/R déplacement latéral, TAB propulsion. Appuyez sur E près d'un POI. Récompenses et dégâts prévus s'affichent d'abord. Ouvrir la fenêtre ne coûte rien. Confirmez avec le bouton ou appuyez à nouveau sur E.\n\nCertains lieux offrent des trouvailles supplémentaires. Fouiller plus profondément donne plus de butin et de dégâts. Une coque faible peut coûter tout le butin de l'expédition. L permet de revenir avec votre cargaison. Les rencontres avec point d'interrogation s'ouvrent aussi avec E.\n\n[b]Cargo et progression[/b]\nAmarrez-vous avec L près de l'étoile centrale. Le hangar répare l'atterrisseur contre des pièces. L'atelier fabrique réserves et meilleur équipement. Le laboratoire recherche.\n\nÉchap ouvre pause, sauvegardes nommées et options. Charger conserve progression et équipement et reprend au début du niveau actuel.", + "[font_size=16][color=#f1bd79]Zbieraj. Porównuj. Twórz.[/color][/font_size]\n\n[color=#91dbea][b]Łup zbierasz przez podlecenie[/b][/color]\nPrzedmioty w pobliżu są przyciągane do statku. Magazyn mieści 20 przedmiotów; przy pełnym magazynie zwolnij miejsce, żeby zebrać kolejny.\n\n[color=#91dbea][b]Asteroidy zostawiają fizyczne odłamki[/b][/color]\nStrzelaj do asteroid. Po zniszczeniu rozpadają się bazowo na 5–7 poszarpanych fragmentów. Każdy to jedna jednostka surowca — musisz go zebrać. Umiejętność górnika zwiększa uzysk.\n\n[color=#91dbea][b]Przeszukuj wraki[/b][/color]\nPodleć do wraku i przytrzymaj E, aby go przeszukać. Wraki dają surowce (65%), amunicję lub rakiety (łącznie 20%) albo moduł (15%).\n\n[color=#91dbea][b]Warsztat fregaty — produkcja[/b][/color]\nZadokuj na fregacie i wybierz Warsztat. Tam wytworzysz amunicję, rakiety, części, powerbanki i wyposażenie kapitana. Koszt sprawdzisz w podpowiedzi przycisku produkcji.\n\n[color=#91dbea][b]Odzyskuj części[/b][/color]\nNajedź na zbędny przedmiot w magazynie i użyj przycisku rozłożenia. Części przydadzą się do napraw.": "[b]Butin et fabrication[/b]\n\nLes objets proches sont attirés. Soute de 20 objets maximum ; libérez de la place si pleine.\n\nTirez sur les astéroïdes : normalement 5–7 fragments, chacun une unité à ramasser. Mineur augmente le rendement.\n\nApprochez les épaves et maintenez E : 65% ressources, 20% munitions ou missiles, 15% module.\n\nL'atelier fabrique munitions, missiles, pièces, batteries et équipement. Coûts dans les infobulles. Démontez les objets inutiles ; les pièces servent aux réparations.", + "[font_size=16][color=#f1bd79]Dźwięki otoczenia[/color][/font_size]\n\n[b]Blender Foundation — Ambient Bird, Cricket and Frog (Yo Frankie!)[/b]\nOdgłosy świerszcza i żaby, udostępnione przez Lamoot:\nhttps://opengameart.org/content/ambient-bird-cricket-and-frog\nLicencja Creative Commons Attribution 3.0:\nhttps://creativecommons.org/licenses/by/3.0/\nZmiany: filtrowanie, płynne początki i zakończenia, zmiana wysokości żaby oraz konwersja do stereo 48 kHz. Autorzy nie są powiązani z tą grą.\n\n[b]Nagrania na licencji CC0[/b]\nThimras — Park ambiences (wiatr).\nIwan „qubodup” Gabovitch — 20 Rustles of dry leaves.\nisaiah658 — Ambient Bird Sounds.\nRudmer_Rotteveel — Wood Creak Single V7.\n\n[b]Wnętrze fregaty — CC0[/b]\nLEGIT Audio — The Shop (bezpłatne próbki OpenGameArt).\nbart — 68 Workshop Sounds i Steam release sounds.\nKenney — Sci-Fi Sounds.\n\nSzczegółowe źródła i zakres obróbki znajdują się w plikach CREDITS.md i manifest.json przy zasobach audio.": "[b]Crédits audio[/b]\n\nBlender Foundation — Ambient Bird, Cricket and Frog (Yo Frankie!), partagé par Lamoot. https://opengameart.org/content/ambient-bird-cricket-and-frog\nCC BY 3.0 : https://creativecommons.org/licenses/by/3.0/\nModifications : filtrage, fondus, hauteur de grenouille, conversion stéréo 48 kHz. Auteurs non associés au jeu.\n\nCC0 : Thimras — Park ambiences ; Iwan „qubodup” Gabovitch — 20 Rustles of dry leaves ; isaiah658 — Ambient Bird Sounds ; Rudmer_Rotteveel — Wood Creak Single V7.\n\nFrégate, CC0 : LEGIT Audio — The Shop (OpenGameArt) ; bart — 68 Workshop Sounds et Steam release sounds ; Kenney — Sci-Fi Sounds.\n\nSources complètes et modifications dans CREDITS.md et manifest.json près des ressources audio.", + "\nEARTHLIKE · LĄDOWANIE": "EARTHLIKE · ATTERRISSAGE", + "\nKoszt: ": "Coût : ", + "\nORB DOPALACZA · TAB bez kosztu energii. Działa po zamontowaniu silnika.": "ORBE PROPULSEUR · TAB sans coût en énergie. Nécessite un moteur installé.", + "\nORB PRZEBICIA · 50% obrażeń omija tarcze. Tylko ta broń.": "ORBE PERFORANT · 50% des dégâts ignorent les boucliers. Cette arme uniquement.", + "\nPASYWNE • Bez kosztu i cooldownu.\nDuplikaty nie sumują efektu — działa najlepszy egzemplarz.": "PASSIF • Sans coût ni recharge. Les doublons ne se cumulent pas ; le meilleur exemplaire s'applique.", + "\nPodleć, aby przeszukać": "Approchez pour fouiller", + "\nRedukcja zagrożenia: %d pp (2 pp/poziom, maks. 100 pp).\nPoziom 50 całkowicie neutralizuje odpowiadające zagrożenie.": "Réduction du danger : %d points de pourcentage (2 par niveau ; max. 100). Le niveau 50 neutralise ce danger.", + "\nSprawdź wymagane zasoby i aktualne zagrożenie.": "Vérifiez les ressources requises et le danger actuel.", + "\nTen etap ma 0% szans przy obecnym zagrożeniu.": "Cette étape a 0% de chances de réussite avec le danger actuel.", + "\nUSŁUGI DOSTĘPNE": "SERVICES DISPONIBLES", + "\nUkład oczyszczony": "Système sécurisé", + "\nZa mało próbek": "Échantillons insuffisants", + "\nZamontowane — najpierw zdejmij do ładowni.": "Installé — placez-le d'abord en soute.", + "\n[E] Kup mapę": "[E] Acheter la carte", + "\n[E] Placówka": "[E] Avant-poste", + " · +1 część (Zbieracz złomu)": " · +1 pièce (Ferrailleur)", + " [ZAŁOŻONE]": " [ÉQUIPÉ]", + " kadłuba": " de coque", + " · Moduły: %d": " · Modules : %d", + " · brak zakresu": " · aucune plage", + "%d KREDYTÓW\n%d CZĘŚCI\n%d KRYSZTAŁÓW CZASU": "%d CRÉDITS\n%d PIÈCES\n%d CRISTAUX TEMPORELS", + "%d kredytów%s": "%d crédits%s", + "%d%% szansy na 1 dodatkową część z przeszukanego wraku. Losowanie raz na wrak. Premie rang nie sumują się.": "%d%% de chances de trouver 1 pièce supplémentaire par épave. Un tirage par épave. Les rangs ne se cumulent pas.", + "%s\n\n%s\nR • Zużywa jedną sztukę z zasobów.": "%s\n\n%s\nR • Consomme une unité des réserves.", + "%s\n%s\nPrzeciągnij przedmiot do pasującego slotu. Dwuklik zakłada lub zdejmuje.": "%s\n%s\nGlissez vers un emplacement compatible. Double-clic pour équiper ou retirer.", + "%s\nMagazyn pełny": "%s\nStockage plein", + "%s\nStatystyki bazowe przed bonusami modułów.\n%s": "%s\nStatistiques de base avant les bonus.\n%s", + "%s\nStos: %d\n\n%s\n\nDwuklik: wybierz orb. Następnie kliknij odpowiedni moduł lub broń. PPM lub Esc anuluje.": "%s\nPile : %d\n\n%s\n\nDouble-clic : choisissez l'orbe puis un module ou une arme. Clic droit ou Échap annule.", + "%s\nZarządzanie: %d / 100\nPremia do wydobycia: +%d%%": "%s\nGestion : %d / 100\nBonus d'extraction : +%d%%", + "%s\nŁadownia pełna": "%s\nSoute pleine", + "%s / POZIOM %d": "%s / NIVEAU %d", + "%s · poziom %d": "%s · niveau %d", + "%s · poziom %d\n%s\n[%s] · Odnowienie %d s%s": "%s · niveau %d\n%s\n[%s] · Recharge %d s%s", + "%s · poziom %d\nKoszt: %s\nWytwarza i zakłada nowy przedmiot.": "%s · niveau %d\nCoût : %s\nFabrique et équipe un nouvel objet.", + "%s · poziom %d / 3\n%s": "%s · niveau %d / 3\n%s", + "%s · poziom wyprawy %d": "%s · niveau d'expédition %d", + "%s · zarządzanie %d/100 · %.1f deuteru/min": "%s · gestion %d/100 · %.1f deutérium/min", + "%s • Poziom %d": "%s • Niveau %d", + "%s: %d partii = %d szt.\nKoszt: %s": "%s : %d lots = %d unités\nCoût : %s", + "+%d KREDYTÓW": "+%d CRÉDITS", + "+%d KRYSZTAŁÓW CZASU": "+%d CRISTAUX TEMPORELS", + "+%d doświadczenia · +1 moduł": "+%d expérience · +1 module", + "+%d szt. surowca z każdej zniszczonej asteroidy.": "+%d unités de ressource par astéroïde détruit.", + "+%d wraków na nowej planszy. Premia ustalana przy rozpoczęciu systemu; nie zmienia bieżącej planszy. Premie rang nie sumują się.": "+%d épaves dans les nouveaux systèmes. Fixé à l'entrée ; ne change pas le système actuel. Les rangs ne se cumulent pas.", + "+10 zwykłej amunicji, +10 radiacyjnej amunicji i +10 rakiet": "+10 munitions normales, +10 irradiées et +10 missiles", + "01 / POKŁAD GŁÓWNY · POŁĄCZENIE ZABEZPIECZONE": "01 / PONT PRINCIPAL · CONNEXION SÉCURISÉE", + "01 / PANCERZ I OCHRONA": "01 / BLINDAGE ET PROTECTION", + "02 / TARCZE I ENERGIA": "02 / BOUCLIERS ET ÉNERGIE", + "03 / SIŁA OGNIA": "03 / PUISSANCE DE FEU", + "04 / NAPĘD I NAWIGACJA": "04 / PROPULSION ET NAVIGATION", + "05 / ŁADOWNIA I ZAOPATRZENIE": "05 / CARGAISON ET RÉSERVES", + "1 KLIKNIĘCIE = 1 RECEPTURA • PRODUKCJA BEZPOŚREDNIO Z MINERAŁÓW": "1 CLIC = 1 RECETTE • FABRICATION DIRECTE AVEC LES MINÉRAUX", + "50 amunicji → 1 działko z 50 pociskami": "50 munitions → 1 tourelle de 50 coups", + "50% obrażeń broni omija tarcze i trafia bezpośrednio w kadłub. Tylko broń.": "50% des dégâts ignorent les boucliers et touchent la coque. Armes uniquement.", + "AKTYWNE SLOTY F1–F5 · MAKSYMALNIE 5 UMIEJĘTNOŚCI": "EMPLACEMENTS ACTIFS F1–F5 · MAXIMUM 5 COMPÉTENCES", + "AMUNICJA I RAKIETY": "MUNITIONS ET MISSILES", + "AWANSUJ +1 POZIOM": "AMÉLIORER DE 1 NIVEAU", + "Absorpcja obrażeń energetycznych": "Absorption des dégâts énergétiques", + "Absorpcja obrażeń kinetycznych": "Absorption des dégâts cinétiques", + "Absorpcja obrażeń radiacyjnych": "Absorption des dégâts radiatifs", + "Aktywne rozszerzenie statku. Tworzy dodatkową, większą warstwę ochronną. Zamontuj w slocie rozszerzeń i użyj przypisanego klawisza 1–5.": "Extension active. Crée une couche protectrice supplémentaire plus grande. Installez-la puis utilisez la touche 1–5 attribuée.", + "Aktywne rozszerzenie statku. Zamontuj w slocie rozszerzeń i użyj przypisanego klawisza 1–5.": "Extension active. Installez-la dans un emplacement puis utilisez la touche 1–5 attribuée.", + "Amunicja do wyrzutni rakiet. Obrażenia kinetyczne.": "Munitions pour lance-missiles. Dégâts cinétiques.", + "Amunicja zwykła": "Munitions normales", + "Amunicja: 1 rakieta / strzał • Cooldown bazowy: 5 s • Bez kosztu energii": "Munitions : 1 missile/tir • Recharge de base : 5 s • Sans coût en énergie", + "Analiza częstotliwości": "Analyse des fréquences", + "Archiwum bez głosu": "Archives silencieuses", + "Automatyczne dostawy z obsadzonych placówek · %.0f / min": "Livraisons automatiques des avant-postes occupés · %.0f/min", + "Autorzy dźwięków": "Crédits audio", + "Awansuje przedmiot o 1 poziom i ponownie losuje jego parametry oraz wartości obecnych addonów. Zachowuje ich typy, liczbę i efekty orbów. Wyniki losowania mogą być niższe. Jedna sztuka daje jeden awans. Kolejny awans wymaga nowego orba (główna progresja do 120; 1000 to limit techniczny). Nie działa na materiały zużywalne.": "Augmente le niveau de l'objet de 1 et retire ses statistiques et valeurs de modificateurs. Conserve types, nombre et effets d'orbes. Les valeurs peuvent baisser. Un orbe par amélioration. Progression jusqu'à 120 ; limite technique 1000. Sans effet sur les consommables.", + "BRAK SUROWCÓW": "RESSOURCES INSUFFISANTES", + "BRAKUJE SUROWCÓW — NAJEDŹ NA RECEPTURĘ, ABY SPRAWDZIĆ KOSZT": "RESSOURCES INSUFFISANTES — SURVOLEZ LA RECETTE POUR VOIR LE COÛT", + "BROŃ %d / %s": "ARME %d / %s", + "BROŃ [%s]": "ARME [%s]", + "Bardzo szybkostrzelna broń kinetyczna. Zużywa 1 sztukę amunicji na strzał.": "Arme cinétique très rapide. Consomme 1 munition par tir.", + "Bez przydziału": "Non affecté", + "Bezpieczny układ · zaopatrzenie": "Système sûr · ravitaillement", + "Bezpośrednie trafienie kadłuba dobija zwykłego obcego przy maksymalnie 8% kadłuba, a bossa przy 2%. Statek rozpada się na fragmenty.": "Un impact direct sur la coque achève les aliens normaux à 8% ou moins et les boss à 2%. Le vaisseau se disloque.", + "Bezpośrednie trafienie odsłoniętego kadłuba otwiera wyrwę na 5 s. Kolejne twoje trafienia ignorują połowę absorpcji tego statku. Wyrwy nie sumują się.": "Un impact direct sur la coque exposée ouvre une brèche de 5 s. Vos impacts suivants ignorent la moitié de son absorption. Non cumulable.", + "Brak bezpiecznego miejsca na teleport": "Aucun emplacement sûr pour la téléportation", + "Brak części": "Aucune pièce", + "Brak dostępnych addonów.": "Aucun modificateur disponible.", + "Brak energii": "Pas d'énergie", + "Brak modułu": "Aucun module", + "Brak odpowiedniego przedmiotu": "Aucun objet compatible", + "Brak placówek. Szukaj głębokich złóż na planetach (szansa 60%). Budowa: zasobność × 10 części.": "Aucun avant-poste. Cherchez des gisements profonds sur les planètes (60%). Construction : richesse × 10 pièces.", + "Brak połączenia z wyposażeniem statku.": "Aucune connexion à l'équipement du vaisseau.", + "Brak przedmiotów z addonami na statku. Zabierz wyposażenie z magazynu fregaty przed lądowaniem.": "Aucun objet avec modificateurs à bord. Récupérez l'équipement dans la frégate avant d'atterrir.", + "Brak rozszerzenia": "Aucune extension", + "Brak sektorów do zbadania. Szukaj pustelnika na planecie lub map w łupach z wypraw.": "Aucun secteur à explorer. Cherchez un ermite sur une planète ou des cartes dans le butin.", + "Brak wolnej, zbudowanej kajuty. Przygotuj pokój na fregacie.": "Aucune cabine construite libre. Préparez une pièce sur la frégate.", + "Brak zamontowanej broni": "Aucune arme installée", + "Brak załogantów. Przygotuj kajutę i zatrudnij specjalistę spotkanego na planecie.": "Aucun équipier. Préparez une cabine et recrutez un spécialiste sur une planète.", + "Brakuje %d kryształów czasu.": "Il manque %d cristaux temporels.", + "Brakuje kryształów, addon jest już maksymalny lub przedmiot jest niedostępny.": "Cristaux insuffisants, modificateur déjà maximal ou objet indisponible.", + "Brakuje zasobów. Koszt: ": "Ressources insuffisantes. Coût : ", + "Broń obcych zadaje o 10% mniej obrażeń.": "Les armes extraterrestres infligent 10% de dégâts en moins.", + "Broń ręczna": "Arme de poing", + "Budowa kosztuje zasobność × 10 części. Do wydobycia potrzebny jest załogant.": "Construction : richesse × 10 pièces. L'extraction nécessite un équipier.", + "Budowa wymaga po 100 każdego z pięciu surowców kosmicznych.": "Nécessite 100 unités de chacune des cinq ressources spatiales.", + "Burza pyłowa": "Tempête de poussière", + "CECHA GŁÓWNA": "STATISTIQUE PRINCIPALE", + "Celny strzał": "Tir précis", + "Ciężki, szybki pocisk kinetyczny. Silne pojedyncze uderzenie co 2,2 s. Zużywa 10 zwykłej amunicji, bez energii.": "Projectile cinétique lourd et rapide. Impact puissant toutes les 2,2 s. Consomme 10 munitions normales, sans énergie.", + "Ciężkie drzwi ustępują. W niszy pośród zatartych reliefów czeka kolejny fragment dawnej technologii.": "Les lourdes portes cèdent. Parmi les reliefs effacés attend un autre fragment de technologie ancienne.", + "Czas między wystrzeleniem rakiet krótszy o %d%%. Działa po premiach sprzętu; minimalny odstęp to 1 s. Premie rang nie sumują się.": "Intervalle des missiles réduit de %d%%. Après les bonus ; minimum 1 s. Les rangs ne se cumulent pas.", + "Czeka na załoganta": "En attente d'un équipier", + "DEUTER / PALIWO FREGATY": "DEUTÉRIUM / CARBURANT DE FRÉGATE", + "DPS jednego działka": "DPS d'une tourelle", + "DPS uwzględnia premie wyposażenia, kapitana, krytyki i promieniowanie. To wartość teoretyczna, przed obroną celu; rzeczywisty wynik zależy od trafień, energii i amunicji.": "Le DPS inclut équipement, capitaine, critiques et radiation. Théorique avant défense ; le résultat dépend des impacts, de l'énergie et des munitions.", + "DZIAŁANIE %d s": "DURÉE %d s", + "Daleko od światła powierzchni leży podziemny zbiornik. Wokół niego przetrwały najcenniejsze próbki — i najtrudniejsza droga powrotna.": "Sous la surface se trouve un réservoir aux précieux échantillons, mais le retour sera difficile.", + "Deuter: %.1f · Produkcja: %.0f/min": "Deutérium : %.1f · Production : %.0f/min", + "Do 3% maksymalnych tarcz na sekundę.": "Jusqu'à 3% des boucliers maximaux par seconde.", + "Dodaj amunicję": "Ajouter des munitions", + "Dodano pełny pakiet zasobów, amunicję, wszystkie orby i %d map.\n%d przedmiotów czeka w magazynie fregaty; dodano też sprzęt kapitana i punkty nauki.": "Ressources, munitions, tous les orbes et %d cartes ajoutés.\n%d objets dans la frégate ; équipement et points d'apprentissage ajoutés.", + "Dodatkowa tarcza już działa": "Bouclier auxiliaire déjà actif", + "Dodatkowe 5% obrażeń tarczom obcych. Sumuje się z Wiedzą o tarczach.": "5% de dégâts supplémentaires aux boucliers aliens. Cumulable avec Connaissance des boucliers.", + "Dodatkowe 5% szansy uniknięcia obrażeń od wrogich obcych. Łączy się niezależnie z pozostałymi unikami.": "5% de chances supplémentaires d'esquiver les aliens. Indépendant des autres esquives.", + "Dopalacz już działa": "Propulseur déjà actif", + "Dopalacz pod TAB nie zużywa energii i działa również przy pustym generatorze. Tylko silnik.": "La propulsion TAB ne coûte aucune énergie et fonctionne avec un générateur vide. Moteur uniquement.", + "Dowódca dronów": "Commandant de drones", + "Doładowanie tarcz": "Recharge des boucliers", + "Doświadczenie (EXP)": "Expérience (EXP)", + "Drony już walczą": "Drones déjà au combat", + "Duże obrażenia na krótkim dystansie. Cztery strzały na sekundę.": "Dégâts élevés à courte portée. Quatre tirs par seconde.", + "Działka zewnętrzne": "Tourelles externes", + "Działko gamma": "Canon gamma", + "Działko maszynowe": "Canon automatique", + "Działko plazmowe": "Canon à plasma", + "Działo artyleryjskie": "Canon d'artillerie", + "Energia na strzał": "Énergie par tir", + "Ewakuuj pracowników": "Évacuer les ouvriers", + "FREGATA / POKŁAD OPERACYJNY": "FRÉGATE / PONT OPÉRATIONNEL", + "FREGATA • PANCERZ": "FRÉGATE • BLINDAGE", + "GROŹNA FAUNA": "FAUNE DANGEREUSE", + "Globalnie odnawia tarcze z faktycznie zadanych obrażeń. Łącznie do 10% obrażeń; tempo odzysku do 5% maksymalnych tarcz/s, z rezerwą na jedno takie odnowienie.": "Restaure les boucliers avec les dégâts réels. Jusqu'à 10% des dégâts ; limite de 5% des boucliers maximaux/s avec réserve pour une récupération.", + "Gorąca biosfera": "Biosphère chaude", + "Górnik": "Mineur", + "Gęsta mgła": "Brouillard dense", + "GŁĘBOKIE ZŁOŻE / DEUTER": "GISEMENT PROFOND / DEUTÉRIUM", + "Główna progresja: poziomy 1–120. HP, tarcze i atak wrogów rosną o 10% wartości bazowej na poziom, po 120 o 20%. Bazowe parametry łupu rosną o 7% na poziom przedmiotu. Bonusy procentowe mają limity. Poziom 1000 to limit techniczny wyposażenia.": "Progression principale : niveaux 1–120. PV, boucliers et attaque ennemis gagnent 10% de la base par niveau, 20% après 120. Le butin gagne 7% par niveau d'objet. Bonus limités. Limite technique : 1000.", + "Głębokie złoże deuteru": "Gisement profond de deutérium", + "HANGAR / OBSŁUGA": "HANGAR / MAINTENANCE", + "HANGAR / WYBÓR STATKU": "HANGAR / CHOIX DU VAISSEAU", + "IDŹ DO NASTĘPNEGO POZIOMU": "PASSER AU NIVEAU SUIVANT", + "INICJALIZACJA NAPĘDU SKOKOWEGO": "INITIALISATION DU MOTEUR DE SAUT", + "INŻYNIER CHRONALNY": "INGÉNIEUR TEMPOREL", + "Inżynier chronalny": "Ingénieur temporel", + "Inżynierka rozłożyła stanowisko pomiarowe daleko od zabudowań. Potrzebuje lądownika do krótkiego testu nowego układu zasilania. Zapewnia podstawową zapłatę niezależnie od wyniku i dodatkową premię za poprawny przebieg próby. Gdy pytasz o ryzyko, bez słowa przesyła zapis poprzedniego testu. Widać na nim nagły skok napięcia.": "Une ingénieure demande de tester un système d'énergie avec votre atterrisseur. Paiement de base garanti, prime en cas de réussite. Un ancien enregistrement montre une surtension soudaine.", + "Izolowane próbki i komora do badań obcych organizmów.": "Échantillons isolés et chambre d'étude des organismes extraterrestres.", + "Jeden załogant obsługuje jedną placówkę. Nowy przydział przenosi go z poprzedniej.": "Un équipier exploite un avant-poste. Une nouvelle affectation remplace la précédente.", + "Jednorazowa wyprawa. Zużywa mapę i pobiera %d deuteru.": "Expédition unique. Consomme la carte et %d deutérium.", + "Jednorazowy powerbank. Przywraca 10% maksymalnej energii statku, do jego aktualnego limitu. Użyj klawiszem R podczas lotu.": "Batterie à usage unique. Restaure 10% de l'énergie maximale jusqu'à la limite actuelle. Touche R en vol.", + "KAPITAN · PASYWNE": "CAPITAINE · PASSIF", + "KOMPUTER": "ORDINATEUR", + "KORSARZ • ENERGIA": "CORSAIRE • ÉNERGIE", + "KOSZT BUDOWY": "COÛT DE CONSTRUCTION", + "KOSZT · posiadasz / wymagane\n": "COÛT · disponible / requis\n", + "KUP 100 AMUNICJI — 100 KREDYTÓW": "ACHETER 100 MUNITIONS — 100 CRÉDITS", + "KUP MAPĘ · %d KREDYTÓW": "ACHETER LA CARTE · %d CRÉDITS", + "Kadłub jest pełny": "Coque intacte", + "Kadłub jest w pełni sprawny. Naprawa nie jest potrzebna.": "La coque est intacte. Aucune réparation nécessaire.", + "Kadłub nie wymaga naprawy": "La coque ne nécessite pas de réparation", + "Kadłub: %d · Tarcze: %d\nEnergia: %d · Prędkość: %d px/s": "Coque : %d · Boucliers : %d\nÉnergie : %d · Vitesse : %d px/s", + "Kamuflaż": "Camouflage", + "Kamuflaż już działa": "Camouflage déjà actif", + "Kapsuły do działka gamma. Obrażenia radiacyjne.": "Capsules pour canon gamma. Dégâts radiatifs.", + "Każda nadlatująca wroga rakieta ma 25% szansy zostać przechwycona w zasięgu 240 px od statku. Przechwycona rakieta wybucha bez zadawania obrażeń. Jeden rzut na rakietę.": "Chaque missile ennemi a 25% de chances d'être intercepté à 240 px. Il explose sans dégâts. Un tirage par missile.", + "Każde bezpośrednie trafienie twojej broni zadaje obcym dodatkowe 5 obrażeń przed absorpcją.": "Chaque impact direct inflige 5 dégâts supplémentaires aux aliens avant absorption.", + "Każde bezpośrednie trafienie zadaje pełne obrażenia jednocześnie tarczom i kadłubowi obcego. Nadal działa absorpcja.": "Chaque impact direct inflige tous ses dégâts simultanément aux boucliers et à la coque aliens. L'absorption reste active.", + "Każdy orb jest jednorazowy i znika po użyciu. Kolejny awans wymaga kolejnej sztuki. Efekty tego samego orba nie sumują się. Orby typu obrażeń zastępują się. Replika trafia do magazynu.": "Les orbes sont consommés à l'usage. Chaque amélioration en exige un autre. Les effets identiques ne se cumulent pas. Les types de dégâts se remplacent. Les répliques vont au stockage.", + "Każdy punkt: +1 punkt procentowy szansy na trafienie krytyczne. Maksymalnie +20 przy 20 punktach.": "Par point : +1 point de pourcentage de critique. Maximum +20 à 20 points.", + "Każdy punkt: +2% obrażeń wszystkich broni. Maksymalnie +40% przy 20 punktach.": "Par point : +2% de dégâts de toutes les armes. Maximum +40% à 20 points.", + "Każdy strzał / impuls losuje obrażenia z tego zakresu.": "Chaque tir/impulsion tire ses dégâts dans cette plage.", + "Każdy strzał ma 1% szansy wyłączyć na 5 sekund losowy system obcego: silnik, broń lub tarcze. Czerwona ikona nad wrogiem wskazuje wyłączony system. Obrażenia okresowe nie losują ponownie.": "Chaque tir a 1% de chances de désactiver moteur, arme ou boucliers aliens pendant 5 s. Une icône rouge indique le système. Les dégâts périodiques ne relancent pas le tirage.", + "Każdy zebrany odłamek asteroidy odnawia %.1f%% maksymalnych tarcz i energii.": "Chaque fragment d'astéroïde ramassé restaure %.1f%% des boucliers et de l'énergie maximaux.", + "Kliknij, aby otworzyć ekwipunek kapitana": "Cliquez pour ouvrir l'inventaire du capitaine", + "Kliknij, aby wytworzyć": "Cliquez pour fabriquer", + "Kliknięcie rozstawia autonomiczne działko lewitujące w miejscu. Koszt: dokładnie 50 amunicji, która trafia do jego magazynka. Działko samodzielnie celuje i oddaje 50 strzałów; potem znika. Obrażenia każdego pocisku są o 50% niższe niż działka maszynowego z takimi samymi parametrami. Nie zużywa dalszej amunicji statku. Znika przy dokowaniu lub zniszczeniu statku.": "Déploie une tourelle autonome. Coûte exactement 50 munitions chargées dans son magasin. Vise automatiquement et disparaît après 50 tirs. Chaque tir inflige 50% de dégâts en moins qu'un canon automatique équivalent. Aucun coût supplémentaire. Disparaît à l'amarrage ou à la destruction du vaisseau.", + "Kolekcjoner minerałów": "Collecteur de minéraux", + "Kontynuuj wyprawę": "Poursuivre l'expédition", + "Kontynuuj wyprawę [E]": "Poursuivre l'expédition [E]", + "Korytarz rozszerza się w chłodną grotę. Na wapiennych ścianach widać kolejne skupiska nieznanych form życia.": "Le couloir débouche sur une grotte fraîche aux parois couvertes de vie inconnue.", + "Korzenie rozsunęły kamienie przy wejściu. Za progiem spoczywa porzucone urządzenie, pokryte pyłem minionych wieków.": "Les racines ont dégagé l'entrée. Un appareil ancien couvert de poussière repose derrière.", + "Koszt każdej technologii w tym rzędzie: %d próbek.": "Chaque technologie de cette rangée coûte %d échantillons.", + "Koszt: %d próbek": "Coût : %d échantillons", + "Koszt: 10 kryształów × poziom przedmiotu. Gotowe maksima nie pobierają opłaty.": "Coût : 10 cristaux × niveau de l'objet. Les valeurs déjà maximales sont gratuites.", + "Kredyty: %d": "Crédits : %d", + "Kredyty: %d · części: %d\nWydatki pobierane są od razu. Nowe nagrody zachowasz po bezpiecznym powrocie.": "Crédits : %d · pièces : %d\nDépenses immédiates ; récompenses conservées après un retour sûr.", + "Kryształy czasu": "Cristaux temporels", + "Kryształy czasu: %d": "Cristaux temporels : %d", + "Kup 1 rakietę za %d kredytów.": "Acheter 1 missile pour %d crédits.", + "Kup 10 pocisków radiacyjnych za %d kredytów.": "Acheter 10 projectiles irradiés pour %d crédits.", + "Kup 100 zwykłych pocisków za %d kredytów.": "Acheter 100 balles normales pour %d crédits.", + "Kup amunicję do działka maszynowego.": "Acheter des munitions de canon automatique.", + "Kup kontener · zawartość nieznana": "Acheter le conteneur · contenu inconnu", + "Kup zestaw surowców": "Acheter un lot de ressources", + "LEĆ": "DÉCOLLER", + "LEĆ DO UKŁADU": "VOYAGER VERS LE SYSTÈME", + "Laser pulsacyjny": "Laser pulsé", + "Laser radiacyjny": "Laser radiatif", + "Laser wiązkowy": "Laser à faisceau", + "Losowanie zakresu obrażeń broni (poziom 1)": "Plage de dégâts de l'arme (niveau 1)", + "Losuje przedmiot i addony dla poziomu aktualnego układu.": "Tire un objet et ses modificateurs au niveau du système actuel.", + "Lot: poziom × 1000 deuteru. Powrót bezpłatny. Mapa zużywa się przy wylocie. Każdy sektor można odwiedzić tylko raz.": "Vol : niveau × 1000 deutérium. Retour gratuit. Carte consommée au départ. Chaque secteur ne peut être visité qu'une fois.", + "LĄDOWNIK ZNISZCZONY · Utracono łup bieżącej wyprawy.": "ATTERRISSEUR DÉTRUIT · Butin de cette expédition perdu.", + "LĄDOWNIK ZNISZCZONY — utracono łup wyprawy": "ATTERRISSEUR DÉTRUIT — butin perdu", + "Lądownik %d / 100 HP · Energia %d%%": "Atterrisseur %d / 100 PV · Énergie %d%%", + "Lądownik wymaga naprawy do 100% we frachtowcu.": "Réparez l'atterrisseur à 100% dans le cargo.", + "Lądownik · %d%%": "Atterrisseur · %d%%", + "MAGAZYN / ZASOBY I WYPOSAŻENIE": "STOCKAGE / RESSOURCES ET ÉQUIPEMENT", + "MAKSYMALIZUJ · %d KRYSZTAŁÓW": "MAXIMISER · %d CRISTAUX", + "MODUŁY / Kliknij ikonę, aby przenieść przedmiot": "MODULES / Cliquez sur une icône pour transférer", + "MODUŁY STATKU": "MODULES DU VAISSEAU", + "MYŚLIWIEC • SZYBKOŚĆ": "CHASSEUR • VITESSE", + "Ma 50%% szans na przejęcie uciekającego wroga (poniżej 10%% kadłuba). Jedna próba na statek; losowanie następuje, gdy jest wolne miejsce na przejęcie. Zamiast uciekać atakują swoich dawnych sojuszników. Bossowie są odporni na wirusa. Wrogowie atakują zawirusowane statki, gdy gracza nie ma w pobliżu. Nadal możesz uszkodzić i zniszczyć je własną bronią. Limit jednocześnie kontrolowanych: %d.": "50%% de chances de contrôler les ennemis en fuite sous 10%% de coque. Un essai par vaisseau avec une place libre. Ils attaquent leurs anciens alliés. Boss immunisés. Les ennemis les attaquent quand vous êtes loin. Vous pouvez les endommager. Limite : %d.", + "Magazyn jest pełny — zwolnij miejsce.": "Stockage plein — libérez de la place.", + "Magazyn pełny — zwolnij miejsce.": "Stockage plein — libérez de la place.", + "Malejące korzyści: 37,5% × punkty / (punkty + 10). Maksymalnie 25% uniku przy 20 punktach. Unik anuluje całe trafienie.": "Rendement décroissant : 37,5% × points / (points + 10). Maximum 25% d'esquive à 20 points. Annule tout l'impact.", + "Malejące korzyści: 50% × punkty / (punkty + 10). Maksymalnie 33,3% redukcji przy 20 punktach, przed tarczami i kadłubem.": "Rendement décroissant : 50% × points / (points + 10). Maximum 33,3% de réduction à 20 points, avant boucliers et coque.", + "Manewr wyprzedzający": "Manœuvre préventive", + "Mapa odległych systemów · poz. %d": "Carte des systèmes lointains · niveau %d", + "Mapa z tej wizyty została kupiona. Wróć po kolejnym lądowaniu po nową ofertę.": "Carte déjà achetée. Atterrissez de nouveau pour une autre offre.", + "Mapa została już kupiona lub brakuje kredytów.": "Carte déjà achetée ou crédits insuffisants.", + "Mapa: %d kredytów\nPaliwo na lot: %d deuteru\nPosiadasz: %d kredytów": "Carte : %d crédits\nCarburant : %d deutérium\nDisponible : %d crédits", + "Miedź": "Cuivre", + "Miejsce na przyszłe badanie.": "Emplacement pour une recherche future.", + "Między pustymi domami zarosła dawna ścieżka. W pozostawionych schowkach mogą jeszcze leżeć drobne oszczędności.": "Un sentier envahi relie des maisons vides. Leurs caches contiennent peut-être des économies.", + "Mnożnik krytyka": "Multiplicateur critique", + "Moduł": "Module", + "Mokradła": "Marécages", + "Może później": "Peut-être plus tard", + "Możesz wybrać tylko jedną ofertę.": "Vous ne pouvez choisir qu'une offre.", + "NAJEDŹ NA IKONĘ, ABY ZOBACZYĆ KOSZT": "SURVOLEZ UNE ICÔNE POUR VOIR LE COÛT", + "NAWIGACJA / ODKRYTE UKŁADY": "NAVIGATION / SYSTÈMES DÉCOUVERTS", + "NAWIGACJA / PLACÓWKI": "NAVIGATION / AVANT-POSTES", + "NAŁÓŻ ORB": "APPLIQUER L'ORBE", + "NIEPOWODZENIE · utrata %d HP. Wcześniejszy łup pozostaje w ładowni.": "ÉCHEC · perte de %d PV. Le butin précédent reste en soute.", + "NIEZNANY UKŁAD. TWOJA WYPRAWA.": "SYSTÈME INCONNU. VOTRE EXPÉDITION.", + "NISKI KADŁUB — %d%%": "COQUE FAIBLE — %d%%", + "NOWA UMIEJĘTNOŚĆ": "NOUVELLE COMPÉTENCE", + "Na skraju polany stoi warsztat na szerokich gąsienicach. Mechanik odbiera sygnał z twojego lądownika i po chwili przesyła listę uszkodzeń. Ma części wystarczające na jedną szybką naprawę. Podaje cenę oraz dokładny zakres prac, po czym uruchamia spawarkę i czeka na odpowiedź.": "Un mécanicien itinérant propose une réparation rapide. Il transmet le prix et le détail des travaux et attend votre réponse.", + "Na stole ocalały dzienniki mieszkańców. Ich notatki mogą nauczyć cię, jak przetrwać na tej planecie.": "Des journaux préservés pourraient vous apprendre à survivre sur cette planète.", + "Nad małym obozem zbiera się burza, a jego transport ewakuacyjny stoi z rozebranym silnikiem. Pierwsza grupa ludzi czeka już przy awaryjnym schronieniu. Dalej pozostali pracownicy zabezpieczający sprzęt i ranni, których trudniej przenieść. Koordynator może zapłacić za każdy ukończony etap pomocy, ale z każdą minutą warunki będą gorsze.": "Une tempête menace un camp dont le transport est en panne. Secourez d'abord les personnes à l'abri, puis les ouvriers et blessés. Chaque étape est payée, mais les conditions empirent.", + "Najedź na nazwę przedmiotu, aby zobaczyć wszystkie addony i parametry.": "Survolez le nom d'un objet pour voir tous ses modificateurs et statistiques.", + "Napraw do 100%% · koszt %d części. Pełny kadłub wymagany do lądowania.": "Réparer à 100%% · coût %d pièces. Coque intacte requise pour atterrir.", + "Napraw lądownik: +%d HP": "Réparer l'atterrisseur : +%d PV", + "Naprawiają tyle kadłuba, ile pozwalają części i brakujące punkty. Koszt: 1 część za 1 punkt kadłuba. Nie zużywają energii.": "Répare la coque selon les pièces et PV manquants. Coûte 1 pièce par PV. Sans énergie.", + "Naprawiono lądownik: +%d HP.": "Atterrisseur réparé : +%d PV.", + "Naprowadzana rakieta z małym uderzeniem. Zostawia płonący gaz na 5 s w promieniu 95 px: 110% obrażeń uderzenia na sekundę, kinetyczne. Nakładające się chmury nie sumują obrażeń.": "Missile guidé à faible impact. Laisse du gaz brûlant 5 s dans un rayon de 95 px : 110% des dégâts d'impact/s, cinétiques. Nuages non cumulables.", + "Natychmiast naprawia %d%% maksymalnego kadłuba za 1 część. Wymaga uszkodzonego statku i aktywnego lotu.": "Répare instantanément %d%% de coque maximale pour 1 pièce. Nécessite un vaisseau endommagé en vol.", + "Nie masz jeszcze umiejętności. To początek Twojej specjalizacji.": "Aucune compétence pour le moment. Votre spécialisation commence ici.", + "Nie można zbudować placówki. Sprawdź liczbę części.": "Impossible de construire l'avant-poste. Vérifiez les pièces.", + "Nie udało się otworzyć menu: %s": "Impossible d'ouvrir le menu : %s", + "Nie udało się przenieść do układu: %s": "Impossible de rejoindre le système : %s", + "Niweluje obrażenia tego typu przed tarczą i pancerzem. Łączny limit statku: 60%.": "Réduit ces dégâts avant boucliers et blindage. Limite totale : 60%.", + "Nowe badania w laboratorium trwają o %d%% krócej. Premie rang nie sumują się.": "Les nouvelles recherches durent %d%% de moins. Les rangs ne se cumulent pas.", + "Nowe układy odblokujesz, przechodząc dalej przez tunel po pokonaniu przeciwników.": "Débloquez de nouveaux systèmes en traversant le tunnel après avoir vaincu les ennemis.", + "Nowy poziom": "Nouveau niveau", + "O %d%% więcej kredytów za pokonanych wrogów. Premia obejmuje kredyty do zebrania po walce. Premie rang nie sumują się.": "%d%% de crédits supplémentaires par ennemi vaincu, y compris ceux à ramasser. Les rangs ne se cumulent pas.", + "OBÓZ SPECJALISTY / REKRUTACJA": "CAMP DE SPÉCIALISTE / RECRUTEMENT", + "ODCZYT PARAMETRÓW": "LECTURE DES PARAMÈTRES", + "ODCZYT: części zamienne. Ilość nieznana.": "SCAN : pièces détachées. Quantité inconnue.", + "ODCZYT: podzespół statku. Poziomu i parametrów nie udało się ustalić.": "SCAN : composant de vaisseau. Niveau et statistiques inconnus.", + "ODCZYT: próbki mineralne. Dokładny skład i ilość nieznane.": "SCAN : échantillons minéraux. Composition et quantité inconnues.", + "ODKRYTE · DOSTĘPNE W ŁUPACH": "DÉCOUVERT · DISPONIBLE DANS LE BUTIN", + "ODLEGŁY SEKTOR": "SECTEUR LOINTAIN", + "ODŁÓŻ DO PLECAKA": "RANGER DANS LE SAC", + "ODŁÓŻ →": "DÉPOSER →", + "OSTATNI UKŁAD": "DERNIER SYSTÈME", + "OSŁONA %.0f / %.0f": "BOUCLIER %.0f / %.0f", + "OTWÓRZ WORMHOLE": "OUVRIR LE TROU DE VER", + "Obcy trafiający twoją aktywną tarczę otrzymuje wyładowanie równe 20% obrażeń faktycznie pochłoniętych przez osłonę. Bez kolejnych efektów trafienia.": "Un alien touchant votre bouclier actif subit une décharge de 20% des dégâts absorbés. Aucun effet d'impact supplémentaire.", + "Obok niewielkiej instalacji wydobywczej stoi łazik załadowany po same osie. Jego operator od tygodni wydobywa ten sam minerał, ale zabrakło mu materiałów do naprawy urządzeń. Proponuje wymianę części swojego zapasu na surowce z twojej ładowni. Przesyła dokładny wykaz towarów.": "Un rover minier est chargé de minéraux. Son opérateur a besoin de matériaux de réparation et propose une partie de son stock contre vos ressources. Il transmet la liste exacte.", + "Obrażenia": "Dégâts", + "Obrażenia broni": "Dégâts des armes", + "Obrażenia dronów bojowych większe o %d%%. Premie rang nie sumują się.": "Les drones infligent %d%% de dégâts supplémentaires. Les rangs ne se cumulent pas.", + "Obrażenia kadłubów obcych": "Dégâts aux coques aliens", + "Obrażenia krytyczne": "Dégâts critiques", + "Obrażenia tarcz obcych": "Dégâts aux boucliers aliens", + "Obrażenia trafienia": "Dégâts d'impact", + "Obrażenia z addonów": "Dégâts des modificateurs", + "Obrażenia: %s": "Dégâts : %s", + "Obóz specjalisty": "Camp de spécialiste", + "Odbierz do ładowni statku. Przedmioty bez miejsca pozostają na fregacie.": "Récupérer en soute. Les objets sans place restent sur la frégate.", + "Odblokuj 1 slot ładowni w hangarze: 100 żelaza + 50 aluminium.": "Débloquer 1 place dans le hangar : 100 fer + 50 aluminium.", + "Odległy sektor %03d": "Secteur lointain %03d", + "Odstęp między strzałami": "Intervalle de tir", + "Odstęp rozstawiania": "Intervalle de déploiement", + "Odstęp strzałów działka": "Intervalle de tir de tourelle", + "Odstęp strzałów działka: %.2f s • Kolejne rozstawienie: %.2f s": "Intervalle de tourelle : %.2f s • Prochain déploiement : %.2f s", + "Odstęp strzałów: %.2f s": "Intervalle de tir : %.2f s", + "Odwrócona polaryzacja": "Polarité inversée", + "Odzysk tarcz z obrażeń": "Récupération de boucliers par dégâts", + "Odzyskane moduły · %d": "Modules récupérés · %d", + "Odłóż wszystko →": "Tout déposer →", + "Odłóż wyposażenie kapitana": "Déposer l'équipement du capitaine", + "Ogólna wiedza": "Connaissances générales", + "Opady śniegu": "Chute de neige", + "Orb elektryczności": "Orbe électrique", + "Orb silników atomowych": "Orbe de moteurs atomiques", + "Osiągnięto limit.": "Limite atteinte.", + "Ostatnie zapasy ukryto pod zawaloną częścią budynku. Belki skrzypią przy każdym kroku.": "Des réserves sont enfouies sous un bâtiment effondré. Les poutres craquent à chaque pas.", + "Oszczędny laser wiązkowy: małe obrażenia i zasięg około jednego ekranu. Koszt impulsu rośnie z obrażeniami i addonami egzemplarza.": "Laser économe : faibles dégâts et portée d'un écran environ. Le coût augmente avec les dégâts et modificateurs.", + "Oszczędny magazynek": "Chargeur économe", + "Osłabienie broni obcych": "Affaiblir les armes aliens", + "Otwórz przeskanowaną skrytkę": "Ouvrir la cache scannée", + "Otwórz statek i sloty wyposażenia": "Ouvrir le vaisseau et ses emplacements", + "PANCERZ": "BLINDAGE", + "PANCERZ REAKTYWNY": "BLINDAGE RÉACTIF", + "POKÓJ 01": "CABINE 01", + "POKÓJ 02": "CABINE 02", + "POKÓJ 03": "CABINE 03", + "POKÓJ 04": "CABINE 04", + "POKÓJ 05": "CABINE 05", + "POSIADANE UMIEJĘTNOŚCI": "COMPÉTENCES ACQUISES", + "POWRÓT NA STATEK [L]": "RETOUR AU VAISSEAU [L]", + "POWRÓT Z WYPRAWY": "REVENIR D'EXPÉDITION", + "POWRÓT Z WYPRAWY · ": "RETOUR D'EXPÉDITION · ", + "POZIOM %d": "NIVEAU %d", + "POZIOM %s / III · %s": "NIVEAU %s / III · %s", + "PROJEKTY BRONI I ROZSZERZEŃ": "PLANS D'ARMES ET D'EXTENSIONS", + "PRZEJDŹ DO HARD": "PASSER EN DIFFICILE", + "PRÓBKI / %d": "ÉCHANTILLONS / %d", + "PRĘDKOŚĆ: %.0f": "VITESSE : %.0f", + "Pancerz reaktywny": "Blindage réactif", + "Pancerz z tytanu": "Blindage en titane", + "Parametry statku, uzbrojenie, pancerz i systemy": "Statistiques, armement, blindage et systèmes", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Przy niskim kadłubie pochłania 50% otrzymywanych obrażeń.": "Extension passive. Active une fois installée. Absorbe 50% des dégâts lorsque la coque est faible.", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Uciekający wrogowie przechodzą pod kontrolę wirusa i atakują inne wrogie statki.": "Extension passive. Les ennemis en fuite sont contrôlés par le virus et attaquent les autres ennemis.", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Zebrany odłamek asteroidy przywraca tarcze i energię.": "Extension passive. Les fragments d'astéroïdes ramassés restaurent boucliers et énergie.", + "Pasywny moduł prędkości. Na poziomie 1 bonus wynosi 1–5 px/s i rośnie wraz z poziomem przedmiotu.": "Module passif de vitesse. Bonus au niveau 1 : 1–5 px/s, augmente avec le niveau de l'objet.", + "Pewna wypłata albo ryzyko": "Paiement garanti ou risque", + "Pełne zachmurzenie": "Ciel couvert", + "Pierwsze trafienie sięgające kadłuba po utracie tarcz zadaje kadłubowi o 70% mniej obrażeń. Odnowienie: 15 s aktywnego lotu.": "Le premier impact sur la coque après perte des boucliers inflige 70% de dégâts en moins. Recharge : 15 s de vol actif.", + "Pierwsze trafienie w aktywną tarczę zadaje tylko 10% obrażeń. Odnowienie: 60 s. Redukcja obejmuje też przebicie tego trafienia na kadłub.": "Le premier impact sur les boucliers actifs n'inflige que 10% des dégâts, pénétration comprise. Recharge : 60 s.", + "Pierwszy cel: pokonaj wrogów → pokonaj bossa → znajdź zamieszkaną planetę.": "Premier objectif : vaincre les ennemis → vaincre le boss → trouver une planète habitée.", + "Pilotaż": "Pilotage", + "Placówka gotowa. Przydziel operatora w centrum dowodzenia.": "Avant-poste prêt. Affectez un opérateur au centre de commandement.", + "Placówka górnicza": "Avant-poste minier", + "Placówka zbudowana · %.1f deuteru/min": "Avant-poste construit · %.1f deutérium/min", + "Placówka: ": "Avant-poste : ", + "Po uszkodzeniu kadłuba pocisk lub laser przebija jeden dodatkowy cel za 50% obrażeń. Rakieta wypuszcza dodatkowy pocisk penetrujący bez kolejnej eksplozji. Bez łańcuchowych przestrzałów i dodatkowego kosztu strzału.": "Après avoir touché la coque, projectile ou laser traverse une cible supplémentaire à 50% des dégâts. Les missiles libèrent un projectile pénétrant sans nouvelle explosion. Sans chaîne ni surcoût.", + "Po zbiciu tarcz natychmiast odzyskujesz 25% ich maksimum. Przez 2 s obrażenia kierowane w tarczę są zmniejszone o 50%. Odnowienie: 30 s. Nie sumuje redukcji z Rozproszeniem salwy; działa silniejsza. Dokowanie nie resetuje odnowienia.": "À la rupture des boucliers, restaure immédiatement 25%. Pendant 2 s, réduit les dégâts aux boucliers de 50%. Recharge : 30 s. Seule la réduction la plus forte s'applique avec Dispersion de salve. L'amarrage ne réinitialise pas la recharge.", + "Pochłania 50%% otrzymywanych obrażeń, gdy kadłub ma nie więcej niż %d%% maksimum. Próg sprawdzany przed trafieniem.": "Absorbe 50%% des dégâts avec au plus %d%% de coque. Seuil vérifié avant l'impact.", + "Pociski do działka maszynowego. Obrażenia kinetyczne.": "Munitions de canon automatique. Dégâts cinétiques.", + "Pociski, rakiety i lasery obcych mogą trafiać także innych wrogich obcych. Trafienie własnego statku strzelca jest wykluczone.": "Les projectiles, missiles et lasers aliens peuvent toucher d'autres aliens, jamais le vaisseau du tireur.", + "Pod cienką warstwą gruntu żyła schodzi głębiej. Odwiert odsłoni bogatszy pokład, jeśli skała pozostanie stabilna.": "Le filon descend plus bas. Un forage pourrait révéler du minerai plus riche si la roche reste stable.", + "Pod zapadniętą podłogą kryje się sejf osady. Dotarcie do niego wymaga wejścia pod niestabilne stropy.": "Le coffre de la colonie se trouve sous un plancher effondré et des plafonds instables.", + "Pokonaj wszystkich wrogów": "Vaincre tous les ennemis", + "Pokój załogi z łóżkiem, biurkiem i miejscem na rzeczy osobiste.": "Cabine avec lit, bureau et rangement personnel.", + "Pomieszczenie jest wyposażone. Jego mechanika zostanie dodana w kolejnym etapie.": "Pièce équipée. Ses fonctionnalités seront ajoutées ultérieurement.", + "Powerbank przywraca %d%% maksymalnej energii zamiast 10%%. Umiejętność pasywna; premie rang nie sumują się.": "Les batteries restaurent %d%% d'énergie maximale au lieu de 10%%. Passif ; rangs non cumulables.", + "Poziom %d": "Niveau %d", + "Pozostałe wybory po tym awansie: %d": "Choix restants pour cette montée de niveau : %d", + "Pozostało": "Restant", + "Pozostało: %d s gry": "Restant : %d secondes de jeu", + "Premia biomu: materiały ×%.1f · moduły +%d…+%d poz.\nLiczba amunicji i rakiet nie wzrasta.": "Bonus de biome : matériaux ×%.1f · modules +%d…+%d niveaux\nMunitions et missiles inchangés.", + "Premia do doświadczenia": "Bonus d'expérience", + "Premia do kredytów": "Bonus de crédits", + "Premia do obrażeń": "Bonus de dégâts", + "Premia ze sprzętu: do +100%. Umiejętności kapitana działają osobno.": "Bonus d'équipement : jusqu'à +100%. Les compétences du capitaine s'appliquent séparément.", + "Produkcja zwykłej i radiacyjnej amunicji daje o %d%% więcej sztuk za ten sam koszt. Nie dotyczy rakiet. Premie rang nie sumują się.": "La fabrication de munitions normales et irradiées donne %d%% de plus au même coût. Hors missiles. Rangs non cumulables.", + "Przeciągnij, aby przesunąć okno": "Glissez pour déplacer la fenêtre", + "Przeciążenie osłon": "Surcharge des boucliers", + "Przeciążenie reaktora": "Surcharge du réacteur", + "Przejaśnienia": "Éclaircies", + "Przeniesiono %d przedmiotów.": "%d objets transférés.", + "Przenieś rannych": "Transporter les blessés", + "Przestrzał": "Tir perforant", + "Przez 10 s statek staje się niemal niewidoczny. Przeciwnicy nie wykrywają go ani nie śledzą. Oddanie strzału przerywa kamuflaż. Nie zapewnia odporności na już wystrzelone pociski. Odnowienie: 60 s.": "Presque invisible pendant 10 s. Les ennemis ne vous détectent ni ne vous suivent. Tirer rompt le camouflage. Les projectiles déjà lancés restent dangereux. Recharge : 60 s.", + "Przy zakurzonym transporterze miga przenośny nadajnik. Właściciel przedstawia się jako niezależny dostawca, choć oznaczenia na skrzyniach należą do kilku różnych firm. Twierdzi, że kończy interesy na tej planecie i woli sprzedać zapasy taniej, niż zabierać je z powrotem na orbitę.": "Un fournisseur indépendant brade ses réserves plutôt que de les ramener en orbite. Ses caisses portent les marques de plusieurs entreprises.", + "Przydziel załoganta w centrum dowodzenia fregaty. Deuter trafia automatycznie do magazynu, również gdy jesteś poza tą planetą.": "Affectez un équipier au commandement de la frégate. Le deutérium est livré automatiquement même en votre absence.", + "Przygotowana dla jednego załoganta. Specjalistów możesz zatrudniać na planetach.": "Prévue pour un équipier. Recrutez des spécialistes sur les planètes.", + "Przypisz umiejętność do slotu F1–F5 w panelu kapitana": "Affectez la compétence à F1–F5 dans le panneau du capitaine", + "Przywraca 100 punktów tarcz, do ich maksimum. Wymaga i zużywa 100% energii.": "Restaure jusqu'à 100 points de bouclier. Nécessite et consomme 100% d'énergie.", + "Przywracają 10% maksymalnej energii. Użyj klawiszem R.": "Restaure 10% d'énergie maximale. Touche R.", + "Próbki do analizy": "Échantillons d'analyse", + "Prędkość": "Vitesse", + "Prędkość aktualna": "Vitesse actuelle", + "Prędkość lecącej wiązki: %.0f px/s": "Vitesse du faisceau : %.0f px/s", + "Prędkość maksymalna": "Vitesse maximale", + "Prędkość obrotu": "Vitesse de rotation", + "Prędkość statku": "Vitesse du vaisseau", + "Pusty slot\nMiejsce na przyszłe badanie.": "Emplacement vide\nPlace pour une recherche future.", + "Pęknięcie poszycia": "Brèche de coque", + "Płatny skan skrytki": "Scan payant de cache", + "RAKIETY": "MISSILES", + "RANDOLOOT / EKSPLORUJ • WALCZ • ROZWIJAJ STATEK": "RANDOLOOT / EXPLOREZ • COMBATTEZ • AMÉLIOREZ", + "REAKTOR": "RÉACTEUR", + "RESET SKILLI — 100 KREDYTÓW": "RÉINITIALISER LES COMPÉTENCES — 100 CRÉDITS", + "REZERWA KONDENSATORÓW": "RÉSERVE DE CONDENSATEURS", + "Radiacyjna kula. Napromieniowanie: 10 s, 25% obrażeń trafienia/s. Kolejne trafienia odświeżają czas. Zużywa napromieniowaną amunicję.": "Sphère radiative. Irradiation : 10 s à 25% des dégâts d'impact/s. Les impacts renouvellent la durée. Utilise des munitions irradiées.", + "Rakieta": "Missile", + "Redukcja obrażeń": "Réduction des dégâts", + "Regały, pojemniki i stanowiska do przechowywania modułów.": "Étagères, conteneurs et postes de stockage de modules.", + "Regeneracja energii +%d%% przez 7 sekund. Zużywa wszystkie tarcze i blokuje ich odzysk na czas działania. Wymaga min. 25%% tarcz.": "Régénération d'énergie +%d%% pendant 7 s. Consomme tous les boucliers et bloque leur récupération. Nécessite au moins 25%% de boucliers.", + "Rekrutacja: %d kredytów · posiadasz: %d": "Recrutement : %d crédits · disponible : %d", + "Rezerwa kondensatorów": "Réserve de condensateurs", + "Rozbity przekaźnik": "Relais détruit", + "Rozłóż przedmiot: +10 części": "Démonter l'objet : +10 pièces", + "Rtęć": "Mercure", + "SIEĆ WYDOBYWCZA": "RÉSEAU D'EXTRACTION", + "SILNIK": "MOTEUR", + "SKŁAD MODUŁÓW W REMONCIE": "STOCKAGE DE MODULES EN TRAVAUX", + "SPACJA — pomiń intro": "ESPACE — passer l'introduction", + "SPRZĘT KAPITANA · %d szt. ODZYSKANE MODUŁY · %d": "ÉQUIPEMENT DU CAPITAINE · %d objets MODULES RÉCUPÉRÉS · %d", + "SPRÓBUJ PONOWNIE [R]": "RÉESSAYER [R]", + "STATEK GRACZA": "VAISSEAU DU JOUEUR", + "STATEK ZABEZPIECZONY": "VAISSEAU SÉCURISÉ", + "STATEK ZNISZCZONY": "VAISSEAU DÉTRUIT", + "STATEK · %d / %d": "VAISSEAU · %d / %d", + "STATEK · PASYWNE": "VAISSEAU · PASSIF", + "STAŁY EFEKT": "EFFET PERMANENT", + "SYSTEMY I MODUŁY": "SYSTÈMES ET MODULES", + "SYSTEMY POKŁADOWE": "SYSTÈMES DE BORD", + "Sektory poza znanymi szlakami. Podwójna liczba wrogów, jeden boss. Kryształy czasu z każdego wroga. Zwykli wrogowie: mapy i powerbanki po 15%. Boss zawsze zostawia 1 mapę i 1 losowy orb, a dodatkowo ma 5% szansy na Orb replikacji.": "Secteurs lointains : deux fois plus d'ennemis, un boss. Tous donnent des cristaux temporels. Ennemis normaux : 15% chacun pour cartes et batteries. Boss : toujours une carte et un orbe aléatoire, plus 5% de chance d'orbe de réplication.", + "Skaliste wyżyny": "Hauts plateaux rocheux", + "Skan ujawni rodzaj zawartości, ale nie jej ilość ani stan. Otwarcie wymaga osobnej opłaty.": "Le scan révèle le type, pas la quantité ni l'état. L'ouverture est facturée séparément.", + "Skan zakończony. Możesz opłacić otwarcie lub wrócić później.": "Scan terminé. Payez l'ouverture ou revenez plus tard.", + "Skrócenie cooldownu rakiet": "Réduction de recharge des missiles", + "Spadek kadłuba z co najmniej 30% poniżej tego progu uruchamia naprawę 15% maksymalnego kadłuba przez 5 s. Odnowienie: 45 s. Trafienia nie przerywają naprawy.": "Passer d'au moins 30% de coque sous ce seuil répare 15% du maximum en 5 s. Recharge : 45 s. Les impacts n'interrompent pas.", + "Spadek tarcz z co najmniej 30% poniżej tego progu zmniejsza koszt energii broni o 50% przez 2 s. Odnowienie: 15 s.": "Passer d'au moins 30% de boucliers sous ce seuil réduit le coût énergétique des armes de 50% pendant 2 s. Recharge : 15 s.", + "Specjalista z obozu szuka pracy. Obejrzyj umiejętności i zdecyduj — możesz wrócić później. Koszt zatrudnienia: 1000 kredytów × zarządzanie.": "Un spécialiste cherche du travail. Consultez ses compétences ; vous pouvez revenir. Coût : 1000 crédits × gestion.", + "Specjalista został już zatrudniony.": "Spécialiste déjà recruté.", + "Spotkanie zakończone. Nagrody w ładowni wyprawy przepadną po zniszczeniu lądownika.": "Rencontre terminée. Les récompenses en soute sont perdues si l'atterrisseur est détruit.", + "Sprzedaj próbki": "Vendre les échantillons", + "Sprzęt: do +100% mnożnika bazowego, maksymalnie ×4.": "Équipement : jusqu'à +100% du multiplicateur de base, maximum ×4.", + "Sprzęt: do 15% pojemności generatora/s. Ładowanie przy gwieździe i czasowe umiejętności dodają osobne premie.": "Équipement : jusqu'à 15% de capacité du générateur/s. La charge stellaire et les compétences temporaires ajoutent leurs bonus.", + "Sprzęt: do 40%. Łącznie z umiejętnościami: do 60%.": "Équipement : jusqu'à 40%. Avec compétences : jusqu'à 60%.", + "Stanowiska analityczne, aparatura i stół do doświadczeń.": "Postes d'analyse, instruments et table d'expériences.", + "Starożytna struktura": "Structure ancienne", + "Start": "Départ", + "Statek i kapitan": "Vaisseau et capitaine", + "Statek jest zniszczony": "Le vaisseau est détruit", + "Statek niedostępny": "Vaisseau indisponible", + "Strzał w 10": "Dans le mille", + "Sukces: %.2f%% · w razie porażki: −%d–%d HP\nSzansa uwzględnia warunki planety i sprzęt kapitana.": "Réussite : %.2f%% · échec : −%d–%d PV\nInclut les conditions planétaires et l'équipement du capitaine.", + "Sygnał prowadzi do samotnego badacza pochylonego nad analizatorem próbek. Na widok twojego spisu ładunku nagle przerywa rozmowę. Jednego z przewożonych przez ciebie surowców potrzebuje do ukończenia badań. Ma środki z kończącego się grantu i jest gotów zapłacić więcej niż zwykły skup.": "Un chercheur isolé a besoin d'une de vos ressources pour terminer son étude. Son budget restant lui permet de payer davantage.", + "Szansa szczęścia": "Chance de butin amélioré", + "Szansa uniku wynosi %d%% przez 5 sekund. Unik anuluje całe trafienie.": "Chance d'esquive de %d%% pendant 5 s. Annule tout l'impact.", + "Szczęście": "Chance", + "Szczęście (limit 60%)": "Chance (limite 60%)", + "Szczęście: %d%% szans na przedmiot o 1 poziom wyższy niż bazowy loot planszy. Dotyczy lootu z wrogów i znalezisk. Bazowo: 0%%. Sumuje się ze sprzętem do limitu 60%%. Premie rang nie sumują się.": "Chance : %d%% d'obtenir du butin un niveau supérieur. Ennemis et découvertes. Base 0%%. Avec équipement, limite 60%%. Rangs non cumulables.", + "Szerszeń": "Frelon", + "Szybko rozpędza do 300% zwykłej prędkości (+200%), następnie wytraca nadmiar prędkości. Bez kosztu energii.": "Accélère à 300% de la vitesse normale (+200%), puis perd l'excès. Sans coût énergétique.", + "Szybko rozpędza do 300% zwykłej prędkości (+200%), następnie wytraca nadmiar prędkości. Wymaga i zużywa 100% energii.": "Accélère à 300% de la vitesse normale (+200%), puis perd l'excès. Nécessite et consomme 100% d'énergie.", + "Szybkostrzelność": "Cadence de tir", + "Słaby punkt": "Point faible", + "Słaby sygnał alarmowy dobiega z przewróconego łazika. Jego kierowca żyje, lecz nie może wydostać się z kabiny. Do uniesienia wraku potrzebny jest prowizoryczny podnośnik zbudowany z twoich części. Czujniki ostrzegają, że uszkodzona bateria pojazdu jest niestabilna. Uwięziony obiecuje zapłatę, jeśli pomożesz mu wrócić do obozu.": "Un conducteur est bloqué dans un rover renversé. Construisez un cric avec vos pièces. La batterie est instable ; il promet une récompense.", + "Ta decyzja jest niedostępna.": "Ce choix est indisponible.", + "Tajemniczy łup: 50% części, 35% minerały, 10% rakiety, 5% moduł. Wartość może być niższa od opłaty.": "Butin mystère : 50% pièces, 35% minéraux, 10% missiles, 5% module. Sa valeur peut être inférieure au prix.", + "Tarcza zewnętrzna": "Bouclier auxiliaire", + "Tarcze są pełne": "Boucliers pleins", + "Tarcze wyłączone przez Przekierowanie zasilania": "Boucliers désactivés par Redirection d'énergie", + "Teleportuje w losowe, bezpieczne miejsce systemu. Zużywa całą aktualną energię (wymaga dodatniej energii). Odnowienie: 60 s.": "Téléporte vers un lieu sûr aléatoire du système. Consomme toute l'énergie actuelle ; énergie positive requise. Recharge : 60 s.", + "Ten addon ma już maksymalną wartość lub nie posiada zakresu losowania.": "Modificateur déjà maximal ou sans plage aléatoire.", + "Ten etap ma 0% szans. Obniż zagrożenie odpowiednim wyposażeniem.": "0% de réussite. Réduisez le danger avec un équipement adapté.", + "Teoretyczny DPS: uwzględnia krytyki i promieniowanie; przed obroną celu, przy dostępnej energii i amunicji.": "DPS théorique : critiques et radiation, avant défense, avec énergie et munitions disponibles.", + "To miejsce zostało już odwiedzone.": "Ce lieu a déjà été visité.", + "To spotkanie jest już niedostępne.": "Cette rencontre n'est plus disponible.", + "Trafienie dowolną bronią razi też obcych do 10 px od obrysu trafionego statku. Promień eksplozji twoich rakiet rośnie o 10 px. Bez łańcuchowych rykoszetów.": "Les impacts touchent aussi les aliens à 10 px du contour de la cible. Rayon des missiles +10 px. Sans ricochets en chaîne.", + "Trafienie tarczy obcego blokuje regenerację na 5 s. Kolejne trafienia odświeżają czas.": "Toucher les boucliers aliens bloque leur régénération 5 s. Les impacts suivants renouvellent la durée.", + "Trwa wyprawa do sektora %d. Użyj przycisku POWRÓT Z WYPRAWY na pokładzie, aby wrócić do układu startowego przed kolejnym lotem.": "Expédition vers le secteur %d en cours. Utilisez le bouton de retour du pont avant un autre vol.", + "Trwale zmienia typ obrażeń broni na energetyczny (jak laser). Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.": "Change définitivement les dégâts en énergie. Dégâts et coût inchangés. Remplace l'orbe de type précédent.", + "Trwale zmienia typ obrażeń broni na kinetyczny. Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.": "Change définitivement les dégâts en cinétique. Dégâts et coût inchangés. Remplace l'orbe de type précédent.", + "Trwale zmienia typ obrażeń broni na radiacyjny. Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.": "Change définitivement les dégâts en radiation. Dégâts et coût inchangés. Remplace l'orbe de type précédent.", + "Twoja broń zadaje dodatkowe 5% obrażeń kadłubom obcych. Sumuje się z Wiedzą o kadłubie.": "5% de dégâts supplémentaires aux coques aliens. Cumulable avec Connaissance de la coque.", + "Twoja broń zadaje o 10% więcej obrażeń kadłubom obcych.": "10% de dégâts supplémentaires aux coques aliens.", + "Twoja broń zadaje o 10% więcej obrażeń tarczom obcych.": "10% de dégâts supplémentaires aux boucliers aliens.", + "Tworzy dokładną, niezależną kopię wyposażenia w magazynie frachtowca. Oryginał zostaje. Kopiuje poziom, addony i efekty orbów. Drop: dodatkowe 5% z bossa dalekiej wyprawy.": "Crée une copie exacte indépendante dans le stockage. L'original reste. Copie niveau, modificateurs et orbes. 5% supplémentaires de chance sur les boss lointains.", + "Tylko silnik. Trwale zmniejsza zużycie energii dopalacza TAB o 50%. Nie sumuje się. Orb darmowego dopalacza ma pierwszeństwo.": "Moteur uniquement. Réduit définitivement de 50% le coût de TAB. Non cumulable. L'orbe de propulsion gratuite est prioritaire.", + "Tylko tarcze. Trafienie w tarcze odnawia do 5% maksymalnych tarcz jako energię, nie więcej niż faktycznie stracone tarcze. Tempo odzysku: do 5% pojemności generatora/s, z rezerwą na jedno takie odnowienie. Uniki i trafienia w sam kadłub nie aktywują efektu.": "Boucliers uniquement. Les impacts rendent en énergie jusqu'à 5% des boucliers maximaux, limités à la perte réelle. Cadence : 5% du générateur/s et réserve pour une récupération. Esquives et impacts sur coque seule sans effet.", + "Typ obrażeń: %s": "Type de dégâts : %s", + "U podnóża góry otwiera się ciemna szczelina. Przy wilgotnych skałach rosną organizmy warte dokładniejszej analizy.": "Une fissure sombre au pied de la montagne abrite des organismes à étudier.", + "UMIEJĘTNOŚCI KAPITANA": "COMPÉTENCES DU CAPITAINE", + "USŁUGI TUBYLCÓW": "SERVICES LOCAUX", + "Ujawnia paski HP i tarcz wrogów.": "Révèle les barres de PV et de boucliers ennemies.", + "Układ %d\nWyposażenie i zapasy zostają zachowane.": "Système %d\nÉquipement et réserves conservés.", + "Układ bezpieczny. Usługi dostępne.": "Système sûr. Services disponibles.", + "Umiejętności kapitana": "Compétences du capitaine", + "Umiejętności kapitana · punkty do wydania: %d": "Compétences du capitaine · points : %d", + "Umiejętność nie jest odblokowana": "Compétence non débloquée", + "Uwzględnia mechanika i aktywny efekt pancerza z tytanu.": "Inclut le mécanicien et l'effet actif du blindage en titane.", + "W ruinach starego magazynu ktoś odnalazł pancerną skrytkę. Stojąca obok operatorka ma skaner zdolny zajrzeć przez jej osłonę, lecz urządzenie zużywa drogie ogniwa. Za niewielką opłatą sprawdzi, co może znajdować się w środku. Otwarcie zamka będzie kosztować osobno. Uprzedza, że skorodowana obudowa zakłóca odczyt.": "Une opératrice peut scanner une vieille cache blindée contre paiement. Le scan révèle son contenu possible ; l'ouverture est séparée. La corrosion brouille la lecture.", + "W sercu budowli ocalał niezwykły mechanizm. Aby go wydobyć, trzeba poruszyć konstrukcję, która od dawna nie powinna stać.": "Un mécanisme inhabituel subsiste à l'intérieur. Le récupérer risque de déstabiliser la structure ancienne.", + "W zaciszu chaty pustelnik przechowuje współrzędne miejsc poza znanymi szlakami. Oferuje ci jedną ze swoich map.": "Un ermite propose une carte de lieux hors des routes connues.", + "W zasięgu gwiazdy przywraca 20% maksymalnych tarcz na sekundę przez maksymalnie 5 s. Opuszczenie zasięgu kończy efekt. Odnowienie: 30 s.": "À portée de l'étoile : restaure 20% des boucliers maximaux/s pendant 5 s maximum. Sortir de portée arrête l'effet. Recharge : 30 s.", + "W — ciąg · S — hamuj / wstecz · A/D — obrót\nQ/R — ruch boczny · TAB — dopalanie · E — odwiedź POI": "W — poussée · S — frein/recul · A/D — rotation\nQ/R — déplacement latéral · TAB — propulsion · E — visiter POI", + "WORMHOLE\nWleć, aby przejść do następnego układu": "TROU DE VER\nEntrez pour rejoindre le système suivant", + "WORMHOLE — następny układ": "TROU DE VER — système suivant", + "WRÓĆ DO LOTU": "REPRENDRE LE VOL", + "WRÓĆ DO UKŁADU %d [R]": "RETOUR AU SYSTÈME %d [R]", + "WYTWÓRZ": "FABRIQUER", + "Weź gwarantowany zestaw": "Prendre le lot garanti", + "Wiatr przesuwa kurz po podłodze pustego magazynu. Kilka skrzyń wciąż ma nienaruszone zamknięcia.": "La poussière traverse un entrepôt vide. Certaines caisses restent scellées.", + "Wiedza o kadłubie": "Connaissance de la coque", + "Wleć w wormhole, aby przejść dalej.": "Entrez dans le trou de ver pour continuer.", + "Wrogie pociski i lasery mają 25% szansy na dodatkowy szeroki rozrzut celowania.": "Les projectiles et lasers ennemis ont 25% de chances de subir une dispersion accrue.", + "Wróć do wyprawy": "Reprendre l'expédition", + "Wróć na pokład": "Retour à bord", + "Wszystkie dostępne projekty zostały wynalezione.": "Tous les projets disponibles sont recherchés.", + "Wybierz aktywną umiejętność dla F%d. Pasywne działają bez zajmowania slotu.": "Choisissez une compétence active pour F%d. Les passives n'occupent aucun emplacement.", + "Wybierz jednostkę i rozpocznij wyprawę.": "Choisissez un vaisseau et lancez l'expédition.", + "Wybierz jedną umiejętność. Wybór obowiązuje przez całą rozgrywkę.": "Choisissez une compétence. Le choix dure toute la partie.", + "Wybierz moduł lub broń\nPPM / Esc — anuluj": "Choisissez un module ou une arme\nClic droit/Échap — annuler", + "Wybierz pomieszczenie na pokładzie.": "Choisissez une pièce sur le pont.", + "Wybierz pomieszczenie na pokładzie. · Warsztat i hangar są dostępne.": "Choisissez une pièce. Atelier et hangar disponibles.", + "Wybierz projekt. Nowe badanie trwa %d sekund gry. Odkryta broń lub rozszerzenie zacznie pojawiać się w łupach. Od początku dostępne jest działko plazmowe.": "Choisissez un projet. Recherche de %d secondes de jeu. Armes et extensions découvertes entrent dans le butin. Canon à plasma disponible au départ.", + "Wybierz przedmiot i konkretny addon. Inżynier ustawi tylko jego wartość na maksimum dla obecnego poziomu przedmiotu.": "Choisissez un objet et un modificateur. L'ingénieur maximise uniquement cette valeur au niveau actuel.", + "Wybierz umiejętność · oczekujące awanse: %d": "Choisissez une compétence · niveaux en attente : %d", + "Wybrany addon ma teraz maksymalną wartość dla obecnego poziomu przedmiotu.": "Le modificateur choisi est maximal pour le niveau actuel.", + "Wydobycie = zasobność × (1 + zarządzanie / 100). Bez załoganta: 0. Części: %d / %d": "Extraction = richesse × (1 + gestion/100). Sans équipier : 0. Pièces : %d / %d", + "Wydobycie: zasobność × (1 + zarządzanie / 100) deuteru/min. Bez załoganta: 0. Złoża nie wyczerpują się.": "Extraction : richesse × (1 + gestion/100) deutérium/min. Sans équipier : 0. Gisements inépuisables.", + "Wydobywany z asteroid. Składnik receptur warsztatu.": "Extrait des astéroïdes. Utilisé dans les recettes de l'atelier.", + "Wyjście": "Quitter", + "Wymagana 1 część": "Nécessite 1 pièce", + "Wymagana dodatnia maksymalna pojemność tarcz": "Nécessite une capacité maximale de bouclier positive", + "Wymagana pełna energia": "Énergie pleine requise", + "Wymagana zamontowana broń": "Arme installée requise", + "Wymagane 50 szt. zwykłej amunicji": "Nécessite 50 munitions normales", + "Wymagany zasięg gwiazdy": "Portée de l'étoile requise", + "Wymiana towarów": "Échange de marchandises", + "Wymień surowce": "Échanger des ressources", + "Wymień surowce na 3 rakiety": "Échanger des ressources contre 3 missiles", + "Wyprawa zakończona. Mapa została zużyta.\nPowrót do układu %d.\nWyposażenie i zapasy zostają zachowane.": "Expédition terminée. Carte consommée.\nRetour au système %d.\nÉquipement et réserves conservés.", + "Wypuszcza 3 drony na 10 s. Strzelają działkami mechanicznymi; łącznie zadają 50% DPS statku w momencie startu. Koszt: 50 szt. zwykłej amunicji. Odnowienie: 30 s.": "3 drones pendant 10 s. Ensemble, 50% du DPS du vaisseau au lancement. Coût : 50 munitions normales. Recharge : 30 s.", + "Wypuszcza trzy flary na 10 s. Wrogowie w zasięgu obierają je za cel zamiast gracza. Odnowienie: 30 s.": "3 leurres pendant 10 s. Les ennemis à portée les ciblent à votre place. Recharge : 30 s.", + "Wyrzutnia rakiet zapalających": "Lance-missiles incendiaires", + "Wystrzeliwuje naprowadzaną rakietę z eksplozją obszarową. Cooldown: 5 s.": "Tire un missile guidé à explosion de zone. Recharge : 5 s.", + "Wystrzeliwuje pojedyncze krótkie czerwone wiązki, które szybko lecą przez przestrzeń. Każdy impuls ma 50% szansy całkowicie ominąć tarcze i trafić w kadłub. Zadaje o 30% mniej obrażeń niż laser wiązkowy z takimi samymi parametrami i zużywa o 30% więcej energii.": "Impulsions laser rouges courtes. Chacune a 50% de chances d'ignorer les boucliers. 30% de dégâts en moins et 30% d'énergie en plus qu'un laser à faisceau équivalent.", + "Wystrzeliwuje rakietę prosto w kierunku celownika. Większe obrażenia i eksplozja obszarowa. Zużywa amunicję rakietową.": "Tire une roquette droit vers le viseur. Dégâts supérieurs et explosion de zone. Consomme des missiles.", + "Wytwarzane z minerałów, odzyskiwane z przedmiotów i wraków. Do napraw.": "Fabriquées avec des minéraux ou récupérées dans des objets et épaves. Pour les réparations.", + "Wąska szczelina prowadzi do najbogatszej części złoża. Każde uderzenie narzędzia odbija się głuchym echem.": "Une fissure étroite mène au gisement le plus riche. Les coups d'outil résonnent sourdement.", + "Wędrowiec": "Voyageur", + "Wędrowny handlarz": "Marchand itinérant", + "Wśród zwietrzałych skał połyskują drobiny rzadkich minerałów. Wystarczy ostrożnie oddzielić je od podłoża.": "Des minéraux rares brillent parmi les roches érodées. Détachez-les soigneusement.", + "Z załogantem: %.1f–%.1f deuteru/min (zarządzanie 1–100).": "Avec équipier : %.1f–%.1f deutérium/min (gestion 1–100).", + "ZATRUDNIJ · %d KREDYTÓW": "RECRUTER · %d CRÉDITS", + "ZBUDUJ PLACÓWKĘ · %d CZĘŚCI": "CONSTRUIRE L'AVANT-POSTE · %d PIÈCES", + "ZBUDUJ SEKCJĘ": "CONSTRUIRE LA SECTION", + "ZBUDUJ SKŁAD": "CONSTRUIRE LE STOCKAGE", + "ZUŻYTY": "CONSOMMÉ", + "ZUŻYWALNY": "CONSOMMABLE", + "ZWOLNIJ ZAŁOGANTA": "RENVOYER L'ÉQUIPIER", + "ZWYKŁE %02d": "NORMAUX %02d", + "Za stalową kratą zachowały się regały z wojskowym zaopatrzeniem. Rdza utrudnia dostęp do ciężkich pojemników.": "Des réserves militaires attendent derrière une grille. La rouille gêne l'accès aux conteneurs.", + "Zadokuj statkiem, aby rozbudować sloty.": "Amarrez-vous pour agrandir les emplacements.", + "Zagrożenie %.1f%% / 300%% · Łup POI ×%.2f": "Danger %.1f%% / 300%% · Butin POI ×%.2f", + "Zagrożenie po sprzęcie: %.1f%% / 300%% (bez sprzętu %.1f%%).": "Danger avec équipement : %.1f%% / 300%% (sans %.1f%%).", + "Zajęte miejsca": "Places occupées", + "Zakończ pomoc i zachowaj dotychczasową zapłatę": "Terminer l'aide et conserver les paiements", + "Zakończ wyprawę i wróć do układu startowego. Powrót jest bezpłatny.": "Terminez l'expédition et revenez gratuitement au système de départ.", + "Zakończono pomoc. Dotychczasowa zapłata pozostaje w ładowni wyprawy.": "Aide terminée. Les paiements restent en soute d'expédition.", + "Zakres przed krytykiem i obroną przeciwnika.": "Plage avant critiques et défense de la cible.", + "Zakupy za kredyty tańsze o %d%%.": "Achats en crédits %d%% moins chers.", + "Zakłócenia systemów obcych": "Perturbation des systèmes aliens", + "Zamieć śnieżna": "Blizzard", + "Zarządca opuszczanego punktu przeładunkowego sprzedaje ostatnie zapasy. Za podaną kwotę możesz zabrać przygotowany zestaw części albo jeden z zaplombowanych pakietów odzyskanych z transportu. Otwarty zestaw jest skromny, ale sprawdzony. W zamkniętych pakietach zdarzały się wartościowe podzespoły — oraz materiały, których nikt nie chciał kupić.": "Un responsable liquide ses stocks. Choisissez un petit lot garanti de pièces ou un paquet mystère scellé. Il peut contenir des composants précieux ou des matériaux sans valeur.", + "Zarządzanie: %d / 100\nPremia do wydobycia: +%d%%\nPochodzenie: %s": "Gestion : %d / 100\nBonus d'extraction : +%d%%\nOrigine : %s", + "Zasady łączenia": "Règles de cumul", + "Zasięg": "Portée", + "Zasięg działka: %.0f px • Magazynek: 50 pocisków • Koszt rozstawienia: 50 amunicji": "Portée de tourelle : %.0f px • Chargeur : 50 coups • Déploiement : 50 munitions", + "Zasięg skanera": "Portée du scanner", + "Zasięg: %.0f px • Amunicja: %d / strzał": "Portée : %.0f px • Munitions : %d/tir", + "Zasięg: %.0f px • Energia: %.1f / strzał": "Portée : %.0f px • Énergie : %.1f/tir", + "Zasięg: %.0f px • Napromieniowana amunicja: 1 / strzał": "Portée : %.0f px • Munitions irradiées : 1/tir", + "Zasobność: %d / 100": "Richesse : %d / 100", + "Zasobność: %d / 100 · złoże niewyczerpywalne": "Richesse : %d / 100 · inépuisable", + "Zatrudnienie wymaga wolnej, zbudowanej kajuty i kredytów: 1000 × zarządzanie.": "Nécessite une cabine construite libre et des crédits : 1000 × gestion.", + "Załogant zajął wolną kajutę na fregacie. Przydziel go do stacji w centrum dowodzenia.": "L'équipier occupe une cabine libre. Affectez-le à une station au commandement.", + "Zbicie tarczy obcego razi pozostałych obcych w promieniu 120 px za 400% obrażeń trafienia, które zbiło tarczę. Bez reakcji łańcuchowych. Ten sam wróg wywołuje impuls najwyżej raz na 10 s.": "Briser un bouclier alien touche les autres à 120 px pour 400% de l'impact final. Sans chaîne. Chaque ennemi déclenche au plus une fois par 10 s.", + "Zbieracz złomu": "Ferrailleur", + "Zbierz łup i wróć do frachtowca": "Ramassez le butin et revenez au cargo", + "Zbuduj podnośnik i pomóż kierowcy": "Construire un cric et aider le conducteur", + "Zdobądź brakujące surowce z asteroid": "Récupérez les ressources manquantes sur les astéroïdes", + "Zielony laser pulsacyjny. Trafienie napromieniowuje: 100% obrażeń impulsu na sekundę przez 10 s. Kolejne impulsy odświeżają czas, działa najmocniejsze napromieniowanie.": "Laser pulsé vert. Irradie à 100% des dégâts d'impulsion/s pendant 10 s. Les impulsions renouvellent la durée ; effet le plus fort appliqué.", + "Zleć skan skrytki": "Demander un scan de la cache", + "Znajdź zamieszkaną planetę": "Trouvez une planète habitée", + "Znaleziono moduł": "Module trouvé", + "Znaleziska są w ładowni wyprawy. Zachowasz je po bezpiecznym powrocie na statek.": "Les trouvailles sont en soute d'expédition. Conservées après un retour sûr.", + "Zostawia minę na 60 s. Uzbraja się po 0,7 s. Trafiony wróg otrzymuje obrażenia równe 5% maksymalnego kadłuba (bez redukcji absorpcji) i zwalnia o 50% na 5 s. Zrzut co 5 s.": "Mine de 60 s, armée après 0,7 s. Inflige 5% de coque maximale sans réduction d'absorption et ralentit de 50% pendant 5 s. Largage toutes les 5 s.", + "Zostawia minę na 60 s. Uzbraja się po 0,7 s. Wykrywa bliski przelot wroga. Wybuch w promieniu 140 jednostek zadaje każdemu wrogowi 50% aktualnego kadłuba bez redukcji absorpcji (tarcze pochłaniają obrażenia) i spowalnia o 50% na 5 s.": "Mine de 60 s, armée en 0,7 s. Explose près des ennemis dans un rayon de 140 : 50% de coque actuelle sans absorption ; boucliers protecteurs. Ralentit de 50% pendant 5 s.", + "Zużycie amunicji mniejsze o %d%%. Obejmuje zwykłą i napromieniowaną amunicję, bez rakiet.": "Consommation de munitions −%d%%. Normales et irradiées, hors missiles.", + "Zużywa 70% maksymalnej energii i tworzy osobną tarczę o pojemności 50% aktualnych maksymalnych tarcz statku. Większa, fioletowa osłona pochłania obrażenia przed zwykłymi tarczami. Działa do wyczerpania, nie regeneruje się i nie nakłada się na kolejną kopię. Dokowanie i Przekierowanie zasilania ją wyłączają.": "Consomme 70% d'énergie maximale pour un bouclier auxiliaire de 50% des boucliers maximaux. La couche violette absorbe d'abord. Jusqu'à épuisement, sans régénération ni cumul. Amarrage et Redirection d'énergie le désactivent.", + "Zwiększa maksymalne tarcze o 10%. Zakup nie uzupełnia osłon.": "Boucliers maximaux +10%. L'achat ne les recharge pas.", + "Zwiększa maksymalny kadłub twojego statku o 10%. Zakup nie odnawia utraconego kadłuba.": "Coque maximale +10%. L'achat ne répare pas les dégâts.", + "Zwiększa maksymalną pojemność energii.": "Augmente la capacité énergétique maximale.", + "Zwiększa maksymalną pojemność tarcz i stale je regeneruje.": "Augmente les boucliers maximaux et les régénère continuellement.", + "Zwiększa maksymalną pojemność tarcz statku i stale je regeneruje.": "Augmente les boucliers maximaux du vaisseau et les régénère.", + "Zwiększa maksymalną wytrzymałość kadłuba.": "Augmente la résistance maximale de la coque.", + "Zwiększa szansę na przedmiot o 1 poziom wyższy. Sumuje się z Farciarzem, do wspólnego limitu 60%.": "Augmente la chance d'objet un niveau supérieur. Avec Chanceux jusqu'à 60% au total.", + "Zwiększa tempo strzałów tej broni. Koszt pojedynczego strzału pozostaje bez zmian. Limit bonusu: 25%.": "Augmente la cadence sans changer le coût par tir. Limite du bonus : 25%.", + "Zwiększa zasięg stałego skanera wykrywającego wrogów, asteroidy, wraki i antyczne znaleziska.": "Augmente la portée du scanner pour ennemis, astéroïdes, épaves et découvertes anciennes.", + "Zwykła": "Normale", + "Zwykła amunicja": "Munitions normales", + "Zwykły": "Normal", + "Zwykły lot: do 240 px/s. TAB: do 480 px/s. Aktywny dopalacz: do 600 px/s.": "Vol normal : jusqu'à 240 px/s. TAB : 480 px/s. Propulseur actif : 600 px/s.", + "Złomiarz wyciągnął z wraku zamknięty kontener. Plomba wygląda na nienaruszoną, ale tabliczka ładunkowa została wypalona podczas wejścia w atmosferę. Sprzedawca nie zamierza tracić czasu na otwieranie zabezpieczeń. Podaje cenę za całość i zapewnia, że poprzedni kupujący trafił świetnie. O wcześniejszych klientach mówi już mniej chętnie.": "Un ferrailleur vend un conteneur scellé d'une épave. Son étiquette a brûlé. Il le vend sans l'ouvrir et ne parle que d'un ancien acheteur chanceux.", + "Złoże surowców": "Gisement de ressources", + "brak": "aucun", + "brak łupu": "aucun butin", + "przenieś na fregatę": "transférer vers la frégate", + "zwykły": "normal", + "Ładowanie słoneczne": "Charge solaire", + "Ładowanie tarcz": "Recharge des boucliers", + "Łagodna biosfera": "Biosphère tempérée", + "Łowca nagród": "Chasseur de primes", + "Łup i wytwarzanie": "Butin et fabrication", + "Łup ×%.2f · sprzęt ×%.2f · odzysk %.0f%%\nZagrożenie po ochronie: %.1f%% / 300%%": "Butin ×%.2f · équipement ×%.2f · récupération %.0f%%\nDanger après protection : %.1f%% / 300%%", + "Łup: ": "Butin : ", + "Łącznie do 10% faktycznie zadanych obrażeń. Tempo: do 5% maksymalnych tarcz/s, z rezerwą na jedno takie odnowienie.": "Jusqu'à 10% des dégâts réels. Jusqu'à 5% des boucliers maximaux/s avec réserve pour une récupération.", + "Łączny DPS": "DPS total", + "ŚPM": "Bouton central", + "Śmiertelne trafienie zostawia 1 punkt kadłuba i daje 2 s niewrażliwości. Raz na wyprawę lub wejście do zwykłego układu. Dokowanie ani restart po porażce nie odnawiają efektu.": "Un coup fatal laisse 1 point de coque et 2 s d'invulnérabilité. Une fois par expédition ou entrée en système normal. Amarrage et reprise après défaite ne le renouvellent pas.", + "Źródło: %s · poziom %d": "Source : %s · niveau %d", + "Żelazo %d · Części %d": "Fer %d · Pièces %d", + "Żmija": "Vipère", + "żelaza": "fer", + "‹ WRÓĆ / ESC": "‹ RETOUR / ÉCHAP", + "Naukowiec": "Scientifique", + "PRZEWIDYWANA NAGRODA": "RÉCOMPENSE PRÉVUE", + "Podejmij eksplorację [E]": "Commencer l'exploration [E]", + "DODATKOWE ZNALEZISKA": "TROUVAILLES SUPPLÉMENTAIRES", + "Przeszukaj głębiej": "Fouiller plus profondément", + "Moduły: %d · poziom %d–%d": "Modules : %d · niveau %d–%d", + "Uszkodzenia lądownika: %d–%d HP": "Dégâts à l'atterrisseur : %d–%d PV", + "Uszkodzenia lądownika: −%d HP": "Dégâts à l'atterrisseur : −%d PV", + "Lądownik może zostać zniszczony. Utracisz cały łup tej wyprawy.": "L'atterrisseur risque d'être détruit. Vous perdrez tout le butin de cette expédition.", + "Przewidywane uszkodzenia lądownika: 0–%d HP": "Dégâts prévus à l'atterrisseur : 0–%d PV", + "Ten etap jest niedostępny z obecnym wyposażeniem.": "Cette étape est indisponible avec votre équipement actuel.", + "Sprawdź wymagane zasoby.": "Vérifiez les ressources requises.", + " · dodatkowe znaleziska": " · trouvailles supplémentaires", + "[E] Zaplanuj eksplorację": "[E] Préparer l'exploration", + "%s · Poziom %d\nLądowanie: −%d HP\nLądownik: %d / 100 HP\nPOI: podleć i naciśnij E, aby zaplanować eksplorację.": "%s · Niveau %d\nAtterrissage : −%d PV\nAtterrisseur : %d / 100 PV\nPOI : approchez et appuyez sur E pour préparer l'exploration.", + "Dopasuj poziom wyposażenia do planety, aby odzyskać więcej łupu i ograniczyć uszkodzenia lądownika.": "Adaptez le niveau de l'équipement à la planète pour récupérer plus de butin et limiter les dégâts à l'atterrisseur.", + "Pomaga podczas eksploracji jaskiń i miejsc z trudną atmosferą.": "Aide à explorer les grottes et les atmosphères difficiles.", + "Pomaga przy wydobyciu i eksploracji niestabilnych ruin.": "Aide à l'extraction et à l'exploration de ruines instables.", + "Pomaga przeszukiwać magazyny i osady opanowane przez faunę.": "Aide à fouiller les entrepôts et colonies occupés par la faune.", + "Dopasuj poziom wyposażenia do poziomu planety.": "Adaptez le niveau de l'équipement au niveau de la planète.", + "RANDOLOOT / SYSTEMY POKŁADOWE": "RANDOLOOT / SYSTÈMES DE BORD", + "Dostosuj dźwięk, ekran i język swojej wyprawy.": "Réglez le son, l'affichage et la langue de votre expédition.", + "USTAWIENIA / KOMPUTER POKŁADOWY": "PARAMÈTRES / ORDINATEUR DE BORD", + "01 / DŹWIĘK": "01 / SON", + "02 / OBRAZ": "02 / AFFICHAGE", + "03 / JĘZYK": "03 / LANGUE", + "Język interfejsu": "Langue de l'interface", + "Ustawienia są zapamiętywane między uruchomieniami.": "Les paramètres sont conservés entre les sessions.", + "ZAPISZ WYPRAWĘ": "SAUVEGARDER L'EXPÉDITION", + "WCZYTAJ WYPRAWĘ": "CHARGER L'EXPÉDITION", + "Nadaj nazwę nowemu zapisowi lub wybierz zapis do nadpisania.": "Nommez une nouvelle sauvegarde ou choisissez-en une à remplacer.", + "Wybierz zapis i wróć do swojej wyprawy.": "Choisissez une sauvegarde et reprenez votre expédition.", + "ARCHIWUM / DZIENNIK POKŁADOWY": "ARCHIVES / JOURNAL DE BORD", + "Nazwa zapisu": "Nom de sauvegarde", + "Nowy zapis": "Nouvelle sauvegarde", + "ZAPISANE WYPRAWY": "EXPÉDITIONS SAUVEGARDÉES", + "DANE WYPRAWY": "DÉTAILS DE L'EXPÉDITION", + "Wczytanie rozpoczyna poziom od początku. Postęp i wyposażenie zostają zachowane.": "Charger reprend au début du niveau. Progression et équipement conservés.", + "Nie ma jeszcze zapisanych wypraw.": "Aucune expédition sauvegardée pour le moment.", + "Układ %d · Kapitan %d": "Système %d · Capitaine %d", + "Układ %d\nKapitan · poziom %d\nKredyty: %d": "Système %d\nCapitaine · niveau %d\nCrédits : %d", + "Nowy zapis\nUkład %d\nKapitan · poziom %d": "Nouvelle sauvegarde\nSystème %d\nCapitaine · niveau %d", + "Odzyskano z kopii zapasowej": "Récupéré depuis la copie de secours", + "Nadpisz zapis": "Remplacer la sauvegarde", + "Automatyczny zapis": "Sauvegarde automatique", + "Zapis rozgrywki": "Sauvegarde", + "Wczytaj grę": "Charger une partie", + "WCZYTAJ GRĘ": "CHARGER UNE PARTIE", + "Wybierz wyprawę z archiwum zapisów": "Choisissez une expédition dans les archives", + "Twoja wyprawa czeka. Wybierz, co chcesz zrobić.": "Votre expédition vous attend. Choisissez une action.", + "ŁĄCZE / MENU POKŁADOWE": "LIAISON / MENU DE BORD", + "Gwiazda centralna": "Étoile centrale", + "ADDONY (aktywne po zamontowaniu)": "MODIFICATEURS (actifs après installation)", + "ADDONY (aktywne": "MODIFICATEURS (actifs", + "Cooldown po addonach: %.2f s\nZapas rakiet: %d": "Recharge après modificateurs : %.2f s\nMissiles : %d", + "Kliknij: ": "Cliquez : ", + "Odbierz w Hangarze.": "Récupérer au hangar.", + "Odnowienie: %d s.": "Recharge : %d s.", + "Pogoda: ": "Météo : ", + "Uwzględnia utratę bonusów zdejmowanego przedmiotu.": "Inclut les bonus perdus de l'objet retiré.", + "Wymaga: ": "Nécessite : ", + "Zapas: ": "Réserve : ", + "[E] Buduj": "[E] Construire", + "[E] Maksymalizuj addon": "[E] Maximiser le modificateur", + "[E] Porozmawiaj": "[E] Parler", + "[E] Przeszukaj": "[E] Fouiller", + "[E] Zbierz znaleziska": "[E] Récupérer les trouvailles", + " · rabat %d%%": " · remise %d%%", + " (obok planety)": " (près de la planète)", + " · mapa kupiona": " · carte achetée", + " · odwiedzono": " · visité", + " · partia: %d szt.": " · lot : %d unités", + " · zatrudniono": " · recruté", + " — zamieszkana": " — habitée", + "%d / %d ZBADANO": "%d / %d RECHERCHÉ", + "%d kr.": "%d cr.", + "%d pkt": "%d pts", + "Zapas: %s": "Réserve : %s", + "ODNOWIENIE %d s": "RECHARGE %d s", + "%s · %d szt.": "%s · %d unités", + "ADDONY: %d/5": "MODIFICATEURS : %d/5", + "poz. %d": "Niv. %d", + "+%d amunicji": "+%d munitions", + "+%d rakiet": "+%d missiles", + "06 / PREMIE I BADANIA": "06 / BONUS ET RECHERCHE", + "Absorpcja: ": "Absorption : ", + "DALEKIE WYPRAWY / SEKTORY DO ZBADANIA": "EXPÉDITIONS LOINTAINES / SECTEURS À EXPLORER", + "DZIENNIK PLANETARNY / WYPRAWA": "JOURNAL PLANÉTAIRE / EXPÉDITION", + "DZIENNIK WYPRAWY / %s": "JOURNAL D'EXPÉDITION / %s", + "Etap %d/3 · %s": "Étape %d/3 · %s", + "INSTRUKCJA / AKADEMIA PILOTA": "GUIDE / ACADÉMIE DE PILOTAGE", + "Każdy strzał": "Chaque tir", + "Kup %d rakiet · sklep: %d kr.": "Acheter %d missiles · boutique : %d cr.", + "Kup: %s · poz. %d": "Acheter : %s · niv. %d", + "LĄDUJ [L]": "ATTERRIR [L]", + "MAGAZYN · %d / %d": "STOCKAGE · %d / %d", + "Nagroda za sukces: ": "Récompense de réussite : ", + "ODCZYT: amunicja rakietowa. Liczba sztuk nieznana.": "SCAN : munitions de missiles. Quantité inconnue.", + "ORBY / SPECJALNE ULEPSZENIA": "ORBES / AMÉLIORATIONS SPÉCIALES", + "Obecnie: %.2f %s → maksimum: %.2f %s": "Actuel : %.2f %s → maximum : %.2f %s", + "Obecnie: %s": "Actuel : %s", + "Obecny: System %d · Najdalszy odkryty: %d": "Actuel : système %d · Plus lointain découvert : %d", + "Obraż. krytyczne": "Dégâts critiques", + "Odnowienie: %.0f s": "Recharge : %.0f s", + "Otrzymano: ": "Reçu : ", + "Otrzymasz: ": "Vous recevrez : ", + "POSIADASZ / WYMAGANE": "DISPONIBLE / REQUIS", + "PUSTELNIK / KARTOGRAF": "ERMITE / CARTOGRAPHE", + "Pustelnik / Kartograf": "Ermite / Cartographe", + "Paliwo: %d deuteru": "Carburant : %d deutérium", + "Regeneracja generatora: +%.1f /s": "Régénération du générateur : +%.1f /s", + "Regeneracja tarcz: +%.1f pkt/s": "Régénération des boucliers : +%.1f pts/s", + "Skróc. cooldownu rakiet": "Réduction recharge missiles", + "Slot zablokowany. Odblokowuj kolejne miejsca w hangarze fregaty.\nNastępny slot: ": "Emplacement bloqué. Débloquez au hangar de la frégate.\nProchain emplacement : ", + "Slot: %s": "Emplacement : %s", + "Typ obrażeń:": "Type de dégâts :", + "Typ: ": "Type : ", + "Uruchom prototyp · podstawa: %d kr.": "Lancer le prototype · base : %d cr.", + "WYTWORZONO: %s ×%d": "FABRIQUÉ : %s ×%d", + "Z PLANET: ": "DES PLANÈTES : ", + "ZMIANY PO ZAŁOŻENIU": "CHANGEMENTS APRÈS ÉQUIPEMENT", + "Zadokuj, aby naprawić lądownik, rozbudować statek i przenieść wyposażenie.": "Amarrez-vous pour réparer l'atterrisseur, agrandir le vaisseau et transférer l'équipement.", + "Zakwaterowanie: Kajuta %02d": "Logement : cabine %02d", + "Zapas paliwa: %.1f deuteru": "Réserve de carburant : %.1f deutérium", + "Zapas: %d": "Réserve : %d", + "Zmiana statystyk statku:": "Changements des statistiques :", + "[%s] Pusty slot — przypisz skill w panelu kapitana": "[%s] Emplacement vide — affectez une compétence dans le panneau du capitaine", + "[R] +10% energii": "[R] +10% énergie", + "odbierz do statku": "récupérer dans le vaisseau", + "Średni DPS z krytykami i cooldownem.\nBez ograniczeń energii i amunicji.\nAddony uwzględniają zdjęcie obecnej broni.": "DPS moyen avec critiques et recharge.\nSans limites d'énergie ni de munitions.\nLes modificateurs incluent le retrait de l'arme actuelle.", + "← ODBIERZ": "← RÉCUPÉRER", + "← Odbierz wszystko": "← Tout récupérer", + "● FREGATA / POŁĄCZENIE GOTOWE": "● FRÉGATE / CONNEXION PRÊTE", + "● OPERACYJNE": "● OPÉRATIONNEL", + "● RAPORT WYPRAWY": "● RAPPORT D'EXPÉDITION", + "● STACJA / ZAOPATRZENIE": "● STATION / RAVITAILLEMENT", + "● TELEMETRIA / DANE PLANETY": "● TÉLÉMÉTRIE / DONNÉES PLANÉTAIRES", + "● W REMONCIE": "● EN TRAVAUX", + "● ŁĄCZE ORBITALNE": "● LIAISON ORBITALE", + "Wczytaj": "Charger", + "WYBIERZ I WYSTARTUJ ›": "CHOISIR ET DÉCOLLER ›", + "Rusznikarz": "Armurier", + "Specjalista rakietowy": "Spécialiste des missiles", + "Procedura awaryjna": "Procédure d'urgence", + "Elektryk": "Électricien", + "Farciarz": "Chanceux", + "Eksplorator": "Explorateur", + "Rekin biznesu": "Requin des affaires", + "Manewr taktyczny": "Manœuvre tactique", + "Przekierowanie zasilania": "Redirection d'énergie", + "Regeneracja energii +%d%% przez 15 sekund.": "Régénération d'énergie +%d%% pendant 15 s.", + "ADDON DO MAKSYMALIZACJI": "MODIFICATEUR À MAXIMISER", + "ADDONY · PO ZAMONTOWANIU": "MODIFICATEURS · INSTALLÉ", + "AKTYWNA": "ACTIVE", + "AKTYWNA %.1f s": "ACTIVE %.1f s", + "AMUNICJA": "MUNITIONS", + "AWANS KAPITANA": "NIVEAU DU CAPITAINE", + "AWARYJNE GRODZIE": "CLOISONS D'URGENCE", + "Absorpcja energetyczna": "Absorption énergétique", + "Absorpcja kinetyczna": "Absorption cinétique", + "Absorpcja radiacyjna": "Absorption radiative", + "Akcja ratunkowa": "Opération de secours", + "Aktywne rozszerzenie naprawcze.": "Extension active de réparation.", + "Aktywne rozszerzenie silnika.": "Extension active de moteur.", + "Aktywne rozszerzenie tarcz.": "Extension active de boucliers.", + "Alpejska tundra": "Toundra alpine", + "Amunicja radiacyjna": "Munitions irradiées", + "Analiza konstrukcji": "Analyse structurelle", + "Antyczne znalezisko": "Découverte ancienne", + "Awaryjne grodzie": "Cloisons d'urgence", + "BLOKADA": "VERROUILLÉ", + "Bank energii": "Batterie", + "Banki energii": "Batteries", + "Bez zmian w bonusach.": "Aucun changement de bonus.", + "Blokada regeneracji": "Blocage de régénération", + "Brakuje %.1f deuteru": "Il manque %.1f deutérium", + "Brama zapomnianych": "Porte des oubliés", + "Burza z piorunami": "Orage", + "CELE": "OBJECTIFS", + "CENTRUM DOWODZENIA": "CENTRE DE COMMANDEMENT", + "Celne oko": "Œil précis", + "Chmury i wiatr": "Nuages et vent", + "Cmentarz maszyn": "Cimetière de machines", + "DOKUJ [L]": "AMARRER [L]", + "DPS broni": "DPS de l'arme", + "Daleka wyprawa %d": "Expédition lointaine %d", + "Dezorientacja celowania": "Désorientation de visée", + "Dodaj wszystko": "Tout ajouter", + "Dopalacz": "Propulseur", + "Dozwolone przedmioty": "Objets autorisés", + "Drony bojowe": "Drones de combat", + "Drony naprawcze": "Drones de réparation", + "Dystans": "Distance", + "Dzika biosfera": "Biosphère sauvage", + "EKWIPUNEK KAPITANA": "INVENTAIRE DU CAPITAINE", + "ELITA": "ÉLITE", + "Echo dawnej cywilizacji": "Écho d'une ancienne civilisation", + "Energetyczne": "Énergétique", + "Epicki": "Épique", + "Ewakuacja etapami": "Évacuation par étapes", + "FRACHTOWIEC": "CARGO", + "Hangar · Warsztat · Magazyn": "Hangar · Atelier · Stockage", + "FREGATA · %d": "FRÉGATE · %d", + "Flary": "Leurres", + "GOTOWA": "PRÊTE", + "GOTOWE": "PRÊT", + "GOTOWY": "PRÊT", + "Jaskinia": "Grotte", + "Jesienne lasy": "Forêts automnales", + "KAJUTA %02d": "CABINE %02d", + "KRYT! ": "CRIT! ", + "KUP %d": "ACHETER %d", + "Kinetyczne": "Cinétique", + "Kontener w ciemno": "Conteneur mystère", + "Krzem": "Silicium", + "LOSUJ PRZEDMIOT · POZ. %d": "TIRER UN OBJET · NIV. %d", + "LPM": "Bouton gauche", + "Legendarny": "Légendaire", + "Losowa": "Aléatoire", + "MAGAZYN": "STOCKAGE", + "MAGAZYN FRACHTOWCA": "STOCKAGE DU CARGO", + "MIEJSCE ODKRYTE": "LIEU DÉCOUVERT", + "Magazyn fregaty": "Stockage de la frégate", + "Mechanik": "Mécanicien", + "Miny": "Mines", + "Mobilny serwis": "Réparations mobiles", + "NAPRAWA": "RÉPARATION", + "NATYCHMIAST": "IMMÉDIAT", + "NORMALNY": "NORMAL", + "Napraw": "Réparer", + "Napromieniowana amunicja": "Munitions irradiées", + "Niepospolity": "Inhabituel", + "Nieznana planeta": "Planète inconnue", + "Nikiel": "Nickel", + "ODLOT [L]": "DÉPART [L]", + "ODWIEDZONO": "VISITÉ", + "OPERACYJNY": "OPÉRATIONNEL", + "OSTATNI BASTION": "DERNIER BASTION", + "Odbierz": "Récupérer", + "Odblokuj 1 slot · ": "Débloquer 1 emplacement · ", + "Oddychanie": "Respiration", + "Odzysk tarcz z obr.": "Boucliers par dégâts", + "Opuszczona wioska": "Village abandonné", + "Opuszczony magazyn": "Entrepôt abandonné", + "Orb awansu": "Orbe d'amélioration", + "Orb dopalacza": "Orbe propulseur", + "Orb kinetyczny": "Orbe cinétique", + "Orb polaryzacyjny": "Orbe de polarisation", + "Orb przebicia": "Orbe perforant", + "Orb radiacji": "Orbe radiatif", + "Orb replikacji": "Orbe de réplication", + "Ostatni bastion": "Dernier bastion", + "PARAMETRY": "PARAMÈTRES", + "PASYWNA": "PASSIVE", + "PASYWNE": "PASSIF", + "POZ. %d": "NIV. %d", + "PPM": "Bouton droit", + "PROCEDURA AWARYJNA": "PROCÉDURE D'URGENCE", + "PRODUKCJA": "FABRICATION", + "PRZEDMIOT": "OBJET", + "PRZEDMIOTY": "OBJETS", + "PRZYDZIEL": "AFFECTER", + "PRZYSPIESZANIE · TRASA ZABEZPIECZONA": "ACCÉLÉRATION · ROUTE SÉCURISÉE", + "PUSTY": "VIDE", + "Paliwo gotowe": "Carburant prêt", + "Pierwsza wyprawa": "Première expédition", + "Planety i frachtowiec": "Planètes et cargo", + "Pojemne kondensatory": "Grands condensateurs", + "Pokonaj bossa": "Vaincre le boss", + "Posiadane ": "Disponible ", + "Powerbank": "Batterie", + "Powerbanki": "Batteries", + "Poz. %d": "Niv. %d", + "Przyspieszenie": "Accélération", + "Pusta stocznia": "Chantier naval vide", + "Pusty slot": "Emplacement vide", + "REPLIKUJ": "RÉPLIQUER", + "ROZBUDOWA STATKU": "AGRANDISSEMENT DU VAISSEAU", + "ROZPOCZNIJ BADANIE · %d s": "LANCER LA RECHERCHE · %d s", + "ROZPROSZENIE SALWY": "DISPERSION DE SALVE", + "ROZSZ. [%d]": "EXT. [%d]", + "ROZSZERZENIA": "EXTENSIONS", + "ROZSZERZENIE": "EXTENSION", + "Radiacyjna": "Irradiée", + "Radiacyjne": "Radiatif", + "Receptura": "Recette", + "Recykler": "Recycleur", + "Regener. energii": "Régén. énergie", + "Regener. tarcz": "Régén. boucliers", + "Regeneracja energii": "Régénération d'énergie", + "Regeneracja tarcz": "Régénération des boucliers", + "Rozpad konstrukcji": "Effondrement structurel", + "Rozproszenie salwy": "Dispersion de salve", + "Rozszerzenia": "Extensions", + "Rozszerzenie": "Extension", + "Rykoszet": "Ricochet", + "Rzadki": "Rare", + "SEKCJA 02": "SECTION 02", + "SEKCJA 03": "SECTION 03", + "SEKCJA 04": "SECTION 04", + "SEKCJA ROZWOJOWA": "SECTION D'AGRANDISSEMENT", + "SKOK WARP": "SAUT WARP", + "SLOT %d": "EMPLACEMENT %d", + "STATYSTYKI STATKU": "STATISTIQUES DU VAISSEAU", + "SUROWCE": "RESSOURCES", + "SUROWCE Z ASTEROID": "RESSOURCES D'ASTÉROÏDES", + "Sektor dodany do listy wypraw na frachtowcu. Mapa pozwala na jeden lot.": "Secteur ajouté aux expéditions. La carte permet un vol.", + "Skafander": "Combinaison spatiale", + "Slot zablokowany • Odblokuj w hangarze": "Emplacement bloqué • Débloquez au hangar", + "Spotkanie": "Rencontre", + "Statystyki": "Statistiques", + "Sterowanie": "Commandes", + "Strzelec": "Tireur", + "Suche kaniony": "Canyons arides", + "Surowiec pozyskiwany z asteroid.": "Ressource extraite d'astéroïdes.", + "Surowiec z asteroid. Do produkcji amunicji i rakiet.": "Ressource d'astéroïdes pour munitions et missiles.", + "Surowiec z asteroid. Do produkcji napromieniowanej amunicji.": "Ressource d'astéroïdes pour munitions irradiées.", + "System obrony przed obcymi": "Système de défense contre les aliens", + "System oddychania": "Système respiratoire", + "Szansa na krytyk": "Chance critique", + "Szansa na trafienie krytyczne": "Chance de coup critique", + "Szansa na unik": "Chance d'esquive", + "TARCZA": "BOUCLIER", + "TARCZA AWARYJNA": "BOUCLIER D'URGENCE", + "TEMPERATURA": "TEMPÉRATURE", + "TLEN": "OXYGÈNE", + "Taran": "Éperonnage", + "Tarcza awaryjna": "Bouclier d'urgence", + "Test prototypu": "Test de prototype", + "Tlen %d · Temp. %d · Fauna %d pp": "Oxygène %d · Temp. %d · Faune %d pp", + "ULEPSZ DO %s": "AMÉLIORER VERS %s", + "ULEPSZENIE %s → %s": "AMÉLIORATION %s → %s", + "UNIK": "ESQUIVE", + "UZBROJENIE": "ARMEMENT", + "Ulewa": "Pluie torrentielle", + "W REMONCIE": "EN TRAVAUX", + "WIRUS": "VIRUS", + "WOLNA KAJUTA": "CABINE LIBRE", + "WORMHOLE OTWARTY": "TROU DE VER OUVERT", + "WROGOWIE": "ENNEMIS", + "WYBIERZ": "CHOISIR", + "Walka i przetrwanie": "Combat et survie", + "Wiedza o broni": "Connaissance des armes", + "Wiedza o tarczach": "Connaissance des boucliers", + "Wirus": "Virus", + "Wolfram": "Tungstène", + "Wolny slot": "Emplacement libre", + "Wrak konwoju": "Épave de convoi", + "Wrak statku": "Épave", + "Wybierz tajemniczy pakiet": "Choisir le paquet mystère", + "Wymagane 70% maksymalnej energii": "Nécessite 70% d'énergie maximale", + "Wymagane min. 25% tarcz": "Nécessite au moins 25% de boucliers", + "Wymagany aktywny lot": "Vol actif requis", + "Wyprawa %d": "Expédition %d", + "Wyrzutnia rakiet naprowadzanych": "Lance-missiles guidés", + "Wyrzutnia rakiet niekierowanych": "Lance-roquettes non guidées", + "Wzmocnione poszycie": "Revêtement renforcé", + "ZAMKNIJ [ESC]": "FERMER [ÉCHAP]", + "ZAMONTOWANE NA STATKU": "INSTALLÉ SUR LE VAISSEAU", + "ZAOPATRZENIE": "RAVITAILLEMENT", + "ZAPASY": "RÉSERVES", + "ZAPASY GRACZA": "RÉSERVES DU JOUEUR", + "ZBUDOWANO": "CONSTRUIT", + "ZDOBYTO": "OBTENU", + "ZMIANY PO WYMIANIE BRONI": "CHANGEMENTS APRÈS REMPLACEMENT", + "ZWIADEK • TARCZE": "ÉCLAIREUR • BOUCLIERS", + "Zabezpiecz schronienie": "Sécuriser l'abri", + "Zablokowany": "Verrouillé", + "Zakres i skalowanie": "Plage et progression", + "Zamknij okno statku": "Fermer la fenêtre du vaisseau", + "Zielone doliny": "Vallées verdoyantes", + "Zimna biosfera": "Biosphère froide", + "Zapis przywraca początek bieżącego poziomu. Cooldowny i efekty czasowe są zerowane.": "Le chargement reprend au début du niveau actuel. Recharges et effets temporaires sont réinitialisés.", + "Dopasuj poziom sprzętu do planety.": "Adaptez le niveau de l’équipement à la planète.", + "Wymagany poziom kapitana: %d": "Niveau de capitaine requis : %d", + "Czas badania: 10 minut gry": "Durée de recherche : 10 minutes de jeu", + "NOWA WYPRAWA": "NOUVELLE EXPÉDITION", + "KONTYNUUJ": "CONTINUER", + "INSTRUKCJA": "INSTRUCTIONS", + "ZAPIS ROZGRYWKI": "SAUVEGARDE", + "OPCJE": "OPTIONS", + "WYJŚCIE": "QUITTER", + "Wybierz statek i ruszaj w nieznane": "Choisissez votre vaisseau et explorez", + "Wczytaj ostatnią wyprawę": "Charger la dernière expédition", + "Pierwszy lot? Zacznij tutaj": "Premier vol ? Commencez ici", + "Ostatni zapis i kopia zapasowa": "Dernière sauvegarde et copie", + "Dźwięk, obraz i język": "Son, affichage et langue", + "Zakończ grę": "Quitter le jeu", + "DZIENNIK POKŁADOWY / NOWA WYPRAWA": "JOURNAL DE BORD / NOUVELLE EXPÉDITION", + "Nieznany kosmos. Niepowtarzalny łup.": "Espace inconnu. Butin unique.", + "Głośność ogólna": "Volume général", + "Głośność muzyki": "Volume de la musique", + "Rozdzielczość": "Résolution", + "Pełny ekran": "Plein écran", + "Język": "Langue", + "Zastosuj": "Appliquer", + "Anuluj": "Annuler", + "Zamknij": "Fermer", + "Pauza": "Pause", + "Wróć do gry": "Reprendre la partie", + "Zapisz grę": "Sauvegarder", + "Zapisz i wróć do menu": "Sauvegarder et revenir au menu", + "Zapisz i wyjdź": "Sauvegarder et quitter", + "Zapisano grę.": "Partie sauvegardée.", + "Nie udało się zapisać gry.": "Impossible de sauvegarder la partie.", + "Nie udało się zapisać ustawień.": "Impossible de sauvegarder les paramètres.", + "Brak poprawnego zapisu gry.": "Aucune sauvegarde valide trouvée.", + "Ostatni zapis: %s\nUkład: %d · Kapitan: %d": "Dernière sauvegarde : %s\nSystème : %d · Capitaine : %d", + "Wróć": "Retour", + "POWRÓT": "RETOUR", + "ZAMKNIJ": "FERMER", + "KAPITAN": "CAPITAINE", + "Kapitan": "Capitaine", + "STATEK": "VAISSEAU", + "Statek": "Vaisseau", + "WYPOSAŻENIE": "ÉQUIPEMENT", + "Wyposażenie": "Équipement", + "ŁADOWNIA": "SOUTE", + "Ładownia": "Soute", + "BROŃ": "ARMES", + "Broń": "Armes", + "KADŁUB": "COQUE", + "Kadłub": "Coque", + "TARCZE": "BOUCLIERS", + "Tarcze": "Boucliers", + "ENERGIA": "ÉNERGIE", + "Energia": "Énergie", + "Pancerz": "Blindage", + "Silnik": "Moteur", + "Reaktor": "Réacteur", + "Komputer": "Ordinateur", + "HANGAR": "HANGAR", + "WARSZTAT": "ATELIER", + "LABORATORIUM": "LABORATOIRE", + "BADANIA OBCYCH": "RECHERCHE EXTRATERRESTRE", + "ZAŁOGA": "ÉQUIPAGE", + "HANDEL": "COMMERCE", + "KUP": "ACHETER", + "SPRZEDAJ": "VENDRE", + "NAPRAW": "RÉPARER", + "ZBUDUJ": "CONSTRUIRE", + "ODLOKUJ": "DÉBLOQUER", + "USUŃ": "SUPPRIMER", + "ZAMONTUJ": "INSTALLER", + "ZDEMONTUJ": "DÉMONTER", + "Żelazo": "Fer", + "Aluminium": "Aluminium", + "Tytan": "Titane", + "Uran": "Uranium", + "Siarka": "Soufre", + "Deuter": "Deutérium", + "Kredyty": "Crédits", + "Części": "Pièces", + "Amunicja": "Munitions", + "Rakiety": "Missiles", + "Próbki": "Échantillons", + "Poziom": "Niveau", + "Doświadczenie": "Expérience", + "Umiejętności": "Compétences", + "UMIEJĘTNOŚCI": "COMPÉTENCES", + "Zbadano": "Recherché", + "Za mało próbek": "Échantillons insuffisants", + "Magazyn pełny": "Stockage plein", + "Brak miejsca": "Pas de place" +} diff --git a/resources/localization/fr_catalog.gd.uid b/resources/localization/fr_catalog.gd.uid new file mode 100644 index 0000000..2e285ea --- /dev/null +++ b/resources/localization/fr_catalog.gd.uid @@ -0,0 +1 @@ +uid://b6rtmtbskfm8b diff --git a/resources/localization/interface.csv b/resources/localization/interface.csv new file mode 100644 index 0000000..a9595f9 --- /dev/null +++ b/resources/localization/interface.csv @@ -0,0 +1,95 @@ +key,pl,de,es,en,fr +NOWA WYPRAWA,NOWA WYPRAWA,NEUE EXPEDITION,NUEVA EXPEDICIÓN,NEW EXPEDITION,NOUVELLE EXPÉDITION +KONTYNUUJ,KONTYNUUJ,FORTSETZEN,CONTINUAR,CONTINUE,CONTINUER +INSTRUKCJA,INSTRUKCJA,ANLEITUNG,INSTRUCCIONES,HOW TO PLAY,INSTRUCTIONS +ZAPIS ROZGRYWKI,ZAPIS ROZGRYWKI,SPIELSTAND,PARTIDA GUARDADA,SAVED GAME,SAUVEGARDE +OPCJE,OPCJE,OPTIONEN,OPCIONES,OPTIONS,OPTIONS +WYJŚCIE,WYJŚCIE,BEENDEN,SALIR,EXIT,QUITTER +Wybierz statek i ruszaj w nieznane,Wybierz statek i ruszaj w nieznane,Wähle dein Schiff und starte,Elige tu nave y explora,Choose your ship and explore,Choisissez votre vaisseau et explorez +Wczytaj ostatnią wyprawę,Wczytaj ostatnią wyprawę,Letzte Expedition laden,Cargar la última expedición,Load your last expedition,Charger la dernière expédition +Pierwszy lot? Zacznij tutaj,Pierwszy lot? Zacznij tutaj,Dein erster Flug? Hier starten,¿Primer vuelo? Empieza aquí,First flight? Start here,Premier vol ? Commencez ici +Ostatni zapis i kopia zapasowa,Ostatni zapis i kopia zapasowa,Letzter Spielstand und Sicherung,Última partida y copia de seguridad,Latest save and backup,Dernière sauvegarde et copie +"Dźwięk, obraz i język","Dźwięk, obraz i język","Ton, Grafik und Sprache","Sonido, imagen e idioma","Sound, display and language","Son, affichage et langue" +Zakończ grę,Zakończ grę,Spiel beenden,Salir del juego,Exit the game,Quitter le jeu +DZIENNIK POKŁADOWY / NOWA WYPRAWA,DZIENNIK POKŁADOWY / NOWA WYPRAWA,BORDBUCH / NEUE EXPEDITION,DIARIO DE A BORDO / NUEVA EXPEDICIÓN,SHIP LOG / NEW EXPEDITION,JOURNAL DE BORD / NOUVELLE EXPÉDITION +Nieznany kosmos. Niepowtarzalny łup.,Nieznany kosmos. Niepowtarzalny łup.,Unbekanntes All. Einzigartige Beute.,Espacio desconocido. Botín único.,Unknown space. Unique loot.,Espace inconnu. Butin unique. +Głośność ogólna,Głośność ogólna,Gesamtlautstärke,Volumen general,Master volume,Volume général +Głośność muzyki,Głośność muzyki,Musiklautstärke,Volumen de música,Music volume,Volume de la musique +Rozdzielczość,Rozdzielczość,Auflösung,Resolución,Resolution,Résolution +Pełny ekran,Pełny ekran,Vollbild,Pantalla completa,Fullscreen,Plein écran +Język,Język,Sprache,Idioma,Language,Langue +Zastosuj,Zastosuj,Anwenden,Aplicar,Apply,Appliquer +Anuluj,Anuluj,Abbrechen,Cancelar,Cancel,Annuler +Zamknij,Zamknij,Schließen,Cerrar,Close,Fermer +Pauza,Pauza,Pause,Pausa,Paused,Pause +Wróć do gry,Wróć do gry,Zurück zum Spiel,Volver al juego,Resume game,Reprendre la partie +Zapisz grę,Zapisz grę,Spiel speichern,Guardar partida,Save game,Sauvegarder +Zapisz i wróć do menu,Zapisz i wróć do menu,Speichern und zum Menü,Guardar y volver al menú,Save and return to menu,Sauvegarder et revenir au menu +Zapisz i wyjdź,Zapisz i wyjdź,Speichern und beenden,Guardar y salir,Save and quit,Sauvegarder et quitter +Zapisano grę.,Zapisano grę.,Spiel gespeichert.,Partida guardada.,Game saved.,Partie sauvegardée. +Nie udało się zapisać gry.,Nie udało się zapisać gry.,Spiel konnte nicht gespeichert werden.,No se pudo guardar la partida.,Could not save the game.,Impossible de sauvegarder la partie. +Nie udało się zapisać ustawień.,Nie udało się zapisać ustawień.,Einstellungen konnten nicht gespeichert werden.,No se pudieron guardar los ajustes.,Could not save settings.,Impossible de sauvegarder les paramètres. +Brak poprawnego zapisu gry.,Brak poprawnego zapisu gry.,Kein gültiger Spielstand vorhanden.,No hay ninguna partida válida.,No valid saved game found.,Aucune sauvegarde valide trouvée. +"Ostatni zapis: %s +Układ: %d · Kapitan: %d","Ostatni zapis: %s +Układ: %d · Kapitan: %d","Letzter Spielstand: %s +System: %d · Kapitän: %d","Última partida: %s +Sistema: %d · Capitán: %d","Last saved: %s +System: %d · Captain: %d","Dernière sauvegarde : %s +Système : %d · Capitaine : %d" +Wróć,Wróć,Zurück,Volver,Back,Retour +POWRÓT,POWRÓT,ZURÜCK,VOLVER,BACK,RETOUR +ZAMKNIJ,ZAMKNIJ,SCHLIESSEN,CERRAR,CLOSE,FERMER +KAPITAN,KAPITAN,KAPITÄN,CAPITÁN,CAPTAIN,CAPITAINE +Kapitan,Kapitan,Kapitän,Capitán,Captain,Capitaine +STATEK,STATEK,SCHIFF,NAVE,SHIP,VAISSEAU +Statek,Statek,Schiff,Nave,Ship,Vaisseau +WYPOSAŻENIE,WYPOSAŻENIE,AUSRÜSTUNG,EQUIPO,EQUIPMENT,ÉQUIPEMENT +Wyposażenie,Wyposażenie,Ausrüstung,Equipo,Equipment,Équipement +ŁADOWNIA,ŁADOWNIA,FRACHTRAUM,BODEGA,CARGO,SOUTE +Ładownia,Ładownia,Frachtraum,Bodega,Cargo,Soute +BROŃ,BROŃ,WAFFEN,ARMAS,WEAPONS,ARMES +Broń,Broń,Waffen,Armas,Weapons,Armes +KADŁUB,KADŁUB,RUMPF,CASCO,HULL,COQUE +Kadłub,Kadłub,Rumpf,Casco,Hull,Coque +TARCZE,TARCZE,SCHILDE,ESCUDOS,SHIELDS,BOUCLIERS +Tarcze,Tarcze,Schilde,Escudos,Shields,Boucliers +ENERGIA,ENERGIA,ENERGIE,ENERGÍA,ENERGY,ÉNERGIE +Energia,Energia,Energie,Energía,Energy,Énergie +Pancerz,Pancerz,Panzerung,Blindaje,Armor,Blindage +Silnik,Silnik,Triebwerk,Motor,Engine,Moteur +Reaktor,Reaktor,Reaktor,Reactor,Reactor,Réacteur +Komputer,Komputer,Computer,Computadora,Computer,Ordinateur +HANGAR,HANGAR,HANGAR,HANGAR,HANGAR,HANGAR +WARSZTAT,WARSZTAT,WERKSTATT,TALLER,WORKSHOP,ATELIER +LABORATORIUM,LABORATORIUM,LABOR,LABORATORIO,LABORATORY,LABORATOIRE +BADANIA OBCYCH,BADANIA OBCYCH,ALIENFORSCHUNG,INVESTIGACIÓN ALIENÍGENA,ALIEN RESEARCH,RECHERCHE EXTRATERRESTRE +ZAŁOGA,ZAŁOGA,BESATZUNG,TRIPULACIÓN,CREW,ÉQUIPAGE +HANDEL,HANDEL,HANDEL,COMERCIO,TRADE,COMMERCE +KUP,KUP,KAUFEN,COMPRAR,BUY,ACHETER +SPRZEDAJ,SPRZEDAJ,VERKAUFEN,VENDER,SELL,VENDRE +NAPRAW,NAPRAW,REPARIEREN,REPARAR,REPAIR,RÉPARER +ZBUDUJ,ZBUDUJ,BAUEN,CONSTRUIR,BUILD,CONSTRUIRE +ODLOKUJ,ODLOKUJ,FREISCHALTEN,DESBLOQUEAR,UNLOCK,DÉBLOQUER +USUŃ,USUŃ,ENTFERNEN,ELIMINAR,REMOVE,SUPPRIMER +ZAMONTUJ,ZAMONTUJ,EINBAUEN,INSTALAR,INSTALL,INSTALLER +ZDEMONTUJ,ZDEMONTUJ,AUSBAUEN,DESMONTAR,UNINSTALL,DÉMONTER +Żelazo,Żelazo,Eisen,Hierro,Iron,Fer +Aluminium,Aluminium,Aluminium,Aluminio,Aluminium,Aluminium +Tytan,Tytan,Titan,Titanio,Titanium,Titane +Uran,Uran,Uran,Uranio,Uranium,Uranium +Siarka,Siarka,Schwefel,Azufre,Sulfur,Soufre +Deuter,Deuter,Deuterium,Deuterio,Deuterium,Deutérium +Kredyty,Kredyty,Credits,Créditos,Credits,Crédits +Części,Części,Teile,Piezas,Parts,Pièces +Amunicja,Amunicja,Munition,Munición,Ammunition,Munitions +Rakiety,Rakiety,Raketen,Misiles,Missiles,Missiles +Próbki,Próbki,Proben,Muestras,Samples,Échantillons +Poziom,Poziom,Stufe,Nivel,Level,Niveau +Doświadczenie,Doświadczenie,Erfahrung,Experiencia,Experience,Expérience +Umiejętności,Umiejętności,Fähigkeiten,Habilidades,Skills,Compétences +UMIEJĘTNOŚCI,UMIEJĘTNOŚCI,FÄHIGKEITEN,HABILIDADES,SKILLS,COMPÉTENCES +Zbadano,Zbadano,Erforscht,Investigado,Researched,Recherché +Za mało próbek,Za mało próbek,Zu wenige Proben,Muestras insuficientes,Not enough samples,Échantillons insuffisants +Magazyn pełny,Magazyn pełny,Lager voll,Almacén lleno,Storage full,Stockage plein +Brak miejsca,Brak miejsca,Kein Platz,Sin espacio,No space,Pas de place diff --git a/resources/localization/interface.csv.import b/resources/localization/interface.csv.import new file mode 100644 index 0000000..1a068b1 --- /dev/null +++ b/resources/localization/interface.csv.import @@ -0,0 +1,19 @@ +[remap] + +importer="csv_translation" +type="Translation" +uid="uid://cbo6qynjf4ie6" + +[deps] + +files=["res://resources/localization/interface.pl.translation", "res://resources/localization/interface.de.translation", "res://resources/localization/interface.es.translation", "res://resources/localization/interface.en.translation", "res://resources/localization/interface.fr.translation"] + +source_file="res://resources/localization/interface.csv" +dest_files=["res://resources/localization/interface.pl.translation", "res://resources/localization/interface.de.translation", "res://resources/localization/interface.es.translation", "res://resources/localization/interface.en.translation", "res://resources/localization/interface.fr.translation"] + +[params] + +compress=1 +delimiter=0 +unescape_keys=false +unescape_translations=true diff --git a/resources/localization/interface.de.translation b/resources/localization/interface.de.translation new file mode 100644 index 0000000..538f6c6 Binary files /dev/null and b/resources/localization/interface.de.translation differ diff --git a/resources/localization/interface.en.translation b/resources/localization/interface.en.translation new file mode 100644 index 0000000..b249388 Binary files /dev/null and b/resources/localization/interface.en.translation differ diff --git a/resources/localization/interface.es.translation b/resources/localization/interface.es.translation new file mode 100644 index 0000000..763fd05 Binary files /dev/null and b/resources/localization/interface.es.translation differ diff --git a/resources/localization/interface.fr.translation b/resources/localization/interface.fr.translation new file mode 100644 index 0000000..9fb4b13 Binary files /dev/null and b/resources/localization/interface.fr.translation differ diff --git a/resources/localization/interface.pl.translation b/resources/localization/interface.pl.translation new file mode 100644 index 0000000..24fcbbb Binary files /dev/null and b/resources/localization/interface.pl.translation differ diff --git a/resources/localization/source_strings.json b/resources/localization/source_strings.json new file mode 100644 index 0000000..98598aa --- /dev/null +++ b/resources/localization/source_strings.json @@ -0,0 +1,700 @@ +[ + "\nBrak miejsca: %d modułów czeka we frachtowcu.", + "\nEARTHLIKE · LĄDOWANIE", + "\nKoszt: ", + "\nORB DOPALACZA · TAB bez kosztu energii. Działa po zamontowaniu silnika.", + "\nORB PRZEBICIA · 50% obrażeń omija tarcze. Tylko ta broń.", + "\nPASYWNE • Bez kosztu i cooldownu.\nDuplikaty nie sumują efektu — działa najlepszy egzemplarz.", + "\nPodleć, aby przeszukać", + "\nRedukcja zagrożenia: %d pp (2 pp/poziom, maks. 100 pp).\nPoziom 50 całkowicie neutralizuje odpowiadające zagrożenie.", + "\nSprawdź wymagane zasoby i aktualne zagrożenie.", + "\nTen etap ma 0% szans przy obecnym zagrożeniu.", + "\nUSŁUGI DOSTĘPNE", + "\nUkład oczyszczony", + "\nZa mało próbek", + "\nZamontowane — najpierw zdejmij do ładowni.", + "\n[E] Kup mapę", + "\n[E] Placówka", + " · +1 część (Zbieracz złomu)", + " [ZAŁOŻONE]", + " kadłuba", + " · Moduły: %d", + " · brak zakresu", + "%d KREDYTÓW\n%d CZĘŚCI\n%d KRYSZTAŁÓW CZASU", + "%d kredytów%s", + "%d%% szansy na 1 dodatkową część z przeszukanego wraku. Losowanie raz na wrak. Premie rang nie sumują się.", + "%s\n\n%s\nR • Zużywa jedną sztukę z zasobów.", + "%s\n%s\nPrzeciągnij przedmiot do pasującego slotu. Dwuklik zakłada lub zdejmuje.", + "%s\nMagazyn pełny", + "%s\nStatystyki bazowe przed bonusami modułów.\n%s", + "%s\nStos: %d\n\n%s\n\nDwuklik: wybierz orb. Następnie kliknij odpowiedni moduł lub broń. PPM lub Esc anuluje.", + "%s\nZarządzanie: %d / 100\nPremia do wydobycia: +%d%%", + "%s\nŁadownia pełna", + "%s / POZIOM %d", + "%s · %s\nTLEN %d%% · TEMP %d°C · BIO %d/50\nZAGROŻENIE: %.1f%% / 300%%\nŁUP POI: ×%.2f · odzysk %.0f%%\nPOI: podleć i naciśnij E\nLądowanie −%d HP · Lądownik %d%%", + "%s · %s\nTLEN %d%% · zagrożenie %.0f%% → %.0f%%\nTEMPERATURA %d°C · zagrożenie %.0f%% → %.0f%%\nBIOLOGICZNE %d/50 · zagrożenie %.0f%% → %.0f%%\nZAGROŻENIE GLOBALNE: %.1f%% / 300%%\nBez sprzętu: %.1f%% · redukcja 2 pp/poziom\nŁUP POI: ×%.2f · odzysk %.0f%% · sprzęt ×%.2f\nPOI: podleć i naciśnij E, aby odebrać znaleziska.\nLądowanie: −%d HP · Lądownik: %d%%", + "%s · poziom %d", + "%s · poziom %d\n%s\n[%s] · Odnowienie %d s%s", + "%s · poziom %d\nKoszt: %s\nWytwarza i zakłada nowy przedmiot.", + "%s · poziom %d / 3\n%s", + "%s · poziom wyprawy %d", + "%s · zarządzanie %d/100 · %.1f deuteru/min", + "%s • Poziom %d", + "%s: %d partii = %d szt.\nKoszt: %s", + "+%d KREDYTÓW", + "+%d KRYSZTAŁÓW CZASU", + "+%d doświadczenia · +1 moduł", + "+%d szt. surowca z każdej zniszczonej asteroidy.", + "+%d wraków na nowej planszy. Premia ustalana przy rozpoczęciu systemu; nie zmienia bieżącej planszy. Premie rang nie sumują się.", + "+1 000 000 kredytów i deuteru\n+10 000 każdego minerału, części i kryształów czasu\n+1000 próbek, +25 każdego orba, +100 punktów nauki\n+10 000 amunicji, +1000 radiacyjnej i rakiet, +100 powerbanków\nMapy: poziomy 2, obecny +1/+5, 120, 125 i 130 (bez duplikatów)\nPo 1 każdego rodzaju wyposażenia do magazynu fregaty oraz sprzęt kapitana.", + "+10 zwykłej amunicji, +10 radiacyjnej amunicji i +10 rakiet", + "01 / POKŁAD GŁÓWNY · POŁĄCZENIE ZABEZPIECZONE", + "01 / PANCERZ I OCHRONA", + "02 / TARCZE I ENERGIA", + "03 / SIŁA OGNIA", + "04 / NAPĘD I NAWIGACJA", + "05 / ŁADOWNIA I ZAOPATRZENIE", + "1 KLIKNIĘCIE = 1 RECEPTURA • PRODUKCJA BEZPOŚREDNIO Z MINERAŁÓW", + "50 amunicji → 1 działko z 50 pociskami", + "50% obrażeń broni omija tarcze i trafia bezpośrednio w kadłub. Tylko broń.", + "AKTYWNE SLOTY F1–F5 · MAKSYMALNIE 5 UMIEJĘTNOŚCI", + "AMUNICJA I RAKIETY", + "AWANSUJ +1 POZIOM", + "Absorpcja obrażeń energetycznych", + "Absorpcja obrażeń kinetycznych", + "Absorpcja obrażeń radiacyjnych", + "Aktywne rozszerzenie statku. Tworzy dodatkową, większą warstwę ochronną. Zamontuj w slocie rozszerzeń i użyj przypisanego klawisza 1–5.", + "Aktywne rozszerzenie statku. Zamontuj w slocie rozszerzeń i użyj przypisanego klawisza 1–5.", + "Aluminium", + "Amunicja do wyrzutni rakiet. Obrażenia kinetyczne.", + "Amunicja zwykła", + "Amunicja: 1 rakieta / strzał • Cooldown bazowy: 5 s • Bez kosztu energii", + "Analiza częstotliwości", + "Archiwum bez głosu", + "Automatyczne dostawy z obsadzonych placówek · %.0f / min", + "Autorzy dźwięków", + "Awansuje przedmiot o 1 poziom i ponownie losuje jego parametry oraz wartości obecnych addonów. Zachowuje ich typy, liczbę i efekty orbów. Wyniki losowania mogą być niższe. Jedna sztuka daje jeden awans. Kolejny awans wymaga nowego orba (główna progresja do 120; 1000 to limit techniczny). Nie działa na materiały zużywalne.", + "BOSS", + "BRAK SUROWCÓW", + "BRAKUJE SUROWCÓW — NAJEDŹ NA RECEPTURĘ, ABY SPRAWDZIĆ KOSZT", + "BROŃ", + "BROŃ %d / %s", + "BROŃ [%s]", + "Bardzo szybkostrzelna broń kinetyczna. Zużywa 1 sztukę amunicji na strzał.", + "Bez przydziału", + "Bezpieczny układ · zaopatrzenie", + "Bezpośrednie trafienie kadłuba dobija zwykłego obcego przy maksymalnie 8% kadłuba, a bossa przy 2%. Statek rozpada się na fragmenty.", + "Bezpośrednie trafienie odsłoniętego kadłuba otwiera wyrwę na 5 s. Kolejne twoje trafienia ignorują połowę absorpcji tego statku. Wyrwy nie sumują się.", + "Boss", + "Brak bezpiecznego miejsca na teleport", + "Brak części", + "Brak dostępnych addonów.", + "Brak energii", + "Brak modułu", + "Brak odpowiedniego przedmiotu", + "Brak placówek. Szukaj głębokich złóż na planetach (szansa 60%). Budowa: zasobność × 10 części.", + "Brak poprawnego zapisu gry.", + "Brak połączenia z wyposażeniem statku.", + "Brak przedmiotów z addonami na statku. Zabierz wyposażenie z magazynu fregaty przed lądowaniem.", + "Brak rozszerzenia", + "Brak sektorów do zbadania. Szukaj pustelnika na planecie lub map w łupach z wypraw.", + "Brak wolnej, zbudowanej kajuty. Przygotuj pokój na fregacie.", + "Brak zamontowanej broni", + "Brak załogantów. Przygotuj kajutę i zatrudnij specjalistę spotkanego na planecie.", + "Brakuje %d kryształów czasu.", + "Brakuje kryształów, addon jest już maksymalny lub przedmiot jest niedostępny.", + "Brakuje zasobów. Koszt: ", + "Broń", + "Broń obcych zadaje o 10% mniej obrażeń.", + "Broń ręczna", + "Budowa kosztuje zasobność × 10 części. Do wydobycia potrzebny jest załogant.", + "Budowa wymaga po 100 każdego z pięciu surowców kosmicznych.", + "Burza pyłowa", + "CECHA GŁÓWNA", + "Celny strzał", + "Ciężki, szybki pocisk kinetyczny. Silne pojedyncze uderzenie co 2,2 s. Zużywa 10 zwykłej amunicji, bez energii.", + "Ciężkie drzwi ustępują. W niszy pośród zatartych reliefów czeka kolejny fragment dawnej technologii.", + "Czas między wystrzeleniem rakiet krótszy o %d%%. Działa po premiach sprzętu; minimalny odstęp to 1 s. Premie rang nie sumują się.", + "Czeka na załoganta", + "Części", + "DEUTER / PALIWO FREGATY", + "DPS jednego działka", + "DPS uwzględnia premie wyposażenia, kapitana, krytyki i promieniowanie. To wartość teoretyczna, przed obroną celu; rzeczywisty wynik zależy od trafień, energii i amunicji.", + "DZIAŁANIE %d s", + "DZIENNIK POKŁADOWY / NOWA WYPRAWA", + "Daleko od światła powierzchni leży podziemny zbiornik. Wokół niego przetrwały najcenniejsze próbki — i najtrudniejsza droga powrotna.", + "Deuter", + "Deuter: %.1f · Produkcja: %.0f/min", + "Do 3% maksymalnych tarcz na sekundę.", + "Dodaj amunicję", + "Dodano pełny pakiet zasobów, amunicję, wszystkie orby i %d map.\n%d przedmiotów czeka w magazynie fregaty; dodano też sprzęt kapitana i punkty nauki.", + "Dodatkowa tarcza już działa", + "Dodatkowe 5% obrażeń tarczom obcych. Sumuje się z Wiedzą o tarczach.", + "Dodatkowe 5% szansy uniknięcia obrażeń od wrogich obcych. Łączy się niezależnie z pozostałymi unikami.", + "Dopalacz już działa", + "Dopalacz pod TAB nie zużywa energii i działa również przy pustym generatorze. Tylko silnik.", + "Dowódca dronów", + "Doładowanie tarcz", + "Doświadczenie", + "Doświadczenie (EXP)", + "Drony już walczą", + "Duże obrażenia na krótkim dystansie. Cztery strzały na sekundę.", + "Działka zewnętrzne", + "Działko gamma", + "Działko maszynowe", + "Działko plazmowe", + "Działo artyleryjskie", + "Dźwięk, obraz i język", + "ENERGIA", + "Elite", + "Energia", + "Energia na strzał", + "Ewakuuj pracowników", + "FREGATA / POKŁAD OPERACYJNY", + "FREGATA • PANCERZ", + "GROŹNA FAUNA", + "Globalnie odnawia tarcze z faktycznie zadanych obrażeń. Łącznie do 10% obrażeń; tempo odzysku do 5% maksymalnych tarcz/s, z rezerwą na jedno takie odnowienie.", + "Gorąca biosfera", + "Górnik", + "Gęsta mgła", + "GŁĘBOKIE ZŁOŻE / DEUTER", + "Głośność muzyki", + "Głośność ogólna", + "Główna progresja: poziomy 1–120. HP, tarcze i atak wrogów rosną o 10% wartości bazowej na poziom, po 120 o 20%. Bazowe parametry łupu rosną o 7% na poziom przedmiotu. Bonusy procentowe mają limity. Poziom 1000 to limit techniczny wyposażenia.", + "Głębokie złoże deuteru", + "HANGAR", + "HANGAR / OBSŁUGA", + "HANGAR / WYBÓR STATKU", + "IDŹ DO NASTĘPNEGO POZIOMU", + "INICJALIZACJA NAPĘDU SKOKOWEGO", + "INŻYNIER CHRONALNY", + "Inżynier chronalny", + "Inżynierka rozłożyła stanowisko pomiarowe daleko od zabudowań. Potrzebuje lądownika do krótkiego testu nowego układu zasilania. Zapewnia podstawową zapłatę niezależnie od wyniku i dodatkową premię za poprawny przebieg próby. Gdy pytasz o ryzyko, bez słowa przesyła zapis poprzedniego testu. Widać na nim nagły skok napięcia.", + "Izolowane próbki i komora do badań obcych organizmów.", + "Jeden załogant obsługuje jedną placówkę. Nowy przydział przenosi go z poprzedniej.", + "Jednorazowa wyprawa. Zużywa mapę i pobiera %d deuteru.", + "Jednorazowy powerbank. Przywraca 10% maksymalnej energii statku, do jego aktualnego limitu. Użyj klawiszem R podczas lotu.", + "Język", + "KADŁUB", + "KAPITAN", + "KAPITAN · PASYWNE", + "KOMPUTER", + "KORSARZ • ENERGIA", + "KOSZT BUDOWY", + "KOSZT · posiadasz / wymagane\n", + "KUP 100 AMUNICJI — 100 KREDYTÓW", + "KUP MAPĘ · %d KREDYTÓW", + "Kadłub", + "Kadłub jest pełny", + "Kadłub jest w pełni sprawny. Naprawa nie jest potrzebna.", + "Kadłub nie wymaga naprawy", + "Kadłub: %d · Tarcze: %d\nEnergia: %d · Prędkość: %d px/s", + "Kamuflaż", + "Kamuflaż już działa", + "Kapsuły do działka gamma. Obrażenia radiacyjne.", + "Każda nadlatująca wroga rakieta ma 25% szansy zostać przechwycona w zasięgu 240 px od statku. Przechwycona rakieta wybucha bez zadawania obrażeń. Jeden rzut na rakietę.", + "Każde bezpośrednie trafienie twojej broni zadaje obcym dodatkowe 5 obrażeń przed absorpcją.", + "Każde bezpośrednie trafienie zadaje pełne obrażenia jednocześnie tarczom i kadłubowi obcego. Nadal działa absorpcja.", + "Każdy orb jest jednorazowy i znika po użyciu. Kolejny awans wymaga kolejnej sztuki. Efekty tego samego orba nie sumują się. Orby typu obrażeń zastępują się. Replika trafia do magazynu.", + "Każdy punkt: +1 punkt procentowy szansy na trafienie krytyczne. Maksymalnie +20 przy 20 punktach.", + "Każdy punkt: +2% obrażeń wszystkich broni. Maksymalnie +40% przy 20 punktach.", + "Każdy strzał / impuls losuje obrażenia z tego zakresu.", + "Każdy strzał ma 1% szansy wyłączyć na 5 sekund losowy system obcego: silnik, broń lub tarcze. Czerwona ikona nad wrogiem wskazuje wyłączony system. Obrażenia okresowe nie losują ponownie.", + "Każdy zebrany odłamek asteroidy odnawia %.1f%% maksymalnych tarcz i energii.", + "Kliknij, aby otworzyć ekwipunek kapitana", + "Kliknij, aby wytworzyć", + "Kliknięcie rozstawia autonomiczne działko lewitujące w miejscu. Koszt: dokładnie 50 amunicji, która trafia do jego magazynka. Działko samodzielnie celuje i oddaje 50 strzałów; potem znika. Obrażenia każdego pocisku są o 50% niższe niż działka maszynowego z takimi samymi parametrami. Nie zużywa dalszej amunicji statku. Znika przy dokowaniu lub zniszczeniu statku.", + "Kolekcjoner minerałów", + "Komputer", + "Kontynuuj wyprawę", + "Kontynuuj wyprawę [E]", + "Korytarz rozszerza się w chłodną grotę. Na wapiennych ścianach widać kolejne skupiska nieznanych form życia.", + "Korzenie rozsunęły kamienie przy wejściu. Za progiem spoczywa porzucone urządzenie, pokryte pyłem minionych wieków.", + "Koszt każdej technologii w tym rzędzie: %d próbek.", + "Koszt: %d próbek", + "Koszt: 10 kryształów × poziom przedmiotu. Gotowe maksima nie pobierają opłaty.", + "Kredyty", + "Kredyty: %d", + "Kredyty: %d · części: %d\nWydatki pobierane są od razu. Nowe nagrody zachowasz po bezpiecznym powrocie.", + "Kryształy czasu", + "Kryształy czasu: %d", + "Kup 1 rakietę za %d kredytów.", + "Kup 10 pocisków radiacyjnych za %d kredytów.", + "Kup 100 zwykłych pocisków za %d kredytów.", + "Kup amunicję do działka maszynowego.", + "Kup kontener · zawartość nieznana", + "Kup zestaw surowców", + "LEĆ", + "LEĆ DO UKŁADU", + "Laser", + "Laser pulsacyjny", + "Laser radiacyjny", + "Laser wiązkowy", + "Losowanie zakresu obrażeń broni (poziom 1)", + "Losuje przedmiot i addony dla poziomu aktualnego układu.", + "Lot: poziom × 1000 deuteru. Powrót bezpłatny. Mapa zużywa się przy wylocie. Każdy sektor można odwiedzić tylko raz.", + "LĄDOWNIK ZNISZCZONY · Utracono łup bieżącej wyprawy.", + "LĄDOWNIK ZNISZCZONY — utracono łup wyprawy", + "Lądownik %d / 100 HP · Energia %d%%", + "Lądownik wymaga naprawy do 100% we frachtowcu.", + "Lądownik · %d%%", + "MAGAZYN / ZASOBY I WYPOSAŻENIE", + "MAKSYMALIZUJ · %d KRYSZTAŁÓW", + "MODUŁY / Kliknij ikonę, aby przenieść przedmiot", + "MODUŁY STATKU", + "MYŚLIWIEC • SZYBKOŚĆ", + "Ma 50%% szans na przejęcie uciekającego wroga (poniżej 10%% kadłuba). Jedna próba na statek; losowanie następuje, gdy jest wolne miejsce na przejęcie. Zamiast uciekać atakują swoich dawnych sojuszników. Bossowie są odporni na wirusa. Wrogowie atakują zawirusowane statki, gdy gracza nie ma w pobliżu. Nadal możesz uszkodzić i zniszczyć je własną bronią. Limit jednocześnie kontrolowanych: %d.", + "Magazyn jest pełny — zwolnij miejsce.", + "Magazyn pełny — zwolnij miejsce.", + "Malejące korzyści: 37,5% × punkty / (punkty + 10). Maksymalnie 25% uniku przy 20 punktach. Unik anuluje całe trafienie.", + "Malejące korzyści: 50% × punkty / (punkty + 10). Maksymalnie 33,3% redukcji przy 20 punktach, przed tarczami i kadłubem.", + "Manewr wyprzedzający", + "Mapa odległych systemów · poz. %d", + "Mapa z tej wizyty została kupiona. Wróć po kolejnym lądowaniu po nową ofertę.", + "Mapa została już kupiona lub brakuje kredytów.", + "Mapa: %d kredytów\nPaliwo na lot: %d deuteru\nPosiadasz: %d kredytów", + "Miedź", + "Miejsce na przyszłe badanie.", + "Między pustymi domami zarosła dawna ścieżka. W pozostawionych schowkach mogą jeszcze leżeć drobne oszczędności.", + "Mnożnik krytyka", + "Moduł", + "Mokradła", + "Może później", + "Możesz wybrać tylko jedną ofertę.", + "NAJEDŹ NA IKONĘ, ABY ZOBACZYĆ KOSZT", + "NAWIGACJA / ODKRYTE UKŁADY", + "NAWIGACJA / PLACÓWKI", + "NAŁÓŻ ORB", + "NIEPOWODZENIE · utrata %d HP. Wcześniejszy łup pozostaje w ładowni.", + "NIEZNANY UKŁAD. TWOJA WYPRAWA.", + "NISKI KADŁUB — %d%%", + "NOWA UMIEJĘTNOŚĆ", + "Na skraju polany stoi warsztat na szerokich gąsienicach. Mechanik odbiera sygnał z twojego lądownika i po chwili przesyła listę uszkodzeń. Ma części wystarczające na jedną szybką naprawę. Podaje cenę oraz dokładny zakres prac, po czym uruchamia spawarkę i czeka na odpowiedź.", + "Na stole ocalały dzienniki mieszkańców. Ich notatki mogą nauczyć cię, jak przetrwać na tej planecie.", + "Nad małym obozem zbiera się burza, a jego transport ewakuacyjny stoi z rozebranym silnikiem. Pierwsza grupa ludzi czeka już przy awaryjnym schronieniu. Dalej pozostali pracownicy zabezpieczający sprzęt i ranni, których trudniej przenieść. Koordynator może zapłacić za każdy ukończony etap pomocy, ale z każdą minutą warunki będą gorsze.", + "Najedź na nazwę przedmiotu, aby zobaczyć wszystkie addony i parametry.", + "Napraw do 100%% · koszt %d części. Pełny kadłub wymagany do lądowania.", + "Napraw lądownik: +%d HP", + "Naprawiają tyle kadłuba, ile pozwalają części i brakujące punkty. Koszt: 1 część za 1 punkt kadłuba. Nie zużywają energii.", + "Naprawiono lądownik: +%d HP.", + "Naprowadzana rakieta z małym uderzeniem. Zostawia płonący gaz na 5 s w promieniu 95 px: 110% obrażeń uderzenia na sekundę, kinetyczne. Nakładające się chmury nie sumują obrażeń.", + "Natychmiast naprawia %d%% maksymalnego kadłuba za 1 część. Wymaga uszkodzonego statku i aktywnego lotu.", + "Nie masz jeszcze umiejętności. To początek Twojej specjalizacji.", + "Nie można zbudować placówki. Sprawdź liczbę części.", + "Nie udało się otworzyć menu: %s", + "Nie udało się przenieść do układu: %s", + "Nie udało się zapisać gry.", + "Nie udało się zapisać ustawień.", + "Nieznany kosmos. Niepowtarzalny łup.", + "Niweluje obrażenia tego typu przed tarczą i pancerzem. Łączny limit statku: 60%.", + "Normal", + "Nowe badania w laboratorium trwają o %d%% krócej. Premie rang nie sumują się.", + "Nowe układy odblokujesz, przechodząc dalej przez tunel po pokonaniu przeciwników.", + "Nowy poziom", + "O %d%% więcej kredytów za pokonanych wrogów. Premia obejmuje kredyty do zebrania po walce. Premie rang nie sumują się.", + "OBÓZ SPECJALISTY / REKRUTACJA", + "ODCZYT PARAMETRÓW", + "ODCZYT: części zamienne. Ilość nieznana.", + "ODCZYT: podzespół statku. Poziomu i parametrów nie udało się ustalić.", + "ODCZYT: próbki mineralne. Dokładny skład i ilość nieznane.", + "ODKRYTE · DOSTĘPNE W ŁUPACH", + "ODLEGŁY SEKTOR", + "ODŁÓŻ DO PLECAKA", + "ODŁÓŻ →", + "OSTATNI UKŁAD", + "OSŁONA %.0f / %.0f", + "OTWÓRZ WORMHOLE", + "Obcy trafiający twoją aktywną tarczę otrzymuje wyładowanie równe 20% obrażeń faktycznie pochłoniętych przez osłonę. Bez kolejnych efektów trafienia.", + "Obok niewielkiej instalacji wydobywczej stoi łazik załadowany po same osie. Jego operator od tygodni wydobywa ten sam minerał, ale zabrakło mu materiałów do naprawy urządzeń. Proponuje wymianę części swojego zapasu na surowce z twojej ładowni. Przesyła dokładny wykaz towarów.", + "Obrażenia", + "Obrażenia broni", + "Obrażenia dronów bojowych większe o %d%%. Premie rang nie sumują się.", + "Obrażenia kadłubów obcych", + "Obrażenia krytyczne", + "Obrażenia tarcz obcych", + "Obrażenia trafienia", + "Obrażenia z addonów", + "Obrażenia: %s", + "Obóz specjalisty", + "Odbierz do ładowni statku. Przedmioty bez miejsca pozostają na fregacie.", + "Odblokuj 1 slot ładowni w hangarze: 100 żelaza + 50 aluminium.", + "Odległy sektor %03d", + "Odstęp między strzałami", + "Odstęp rozstawiania", + "Odstęp strzałów działka", + "Odstęp strzałów działka: %.2f s • Kolejne rozstawienie: %.2f s", + "Odstęp strzałów: %.2f s", + "Odwrócona polaryzacja", + "Odzysk tarcz z obrażeń", + "Odzyskane moduły · %d", + "Odłóż wszystko →", + "Odłóż wyposażenie kapitana", + "Ogólna wiedza", + "Opady śniegu", + "Orb elektryczności", + "Orb silników atomowych", + "Osiągnięto limit.", + "Ostatni zapis: %s\nUkład: %d · Kapitan: %d", + "Ostatnie zapasy ukryto pod zawaloną częścią budynku. Belki skrzypią przy każdym kroku.", + "Oszczędny laser wiązkowy: małe obrażenia i zasięg około jednego ekranu. Koszt impulsu rośnie z obrażeniami i addonami egzemplarza.", + "Oszczędny magazynek", + "Osłabienie broni obcych", + "Otwórz przeskanowaną skrytkę", + "Otwórz statek i sloty wyposażenia", + "PANCERZ", + "PANCERZ REAKTYWNY", + "POKÓJ 01", + "POKÓJ 02", + "POKÓJ 03", + "POKÓJ 04", + "POKÓJ 05", + "POSIADANE UMIEJĘTNOŚCI", + "POWRÓT NA STATEK [L]", + "POWRÓT Z WYPRAWY", + "POWRÓT Z WYPRAWY · ", + "POZIOM %d", + "POZIOM %s / III · %s", + "PROJEKTY BRONI I ROZSZERZEŃ", + "PRZEJDŹ DO HARD", + "PRÓBKI / %d", + "PRĘDKOŚĆ: %.0f", + "Pancerz", + "Pancerz reaktywny", + "Pancerz z tytanu", + "Parametry statku, uzbrojenie, pancerz i systemy", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Przy niskim kadłubie pochłania 50% otrzymywanych obrażeń.", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Uciekający wrogowie przechodzą pod kontrolę wirusa i atakują inne wrogie statki.", + "Pasywne rozszerzenie statku. Działa po zamontowaniu. Zebrany odłamek asteroidy przywraca tarcze i energię.", + "Pasywny moduł prędkości. Na poziomie 1 bonus wynosi 1–5 px/s i rośnie wraz z poziomem przedmiotu.", + "Pewna wypłata albo ryzyko", + "Pełne zachmurzenie", + "Pełny ekran", + "Pierwsze trafienie sięgające kadłuba po utracie tarcz zadaje kadłubowi o 70% mniej obrażeń. Odnowienie: 15 s aktywnego lotu.", + "Pierwsze trafienie w aktywną tarczę zadaje tylko 10% obrażeń. Odnowienie: 60 s. Redukcja obejmuje też przebicie tego trafienia na kadłub.", + "Pierwszy cel: pokonaj wrogów → pokonaj bossa → znajdź zamieszkaną planetę.", + "Pilotaż", + "Placówka gotowa. Przydziel operatora w centrum dowodzenia.", + "Placówka górnicza", + "Placówka zbudowana · %.1f deuteru/min", + "Placówka: ", + "Po uszkodzeniu kadłuba pocisk lub laser przebija jeden dodatkowy cel za 50% obrażeń. Rakieta wypuszcza dodatkowy pocisk penetrujący bez kolejnej eksplozji. Bez łańcuchowych przestrzałów i dodatkowego kosztu strzału.", + "Po zbiciu tarcz natychmiast odzyskujesz 25% ich maksimum. Przez 2 s obrażenia kierowane w tarczę są zmniejszone o 50%. Odnowienie: 30 s. Nie sumuje redukcji z Rozproszeniem salwy; działa silniejsza. Dokowanie nie resetuje odnowienia.", + "Pochłania 50%% otrzymywanych obrażeń, gdy kadłub ma nie więcej niż %d%% maksimum. Próg sprawdzany przed trafieniem.", + "Pociski do działka maszynowego. Obrażenia kinetyczne.", + "Pociski, rakiety i lasery obcych mogą trafiać także innych wrogich obcych. Trafienie własnego statku strzelca jest wykluczone.", + "Pod cienką warstwą gruntu żyła schodzi głębiej. Odwiert odsłoni bogatszy pokład, jeśli skała pozostanie stabilna.", + "Pod zapadniętą podłogą kryje się sejf osady. Dotarcie do niego wymaga wejścia pod niestabilne stropy.", + "Pokonaj wszystkich wrogów", + "Pokój załogi z łóżkiem, biurkiem i miejscem na rzeczy osobiste.", + "Pomieszczenie jest wyposażone. Jego mechanika zostanie dodana w kolejnym etapie.", + "Powerbank przywraca %d%% maksymalnej energii zamiast 10%%. Umiejętność pasywna; premie rang nie sumują się.", + "Poziom %d", + "Pozostałe wybory po tym awansie: %d", + "Pozostało", + "Pozostało: %d s gry", + "Premia biomu: materiały ×%.1f · moduły +%d…+%d poz.\nLiczba amunicji i rakiet nie wzrasta.", + "Premia do doświadczenia", + "Premia do kredytów", + "Premia do obrażeń", + "Premia ze sprzętu: do +100%. Umiejętności kapitana działają osobno.", + "Produkcja zwykłej i radiacyjnej amunicji daje o %d%% więcej sztuk za ten sam koszt. Nie dotyczy rakiet. Premie rang nie sumują się.", + "Przeciągnij, aby przesunąć okno", + "Przeciążenie osłon", + "Przeciążenie reaktora", + "Przejaśnienia", + "Przeniesiono %d przedmiotów.", + "Przenieś rannych", + "Przestrzał", + "Przez 10 s statek staje się niemal niewidoczny. Przeciwnicy nie wykrywają go ani nie śledzą. Oddanie strzału przerywa kamuflaż. Nie zapewnia odporności na już wystrzelone pociski. Odnowienie: 60 s.", + "Przy zakurzonym transporterze miga przenośny nadajnik. Właściciel przedstawia się jako niezależny dostawca, choć oznaczenia na skrzyniach należą do kilku różnych firm. Twierdzi, że kończy interesy na tej planecie i woli sprzedać zapasy taniej, niż zabierać je z powrotem na orbitę.", + "Przydziel załoganta w centrum dowodzenia fregaty. Deuter trafia automatycznie do magazynu, również gdy jesteś poza tą planetą.", + "Przygotowana dla jednego załoganta. Specjalistów możesz zatrudniać na planetach.", + "Przypisz umiejętność do slotu F1–F5 w panelu kapitana", + "Przywraca 100 punktów tarcz, do ich maksimum. Wymaga i zużywa 100% energii.", + "Przywracają 10% maksymalnej energii. Użyj klawiszem R.", + "Próbki", + "Próbki do analizy", + "Prędkość", + "Prędkość aktualna", + "Prędkość lecącej wiązki: %.0f px/s", + "Prędkość maksymalna", + "Prędkość obrotu", + "Prędkość statku", + "Pusty slot\nMiejsce na przyszłe badanie.", + "Pęknięcie poszycia", + "Płatny skan skrytki", + "RAKIETY", + "RANDOLOOT / EKSPLORUJ • WALCZ • ROZWIJAJ STATEK", + "REAKTOR", + "RESET SKILLI — 100 KREDYTÓW", + "REZERWA KONDENSATORÓW", + "Radiacyjna kula. Napromieniowanie: 10 s, 25% obrażeń trafienia/s. Kolejne trafienia odświeżają czas. Zużywa napromieniowaną amunicję.", + "Rakieta", + "Rakiety", + "Reaktor", + "Redukcja obrażeń", + "Regały, pojemniki i stanowiska do przechowywania modułów.", + "Regeneracja energii +%d%% przez 7 sekund. Zużywa wszystkie tarcze i blokuje ich odzysk na czas działania. Wymaga min. 25%% tarcz.", + "Rekrutacja: %d kredytów · posiadasz: %d", + "Rezerwa kondensatorów", + "Rozbity przekaźnik", + "Rozdzielczość", + "Rozłóż przedmiot: +10 części", + "Rtęć", + "SIEĆ WYDOBYWCZA", + "SILNIK", + "SKŁAD MODUŁÓW W REMONCIE", + "SPACJA — pomiń intro", + "SPRZĘT KAPITANA · %d szt. ODZYSKANE MODUŁY · %d", + "SPRÓBUJ PONOWNIE [R]", + "STATEK GRACZA", + "STATEK ZABEZPIECZONY", + "STATEK ZNISZCZONY", + "STATEK · %d / %d", + "STATEK · PASYWNE", + "STAŁY EFEKT", + "SYSTEMY I MODUŁY", + "SYSTEMY POKŁADOWE", + "Sektory poza znanymi szlakami. Podwójna liczba wrogów, jeden boss. Kryształy czasu z każdego wroga. Zwykli wrogowie: mapy i powerbanki po 15%. Boss zawsze zostawia 1 mapę i 1 losowy orb, a dodatkowo ma 5% szansy na Orb replikacji.", + "Silnik", + "Skaliste wyżyny", + "Skan ujawni rodzaj zawartości, ale nie jej ilość ani stan. Otwarcie wymaga osobnej opłaty.", + "Skan zakończony. Możesz opłacić otwarcie lub wrócić później.", + "Skrócenie cooldownu rakiet", + "Spadek kadłuba z co najmniej 30% poniżej tego progu uruchamia naprawę 15% maksymalnego kadłuba przez 5 s. Odnowienie: 45 s. Trafienia nie przerywają naprawy.", + "Spadek tarcz z co najmniej 30% poniżej tego progu zmniejsza koszt energii broni o 50% przez 2 s. Odnowienie: 15 s.", + "Specjalista z obozu szuka pracy. Obejrzyj umiejętności i zdecyduj — możesz wrócić później. Koszt zatrudnienia: 1000 kredytów × zarządzanie.", + "Specjalista został już zatrudniony.", + "Spotkanie zakończone. Nagrody w ładowni wyprawy przepadną po zniszczeniu lądownika.", + "Sprzedaj próbki", + "Sprzęt: do +100% mnożnika bazowego, maksymalnie ×4.", + "Sprzęt: do 15% pojemności generatora/s. Ładowanie przy gwieździe i czasowe umiejętności dodają osobne premie.", + "Sprzęt: do 40%. Łącznie z umiejętnościami: do 60%.", + "Stanowiska analityczne, aparatura i stół do doświadczeń.", + "Starożytna struktura", + "Start", + "Statek i kapitan", + "Statek jest zniszczony", + "Statek niedostępny", + "Strzał w 10", + "Sukces: %.2f%% · w razie porażki: −%d–%d HP\nSzansa uwzględnia warunki planety i sprzęt kapitana.", + "Sygnał prowadzi do samotnego badacza pochylonego nad analizatorem próbek. Na widok twojego spisu ładunku nagle przerywa rozmowę. Jednego z przewożonych przez ciebie surowców potrzebuje do ukończenia badań. Ma środki z kończącego się grantu i jest gotów zapłacić więcej niż zwykły skup.", + "Szansa szczęścia", + "Szansa uniku wynosi %d%% przez 5 sekund. Unik anuluje całe trafienie.", + "Szczęście", + "Szczęście (limit 60%)", + "Szczęście: %d%% szans na przedmiot o 1 poziom wyższy niż bazowy loot planszy. Dotyczy lootu z wrogów i znalezisk. Bazowo: 0%%. Sumuje się ze sprzętem do limitu 60%%. Premie rang nie sumują się.", + "Szerszeń", + "Szybko rozpędza do 300% zwykłej prędkości (+200%), następnie wytraca nadmiar prędkości. Bez kosztu energii.", + "Szybko rozpędza do 300% zwykłej prędkości (+200%), następnie wytraca nadmiar prędkości. Wymaga i zużywa 100% energii.", + "Szybkostrzelność", + "Słaby punkt", + "Słaby sygnał alarmowy dobiega z przewróconego łazika. Jego kierowca żyje, lecz nie może wydostać się z kabiny. Do uniesienia wraku potrzebny jest prowizoryczny podnośnik zbudowany z twoich części. Czujniki ostrzegają, że uszkodzona bateria pojazdu jest niestabilna. Uwięziony obiecuje zapłatę, jeśli pomożesz mu wrócić do obozu.", + "Ta decyzja jest niedostępna.", + "Tajemniczy łup: 50% części, 35% minerały, 10% rakiety, 5% moduł. Wartość może być niższa od opłaty.", + "Tarcza zewnętrzna", + "Tarcze są pełne", + "Tarcze wyłączone przez Przekierowanie zasilania", + "Teleportuje w losowe, bezpieczne miejsce systemu. Zużywa całą aktualną energię (wymaga dodatniej energii). Odnowienie: 60 s.", + "Ten addon ma już maksymalną wartość lub nie posiada zakresu losowania.", + "Ten etap ma 0% szans. Obniż zagrożenie odpowiednim wyposażeniem.", + "Teoretyczny DPS: uwzględnia krytyki i promieniowanie; przed obroną celu, przy dostępnej energii i amunicji.", + "To miejsce zostało już odwiedzone.", + "To spotkanie jest już niedostępne.", + "Trafienie dowolną bronią razi też obcych do 10 px od obrysu trafionego statku. Promień eksplozji twoich rakiet rośnie o 10 px. Bez łańcuchowych rykoszetów.", + "Trafienie tarczy obcego blokuje regenerację na 5 s. Kolejne trafienia odświeżają czas.", + "Trwa wyprawa do sektora %d. Użyj przycisku POWRÓT Z WYPRAWY na pokładzie, aby wrócić do układu startowego przed kolejnym lotem.", + "Trwale zmienia typ obrażeń broni na energetyczny (jak laser). Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.", + "Trwale zmienia typ obrażeń broni na kinetyczny. Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.", + "Trwale zmienia typ obrażeń broni na radiacyjny. Nie zwiększa obrażeń ani kosztu strzału. Zastępuje poprzedni orb typu obrażeń.", + "Twoja broń zadaje dodatkowe 5% obrażeń kadłubom obcych. Sumuje się z Wiedzą o kadłubie.", + "Twoja broń zadaje o 10% więcej obrażeń kadłubom obcych.", + "Twoja broń zadaje o 10% więcej obrażeń tarczom obcych.", + "Tworzy dokładną, niezależną kopię wyposażenia w magazynie frachtowca. Oryginał zostaje. Kopiuje poziom, addony i efekty orbów. Drop: dodatkowe 5% z bossa dalekiej wyprawy.", + "Tylko silnik. Trwale zmniejsza zużycie energii dopalacza TAB o 50%. Nie sumuje się. Orb darmowego dopalacza ma pierwszeństwo.", + "Tylko tarcze. Trafienie w tarcze odnawia do 5% maksymalnych tarcz jako energię, nie więcej niż faktycznie stracone tarcze. Tempo odzysku: do 5% pojemności generatora/s, z rezerwą na jedno takie odnowienie. Uniki i trafienia w sam kadłub nie aktywują efektu.", + "Typ obrażeń: %s", + "Tytan", + "U podnóża góry otwiera się ciemna szczelina. Przy wilgotnych skałach rosną organizmy warte dokładniejszej analizy.", + "UMIEJĘTNOŚCI KAPITANA", + "USŁUGI TUBYLCÓW", + "Ujawnia paski HP i tarcz wrogów.", + "Układ %d\nWyposażenie i zapasy zostają zachowane.", + "Układ bezpieczny. Usługi dostępne.", + "Umiejętności kapitana", + "Umiejętności kapitana · punkty do wydania: %d", + "Umiejętność nie jest odblokowana", + "Uran", + "Uwzględnia mechanika i aktywny efekt pancerza z tytanu.", + "W ruinach starego magazynu ktoś odnalazł pancerną skrytkę. Stojąca obok operatorka ma skaner zdolny zajrzeć przez jej osłonę, lecz urządzenie zużywa drogie ogniwa. Za niewielką opłatą sprawdzi, co może znajdować się w środku. Otwarcie zamka będzie kosztować osobno. Uprzedza, że skorodowana obudowa zakłóca odczyt.", + "W sercu budowli ocalał niezwykły mechanizm. Aby go wydobyć, trzeba poruszyć konstrukcję, która od dawna nie powinna stać.", + "W zaciszu chaty pustelnik przechowuje współrzędne miejsc poza znanymi szlakami. Oferuje ci jedną ze swoich map.", + "W zasięgu gwiazdy przywraca 20% maksymalnych tarcz na sekundę przez maksymalnie 5 s. Opuszczenie zasięgu kończy efekt. Odnowienie: 30 s.", + "W — ciąg · S — hamuj / wstecz · A/D — obrót\nQ/R — ruch boczny · TAB — dopalanie · E — odwiedź POI", + "WORMHOLE\nWleć, aby przejść do następnego układu", + "WORMHOLE — następny układ", + "WRÓĆ DO LOTU", + "WRÓĆ DO UKŁADU %d [R]", + "WYJŚCIE", + "WYTWÓRZ", + "Wczytaj ostatnią wyprawę", + "Weź gwarantowany zestaw", + "Wiatr przesuwa kurz po podłodze pustego magazynu. Kilka skrzyń wciąż ma nienaruszone zamknięcia.", + "Wiedza o kadłubie", + "Wleć w wormhole, aby przejść dalej.", + "Wrogie pociski i lasery mają 25% szansy na dodatkowy szeroki rozrzut celowania.", + "Wróć do gry", + "Wróć do wyprawy", + "Wróć na pokład", + "Wszystkie dostępne projekty zostały wynalezione.", + "Wybierz aktywną umiejętność dla F%d. Pasywne działają bez zajmowania slotu.", + "Wybierz jednostkę i rozpocznij wyprawę.", + "Wybierz jedną umiejętność. Wybór obowiązuje przez całą rozgrywkę.", + "Wybierz moduł lub broń\nPPM / Esc — anuluj", + "Wybierz pomieszczenie na pokładzie.", + "Wybierz pomieszczenie na pokładzie. · Warsztat i hangar są dostępne.", + "Wybierz projekt. Nowe badanie trwa %d sekund gry. Odkryta broń lub rozszerzenie zacznie pojawiać się w łupach. Od początku dostępne jest działko plazmowe.", + "Wybierz przedmiot i konkretny addon. Inżynier ustawi tylko jego wartość na maksimum dla obecnego poziomu przedmiotu.", + "Wybierz statek i ruszaj w nieznane", + "Wybierz umiejętność · oczekujące awanse: %d", + "Wybrany addon ma teraz maksymalną wartość dla obecnego poziomu przedmiotu.", + "Wydobycie = zasobność × (1 + zarządzanie / 100). Bez załoganta: 0. Części: %d / %d", + "Wydobycie: zasobność × (1 + zarządzanie / 100) deuteru/min. Bez załoganta: 0. Złoża nie wyczerpują się.", + "Wydobywany z asteroid. Składnik receptur warsztatu.", + "Wyjście", + "Wymagana 1 część", + "Wymagana dodatnia maksymalna pojemność tarcz", + "Wymagana pełna energia", + "Wymagana zamontowana broń", + "Wymagane 50 szt. zwykłej amunicji", + "Wymagany zasięg gwiazdy", + "Wymiana towarów", + "Wymień surowce", + "Wymień surowce na 3 rakiety", + "Wyprawa zakończona. Mapa została zużyta.\nPowrót do układu %d.\nWyposażenie i zapasy zostają zachowane.", + "Wypuszcza 3 drony na 10 s. Strzelają działkami mechanicznymi; łącznie zadają 50% DPS statku w momencie startu. Koszt: 50 szt. zwykłej amunicji. Odnowienie: 30 s.", + "Wypuszcza trzy flary na 10 s. Wrogowie w zasięgu obierają je za cel zamiast gracza. Odnowienie: 30 s.", + "Wyrzutnia rakiet zapalających", + "Wystrzeliwuje naprowadzaną rakietę z eksplozją obszarową. Cooldown: 5 s.", + "Wystrzeliwuje pojedyncze krótkie czerwone wiązki, które szybko lecą przez przestrzeń. Każdy impuls ma 50% szansy całkowicie ominąć tarcze i trafić w kadłub. Zadaje o 30% mniej obrażeń niż laser wiązkowy z takimi samymi parametrami i zużywa o 30% więcej energii.", + "Wystrzeliwuje rakietę prosto w kierunku celownika. Większe obrażenia i eksplozja obszarowa. Zużywa amunicję rakietową.", + "Wytwarzane z minerałów, odzyskiwane z przedmiotów i wraków. Do napraw.", + "Wąska szczelina prowadzi do najbogatszej części złoża. Każde uderzenie narzędzia odbija się głuchym echem.", + "Wędrowiec", + "Wędrowny handlarz", + "Wśród zwietrzałych skał połyskują drobiny rzadkich minerałów. Wystarczy ostrożnie oddzielić je od podłoża.", + "Z załogantem: %.1f–%.1f deuteru/min (zarządzanie 1–100).", + "ZATRUDNIJ · %d KREDYTÓW", + "ZBUDUJ PLACÓWKĘ · %d CZĘŚCI", + "ZBUDUJ SEKCJĘ", + "ZBUDUJ SKŁAD", + "ZUŻYTY", + "ZUŻYWALNY", + "ZWOLNIJ ZAŁOGANTA", + "ZWYKŁE %02d", + "Za stalową kratą zachowały się regały z wojskowym zaopatrzeniem. Rdza utrudnia dostęp do ciężkich pojemników.", + "Zadokuj statkiem, aby rozbudować sloty.", + "Zagrożenie %.1f%% / 300%% · Łup POI ×%.2f", + "Zagrożenie po sprzęcie: %.1f%% / 300%% (bez sprzętu %.1f%%).", + "Zajęte miejsca", + "Zakończ grę", + "Zakończ pomoc i zachowaj dotychczasową zapłatę", + "Zakończ wyprawę i wróć do układu startowego. Powrót jest bezpłatny.", + "Zakończono pomoc. Dotychczasowa zapłata pozostaje w ładowni wyprawy.", + "Zakres przed krytykiem i obroną przeciwnika.", + "Zakupy za kredyty tańsze o %d%%.", + "Zakłócenia systemów obcych", + "Zamieć śnieżna", + "Zapisano grę.", + "Zapisz grę", + "Zapisz i wróć do menu", + "Zapisz i wyjdź", + "Zarządca opuszczanego punktu przeładunkowego sprzedaje ostatnie zapasy. Za podaną kwotę możesz zabrać przygotowany zestaw części albo jeden z zaplombowanych pakietów odzyskanych z transportu. Otwarty zestaw jest skromny, ale sprawdzony. W zamkniętych pakietach zdarzały się wartościowe podzespoły — oraz materiały, których nikt nie chciał kupić.", + "Zarządzanie: %d / 100\nPremia do wydobycia: +%d%%\nPochodzenie: %s", + "Zasady łączenia", + "Zasięg", + "Zasięg działka: %.0f px • Magazynek: 50 pocisków • Koszt rozstawienia: 50 amunicji", + "Zasięg skanera", + "Zasięg: %.0f px • Amunicja: %d / strzał", + "Zasięg: %.0f px • Energia: %.1f / strzał", + "Zasięg: %.0f px • Napromieniowana amunicja: 1 / strzał", + "Zasobność: %d / 100", + "Zasobność: %d / 100 · złoże niewyczerpywalne", + "Zatrudnienie wymaga wolnej, zbudowanej kajuty i kredytów: 1000 × zarządzanie.", + "Załogant zajął wolną kajutę na fregacie. Przydziel go do stacji w centrum dowodzenia.", + "Zbicie tarczy obcego razi pozostałych obcych w promieniu 120 px za 400% obrażeń trafienia, które zbiło tarczę. Bez reakcji łańcuchowych. Ten sam wróg wywołuje impuls najwyżej raz na 10 s.", + "Zbieracz złomu", + "Zbierz łup i wróć do frachtowca", + "Zbuduj podnośnik i pomóż kierowcy", + "Zdobądź brakujące surowce z asteroid", + "Zielony laser pulsacyjny. Trafienie napromieniowuje: 100% obrażeń impulsu na sekundę przez 10 s. Kolejne impulsy odświeżają czas, działa najmocniejsze napromieniowanie.", + "Zleć skan skrytki", + "Znajdź zamieszkaną planetę", + "Znaleziono moduł", + "Znaleziska są w ładowni wyprawy. Zachowasz je po bezpiecznym powrocie na statek.", + "Zostawia minę na 60 s. Uzbraja się po 0,7 s. Trafiony wróg otrzymuje obrażenia równe 5% maksymalnego kadłuba (bez redukcji absorpcji) i zwalnia o 50% na 5 s. Zrzut co 5 s.", + "Zostawia minę na 60 s. Uzbraja się po 0,7 s. Wykrywa bliski przelot wroga. Wybuch w promieniu 140 jednostek zadaje każdemu wrogowi 50% aktualnego kadłuba bez redukcji absorpcji (tarcze pochłaniają obrażenia) i spowalnia o 50% na 5 s.", + "Zużycie amunicji mniejsze o %d%%. Obejmuje zwykłą i napromieniowaną amunicję, bez rakiet.", + "Zużywa 70% maksymalnej energii i tworzy osobną tarczę o pojemności 50% aktualnych maksymalnych tarcz statku. Większa, fioletowa osłona pochłania obrażenia przed zwykłymi tarczami. Działa do wyczerpania, nie regeneruje się i nie nakłada się na kolejną kopię. Dokowanie i Przekierowanie zasilania ją wyłączają.", + "Zwiększa maksymalne tarcze o 10%. Zakup nie uzupełnia osłon.", + "Zwiększa maksymalny kadłub twojego statku o 10%. Zakup nie odnawia utraconego kadłuba.", + "Zwiększa maksymalną pojemność energii.", + "Zwiększa maksymalną pojemność tarcz i stale je regeneruje.", + "Zwiększa maksymalną pojemność tarcz statku i stale je regeneruje.", + "Zwiększa maksymalną wytrzymałość kadłuba.", + "Zwiększa szansę na przedmiot o 1 poziom wyższy. Sumuje się z Farciarzem, do wspólnego limitu 60%.", + "Zwiększa tempo strzałów tej broni. Koszt pojedynczego strzału pozostaje bez zmian. Limit bonusu: 25%.", + "Zwiększa zasięg stałego skanera wykrywającego wrogów, asteroidy, wraki i antyczne znaleziska.", + "Zwykła", + "Zwykła amunicja", + "Zwykły", + "Zwykły lot: do 240 px/s. TAB: do 480 px/s. Aktywny dopalacz: do 600 px/s.", + "Złomiarz wyciągnął z wraku zamknięty kontener. Plomba wygląda na nienaruszoną, ale tabliczka ładunkowa została wypalona podczas wejścia w atmosferę. Sprzedawca nie zamierza tracić czasu na otwieranie zabezpieczeń. Podaje cenę za całość i zapewnia, że poprzedni kupujący trafił świetnie. O wcześniejszych klientach mówi już mniej chętnie.", + "Złoże surowców", + "[font_size=16][color=#f1bd79]Buduj własny styl gry[/color][/font_size]\n\n[color=#91dbea][b]Wyposażenie[/b][/color]\nKliknij panel statku w prawym górnym rogu i otwórz magazyn. Przeciągaj przedmioty do pasujących slotów: maksymalnie 3 bronie, 5 modułów i 5 rozszerzeń. Na początku dostępny jest 1 slot broni i 1 rozszerzenia. Pierwszy dodatkowy slot broni kosztuje 100 tytanu, drugi 500. Rozszerzenia kosztują po 40 żelaza, aluminium i tytanu, a każdy kolejny slot podwaja ten koszt (80, 160, 320). Ładownia zaczyna z 5 miejscami; każde kolejne miejsce kosztuje 100 żelaza i 50 aluminium. Sloty odblokowujesz w hangarze fregaty. Po zbudowaniu składu modułów zakładka Magazyn na frachtowcu pozwala odkładać i odbierać wyposażenie. Aktywne rozszerzenia uruchamiasz klawiszami 1–5; pasywne (oznaczone P) działają automatycznie w tych samych slotach. Najedź kursorem, żeby sprawdzić parametry i porównanie wyposażenia.\n\n[color=#91dbea][b]Nie każdy duplikat jest taki sam[/b][/color]\nBroń i moduły mogą mieć różne parametry oraz addony. Aktywne rozszerzenia losują cooldown od 30 do 5 pełnych sekund. Pasywne mają losowaną siłę efektu: Recykler odnawia tarcze i energię po zebraniu odłamka, Wirus przejmuje uciekających wrogów, a Pancerz z tytanu ogranicza obrażenia przy niskim kadłubie. Krótsze odnowienia są rzadkie — przed rozłożeniem porównaj egzemplarze. Rozszerzenia tego samego typu dzielą aktywne odnowienie.\n\n[color=#91dbea][b]Umiejętności kapitana[/b][/color]\nZa pokonanych wrogów zdobywasz doświadczenie i kredyty. Trudniejsze układy dają więcej bazowego XP. Jeśli kapitan przewyższa poziom układu o ponad 2 poziomy, XP za przeciwników i ruiny maleje; przy przewadze 8 poziomów spada do zera. Kredyty i surowce nadal zbierasz. Po awansie wybierasz umiejętność. Pasywne działają stale, aktywne przypisujesz do F1–F5.\n\n[color=#f1bd79][b]Okno umiejętności nie pauzuje gry.[/b][/color]\nOtwieraj je w bezpiecznym miejscu. Przed kolejnym układem uzupełnij zapasy i sprawdź wyposażenie.", + "[font_size=16][color=#f1bd79]Dźwięki otoczenia[/color][/font_size]\n\n[b]Blender Foundation — Ambient Bird, Cricket and Frog (Yo Frankie!)[/b]\nOdgłosy świerszcza i żaby, udostępnione przez Lamoot:\nhttps://opengameart.org/content/ambient-bird-cricket-and-frog\nLicencja Creative Commons Attribution 3.0:\nhttps://creativecommons.org/licenses/by/3.0/\nZmiany: filtrowanie, płynne początki i zakończenia, zmiana wysokości żaby oraz konwersja do stereo 48 kHz. Autorzy nie są powiązani z tą grą.\n\n[b]Nagrania na licencji CC0[/b]\nThimras — Park ambiences (wiatr).\nIwan „qubodup” Gabovitch — 20 Rustles of dry leaves.\nisaiah658 — Ambient Bird Sounds.\nRudmer_Rotteveel — Wood Creak Single V7.\n\n[b]Wnętrze fregaty — CC0[/b]\nLEGIT Audio — The Shop (bezpłatne próbki OpenGameArt).\nbart — 68 Workshop Sounds i Steam release sounds.\nKenney — Sci-Fi Sounds.\n\nSzczegółowe źródła i zakres obróbki znajdują się w plikach CREDITS.md i manifest.json przy zasobach audio.", + "[font_size=16][color=#f1bd79]Opanuj statek[/color][/font_size]\n\n[color=#91dbea][b]W[/b][/color] — ciąg do przodu.\n[color=#91dbea][b]S[/b][/color] — hamowanie; po zatrzymaniu lot wstecz.\n[color=#91dbea][b]A / D[/b][/color] — obracanie statku.\n[color=#91dbea][b]Q / E[/b][/color] — ruch boczny w lewo / prawo.\n[color=#91dbea][b]TAB[/b][/color] — dopalanie: większa prędkość kosztem energii.\n\n[color=#91dbea][b]Kursor myszy[/b][/color] — celowanie.\n[color=#91dbea][b]LPM / PPM / ŚPM[/b][/color] — strzelanie z trzech slotów broni.\n[color=#91dbea][b]1–5[/b][/color] — użycie zamontowanych rozszerzeń.\n[color=#91dbea][b]F1–F5[/b][/color] — aktywne umiejętności kapitana.\n[color=#91dbea][b]R[/b][/color] — użycie powerbanku, jeśli masz go w zapasach.\n\nStatek ma bezwładność. Obrót nie zatrzymuje ruchu — hamuj wcześniej i wykorzystuj ruch boczny, żeby unikać ostrzału.", + "[font_size=16][color=#f1bd79]Twój pierwszy układ[/color][/font_size]\n\nWybierz statek przyciskiem [b]Nowa wyprawa[/b]. Każdy kadłub ma inne parametry — na początek wybierz ten, który pasuje do Twojego stylu.\n\n[color=#91dbea][b]1. Pokonaj zwykłych wrogów[/b][/color]\nOdszukuj przeciwników, rozwijaj wyposażenie i pilnuj zasobów. Aktualny cel znajdziesz w lewym dolnym rogu ekranu.\n\n[color=#91dbea][b]2. Pokonaj bossa[/b][/color]\nGdy zniszczysz pozostałych wrogów, w układzie pojawi się boss. Przygotuj zapas amunicji i sprawdź kadłub przed walką.\n\n[color=#91dbea][b]3. Znajdź zamieszkaną planetę[/b][/color]\nPo zwycięstwie podleć do zamieszkanej planety. Skorzystaj z usług i otwórz wormhole. Wleć w jego środek, żeby przejść do następnego, trudniejszego układu.", + "[font_size=16][color=#f1bd79]Wróć z wyprawy[/color][/font_size]\n\n[color=#91dbea][b]Tarcze, kadłub i energia[/b][/color]\nTarcze pochłaniają obrażenia przed kadłubem. Utrata całego kadłuba oznacza zniszczenie statku. Energia zasila część broni oraz dopalanie; odnawia się z czasem, szybciej przy gwieździe.\n\n[color=#91dbea][b]Dobieraj broń do zapasów[/b][/color]\nBroń energetyczna zużywa energię. Działko maszynowe potrzebuje zwykłej amunicji, gamma — napromieniowanej, a wyrzutnie — rakiet. Puste zapasy oznaczają brak strzału. Absorpcja ogranicza obrażenia danego typu.\n\n[color=#91dbea][b]Korzystaj z rozszerzeń[/b][/color]\nMiny atakują obszarowo, flary odciągają uwagę, kamuflaż pomaga zerwać kontakt, teleport przenosi w bezpieczne miejsce, a drony wspierają ostrzał. Doładowanie tarcz działa przy gwieździe. Sprawdzaj koszt i cooldown w opisie.\n\n[color=#f1bd79][b]Uważaj na uciekających przeciwników[/b][/color]\nWróg z kadłubem poniżej 10% ucieka wolniej, ale może zostawić minę. Nie leć bezmyślnie prosto za nim.", + "[b]Wyprawy na planety[/b]\n\nPierwsze planety są łagodne. W kolejnych układach eksploracja jest trudniejsza, ale znaleziska są bogatsze. Dopasuj poziom wyposażenia kapitana do poziomu planety: aparat oddechowy pomaga w jaskiniach, skafander przy wydobyciu i ruinach, a broń ręczna w magazynach i osadach.\n\nPodleć do planety EARTHLIKE. F pokazuje informacje, a L rozpoczyna lądowanie. Lądownik musi mieć 100 HP przed startem; lądowanie uszkadza kadłub. Podczas walki nie można lądować.\n\nNa powierzchni: W — ciąg, S — hamowanie i wstecz, A/D — obrót, Q/R — ruch boczny, TAB — dopalanie. Przy POI naciśnij E. Najpierw zobaczysz przewidywaną nagrodę i uszkodzenia. Samo otwarcie okna niczego nie zużywa. Potwierdź eksplorację przyciskiem lub drugim naciśnięciem E.\n\nNiektóre miejsca oferują dodatkowe znaleziska. Przeszukanie głębiej daje więcej łupu, ale mocniej uszkadza lądownik. Niski kadłub może oznaczać utratę całej zdobyczy tej wyprawy. L pozwala wrócić z dotychczasowym łupem. Spotkania oznaczone pytajnikiem również otwierasz klawiszem E.\n\n[b]Frachtowiec i postęp[/b]\nPrzy gwieździe centralnej zadokuj klawiszem L. Hangar naprawia lądownik za części. Warsztat produkuje zaopatrzenie i kolejne poziomy wyposażenia kapitana. Laboratorium prowadzi badania.\n\nEsc otwiera pauzę, nazwane zapisy i opcje. Wczytanie zachowuje postęp oraz wyposażenie i zaczyna bieżący poziom od początku.", + "[font_size=16][color=#f1bd79]Zbieraj. Porównuj. Twórz.[/color][/font_size]\n\n[color=#91dbea][b]Łup zbierasz przez podlecenie[/b][/color]\nPrzedmioty w pobliżu są przyciągane do statku. Magazyn mieści 20 przedmiotów; przy pełnym magazynie zwolnij miejsce, żeby zebrać kolejny.\n\n[color=#91dbea][b]Asteroidy zostawiają fizyczne odłamki[/b][/color]\nStrzelaj do asteroid. Po zniszczeniu rozpadają się bazowo na 5–7 poszarpanych fragmentów. Każdy to jedna jednostka surowca — musisz go zebrać. Umiejętność górnika zwiększa uzysk.\n\n[color=#91dbea][b]Przeszukuj wraki[/b][/color]\nPodleć do wraku i przytrzymaj E, aby go przeszukać. Wraki dają surowce (65%), amunicję lub rakiety (łącznie 20%) albo moduł (15%).\n\n[color=#91dbea][b]Warsztat fregaty — produkcja[/b][/color]\nZadokuj na fregacie i wybierz Warsztat. Tam wytworzysz amunicję, rakiety, części, powerbanki i wyposażenie kapitana. Koszt sprawdzisz w podpowiedzi przycisku produkcji.\n\n[color=#91dbea][b]Odzyskuj części[/b][/color]\nNajedź na zbędny przedmiot w magazynie i użyj przycisku rozłożenia. Części przydadzą się do napraw.", + "_boss_spawned", + "aluminium", + "beam_laser", + "boss", + "boss_spawned", + "brak", + "brak łupu", + "deuter", + "hangar", + "is_boss_alive", + "normal", + "normal_font", + "normal_font_size", + "pending_boss", + "player_start", + "przenieś na fregatę", + "pulse_laser", + "radiation_laser", + "start", + "start_boost", + "zwykły", + "Ładowanie słoneczne", + "Ładowanie tarcz", + "Ładownia", + "Łagodna biosfera", + "Łowca nagród", + "Łup i wytwarzanie", + "Łup ×%.2f · sprzęt ×%.2f · odzysk %.0f%%\nZagrożenie po ochronie: %.1f%% / 300%%", + "Łup: ", + "Łącznie do 10% faktycznie zadanych obrażeń. Tempo: do 5% maksymalnych tarcz/s, z rezerwą na jedno takie odnowienie.", + "Łączny DPS", + "ŚPM", + "Śmiertelne trafienie zostawia 1 punkt kadłuba i daje 2 s niewrażliwości. Raz na wyprawę lub wejście do zwykłego układu. Dokowanie ani restart po porażce nie odnawiają efektu.", + "Źródło: %s · poziom %d", + "Żelazo", + "Żelazo %d · Części %d", + "Żmija", + "żelaza", + "‹ WRÓĆ / ESC" +] \ No newline at end of file diff --git a/resources/localization/supplemental.tsv b/resources/localization/supplemental.tsv new file mode 100644 index 0000000..d0353f6 --- /dev/null +++ b/resources/localization/supplemental.tsv @@ -0,0 +1,376 @@ +Naukowiec Wissenschaftler Científico Scientist Scientifique +PRZEWIDYWANA NAGRODA ERWARTETE BELOHNUNG RECOMPENSA PREVISTA EXPECTED REWARD RÉCOMPENSE PRÉVUE +Podejmij eksplorację [E] Erkundung starten [E] Iniciar exploración [E] Begin exploration [E] Commencer l'exploration [E] +DODATKOWE ZNALEZISKA ZUSÄTZLICHE FUNDE HALLAZGOS ADICIONALES ADDITIONAL FINDS TROUVAILLES SUPPLÉMENTAIRES +Przeszukaj głębiej Tiefer durchsuchen Explorar más a fondo Search deeper Fouiller plus profondément +Moduły: %d · poziom %d–%d Module: %d · Stufe %d–%d Módulos: %d · nivel %d–%d Modules: %d · level %d–%d Modules : %d · niveau %d–%d +Uszkodzenia lądownika: %d–%d HP Landemodul-Schaden: %d–%d HP Daño al módulo: %d–%d PV Lander damage: %d–%d HP Dégâts à l'atterrisseur : %d–%d PV +Uszkodzenia lądownika: −%d HP Landemodul-Schaden: −%d HP Daño al módulo: −%d PV Lander damage: −%d HP Dégâts à l'atterrisseur : −%d PV +Lądownik może zostać zniszczony. Utracisz cały łup tej wyprawy. Das Landemodul kann zerstört werden. Du verlierst die gesamte Beute dieser Expedition. El módulo puede ser destruido. Perderás todo el botín de esta expedición. The lander may be destroyed. You will lose all loot from this expedition. L'atterrisseur risque d'être détruit. Vous perdrez tout le butin de cette expédition. +Przewidywane uszkodzenia lądownika: 0–%d HP Erwarteter Landemodul-Schaden: 0–%d HP Daño previsto al módulo: 0–%d PV Expected lander damage: 0–%d HP Dégâts prévus à l'atterrisseur : 0–%d PV +Ten etap jest niedostępny z obecnym wyposażeniem. Diese Etappe ist mit der aktuellen Ausrüstung nicht verfügbar. Esta etapa no está disponible con el equipo actual. This stage is unavailable with your current equipment. Cette étape est indisponible avec votre équipement actuel. +Sprawdź wymagane zasoby. Prüfe die benötigten Ressourcen. Comprueba los recursos necesarios. Check the required resources. Vérifiez les ressources requises. + · dodatkowe znaleziska · zusätzliche Funde · hallazgos adicionales · additional finds · trouvailles supplémentaires +[E] Zaplanuj eksplorację [E] Erkundung planen [E] Planear exploración [E] Plan exploration [E] Préparer l'exploration +%s · Poziom %d\nLądowanie: −%d HP\nLądownik: %d / 100 HP\nPOI: podleć i naciśnij E, aby zaplanować eksplorację. %s · Stufe %d\nLandung: −%d HP\nLandemodul: %d / 100 HP\nPOI: nähern und E drücken, um die Erkundung zu planen. %s · Nivel %d\nAterrizaje: −%d PV\nMódulo: %d / 100 PV\nPOI: acércate y pulsa E para planear la exploración. %s · Level %d\nLanding: −%d HP\nLander: %d / 100 HP\nPOI: approach and press E to plan exploration. %s · Niveau %d\nAtterrissage : −%d PV\nAtterrisseur : %d / 100 PV\nPOI : approchez et appuyez sur E pour préparer l'exploration. +Dopasuj poziom wyposażenia do planety, aby odzyskać więcej łupu i ograniczyć uszkodzenia lądownika. Passe die Ausrüstungsstufe dem Planeten an, um mehr Beute zu bergen und Landemodul-Schäden zu verringern. Adapta el nivel del equipo al planeta para recuperar más botín y reducir daños al módulo. Match equipment level to the planet to recover more loot and reduce lander damage. Adaptez le niveau de l'équipement à la planète pour récupérer plus de butin et limiter les dégâts à l'atterrisseur. +Pomaga podczas eksploracji jaskiń i miejsc z trudną atmosferą. Hilft bei der Erkundung von Höhlen und schwierigen Atmosphären. Ayuda a explorar cuevas y lugares de atmósfera difícil. Helps explore caves and difficult atmospheres. Aide à explorer les grottes et les atmosphères difficiles. +Pomaga przy wydobyciu i eksploracji niestabilnych ruin. Hilft beim Abbau und der Erkundung instabiler Ruinen. Ayuda a extraer recursos y explorar ruinas inestables. Helps with extraction and exploring unstable ruins. Aide à l'extraction et à l'exploration de ruines instables. +Pomaga przeszukiwać magazyny i osady opanowane przez faunę. Hilft beim Durchsuchen von Lagern und von Tieren besetzten Siedlungen. Ayuda a registrar almacenes y asentamientos ocupados por fauna. Helps search warehouses and settlements occupied by wildlife. Aide à fouiller les entrepôts et colonies occupés par la faune. +Dopasuj poziom wyposażenia do poziomu planety. Passe die Ausrüstungsstufe der Planetenstufe an. Adapta el nivel del equipo al nivel del planeta. Match equipment level to planet level. Adaptez le niveau de l'équipement au niveau de la planète. +RANDOLOOT / SYSTEMY POKŁADOWE RANDOLOOT / BORDSYSTEME RANDOLOOT / SISTEMAS DE A BORDO RANDOLOOT / ONBOARD SYSTEMS RANDOLOOT / SYSTÈMES DE BORD +Dostosuj dźwięk, ekran i język swojej wyprawy. Passe Ton, Anzeige und Sprache deiner Expedition an. Ajusta sonido, pantalla e idioma de tu expedición. Adjust sound, display and language for your expedition. Réglez le son, l'affichage et la langue de votre expédition. +USTAWIENIA / KOMPUTER POKŁADOWY EINSTELLUNGEN / BORDCOMPUTER AJUSTES / COMPUTADORA DE A BORDO SETTINGS / ONBOARD COMPUTER PARAMÈTRES / ORDINATEUR DE BORD +01 / DŹWIĘK 01 / TON 01 / SONIDO 01 / SOUND 01 / SON +02 / OBRAZ 02 / ANZEIGE 02 / PANTALLA 02 / DISPLAY 02 / AFFICHAGE +03 / JĘZYK 03 / SPRACHE 03 / IDIOMA 03 / LANGUAGE 03 / LANGUE +Język interfejsu Oberflächensprache Idioma de interfaz Interface language Langue de l'interface +Ustawienia są zapamiętywane między uruchomieniami. Einstellungen bleiben nach dem Neustart erhalten. Los ajustes se conservan entre sesiones. Settings are remembered between sessions. Les paramètres sont conservés entre les sessions. +ZAPISZ WYPRAWĘ EXPEDITION SPEICHERN GUARDAR EXPEDICIÓN SAVE EXPEDITION SAUVEGARDER L'EXPÉDITION +WCZYTAJ WYPRAWĘ EXPEDITION LADEN CARGAR EXPEDICIÓN LOAD EXPEDITION CHARGER L'EXPÉDITION +Nadaj nazwę nowemu zapisowi lub wybierz zapis do nadpisania. Benenne einen neuen Spielstand oder wähle einen zum Überschreiben. Nombra una nueva partida o elige una para sobrescribir. Name a new save or choose one to overwrite. Nommez une nouvelle sauvegarde ou choisissez-en une à remplacer. +Wybierz zapis i wróć do swojej wyprawy. Wähle einen Spielstand und kehre zur Expedition zurück. Elige una partida y vuelve a tu expedición. Choose a save and return to your expedition. Choisissez une sauvegarde et reprenez votre expédition. +ARCHIWUM / DZIENNIK POKŁADOWY ARCHIV / BORDBUCH ARCHIVO / DIARIO DE A BORDO ARCHIVE / SHIP LOG ARCHIVES / JOURNAL DE BORD +Nazwa zapisu Spielstandname Nombre de partida Save name Nom de sauvegarde +Nowy zapis Neuer Spielstand Nueva partida guardada New save Nouvelle sauvegarde +ZAPISANE WYPRAWY GESPEICHERTE EXPEDITIONEN EXPEDICIONES GUARDADAS SAVED EXPEDITIONS EXPÉDITIONS SAUVEGARDÉES +DANE WYPRAWY EXPEDITIONSDATEN DATOS DE EXPEDICIÓN EXPEDITION DETAILS DÉTAILS DE L'EXPÉDITION +Wczytanie rozpoczyna poziom od początku. Postęp i wyposażenie zostają zachowane. Laden startet das Level neu. Fortschritt und Ausrüstung bleiben erhalten. Cargar reinicia el nivel. Se conservan el progreso y el equipo. Loading restarts the level. Progress and equipment are retained. Charger reprend au début du niveau. Progression et équipement conservés. +Nie ma jeszcze zapisanych wypraw. Noch keine gespeicherten Expeditionen. Aún no hay expediciones guardadas. No saved expeditions yet. Aucune expédition sauvegardée pour le moment. +Układ %d · Kapitan %d System %d · Kapitän %d Sistema %d · Capitán %d System %d · Captain %d Système %d · Capitaine %d +Układ %d\nKapitan · poziom %d\nKredyty: %d System %d\nKapitän · Stufe %d\nCredits: %d Sistema %d\nCapitán · nivel %d\nCréditos: %d System %d\nCaptain · level %d\nCredits: %d Système %d\nCapitaine · niveau %d\nCrédits : %d +Nowy zapis\nUkład %d\nKapitan · poziom %d Neuer Spielstand\nSystem %d\nKapitän · Stufe %d Nueva partida\nSistema %d\nCapitán · nivel %d New save\nSystem %d\nCaptain · level %d Nouvelle sauvegarde\nSystème %d\nCapitaine · niveau %d +Odzyskano z kopii zapasowej Aus Sicherung wiederhergestellt Recuperado de copia de seguridad Recovered from backup Récupéré depuis la copie de secours +Nadpisz zapis Spielstand überschreiben Sobrescribir partida Overwrite save Remplacer la sauvegarde +Automatyczny zapis Automatischer Spielstand Guardado automático Autosave Sauvegarde automatique +Zapis rozgrywki Spielstand Partida guardada Saved game Sauvegarde +Wczytaj grę Spiel laden Cargar partida Load game Charger une partie +WCZYTAJ GRĘ SPIEL LADEN CARGAR PARTIDA LOAD GAME CHARGER UNE PARTIE +Wybierz wyprawę z archiwum zapisów Expedition aus dem Archiv wählen Elige una expedición del archivo Choose an expedition from the save archive Choisissez une expédition dans les archives +Twoja wyprawa czeka. Wybierz, co chcesz zrobić. Deine Expedition wartet. Wähle eine Aktion. Tu expedición espera. Elige qué hacer. Your expedition awaits. Choose what to do. Votre expédition vous attend. Choisissez une action. +ŁĄCZE / MENU POKŁADOWE VERBINDUNG / BORDMENÜ ENLACE / MENÚ DE A BORDO LINK / ONBOARD MENU LIAISON / MENU DE BORD +Gwiazda centralna Zentralstern Estrella central Central star Étoile centrale +ADDONY (aktywne po zamontowaniu) ATTRIBUTE (nach Einbau aktiv) ATRIBUTOS (activos al instalar) MODIFIERS (active when installed) MODIFICATEURS (actifs après installation) +ADDONY (aktywne ATTRIBUTE (aktiv ATRIBUTOS (activos MODIFIERS (active MODIFICATEURS (actifs +Cooldown po addonach: %.2f s\nZapas rakiet: %d Abklingzeit nach Attributen: %.2f s\nRaketen: %d Recarga tras atributos: %.2f s\nMisiles: %d Cooldown after modifiers: %.2f s\nMissiles: %d Recharge après modificateurs : %.2f s\nMissiles : %d +Kliknij: Klicken: Pulsa: Click: Cliquez : +Odbierz w Hangarze. Im Hangar abholen. Recoger en el hangar. Collect in the hangar. Récupérer au hangar. +Odnowienie: %d s. Abklingzeit: %d s. Recarga: %d s. Cooldown: %d s. Recharge : %d s. +Pogoda: Wetter: Clima: Weather: Météo : +Uwzględnia utratę bonusów zdejmowanego przedmiotu. Berücksichtigt verlorene Boni des abgelegten Gegenstands. Incluye perder bonus del objeto retirado. Includes lost bonuses from the removed item. Inclut les bonus perdus de l'objet retiré. +Wymaga: Benötigt: Requiere: Requires: Nécessite : +Zapas: Vorrat: Reservas: Stock: Réserve : +[E] Buduj [E] Bauen [E] Construir [E] Build [E] Construire +[E] Maksymalizuj addon [E] Attribut maximieren [E] Maximizar atributo [E] Maximize modifier [E] Maximiser le modificateur +[E] Porozmawiaj [E] Sprechen [E] Hablar [E] Talk [E] Parler +[E] Przeszukaj [E] Durchsuchen [E] Registrar [E] Search [E] Fouiller +[E] Zbierz znaleziska [E] Funde sammeln [E] Recoger hallazgos [E] Collect finds [E] Récupérer les trouvailles + · rabat %d%% · Rabatt %d%% · descuento %d%% · discount %d%% · remise %d%% + (obok planety) (neben Planet) (junto al planeta) (near planet) (près de la planète) + · mapa kupiona · Karte gekauft · mapa comprado · map purchased · carte achetée + · odwiedzono · besucht · visitado · visited · visité + · partia: %d szt. · Charge: %d Stück · lote: %d uds. · batch: %d units · lot : %d unités + · zatrudniono · rekrutiert · contratado · hired · recruté + — zamieszkana — bewohnt — habitado — inhabited — habitée +%d / %d ZBADANO %d / %d ERFORSCHT %d / %d INVESTIGADO %d / %d RESEARCHED %d / %d RECHERCHÉ +%d kr. %d Cr. %d cr. %d cr. %d cr. +%d pkt %d Pkt. %d pts. %d pts %d pts +Zapas: %s Vorrat: %s Reservas: %s Stock: %s Réserve : %s +ODNOWIENIE %d s ABKLINGZEIT %d s RECARGA %d s COOLDOWN %d s RECHARGE %d s +%s · %d szt. %s · %d Stück %s · %d uds. %s · %d units %s · %d unités +ADDONY: %d/5 ATTRIBUTE: %d/5 ATRIBUTOS: %d/5 MODIFIERS: %d/5 MODIFICATEURS : %d/5 +poz. %d St. %d Niv. %d Lv. %d Niv. %d ++%d amunicji +%d Munition +%d municiones +%d ammunition +%d munitions ++%d rakiet +%d Raketen +%d misiles +%d missiles +%d missiles +06 / PREMIE I BADANIA 06 / BONI UND FORSCHUNG 06 / BONUS E INVESTIGACIÓN 06 / BONUSES AND RESEARCH 06 / BONUS ET RECHERCHE +Absorpcja: Absorption: Absorción: Absorption: Absorption : +DALEKIE WYPRAWY / SEKTORY DO ZBADANIA FERNEXPEDITIONEN / UNERFORSCHTE SEKTOREN EXPEDICIONES LEJANAS / SECTORES POR EXPLORAR DISTANT EXPEDITIONS / UNEXPLORED SECTORS EXPÉDITIONS LOINTAINES / SECTEURS À EXPLORER +DZIENNIK PLANETARNY / WYPRAWA PLANETENLOG / EXPEDITION DIARIO PLANETARIO / EXPEDICIÓN PLANET LOG / EXPEDITION JOURNAL PLANÉTAIRE / EXPÉDITION +DZIENNIK WYPRAWY / %s EXPEDITIONSLOG / %s DIARIO DE EXPEDICIÓN / %s EXPEDITION LOG / %s JOURNAL D'EXPÉDITION / %s +Etap %d/3 · %s Etappe %d/3 · %s Etapa %d/3 · %s Stage %d/3 · %s Étape %d/3 · %s +INSTRUKCJA / AKADEMIA PILOTA ANLEITUNG / PILOTENAKADEMIE INSTRUCCIONES / ACADEMIA DE PILOTOS GUIDE / PILOT ACADEMY GUIDE / ACADÉMIE DE PILOTAGE +Każdy strzał Jeder Schuss Cada disparo Each shot Chaque tir +Kup %d rakiet · sklep: %d kr. %d Raketen kaufen · Laden: %d Cr. Comprar %d misiles · tienda: %d cr. Buy %d missiles · shop: %d cr. Acheter %d missiles · boutique : %d cr. +Kup: %s · poz. %d Kaufen: %s · St. %d Comprar: %s · niv. %d Buy: %s · lv. %d Acheter : %s · niv. %d +LĄDUJ [L] LANDEN [L] ATERRIZAR [L] LAND [L] ATTERRIR [L] +MAGAZYN · %d / %d LAGER · %d / %d ALMACÉN · %d / %d STORAGE · %d / %d STOCKAGE · %d / %d +Nagroda za sukces: Erfolgsbelohnung: Premio por éxito: Success reward: Récompense de réussite : +ODCZYT: amunicja rakietowa. Liczba sztuk nieznana. SCAN: Raketenmunition. Menge unbekannt. ESCÁNER: munición de misiles. Cantidad desconocida. SCAN: missile ammunition. Quantity unknown. SCAN : munitions de missiles. Quantité inconnue. +ORBY / SPECJALNE ULEPSZENIA ORBS / SPEZIALVERBESSERUNGEN ORBES / MEJORAS ESPECIALES ORBS / SPECIAL UPGRADES ORBES / AMÉLIORATIONS SPÉCIALES +Obecnie: %.2f %s → maksimum: %.2f %s Aktuell: %.2f %s → Maximum: %.2f %s Actual: %.2f %s → máximo: %.2f %s Current: %.2f %s → maximum: %.2f %s Actuel : %.2f %s → maximum : %.2f %s +Obecnie: %s Aktuell: %s Actual: %s Current: %s Actuel : %s +Obecny: System %d · Najdalszy odkryty: %d Aktuell: System %d · Weitestes entdeckt: %d Actual: sistema %d · Más lejano descubierto: %d Current: System %d · Furthest discovered: %d Actuel : système %d · Plus lointain découvert : %d +Obraż. krytyczne Krit. Schaden Daño crítico Crit. damage Dégâts critiques +Odnowienie: %.0f s Abklingzeit: %.0f s Recarga: %.0f s Cooldown: %.0f s Recharge : %.0f s +Otrzymano: Erhalten: Recibido: Received: Reçu : +Otrzymasz: Du erhältst: Recibirás: You receive: Vous recevrez : +POSIADASZ / WYMAGANE VORHANDEN / BENÖTIGT DISPONIBLE / REQUERIDO OWNED / REQUIRED DISPONIBLE / REQUIS +PUSTELNIK / KARTOGRAF EINSIEDLER / KARTOGRAF ERMITAÑO / CARTÓGRAFO HERMIT / CARTOGRAPHER ERMITE / CARTOGRAPHE +Pustelnik / Kartograf Einsiedler / Kartograf Ermitaño / Cartógrafo Hermit / Cartographer Ermite / Cartographe +Paliwo: %d deuteru Treibstoff: %d Deuterium Combustible: %d deuterio Fuel: %d deuterium Carburant : %d deutérium +Regeneracja generatora: +%.1f /s Generatorregeneration: +%.1f /s Regeneración del generador: +%.1f /s Generator regeneration: +%.1f /s Régénération du générateur : +%.1f /s +Regeneracja tarcz: +%.1f pkt/s Schildregeneration: +%.1f Pkt./s Regeneración de escudos: +%.1f pts/s Shield regeneration: +%.1f pts/s Régénération des boucliers : +%.1f pts/s +Skróc. cooldownu rakiet Raketen-Abklingzeitreduktion Reducción recarga misiles Missile cooldown reduction Réduction recharge missiles +Slot zablokowany. Odblokowuj kolejne miejsca w hangarze fregaty.\nNastępny slot: Slot gesperrt. Weitere Plätze im Fregattenhangar freischalten.\nNächster Slot: Ranura bloqueada. Desbloquea más en hangar de fragata.\nPróxima ranura: Slot locked. Unlock more in the frigate hangar.\nNext slot: Emplacement bloqué. Débloquez au hangar de la frégate.\nProchain emplacement : +Slot: %s Slot: %s Ranura: %s Slot: %s Emplacement : %s +Typ obrażeń: Schadenstyp: Tipo de daño: Damage type: Type de dégâts : +Typ: Typ: Tipo: Type: Type : +Uruchom prototyp · podstawa: %d kr. Prototyp starten · Basis: %d Cr. Iniciar prototipo · base: %d cr. Start prototype · base: %d cr. Lancer le prototype · base : %d cr. +WYTWORZONO: %s ×%d HERGESTELLT: %s ×%d FABRICADO: %s ×%d CRAFTED: %s ×%d FABRIQUÉ : %s ×%d +Z PLANET: VON PLANETEN: DE PLANETAS: FROM PLANETS: DES PLANÈTES : +ZMIANY PO ZAŁOŻENIU ÄNDERUNGEN NACH AUSRÜSTEN CAMBIOS AL EQUIPAR CHANGES WHEN EQUIPPED CHANGEMENTS APRÈS ÉQUIPEMENT +Zadokuj, aby naprawić lądownik, rozbudować statek i przenieść wyposażenie. Andocken, um Landemodul zu reparieren, Schiff auszubauen und Ausrüstung zu übertragen. Atraca para reparar módulo, ampliar nave y transferir equipo. Dock to repair the lander, expand your ship and transfer gear. Amarrez-vous pour réparer l'atterrisseur, agrandir le vaisseau et transférer l'équipement. +Zakwaterowanie: Kajuta %02d Unterkunft: Kabine %02d Alojamiento: camarote %02d Accommodation: cabin %02d Logement : cabine %02d +Zapas paliwa: %.1f deuteru Treibstoffvorrat: %.1f Deuterium Reserva: %.1f deuterio Fuel stock: %.1f deuterium Réserve de carburant : %.1f deutérium +Zapas: %d Vorrat: %d Reservas: %d Stock: %d Réserve : %d +Zmiana statystyk statku: Änderung der Schiffswerte: Cambio de estadísticas: Ship stat changes: Changements des statistiques : +[%s] Pusty slot — przypisz skill w panelu kapitana [%s] Leerer Slot — Fähigkeit im Kapitänsfenster zuweisen [%s] Ranura vacía — asigna habilidad en el panel del capitán [%s] Empty slot — assign a skill in the captain panel [%s] Emplacement vide — affectez une compétence dans le panneau du capitaine +[R] +10% energii [R] +10% Energie [R] +10% energía [R] +10% energy [R] +10% énergie +odbierz do statku ins Schiff übernehmen recoger a la nave retrieve into ship récupérer dans le vaisseau +Średni DPS z krytykami i cooldownem.\nBez ograniczeń energii i amunicji.\nAddony uwzględniają zdjęcie obecnej broni. Mittlerer DPS mit kritischen Treffern und Abklingzeit.\nOhne Energie- und Munitionsgrenzen.\nAttribute berücksichtigen Entfernen der aktuellen Waffe. DPS medio con críticos y recarga.\nSin límites de energía ni munición.\nIncluye retirar el arma actual. Average DPS with critical hits and cooldown.\nWithout energy or ammunition limits.\nModifiers include removing the current weapon. DPS moyen avec critiques et recharge.\nSans limites d'énergie ni de munitions.\nLes modificateurs incluent le retrait de l'arme actuelle. +← ODBIERZ ← ABHOLEN ← RECOGER ← RETRIEVE ← RÉCUPÉRER +← Odbierz wszystko ← Alles abholen ← Recoger todo ← Retrieve all ← Tout récupérer +● FREGATA / POŁĄCZENIE GOTOWE ● FREGATTE / VERBINDUNG BEREIT ● FRAGATA / CONEXIÓN LISTA ● FRIGATE / CONNECTION READY ● FRÉGATE / CONNEXION PRÊTE +● OPERACYJNE ● BETRIEBSBEREIT ● OPERATIVO ● OPERATIONAL ● OPÉRATIONNEL +● RAPORT WYPRAWY ● EXPEDITIONSBERICHT ● INFORME DE EXPEDICIÓN ● EXPEDITION REPORT ● RAPPORT D'EXPÉDITION +● STACJA / ZAOPATRZENIE ● STATION / VERSORGUNG ● ESTACIÓN / SUMINISTROS ● STATION / SUPPLIES ● STATION / RAVITAILLEMENT +● TELEMETRIA / DANE PLANETY ● TELEMETRIE / PLANETENDATEN ● TELEMETRÍA / DATOS DEL PLANETA ● TELEMETRY / PLANET DATA ● TÉLÉMÉTRIE / DONNÉES PLANÉTAIRES +● W REMONCIE ● IM UMBAU ● EN OBRAS ● UNDER CONSTRUCTION ● EN TRAVAUX +● ŁĄCZE ORBITALNE ● ORBITALVERBINDUNG ● ENLACE ORBITAL ● ORBITAL LINK ● LIAISON ORBITALE +Wczytaj Laden Cargar Load Charger +WYBIERZ I WYSTARTUJ › WÄHLEN UND STARTEN › ELEGIR Y DESPEGAR › SELECT AND LAUNCH › CHOISIR ET DÉCOLLER › +Rusznikarz Waffenschmied Armero Gunsmith Armurier +Specjalista rakietowy Raketenspezialist Especialista en misiles Missile specialist Spécialiste des missiles +Procedura awaryjna Notfallprozedur Procedimiento de emergencia Emergency procedure Procédure d'urgence +Elektryk Elektriker Electricista Electrician Électricien +Farciarz Glückspilz Afortunado Lucky Chanceux +Eksplorator Entdecker Explorador Explorer Explorateur +Rekin biznesu Geschäftshai Tiburón de negocios Business shark Requin des affaires +Manewr taktyczny Taktisches Manöver Maniobra táctica Tactical maneuver Manœuvre tactique +Przekierowanie zasilania Energieumleitung Redirección de energía Power redirect Redirection d'énergie +Regeneracja energii +%d%% przez 15 sekund. Energieregeneration +%d%% für 15 s. Regeneración de energía +%d%% durante 15 s. Energy regeneration +%d%% for 15 s. Régénération d'énergie +%d%% pendant 15 s. +ADDON DO MAKSYMALIZACJI ATTRIBUT ZUM MAXIMIEREN ATRIBUTO PARA MAXIMIZAR MODIFIER TO MAXIMIZE MODIFICATEUR À MAXIMISER +ADDONY · PO ZAMONTOWANIU ATTRIBUTE · EINGEBAUT ATRIBUTOS · INSTALADO MODIFIERS · WHEN INSTALLED MODIFICATEURS · INSTALLÉ +AKTYWNA AKTIV ACTIVA ACTIVE ACTIVE +AKTYWNA %.1f s AKTIV %.1f s ACTIVA %.1f s ACTIVE %.1f s ACTIVE %.1f s +AMUNICJA MUNITION MUNICIÓN AMMUNITION MUNITIONS +AWANS KAPITANA KAPITÄNSAUFSTIEG ASCENSO DEL CAPITÁN CAPTAIN LEVEL UP NIVEAU DU CAPITAINE +AWARYJNE GRODZIE NOTSCHOTTEN MAMPAROS DE EMERGENCIA EMERGENCY BULKHEADS CLOISONS D'URGENCE +Absorpcja energetyczna Energieabsorption Absorción energética Energy absorption Absorption énergétique +Absorpcja kinetyczna Kinetische Absorption Absorción cinética Kinetic absorption Absorption cinétique +Absorpcja radiacyjna Strahlungsabsorption Absorción radiativa Radiation absorption Absorption radiative +Akcja ratunkowa Rettungsaktion Operación de rescate Rescue operation Opération de secours +Aktywne rozszerzenie naprawcze. Aktive Reparaturerweiterung. Extensión activa de reparación. Active repair extension. Extension active de réparation. +Aktywne rozszerzenie silnika. Aktive Antriebserweiterung. Extensión activa de motor. Active engine extension. Extension active de moteur. +Aktywne rozszerzenie tarcz. Aktive Schilderweiterung. Extensión activa de escudos. Active shield extension. Extension active de boucliers. +Alpejska tundra Alpine Tundra Tundra alpina Alpine tundra Toundra alpine +Amunicja radiacyjna Strahlungsmunition Munición irradiada Irradiated ammunition Munitions irradiées +Analiza konstrukcji Strukturanalyse Análisis estructural Structural analysis Analyse structurelle +Antyczne znalezisko Antiker Fund Hallazgo antiguo Ancient discovery Découverte ancienne +Awaryjne grodzie Notschotten Mamparos de emergencia Emergency bulkheads Cloisons d'urgence +BLOKADA GESPERRT BLOQUEO LOCKED VERROUILLÉ +Bank energii Energiebank Batería Power bank Batterie +Banki energii Energiebanken Baterías Power banks Batteries +Bez zmian w bonusach. Keine Bonusänderungen. Sin cambios en bonificaciones. No bonus changes. Aucun changement de bonus. +Blokada regeneracji Regenerationssperre Bloqueo de regeneración Regeneration lock Blocage de régénération +Brakuje %.1f deuteru %.1f Deuterium fehlen Faltan %.1f deuterio Missing %.1f deuterium Il manque %.1f deutérium +Brama zapomnianych Tor der Vergessenen Puerta de los olvidados Gate of the forgotten Porte des oubliés +Burza z piorunami Gewitter Tormenta eléctrica Thunderstorm Orage +CELE ZIELE OBJETIVOS OBJECTIVES OBJECTIFS +CENTRUM DOWODZENIA KOMMANDOZENTRUM CENTRO DE MANDO COMMAND CENTER CENTRE DE COMMANDEMENT +Celne oko Scharfes Auge Ojo certero Keen eye Œil précis +Chmury i wiatr Wolken und Wind Nubes y viento Clouds and wind Nuages et vent +Cmentarz maszyn Maschinenfriedhof Cementerio de máquinas Machine graveyard Cimetière de machines +DOKUJ [L] ANDOCKEN [L] ATRACAR [L] DOCK [L] AMARRER [L] +DPS broni Waffen-DPS DPS del arma Weapon DPS DPS de l'arme +Daleka wyprawa %d Fernexpedition %d Expedición lejana %d Distant expedition %d Expédition lointaine %d +Dezorientacja celowania Zielstörung Desorientación de puntería Aim disruption Désorientation de visée +Dodaj wszystko Alles hinzufügen Añadir todo Add all Tout ajouter +Dopalacz Booster Propulsor Booster Propulseur +Dozwolone przedmioty Erlaubte Gegenstände Objetos permitidos Allowed items Objets autorisés +Drony bojowe Kampfdrohnen Drones de combate Combat drones Drones de combat +Drony naprawcze Reparaturdrohnen Drones de reparación Repair drones Drones de réparation +Dystans Distanz Distancia Distance Distance +Dzika biosfera Wilde Biosphäre Biosfera salvaje Wild biosphere Biosphère sauvage +EKWIPUNEK KAPITANA KAPITÄNSAUSRÜSTUNG INVENTARIO DEL CAPITÁN CAPTAIN INVENTORY INVENTAIRE DU CAPITAINE +ELITA ELITE ÉLITE ELITE ÉLITE +Echo dawnej cywilizacji Echo einer alten Zivilisation Eco de una civilización antigua Echo of an ancient civilization Écho d'une ancienne civilisation +Energetyczne Energie Energético Energy Énergétique +Epicki Episch Épico Epic Épique +Ewakuacja etapami Schrittweise Evakuierung Evacuación por etapas Staged evacuation Évacuation par étapes +FRACHTOWIEC FRACHTER CARGUERO FREIGHTER CARGO +Hangar · Warsztat · Magazyn Hangar · Werkstatt · Lager Hangar · Taller · Almacén Hangar · Workshop · Storage Hangar · Atelier · Stockage +FREGATA · %d FREGATTE · %d FRAGATA · %d FRIGATE · %d FRÉGATE · %d +Flary Leuchtköder Bengalas Flares Leurres +GOTOWA BEREIT LISTA READY PRÊTE +GOTOWE BEREIT LISTO READY PRÊT +GOTOWY BEREIT LISTO READY PRÊT +Jaskinia Höhle Cueva Cave Grotte +Jesienne lasy Herbstwälder Bosques otoñales Autumn forests Forêts automnales +KAJUTA %02d KABINE %02d CAMAROTE %02d CABIN %02d CABINE %02d +KRYT! KRIT! ¡CRÍT! CRIT! CRIT! +KUP %d KAUFEN %d COMPRAR %d BUY %d ACHETER %d +Kinetyczne Kinetisch Cinético Kinetic Cinétique +Kontener w ciemno Überraschungscontainer Contenedor misterioso Mystery container Conteneur mystère +Krzem Silizium Silicio Silicon Silicium +LOSUJ PRZEDMIOT · POZ. %d GEGENSTAND WÜRFELN · ST. %d SORTEAR OBJETO · NIV. %d ROLL ITEM · LV. %d TIRER UN OBJET · NIV. %d +LPM LMT Botón izquierdo LMB Bouton gauche +Legendarny Legendär Legendario Legendary Légendaire +Losowa Zufällig Aleatoria Random Aléatoire +MAGAZYN LAGER ALMACÉN STORAGE STOCKAGE +MAGAZYN FRACHTOWCA FRACHTERLAGER ALMACÉN DEL CARGUERO FREIGHTER STORAGE STOCKAGE DU CARGO +MIEJSCE ODKRYTE ORT ENTDECKT LUGAR DESCUBIERTO LOCATION DISCOVERED LIEU DÉCOUVERT +Magazyn fregaty Fregattenlager Almacén de fragata Frigate storage Stockage de la frégate +Mechanik Mechaniker Mecánico Mechanic Mécanicien +Miny Minen Minas Mines Mines +Mobilny serwis Mobiler Service Servicio móvil Mobile repairs Réparations mobiles +NAPRAWA REPARATUR REPARACIÓN REPAIR RÉPARATION +NATYCHMIAST SOFORT INSTANTÁNEO INSTANT IMMÉDIAT +NORMALNY NORMAL NORMAL NORMAL NORMAL +Napraw Reparieren Reparar Repair Réparer +Napromieniowana amunicja Strahlungsmunition Munición irradiada Irradiated ammunition Munitions irradiées +Niepospolity Ungewöhnlich Poco común Uncommon Inhabituel +Nieznana planeta Unbekannter Planet Planeta desconocido Unknown planet Planète inconnue +Nikiel Nickel Níquel Nickel Nickel +ODLOT [L] ABFLUG [L] PARTIR [L] DEPART [L] DÉPART [L] +ODWIEDZONO BESUCHT VISITADO VISITED VISITÉ +OPERACYJNY BETRIEBSBEREIT OPERATIVO OPERATIONAL OPÉRATIONNEL +OSTATNI BASTION LETZTE BASTION ÚLTIMO BASTIÓN LAST BASTION DERNIER BASTION +Odbierz Abholen Recoger Collect Récupérer +Odblokuj 1 slot · 1 Slot freischalten · Desbloquear 1 ranura · Unlock 1 slot · Débloquer 1 emplacement · +Oddychanie Atmung Respiración Breathing Respiration +Odzysk tarcz z obr. Schilde aus Schaden Escudos por daño Shields from damage Boucliers par dégâts +Opuszczona wioska Verlassenes Dorf Aldea abandonada Abandoned village Village abandonné +Opuszczony magazyn Verlassenes Lager Almacén abandonado Abandoned warehouse Entrepôt abandonné +Orb awansu Aufwertungsorb Orbe de mejora Upgrade orb Orbe d'amélioration +Orb dopalacza Booster-Orb Orbe propulsor Booster orb Orbe propulseur +Orb kinetyczny Kinetischer Orb Orbe cinético Kinetic orb Orbe cinétique +Orb polaryzacyjny Polarisationsorb Orbe de polaridad Polarization orb Orbe de polarisation +Orb przebicia Durchschlag-Orb Orbe perforante Piercing orb Orbe perforant +Orb radiacji Strahlungsorb Orbe radiactivo Radiation orb Orbe radiatif +Orb replikacji Replikationsorb Orbe de réplica Replication orb Orbe de réplication +Ostatni bastion Letzte Bastion Último bastión Last bastion Dernier bastion +PARAMETRY PARAMETER PARÁMETROS PARAMETERS PARAMÈTRES +PASYWNA PASSIV PASIVA PASSIVE PASSIVE +PASYWNE PASSIV PASIVAS PASSIVE PASSIF +POZ. %d ST. %d NIV. %d LV. %d NIV. %d +PPM RMT Botón derecho RMB Bouton droit +PROCEDURA AWARYJNA NOTFALLPROZEDUR PROCEDIMIENTO DE EMERGENCIA EMERGENCY PROCEDURE PROCÉDURE D'URGENCE +PRODUKCJA HERSTELLUNG FABRICACIÓN CRAFTING FABRICATION +PRZEDMIOT GEGENSTAND OBJETO ITEM OBJET +PRZEDMIOTY GEGENSTÄNDE OBJETOS ITEMS OBJETS +PRZYDZIEL ZUWEISEN ASIGNAR ASSIGN AFFECTER +PRZYSPIESZANIE · TRASA ZABEZPIECZONA BESCHLEUNIGEN · ROUTE GESICHERT ACELERANDO · RUTA SEGURA ACCELERATING · ROUTE SECURED ACCÉLÉRATION · ROUTE SÉCURISÉE +PUSTY LEER VACÍO EMPTY VIDE +Paliwo gotowe Treibstoff bereit Combustible listo Fuel ready Carburant prêt +Pierwsza wyprawa Erste Expedition Primera expedición First expedition Première expédition +Planety i frachtowiec Planeten und Frachter Planetas y carguero Planets and freighter Planètes et cargo +Pojemne kondensatory Große Kondensatoren Condensadores amplios Large capacitors Grands condensateurs +Pokonaj bossa Boss besiegen Derrota al jefe Defeat the boss Vaincre le boss +Posiadane Vorhanden Disponible Owned Disponible +Powerbank Energiebank Batería Power bank Batterie +Powerbanki Energiebanken Baterías Power banks Batteries +Poz. %d St. %d Niv. %d Lv. %d Niv. %d +Przyspieszenie Beschleunigung Aceleración Acceleration Accélération +Pusta stocznia Leere Werft Astillero vacío Empty shipyard Chantier naval vide +Pusty slot Leerer Slot Ranura vacía Empty slot Emplacement vide +REPLIKUJ REPLIZIEREN REPLICAR REPLICATE RÉPLIQUER +ROZBUDOWA STATKU SCHIFFSAUSBAU AMPLIACIÓN DE NAVE SHIP EXPANSION AGRANDISSEMENT DU VAISSEAU +ROZPOCZNIJ BADANIE · %d s FORSCHUNG STARTEN · %d s INICIAR INVESTIGACIÓN · %d s START RESEARCH · %d s LANCER LA RECHERCHE · %d s +ROZPROSZENIE SALWY SALVENSTREUUNG DISPERSIÓN DE SALVA SALVO DISPERSION DISPERSION DE SALVE +ROZSZ. [%d] ERW. [%d] EXT. [%d] EXT. [%d] EXT. [%d] +ROZSZERZENIA ERWEITERUNGEN EXTENSIONES EXTENSIONS EXTENSIONS +ROZSZERZENIE ERWEITERUNG EXTENSIÓN EXTENSION EXTENSION +Radiacyjna Strahlung Irradiada Irradiated Irradiée +Radiacyjne Strahlung Radiativo Radiation Radiatif +Receptura Rezept Receta Recipe Recette +Recykler Recycler Reciclador Recycler Recycleur +Regener. energii Energiereg. Regen. energía Energy regen. Régén. énergie +Regener. tarcz Schildreg. Regen. escudos Shield regen. Régén. boucliers +Regeneracja energii Energieregeneration Regeneración de energía Energy regeneration Régénération d'énergie +Regeneracja tarcz Schildregeneration Regeneración de escudos Shield regeneration Régénération des boucliers +Rozpad konstrukcji Strukturzerfall Colapso estructural Structural collapse Effondrement structurel +Rozproszenie salwy Salvenstreuung Dispersión de salva Salvo dispersion Dispersion de salve +Rozszerzenia Erweiterungen Extensiones Extensions Extensions +Rozszerzenie Erweiterung Extensión Extension Extension +Rykoszet Abpraller Rebote Ricochet Ricochet +Rzadki Selten Raro Rare Rare +SEKCJA 02 SEKTION 02 SECCIÓN 02 SECTION 02 SECTION 02 +SEKCJA 03 SEKTION 03 SECCIÓN 03 SECTION 03 SECTION 03 +SEKCJA 04 SEKTION 04 SECCIÓN 04 SECTION 04 SECTION 04 +SEKCJA ROZWOJOWA AUSBAUSEKTION SECCIÓN DE EXPANSIÓN EXPANSION SECTION SECTION D'AGRANDISSEMENT +SKOK WARP WARPSPRUNG SALTO WARP WARP JUMP SAUT WARP +SLOT %d SLOT %d RANURA %d SLOT %d EMPLACEMENT %d +STATYSTYKI STATKU SCHIFFSSTATISTIK ESTADÍSTICAS DE NAVE SHIP STATISTICS STATISTIQUES DU VAISSEAU +SUROWCE ROHSTOFFE RECURSOS RESOURCES RESSOURCES +SUROWCE Z ASTEROID ASTEROIDENROHSTOFFE RECURSOS DE ASTEROIDES ASTEROID RESOURCES RESSOURCES D'ASTÉROÏDES +Sektor dodany do listy wypraw na frachtowcu. Mapa pozwala na jeden lot. Sektor zur Expeditionsliste hinzugefügt. Karte erlaubt einen Flug. Sector añadido a expediciones. El mapa permite un vuelo. Sector added to the expedition list. Map allows one flight. Secteur ajouté aux expéditions. La carte permet un vol. +Skafander Raumanzug Traje espacial Spacesuit Combinaison spatiale +Slot zablokowany • Odblokuj w hangarze Slot gesperrt • Im Hangar freischalten Ranura bloqueada • Desbloquea en hangar Slot locked • Unlock in hangar Emplacement bloqué • Débloquez au hangar +Spotkanie Begegnung Encuentro Encounter Rencontre +Statystyki Statistik Estadísticas Statistics Statistiques +Sterowanie Steuerung Controles Controls Commandes +Strzelec Schütze Artillero Gunner Tireur +Suche kaniony Trockene Canyons Cañones secos Dry canyons Canyons arides +Surowiec pozyskiwany z asteroid. Rohstoff aus Asteroiden. Recurso de asteroides. Resource mined from asteroids. Ressource extraite d'astéroïdes. +Surowiec z asteroid. Do produkcji amunicji i rakiet. Asteroidenrohstoff für Munition und Raketen. Recurso de asteroides para munición y misiles. Asteroid resource used for ammunition and missiles. Ressource d'astéroïdes pour munitions et missiles. +Surowiec z asteroid. Do produkcji napromieniowanej amunicji. Asteroidenrohstoff für Strahlungsmunition. Recurso de asteroides para munición irradiada. Asteroid resource used for irradiated ammunition. Ressource d'astéroïdes pour munitions irradiées. +System obrony przed obcymi Alienabwehrsystem Sistema de defensa alienígena Alien defense system Système de défense contre les aliens +System oddychania Atemsystem Sistema respiratorio Breathing system Système respiratoire +Szansa na krytyk Kritische Chance Probabilidad crítica Critical chance Chance critique +Szansa na trafienie krytyczne Kritische Trefferchance Probabilidad de impacto crítico Critical hit chance Chance de coup critique +Szansa na unik Ausweichchance Probabilidad de evasión Evasion chance Chance d'esquive +TARCZA SCHILD ESCUDO SHIELD BOUCLIER +TARCZA AWARYJNA NOTSCHILD ESCUDO DE EMERGENCIA EMERGENCY SHIELD BOUCLIER D'URGENCE +TEMPERATURA TEMPERATUR TEMPERATURA TEMPERATURE TEMPÉRATURE +TLEN SAUERSTOFF OXÍGENO OXYGEN OXYGÈNE +Taran Rammen Embestida Ram Éperonnage +Tarcza awaryjna Notschild Escudo de emergencia Emergency shield Bouclier d'urgence +Test prototypu Prototyptest Prueba de prototipo Prototype test Test de prototype +Tlen %d · Temp. %d · Fauna %d pp Sauerstoff %d · Temp. %d · Fauna %d pp Oxígeno %d · Temp. %d · Fauna %d pp Oxygen %d · Temp. %d · Fauna %d pp Oxygène %d · Temp. %d · Faune %d pp +ULEPSZ DO %s AUFWERTEN AUF %s MEJORAR A %s UPGRADE TO %s AMÉLIORER VERS %s +ULEPSZENIE %s → %s AUFWERTUNG %s → %s MEJORA %s → %s UPGRADE %s → %s AMÉLIORATION %s → %s +UNIK AUSGEWICHEN EVASIÓN EVADE ESQUIVE +UZBROJENIE BEWAFFNUNG ARMAMENTO ARMAMENT ARMEMENT +Ulewa Starkregen Lluvia intensa Downpour Pluie torrentielle +W REMONCIE IM UMBAU EN OBRAS UNDER CONSTRUCTION EN TRAVAUX +WIRUS VIRUS VIRUS VIRUS VIRUS +WOLNA KAJUTA FREIE KABINE CAMAROTE LIBRE FREE CABIN CABINE LIBRE +WORMHOLE OTWARTY WURMLOCH OFFEN AGUJERO DE GUSANO ABIERTO WORMHOLE OPEN TROU DE VER OUVERT +WROGOWIE GEGNER ENEMIGOS ENEMIES ENNEMIS +WYBIERZ WÄHLEN ELEGIR SELECT CHOISIR +Walka i przetrwanie Kampf und Überleben Combate y supervivencia Combat and survival Combat et survie +Wiedza o broni Waffenwissen Conocimiento de armas Weapon knowledge Connaissance des armes +Wiedza o tarczach Schildwissen Conocimiento de escudos Shield knowledge Connaissance des boucliers +Wirus Virus Virus Virus Virus +Wolfram Wolfram Wolframio Tungsten Tungstène +Wolny slot Freier Slot Ranura libre Free slot Emplacement libre +Wrak konwoju Konvoiwrack Pecio de convoy Convoy wreck Épave de convoi +Wrak statku Schiffswrack Pecio de nave Shipwreck Épave +Wybierz tajemniczy pakiet Überraschungspaket wählen Elegir paquete misterioso Choose mystery package Choisir le paquet mystère +Wymagane 70% maksymalnej energii 70% maximaler Energie erforderlich Requiere 70% de energía máxima Requires 70% maximum energy Nécessite 70% d'énergie maximale +Wymagane min. 25% tarcz Mindestens 25% Schilde erforderlich Requiere al menos 25% de escudos Requires at least 25% shields Nécessite au moins 25% de boucliers +Wymagany aktywny lot Aktiver Flug erforderlich Requiere vuelo activo Requires active flight Vol actif requis +Wyprawa %d Expedition %d Expedición %d Expedition %d Expédition %d +Wyrzutnia rakiet naprowadzanych Lenkraketenwerfer Lanzamisiles guiados Guided missile launcher Lance-missiles guidés +Wyrzutnia rakiet niekierowanych Ungelenkter Raketenwerfer Lanzacohetes no guiados Unguided rocket launcher Lance-roquettes non guidées +Wzmocnione poszycie Verstärkte Hülle Revestimiento reforzado Reinforced plating Revêtement renforcé +ZAMKNIJ [ESC] SCHLIESSEN [ESC] CERRAR [ESC] CLOSE [ESC] FERMER [ÉCHAP] +ZAMONTOWANE NA STATKU AUF SCHIFF EINGEBAUT INSTALADO EN NAVE INSTALLED ON SHIP INSTALLÉ SUR LE VAISSEAU +ZAOPATRZENIE VERSORGUNG SUMINISTROS SUPPLIES RAVITAILLEMENT +ZAPASY VORRÄTE RESERVAS STOCK RÉSERVES +ZAPASY GRACZA SPIELERVORRÄTE RESERVAS DEL JUGADOR PLAYER SUPPLIES RÉSERVES DU JOUEUR +ZBUDOWANO GEBAUT CONSTRUIDO BUILT CONSTRUIT +ZDOBYTO ERHALTEN OBTENIDO ACQUIRED OBTENU +ZMIANY PO WYMIANIE BRONI ÄNDERUNGEN BEIM WAFFENTAUSCH CAMBIOS AL CAMBIAR ARMA CHANGES AFTER WEAPON SWAP CHANGEMENTS APRÈS REMPLACEMENT +ZWIADEK • TARCZE SPÄHER • SCHILDE EXPLORADOR • ESCUDOS SCOUT • SHIELDS ÉCLAIREUR • BOUCLIERS +Zabezpiecz schronienie Unterkunft sichern Asegurar refugio Secure the shelter Sécuriser l'abri +Zablokowany Gesperrt Bloqueado Locked Verrouillé +Zakres i skalowanie Bereich und Skalierung Intervalo y escalado Range and scaling Plage et progression +Zamknij okno statku Schiffsfenster schließen Cerrar ventana de nave Close ship window Fermer la fenêtre du vaisseau +Zielone doliny Grüne Täler Valles verdes Green valleys Vallées verdoyantes +Zimna biosfera Kalte Biosphäre Biosfera fría Cold biosphere Biosphère froide +Zapis przywraca początek bieżącego poziomu. Cooldowny i efekty czasowe są zerowane. Laden startet das aktuelle Level neu. Abklingzeiten und temporäre Effekte werden zurückgesetzt. Cargar reinicia el nivel actual. Se reinician recargas y efectos temporales. Loading restarts the current level. Cooldowns and temporary effects are reset. Le chargement reprend au début du niveau actuel. Recharges et effets temporaires sont réinitialisés. +Dopasuj poziom sprzętu do planety. Passe die Ausrüstungsstufe dem Planeten an. Adapta el nivel del equipo al planeta. Match equipment level to the planet. Adaptez le niveau de l’équipement à la planète. +Wymagany poziom kapitana: %d Erforderliche Kapitänsstufe: %d Nivel de capitán requerido: %d Required captain level: %d Niveau de capitaine requis : %d +Czas badania: 10 minut gry Forschungsdauer: 10 Spielminuten Tiempo de investigación: 10 minutos de juego Research time: 10 minutes of play Durée de recherche : 10 minutes de jeu diff --git a/scripts/game/auxiliary_shield_visual.gd b/scripts/game/auxiliary_shield_visual.gd index 67aedae..7ae9e1f 100644 --- a/scripts/game/auxiliary_shield_visual.gd +++ b/scripts/game/auxiliary_shield_visual.gd @@ -23,7 +23,7 @@ func _draw() -> void: draw_polyline(hexagon,Color(tint,0.045*pulse),0.7,true) # Counter-rotate the readout so it stays legible as the ship turns. draw_set_transform(Vector2.ZERO,-global_rotation) - draw_string(ThemeDB.fallback_font,Vector2(-65,-shield_radius-12),"OSŁONA %.0f / %.0f" % [current_shields,max_shields],HORIZONTAL_ALIGNMENT_CENTER,130,11,Color("d7bfff")) + draw_string(ThemeDB.fallback_font,Vector2(-65,-shield_radius-12), tr("OSŁONA %.0f / %.0f" % [current_shields,max_shields]),HORIZONTAL_ALIGNMENT_CENTER,130,11,Color("d7bfff")) draw_set_transform(Vector2.ZERO) # Keep the existing directional impact ripples on the larger perimeter. if not _hits.is_empty(): _draw_impacts() diff --git a/scripts/game/game.gd b/scripts/game/game.gd index 05f41d3..52879f0 100644 --- a/scripts/game/game.gd +++ b/scripts/game/game.gd @@ -27,6 +27,7 @@ var _pending_boss: Dictionary = {} var _boss_spawned := false func _ready() -> void: + _finish_save_setup.call_deferred() if not GameState.active_distant_map.is_empty(): var distant := Node.new() distant.set_script(preload("res://scripts/game/distant_sector.gd")) @@ -69,6 +70,14 @@ func _ready() -> void: player.position = expeditions.freighter.position expeditions.open_freighter.call_deferred() +func _finish_save_setup() -> void: + var layer := CanvasLayer.new() + layer.name = "SessionMenu" + layer.layer = 120 + layer.set_script(preload("res://scripts/ui/session_menu.gd")) + add_child(layer) + GameState.save_game() + func _spawn_celestial_bodies() -> void: var bodies := Node2D.new() bodies.name = "CelestialBodies" diff --git a/scripts/game/game_settings.gd b/scripts/game/game_settings.gd new file mode 100644 index 0000000..e71edcc --- /dev/null +++ b/scripts/game/game_settings.gd @@ -0,0 +1,77 @@ +extends Node + +signal settings_changed +const PATH := "user://settings.cfg" +const INTERFACE_TRANSLATION := preload("res://scripts/game/interface_translation.gd") +const LOCALES := ["pl", "de", "es", "en", "fr"] +const CATALOGS := { + "de": preload("res://resources/localization/de_catalog.gd").MESSAGES, + "es": preload("res://resources/localization/es_catalog.gd").MESSAGES, + "en": preload("res://resources/localization/en_catalog.gd").MESSAGES, + "fr": preload("res://resources/localization/fr_catalog.gd").MESSAGES, +} +const LANGUAGES := ["Polski", "Deutsch", "Español", "English", "Français"] +const RESOLUTIONS := [Vector2i(1024,576), Vector2i(1280,720), Vector2i(1600,900), Vector2i(1920,1080), Vector2i(2560,1440), Vector2i(3840,2160)] +var volume := 0.8 +var music_volume := 0.8 +var resolution := Vector2i(1280,720) +var fullscreen := false +var locale := "pl" +var _translations: Array[Translation] = [] + +func _ready() -> void: + process_mode = Node.PROCESS_MODE_ALWAYS + _load_translations() + var config := ConfigFile.new() + if config.load(PATH) == OK: + volume = clampf(float(config.get_value("audio", "master", 0.8)), 0, 1) + music_volume = clampf(float(config.get_value("audio", "music", 0.8)), 0, 1) + var stored: Variant = config.get_value("display", "resolution", Vector2i(1280,720)) + if stored is Vector2i and stored in RESOLUTIONS: resolution = stored + fullscreen = bool(config.get_value("display", "fullscreen", false)) + locale = str(config.get_value("language", "locale", "pl")) + if locale not in LOCALES: locale = "pl" + apply() + +func _load_translations() -> void: + for code in LOCALES: + var catalog: Dictionary = CATALOGS.get(code, {}) + var translation := INTERFACE_TRANSLATION.new() + translation.configure(code, catalog) + TranslationServer.add_translation(translation) + _translations.append(translation) + +func _exit_tree() -> void: + # Unregister scripted callbacks before Godot tears down script resources. + for translation in _translations: TranslationServer.remove_translation(translation) + _translations.clear() + +func apply() -> void: + AudioServer.set_bus_volume_db(0, linear_to_db(maxf(volume, 0.0001))) + AudioServer.set_bus_mute(0, volume <= 0.0) + var music_bus := AudioServer.get_bus_index("Music") + if music_bus < 0: + AudioServer.add_bus() + music_bus = AudioServer.bus_count - 1 + AudioServer.set_bus_name(music_bus, "Music") + AudioServer.set_bus_send(music_bus, "Master") + AudioServer.set_bus_volume_db(music_bus, linear_to_db(maxf(music_volume, 0.0001))) + AudioServer.set_bus_mute(music_bus, music_volume <= 0.0) + TranslationServer.set_locale(locale) + if DisplayServer.get_name() != "headless": + DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN if fullscreen else DisplayServer.WINDOW_MODE_WINDOWED) + if not fullscreen: + var available := DisplayServer.screen_get_usable_rect() + var actual := Vector2i(mini(resolution.x, available.size.x), mini(resolution.y, available.size.y)) + DisplayServer.window_set_size(actual) + DisplayServer.window_set_position(available.position + (available.size - actual) / 2) + settings_changed.emit() + +func save_settings() -> Error: + var config := ConfigFile.new() + config.set_value("audio", "master", volume) + config.set_value("audio", "music", music_volume) + config.set_value("display", "resolution", resolution) + config.set_value("display", "fullscreen", fullscreen) + config.set_value("language", "locale", locale) + return config.save(PATH) diff --git a/scripts/game/game_settings.gd.uid b/scripts/game/game_settings.gd.uid new file mode 100644 index 0000000..769599a --- /dev/null +++ b/scripts/game/game_settings.gd.uid @@ -0,0 +1 @@ +uid://cbe4mi5lsyllc diff --git a/scripts/game/game_state.gd b/scripts/game/game_state.gd index 39cf5f1..9c48d38 100644 --- a/scripts/game/game_state.gd +++ b/scripts/game/game_state.gd @@ -20,6 +20,27 @@ var explored_pois: Dictionary = {} var asteroid_retry_seeds: Dictionary = {} var exploration_wreck_bonuses: Dictionary = {} var hud_panel_state: Dictionary = {} +const SAVES := preload("res://scripts/game/save_service.gd") +var _autosave_time := 0.0 +var last_save_error: Error = OK + +func save_game() -> Error: + last_save_error = SAVES.write(self, get_tree().current_scene) + return last_save_error + +func has_save() -> bool: + return SAVES.available() + +func continue_game() -> bool: + return SAVES.restore_state(self) + +func save_named_game(save_name: String, slot_id: String = "") -> Error: + if save_name.strip_edges().is_empty(): return ERR_INVALID_PARAMETER + last_save_error = SAVES.write(self, get_tree().current_scene, save_name, slot_id) + return last_save_error + +func load_game(slot_id: String) -> bool: + return SAVES.restore_state(self, slot_id) func depart_distant(map_id: String) -> bool: if not active_distant_map.is_empty() or not captain.expedition.distant_maps.has(map_id): return false @@ -63,6 +84,7 @@ func reset_current_system_exploration() -> void: explored_pois.erase(id) func start_new_run() -> void: + _autosave_time = 0.0 hull_bastion_used = false captain = CAPTAIN_PROGRESS.new() system_level = 1 @@ -101,6 +123,12 @@ func seed_for_system(level: int) -> int: func _process(delta: float) -> void: advance_play_time(delta, get_tree().current_scene) + var scene := get_tree().current_scene + if scene == null or not scene.has_node("PlayerShip"): return + _autosave_time += delta + if _autosave_time >= 60.0 and not captain.expedition.active: + _autosave_time = 0.0 + save_game() func advance_play_time(delta: float, scene: Node) -> void: if scene == null or not scene.has_node("PlayerShip"): return @@ -109,6 +137,12 @@ func advance_play_time(delta: float, scene: Node) -> void: var location_open := expedition != null and is_instance_valid(expedition.screen) if get_tree().paused and not location_open: return var researching := preload("res://scripts/planets/laboratory.gd").advance(captain.expedition,delta) + var alien_was_active: bool = not captain.expedition.alien_project.is_empty() + researching = preload("res://scripts/planets/alien_research.gd").advance(captain.expedition,delta) or researching + if alien_was_active and captain.expedition.alien_project.is_empty(): + captain.emit_changed() + var inventory := scene.get_node_or_null("PlayerShip/ShipInventory") + if inventory != null: inventory._recalculate_ship_stats() var network := preload("res://scripts/planets/mining_network.gd") if network.advance(captain.expedition, delta) <= 0 and not researching: return _production_signal_time += delta diff --git a/scripts/game/interface_translation.gd b/scripts/game/interface_translation.gd new file mode 100644 index 0000000..da43ff9 --- /dev/null +++ b/scripts/game/interface_translation.gd @@ -0,0 +1,96 @@ +extends Translation +## Matches formatted legacy text as well as ordinary Godot translation keys. +var catalog_messages: Dictionary = {} +var _cache: Dictionary = {} +var _patterns: Array[Dictionary] = [] +var _case_messages: Dictionary = {} +var _letters := RegEx.create_from_string("[\\p{L}]") + +func configure(code: String, catalog: Dictionary) -> void: + locale = code + catalog_messages = catalog + for key: String in catalog: + _case_messages[key.to_upper()] = str(catalog[key]).to_upper() + _case_messages[key.to_lower()] = str(catalog[key]).to_lower() + var keys := catalog.keys() + keys.sort_custom(func(a: String, b: String) -> bool: return a.length() > b.length()) + for key: String in keys: + if key.length() < 4: continue + var expression := "" + var tokens: Array[String] = [] + var placeholder := RegEx.create_from_string("%(?:[0-9]*(?:\\.[0-9]+)?[sdif]|%)") + var offset := 0 + for found in placeholder.search_all(key): + expression += _escape(key.substr(offset, found.get_start()-offset)) + var token := found.get_string() + if token == "%%": expression += "%" + else: + tokens.append(token) + if token.ends_with("s"): + expression += "([^\\n]+)" if found.get_end() == key.length() else "([^\\n]+?)" + else: expression += "([-+]?[0-9]+(?:[.,][0-9]+)?)" + offset = found.get_end() + expression += _escape(key.substr(offset)) + if expression.is_empty(): continue + # Word boundaries avoid replacing a noun inside a longer Polish word. + var start := "(? hint.length(): hint = part + _patterns.append({"regex":regex,"target":str(catalog[key]),"tokens":tokens,"hint":hint}) + +func _escape(value: String) -> String: + var result := "" + for character in value: + if character in "\\.^$|?*+()[]{}": result += "\\" + result += character + return result + +func _get_message(source: StringName, _context: StringName) -> StringName: + var text := str(source) + if catalog_messages.has(text): return StringName(catalog_messages[text]) + if _case_messages.has(text): return StringName(_case_messages[text]) + if _cache.has(text): return StringName(_cache[text]) + if text.is_empty() or _letters.search(text) == null: return source + var candidates: Array[Dictionary] = [] + for pattern in _patterns: + if not text.contains(pattern.hint): continue + for found in pattern.regex.search_all(text): + var start: int = found.get_start() + var end: int = found.get_end() + var target: String = pattern.target + # Replace format specifiers in order, retaining original numeric values. + var token_regex := RegEx.create_from_string("%(?:[0-9]*(?:\\.[0-9]+)?[sdif]|%)") + var matches := token_regex.search_all(target) + var capture := 1 + var rebuilt := "" + var offset := 0 + for token in matches: + rebuilt += target.substr(offset, token.get_start()-offset) + if token.get_string() == "%%": rebuilt += "%" + else: + var value: String = found.get_string(capture) + rebuilt += str(_get_message(value, &"")) if token.get_string().ends_with("s") else value + capture += 1 + offset = token.get_end() + rebuilt += target.substr(offset) + candidates.append({"start":start,"end":end,"value":rebuilt}) + # Prefer the longest rendered phrase, then translate its captured names too. + candidates.sort_custom(func(a: Dictionary,b: Dictionary) -> bool: return int(a.end)-int(a.start) > int(b.end)-int(b.start)) + var replacements: Array[Dictionary] = [] + for candidate in candidates: + var overlaps := false + for replacement in replacements: + if int(candidate.start) < int(replacement.end) and int(candidate.end) > int(replacement.start): + overlaps = true + break + if not overlaps: replacements.append(candidate) + replacements.sort_custom(func(a: Dictionary,b: Dictionary) -> bool: return a.start > b.start) + for replacement in replacements: + text = text.substr(0,replacement.start)+replacement.value+text.substr(replacement.end) + if _cache.size() > 4096: _cache.clear() + _cache[str(source)] = text + return StringName(text) + diff --git a/scripts/game/interface_translation.gd.uid b/scripts/game/interface_translation.gd.uid new file mode 100644 index 0000000..870582f --- /dev/null +++ b/scripts/game/interface_translation.gd.uid @@ -0,0 +1 @@ +uid://dj1u2bfsnida5 diff --git a/scripts/game/save_data.gd b/scripts/game/save_data.gd new file mode 100644 index 0000000..aa37ac6 --- /dev/null +++ b/scripts/game/save_data.gd @@ -0,0 +1,11 @@ +extends Resource + +@export var version: int = 1 +@export var saved_at: String = "" +@export var saved_unix: float = 0.0 +@export var save_name: String = "" +@export var slot_id: String = "" +@export var state: Dictionary = {} +@export var captain: Resource +@export var inventory: Dictionary = {} +@export var skill_offers: Array[String] = [] diff --git a/scripts/game/save_data.gd.uid b/scripts/game/save_data.gd.uid new file mode 100644 index 0000000..2a4ba8d --- /dev/null +++ b/scripts/game/save_data.gd.uid @@ -0,0 +1 @@ +uid://cpkf3svhjov1n diff --git a/scripts/game/save_service.gd b/scripts/game/save_service.gd new file mode 100644 index 0000000..4d2631e --- /dev/null +++ b/scripts/game/save_service.gd @@ -0,0 +1,117 @@ +extends RefCounted + +const DATA := preload("res://scripts/game/save_data.gd") +const PATH := "user://last_game.res" +const BACKUP := "user://last_game_backup.res" +const TEMP := "user://last_game_pending.res" +const DIRECTORY := "user://saves" +const STATE_FIELDS := ["selected_ship_path", "system_level", "system_seed", "active_distant_map", "distant_home", "highest_system", "system_seeds", "cleared_systems", "explored_pois", "asteroid_retry_seeds", "exploration_wreck_bonuses", "hud_panel_state"] + +static func read_save(path: String = PATH) -> Resource: + if not FileAccess.file_exists(path): return null + var file := FileAccess.open(path, FileAccess.READ) + if file == null: return null + var header := file.get_buffer(4).get_string_from_ascii() + file.close() + if header not in ["RSRC", "RSCC"]: return null + var data := ResourceLoader.load(path, "", ResourceLoader.CACHE_MODE_IGNORE_DEEP) + if data == null or data.get_script() != DATA or data.version != 1: return null + if not data.captain is CaptainProgress or data.state.get("system_seed", 0) == 0: return null + for key in ["cargo", "weapon", "module", "extension"]: + if not data.inventory.get(key) is Array: return null + return data + +static func available() -> bool: + return not list_saves().is_empty() + +static func valid_slot(id: String) -> bool: + return RegEx.create_from_string("^slot_[a-zA-Z0-9_-]{1,72}$").search(id) != null + +static func slot_path(id: String) -> String: + return DIRECTORY.path_join(id+".res") if valid_slot(id) else "" + +static func list_saves() -> Array[Dictionary]: + var entries: Array[Dictionary] = [] + var ids: Array[String] = ["auto"] + if DirAccess.dir_exists_absolute(DIRECTORY): + for file in DirAccess.get_files_at(DIRECTORY): + if not file.ends_with(".res") or file.ends_with(".pending.res"): continue + var id := file.trim_suffix(".backup.res") if file.ends_with(".backup.res") else file.trim_suffix(".res") + if valid_slot(id) and id not in ids: ids.append(id) + for id in ids: + var path := PATH if id == "auto" else slot_path(id) + var backup := BACKUP if id == "auto" else path.trim_suffix(".res")+".backup.res" + var data := read_save(path) + var recovered := false + if data == null: + data = read_save(backup) + recovered = data != null + if data == null: continue + var timestamp: float = data.saved_unix if data.saved_unix > 0 else float(FileAccess.get_modified_time(backup if recovered else path)) + entries.append({"id":id,"path":backup if recovered else path,"name":data.save_name if not data.save_name.is_empty() else ("Automatyczny zapis" if id == "auto" else "Zapis rozgrywki"),"saved_at":data.saved_at,"timestamp":timestamp,"level":int(data.state.system_level),"captain_level":data.captain.level,"credits":data.captain.credits,"ship_path":str(data.state.get("selected_ship_path","")),"recovered":recovered}) + entries.sort_custom(func(a: Dictionary,b: Dictionary) -> bool: return float(a.timestamp) > float(b.timestamp)) + return entries + +static func write(state: Node, game: Node, save_name: String = "", id: String = "") -> Error: + var named := not save_name.is_empty() + if named and (save_name.strip_edges().is_empty() or save_name.length() > 48): return ERR_INVALID_PARAMETER + if not id.is_empty() and (not named or not valid_slot(id)): return ERR_INVALID_PARAMETER + if game == null or not game.has_node("PlayerShip") or bool(game.get("_transitioning")): return ERR_UNAVAILABLE + var ship := game.get_node("PlayerShip") + if bool(ship.get("_is_destroyed")): return ERR_UNAVAILABLE + var data := DATA.new() + data.saved_at = Time.get_datetime_string_from_system() + data.saved_unix = Time.get_unix_time_from_system() + data.save_name = save_name.strip_edges() if named else "Automatyczny zapis" + data.slot_id = id if not id.is_empty() else ("slot_%d_%08x" % [Time.get_ticks_usec(),randi()] if named else "auto") + for key in STATE_FIELDS: data.state[key] = state.get(key) + data.captain = state.captain.duplicate(true) + data.captain.skill_offers.assign(state.captain.skill_offers) + # A saved surface expedition returns safely to orbit with its current cargo. + if state.captain.expedition.active: + for key in ["active", "cargo", "cargo_modules", "cargo_records", "cargo_credits", "cargo_parts", "cargo_missiles", "active_profile", "visit_seed"]: + var value: Variant = state.captain.expedition.get(key) + data.captain.expedition.set(key, value.duplicate(true) if value is Dictionary or value is Array else value) + data.captain.expedition.finish_visit(data.captain, true) + data.skill_offers.assign(data.captain.skill_offers) + var inventory := ship.get_node("ShipInventory") + var previous: Dictionary = state.restart_inventory + inventory.preserve_for_restart() + data.inventory = state.restart_inventory + state.restart_inventory = previous + if named: + var directory_error := DirAccess.make_dir_recursive_absolute(DIRECTORY) + if directory_error != OK: return directory_error + return _commit(data, slot_path(data.slot_id), slot_path(data.slot_id).trim_suffix(".res")+".backup.res", slot_path(data.slot_id).trim_suffix(".res")+".pending.res") + return _commit(data, PATH, BACKUP, TEMP) + +static func _commit(data: Resource, path: String, backup: String, temporary: String) -> Error: + var error := ResourceSaver.save(data, temporary) + if error != OK: return error + if read_save(temporary) == null: return ERR_FILE_CORRUPT + if read_save(path) != null: + error = DirAccess.copy_absolute(path, backup) + if error != OK: return error + return DirAccess.rename_absolute(temporary, path) + +static func restore_state(state: Node, id: String = "") -> bool: + var entries := list_saves() + var data: Resource + for entry in entries: + if id.is_empty() or entry.id == id: + data = read_save(entry.path) + break + if data == null: return false + for key in STATE_FIELDS: + if data.state.has(key): state.set(key, data.state[key]) + state.captain = data.captain + state.captain.skill_offers.assign(data.skill_offers) + state.captain.reset_combat_state() + state.restart_inventory = data.inventory + state.return_to_freighter = false + state.distant_warp_arrival = false + state.hull_bastion_used = false + # Loading always starts the current sector again, with fresh encounters. + if state.active_distant_map.is_empty(): state.cleared_systems.erase(state.system_level) + state.reset_current_system_exploration() + return true diff --git a/scripts/game/save_service.gd.uid b/scripts/game/save_service.gd.uid new file mode 100644 index 0000000..707bfd4 --- /dev/null +++ b/scripts/game/save_service.gd.uid @@ -0,0 +1 @@ +uid://4cxl6q1fxqtn diff --git a/scripts/game/scene_music_player.gd b/scripts/game/scene_music_player.gd index 0d5b031..1cd68ff 100644 --- a/scripts/game/scene_music_player.gd +++ b/scripts/game/scene_music_player.gd @@ -4,6 +4,7 @@ extends AudioStreamPlayer @export_range(-30.0, 0.0, 0.5, "suffix:dB") var playback_volume_db := -14.0 func _ready() -> void: + bus = &"Music" if track_path.is_empty(): push_error("SceneMusicPlayer has no track_path configured.") return diff --git a/scripts/levels/system_generator.gd b/scripts/levels/system_generator.gd index a585138..a9a445d 100644 --- a/scripts/levels/system_generator.gd +++ b/scripts/levels/system_generator.gd @@ -47,7 +47,7 @@ static func generate(level: int, seed_value: int) -> Dictionary: if bool(planets[index].protected): planets[index].texture = earthlike[texture_rng.randi_range(0, earthlike.size() - 1)] planets[index].earthlike = profiles.is_earthlike(planets[index].texture) - planets[index].profile = profiles.generate(seed_value, index, planets[index].name) if bool(planets[index].earthlike) else {} + planets[index].profile = profiles.generate(seed_value, index, planets[index].name, level) if bool(planets[index].earthlike) else {} if not planets[index].profile.is_empty(): planets[index].profile.system_level = level var enemies: Array[Dictionary] = [] diff --git a/scripts/planets/alien_research.gd b/scripts/planets/alien_research.gd index eb8baa9..b8f7618 100644 --- a/scripts/planets/alien_research.gd +++ b/scripts/planets/alien_research.gd @@ -67,13 +67,28 @@ static func bonus(progress: Resource, branch: String) -> float: var learned: Dictionary = progress.alien_skills return 0.1 if branch in BRANCHES and learned.get(branch, false) else 0.0 -static func purchase(progress: Resource, id: String) -> bool: - if id not in ACTIVE_IDS: return false - if progress.alien_skills.get(id, false): return false +static func can_start(progress: Resource, id: String) -> bool: + if id not in ACTIVE_IDS or not progress.alien_project.is_empty(): return false + if progress.alien_skills.get(id,false): return false var prerequisite := parent(id) - if prerequisite != "" and not progress.alien_skills.get(prerequisite, false): return false - if progress.analysis_samples < cost(id): return false + if not prerequisite.is_empty() and not progress.alien_skills.get(prerequisite,false): return false + return progress.analysis_samples >= cost(id) + +static func purchase(progress: Resource, id: String) -> bool: + if not can_start(progress,id): return false progress.analysis_samples -= cost(id) - progress.alien_skills[id] = true + progress.alien_project = id + progress.alien_duration = 600.0 + progress.alien_remaining = progress.alien_duration progress.emit_changed() return true + +static func advance(progress: Resource, delta: float) -> bool: + if progress.alien_project.is_empty() or delta <= 0: return false + progress.alien_remaining = maxf(0,progress.alien_remaining-delta) + if progress.alien_remaining <= 0.00001: + progress.alien_remaining = 0 + progress.alien_skills[progress.alien_project] = true + progress.alien_project = "" + progress.emit_changed() + return true diff --git a/scripts/planets/alien_research_tree.gd b/scripts/planets/alien_research_tree.gd index 6d11c2f..4ff75c9 100644 --- a/scripts/planets/alien_research_tree.gd +++ b/scripts/planets/alien_research_tree.gd @@ -8,12 +8,23 @@ const COST_COLUMN_WIDTH := 48.0 var progress: Resource var refreshed: Callable var points: Dictionary = {} +var _state := "" func _ready() -> void: custom_minimum_size = Vector2(330, 300) resized.connect(_build) _build() +func _process(_delta: float) -> void: + var state := str(progress.alien_skills)+str(progress.alien_project)+str(progress.analysis_samples) + if state != _state: + _state = state + _build() + if not progress.alien_project.is_empty(): + var active_button := get_node_or_null(NodePath(progress.alien_project)) as Button + if active_button != null: + active_button.tooltip_text = str(active_button.get_meta("base_tooltip",""))+"\n"+("Pozostało: %d s gry" % ceili(progress.alien_remaining)) + func _build() -> void: for child in get_children(): remove_child(child) @@ -56,12 +67,14 @@ func _add_skill(id: String, center: Vector2, color: Color) -> void: button.name = id button.position = center - TILE_SIZE*0.5 button.size = TILE_SIZE - button.disabled = learned or not unlocked or progress.analysis_samples < DATA.cost(id) + button.disabled = not DATA.can_start(progress,id) if "_" in id: _style_path(button,DATA.path_color(id)) var status := "Zbadano" if learned else "Koszt: %d próbek" % DATA.cost(id) if not unlocked: status += "\nWymaga: " + DATA.title(prerequisite) elif not learned and progress.analysis_samples < DATA.cost(id): status += "\nZa mało próbek" + if not learned: status += "\n" + "Czas badania: 10 minut gry" button.tooltip_text = DATA.title(id) + "\n" + DATA.description(id) + "\n" + status + button.set_meta("base_tooltip",button.tooltip_text) var icon := TextureRect.new() icon.texture = load("res://assets/freighter/research/" + id + ".png") icon.expand_mode = TextureRect.EXPAND_IGNORE_SIZE diff --git a/scripts/planets/expedition_controller.gd b/scripts/planets/expedition_controller.gd index b98ac90..6f453ae 100644 --- a/scripts/planets/expedition_controller.gd +++ b/scripts/planets/expedition_controller.gd @@ -172,10 +172,7 @@ func _layout_prompt() -> void: _prompt.position = CONTACT.beside(canvas.origin,radius*canvas.x.length(),_prompt.size,viewport_size,obstacles,true,vertical*canvas.y.length()) func _compact_scan(profile: Dictionary) -> String: - var captain: Resource = GameState.captain - var report: Dictionary = PROFILES.threat_report(profile,captain) - var loot := PROFILES.poi_loot_report(profile,captain) - return "%s · %s\nTLEN %d%% · TEMP %d°C · BIO %d/50\nZAGROŻENIE: %.1f%% / 300%%\nŁUP POI: ×%.2f · odzysk %.0f%%\nPOI: podleć i naciśnij E\nLądowanie −%d HP · Lądownik %d%%" % [profile.name,PROFILES.biome_name(profile),profile.oxygen,profile.temperature,profile.flora,report.total,loot.multiplier,loot.recovery*100.0,profile.landing_damage,ceili(captain.expedition.lander_hp)] + return PROFILES.scan_description(profile,GameState.captain) func _unhandled_key_input(event: InputEvent) -> void: @@ -256,6 +253,7 @@ func _leave() -> void: player.is_docked = _previous_docked game.get_node("HUD/HUDRoot").visible = _hud_was_visible get_tree().paused = _previous_pause + GameState.save_game() func _notice(message: String) -> void: _message = message @@ -266,6 +264,7 @@ func _notification(what: int) -> void: if what == NOTIFICATION_WM_CLOSE_REQUEST: if GameState.captain.expedition.active: GameState.captain.expedition.finish_visit(GameState.captain,true) + GameState.save_game() get_tree().quit() func _exit_tree() -> void: diff --git a/scripts/planets/freighter_deck.gd b/scripts/planets/freighter_deck.gd index 920f8c6..2294498 100644 --- a/scripts/planets/freighter_deck.gd +++ b/scripts/planets/freighter_deck.gd @@ -215,5 +215,5 @@ func _draw_tag(section: Dictionary) -> void: _tag_styles[section.id] = box draw_style_box(box,Rect2(point,Vector2(width,43))) draw_circle(point+Vector2(10,13),2.8,Color(color,0.65+0.25*sin(_time*1.8))) - draw_string(font,point+Vector2(20,19),section.title,HORIZONTAL_ALIGNMENT_LEFT,width-25,13 if section.id == "expansion_2" else 16,color) - draw_string(font,point+Vector2(10,35),section.status,HORIZONTAL_ALIGNMENT_LEFT,width-15,13,Color("899a9b")) + draw_string(font,point+Vector2(20,19), tr(section.title),HORIZONTAL_ALIGNMENT_LEFT,width-25,13 if section.id == "expansion_2" else 16,color) + draw_string(font,point+Vector2(10,35), tr(section.status),HORIZONTAL_ALIGNMENT_LEFT,width-15,13,Color("899a9b")) diff --git a/scripts/planets/freighter_screen.gd b/scripts/planets/freighter_screen.gd index 96bd0ca..1817d74 100644 --- a/scripts/planets/freighter_screen.gd +++ b/scripts/planets/freighter_screen.gd @@ -17,6 +17,8 @@ var _owned_open := false var _storage_columns: GridContainer var _storage_notice := "" var _economy_labels: Dictionary = {} +var _alien_timer: Label +var _alien_signature := "" @onready var deck: Control = $Deck @onready var _audio: Node = $FreighterAudio @@ -47,6 +49,11 @@ func _ready() -> void: _layout() _refresh() +func _process(_delta: float) -> void: + if is_instance_valid(_alien_timer): + var progress: Resource = captain.expedition + _alien_timer.text = "Czas badania: 10 minut gry" if progress.alien_project.is_empty() else preload("res://scripts/planets/alien_research.gd").title(progress.alien_project)+" · "+("Pozostało: %d s gry" % ceili(progress.alien_remaining)) + func _build_header() -> void: var header := HBoxContainer.new() header.name = "Header" @@ -605,6 +612,10 @@ func _dismiss_crew(member_id: String) -> void: _refresh() func _refresh_live_labels() -> void: + var alien_signature := str(captain.expedition.alien_skills)+str(captain.expedition.alien_project) + if _tab == "expansion_2" and is_instance_valid(_drawer) and _drawer.visible and alien_signature != _alien_signature: + _alien_signature = alien_signature + _refresh.call_deferred() for key in _economy_labels: var label: Label = _economy_labels[key] if not is_instance_valid(label): continue @@ -627,10 +638,12 @@ func _equip(kind: String, uid: int) -> void: func _build_alien_research() -> void: var progress: Resource = captain.expedition + _alien_signature = str(progress.alien_skills)+str(progress.alien_project) var row := MENU.row(_content) var balance := MENU.label(row, "PRÓBKI / %d" % progress.analysis_samples, 15, MENU.GOLD) balance.size_flags_horizontal = Control.SIZE_EXPAND_FILL MENU.label(row, "%d / %d ZBADANO" % [preload("res://scripts/planets/alien_research.gd").learned_count(progress),preload("res://scripts/planets/alien_research.gd").ACTIVE_IDS.size()], 12, MENU.MUTED).custom_minimum_size.x = 110 + _alien_timer = MENU.label(_content,"Czas badania: 10 minut gry",12,MENU.GOLD) var tree := preload("res://scripts/planets/alien_research_tree.gd").new() tree.progress = progress tree.refreshed = _research_completed diff --git a/scripts/planets/laboratory.gd b/scripts/planets/laboratory.gd index 6d251ab..d9d6a17 100644 --- a/scripts/planets/laboratory.gd +++ b/scripts/planets/laboratory.gd @@ -1,5 +1,5 @@ extends RefCounted -const DURATION := 60.0 +const DURATION := 600.0 const IDS := [ "gamma_cannon", "beam_laser", "machine_gun", "missile_launcher", "unguided_missile", "incendiary_missile", "radiation_laser", "artillery_cannon", "external_turret", "pulse_laser", diff --git a/scripts/planets/laboratory_panel.gd b/scripts/planets/laboratory_panel.gd index 2987bc5..50a0b34 100644 --- a/scripts/planets/laboratory_panel.gd +++ b/scripts/planets/laboratory_panel.gd @@ -23,6 +23,7 @@ func _process(_delta: float) -> void: if is_instance_valid(_buttons[id]): _buttons[id].disabled = not LAB.can_start(captain,id) func _build() -> void: + LAB.ensure_offers(captain.expedition) for child in get_children(): remove_child(child) child.queue_free() diff --git a/scripts/planets/mining_network.gd b/scripts/planets/mining_network.gd index cd0ee7c..1119dd2 100644 --- a/scripts/planets/mining_network.gd +++ b/scripts/planets/mining_network.gd @@ -44,7 +44,7 @@ static func station_richness(station: Dictionary) -> int: var identity := str(station.id).split(":") var profile := {"id":str(station.id), "seed":int(station.get("planet_seed", 0))} if identity.size() == 3 and identity[1] == "planet": - profile = preload("res://scripts/planets/planet_profiles.gd").generate(int(identity[0]), int(identity[2]), str(station.planet_name)) + profile = preload("res://scripts/planets/planet_profiles.gd").generate(int(identity[0]), int(identity[2]), str(station.planet_name),int(station.get("system",1))) station.richness = deposit_richness(profile, int(station.get("system", 1))) return clampi(int(station.richness), 1, 100) diff --git a/scripts/planets/planet_profiles.gd b/scripts/planets/planet_profiles.gd index 8550bb7..0e9f101 100644 --- a/scripts/planets/planet_profiles.gd +++ b/scripts/planets/planet_profiles.gd @@ -1,102 +1,97 @@ extends RefCounted -# These visually inspected families contain land, oceans and atmospheric clouds. const EARTHLIKE_FAMILIES := ["Terrestrial", "Lush", "Tropical"] const MATERIALS := ["silicon", "copper", "nickel", "tungsten", "mercury"] -const MATERIAL_NAMES := {"silicon": "Krzem", "copper": "Miedź", "nickel": "Nikiel", "tungsten": "Wolfram", "mercury": "Rtęć"} +const MATERIAL_NAMES := {"silicon":"Krzem","copper":"Miedź","nickel":"Nikiel","tungsten":"Wolfram","mercury":"Rtęć"} +const THREAT_KEYS := ["oxygen","temperature","biology"] +const POI_SAFE_CHANCES := [0.90,0.70,0.40] +const POI_DANGER_CHANCES := [0.15,0.05,0.0] static func is_earthlike(texture: Texture2D) -> bool: - if texture == null: - return false + if texture == null: return false for family in EARTHLIKE_FAMILIES: - if texture.resource_path.contains("/Solid/%s/" % family): - return true + if texture.resource_path.contains("/Solid/%s/" % family): return true return false static func earthlike_textures() -> Array[Texture2D]: var found: Array[Texture2D] = [] for texture in preload("res://scripts/levels/celestial_texture_catalog.gd").PLANET_TEXTURES: - if is_earthlike(texture): - found.append(texture) + if is_earthlike(texture): found.append(texture) return found -static func generate(system_seed: int, index: int, name: String) -> Dictionary: - var rng := RandomNumberGenerator.new() - rng.seed = system_seed ^ (index * 0x504c414e) ^ 0x42494f4d - var easy := rng.randf() < 0.7 - var oxygen := rng.randi_range(81, 100) if easy else rng.randi_range(0, 80) - var temperature := rng.randi_range(-10, 40) if easy else rng.randi_range(-50, 100) - var flora := 0 if easy else rng.randi_range(5, 50) - var raw := raw_threats({"oxygen":oxygen,"temperature":temperature,"flora":flora}) - var difficulty := (float(raw.oxygen)+float(raw.temperature)+float(raw.biology))/300.0 - return {"id": "%d:planet:%d" % [system_seed, index], "name": name, "oxygen": oxygen, "temperature": temperature, "flora": flora, "easy": easy, "difficulty": difficulty, "landing_damage": roundi(lerpf(5.0, 20.0, difficulty)), "seed": rng.randi(), "index": index} +static func level(profile: Dictionary) -> int: + return clampi(int(profile.get("system_level",1)),1,1000) -const THREAT_KEYS := ["oxygen","temperature","biology"] -const POI_SAFE_CHANCES := [0.90,0.70,0.40] -const POI_DANGER_CHANCES := [0.15,0.05,0.0] +static func generate(system_seed: int, index: int, name: String, system_level: int = 1) -> Dictionary: + var rng := RandomNumberGenerator.new() + rng.seed = system_seed ^ (index*0x504c414e) ^ 0x42494f4d + var progression := 1.0-exp(-float(maxi(1,system_level)-1)/45.0) + var difficulty := clampf(progression*rng.randf_range(0.85,1.15),0,1) + var oxygen := roundi(95.0-difficulty*rng.randf_range(55,95)) + var extreme_temperature := rng.randf_range(65,100) if rng.randf() < 0.5 else rng.randf_range(-50,-20) + var temperature := roundi(lerpf(20.0,extreme_temperature,difficulty)) + var flora := roundi(difficulty*rng.randf_range(15,50)) + return {"id":"%d:planet:%d" % [system_seed,index],"name":name,"system_level":maxi(1,system_level),"oxygen":oxygen,"temperature":temperature,"flora":flora,"easy":difficulty < 0.18,"difficulty":difficulty,"landing_damage":roundi(5+10*difficulty),"seed":rng.randi(),"index":index} static func raw_threats(profile: Dictionary) -> Dictionary: - var oxygen := clampf((80.0-float(profile.oxygen))/80.0,0.0,1.0)*100.0 - var temperature := float(profile.temperature) + var oxygen := clampf((80.0-float(profile.get("oxygen",95)))/80.0,0,1)*100 + var temperature := float(profile.get("temperature",20)) var thermal := 0.0 - if temperature < -10.0: - thermal = clampf((-10.0-temperature)/40.0,0.0,1.0)*100.0 - elif temperature > 40.0: - thermal = clampf((temperature-40.0)/60.0,0.0,1.0)*100.0 - var biology := clampf(float(profile.flora)/50.0,0.0,1.0)*100.0 - return {"oxygen":oxygen,"temperature":thermal,"biology":biology} + if temperature < -10: thermal = clampf((-10-temperature)/40,0,1)*100 + elif temperature > 40: thermal = clampf((temperature-40)/60,0,1)*100 + return {"oxygen":oxygen,"temperature":thermal,"biology":clampf(float(profile.get("flora",0))/50.0,0,1)*100} -static func threat_report(profile: Dictionary, captain: Resource) -> Dictionary: +static func equipment_report(profile: Dictionary, captain: Resource, weights: Array = [1.0,1.0,1.0]) -> Dictionary: var gear := preload("res://scripts/planets/captain_equipment.gd") var raw := raw_threats(profile) + var deficit := 0.0 + var surplus := 0.0 + var weight_total := 0.0 var effective := {} - var raw_total := 0.0 - var total := 0.0 + var requirements := {} for index in 3: var key: String = THREAT_KEYS[index] - var protection := minf(100.0,2.0*maxi(0,gear.level(captain,gear.KINDS[index]))) - effective[key] = maxf(0.0,float(raw[key])-protection) - raw_total += float(raw[key]) - total += float(effective[key]) - return {"raw":raw,"effective":effective,"raw_total":raw_total,"total":total} + var required := maxf(1.0,level(profile)*(0.85+0.45*float(raw[key])/100.0)) + var ratio := float(gear.level(captain,gear.KINDS[index]))/required + var shortfall := clampf(1.0-ratio,0,1) + effective[key] = shortfall*100 + requirements[key] = required + deficit += shortfall*float(weights[index]) + surplus += clampf(ratio-1.0,0,1)*float(weights[index]) + weight_total += float(weights[index]) + return {"deficit":deficit/weight_total,"surplus":surplus/weight_total,"raw":raw,"effective":effective,"requirements":requirements} + +static func threat_report(profile: Dictionary, captain: Resource) -> Dictionary: + var report := equipment_report(profile,captain) + var raw_total := 0.0 + var total := 0.0 + for key in THREAT_KEYS: + raw_total += float(report.raw[key]) + total += float(report.effective[key]) + return {"raw":report.raw,"effective":report.effective,"raw_total":raw_total,"total":total} static func global_threat(profile: Dictionary, captain: Resource) -> float: return float(threat_report(profile,captain).total) -static func poi_loot_report(profile: Dictionary, captain: Resource) -> Dictionary: - var gear := preload("res://scripts/planets/captain_equipment.gd") - var equipped_levels := 0.0 - for kind in gear.KINDS: equipped_levels += clampi(gear.level(captain,kind),0,50) - var gear_multiplier := 1.0+(equipped_levels/3.0)*0.02 - var threat := global_threat(profile,captain) - var recovery := clampf(1.0-threat/300.0,0.15,1.0) - return {"multiplier":gear_multiplier*recovery,"recovery":recovery,"gear_multiplier":gear_multiplier,"threat":threat} +static func poi_loot_report(profile: Dictionary, captain: Resource, weights: Array = [1.0,1.0,1.0]) -> Dictionary: + var gear := equipment_report(profile,captain,weights) + var recovery := 1.0-0.5*float(gear.deficit) + var gear_multiplier := 1.0+0.1*float(gear.surplus) + return {"multiplier":recovery*gear_multiplier,"recovery":recovery,"gear_multiplier":gear_multiplier,"threat":float(gear.deficit)*300,"deficit":gear.deficit,"surplus":gear.surplus} static func success_chance(profile: Dictionary, captain: Resource, stage: int) -> float: var index := clampi(stage,0,2) - var severity := clampf(global_threat(profile,captain)/150.0,0.0,1.0) - return lerpf(POI_SAFE_CHANCES[index],POI_DANGER_CHANCES[index],severity) + return lerpf(POI_SAFE_CHANCES[index],POI_DANGER_CHANCES[index],clampf(global_threat(profile,captain)/150,0,1)) static func average_success_chance(profile: Dictionary, captain: Resource) -> float: var total := 0.0 - for stage in 3: - total += success_chance(profile,captain,stage) - return total/3.0 + for stage in 3: total += success_chance(profile,captain,stage) + return total/3 static func biome_name(profile: Dictionary) -> String: - if bool(profile.easy): - return "Łagodna biosfera" - if int(profile.temperature) < -10: - return "Zimna biosfera" - if int(profile.temperature) > 40: - return "Gorąca biosfera" + if bool(profile.get("easy",false)): return "Łagodna biosfera" + if int(profile.get("temperature",20)) < -10: return "Zimna biosfera" + if int(profile.get("temperature",20)) > 40: return "Gorąca biosfera" return "Dzika biosfera" static func scan_description(profile: Dictionary, captain: Resource) -> String: - var report := threat_report(profile,captain) - var loot := poi_loot_report(profile,captain) - return "%s · %s\nTLEN %d%% · zagrożenie %.0f%% → %.0f%%\nTEMPERATURA %d°C · zagrożenie %.0f%% → %.0f%%\nBIOLOGICZNE %d/50 · zagrożenie %.0f%% → %.0f%%\nZAGROŻENIE GLOBALNE: %.1f%% / 300%%\nBez sprzętu: %.1f%% · redukcja 2 pp/poziom\nŁUP POI: ×%.2f · odzysk %.0f%% · sprzęt ×%.2f\nPOI: podleć i naciśnij E, aby odebrać znaleziska.\nLądowanie: −%d HP · Lądownik: %d%%" % [ - profile.name,biome_name(profile),profile.oxygen,report.raw.oxygen,report.effective.oxygen, - profile.temperature,report.raw.temperature,report.effective.temperature, - profile.flora,report.raw.biology,report.effective.biology, - report.total,report.raw_total,loot.multiplier,loot.recovery*100.0,loot.gear_multiplier, - profile.landing_damage,ceili(captain.expedition.lander_hp)] + return "%s · Poziom %d\nLądowanie: −%d HP\nLądownik: %d / 100 HP\nPOI: podleć i naciśnij E, aby zaplanować eksplorację." % [profile.name,level(profile),profile.landing_damage,ceili(captain.expedition.lander_hp)] diff --git a/scripts/planets/planet_progress.gd b/scripts/planets/planet_progress.gd index 873ce56..62aa1ba 100644 --- a/scripts/planets/planet_progress.gd +++ b/scripts/planets/planet_progress.gd @@ -8,11 +8,14 @@ const PROFILES := preload("res://scripts/planets/planet_profiles.gd") @export var delivered_modules: Array[Resource] = [] @export var research_records: Dictionary = {} @export var alien_skills: Dictionary = {} +@export var alien_project := "" +@export var alien_remaining := 0.0 +@export var alien_duration := 600.0 @export var laboratory_unlocks: Dictionary = {} @export var laboratory_offers: Array[String] = [] @export var laboratory_project: String = "" @export var laboratory_remaining: float = 0.0 -@export var laboratory_duration: float = 60.0 +@export var laboratory_duration: float = 600.0 @export var freighter_rooms: Dictionary = {"expansion_3":"module_storage"} @export var mining_stations: Dictionary = {} @export var distant_maps: Dictionary = {} @@ -82,20 +85,31 @@ func add_material(key: String, amount: int) -> void: cargo[key] = int(cargo.get(key, 0)) + amount emit_changed() -func resolve_poi(captain: Resource, poi: Dictionary, rng: RandomNumberGenerator) -> Dictionary: +func resolve_poi(captain: Resource, poi: Dictionary, _rng: RandomNumberGenerator = null, risky: bool = false) -> Dictionary: var rules := preload("res://scripts/planets/poi_rules.gd") - if not active or lander_hp <= 0.0 or bool(poi.get("complete", false)) or str(poi.get("kind", "")) not in rules.KINDS: - return {} - poi.complete = true - var result := {"success":true,"damage":0,"materials":rules.reward(str(poi.kind),rng,active_profile,captain),"module":null,"modules":[],"loot":PROFILES.poi_loot_report(active_profile,captain)} + if not active or lander_hp <= 0 or str(poi.get("kind","")) not in rules.KINDS: return {} + if risky: + if not bool(poi.get("complete",false)) or bool(poi.get("bonus_complete",false)) or not rules.has_bonus(poi,active_profile): return {} + elif bool(poi.get("complete",false)): return {} + var plan: Dictionary = rules.preview(active_profile,captain,poi,visit_seed,risky) + var bounds: Vector2i = plan.damage + var rolled_damage := rules.rng_for(visit_seed,poi,11 if risky else 1).randi_range(bounds.x,bounds.y) + var result := {"success":true,"damage":rolled_damage,"materials":plan.materials.duplicate(),"module":null,"modules":[],"loot":rules.report(str(poi.kind),active_profile,captain),"bonus":risky} for key in result.materials: add_material(key,int(result.materials[key])) - if str(poi.kind) == "ruins": - for index in rules.module_count(active_profile,captain): - var item: ItemInstance = REWARDS.generate_module(rng,active_profile,GameState.system_level,null,0,rules.module_bonus(rng,active_profile,captain)) + if poi.kind == "ruins": + var module_rng := rules.rng_for(visit_seed,poi,12 if risky else 2) + for index in int(plan.modules): + var item: ItemInstance = REWARDS.generate_module(module_rng,active_profile,PROFILES.level(active_profile),null,0,rules.module_bonus(module_rng,active_profile,captain,risky)) cargo_modules.append(item) result.modules.append(item) result.module = result.modules[0] - poi["loot_result"] = result + damage(rolled_damage) + if risky: + poi.bonus_complete = true + poi.bonus_result = result + else: + poi.complete = true + poi.loot_result = result emit_changed() return result diff --git a/scripts/planets/poi_rules.gd b/scripts/planets/poi_rules.gd index d3d9b1c..f10e841 100644 --- a/scripts/planets/poi_rules.gd +++ b/scripts/planets/poi_rules.gd @@ -1,32 +1,66 @@ extends RefCounted -const NAMES := {"deposit":"Złoże surowców", "ruins":"Starożytna struktura", "warehouse":"Opuszczony magazyn", "village":"Opuszczona wioska", "cave":"Jaskinia", "deep_deposit":"Głębokie złoże deuteru", "crew":"Obóz specjalisty", "hermit":"Pustelnik / Kartograf", "time_engineer":"Inżynier chronalny"} +const NAMES := {"deposit":"Złoże surowców","ruins":"Starożytna struktura","warehouse":"Opuszczony magazyn","village":"Opuszczona wioska","cave":"Jaskinia","deep_deposit":"Głębokie złoże deuteru","crew":"Obóz specjalisty","hermit":"Pustelnik / Kartograf","time_engineer":"Inżynier chronalny"} const KINDS := ["deposit","ruins","warehouse","village","cave"] +const WEIGHTS := {"deposit":[0.1,0.7,0.2],"ruins":[0.2,0.5,0.3],"warehouse":[0.1,0.25,0.65],"village":[0.15,0.2,0.65],"cave":[0.7,0.2,0.1]} const PROFILES := preload("res://scripts/planets/planet_profiles.gd") const REWARDS := preload("res://scripts/planets/planet_rewards.gd") -static func reward(kind: String, rng: RandomNumberGenerator, profile: Dictionary, captain: Resource) -> Dictionary: +static func report(kind: String, profile: Dictionary, captain: Resource) -> Dictionary: + return PROFILES.poi_loot_report(profile,captain,WEIGHTS.get(kind,[1.0,1.0,1.0])) + +static func richness(profile: Dictionary) -> float: + return REWARDS.material_multiplier(profile)*(1.0+0.02*(PROFILES.level(profile)-1)) + +static func reward(kind: String, rng: RandomNumberGenerator, profile: Dictionary, captain: Resource, risky: bool = false) -> Dictionary: var result := {} - var multiplier: float = PROFILES.poi_loot_report(profile,captain).multiplier + var multiplier: float = report(kind,profile,captain).multiplier*(0.35 if risky else 1.0) + var supplies := 1.0+0.5*REWARDS.difficulty(profile)+0.005*(PROFILES.level(profile)-1) match kind: "deposit": var key: String = PROFILES.MATERIALS[rng.randi_range(0,PROFILES.MATERIALS.size()-1)] - result[key] = rng.randi_range(18,28)*REWARDS.material_multiplier(profile) + result[key] = rng.randi_range(18,28)*richness(profile) "warehouse": - result.ammunition = rng.randi_range(130,210) - result.missile = rng.randi_range(2,4) - if rng.randf() < 0.25: result.irradiated_ammunition = rng.randi_range(20,35) + result.ammunition = rng.randi_range(130,210)*supplies + result.missile = rng.randi_range(2,4)*supplies + if rng.randf() < 0.25: result.irradiated_ammunition = rng.randi_range(20,35)*supplies var keys := ["iron","titanium","aluminium","uranium","sulfur"] - result[keys[rng.randi_range(0,4)]] = rng.randi_range(8,16)*REWARDS.material_multiplier(profile) + result[keys[rng.randi_range(0,4)]] = rng.randi_range(8,16)*richness(profile) "village": - result.credits = rng.randi_range(140,220) - result.experience = maxi(1,ceili(maxi(0,captain.get_xp_required()-captain.experience)*0.05)) - "cave": result.samples = rng.randi_range(3,5) + result.credits = rng.randi_range(140,220)*richness(profile) + var xp: int = captain.encounter_xp(6.0*pow(PROFILES.level(profile),0.75),PROFILES.level(profile)) + if xp > 0: result.experience = xp + "cave": result.samples = rng.randi_range(3,5)*sqrt(richness(profile)) for key in result: result[key] = maxi(1,roundi(float(result[key])*multiplier)) return result -static func module_count(profile: Dictionary, captain: Resource) -> int: - return clampi(roundi(1.5*float(PROFILES.poi_loot_report(profile,captain).multiplier)),1,3) +static func module_count(profile: Dictionary, captain: Resource, risky: bool = false) -> int: + if risky: return 1 + return clampi(roundi((1.0+REWARDS.difficulty(profile))*float(report("ruins",profile,captain).multiplier)),1,3) -static func module_bonus(rng: RandomNumberGenerator, profile: Dictionary, captain: Resource) -> int: - var report := PROFILES.poi_loot_report(profile,captain) - return maxi(0,roundi(REWARDS.roll_module_bonus(rng,profile)*float(report.recovery)))+roundi((float(report.gear_multiplier)-1.0)*2.0) +static func module_bonus(rng: RandomNumberGenerator, profile: Dictionary, captain: Resource, risky: bool = false) -> int: + var equipment := roundi((float(report("ruins",profile,captain).gear_multiplier)-1.0)*10) + return REWARDS.roll_module_bonus(rng,profile)+equipment+(2 if risky else 0) + +static func has_bonus(poi: Dictionary, profile: Dictionary) -> bool: + if str(poi.get("kind","")) not in KINDS: return false + if poi.has("bonus_available"): return bool(poi.bonus_available) + var rng := rng_for(int(profile.get("seed",1)),poi,24) + return rng.randf() < 0.25 + +static func rng_for(visit_seed: int, poi: Dictionary, salt: int = 0) -> RandomNumberGenerator: + var rng := RandomNumberGenerator.new() + rng.seed = visit_seed ^ (int(poi.get("id",0))*7919) ^ str(poi.get("kind","")).hash() ^ ((salt+1)*104729) + return rng + +static func damage_range(kind: String, profile: Dictionary, captain: Resource, risky: bool = false) -> Vector2i: + var equipment := report(kind,profile,captain) + var base := 13.0+5.0*REWARDS.difficulty(profile)+20.0*float(equipment.deficit)-3.0*float(equipment.surplus) if risky else 3.0+3.0*REWARDS.difficulty(profile)+16.0*float(equipment.deficit)-1.5*float(equipment.surplus) + var spread := 5 if risky else 1 + return Vector2i(maxi(1,floori(base)-spread),maxi(1,ceili(base)+spread)) + +static func preview(profile: Dictionary, captain: Resource, poi: Dictionary, visit_seed: int, risky: bool = false) -> Dictionary: + var kind := str(poi.get("kind","")) + if kind not in KINDS: return {} + var bounds := REWARDS.module_bonus_range(profile) + var equipment := roundi((float(report("ruins",profile,captain).gear_multiplier)-1.0)*10)+(2 if risky else 0) + return {"materials":reward(kind,rng_for(visit_seed,poi,10 if risky else 0),profile,captain,risky),"modules":module_count(profile,captain,risky) if kind == "ruins" else 0,"module_levels":Vector2i(clampi(PROFILES.level(profile)+bounds.x+equipment,1,1000),clampi(PROFILES.level(profile)+bounds.y+equipment,1,1000)),"damage":damage_range(kind,profile,captain,risky),"bonus":risky} diff --git a/scripts/planets/surface_events.gd b/scripts/planets/surface_events.gd index 1cde0f0..50115c3 100644 --- a/scripts/planets/surface_events.gd +++ b/scripts/planets/surface_events.gd @@ -197,7 +197,7 @@ static func resolve(event: Dictionary, action: String, captain: Resource, progre if not can_pay(captain,progress,selected.cost): return {"success":false,"reason":"Brakuje zasobów. Koszt: "+reward_text(selected.cost)} if event.kind in ["prototype","rescue","evacuation"] and action != "stop" and chance(event,captain,progress) <= 0.0: - return {"success":false,"blocked":true,"reason":"Ten etap ma 0% szans. Obniż zagrożenie odpowiednim wyposażeniem."} + return {"success":false,"blocked":true,"reason":"Ten etap jest niedostępny z obecnym wyposażeniem."} _pay(captain,progress,selected.cost) var reward: Dictionary = selected.reward.duplicate() var success := true diff --git a/scripts/planets/surface_generator.gd b/scripts/planets/surface_generator.gd index be4f9b5..3aa3ea7 100644 --- a/scripts/planets/surface_generator.gd +++ b/scripts/planets/surface_generator.gd @@ -87,6 +87,10 @@ static func generate(seed_value: int, profile: Dictionary) -> Dictionary: chosen = Vector2.from_angle(index * TAU / kinds.size()) * 1250 pois.append({"id": index, "kind": kind, "position": chosen, "complete": false, "discovered": false}) _attach_caves(pois,mountains) + # A separate stream keeps bonus selection independent of terrain generation. + for poi in pois: + poi.bonus_available = preload("res://scripts/planets/poi_rules.gd").has_bonus(poi,profile) + poi.bonus_complete = false # Clear vegetation around explorable structures so entrances stay readable. for poi in pois: trees = trees.filter(func(prop): return prop.position.distance_to(poi.position) > 100) diff --git a/scripts/planets/surface_minimap.gd b/scripts/planets/surface_minimap.gd index a2adbf5..95ddf21 100644 --- a/scripts/planets/surface_minimap.gd +++ b/scripts/planets/surface_minimap.gd @@ -20,7 +20,8 @@ func _draw() -> void: for poi in world.data.pois: if poi.discovered: var at: Vector2 = (poi.position / total + Vector2.ONE * 0.5) * size - var color := Color("708377") if poi.complete else Color("f4cb80") + var bonus_pending := bool(poi.get("bonus_available",false)) and not bool(poi.get("bonus_complete",false)) + var color := Color("708377") if poi.complete and not bonus_pending else Color("f4cb80") if poi.kind == "time_engineer": color = Color("9be7ff") draw_colored_polygon(PackedVector2Array([at+Vector2(0,-4),at+Vector2(4,0),at+Vector2(0,4),at+Vector2(-4,0)]),color) diff --git a/scripts/planets/surface_screen.gd b/scripts/planets/surface_screen.gd index f6717ea..6bbb5b9 100644 --- a/scripts/planets/surface_screen.gd +++ b/scripts/planets/surface_screen.gd @@ -4,6 +4,7 @@ const UI := preload("res://scripts/planets/expedition_ui.gd") const PROFILES := preload("res://scripts/planets/planet_profiles.gd") const EVENTS := preload("res://scripts/planets/surface_events.gd") const GENERATOR := preload("res://scripts/planets/surface_generator.gd") +const RULES := preload("res://scripts/planets/poi_rules.gd") const POI_CARD := preload("res://scripts/planets/poi_presentation.gd") var captain: Resource var progress: Resource @@ -157,6 +158,7 @@ func _ready() -> void: _choices.size_flags_horizontal = Control.SIZE_EXPAND_FILL _choices.add_theme_constant_override("separation", 10) scroll.add_child(_choices) + _choices.minimum_size_changed.connect(_layout_dialog.call_deferred) _layout_dialog() _dialog.hide() _update_hud() @@ -207,8 +209,10 @@ func _input(event: InputEvent) -> void: _dialog.hide() else: _return(true) - elif event.keycode == KEY_E and _dialog.visible and not _poi.is_empty() and _poi.kind in preload("res://scripts/planets/poi_rules.gd").KINDS and _poi.complete: - _dialog.hide() + elif event.keycode == KEY_E and _dialog.visible: + if _poi.is_empty() or str(_poi.get("kind","")) not in RULES.KINDS: return + if not bool(_poi.get("complete",false)): _attempt() + else: _dialog.hide() elif event.keycode == KEY_E and not _dialog.visible: for encounter in world.data.events: if not encounter.complete and lander.position.distance_to(encounter.position) <= 180: @@ -217,7 +221,7 @@ func _input(event: InputEvent) -> void: get_viewport().set_input_as_handled() return for poi in world.data.pois: - if not poi.complete and lander.position.distance_to(poi.position) <= 150: + if (not poi.complete or (RULES.has_bonus(poi,progress.active_profile) and not bool(poi.get("bonus_complete",false)))) and lander.position.distance_to(poi.position) <= 150: _poi = poi _show_poi() break @@ -227,9 +231,6 @@ func _input(event: InputEvent) -> void: func _show_poi(message := "") -> void: _active_event = {} - if _poi.kind in preload("res://scripts/planets/poi_rules.gd").KINDS and not _poi.complete: - _attempt() - return for child in _choices.get_children(): _choices.remove_child(child) child.queue_free() @@ -246,40 +247,62 @@ func _show_poi(message := "") -> void: if _poi.kind in ["deep_deposit", "crew"]: _show_colony_poi(message) return - POI_CARD.header(_choices,str(_poi.kind),0,true) - var result: Dictionary = _poi.get("loot_result",{}) - if result.is_empty(): - POI_CARD.text(_choices,"To miejsce zostało już odwiedzone.",14,POI_CARD.GOLD) - else: - POI_CARD.text(_choices,"ZDOBYTO",13,POI_CARD.GOLD) - if not result.materials.is_empty(): POI_CARD.text(_choices,UI.material_text(result.materials),15) - for item in result.modules: - var row := HBoxContainer.new() - row.name = "LootModuleRow" - row.size_flags_horizontal = Control.SIZE_EXPAND_FILL - row.add_theme_constant_override("separation",10) - _choices.add_child(row) - var icon := TextureRect.new() - icon.texture = item.definition.icon - icon.custom_minimum_size = Vector2(36,36) - icon.expand_mode = TextureRect.EXPAND_IGNORE_SIZE - icon.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_CENTERED - icon.size_flags_vertical = Control.SIZE_SHRINK_CENTER - row.add_child(icon) - var name_label := POI_CARD.text(row,"%s · poziom %d" % [item.definition.display_name,item.item_level],14,item.get_rarity_color()) - name_label.name = "LootModuleName" - name_label.size_flags_horizontal = Control.SIZE_EXPAND_FILL - name_label.size_flags_vertical = Control.SIZE_SHRINK_CENTER - name_label.tooltip_text = item.get_tooltip_text() - var loot: Dictionary = result.loot - POI_CARD.text(_choices,"Łup ×%.2f · sprzęt ×%.2f · odzysk %.0f%%\nZagrożenie po ochronie: %.1f%% / 300%%" % [loot.multiplier,loot.gear_multiplier,loot.recovery*100.0,loot.threat],12,POI_CARD.MUTED) - POI_CARD.text(_choices,"Znaleziska są w ładowni wyprawy. Zachowasz je po bezpiecznym powrocie na statek.",12,POI_CARD.MUTED) - POI_CARD.button(_choices, "Kontynuuj wyprawę [E]", func(): _dialog.hide(),true) - -func _attempt() -> void: - if _ending: + POI_CARD.header(_choices,str(_poi.kind),0,bool(_poi.get("complete",false))) + if not bool(_poi.get("complete",false)): + _show_forecast(false) + POI_CARD.button(_choices,"Podejmij eksplorację [E]",_attempt,true).name = "ExploreButton" + POI_CARD.button(_choices,"Wróć do wyprawy",func(): _dialog.hide()) return - var result: Dictionary = progress.resolve_poi(captain, _poi, _rng) + var result: Dictionary = _poi.get("loot_result",{}) + if not result.is_empty(): _show_findings(result) + var bonus_result: Dictionary = _poi.get("bonus_result",{}) + if not bonus_result.is_empty(): _show_findings(bonus_result) + elif RULES.has_bonus(_poi,progress.active_profile) and not bool(_poi.get("bonus_complete",false)): + POI_CARD.text(_choices,"DODATKOWE ZNALEZISKA",13,POI_CARD.GOLD) + _show_forecast(true) + POI_CARD.button(_choices,"Przeszukaj głębiej",func(): _attempt(true),true).name = "BonusExploreButton" + POI_CARD.text(_choices,"Znaleziska są w ładowni wyprawy. Zachowasz je po bezpiecznym powrocie na statek.",12,POI_CARD.MUTED) + POI_CARD.button(_choices,"Kontynuuj wyprawę [E]",func(): _dialog.hide()) + +func _show_forecast(risky: bool) -> void: + var plan := RULES.preview(progress.active_profile,captain,_poi,progress.visit_seed,risky) + POI_CARD.text(_choices,"PRZEWIDYWANA NAGRODA",13,POI_CARD.GOLD) + if not plan.materials.is_empty(): POI_CARD.text(_choices,UI.material_text(plan.materials),16) + if int(plan.modules) > 0: + var levels: Vector2i = plan.module_levels + POI_CARD.text(_choices,"Moduły: %d · poziom %d–%d" % [plan.modules,levels.x,levels.y],16) + var bounds: Vector2i = plan.damage + POI_CARD.text(_choices,"Uszkodzenia lądownika: %d–%d HP" % [bounds.x,bounds.y],16,Color("e9b18a")) + if float(bounds.y) >= progress.lander_hp: + POI_CARD.text(_choices,"Lądownik może zostać zniszczony. Utracisz cały łup tej wyprawy.",14,Color("f08370")) + +func _show_findings(result: Dictionary) -> void: + POI_CARD.text(_choices,"ZDOBYTO",13,POI_CARD.GOLD) + if not result.materials.is_empty(): POI_CARD.text(_choices,UI.material_text(result.materials),15) + for item in result.modules: + var row := HBoxContainer.new() + row.name = "LootModuleRow" + row.size_flags_horizontal = Control.SIZE_EXPAND_FILL + row.add_theme_constant_override("separation",10) + _choices.add_child(row) + var icon := TextureRect.new() + icon.texture = item.definition.icon + icon.custom_minimum_size = Vector2(36,36) + icon.expand_mode = TextureRect.EXPAND_IGNORE_SIZE + icon.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_CENTERED + icon.size_flags_vertical = Control.SIZE_SHRINK_CENTER + row.add_child(icon) + var name_label := POI_CARD.text(row,"%s · poziom %d" % [item.definition.display_name,item.item_level],14,item.get_rarity_color()) + name_label.name = "LootModuleName" + name_label.size_flags_horizontal = Control.SIZE_EXPAND_FILL + name_label.size_flags_vertical = Control.SIZE_SHRINK_CENTER + name_label.tooltip_text = item.get_tooltip_text() + POI_CARD.text(_choices,"Uszkodzenia lądownika: −%d HP" % int(result.get("damage",0)),13,Color("e9b18a")) + +func _attempt(risky: bool = false) -> void: + if _ending or _poi.is_empty(): return + if _poi.has("position") and lander.position.distance_to(_poi.position) > 150: return + var result: Dictionary = progress.resolve_poi(captain, _poi, _rng, risky) if result.is_empty(): return var rarity := 0 @@ -287,9 +310,9 @@ func _attempt() -> void: preload("res://scripts/items/loot_reveal_effect.gd").spawn(lander.get_parent(),lander.position,Color("f1cd86"),rarity,true) _update_hud() world.refresh_pois(lander.position) - _show_poi() if progress.lander_hp <= 0: await _destroy_lander() + else: _show_poi() func _destroy_lander() -> void: if _ending: @@ -309,8 +332,8 @@ func _update_hud() -> void: _hp.value = progress.lander_hp if not _ending: _status.text = "Lądownik %d / 100 HP · Energia %d%%" % [ceili(progress.lander_hp),roundi(_motion.energy)] + ("\nPogoda: " + weather.display_name() if is_instance_valid(weather) else "") - var loot_report := PROFILES.poi_loot_report(progress.active_profile,captain) - _threat.text = "Zagrożenie %.1f%% / 300%% · Łup POI ×%.2f" % [loot_report.threat,loot_report.multiplier] + _threat.text = "" + _threat.hide() var loot_data: Dictionary = progress.cargo.duplicate() if progress.cargo_parts > 0: loot_data.parts = progress.cargo_parts if progress.cargo_missiles > 0: loot_data.missile = progress.cargo_missiles @@ -336,10 +359,7 @@ func _check_events() -> void: var distance: float = lander.position.distance_to(event.position) if distance > 260: _event_armed = true - elif distance <= 180 and _event_armed and not _dialog.visible: - _event_armed = false - _show_event(event) - return + # Encounters, like ordinary POIs, open only after pressing E. func _event_text(text: String, color := Color("d5e4e8"), font_size := 15) -> Label: var label := POI_CARD.text(_choices,text,font_size,color) @@ -360,11 +380,6 @@ func _show_event(event: Dictionary, result: Dictionary = {}) -> void: _layout_dialog() _event_text(str(EVENTS.TITLES.get(event.kind,"Spotkanie")).to_upper(),UI.CYAN,22) _event_text(str(EVENTS.STORIES.get(event.kind,""))) - var threat := PROFILES.threat_report(progress.active_profile,captain) - _event_text("Zagrożenie po sprzęcie: %.1f%% / 300%% (bez sprzętu %.1f%%)." % [threat.total,threat.raw_total],Color("efca8a"),13) - var reward_profile: Dictionary = event.get("reward_profile",progress.active_profile) - var bonus: Vector2i = EVENTS.REWARDS.module_bonus_range(reward_profile) - _event_text("Premia biomu: materiały ×%.1f · moduły +%d…+%d poz.\nLiczba amunicji i rakiet nie wzrasta." % [EVENTS.REWARDS.material_multiplier(reward_profile),bonus.x,bonus.y],Color("9bc4c7"),13) if not result.is_empty(): _event_text(str(result.get("message",result.get("reason",""))),Color("efca8a")) if not event.complete: @@ -377,7 +392,7 @@ func _show_event(event: Dictionary, result: Dictionary = {}) -> void: _event_text("Możesz wybrać tylko jedną ofertę.",Color("efca8a")) if event.kind in ["prototype","rescue","evacuation"]: var limits: Vector2i = EVENTS.damage_range(event,progress) - _event_text("Sukces: %.2f%% · w razie porażki: −%d–%d HP\nSzansa uwzględnia warunki planety i sprzęt kapitana." % [EVENTS.chance(event,captain,progress)*100,limits.x,limits.y],Color("efca8a")) + _event_text("Przewidywane uszkodzenia lądownika: 0–%d HP" % limits.y,Color("efca8a")) if event.kind in ["blind_cache","safe_bet"]: _event_text("Tajemniczy łup: 50% części, 35% minerały, 10% rakiety, 5% moduł. Wartość może być niższa od opłaty.",Color("9bc4c7"),13) for option in EVENTS.options(event,captain,progress): @@ -394,9 +409,9 @@ func _show_event(event: Dictionary, result: Dictionary = {}) -> void: button.disabled = not EVENTS.can_pay(captain,progress,option.cost) if event.kind in ["prototype","rescue","evacuation"] and action != "stop" and EVENTS.chance(event,captain,progress) <= 0.0: button.disabled = true - button.tooltip_text += "\nTen etap ma 0% szans przy obecnym zagrożeniu." + button.tooltip_text += "\nTen etap jest niedostępny z obecnym wyposażeniem." if button.disabled: - button.tooltip_text += "\nSprawdź wymagane zasoby i aktualne zagrożenie." + button.tooltip_text += "\nSprawdź wymagane zasoby." POI_CARD.button(_choices,"Może później",func(): _dialog.hide()) else: _event_text("Spotkanie zakończone. Nagrody w ładowni wyprawy przepadną po zniszczeniu lądownika.",Color("9bc4c7"),13) @@ -417,7 +432,7 @@ func _layout_dialog() -> void: return var view := size var width := minf(450,maxf(280,view.x-32)) - var height := minf(600,maxf(180,view.y-48)) + var height := minf(minf(600,maxf(180,view.y-48)),maxf(240,_choices.get_combined_minimum_size().y+20)) _dialog.size = Vector2(width,height) _dialog.position = Vector2(view.x-width-20,maxf(16,(view.y-height)*0.5)) diff --git a/scripts/planets/surface_telemetry.gd b/scripts/planets/surface_telemetry.gd index 751d5d4..1db6a9c 100644 --- a/scripts/planets/surface_telemetry.gd +++ b/scripts/planets/surface_telemetry.gd @@ -81,25 +81,9 @@ func _ready() -> void: text(title,str(source.progress.active_profile.name),19,GOLD) text(title,str(source.world.data.landscape.name),12) text(title,preload("res://scripts/planets/planet_profiles.gd").biome_name(source.progress.active_profile),10,MUTED) - var conditions := HBoxContainer.new() - conditions.add_theme_constant_override("separation",6) - stack.add_child(conditions) - var profile: Dictionary = source.progress.active_profile - for entry in [["TLEN","%d%%" % profile.oxygen],["TEMPERATURA","%d°C" % profile.temperature],["GROŹNA FAUNA","%d" % profile.flora]]: - var cell := PanelContainer.new() - cell.size_flags_horizontal = Control.SIZE_EXPAND_FILL - var style := StyleBoxFlat.new() - style.bg_color = Color("30382a") - style.set_corner_radius_all(4) - style.set_content_margin_all(6) - cell.add_theme_stylebox_override("panel",style) - conditions.add_child(cell) - var column := VBoxContainer.new() - column.add_theme_constant_override("separation",1) - cell.add_child(column) - text(column,entry[0],9,MUTED) - text(column,entry[1],13,INK) + text(title,"Poziom %d" % preload("res://scripts/planets/planet_profiles.gd").level(source.progress.active_profile),12,MUTED) threat = text(stack,"",11,GOLD) + threat.hide() health = ProgressBar.new() health.custom_minimum_size.y = 6 health.show_percentage = false diff --git a/scripts/planets/surface_world.gd b/scripts/planets/surface_world.gd index 3b861c6..2fa0be0 100644 --- a/scripts/planets/surface_world.gd +++ b/scripts/planets/surface_world.gd @@ -181,7 +181,10 @@ func refresh_pois(lander_position: Vector2) -> void: label.text = "Obóz specjalisty" + (" · zatrudniono" if poi.complete else ("\n[E] Porozmawiaj" if lander_position.distance_to(poi.position) <= 150 else "")) continue var title: String = preload("res://scripts/planets/poi_rules.gd").NAMES[poi.kind] - label.text = title + (" · odwiedzono" if poi.complete else ("\n[E] Zbierz znaleziska" if lander_position.distance_to(poi.position) <= 150 else "")) + var bonus: bool = poi.complete and preload("res://scripts/planets/poi_rules.gd").has_bonus(poi,data.profile) and not bool(poi.get("bonus_complete",false)) + if bonus: sprite.modulate = Color("f2d49a") + label.text = title + (" · dodatkowe znaleziska" if bonus else (" · odwiedzono" if poi.complete else "")) + if lander_position.distance_to(poi.position) <= 150 and (not poi.complete or bonus): label.text += "\n[E] Zaplanuj eksplorację" func _draw() -> void: if terrain == null: diff --git a/scripts/ui/captain_equipment_panel.gd b/scripts/ui/captain_equipment_panel.gd index 148efb5..c46cb76 100644 --- a/scripts/ui/captain_equipment_panel.gd +++ b/scripts/ui/captain_equipment_panel.gd @@ -33,6 +33,7 @@ func _create_wardrobe() -> void: doll.custom_minimum_size = Vector2(228,252) body.add_child(doll) _protection = MENU.label(contents,"",10,MENU.MUTED) + _protection.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART get_parent().get_node("FloatingWindows").register_window(_wardrobe,_wardrobe,header) _wardrobe.minimum_size_changed.connect(_fit_window.call_deferred) _wardrobe.hide() @@ -73,4 +74,5 @@ func _refresh_wardrobe() -> void: var signature := str(captain.gear_items)+str(captain.gear_slots) if signature == _gear_signature: return _gear_signature = signature - _protection.text = "Tlen %d · Temp. %d · Fauna %d pp" % [mini(100,2*GEAR.level(captain,"breathing")),mini(100,2*GEAR.level(captain,"suit")),mini(100,2*GEAR.level(captain,"sidearm"))] + _protection.text = "Dopasuj poziom sprzętu do planety." + _protection.tooltip_text = "Dopasuj poziom wyposażenia do planety, aby odzyskać więcej łupu i ograniczyć uszkodzenia lądownika." diff --git a/scripts/ui/captain_gear_slot.gd b/scripts/ui/captain_gear_slot.gd index 57cda90..a6ccd7a 100644 --- a/scripts/ui/captain_gear_slot.gd +++ b/scripts/ui/captain_gear_slot.gd @@ -47,7 +47,8 @@ func refresh() -> void: _label.add_theme_font_size_override("font_size",11) tooltip_text = "Odłóż wyposażenie kapitana" if return_slot else "%s\n%s\nPrzeciągnij przedmiot do pasującego slotu. Dwuklik zakłada lub zdejmuje." % [GEAR.NAMES.get(kind, kind), "Poziom %d" % int(gear.level) if not gear.is_empty() else "Pusty slot"] if not return_slot and not gear.is_empty(): - tooltip_text += "\nRedukcja zagrożenia: %d pp (2 pp/poziom, maks. 100 pp).\nPoziom 50 całkowicie neutralizuje odpowiadające zagrożenie." % mini(100,2*int(gear.level)) + var uses := {"breathing":"Pomaga podczas eksploracji jaskiń i miejsc z trudną atmosferą.","suit":"Pomaga przy wydobyciu i eksploracji niestabilnych ruin.","sidearm":"Pomaga przeszukiwać magazyny i osady opanowane przez faunę."} + tooltip_text += "\n"+str(uses.get(kind,""))+"\n"+"Dopasuj poziom wyposażenia do poziomu planety." _style() func _style() -> void: diff --git a/scripts/ui/captain_paper_doll.gd b/scripts/ui/captain_paper_doll.gd index 09ec8a5..e7ee762 100644 --- a/scripts/ui/captain_paper_doll.gd +++ b/scripts/ui/captain_paper_doll.gd @@ -48,7 +48,8 @@ func _ready() -> void: func _refresh_reductions() -> void: for kind in _reductions: - _reductions[kind].text = "−%d%%" % mini(100,2*GEAR.level(GameState.captain,kind)) + var rank: int = GEAR.level(GameState.captain,kind) + _reductions[kind].text = "Poz. %d" % rank if rank > 0 else "—" func _draw() -> void: draw_style_box(_background(),Rect2(Vector2.ZERO,size)) diff --git a/scripts/ui/combat_feedback.gd b/scripts/ui/combat_feedback.gd index 52de316..0c19c35 100644 --- a/scripts/ui/combat_feedback.gd +++ b/scripts/ui/combat_feedback.gd @@ -30,4 +30,4 @@ func _draw() -> void: if is_instance_valid(navigation): warning_top = navigation.get_global_rect().end.y - global_position.y + 12.0 var baseline := warning_top + FONT.get_ascent(18) - draw_string(FONT, Vector2(0, baseline), warning, HORIZONTAL_ALIGNMENT_CENTER, size.x, 18, warning_color) + draw_string(FONT, Vector2(0, baseline), tr(warning), HORIZONTAL_ALIGNMENT_CENTER, size.x, 18, warning_color) diff --git a/scripts/ui/flight_cockpit.gd b/scripts/ui/flight_cockpit.gd index 92701f9..f6334f6 100644 --- a/scripts/ui/flight_cockpit.gd +++ b/scripts/ui/flight_cockpit.gd @@ -39,9 +39,10 @@ func fitted_font_size(value: String, width: float, requested: int) -> int: return result func _text(value: String, point: Vector2, width: float, font_size: int, color: Color) -> void: + value = tr(value) var fitted := fitted_font_size(value, width, font_size) draw_string_outline(FONT, point, value, HORIZONTAL_ALIGNMENT_CENTER, width, fitted, 2, Color("030a12cc")) - draw_string(FONT, point, value, HORIZONTAL_ALIGNMENT_CENTER, width, fitted, color) + draw_string(FONT, point, tr(value), HORIZONTAL_ALIGNMENT_CENTER, width, fitted, color) func _draw() -> void: if _inventory == null or not is_instance_valid(player): return diff --git a/scripts/ui/main_menu.gd b/scripts/ui/main_menu.gd index c234ba3..fd61b18 100644 --- a/scripts/ui/main_menu.gd +++ b/scripts/ui/main_menu.gd @@ -11,6 +11,9 @@ var _launching := false var _drawer_tween: Tween var _guide: Control var _instruction_button: Button +var _continue_button: Button +var _message: CanvasLayer +var _modal: CanvasLayer func _style_menu() -> void: $Background.mouse_filter = Control.MOUSE_FILTER_IGNORE @@ -48,19 +51,27 @@ func _style_menu() -> void: _instruction_button.name = "InstructionsButton" layout.add_child(_instruction_button) layout.move_child(_instruction_button, start_button.get_index() + 1) + _continue_button = Button.new() + _continue_button.name = "ContinueButton" + layout.add_child(_continue_button) + layout.move_child(_continue_button, start_button.get_index()) var entries := [ [start_button, "NOWA WYPRAWA", "Wybierz statek i ruszaj w nieznane", "01", true], [_instruction_button, "INSTRUKCJA", "Pierwszy lot? Zacznij tutaj", "02", false], - [$MenuLayout/SaveButton, "ZAPIS ROZGRYWKI", "Wgraj / zapisz — wkrótce", "03", false], - [$MenuLayout/OptionsButton, "OPCJE", "Ustawienia — wkrótce", "04", false], + [_continue_button, "KONTYNUUJ", "Wczytaj ostatnią wyprawę", "00", false], + [$MenuLayout/SaveButton, "WCZYTAJ GRĘ", "Wybierz wyprawę z archiwum zapisów", "03", false], + [$MenuLayout/OptionsButton, "OPCJE", "Dźwięk, obraz i język", "04", false], [exit_button, "WYJŚCIE", "Zakończ grę", "05", false], ] for entry in entries: var button: Button = entry[0] button.set_script(preload("res://scripts/ui/main_menu_button.gd")) button.call("configure", entry[1], entry[2], entry[3], entry[4]) - $MenuLayout/SaveButton.disabled = true - $MenuLayout/OptionsButton.disabled = true + _continue_button.disabled = not GameState.has_save() + _continue_button.pressed.connect(_continue_game) + $MenuLayout/SaveButton.pressed.connect(_show_save) + $MenuLayout/OptionsButton.pressed.connect(_open_options) + GameSettings.settings_changed.connect(_refresh_language) _guide = Control.new() _guide.set_script(preload("res://scripts/ui/player_guide.gd")) add_child(_guide) @@ -72,7 +83,7 @@ func _style_menu() -> void: func _layout_menu() -> void: var layout := $MenuLayout as VBoxContainer layout.set_anchors_and_offsets_preset(Control.PRESET_TOP_LEFT) - var factor := minf(1.0, minf((size.y - 120.0) / 520.0, (size.x - 64.0) / 420.0)) + var factor := minf(1.0, minf((size.y - 100.0) / maxf(580.0, layout.get_combined_minimum_size().y), (size.x - 64.0) / 420.0)) layout.scale = Vector2.ONE * factor layout.size = Vector2(420, layout.get_combined_minimum_size().y) layout.position = Vector2(maxf(32.0, size.x * 0.065), maxf(68.0, (size.y - layout.size.y * factor) * 0.5)) @@ -132,3 +143,55 @@ func _launch_game() -> void: func _exit_game() -> void: get_tree().quit() + +func _continue_game() -> void: + if _launching: return + if not GameState.continue_game(): + _show_message(tr("Brak poprawnego zapisu gry.")) + return + _launching = true + get_tree().paused = false + var error := get_tree().change_scene_to_file(GAME_SCENE) + if error != OK: + _launching = false + _show_message(error_string(error)) + +func _open_options() -> void: + if is_instance_valid(_modal): return + _modal = CanvasLayer.new() + _modal.set_script(preload("res://scripts/ui/options_dialog.gd")) + add_child(_modal) + +func _show_save() -> void: + if is_instance_valid(_modal): return + _modal = CanvasLayer.new() + _modal.set_script(preload("res://scripts/ui/save_browser.gd")) + _modal.connect("load_requested",_load_selected) + add_child(_modal) + +func _load_selected(id: String) -> void: + if _launching: return + if not GameState.load_game(id): + _modal._status.text = tr("Brak poprawnego zapisu gry.") + _modal._status.show() + return + _launching = true + get_tree().paused = false + var error := get_tree().change_scene_to_file(GAME_SCENE) + if error != OK: + _launching = false + _show_message(error_string(error)) + +func _show_message(message: String) -> void: + if is_instance_valid(_message): _message.queue_free() + _message = CanvasLayer.new() + _message.set_script(preload("res://scripts/ui/menu_modal.gd")) + _message.heading = "ZAPIS ROZGRYWKI" + _message.subtitle = message + _message.preferred_size = Vector2(600,320) + add_child(_message) + preload("res://scripts/ui/menu_modal.gd").button(_message.footer,tr("Zamknij"),_message._close,true) + +func _refresh_language() -> void: + for button in $MenuLayout.get_children(): + if button is Button: button.queue_redraw() diff --git a/scripts/ui/main_menu_button.gd b/scripts/ui/main_menu_button.gd index f9b2018..1d548c7 100644 --- a/scripts/ui/main_menu_button.gd +++ b/scripts/ui/main_menu_button.gd @@ -49,7 +49,7 @@ func _draw() -> void: var label_color := Color("f4ead9") if primary else Color("e0edf3") if disabled: label_color = Color("82909d") - draw_string(DISPLAY_FONT, Vector2(62 + _hover * 3, 29 if primary else 24), caption, HORIZONTAL_ALIGNMENT_LEFT, -1, 17 if primary else 14, label_color) - draw_string(body_font, Vector2(62, 50 if primary else 43), detail, HORIZONTAL_ALIGNMENT_LEFT, size.x - 104, 12, Color("a1acb9") if disabled else Color("a9bcc8")) + draw_string(DISPLAY_FONT, Vector2(62 + _hover * 3, 29 if primary else 24), tr(caption), HORIZONTAL_ALIGNMENT_LEFT, size.x - 90, 17 if primary else 14, label_color) + draw_string(body_font, Vector2(62, 50 if primary else 43), tr(detail), HORIZONTAL_ALIGNMENT_LEFT, size.x - 90, 12, Color("a1acb9") if disabled else Color("a9bcc8")) var tip := Vector2(size.x - 23 + _hover * 3, size.y * 0.5) draw_polyline(PackedVector2Array([tip + Vector2(-5, -5), tip, tip + Vector2(-5, 5)]), Color(accent, 0.5 + _hover * 0.5), 1.5, true) diff --git a/scripts/ui/menu_atmosphere.gd b/scripts/ui/menu_atmosphere.gd index 90b0d15..0fbe50e 100644 --- a/scripts/ui/menu_atmosphere.gd +++ b/scripts/ui/menu_atmosphere.gd @@ -11,5 +11,5 @@ func _draw() -> void: draw_line(Vector2(32, 36), Vector2(90, 36), Color("91dbea"), 2) draw_line(Vector2(32, 36), Vector2(32, 62), Color(0.57, 0.86, 0.92, 0.4), 1) draw_line(Vector2(32, size.y - 36), Vector2(size.x - 32, size.y - 36), Color(0.57, 0.86, 0.92, 0.17), 1) - draw_string(ThemeDB.fallback_font, Vector2(48, size.y - 16), "RANDOLOOT / EKSPLORUJ • WALCZ • ROZWIJAJ STATEK", HORIZONTAL_ALIGNMENT_LEFT, -1, 11, Color("91a4b7")) - draw_string(ThemeDB.fallback_font, Vector2(size.x - 215, size.y - 16), "NIEZNANY UKŁAD. TWOJA WYPRAWA.", HORIZONTAL_ALIGNMENT_LEFT, -1, 10, Color("829aac")) + draw_string(ThemeDB.fallback_font, Vector2(48, size.y - 16), tr("RANDOLOOT / EKSPLORUJ • WALCZ • ROZWIJAJ STATEK"), HORIZONTAL_ALIGNMENT_LEFT, -1, 11, Color("91a4b7")) + draw_string(ThemeDB.fallback_font, Vector2(size.x - 215, size.y - 16), tr("NIEZNANY UKŁAD. TWOJA WYPRAWA."), HORIZONTAL_ALIGNMENT_LEFT, -1, 10, Color("829aac")) diff --git a/scripts/ui/menu_modal.gd b/scripts/ui/menu_modal.gd new file mode 100644 index 0000000..2ed10be --- /dev/null +++ b/scripts/ui/menu_modal.gd @@ -0,0 +1,147 @@ +extends CanvasLayer +## Shared responsive menu shell. No native window chrome or system dialogs. +signal closed + +const INK := Color("ecf2ed") +const MUTED := Color("8fa8b7") +const CYAN := Color("83d4df") +const GOLD := Color("edbc7c") +const DISPLAY_FONT := preload("res://assets/fonts/font2.ttf") +var heading := "" +var subtitle := "" +var marker := "RANDOLOOT / SYSTEMY POKŁADOWE" +var preferred_size := Vector2(780,590) +var body: VBoxContainer +var footer: HBoxContainer +var panel: PanelContainer +var _root: Control +var _closing := false + +func _ready() -> void: + process_mode = Node.PROCESS_MODE_ALWAYS + layer = 140 + _root = Control.new() + _root.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + add_child(_root) + var shade := ColorRect.new() + shade.color = Color(0.005,0.012,0.025,0.78) + shade.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + _root.add_child(shade) + panel = PanelContainer.new() + panel.add_theme_stylebox_override("panel", box(Color("0b1825"),Color("416471"),24)) + _root.add_child(panel) + var column := VBoxContainer.new() + column.add_theme_constant_override("separation",16) + panel.add_child(column) + var top := HBoxContainer.new() + column.add_child(top) + var eyebrow := label(top,tr(marker),10,CYAN) + eyebrow.size_flags_horizontal = Control.SIZE_EXPAND_FILL + var close_button := button(top,"×",_close,false) + close_button.custom_minimum_size = Vector2(32,30) + close_button.add_theme_font_size_override("font_size",20) + close_button.tooltip_text = tr("Zamknij") + " · Esc" + var title := label(column,tr(heading),28,INK) + title.add_theme_font_override("font",DISPLAY_FONT) + if not subtitle.is_empty(): + var description := label(column,tr(subtitle),13,MUTED) + description.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + column.add_child(rule()) + var scroll := ScrollContainer.new() + scroll.size_flags_vertical = Control.SIZE_EXPAND_FILL + scroll.horizontal_scroll_mode = ScrollContainer.SCROLL_MODE_DISABLED + column.add_child(scroll) + body = VBoxContainer.new() + body.size_flags_horizontal = Control.SIZE_EXPAND_FILL + body.add_theme_constant_override("separation",16) + scroll.add_child(body) + column.add_child(rule()) + footer = HBoxContainer.new() + footer.alignment = BoxContainer.ALIGNMENT_END + footer.add_theme_constant_override("separation",10) + column.add_child(footer) + get_viewport().size_changed.connect(_layout) + panel.minimum_size_changed.connect(_layout) + _layout.call_deferred() + +func _layout() -> void: + var viewport_size := get_viewport().get_visible_rect().size + var extent := preferred_size.min(viewport_size-Vector2(48,48)) + panel.size = extent + var factor := minf(1.0,minf((viewport_size.x-48)/maxf(1,panel.size.x),(viewport_size.y-48)/maxf(1,panel.size.y))) + panel.scale = Vector2.ONE*factor + panel.position = (viewport_size-panel.size*factor)*0.5 + +func _unhandled_input(event: InputEvent) -> void: + if visible and event is InputEventKey and event.pressed and not event.echo and event.keycode == KEY_ESCAPE: + get_viewport().set_input_as_handled() + _close() + +func _close() -> void: + if _closing: return + _closing = true + hide() + closed.emit() + queue_free() + +func popup_centered() -> void: + show() + _layout() + +static func box(background: Color, border: Color, margin: int = 14) -> StyleBoxFlat: + var style := StyleBoxFlat.new() + style.bg_color = background + style.border_color = border + style.set_border_width_all(1) + style.set_corner_radius_all(9) + style.set_content_margin_all(margin) + style.shadow_color = Color(0,0,0,0.25) + style.shadow_size = 12 + return style + +static func rule() -> ColorRect: + var line := ColorRect.new() + line.custom_minimum_size.y = 1 + line.color = Color("304653") + return line + +static func label(parent: Node, caption: String, font_size: int = 14, color: Color = INK) -> Label: + var node := Label.new() + node.text = caption + node.add_theme_font_override("font",ThemeDB.fallback_font) + node.add_theme_font_size_override("font_size",font_size) + node.add_theme_color_override("font_color",color) + parent.add_child(node) + return node + +static func button(parent: Node, caption: String, action: Callable, primary: bool = false) -> Button: + var node := Button.new() + node.text = caption + node.custom_minimum_size = Vector2(112,42) + node.mouse_default_cursor_shape = Control.CURSOR_POINTING_HAND + node.add_theme_font_override("font",ThemeDB.fallback_font) + node.add_theme_font_size_override("font_size",14) + style_button(node, primary) + node.pressed.connect(action) + parent.add_child(node) + return node + +static func style_button(node: Button, primary: bool = false) -> void: + var accent := GOLD if primary else CYAN + node.add_theme_color_override("font_color",INK) + node.add_theme_color_override("font_hover_color",Color.WHITE) + node.add_theme_color_override("font_disabled_color",Color("617681")) + node.add_theme_stylebox_override("normal",box(Color("30291f") if primary else Color("102431"),Color(accent,0.45),10)) + node.add_theme_stylebox_override("hover",box(Color("453725") if primary else Color("1b3b4a"),accent,10)) + node.add_theme_stylebox_override("pressed",box(Color("3c3023") if primary else Color("183b47"),accent,10)) + node.add_theme_stylebox_override("disabled",box(Color("101b24"),Color("293d48"),10)) + node.add_theme_stylebox_override("focus",box(Color(0,0,0,0),accent,10)) + +static func input_style(node: Control) -> void: + node.add_theme_font_override("font",ThemeDB.fallback_font) + node.add_theme_font_size_override("font_size",15) + node.add_theme_color_override("font_color",INK) + if node is LineEdit: + node.add_theme_stylebox_override("normal",box(Color("07131d"),Color("345461"),12)) + node.add_theme_stylebox_override("focus",box(Color("0c1e2b"),CYAN,12)) + elif node is Button: style_button(node) diff --git a/scripts/ui/menu_modal.gd.uid b/scripts/ui/menu_modal.gd.uid new file mode 100644 index 0000000..f0c01b7 --- /dev/null +++ b/scripts/ui/menu_modal.gd.uid @@ -0,0 +1 @@ +uid://d13vdtahpj43v diff --git a/scripts/ui/options_dialog.gd b/scripts/ui/options_dialog.gd new file mode 100644 index 0000000..3472d00 --- /dev/null +++ b/scripts/ui/options_dialog.gd @@ -0,0 +1,95 @@ +extends "res://scripts/ui/menu_modal.gd" + +var _volume: HSlider +var _music: HSlider +var _resolution: OptionButton +var _language: OptionButton +var _fullscreen: CheckButton +var _error: Label + +func _ready() -> void: + heading = "OPCJE" + subtitle = "Dostosuj dźwięk, ekran i język swojej wyprawy." + marker = "USTAWIENIA / KOMPUTER POKŁADOWY" + preferred_size = Vector2(800,650) + super._ready() + var audio := _section("01 / DŹWIĘK") + _volume = _slider(audio,"Głośność ogólna",GameSettings.volume) + _music = _slider(audio,"Głośność muzyki",GameSettings.music_volume) + var columns := HBoxContainer.new() + columns.add_theme_constant_override("separation",16) + body.add_child(columns) + var display := _section("02 / OBRAZ",columns) + label(display,tr("Rozdzielczość"),12,MUTED) + _resolution = OptionButton.new() + _resolution.custom_minimum_size.y = 42 + display.add_child(_resolution) + input_style(_resolution) + for value in GameSettings.RESOLUTIONS: _resolution.add_item("%d × %d" % [value.x,value.y]) + _resolution.select(maxi(0,GameSettings.RESOLUTIONS.find(GameSettings.resolution))) + _fullscreen = CheckButton.new() + _fullscreen.text = tr("Pełny ekran") + _fullscreen.button_pressed = GameSettings.fullscreen + _fullscreen.add_theme_font_override("font",ThemeDB.fallback_font) + _fullscreen.add_theme_font_size_override("font_size",14) + display.add_child(_fullscreen) + var language := _section("03 / JĘZYK",columns) + label(language,tr("Język interfejsu"),12,MUTED) + _language = OptionButton.new() + _language.custom_minimum_size.y = 42 + language.add_child(_language) + input_style(_language) + for name in GameSettings.LANGUAGES: _language.add_item(name) + _language.select(GameSettings.LOCALES.find(GameSettings.locale)) + var note := label(language,tr("Ustawienia są zapamiętywane między uruchomieniami."),12,MUTED) + note.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + for select in [_resolution,_language]: + select.get_popup().add_theme_stylebox_override("panel",box(Color("102431"),Color("416471"),10)) + select.get_popup().add_theme_font_override("font",ThemeDB.fallback_font) + _error = label(body,"",12,Color("ef9e8b")) + _error.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + button(footer,tr("Anuluj"),_close) + button(footer,tr("Zastosuj"),_apply,true) + +func _section(caption: String, parent: Node = null) -> VBoxContainer: + var card := PanelContainer.new() + card.size_flags_horizontal = Control.SIZE_EXPAND_FILL + card.add_theme_stylebox_override("panel",box(Color("0e202d"),Color("263e4a"),16)) + (parent if parent != null else body).add_child(card) + var column := VBoxContainer.new() + column.add_theme_constant_override("separation",14) + card.add_child(column) + label(column,tr(caption),11,GOLD) + return column + +func _slider(parent: Node, caption: String, value: float) -> HSlider: + var row := HBoxContainer.new() + row.add_theme_constant_override("separation",18) + parent.add_child(row) + var title := label(row,tr(caption),14) + title.custom_minimum_size.x = 174 + var slider := HSlider.new() + slider.max_value = 100 + slider.step = 1 + slider.value = roundf(value*100) + slider.size_flags_horizontal = Control.SIZE_EXPAND_FILL + slider.custom_minimum_size = Vector2(120,28) + row.add_child(slider) + var percentage := label(row,"%d%%" % slider.value,16,GOLD) + percentage.custom_minimum_size.x = 48 + percentage.horizontal_alignment = HORIZONTAL_ALIGNMENT_RIGHT + slider.value_changed.connect(func(amount: float) -> void: percentage.text = "%d%%" % amount) + return slider + +func _apply() -> void: + GameSettings.volume = _volume.value/100.0 + GameSettings.music_volume = _music.value/100.0 + GameSettings.resolution = GameSettings.RESOLUTIONS[_resolution.selected] + GameSettings.fullscreen = _fullscreen.button_pressed + GameSettings.locale = GameSettings.LOCALES[_language.selected] + GameSettings.apply() + if GameSettings.save_settings() != OK: + _error.text = tr("Nie udało się zapisać ustawień.") + return + _close() + diff --git a/scripts/ui/options_dialog.gd.uid b/scripts/ui/options_dialog.gd.uid new file mode 100644 index 0000000..8b8d33d --- /dev/null +++ b/scripts/ui/options_dialog.gd.uid @@ -0,0 +1 @@ +uid://cjf2gnj3gm6p5 diff --git a/scripts/ui/player_guide.gd b/scripts/ui/player_guide.gd index 13fb7f4..146699c 100644 --- a/scripts/ui/player_guide.gd +++ b/scripts/ui/player_guide.gd @@ -8,7 +8,7 @@ const PAGES := [ ["Walka i przetrwanie", "03", "[font_size=16][color=#f1bd79]Wróć z wyprawy[/color][/font_size]\n\n[color=#91dbea][b]Tarcze, kadłub i energia[/b][/color]\nTarcze pochłaniają obrażenia przed kadłubem. Utrata całego kadłuba oznacza zniszczenie statku. Energia zasila część broni oraz dopalanie; odnawia się z czasem, szybciej przy gwieździe.\n\n[color=#91dbea][b]Dobieraj broń do zapasów[/b][/color]\nBroń energetyczna zużywa energię. Działko maszynowe potrzebuje zwykłej amunicji, gamma — napromieniowanej, a wyrzutnie — rakiet. Puste zapasy oznaczają brak strzału. Absorpcja ogranicza obrażenia danego typu.\n\n[color=#91dbea][b]Korzystaj z rozszerzeń[/b][/color]\nMiny atakują obszarowo, flary odciągają uwagę, kamuflaż pomaga zerwać kontakt, teleport przenosi w bezpieczne miejsce, a drony wspierają ostrzał. Doładowanie tarcz działa przy gwieździe. Sprawdzaj koszt i cooldown w opisie.\n\n[color=#f1bd79][b]Uważaj na uciekających przeciwników[/b][/color]\nWróg z kadłubem poniżej 10% ucieka wolniej, ale może zostawić minę. Nie leć bezmyślnie prosto za nim."], ["Łup i wytwarzanie", "04", "[font_size=16][color=#f1bd79]Zbieraj. Porównuj. Twórz.[/color][/font_size]\n\n[color=#91dbea][b]Łup zbierasz przez podlecenie[/b][/color]\nPrzedmioty w pobliżu są przyciągane do statku. Magazyn mieści 20 przedmiotów; przy pełnym magazynie zwolnij miejsce, żeby zebrać kolejny.\n\n[color=#91dbea][b]Asteroidy zostawiają fizyczne odłamki[/b][/color]\nStrzelaj do asteroid. Po zniszczeniu rozpadają się bazowo na 5–7 poszarpanych fragmentów. Każdy to jedna jednostka surowca — musisz go zebrać. Umiejętność górnika zwiększa uzysk.\n\n[color=#91dbea][b]Przeszukuj wraki[/b][/color]\nPodleć do wraku i przytrzymaj E, aby go przeszukać. Wraki dają surowce (65%), amunicję lub rakiety (łącznie 20%) albo moduł (15%).\n\n[color=#91dbea][b]Warsztat fregaty — produkcja[/b][/color]\nZadokuj na fregacie i wybierz Warsztat. Tam wytworzysz amunicję, rakiety, części, powerbanki i wyposażenie kapitana. Koszt sprawdzisz w podpowiedzi przycisku produkcji.\n\n[color=#91dbea][b]Odzyskuj części[/b][/color]\nNajedź na zbędny przedmiot w magazynie i użyj przycisku rozłożenia. Części przydadzą się do napraw."], ["Statek i kapitan", "05", "[font_size=16][color=#f1bd79]Buduj własny styl gry[/color][/font_size]\n\n[color=#91dbea][b]Wyposażenie[/b][/color]\nKliknij panel statku w prawym górnym rogu i otwórz magazyn. Przeciągaj przedmioty do pasujących slotów: maksymalnie 3 bronie, 5 modułów i 5 rozszerzeń. Na początku dostępny jest 1 slot broni i 1 rozszerzenia. Pierwszy dodatkowy slot broni kosztuje 100 tytanu, drugi 500. Rozszerzenia kosztują po 40 żelaza, aluminium i tytanu, a każdy kolejny slot podwaja ten koszt (80, 160, 320). Ładownia zaczyna z 5 miejscami; każde kolejne miejsce kosztuje 100 żelaza i 50 aluminium. Sloty odblokowujesz w hangarze fregaty. Po zbudowaniu składu modułów zakładka Magazyn na frachtowcu pozwala odkładać i odbierać wyposażenie. Aktywne rozszerzenia uruchamiasz klawiszami 1–5; pasywne (oznaczone P) działają automatycznie w tych samych slotach. Najedź kursorem, żeby sprawdzić parametry i porównanie wyposażenia.\n\n[color=#91dbea][b]Nie każdy duplikat jest taki sam[/b][/color]\nBroń i moduły mogą mieć różne parametry oraz addony. Aktywne rozszerzenia losują cooldown od 30 do 5 pełnych sekund. Pasywne mają losowaną siłę efektu: Recykler odnawia tarcze i energię po zebraniu odłamka, Wirus przejmuje uciekających wrogów, a Pancerz z tytanu ogranicza obrażenia przy niskim kadłubie. Krótsze odnowienia są rzadkie — przed rozłożeniem porównaj egzemplarze. Rozszerzenia tego samego typu dzielą aktywne odnowienie.\n\n[color=#91dbea][b]Umiejętności kapitana[/b][/color]\nZa pokonanych wrogów zdobywasz doświadczenie i kredyty. Trudniejsze układy dają więcej bazowego XP. Jeśli kapitan przewyższa poziom układu o ponad 2 poziomy, XP za przeciwników i ruiny maleje; przy przewadze 8 poziomów spada do zera. Kredyty i surowce nadal zbierasz. Po awansie wybierasz umiejętność. Pasywne działają stale, aktywne przypisujesz do F1–F5.\n\n[color=#f1bd79][b]Okno umiejętności nie pauzuje gry.[/b][/color]\nOtwieraj je w bezpiecznym miejscu. Przed kolejnym układem uzupełnij zapasy i sprawdź wyposażenie."] - ,["Planety i frachtowiec", "06", "[font_size=16][color=#f1bd79]Wyprawa na powierzchnię[/color][/font_size]\n\nPodleć do planety oznaczonej EARTHLIKE. [b]F[/b] skanuje tlen, temperaturę i zagrożenie biologiczne. [b]L[/b] rozpoczyna lądowanie. Możesz eksplorować przed pokonaniem wrogów, ale lądowanie jest zablokowane podczas walki.\n\nLądownik wymaga 100 HP przed startem i traci 5–20 HP przy wejściu w atmosferę. Na powierzchni sterujesz jak statkiem: [b]W[/b] — ciąg, [b]S[/b] — hamowanie i wstecz, [b]A/D[/b] — obrót, [b]Q/R[/b] — ruch boczny, [b]TAB[/b] — dopalanie. Podleć do zwykłego POI i naciśnij [b]E[/b], aby od razu zobaczyć zdobyte znaleziska. Lądownik ma osobną energię dopalania. Ilość łupu zwiększa wyposażenie kapitana, a zmniejszają zagrożenia, przed którymi nie chroni sprzęt. Wydarzenia oznaczone pytajnikiem oraz usługi inżynierów i kartografów zachowują osobne okna.\n\n[b]L[/b] lub przycisk powrotu kończy wyprawę i przenosi łup do Twoich zasobów. Zniszczenie lądownika oznacza utratę tylko zdobyczy tej wyprawy. Kolejne lądowanie tworzy nową mapę.\n\n[color=#91dbea][b]Frachtowiec[/b][/color]\nZnajdziesz go przy gwieździe centralnej. Podleć i naciśnij [b]L[/b]. Hangar naprawia lądownik (1 część za 1% HP), warsztat prowadzi całą produkcję amunicji, rakiet, zaopatrzenia i sprzętu kapitana, a laboratorium przechowuje skany i archiwa.\n\nKapitan zaczyna z podstawowym systemem oddychania, skafandrem i bronią ręczną. Kolejne poziomy tworzysz w warsztacie; posiadany sprzęt zmienisz w Warsztacie. Kliknięcie panelu kapitana pokazuje sylwetkę, założone przedmioty i redukcję zagrożeń nad slotami. Lepszy sprzęt zwiększa ilość łupu z POI i ogranicza ryzyko specjalnych wydarzeń.\n\n[color=#91dbea][b]Losowe spotkania[/b][/color]\nPytajnik na mapie oznacza wydarzenie. Podleć, aby otworzyć okno. Miejscowy inżynier może zaoferować nieznany moduł za 100 kredytów. Wyższe poziomy przedmiotów są coraz rzadsze. Kupiony moduł pozostaje w ładowni wyprawy do bezpiecznego powrotu.\n\n[color=#f1bd79]Podczas wyprawy i wizyty we frachtowcu kosmos jest zamrożony. Zapisywanie między uruchomieniami gry nie jest jeszcze dostępne.[/color]"] + ,["Planety i frachtowiec", "06", "[b]Wyprawy na planety[/b]\n\nPierwsze planety są łagodne. W kolejnych układach eksploracja jest trudniejsza, ale znaleziska są bogatsze. Dopasuj poziom wyposażenia kapitana do poziomu planety: aparat oddechowy pomaga w jaskiniach, skafander przy wydobyciu i ruinach, a broń ręczna w magazynach i osadach.\n\nPodleć do planety EARTHLIKE. F pokazuje informacje, a L rozpoczyna lądowanie. Lądownik musi mieć 100 HP przed startem; lądowanie uszkadza kadłub. Podczas walki nie można lądować.\n\nNa powierzchni: W — ciąg, S — hamowanie i wstecz, A/D — obrót, Q/R — ruch boczny, TAB — dopalanie. Przy POI naciśnij E. Najpierw zobaczysz przewidywaną nagrodę i uszkodzenia. Samo otwarcie okna niczego nie zużywa. Potwierdź eksplorację przyciskiem lub drugim naciśnięciem E.\n\nNiektóre miejsca oferują dodatkowe znaleziska. Przeszukanie głębiej daje więcej łupu, ale mocniej uszkadza lądownik. Niski kadłub może oznaczać utratę całej zdobyczy tej wyprawy. L pozwala wrócić z dotychczasowym łupem. Spotkania oznaczone pytajnikiem również otwierasz klawiszem E.\n\n[b]Frachtowiec i postęp[/b]\nPrzy gwieździe centralnej zadokuj klawiszem L. Hangar naprawia lądownik za części. Warsztat produkuje zaopatrzenie i kolejne poziomy wyposażenia kapitana. Laboratorium prowadzi badania.\n\nEsc otwiera pauzę, nazwane zapisy i opcje. Wczytanie zachowuje postęp oraz wyposażenie i zaczyna bieżący poziom od początku."] , ["Autorzy dźwięków", "07", "[font_size=16][color=#f1bd79]Dźwięki otoczenia[/color][/font_size]\n\n[b]Blender Foundation — Ambient Bird, Cricket and Frog (Yo Frankie!)[/b]\nOdgłosy świerszcza i żaby, udostępnione przez Lamoot:\nhttps://opengameart.org/content/ambient-bird-cricket-and-frog\nLicencja Creative Commons Attribution 3.0:\nhttps://creativecommons.org/licenses/by/3.0/\nZmiany: filtrowanie, płynne początki i zakończenia, zmiana wysokości żaby oraz konwersja do stereo 48 kHz. Autorzy nie są powiązani z tą grą.\n\n[b]Nagrania na licencji CC0[/b]\nThimras — Park ambiences (wiatr).\nIwan „qubodup” Gabovitch — 20 Rustles of dry leaves.\nisaiah658 — Ambient Bird Sounds.\nRudmer_Rotteveel — Wood Creak Single V7.\n\n[b]Wnętrze fregaty — CC0[/b]\nLEGIT Audio — The Shop (bezpłatne próbki OpenGameArt).\nbart — 68 Workshop Sounds i Steam release sounds.\nKenney — Sci-Fi Sounds.\n\nSzczegółowe źródła i zakres obróbki znajdują się w plikach CREDITS.md i manifest.json przy zasobach audio."] ] var _panel: PanelContainer @@ -20,16 +20,11 @@ func _ready() -> void: name = "PlayerGuide" set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) var dim := ColorRect.new() - dim.color = Color(0.005, 0.012, 0.025, 0.24) + dim.color = Color(0.005, 0.012, 0.025, 0.78) add_child(dim) dim.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) _panel = PanelContainer.new() - var style := StyleBoxFlat.new() - style.bg_color = Color("0b17258a") - style.border_color = Color("46798a") - style.set_border_width_all(1) - style.set_corner_radius_all(10) - style.set_content_margin_all(14) + var style := preload("res://scripts/ui/menu_modal.gd").box(Color("0b1825"),Color("416471"),24) _panel.add_theme_stylebox_override("panel", style) add_child(_panel) var contents := VBoxContainer.new() @@ -40,12 +35,14 @@ func _ready() -> void: var heading := Label.new() heading.text = "INSTRUKCJA / AKADEMIA PILOTA" heading.size_flags_horizontal = Control.SIZE_EXPAND_FILL - heading.add_theme_font_size_override("font_size", 13) + heading.add_theme_font_override("font",preload("res://assets/fonts/font2.ttf")) + heading.add_theme_font_size_override("font_size", 20) heading.add_theme_color_override("font_color", Color("91dbea")) header.add_child(heading) _close_button = Button.new() _close_button.text = "ZAMKNIJ [ESC]" - BUTTON_STYLE.apply(_close_button) + preload("res://scripts/ui/menu_modal.gd").style_button(_close_button) + _close_button.custom_minimum_size.y = 42 _close_button.pressed.connect(close) header.add_child(_close_button) contents.add_child(HSeparator.new()) @@ -54,17 +51,17 @@ func _ready() -> void: body.add_theme_constant_override("separation", 12) contents.add_child(body) var navigation := VBoxContainer.new() - navigation.custom_minimum_size.x = 190 + navigation.custom_minimum_size.x = 220 navigation.add_theme_constant_override("separation", 8) body.add_child(navigation) for index in PAGES.size(): var button := Button.new() button.text = "%s %s" % [PAGES[index][1], PAGES[index][0]] button.alignment = HORIZONTAL_ALIGNMENT_LEFT - button.custom_minimum_size.y = 32 - BUTTON_STYLE.apply(button) + button.custom_minimum_size.y = 42 + preload("res://scripts/ui/menu_modal.gd").style_button(button) button.add_theme_font_override("font", ThemeDB.fallback_font) - button.add_theme_font_size_override("font_size", 11) + button.add_theme_font_size_override("font_size", 12) button.pressed.connect(_show_page.bind(index)) navigation.add_child(button) _tabs.append(button) @@ -78,6 +75,7 @@ func _ready() -> void: _reader.add_theme_font_override("bold_font", ThemeDB.fallback_font) _reader.add_theme_font_size_override("normal_font_size", 13) _reader.add_theme_constant_override("line_separation", 5) + _reader.add_theme_stylebox_override("normal",preload("res://scripts/ui/menu_modal.gd").box(Color("0e202d"),Color("263e4a"),16)) _reader.add_theme_color_override("default_color", Color("c5d4df")) body.add_child(_reader) var tip := Label.new() diff --git a/scripts/ui/protected_planet_marker.gd b/scripts/ui/protected_planet_marker.gd index 630bd73..da7c693 100644 --- a/scripts/ui/protected_planet_marker.gd +++ b/scripts/ui/protected_planet_marker.gd @@ -29,4 +29,4 @@ func _draw_target(world_position: Vector2, label_text: String, color: Color) -> draw_colored_polygon(PackedVector2Array([point + direction * 10, point - direction * 7 + side * 7, point - direction * 7 - side * 7]), color) var text_width := GAME_FONT.get_string_size(label_text, HORIZONTAL_ALIGNMENT_LEFT, -1, 12).x var label_position := Vector2(clampf(point.x - text_width * 0.5, 8, maxf(8, size.x - text_width - 8)), clampf(point.y + 25, 20, size.y - 12)) - draw_string(GAME_FONT, label_position, label_text, HORIZONTAL_ALIGNMENT_LEFT, -1, 12, color) + draw_string(GAME_FONT, label_position, tr(label_text), HORIZONTAL_ALIGNMENT_LEFT, -1, 12, color) diff --git a/scripts/ui/save_browser.gd b/scripts/ui/save_browser.gd new file mode 100644 index 0000000..79fa8ba --- /dev/null +++ b/scripts/ui/save_browser.gd @@ -0,0 +1,160 @@ +extends "res://scripts/ui/menu_modal.gd" + +signal load_requested(slot_id: String) +signal saved +const SHIPS := preload("res://scripts/game/ship_catalog.gd") +var save_mode := false +var _entries: Array[Dictionary] = [] +var _selected_id := "" +var _name: LineEdit +var _list: VBoxContainer +var _summary: Label +var _status: Label +var _action: Button +var _group := ButtonGroup.new() + +func _ready() -> void: + heading = "ZAPISZ WYPRAWĘ" if save_mode else "WCZYTAJ WYPRAWĘ" + subtitle = "Nadaj nazwę nowemu zapisowi lub wybierz zapis do nadpisania." if save_mode else "Wybierz zapis i wróć do swojej wyprawy." + marker = "ARCHIWUM / DZIENNIK POKŁADOWY" + preferred_size = Vector2(900,660) + super._ready() + if save_mode: + var row := HBoxContainer.new() + row.add_theme_constant_override("separation",12) + body.add_child(row) + _name = LineEdit.new() + _name.placeholder_text = tr("Nazwa zapisu") + _name.max_length = 48 + _name.size_flags_horizontal = Control.SIZE_EXPAND_FILL + _name.custom_minimum_size.y = 44 + input_style(_name) + row.add_child(_name) + button(row,tr("Nowy zapis"),_new_save) + _name.text_changed.connect(func(_text: String) -> void: _update_action()) + _name.text_submitted.connect(func(_text: String) -> void: _activate()) + var content := HBoxContainer.new() + content.add_theme_constant_override("separation",18) + body.add_child(content) + var left := VBoxContainer.new() + left.size_flags_horizontal = Control.SIZE_EXPAND_FILL + content.add_child(left) + label(left,tr("ZAPISANE WYPRAWY"),11,CYAN) + var scroll := ScrollContainer.new() + scroll.custom_minimum_size = Vector2(440,270 if save_mode else 340) + scroll.horizontal_scroll_mode = ScrollContainer.SCROLL_MODE_DISABLED + left.add_child(scroll) + _list = VBoxContainer.new() + _list.size_flags_horizontal = Control.SIZE_EXPAND_FILL + _list.add_theme_constant_override("separation",10) + scroll.add_child(_list) + var details := PanelContainer.new() + details.custom_minimum_size.x = 220 + details.add_theme_stylebox_override("panel",box(Color("0e202d"),Color("294653"),16)) + content.add_child(details) + var info := VBoxContainer.new() + info.add_theme_constant_override("separation",16) + details.add_child(info) + label(info,tr("DANE WYPRAWY"),11,GOLD) + _summary = label(info,"",14) + _summary.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + var rule_note := label(info,tr("Wczytanie rozpoczyna poziom od początku. Postęp i wyposażenie zostają zachowane."),12,MUTED) + rule_note.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + _status = label(body,"",12,GOLD) + _status.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + _status.hide() + button(footer,tr("Anuluj"),_close) + _action = button(footer,tr("Zapisz grę") if save_mode else tr("Wczytaj"),_activate,true) + _refresh_list() + if save_mode: _new_save() + elif not _entries.is_empty(): _select(_entries[0]) + _update_action() + +func _refresh_list() -> void: + for child in _list.get_children(): + _list.remove_child(child) + child.queue_free() + _entries = GameState.SAVES.list_saves() + for entry in _entries: + if save_mode and entry.id == "auto": continue + _add_entry(entry) + if _list.get_child_count() == 0: + var empty := label(_list,tr("Nie ma jeszcze zapisanych wypraw."),14,MUTED) + empty.custom_minimum_size = Vector2(400,96) + empty.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + +func _add_entry(entry: Dictionary) -> void: + var card := Button.new() + card.toggle_mode = true + card.button_group = _group + card.custom_minimum_size.y = 88 + card.mouse_default_cursor_shape = Control.CURSOR_POINTING_HAND + style_button(card) + card.name = entry.id + _list.add_child(card) + var row := HBoxContainer.new() + row.mouse_filter = Control.MOUSE_FILTER_IGNORE + row.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + row.offset_left = 14 + row.offset_top = 12 + row.offset_right = -14 + row.offset_bottom = -12 + row.add_theme_constant_override("separation",14) + card.add_child(row) + var icon := TextureRect.new() + icon.texture = load(SHIPS.texture_path(SHIPS.for_path(entry.ship_path))) + icon.custom_minimum_size = Vector2(54,54) + icon.expand_mode = TextureRect.EXPAND_IGNORE_SIZE + icon.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_CENTERED + icon.mouse_filter = Control.MOUSE_FILTER_IGNORE + row.add_child(icon) + var column := VBoxContainer.new() + column.size_flags_horizontal = Control.SIZE_EXPAND_FILL + column.mouse_filter = Control.MOUSE_FILTER_IGNORE + row.add_child(column) + var name_label := label(column,tr(entry.name) if entry.id == "auto" else entry.name,16) + name_label.text_overrun_behavior = TextServer.OVERRUN_TRIM_ELLIPSIS + name_label.mouse_filter = Control.MOUSE_FILTER_IGNORE + name_label.auto_translate_mode = Node.AUTO_TRANSLATE_MODE_DISABLED if entry.id != "auto" else Node.AUTO_TRANSLATE_MODE_INHERIT + var metadata := label(column,tr("Układ %d · Kapitan %d") % [entry.level,entry.captain_level],12,CYAN) + metadata.mouse_filter = Control.MOUSE_FILTER_IGNORE + var date := label(column,str(entry.saved_at).replace("T"," "),11,MUTED) + date.mouse_filter = Control.MOUSE_FILTER_IGNORE + card.pressed.connect(_select.bind(entry)) + +func _select(entry: Dictionary) -> void: + _selected_id = entry.id + if save_mode: _name.text = entry.name + _summary.text = tr("Układ %d\nKapitan · poziom %d\nKredyty: %d") % [entry.level,entry.captain_level,entry.credits] + if entry.recovered: _summary.text += "\n\n"+tr("Odzyskano z kopii zapasowej") + for card in _list.get_children(): + if card is Button: card.set_pressed_no_signal(card.name == _selected_id) + _update_action() + +func _new_save() -> void: + _selected_id = "" + _name.text = tr("Wyprawa %d") % GameState.system_level + for card in _list.get_children(): + if card is Button: card.set_pressed_no_signal(false) + _summary.text = tr("Nowy zapis\nUkład %d\nKapitan · poziom %d") % [GameState.system_level,GameState.captain.level] + _name.grab_focus() + _name.select_all() + _update_action() + +func _update_action() -> void: + if _action == null: return + _action.disabled = _name.text.strip_edges().is_empty() if save_mode else _selected_id.is_empty() + _action.text = tr("Nadpisz zapis") if save_mode and not _selected_id.is_empty() else tr("Zapisz grę" if save_mode else "Wczytaj") + +func _activate() -> void: + if _action.disabled: return + if not save_mode: + load_requested.emit(_selected_id) + return + var result := GameState.save_named_game(_name.text,_selected_id) + if result != OK: + _status.text = tr("Nie udało się zapisać gry.")+" "+error_string(result) + _status.show() + return + saved.emit() + _close() diff --git a/scripts/ui/save_browser.gd.uid b/scripts/ui/save_browser.gd.uid new file mode 100644 index 0000000..feee193 --- /dev/null +++ b/scripts/ui/save_browser.gd.uid @@ -0,0 +1 @@ +uid://boarbgbumeuen diff --git a/scripts/ui/session_menu.gd b/scripts/ui/session_menu.gd new file mode 100644 index 0000000..30fcc1a --- /dev/null +++ b/scripts/ui/session_menu.gd @@ -0,0 +1,116 @@ +extends CanvasLayer + +const MODAL := preload("res://scripts/ui/menu_modal.gd") +var _dialog: CanvasLayer +var _status: Label +var _previous_pause := false +var _options: CanvasLayer +var _needs_refresh := false + +func _ready() -> void: + process_mode = Node.PROCESS_MODE_ALWAYS + layer = 120 + GameSettings.settings_changed.connect(_refresh_language) + +func _input(event: InputEvent) -> void: + if event is InputEventKey and event.pressed and not event.echo: + if event.keycode == KEY_F6 and not is_instance_valid(_options): + if not is_instance_valid(_dialog): _open() + _open_save_browser() + get_viewport().set_input_as_handled() + +func _unhandled_input(event: InputEvent) -> void: + if event is InputEventKey and event.pressed and not event.echo and event.keycode == KEY_ESCAPE: + if not is_instance_valid(_dialog) and not is_instance_valid(_options): + _open() + get_viewport().set_input_as_handled() + +func _open() -> void: + if is_instance_valid(_dialog): return + _previous_pause = get_tree().paused + get_tree().paused = true + _dialog = CanvasLayer.new() + _dialog.set_script(MODAL) + _dialog.heading = "Pauza" + _dialog.subtitle = "Twoja wyprawa czeka. Wybierz, co chcesz zrobić." + _dialog.marker = "ŁĄCZE / MENU POKŁADOWE" + _dialog.preferred_size = Vector2(590,650) + _dialog.connect("closed",_on_dialog_closed) + add_child(_dialog) + var explanation := MODAL.label(_dialog.body,tr("Zapis przywraca początek bieżącego poziomu. Cooldowny i efekty czasowe są zerowane."),12,MODAL.MUTED) + explanation.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + MODAL.button(_dialog.body,tr("Zapisz grę"),_open_save_browser,true) + MODAL.button(_dialog.body,tr("Wczytaj grę"),_open_load_browser) + MODAL.button(_dialog.body,tr("OPCJE"),_open_options) + MODAL.button(_dialog.body,tr("Zapisz i wróć do menu"),_main_menu) + MODAL.button(_dialog.body,tr("Zapisz i wyjdź"),_quit) + _status = MODAL.label(_dialog.body,"",12,MODAL.GOLD) + _status.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + MODAL.button(_dialog.footer,tr("Wróć do gry"),_close,true) + +func _save() -> bool: + var error := GameState.save_game() + if is_instance_valid(_status): + _status.text = tr("Zapisano grę.") if error == OK else tr("Nie udało się zapisać gry.")+" "+error_string(error) + return error == OK + +func _open_options() -> void: + _open_child(preload("res://scripts/ui/options_dialog.gd")) + +func _open_child(script: Script, save_mode: bool = false) -> CanvasLayer: + if is_instance_valid(_options): return null + _dialog.hide() + _options = CanvasLayer.new() + _options.set_script(script) + if script == preload("res://scripts/ui/save_browser.gd"): _options.save_mode = save_mode + _options.connect("closed",_restore_pause) + add_child(_options) + return _options + +func _open_save_browser(after_saved: Callable = Callable()) -> void: + var browser := _open_child(preload("res://scripts/ui/save_browser.gd"),true) + if browser == null: return + browser.connect("saved",func() -> void: + if is_instance_valid(_status): _status.text = tr("Zapisano grę.") + if after_saved.is_valid(): after_saved.call()) + +func _open_load_browser() -> void: + var browser := _open_child(preload("res://scripts/ui/save_browser.gd")) + if browser == null: return + browser.connect("load_requested",func(id: String) -> void: + if not GameState.load_game(id): + browser._status.text = tr("Brak poprawnego zapisu gry.") + browser._status.show() + return + get_tree().paused = false + get_tree().reload_current_scene()) + +func _restore_pause() -> void: + _options = null + if not is_inside_tree(): return + if _needs_refresh and is_instance_valid(_dialog): + _needs_refresh = false + _dialog.queue_free() + _dialog = null + get_tree().paused = _previous_pause + _open() + elif is_instance_valid(_dialog): _dialog.show() + +func _refresh_language() -> void: + if is_instance_valid(_dialog): _needs_refresh = true + +func _on_dialog_closed() -> void: + _dialog = null + get_tree().paused = _previous_pause + +func _close() -> void: + if is_instance_valid(_dialog): _dialog._close() + +func _main_menu() -> void: + _open_save_browser(func() -> void: + get_tree().paused = false + get_tree().change_scene_to_file("res://scenes/ui/main_menu.tscn")) + +func _quit() -> void: + _open_save_browser(func() -> void: get_tree().quit()) + diff --git a/scripts/ui/session_menu.gd.uid b/scripts/ui/session_menu.gd.uid new file mode 100644 index 0000000..10e2426 --- /dev/null +++ b/scripts/ui/session_menu.gd.uid @@ -0,0 +1 @@ +uid://bstiux05hieak diff --git a/scripts/ui/ship_profile.gd b/scripts/ui/ship_profile.gd index 6d56eba..c51e9c0 100644 --- a/scripts/ui/ship_profile.gd +++ b/scripts/ui/ship_profile.gd @@ -45,11 +45,12 @@ func _draw() -> void: _bar_caption(Vector2(13, 55), player.energy, player.max_energy, "ENERGIA") func _bar_caption(point: Vector2, value: float, maximum: float, caption: String) -> void: + caption = tr(caption) var font := ThemeDB.fallback_font var values := "%.0f / %.0f" % [value, maximum] draw_string_outline(font, point, caption, HORIZONTAL_ALIGNMENT_LEFT, 58, 7, 2, Color("071117")) draw_string_outline(font, point, values, HORIZONTAL_ALIGNMENT_RIGHT, 123, 7, 2, Color("071117")) - draw_string(font, point, caption, HORIZONTAL_ALIGNMENT_LEFT, 58, 7, TEXT) + draw_string(font, point, tr(caption), HORIZONTAL_ALIGNMENT_LEFT, 58, 7, TEXT) draw_string(font, point, values, HORIZONTAL_ALIGNMENT_RIGHT, 123, 7, TEXT) func _bar(rect: Rect2, value: float, maximum: float, ratio: float, color: Color, _caption: String) -> void: diff --git a/scripts/ui/ship_selection.gd b/scripts/ui/ship_selection.gd index cee48a5..86dca26 100644 --- a/scripts/ui/ship_selection.gd +++ b/scripts/ui/ship_selection.gd @@ -10,13 +10,17 @@ var button_group := ButtonGroup.new() func _ready() -> void: button_group.allow_unpress = false + preload("res://scripts/ui/menu_modal.gd").style_button(close_button) + $Layout/Heading.add_theme_font_override("font",preload("res://assets/fonts/font2.ttf")) + $Layout/Instructions.add_theme_font_override("font",ThemeDB.fallback_font) + $Layout/Instructions.add_theme_font_size_override("font_size",14) close_button.pressed.connect(func() -> void: close_requested.emit()) _load_ships() func _frame(accent: Color, highlighted: bool) -> StyleBoxFlat: var style := StyleBoxFlat.new() style.bg_color = Color("142b42") if highlighted else Color("0b192a") - style.bg_color.a = 0.48 + style.bg_color.a = 0.96 style.border_color = accent if highlighted else Color("29435a") style.set_border_width_all(2 if highlighted else 1) style.set_corner_radius_all(10) @@ -28,7 +32,8 @@ func _label(text: String, font_size: int, color: Color) -> Label: var label := Label.new() label.text = text label.mouse_filter = Control.MOUSE_FILTER_IGNORE - label.add_theme_font_size_override("font_size", clampi(font_size, 10, 14)) + label.add_theme_font_override("font",ThemeDB.fallback_font) + label.add_theme_font_size_override("font_size", clampi(font_size, 10, 20)) label.add_theme_color_override("font_color", color) return label diff --git a/tests/abilities/auxiliary_shield_test.gd b/tests/abilities/auxiliary_shield_test.gd index 101633c..e003f4d 100644 --- a/tests/abilities/auxiliary_shield_test.gd +++ b/tests/abilities/auxiliary_shield_test.gd @@ -6,6 +6,7 @@ const LAB := preload("res://scripts/planets/laboratory.gd") func _ready() -> void: GameState.start_new_run() + GameState.captain.level = 30 assert(DEFINITION not in GEN.available_definitions()) var captain := GameState.captain var progress: Resource = captain.expedition @@ -13,7 +14,7 @@ func _ready() -> void: progress.laboratory_offers.assign(["auxiliary_shield"]) for key in LAB.COSTS.auxiliary_shield: captain.minerals[key] = 100 assert(LAB.start(captain,"auxiliary_shield")) - LAB.advance(progress,60) + LAB.advance(progress,LAB.DURATION) assert(DEFINITION in GEN.available_definitions()) var item := GEN.generate_for_definition(DEFINITION,30) assert(item.additional_modifiers.is_empty() and item.definition.icon != null) diff --git a/tests/captain/new_skills_test.gd b/tests/captain/new_skills_test.gd index 066a096..907158f 100644 --- a/tests/captain/new_skills_test.gd +++ b/tests/captain/new_skills_test.gd @@ -7,6 +7,7 @@ const NEW_SKILLS := ["scientist", "gunsmith", "bounty_hunter", "missile_speciali func _ready() -> void: GameState.start_new_run() + GameState.captain.level = 30 var captain := GameState.captain var ship := RepairShip.new() # A real inventory without starting the flight simulation. @@ -35,7 +36,7 @@ func _ready() -> void: progress.laboratory_unlocks.clear() for key in LAB.COSTS.machine_gun: captain.minerals[key] = 100 assert(LAB.start(captain,"machine_gun")) - assert(is_equal_approx(progress.laboratory_remaining,[54.0,48.0,42.0][rank-1])) + assert(is_equal_approx(progress.laboratory_remaining,[540.0,480.0,420.0][rank-1])) assert(progress.laboratory_duration == progress.laboratory_remaining) LAB.advance(progress,progress.laboratory_remaining-1.0) assert(not progress.laboratory_unlocks.has("machine_gun")) diff --git a/tests/items/external_turret_test.gd b/tests/items/external_turret_test.gd index c583c72..a0382b4 100644 --- a/tests/items/external_turret_test.gd +++ b/tests/items/external_turret_test.gd @@ -8,13 +8,14 @@ const PROJECTILE := preload("res://scripts/game/weapon_projectile.gd") func _ready() -> void: GameState.start_new_run() + GameState.captain.level = 30 assert(DEFINITION not in GENERATOR.available_definitions()) var progress: Resource = GameState.captain.expedition progress.freighter_rooms.expansion_1 = "laboratory" progress.laboratory_offers.assign(["external_turret"]) for key in LAB.COSTS.external_turret: GameState.captain.minerals[key] = 100 assert(LAB.start(GameState.captain,"external_turret")) - LAB.advance(progress,60.0) + LAB.advance(progress,LAB.DURATION) assert(DEFINITION in GENERATOR.available_definitions()) for level in [1,5,30,120,1000]: var turret_item := ItemInstance.new() diff --git a/tests/items/pulse_laser_test.gd b/tests/items/pulse_laser_test.gd index f419b6b..169a4d6 100644 --- a/tests/items/pulse_laser_test.gd +++ b/tests/items/pulse_laser_test.gd @@ -15,13 +15,14 @@ class ForcedPulse extends ItemInstance: func _ready() -> void: GameState.start_new_run() + GameState.captain.level = 30 assert(PULSE not in GEN.available_definitions()) var progress: Resource = GameState.captain.expedition progress.freighter_rooms.expansion_1 = "laboratory" progress.laboratory_offers.assign(["pulse_laser"]) for key in LAB.COSTS.pulse_laser: GameState.captain.minerals[key] = 100 assert(LAB.start(GameState.captain,"pulse_laser")) - LAB.advance(progress,60) + LAB.advance(progress,LAB.DURATION) assert(PULSE in GEN.available_definitions()) var pulse := ItemInstance.new() pulse.definition = PULSE diff --git a/tests/levels/planet_expeditions_test.gd b/tests/levels/planet_expeditions_test.gd index e557481..81a18c2 100644 --- a/tests/levels/planet_expeditions_test.gd +++ b/tests/levels/planet_expeditions_test.gd @@ -15,7 +15,7 @@ func _ready() -> void: easy += 1 assert(profile.oxygen > 80 and profile.temperature >= -10 and profile.temperature <= 40 and profile.flora == 0) assert(profile.landing_damage >= 5 and profile.landing_damage <= 20) - assert(easy > 640 and easy < 760) + assert(easy == 1000,"All starter planets are gentle") var profile: Dictionary = PROFILES.generate(821,0,"Test") var state: Resource = captain.expedition assert(state.begin_visit(profile)) @@ -134,17 +134,19 @@ func _ready() -> void: var owned_parts_before := GameState.captain.parts var ammo_before := inventory.ammunition var irradiated_before := inventory.irradiated_ammunition + # The visited POI may already have awarded ammunition, missiles or credits. + var surface_cargo: Dictionary = GameState.captain.expedition.cargo.duplicate() GameState.captain.expedition.add_material("ammunition",100) GameState.captain.expedition.add_material("irradiated_ammunition",20) GameState.captain.expedition.cargo_missiles = 3 GameState.captain.expedition.cargo_credits = 23 GameState.captain.expedition.cargo_parts = 4 manager.finish_surface(true) - assert(inventory.missile_ammunition == missiles_before+3) - assert(GameState.captain.credits == credits_before+23) + assert(inventory.missile_ammunition == missiles_before+3+int(surface_cargo.get("missile",0))) + assert(GameState.captain.credits == credits_before+23+int(surface_cargo.get("credits",0))) assert(GameState.captain.parts == owned_parts_before+4) assert(inventory.ammunition >= ammo_before+100) - assert(inventory.irradiated_ammunition == irradiated_before+20) + assert(inventory.irradiated_ammunition == irradiated_before+20+int(surface_cargo.get("irradiated_ammunition",0))) assert(not get_tree().paused) game.queue_free() await get_tree().process_frame diff --git a/tests/levels/planet_exploration_balance_test.gd b/tests/levels/planet_exploration_balance_test.gd new file mode 100644 index 0000000..9358fb3 --- /dev/null +++ b/tests/levels/planet_exploration_balance_test.gd @@ -0,0 +1,104 @@ +extends Node +const PROFILES := preload("res://scripts/planets/planet_profiles.gd") +const RULES := preload("res://scripts/planets/poi_rules.gd") +const CAPTAIN := preload("res://scripts/captain/captain_progress.gd") +var failures: Array[String] = [] + +func check(value: bool, message: String) -> void: + if not value: + failures.append(message) + push_error(message) + +func equip(captain: Resource, rank: int) -> void: + for item in captain.gear_items: item.level = rank + +func _ready() -> void: + var captain := CAPTAIN.new() + var state: Resource = captain.expedition + var statistics: Array[Dictionary] = [] + for level in [1,10,30,60,120]: + equip(captain,level) + captain.level = level + var ore := 0.0 + var damage := 0.0 + var recovery := 0.0 + var difficulty := 0.0 + for seed_value in 200: + var profile := PROFILES.generate(seed_value+711,0,"Test",level) + var poi := {"id":seed_value,"kind":"deposit","complete":false,"bonus_available":false} + var plan := RULES.preview(profile,captain,poi,1234) + for amount in plan.materials.values(): ore += float(amount) + damage += (plan.damage.x+plan.damage.y)*0.5 + recovery += float(RULES.report("deposit",profile,captain).multiplier) + difficulty += float(profile.difficulty) + if level == 1: + check(profile.easy and profile.landing_damage == 5,"first-level planets are gentle") + check(is_equal_approx(RULES.report("deposit",profile,captain).multiplier,1.0),"starter equipment recovers 100 percent") + check(plan.damage == Vector2i(2,4),"first-level ordinary damage stays 2–4 HP") + statistics.append({"level":level,"mean_materials":ore/200,"mean_damage":damage/200,"mean_recovery":recovery/200,"mean_difficulty":difficulty/200}) + for index in range(1,statistics.size()): + check(statistics[index].mean_materials > statistics[index-1].mean_materials,"rewards grow with planet level") + check(statistics[index].mean_damage > statistics[index-1].mean_damage,"matched-equipment wear grows gradually") + check(statistics[index].mean_difficulty > statistics[index-1].mean_difficulty,"planet difficulty grows gradually") + equip(captain,1) + captain.level = 1 + var profile := PROFILES.generate(123,0,"Pierwsza planeta",1) + state.lander_hp = 100 + check(state.begin_visit(profile),"first expedition begins") + var permanent := captain.minerals.duplicate() + for index in 10: + var poi := {"id":index,"kind":"deposit","complete":false,"bonus_available":false} + var hp: float = state.lander_hp + var plan := RULES.preview(profile,captain,poi,state.visit_seed) + check(plan == RULES.preview(profile,captain,poi,state.visit_seed),"reopening forecast never rerolls") + check(state.lander_hp == hp and not poi.complete,"forecast is read-only") + var result: Dictionary = state.resolve_poi(captain,poi) + check(result.materials == plan.materials,"actual resources match forecast exactly") + check(result.damage >= plan.damage.x and result.damage <= plan.damage.y,"damage stays within forecast") + check(is_equal_approx(state.lander_hp,hp-result.damage),"ordinary POI damages lander") + var cargo: Dictionary = state.cargo.duplicate() + check(state.resolve_poi(captain,poi).is_empty() and state.cargo == cargo,"ordinary rewards cannot repeat") + check(state.lander_hp >= 55 and state.lander_hp <= 75,"ten starter POIs leave 55–75 HP") + check(captain.minerals == permanent,"loot remains pending until return") + state.finish_visit(captain,true) + check(captain.minerals != permanent,"safe return delivers cargo") + var advanced := PROFILES.generate(123,0,"Trudna planeta",120) + equip(captain,50) + check(RULES.report("cave",advanced,captain).multiplier < 0.9,"level 50 gear does not neutralize endgame planets") + check(RULES.damage_range("cave",advanced,captain).x > 8,"outdated gear increases damage") + equip(captain,20) + var middle := PROFILES.generate(123,0,"Test sprzętu",20) + var cave_before := RULES.damage_range("cave",middle,captain).x + var warehouse_before := RULES.damage_range("warehouse",middle,captain).x + captain.gear_items[0].level = 1 + check(RULES.damage_range("cave",middle,captain).x-cave_before > RULES.damage_range("warehouse",middle,captain).x-warehouse_before,"breathing gear matters most in caves") + equip(captain,1) + state.lander_hp = 100 + check(state.begin_visit(profile),"bonus expedition begins") + var bonus_poi := {"id":100,"kind":"deposit","complete":false,"bonus_available":true} + check(state.resolve_poi(captain,bonus_poi,null,true).is_empty(),"bonus requires initial exploration") + state.resolve_poi(captain,bonus_poi) + var bonus_plan := RULES.preview(profile,captain,bonus_poi,state.visit_seed,true) + check(bonus_plan.damage == Vector2i(8,18),"starter bonus damage is 8–18 HP") + var cargo_before: Dictionary = state.cargo.duplicate() + state.resolve_poi(captain,bonus_poi,null,true) + check(bonus_poi.bonus_complete and state.cargo != cargo_before,"optional bonus awards extra loot once") + check(state.resolve_poi(captain,bonus_poi,null,true).is_empty(),"bonus cannot repeat") + var lethal := {"id":101,"kind":"village","complete":false,"bonus_available":true} + state.resolve_poi(captain,lethal) + state.lander_hp = 1 + var credits: int = captain.credits + var minerals: Dictionary = captain.minerals.duplicate() + state.resolve_poi(captain,lethal,null,true) + check(state.lander_hp == 0,"greedy exploration can destroy the lander") + var returned: Dictionary = state.finish_visit(captain,true) + check(not returned.success and captain.credits == credits and captain.minerals == minerals,"destruction loses expedition loot without touching owned resources") + var bonus_count := 0 + for index in 2000: + if RULES.has_bonus({"id":index,"kind":"deposit"},profile): bonus_count += 1 + check(bonus_count >= 400 and bonus_count <= 600,"roughly one quarter of POIs offer bonus exploration") + var file := FileAccess.open("res://artifacts/planet_exploration_balance.json",FileAccess.WRITE) + file.store_string(JSON.stringify({"statistics":statistics,"bonus_fraction":bonus_count/2000.0,"failures":failures},"\t")) + file.close() + print("PLANET_EXPLORATION_BALANCE: ","PASS" if failures.is_empty() else "FAIL"," ",JSON.stringify(statistics)) + get_tree().quit(0 if failures.is_empty() else 1) diff --git a/tests/levels/planet_exploration_balance_test.gd.uid b/tests/levels/planet_exploration_balance_test.gd.uid new file mode 100644 index 0000000..4fdab3c --- /dev/null +++ b/tests/levels/planet_exploration_balance_test.gd.uid @@ -0,0 +1 @@ +uid://clxc7lkfqv6cw diff --git a/tests/levels/planet_exploration_balance_test.tscn b/tests/levels/planet_exploration_balance_test.tscn new file mode 100644 index 0000000..a65fe90 --- /dev/null +++ b/tests/levels/planet_exploration_balance_test.tscn @@ -0,0 +1,4 @@ +[gd_scene load_steps=2 format=3] +[ext_resource type="Script" path="res://tests/levels/planet_exploration_balance_test.gd" id="1"] +[node name="PlanetExplorationBalance" type="Node"] +script = ExtResource("1") diff --git a/tests/levels/planet_reward_scaling_test.gd b/tests/levels/planet_reward_scaling_test.gd index ebfd027..46bf704 100644 --- a/tests/levels/planet_reward_scaling_test.gd +++ b/tests/levels/planet_reward_scaling_test.gd @@ -16,11 +16,12 @@ func _ready() -> void: captain.parts = 1000 for key in ["iron","sulfur","uranium","copper","nickel"]: captain.minerals[key] = 1000 + for gear in captain.gear_items: gear.level = 32 var state: Resource = captain.expedition var samples: Array[Dictionary] = [] for index in 3: var d := float(index)*0.5 - var profile := PROFILES.generate(777,1,"Biom testowy") + var profile := PROFILES.generate(777,1,"Biom testowy",32) profile.difficulty = d profile.oxygen = roundi(80*(1.0-d)) profile.temperature = roundi(40+60*d) @@ -74,8 +75,8 @@ func _ready() -> void: if result.success: for key in result.materials: var yield_factor: float = PROFILES.poi_loot_report(profile,captain).multiplier - var minimum := maxi(1,roundi(18*(1+index)*yield_factor)) - var maximum := maxi(1,roundi(28*(1+index)*yield_factor)) + var minimum := maxi(1,roundi(18*(1+index)*1.62*yield_factor)) + var maximum := maxi(1,roundi(28*(1+index)*1.62*yield_factor)) assert(int(result.materials[key]) >= minimum and int(result.materials[key]) <= maximum) assert(result.module == null) var structure := {"kind":"ruins","complete":false} diff --git a/tests/levels/planet_threats_test.gd b/tests/levels/planet_threats_test.gd index 86ca7bf..a3fe48e 100644 --- a/tests/levels/planet_threats_test.gd +++ b/tests/levels/planet_threats_test.gd @@ -10,100 +10,56 @@ func set_gear(levels: Array) -> void: captain.gear_items[index].level = int(levels[index]) captain.gear_slots[GEAR.KINDS[index]] = index+1 -func profile_for(total: float) -> Dictionary: - var fraction := total/300.0 - return {"id":"threat-test","name":"Test zagrożeń","easy":total == 0.0,"seed":1234,"oxygen":80.0*(1.0-fraction),"temperature":40.0+60.0*fraction,"flora":50.0*fraction,"difficulty":fraction,"landing_damage":5} - -func expect_chances(profile: Dictionary, expected: Array) -> void: - for stage in 3: - assert(is_equal_approx(PROFILES.success_chance(profile,captain,stage),float(expected[stage])/100.0)) - func _ready() -> void: captain = preload("res://scripts/captain/captain_progress.gd").new() - set_gear([0,0,0]) - var safe := profile_for(0) - safe.temperature = 30 - safe.oxygen = 98 - assert(PROFILES.global_threat(safe,captain) == 0) - expect_chances(safe,[90,70,40]) - assert(is_equal_approx(PROFILES.average_success_chance(safe,captain),2.0/3.0)) - var extreme := profile_for(300) - assert(PROFILES.global_threat(extreme,captain) == 300) - expect_chances(extreme,[15,5,0]) - expect_chances(profile_for(75),[52.5,37.5,20]) - expect_chances(profile_for(150),[15,5,0]) - expect_chances(profile_for(151),[15,5,0]) - var cold := extreme.duplicate() - cold.temperature = -50 - assert(PROFILES.global_threat(cold,captain) == 300) - for temperature in [-10,0,30,40]: - var normal := safe.duplicate() - normal.temperature = temperature - assert(PROFILES.global_threat(normal,captain) == 0) - var previous := 1.0 - for index in 301: - var at := profile_for(float(index)) - var raw := PROFILES.threat_report(at,captain) - assert(raw.raw_total >= 0 and raw.raw_total <= 300.0001) - var chance := PROFILES.success_chance(at,captain,0) - assert(chance <= previous+0.000001) - previous = chance + var starter := PROFILES.generate(99,0,"Pierwsza planeta",1) set_gear([1,1,1]) - assert(PROFILES.global_threat(extreme,captain) == 294) - set_gear([25,25,25]) - assert(PROFILES.global_threat(extreme,captain) == 150) - set_gear([26,26,26]) - assert(PROFILES.global_threat(extreme,captain) == 144) - expect_chances(extreme,[18,7.6,1.6]) - set_gear([50,0,0]) + assert(PROFILES.global_threat(starter,captain) == 0) + assert(PROFILES.poi_loot_report(starter,captain).multiplier == 1.0) + for stage in 3: + assert(is_equal_approx(PROFILES.success_chance(starter,captain,stage),PROFILES.POI_SAFE_CHANCES[stage])) + var extreme := {"id":"test","name":"Test","seed":1234,"system_level":120,"difficulty":1.0,"oxygen":0,"temperature":100,"flora":50,"landing_damage":15} + set_gear([0,0,0]) + assert(PROFILES.global_threat(extreme,captain) == 300) + set_gear([156,0,0]) var report := PROFILES.threat_report(extreme,captain) - assert(report.effective.oxygen == 0 and report.effective.temperature == 100 and report.effective.biology == 100) - assert(report.total == 200) - set_gear([0,50,0]) + assert(is_zero_approx(report.effective.oxygen) and report.effective.temperature == 100 and report.effective.biology == 100) + set_gear([0,156,0]) report = PROFILES.threat_report(extreme,captain) - assert(report.effective.temperature == 0 and report.total == 200) - set_gear([0,0,50]) + assert(is_zero_approx(report.effective.temperature) and report.effective.oxygen == 100) + set_gear([0,0,156]) report = PROFILES.threat_report(extreme,captain) - assert(report.effective.biology == 0 and report.total == 200) + assert(is_zero_approx(report.effective.biology) and report.effective.oxygen == 100) set_gear([50,50,50]) - assert(PROFILES.global_threat(extreme,captain) == 0) - expect_chances(extreme,[90,70,40]) - set_gear([100,100,100]) - expect_chances(extreme,[90,70,40]) - assert(PROFILES.threat_report(extreme,captain).raw_total == 300) - assert(REWARDS.material_multiplier(extreme) == 3) - assert(REWARDS.module_bonus_range(extreme) == Vector2i(2,10)) - # Equipment changes effective odds, never the underlying planet rewards. + assert(PROFILES.global_threat(extreme,captain) > 150,"Level 50 is no longer global immunity") + var previous := 301.0 + for rank in range(0,180): + set_gear([rank,rank,rank]) + var pressure := PROFILES.global_threat(extreme,captain) + assert(pressure <= previous+0.000001 and pressure >= 0) + previous = pressure + var loot := PROFILES.poi_loot_report(extreme,captain) + assert(loot.multiplier >= 0.5 and loot.multiplier <= 1.100001) set_gear([0,0,0]) var state: Resource = captain.expedition - assert(state.begin_visit(extreme)) - state.lander_hp = 100 captain.parts = 100 - var rng := RandomNumberGenerator.new() - rng.seed = 45 - var rng_before := rng.state - var poi := {"kind":"ruins","stage":2,"complete":false} - var result: Dictionary = state.resolve_poi(captain,poi,rng) - assert(result.success and poi.complete and result.modules.size() == 1) - assert(state.lander_hp == 100 and rng.state != rng_before) - var evacuation := {"kind":"evacuation","seed":1234,"complete":false} - EVENTS.prepare(evacuation,captain,state) - evacuation.stage = 2 - assert(EVENTS.chance(evacuation,captain,state) == 0) - var balance: float = captain.parts - result = EVENTS.resolve(evacuation,"help",captain,state) - assert(result.blocked and captain.parts == balance and not evacuation.complete) - assert(is_equal_approx(EVENTS.chance({"kind":"rescue"},captain,state),0.15)) - assert(is_equal_approx(EVENTS.chance({"kind":"prototype"},captain,state),0.05)) - set_gear([50,50,50]) - assert(is_equal_approx(EVENTS.chance(evacuation,captain,state),0.40)) - assert(is_equal_approx(EVENTS.chance({"kind":"rescue"},captain,state),0.90)) + assert(state.begin_visit(extreme)) + var event := {"kind":"evacuation","seed":1234,"complete":false} + EVENTS.prepare(event,captain,state) + event.stage = 2 + assert(EVENTS.chance(event,captain,state) == 0) + assert(EVENTS.resolve(event,"help",captain,state).blocked) + set_gear([156,156,156]) + assert(is_equal_approx(EVENTS.chance(event,captain,state),0.4)) var scan := PROFILES.scan_description(extreme,captain) - assert(scan.contains("ŁUP POI: ×2.00") and not scan.contains("Etapy POI")) - assert(scan.contains("Bez sprzętu: 300.0%")) - for index in 1000: - var generated := PROFILES.generate(99,index,"Biom") - var raw := PROFILES.raw_threats(generated) - assert(is_equal_approx(float(generated.difficulty),(float(raw.oxygen)+float(raw.temperature)+float(raw.biology))/300.0)) - print("PLANET THREATS PASS: 0..300 total, three independent protections, 2 pp/level, L50 immunity, exact POI curves, 150 threshold, zero-chance guards, event risk, scan average, raw reward difficulty") + assert(scan.contains("Poziom 120") and scan.contains("HP")) + for unwanted in ["zagro","TLEN","TEMPERATURA","BIO","×","pp"]: + assert(not scan.contains(unwanted),"Player-facing scan omits hidden hazard formulas") + for index in 500: + var early := PROFILES.generate(99,index,"Planeta",1) + var late := PROFILES.generate(99,index,"Planeta",120) + assert(early.easy and early.difficulty == 0) + assert(late.difficulty > 0.75 and late.landing_damage > early.landing_damage) + assert(REWARDS.material_multiplier(late) > REWARDS.material_multiplier(early)) + print("PLANET THREATS PASS: progressive planets, relative independent equipment, no level-50 immunity, capped loot recovery, event guards, simple scan") get_tree().quit() diff --git a/tests/levels/poi_rewards_test.gd b/tests/levels/poi_rewards_test.gd index df8fd03..0aec84b 100644 --- a/tests/levels/poi_rewards_test.gd +++ b/tests/levels/poi_rewards_test.gd @@ -10,17 +10,18 @@ func set_gear(captain: Resource, rank: int) -> void: func _ready() -> void: var captain := CAPTAIN.new() var state: Resource = captain.expedition - var profile := {"id":"test","name":"Test","seed":42,"difficulty":0.0,"landing_damage":0,"oxygen":98,"temperature":30,"flora":0,"easy":true} + var profile := {"id":"test","name":"Test","seed":42,"difficulty":0.0,"landing_damage":0,"oxygen":98,"temperature":30,"flora":0,"easy":true,"system_level":20} var rng := RandomNumberGenerator.new() rng.seed = 42 GameState.system_level = 20 + set_gear(captain,20) assert(state.begin_visit(profile)) for kind in RULES.KINDS: var poi := {"kind":kind,"complete":false} var hp: float = state.lander_hp var result: Dictionary = state.resolve_poi(captain,poi,rng) - assert(result.success and result.damage == 0 and poi.complete) - assert(state.lander_hp == hp) + assert(result.success and result.damage > 0 and poi.complete) + assert(state.lander_hp == hp-result.damage) assert(poi.loot_result == result) var snapshot: Dictionary = state.cargo.duplicate() var module_count: int = state.cargo_modules.size() @@ -43,6 +44,7 @@ func _ready() -> void: assert(captain.credits == credits and captain.experience == xp) state.finish_visit(captain,true) assert(state.analysis_samples == samples and captain.credits == credits) + state.lander_hp = 100 assert(state.begin_visit(profile)) state.add_material("samples",99) state.add_material("credits",999) @@ -63,15 +65,16 @@ func _ready() -> void: rng.seed = seed_value var protected := RULES.reward(kind,rng,hard,captain) for key in poor: assert(protected[key] >= poor[key]) - assert(RULES.module_count(hard,captain) > poor_count) + assert(RULES.module_count(hard,captain) >= poor_count) if not poor.is_empty(): assert(protected.values() != poor.values()) - set_gear(captain,0) + set_gear(captain,1) assert(PROFILES.poi_loot_report(hard,captain).multiplier < PROFILES.poi_loot_report(profile,captain).multiplier) + state.lander_hp = 100 assert(state.begin_visit(hard)) state.lander_hp = 100 var dangerous := {"kind":"ruins","complete":false} assert(state.resolve_poi(captain,dangerous,rng).success and dangerous.complete) - assert(state.lander_hp == 100,"Ordinary POIs always give loot without a failure roll") + assert(state.lander_hp < 100,"Ordinary POIs grant loot but wear down the lander") for kind in ["hermit","time_engineer","crew","deep_deposit"]: assert(state.resolve_poi(captain,{"kind":kind,"complete":false},rng).is_empty()) state.finish_visit(captain,true) @@ -80,5 +83,5 @@ func _ready() -> void: var restored: Resource = ResourceLoader.load(path,"",ResourceLoader.CACHE_MODE_IGNORE) assert(restored.expedition.analysis_samples == samples) DirAccess.remove_absolute(path) - print("POI_REWARDS_TEST: PASS (five single-visit kinds, immediate guaranteed loot, no damage/duplicates, protected return/loss, equipment and threat quantity scaling, special services excluded, persistence)") + print("POI_REWARDS_TEST: PASS (five single-visit kinds, confirmed guaranteed loot, wear/no duplicates, protected return/loss, equipment and threat quantity scaling, special services excluded, persistence)") get_tree().quit() diff --git a/tests/levels/ruins_loot_layout_test.gd b/tests/levels/ruins_loot_layout_test.gd index 77dfc5b..0ea9f5e 100644 --- a/tests/levels/ruins_loot_layout_test.gd +++ b/tests/levels/ruins_loot_layout_test.gd @@ -34,7 +34,9 @@ func _ready() -> void: var rng := RandomNumberGenerator.new() rng.seed = 100 var result: Dictionary = captain.expedition.resolve_poi(captain,poi,rng) - assert(result.modules.size() == 3) + # Build a three-row presentation fixture independently of drop-count balance. + while result.modules.size() < 3: result.modules.append(result.modules[0].duplicate(true)) + poi.bonus_available = false result.modules[0].definition = preload("res://resources/items/ship_computer.tres") surface._poi = poi surface._show_poi() diff --git a/tests/levels/single_visit_surface_test.gd b/tests/levels/single_visit_surface_test.gd index e8fb15b..29a735e 100644 --- a/tests/levels/single_visit_surface_test.gd +++ b/tests/levels/single_visit_surface_test.gd @@ -34,9 +34,28 @@ func _ready() -> void: var key := InputEventKey.new() key.pressed = true key.keycode = KEY_E + poi.bonus_available = false + var hp: float = progress.lander_hp var permanent := captain.minerals.duplicate() surface._input(key) - assert(surface._dialog.visible and poi.complete and not progress.cargo.is_empty()) + assert(surface._dialog.visible and not poi.complete and progress.cargo.is_empty()) + assert(progress.lander_hp == hp,"Opening the forecast does not charge health") + var preview_labels := "" + for label in surface._choices.find_children("*","Label",true,false): preview_labels += label.text+"\n" + assert(preview_labels.contains("PRZEWIDYWANA NAGRODA") and preview_labels.contains("Uszkodzenia lądownika")) + assert(not preview_labels.to_lower().contains("zagro") and not preview_labels.contains("TLEN") and not preview_labels.contains("×")) + assert(surface._threat.text.is_empty() and not surface._threat.visible) + var plan := preload("res://scripts/planets/poi_rules.gd").preview(profile,captain,poi,progress.visit_seed) + if DisplayServer.get_name() != "headless": + for frame in 12: await get_tree().process_frame + await RenderingServer.frame_post_draw + assert(get_viewport().get_texture().get_image().save_png("res://artifacts/planet_poi_forecast.png") == OK) + surface._dialog.hide() + surface._input(key) + assert(progress.lander_hp == hp and progress.cargo.is_empty(),"Reopening forecast is free") + surface._choices.get_node("ExploreButton").pressed.emit() + assert(poi.complete and progress.cargo == plan.materials) + assert(progress.lander_hp < hp,"Confirmed exploration wears down the lander") assert(captain.minerals == permanent,"Loot waits in expedition cargo until safe return") var labels := "" for label in surface._choices.find_children("*","Label",true,false): labels += label.text+"\n" @@ -50,6 +69,19 @@ func _ready() -> void: assert(not surface._dialog.visible and progress.cargo == snapshot) surface._input(key) assert(not surface._dialog.visible and progress.cargo == snapshot,"Repeated E cannot reclaim visited POIs") + poi.bonus_available = true + surface._input(key) + assert(surface._dialog.visible and surface._choices.has_node("BonusExploreButton")) + var before_bonus: Dictionary = progress.cargo.duplicate() + var bonus_hp: float = progress.lander_hp + if DisplayServer.get_name() != "headless": + await get_tree().process_frame + await RenderingServer.frame_post_draw + get_viewport().get_texture().get_image().save_png("res://artifacts/planet_poi_bonus.png") + surface._choices.get_node("BonusExploreButton").pressed.emit() + assert(poi.bonus_complete and progress.cargo != before_bonus and progress.lander_hp < bonus_hp) + snapshot = progress.cargo.duplicate() + surface._dialog.hide() # Services keep their own interfaces and do not become auto-collected loot. for kind in ["time_engineer","hermit","crew","deep_deposit"]: var special := {"kind":kind,"complete":false} @@ -64,5 +96,24 @@ func _ready() -> void: assert(surface._poi.is_empty(),"Previous result must not hijack event interaction") surface._input(key) assert(surface._dialog.visible) - print("SINGLE_VISIT_SURFACE_TEST: PASS (E immediately grants loot and opens results, no stages, close/repeat safety, pending cargo, engineers/cartographer/crew/deposit and question-mark events retained)") + # A confirmed dangerous action must reach the existing destruction/return flow. + progress.lander_hp = 1 + surface._poi = {"id":999,"kind":"deposit","position":surface.lander.position,"complete":true,"bonus_available":true,"bonus_complete":false} + surface._show_poi() + var death_labels := "" + for label in surface._choices.find_children("*","Label",true,false): death_labels += label.text + assert(death_labels.contains("Lądownik może zostać zniszczony")) + var ended := [false] + var owned_credits: int = captain.credits + var owned_minerals: Dictionary = captain.minerals.duplicate() + surface.finished.connect(func(success: bool) -> void: + assert(not success) + progress.finish_visit(captain,success) + ended[0] = true) + surface._choices.get_node("BonusExploreButton").pressed.emit() + assert(surface._ending and progress.lander_hp == 0 and not surface.lander.visible) + await get_tree().create_timer(5.6).timeout + assert(ended[0] and not progress.active and progress.cargo.is_empty()) + assert(captain.credits == owned_credits and captain.minerals == owned_minerals) + print("SINGLE_VISIT_SURFACE_TEST: PASS (E opens a read-only reward/damage forecast; confirmation grants loot and damages hull, no stages, close/repeat safety, pending cargo, engineers/cartographer/crew/deposit and question-mark events retained)") get_tree().quit() diff --git a/tests/menu_options_preview.gd b/tests/menu_options_preview.gd new file mode 100644 index 0000000..2e96679 --- /dev/null +++ b/tests/menu_options_preview.gd @@ -0,0 +1,83 @@ +extends Node + +func _ready() -> void: + run.call_deferred() + +func run() -> void: + GameSettings.resolution = Vector2i(1280,720) + GameState.start_new_run() + var fixture: Node = load("res://scenes/game/game.tscn").instantiate() + get_tree().root.add_child(fixture) + get_tree().current_scene = fixture + await get_tree().process_frame + await get_tree().process_frame + GameState.captain.level = 12 + GameState.captain.credits = 12540 + GameState.system_level = 8 + GameState.save_named_game("Szlak Oriona","slot_preview_orion") + GameState.system_level = 14 + GameState.captain.level = 19 + GameState.save_named_game("Przed wielkim skokiem","slot_preview_jump") + fixture.free() + for code in GameSettings.LOCALES: + GameSettings.locale = code + GameSettings.apply() + var menu: Control = load("res://scenes/ui/main_menu.tscn").instantiate() + get_tree().root.add_child(menu) + get_tree().current_scene = menu + await get_tree().process_frame + await RenderingServer.frame_post_draw + get_viewport().get_texture().get_image().save_png("res://artifacts/menu_"+code+".png") + menu._open_options() + await get_tree().process_frame + await RenderingServer.frame_post_draw + get_viewport().get_texture().get_image().save_png("res://artifacts/options_"+code+".png") + menu._modal._close() + await get_tree().process_frame + menu._show_save() + await get_tree().process_frame + await RenderingServer.frame_post_draw + get_viewport().get_texture().get_image().save_png("res://artifacts/load_"+code+".png") + assert(absf(menu._modal.panel.position.x+menu._modal.panel.size.x*menu._modal.panel.scale.x*0.5-get_viewport().get_visible_rect().size.x*0.5) < 1) + if code == "pl": + menu._modal._close() + await get_tree().process_frame + menu._guide.open() + await RenderingServer.frame_post_draw + get_viewport().get_texture().get_image().save_png("res://artifacts/menu_guide_pl.png") + menu._guide.close() + menu._start_game() + await get_tree().create_timer(0.4).timeout + await RenderingServer.frame_post_draw + get_viewport().get_texture().get_image().save_png("res://artifacts/menu_hangar_pl.png") + menu.free() + GameSettings.locale = "en" + GameSettings.apply() + GameState.start_new_run() + var game: Node = load("res://scenes/game/game.tscn").instantiate() + get_tree().root.add_child(game) + get_tree().current_scene = game + await get_tree().process_frame + await get_tree().process_frame + var session: Node = game.get_node("SessionMenu") + session._open() + await get_tree().process_frame + await RenderingServer.frame_post_draw + get_viewport().get_texture().get_image().save_png("res://artifacts/session_menu_en.png") + session._open_options() + await get_tree().process_frame + await RenderingServer.frame_post_draw + get_viewport().get_texture().get_image().save_png("res://artifacts/session_options_en.png") + session._options._close() + await get_tree().process_frame + session._open_save_browser() + await get_tree().process_frame + await RenderingServer.frame_post_draw + get_viewport().get_texture().get_image().save_png("res://artifacts/named_save_en.png") + session._options._close() + await get_tree().process_frame + session._close() + game.queue_free() + await get_tree().process_frame + print("MENU_OPTIONS_PREVIEW: PASS") + get_tree().quit() diff --git a/tests/menu_options_preview.gd.uid b/tests/menu_options_preview.gd.uid new file mode 100644 index 0000000..d3878b6 --- /dev/null +++ b/tests/menu_options_preview.gd.uid @@ -0,0 +1 @@ +uid://cmlq6rymnny6q diff --git a/tests/menu_options_preview.tscn b/tests/menu_options_preview.tscn new file mode 100644 index 0000000..2a3f7d0 --- /dev/null +++ b/tests/menu_options_preview.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3] + +[ext_resource type="Script" path="res://tests/menu_options_preview.gd" id="1"] + +[node name="MenuOptionsPreview" type="Node"] +script = ExtResource("1") diff --git a/tests/named_save_test.gd b/tests/named_save_test.gd new file mode 100644 index 0000000..90029d3 --- /dev/null +++ b/tests/named_save_test.gd @@ -0,0 +1,97 @@ +extends Node + +var failures: Array[String] = [] + +func check(value: bool, message: String) -> void: + if not value: + failures.append(message) + push_error(message) + +func _ready() -> void: + run.call_deferred() + +func run() -> void: + GameState.start_new_run() + var game: Node = load("res://scenes/game/game.tscn").instantiate() + get_tree().root.add_child(game) + get_tree().current_scene = game + await get_tree().process_frame + await get_tree().process_frame + get_tree().paused = true + GameState.captain.credits = 111 + check(GameState.save_named_game("Orion / próba α","slot_test_alpha") == OK,"Unicode display name saves independently of filename") + GameState.captain.credits = 222 + check(GameState.save_named_game("Druga wyprawa","slot_test_beta") == OK,"second named slot saves") + var entries := GameState.SAVES.list_saves() + check(entries.any(func(entry: Dictionary) -> bool: return entry.id == "slot_test_alpha" and entry.name == "Orion / próba α"),"named save appears in load list") + check(entries[0].id == "slot_test_beta","newest named save comes first") + check(GameState.continue_game() and GameState.captain.credits == 222,"continue loads newest named save") + check(GameState.load_game("slot_test_alpha") and GameState.captain.credits == 111,"selected older save restores its own progress") + GameState.captain.credits = 333 + check(GameState.save_named_game("Nowa nazwa","slot_test_alpha") == OK,"existing slot can be renamed and overwritten") + var path := GameState.SAVES.slot_path("slot_test_alpha") + check(GameState.SAVES.read_save(path).captain.credits == 333,"overwrite updates selected slot") + check(GameState.SAVES.read_save(path.trim_suffix(".res")+".backup.res").captain.credits == 111,"overwrite keeps previous slot backup") + check(GameState.save_game() == OK,"autosave still works") + check(GameState.SAVES.read_save(path).save_name == "Nowa nazwa","autosave does not overwrite named slots") + check(GameState.save_named_game(" ") == ERR_INVALID_PARAMETER,"blank name rejected") + check(GameState.save_named_game("Unsafe","../../outside") == ERR_INVALID_PARAMETER,"slot path traversal rejected") + check(not GameState.load_game("slot_does_not_exist"),"unknown slot does not silently load another save") + var browser := CanvasLayer.new() + browser.set_script(load("res://scripts/ui/save_browser.gd")) + browser.save_mode = true + get_tree().root.add_child(browser) + browser._name.text = "" + browser._update_action() + check(browser._action.disabled,"save button rejects blank UI name") + browser._name.text = "Statek" + browser._update_action() + browser._activate() + await get_tree().process_frame + entries = GameState.SAVES.list_saves() + check(entries.any(func(entry: Dictionary) -> bool: return entry.name == "Statek"),"name entered in dialog reaches disk") + GameSettings.locale = "en" + GameSettings.apply() + browser = CanvasLayer.new() + browser.set_script(load("res://scripts/ui/save_browser.gd")) + var requested := [""] + browser.connect("load_requested",func(id: String) -> void: requested[0] = id) + get_tree().root.add_child(browser) + var alpha: Dictionary = entries.filter(func(entry: Dictionary) -> bool: return entry.id == "slot_test_alpha")[0] + browser._select(alpha) + browser._activate() + check(requested[0] == "slot_test_alpha","load button emits selected slot") + var named_entry: Dictionary = entries.filter(func(entry: Dictionary) -> bool: return entry.name == "Statek")[0] + var card: Node = browser._list.get_node(str(named_entry.id)) + var name_label: Label = card.get_child(0).get_child(1).get_child(0) + check(name_label.auto_translate_mode == Node.AUTO_TRANSLATE_MODE_DISABLED,"player save names are never translated") + browser._close() + await get_tree().process_frame + get_tree().paused = false + var session: Node = game.get_node("SessionMenu") + session._open() + var completed := [false] + session._open_save_browser(func() -> void: completed[0] = true) + session._options._close() + await get_tree().process_frame + check(not completed[0] and session._dialog.visible and get_tree().paused,"cancel named save returns to pause without running exit action") + session._open_save_browser(func() -> void: completed[0] = true) + session._options._name.text = "Zapis przed wyjściem" + session._options._update_action() + session._options._activate() + await get_tree().process_frame + check(completed[0] and session._dialog.visible,"successful named save runs continuation action") + session._close() + # Corruption affects only this slot; the chooser exposes its verified backup. + var file := FileAccess.open(path,FileAccess.WRITE) + file.store_string("corrupt named save") + file.close() + entries = GameState.SAVES.list_saves() + alpha = entries.filter(func(entry: Dictionary) -> bool: return entry.id == "slot_test_alpha")[0] + check(alpha.recovered,"named backup recovery shown in list") + check(GameState.load_game("slot_test_alpha") and GameState.captain.credits == 111,"selected named backup restores previous progress") + get_tree().paused = false + game.queue_free() + await get_tree().process_frame + print("NAMED_SAVE_TEST: ","PASS" if failures.is_empty() else "FAIL"," (",failures.size()," failures)") + get_tree().quit(0 if failures.is_empty() else 1) diff --git a/tests/named_save_test.gd.uid b/tests/named_save_test.gd.uid new file mode 100644 index 0000000..888a476 --- /dev/null +++ b/tests/named_save_test.gd.uid @@ -0,0 +1 @@ +uid://bn40y7aduppxk diff --git a/tests/named_save_test.tscn b/tests/named_save_test.tscn new file mode 100644 index 0000000..0f9eda5 --- /dev/null +++ b/tests/named_save_test.tscn @@ -0,0 +1,4 @@ +[gd_scene load_steps=2 format=3] +[ext_resource type="Script" path="res://tests/named_save_test.gd" id="1"] +[node name="NamedSaveTest" type="Node"] +script = ExtResource("1") diff --git a/tests/previews/captain_equipment_preview.gd b/tests/previews/captain_equipment_preview.gd index f1e4724..b027662 100644 --- a/tests/previews/captain_equipment_preview.gd +++ b/tests/previews/captain_equipment_preview.gd @@ -53,8 +53,8 @@ func _ready() -> void: assert(breathing._label.text.is_empty()) assert(breathing.tooltip_text.contains("Poziom 2")) assert(captain.gear_items.size() == 6) - assert(gear._protection.text.contains("Tlen 4")) - assert(gear._wardrobe.find_child("PaperDoll",true,false)._reductions.breathing.text == "−4%") + assert(gear._protection.text.contains("Dopasuj poziom")) + assert(gear._wardrobe.find_child("PaperDoll",true,false)._reductions.breathing.text == "Poz. 2") await settle() assert(gear._wardrobe.get_global_rect().end.x <= get_viewport().get_visible_rect().size.x) assert(gear._wardrobe.get_global_rect().end.y <= get_viewport().get_visible_rect().size.y) diff --git a/tests/save_settings_test.gd b/tests/save_settings_test.gd new file mode 100644 index 0000000..db846ae --- /dev/null +++ b/tests/save_settings_test.gd @@ -0,0 +1,149 @@ +extends Node + +var failures: Array[String] = [] + +func check(condition: bool, message: String) -> void: + if not condition: + failures.append(message) + push_error(message) + +func _ready() -> void: + run.call_deferred() + +func run() -> void: + GameState.start_new_run() + var game: Node = load("res://scenes/game/game.tscn").instantiate() + get_tree().root.add_child(game) + get_tree().current_scene = game + await get_tree().process_frame + await get_tree().process_frame + game.set_physics_process(false) + var ship: Node = game.get_node("PlayerShip") + ship.set_physics_process(false) + var inventory: Node = ship.get_node("ShipInventory") + GameState.captain.credits = 4321 + GameState.captain.minerals.iron = 321 + GameState.captain.expedition.alien_skills["general"] = true + GameState.captain.expedition.crew["cabin_1"] = {"name":"Test","level":4} + GameState.captain.skill_offers.assign(["electrician", "lucky"]) + GameState.captain.skill_cooldowns["electrician"] = 12.0 + inventory.ammunition = 123 + inventory.unlocked_weapon_slots = 2 + inventory.weapon_slots[0].damage_min = 13.5 + inventory.weapon_slots[0].damage_max = 29.25 + inventory.weapon_slots[0].special_orbs.assign(["piercing"]) + ship.position = Vector2(840,610) + ship.hull = 37.0 + GameState.cleared_systems[GameState.system_level] = true + GameState.cleared_systems[2] = true + GameState.explored_pois["%d:1" % GameState.system_seed] = true + GameState.captain.skill_durations["reactor_overload"] = 4.0 + inventory.extension_cooldowns["test"] = 5.0 + GameState.captain.expedition.laboratory_project = "machine_gun" + GameState.captain.expedition.laboratory_duration = 600 + GameState.captain.expedition.laboratory_remaining = 387.5 + GameState.captain.expedition.alien_project = "hull" + GameState.captain.expedition.alien_duration = 600 + GameState.captain.expedition.alien_remaining = 245.25 + var enemies_before: int = game.get_remaining_enemies() + check(GameState.save_game() == OK,"save writes successfully") + check(GameState.has_save(),"continue detects valid save") + var saved := GameState.SAVES.read_save() + check(saved.captain.credits == 4321,"captain credits serialized") + check(saved.inventory.ammunition == 123,"ammunition serialized") + GameState.captain.credits = 8765 + check(GameState.save_game() == OK,"second save replaces first") + check(GameState.SAVES.read_save(GameState.SAVES.BACKUP).captain.credits == 4321,"backup retains previous save") + game.free() + check(GameState.continue_game(),"save restores state") + check(GameState.captain.credits == 8765,"latest credits restored") + check(GameState.captain.expedition.laboratory_project == "machine_gun" and is_equal_approx(GameState.captain.expedition.laboratory_remaining,387.5),"SAVE preserves laboratory project and exact remaining time") + check(GameState.captain.expedition.alien_project == "hull" and is_equal_approx(GameState.captain.expedition.alien_remaining,245.25),"SAVE preserves alien project and exact remaining time") + check(GameState.captain.expedition.crew.cabin_1.level == 4,"crew restored") + check(GameState.captain.expedition.alien_skills.general,"research restored") + check(not GameState.cleared_systems.has(GameState.system_level),"current level encounters restart") + check(GameState.cleared_systems.has(2),"other level progress retained") + check(not GameState.explored_pois.has("%d:1" % GameState.system_seed),"current level exploration restarts") + game = load("res://scenes/game/game.tscn").instantiate() + get_tree().root.add_child(game) + get_tree().current_scene = game + await get_tree().process_frame + await get_tree().process_frame + ship = game.get_node("PlayerShip") + inventory = ship.get_node("ShipInventory") + check(inventory.ammunition == 123,"inventory restored into live ship") + check(inventory.unlocked_weapon_slots == 2,"unlocked slots restored") + check(is_equal_approx(inventory.weapon_slots[0].damage_min,13.5),"individual item damage restored") + check(is_equal_approx(inventory.weapon_slots[0].damage_max,29.25),"individual item roll restored") + check("piercing" in inventory.weapon_slots[0].special_orbs,"item orb effects restored") + check(ship.position.distance_to(game.system_data.player_start) < 1,"load starts at level spawn") + check(is_equal_approx(ship.hull,ship.max_hull),"load restores full hull") + check(game.get_remaining_enemies() == enemies_before,"enemy population restored") + check(GameState.captain.skill_cooldowns.is_empty(),"load clears skill cooldowns") + check(GameState.captain.skill_durations.is_empty(),"load clears temporary effects") + check(inventory.extension_cooldowns.is_empty(),"load clears extension cooldowns") + # Surface-save normalization must leave the active live expedition untouched. + var progress: Resource = GameState.captain.expedition + progress.active = true + progress.cargo = {"iron":7} + progress.cargo_credits = 23 + check(GameState.save_game() == OK,"surface save succeeds") + check(progress.active and progress.cargo.get("iron",0) == 7,"surface save does not alter live cargo") + saved = GameState.SAVES.read_save() + check(not saved.captain.expedition.active,"surface save resumes in orbit") + check(saved.captain.minerals.iron == 328,"surface cargo retained") + check(GameState.captain.minerals.iron == 321,"snapshot does not modify live captain") + progress.active = false + for code in GameSettings.LOCALES: + GameSettings.locale = code + GameSettings.apply() + check(not str(TranslationServer.translate("Zapisz grę")).is_empty(),"language available: "+code) + if code != "pl": + check(str(TranslationServer.translate("Zapisz grę")) != "Zapisz grę","menu is translated: "+code) + check(str(TranslationServer.translate("Kredyty: 123")) != "Kredyty: 123","formatted strings translated: "+code) + else: + check(str(TranslationServer.translate("Zapisz grę")) == "Zapisz grę","Polish menu stays Polish") + check(str(TranslationServer.translate("Kredyty: 123")) == "Kredyty: 123","Polish formatted text stays Polish") + GameSettings.locale = "en" + GameSettings.apply() + check(str(TranslationServer.translate("Kredyty: 123")) == "Credits: 123","formatted numeric value retained") + check(str(TranslationServer.translate("Działko plazmowe · poziom 3")) == "Plasma cannon · level 3","formatted phrase and captured item name translated") + GameSettings.volume = 0.0 + GameSettings.apply() + check(AudioServer.is_bus_mute(0),"master mute applied") + check(GameSettings.save_settings() == OK,"settings saved") + var config := ConfigFile.new() + check(config.load(GameSettings.PATH) == OK,"settings readable from disk") + check(config.get_value("language","locale") == "en","language persisted") + check(is_zero_approx(config.get_value("audio","master")),"volume persisted") + var options := CanvasLayer.new() + options.set_script(load("res://scripts/ui/options_dialog.gd")) + get_tree().root.add_child(options) + check(options.get("_language").item_count == 5,"all five languages in options") + options._close() + await get_tree().process_frame + var pause_menu := game.get_node("SessionMenu") + var escape := InputEventKey.new() + escape.keycode = KEY_ESCAPE + escape.pressed = true + Input.parse_input_event(escape) + await get_tree().process_frame + check(get_tree().paused,"session menu pauses game") + check(pause_menu._save(),"manual save button works") + pause_menu._open_options() + check(not pause_menu._dialog.visible,"options temporarily hides pause dialog") + pause_menu._options._close() + await get_tree().process_frame + check(pause_menu._dialog.visible and get_tree().paused,"closing options restores paused menu") + pause_menu._close() + check(not get_tree().paused,"session menu resumes game") + # Damaged primary file must fall back to the last verified backup. + var file := FileAccess.open(GameState.SAVES.PATH,FileAccess.WRITE) + file.store_string("corrupted test save") + file.close() + check(GameState.has_save(),"backup offered when primary corrupted") + check(GameState.continue_game(),"corrupted primary falls back to backup") + game.queue_free() + await get_tree().process_frame + print("SAVE_SETTINGS_TEST: ", "PASS" if failures.is_empty() else "FAIL", " (",failures.size()," failures)") + get_tree().quit(0 if failures.is_empty() else 1) diff --git a/tests/save_settings_test.gd.uid b/tests/save_settings_test.gd.uid new file mode 100644 index 0000000..0e87ede --- /dev/null +++ b/tests/save_settings_test.gd.uid @@ -0,0 +1 @@ +uid://n2pipbabhoyx diff --git a/tests/save_settings_test.tscn b/tests/save_settings_test.tscn new file mode 100644 index 0000000..193c157 --- /dev/null +++ b/tests/save_settings_test.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3] + +[ext_resource type="Script" path="res://tests/save_settings_test.gd" id="1"] + +[node name="SaveSettingsTest" type="Node"] +script = ExtResource("1") diff --git a/tests/ships/alien_hull_technologies_test.gd b/tests/ships/alien_hull_technologies_test.gd index 635d545..b3127e9 100644 --- a/tests/ships/alien_hull_technologies_test.gd +++ b/tests/ships/alien_hull_technologies_test.gd @@ -22,18 +22,24 @@ func enemy_at(point: Vector2, hp := 1000.0, tier := 0) -> CharacterBody2D: enemy._player = player return enemy +func complete(value: Resource, id: String) -> bool: + var started := DATA.purchase(value,id) + if started: DATA.advance(value,600) + return started + func _ready() -> void: GameState.start_new_run() + GameState.captain.level = 80 progress = GameState.captain.expedition progress.analysis_samples = 1000 - assert(DATA.purchase(progress,"general") and DATA.purchase(progress,"hull")) + assert(complete(progress,"general") and complete(progress,"hull")) for side in ["a","b"]: var id: String = "hull_"+side for level in 4: - assert(DATA.cost(id)==20+level*5 and DATA.purchase(progress,id)) - assert(not DATA.purchase(progress,id)) + assert(DATA.cost(id)==20+level*5 and complete(progress,id)) + assert(not complete(progress,id)) id+="_next" - assert(not DATA.purchase(progress,"shields_a"),"Shield category prerequisite is required") + assert(not complete(progress,"shields_a"),"Shield category prerequisite is required") progress.alien_skills = {"hull_a":true} player = preload("res://scenes/game/player_ship.tscn").instantiate() add_child(player) diff --git a/tests/ships/alien_research_test.gd b/tests/ships/alien_research_test.gd index 9364771..3d70441 100644 --- a/tests/ships/alien_research_test.gd +++ b/tests/ships/alien_research_test.gd @@ -1,16 +1,22 @@ extends Node const DATA := preload("res://scripts/planets/alien_research.gd") +func complete(progress: Resource, id: String) -> bool: + var started := DATA.purchase(progress,id) + if started: DATA.advance(progress,600) + return started + func _ready() -> void: GameState.start_new_run() + GameState.captain.level = 80 var progress: Resource = GameState.captain.expedition progress.analysis_samples = 100 assert(not DATA.purchase(progress, "hull")) - assert(DATA.purchase(progress, "general")) + assert(complete(progress, "general")) assert(progress.analysis_samples == 90) assert(not DATA.purchase(progress, "general")) - assert(DATA.purchase(progress, "hull")) + assert(complete(progress, "hull")) assert(progress.analysis_samples == 75) - assert(DATA.purchase(progress, "hull_a")) + assert(complete(progress, "hull_a")) assert(progress.analysis_samples == 55) assert(is_equal_approx(DATA.bonus(progress, "hull"), 0.1)) progress.alien_skills["hull_a"] = true @@ -33,8 +39,8 @@ func _ready() -> void: enemy.take_weapon_hit(10, false) assert(is_equal_approx(enemy.hull, 94.25)) progress.analysis_samples = 100 - assert(DATA.purchase(progress, "shields")) - assert(DATA.purchase(progress, "weapons")) + assert(complete(progress, "shields")) + assert(complete(progress, "weapons")) assert(is_equal_approx(enemy.get_shot_damage(), enemy.weapon_damage * 0.9)) enemy.shields = 5.5 enemy.hull = 100 diff --git a/tests/ships/alien_shield_technologies_test.gd b/tests/ships/alien_shield_technologies_test.gd index 0529a4b..9a8bd15 100644 --- a/tests/ships/alien_shield_technologies_test.gd +++ b/tests/ships/alien_shield_technologies_test.gd @@ -22,16 +22,22 @@ func enemy_at(point: Vector2) -> CharacterBody2D: enemy._player = player return enemy +func complete(value: Resource, id: String) -> bool: + var started := DATA.purchase(value,id) + if started: DATA.advance(value,600) + return started + func _ready() -> void: GameState.start_new_run() + GameState.captain.level = 80 progress = GameState.captain.expedition progress.analysis_samples = 1000 - assert(DATA.purchase(progress,"general") and DATA.purchase(progress,"shields")) + assert(complete(progress,"general") and complete(progress,"shields")) for side in ["a","b"]: var id: String = "shields_"+side for level in 4: - assert(DATA.cost(id)==20+level*5 and DATA.purchase(progress,id)) - assert(not DATA.purchase(progress,id)) + assert(DATA.cost(id)==20+level*5 and complete(progress,id)) + assert(not complete(progress,id)) id+="_next" assert(DATA.ACTIVE_IDS.size()==28) player = preload("res://scenes/game/player_ship.tscn").instantiate() diff --git a/tests/ships/alien_weapon_technologies_test.gd b/tests/ships/alien_weapon_technologies_test.gd index 68608da..1c6d2ce 100644 --- a/tests/ships/alien_weapon_technologies_test.gd +++ b/tests/ships/alien_weapon_technologies_test.gd @@ -26,24 +26,30 @@ func reset_enemy(enemy: Node, shields := 100.0) -> void: enemy.shields = shields enemy._disabled_systems = [0.0,0.0,0.0] +func complete(value: Resource, id: String) -> bool: + var started := DATA.purchase(value,id) + if started: DATA.advance(value,600) + return started + func _ready() -> void: GameState.start_new_run() + GameState.captain.level = 80 progress = GameState.captain.expedition progress.analysis_samples = 1000 - assert(not DATA.purchase(progress,"weapons_a")) - assert(DATA.purchase(progress,"general") and DATA.cost("general")==10) - assert(DATA.purchase(progress,"weapons") and DATA.cost("weapons")==15) + assert(not complete(progress,"weapons_a")) + assert(complete(progress,"general") and DATA.cost("general")==10) + assert(complete(progress,"weapons") and DATA.cost("weapons")==15) for path in ["a","b"]: var id: String = "weapons_"+path for level in 4: assert(DATA.cost(id)==20+level*5) var before: int = progress.analysis_samples - assert(DATA.purchase(progress,id)) + assert(complete(progress,id)) assert(progress.analysis_samples==before-DATA.cost(id)) - assert(not DATA.purchase(progress,id)) + assert(not complete(progress,id)) id += "_next" assert(DATA.learned_count(progress)==10) - assert(not DATA.purchase(progress,"hull_a")) + assert(not complete(progress,"hull_a")) progress.alien_skills = {"weapons_a":true} player = preload("res://scenes/game/player_ship.tscn").instantiate() add_child(player) diff --git a/tests/ships/laboratory_loot_test.gd b/tests/ships/laboratory_loot_test.gd index 171f660..38ca89c 100644 --- a/tests/ships/laboratory_loot_test.gd +++ b/tests/ships/laboratory_loot_test.gd @@ -9,6 +9,7 @@ func _ready() -> void: func _run() -> void: var state := get_node("/root/GameState") state.start_new_run() + state.captain.level = 30 var captain: Resource = state.captain var progress: Resource = captain.expedition var initial := GEN.available_definitions() diff --git a/tests/ships/laboratory_test.gd b/tests/ships/laboratory_test.gd index f752a5f..12718b0 100644 --- a/tests/ships/laboratory_test.gd +++ b/tests/ships/laboratory_test.gd @@ -26,6 +26,7 @@ func snapshot(path: String) -> void: func _ready() -> void: seed(49141) GameState.start_new_run() + GameState.captain.level = 30 var captain := GameState.captain var progress: Resource = captain.expedition LAB.ensure_offers(progress) @@ -65,28 +66,36 @@ func _ready() -> void: assert(LAB.start(captain,"incendiary_missile")) for key in LAB.COSTS.incendiary_missile: assert(captain.minerals[key]==before[key]-LAB.COSTS.incendiary_missile[key]) assert(not LAB.start(captain,"radiation_laser"),"Only one project at a time") - GameState.advance_play_time(30.0,game) + progress.analysis_samples = 10 + assert(preload("res://scripts/planets/alien_research.gd").purchase(progress,"general")) + GameState.advance_play_time(570.0,game) assert(progress.laboratory_remaining==30,"Research advances while docked without any mining stations") + assert(progress.alien_remaining==30,"Both research stations advance in parallel") assert(not progress.laboratory_unlocks.has("incendiary_missile")) assert(ResourceSaver.save(progress,"user://laboratory_progress_test.tres")==OK) var saved: Resource = ResourceLoader.load("user://laboratory_progress_test.tres","",ResourceLoader.CACHE_MODE_IGNORE) assert(saved.laboratory_project=="incendiary_missile" and saved.laboratory_remaining==30 and saved.laboratory_offers==offers) await snapshot("res://artifacts/laboratory_progress.png") + progress.freighter_rooms.expansion_2 = "alien_research" + manager.screen._select_section("expansion_2") + await snapshot("res://artifacts/alien_research_progress.png") manager._leave() get_tree().paused = true GameState.advance_play_time(30,game) assert(progress.laboratory_remaining==30,"Ordinary pause stops research") + assert(progress.alien_remaining==30,"Ordinary pause stops alien research") get_tree().paused = false GameState.advance_play_time(29.9,game) assert(not progress.laboratory_unlocks.has("incendiary_missile")) GameState.advance_play_time(0.1,game) assert(progress.laboratory_unlocks.has("incendiary_missile") and progress.laboratory_offers.size()==3) + assert(progress.alien_skills.general) assert(GEN.available_definitions().has(LAB.definition("incendiary_missile"))) while not progress.laboratory_offers.is_empty(): var id: String = progress.laboratory_offers[0] assert(not GEN.available_definitions().has(LAB.definition(id))) assert(LAB.start(captain,id)) - LAB.advance(progress,60) + LAB.advance(progress,600) assert(GEN.available_definitions().has(LAB.definition(id))) assert(progress.laboratory_offers.is_empty() and progress.laboratory_unlocks.size()==LAB.IDS.size()) assert(GEN.available_definitions().size()==GEN.DEFINITIONS.size()+3) diff --git a/tests/ships/research_progression_test.gd b/tests/ships/research_progression_test.gd new file mode 100644 index 0000000..778d20b --- /dev/null +++ b/tests/ships/research_progression_test.gd @@ -0,0 +1,67 @@ +extends Node +const LAB := preload("res://scripts/planets/laboratory.gd") +const ALIEN := preload("res://scripts/planets/alien_research.gd") + +func _ready() -> void: + GameState.start_new_run() + var captain := GameState.captain + var progress: Resource = captain.expedition + progress.freighter_rooms.expansion_1 = "laboratory" + for cost in LAB.COSTS.values(): + for key in cost: captain.minerals[key] = 10000 + progress.analysis_samples = 10000 + LAB.ensure_offers(progress) + assert(progress.laboratory_offers.size() == 3) + assert(captain.level == 1) + var original_offers: Array = progress.laboratory_offers.duplicate() + captain.level = 80 + LAB.ensure_offers(progress) + assert(progress.laboratory_offers == original_offers) + captain.level = 1 + progress.laboratory_offers.assign(["virus"]) + assert(LAB.start(captain,"virus")) + assert(progress.laboratory_remaining == 600) + LAB.advance(progress,599) + assert(not progress.laboratory_unlocks.get("virus",false)) + LAB.advance(progress,1) + assert(progress.laboratory_unlocks.virus) + for id in LAB.IDS: + if progress.laboratory_unlocks.get(id,false): continue + progress.laboratory_offers.assign([id]) + assert(LAB.start(captain,id)) + LAB.advance(progress,600) + assert(progress.laboratory_unlocks.size() == 23) + captain.level = 1 + assert(ALIEN.purchase(progress,"general")) + assert(not ALIEN.learned("general")) + assert(not ALIEN.purchase(progress,"hull")) + ALIEN.advance(progress,599) + assert(not ALIEN.learned("general")) + ALIEN.advance(progress,1) + assert(ALIEN.learned("general")) + assert(not ALIEN.purchase(progress,"hull_a"), "Parent technology still required") + for id in ALIEN.ACTIVE_IDS: + if id == "general": continue + var before: int = progress.analysis_samples + assert(ALIEN.purchase(progress,id)) + assert(progress.analysis_samples == before-ALIEN.cost(id)) + assert(not ALIEN.purchase(progress,id)) + ALIEN.advance(progress,600) + assert(ALIEN.learned(id)) + assert(ALIEN.learned_count(progress) == 28) + assert(progress.analysis_samples == 10000-715) + # No partial completion or lost duration on Resource serialization. + progress.alien_skills.erase("shields_b_next_next_next") + assert(captain.level == 1) + assert(ALIEN.purchase(progress,"shields_b_next_next_next")) + ALIEN.advance(progress,123.5) + assert(ResourceSaver.save(progress,"user://research_timer.tres") == OK) + var restored: Resource = ResourceLoader.load("user://research_timer.tres","",ResourceLoader.CACHE_MODE_IGNORE_DEEP) + assert(restored.alien_project == "shields_b_next_next_next") + assert(restored.alien_remaining == 476.5) + ALIEN.advance(restored,476.4) + assert(not restored.alien_skills.get("shields_b_next_next_next",false)) + ALIEN.advance(restored,0.1) + assert(restored.alien_skills.shields_b_next_next_next) + print("RESEARCH PROGRESSION PASS: all 23+28 discoveries at captain level 1; level-independent offers, 600-second timers, single projects, costs, exact save/load continuation") + get_tree().quit() diff --git a/tests/ships/research_progression_test.gd.uid b/tests/ships/research_progression_test.gd.uid new file mode 100644 index 0000000..9071db1 --- /dev/null +++ b/tests/ships/research_progression_test.gd.uid @@ -0,0 +1 @@ +uid://gvw3kbtnyr8g diff --git a/tests/ships/research_progression_test.tscn b/tests/ships/research_progression_test.tscn new file mode 100644 index 0000000..955005c --- /dev/null +++ b/tests/ships/research_progression_test.tscn @@ -0,0 +1,4 @@ +[gd_scene load_steps=2 format=3] +[ext_resource type="Script" path="res://tests/ships/research_progression_test.gd" id="1"] +[node name="ResearchProgressionTest" type="Node"] +script = ExtResource("1") diff --git a/tools/build_localization.py b/tools/build_localization.py new file mode 100644 index 0000000..ba7e832 --- /dev/null +++ b/tools/build_localization.py @@ -0,0 +1,34 @@ +"""Build offline catalogs from AI-authored translations. No network access.""" +import csv +import json +import re +from pathlib import Path +ROOT = Path(__file__).resolve().parents[1] +OUT = ROOT / 'resources/localization' +def main(): + sources = json.loads((OUT/'source_strings.json').read_text(encoding='utf-8')) + languages = ['de','es','en','fr'] + catalogs = {code:{} for code in languages} + for line in (OUT/'authored.tsv').read_text(encoding='utf-8').splitlines(): + row=line.split('\t') + if len(row)!=5: continue + source=sources[int(row[0])] + for code,value in zip(languages,row[1:]): catalogs[code][source]=value.replace('\\n','\n') + for line in (OUT/'supplemental.tsv').read_text(encoding='utf-8').splitlines(): + row=line.split('\t') + if len(row)!=5: raise ValueError('Invalid supplemental row: '+line) + for code,value in zip(languages,row[1:]): catalogs[code][row[0].replace('\\n','\n')]=value.replace('\\n','\n') + with (OUT/'interface.csv').open(encoding='utf-8',newline='') as file: + for row in list(csv.reader(file))[1:]: + if len(row)!=6: continue + for code in languages: catalogs[code][row[0]]=row[['pl','de','es','en','fr'].index(code)+1] + for code in languages: + token = re.compile(r'%(?:[0-9]*(?:\.[0-9]+)?[sdif]|%)') + for source, target in catalogs[code].items(): + if token.findall(source) != token.findall(target): + raise ValueError('Format placeholders differ: '+code+' / '+source) + (OUT/f'{code}_catalog.gd').write_text('# Generated by tools/build_localization.py; AI-authored, offline.\nextends RefCounted\nconst MESSAGES := '+json.dumps(catalogs[code],ensure_ascii=False,indent=2)+'\n',encoding='utf-8') + missing=[(i,s) for i,s in enumerate(sources) if s not in catalogs['en'] and (i<659 or i>679)] + print('Catalog:',len(catalogs['en']),'Missing:',len(missing)) + for i,s in missing: print(str(i)+': '+s[:140].replace('\n',' / ')) +if __name__=='__main__': main()