Merge branches 'master' and 'mech-rework' of https://github.com/Anuken/Mindustry into mech-rework

# Conflicts:
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites3.png
#	core/assets/sprites/sprites5.png
#	core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java
#	gradle.properties
This commit is contained in:
Anuken
2019-12-02 22:45:05 -05:00
217 changed files with 7797 additions and 4613 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 754 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -10,6 +10,7 @@ link.dev-builds.description = Unstable development builds
link.trello.description = Official Trello board for planned features
link.itch.io.description = itch.io page with PC downloads
link.google-play.description = Google Play store listing
link.f-droid.description = F-Droid catalogue listing
link.wiki.description = Official Mindustry wiki
linkfail = Failed to open link!\nThe URL has been copied to your clipboard.
screenshot = Screenshot saved to {0}
@@ -78,6 +79,7 @@ maps.browse = Browse Maps
continue = Continue
maps.none = [lightgray]No maps found!
invalid = Invalid
pickcolor = Pick Color
preparingconfig = Preparing Config
preparingcontent = Preparing Content
uploadingcontent = Uploading Content
@@ -86,7 +88,7 @@ committingchanges = Comitting Changes
done = Done
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry Github or Discord.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]No mods found!
@@ -97,13 +99,14 @@ mod.enabled = [lightgray]Enabled
mod.disabled = [scarlet]Disabled
mod.disable = Disable
mod.delete.error = Unable to delete mod. File may be in use.
mod.requiresversion = [scarlet]Requires game version: [accent]{0}
mod.missingdependencies = [scarlet]Missing dependencies: {0}
mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
mod.enable = Enable
mod.requiresrestart = The game will now close to apply the mod changes.
mod.reloadrequired = [scarlet]Reload Required
mod.import = Import Mod
mod.import.github = Import Github Mod
mod.import.github = Import GitHub Mod
mod.remove.confirm = This mod will be deleted.
mod.author = [LIGHT_GRAY]Author:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}
@@ -494,6 +497,7 @@ settings.language = Language
settings.data = Game Data
settings.reset = Reset to Defaults
settings.rebind = Rebind
settings.resetKey = Reset
settings.controls = Controls
settings.game = Game
settings.sound = Sound
@@ -560,6 +564,8 @@ bar.heat = Heat
bar.power = Power
bar.progress = Build Progress
bar.spawned = Units: {0}/{1}
bar.input = Input
bar.output = Output
bullet.damage = [stat]{0}[lightgray] damage
bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
@@ -585,6 +591,8 @@ unit.persecond = /sec
unit.timesspeed = x speed
unit.percent = %
unit.items = items
unit.thousands = k
unit.millions = mil
category.general = General
category.power = Power
category.liquids = Liquids
@@ -597,7 +605,7 @@ setting.shadows.name = Shadows
setting.blockreplace.name = Automatic Block Suggestions
setting.linear.name = Linear Filtering
setting.hints.name = Hints
setting.buildautopause.name = Auto-pause Building
setting.buildautopause.name = Auto-Pause Building
setting.animatedwater.name = Animated Water
setting.animatedshields.name = Animated Shields
setting.antialias.name = Antialias[lightgray] (requires restart)[]
@@ -622,10 +630,13 @@ setting.destroyedblocks.name = Display Destroyed Blocks
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
setting.sensitivity.name = Controller Sensitivity
setting.saveinterval.name = Save Interval
setting.seconds = {0} Seconds
setting.seconds = {0} seconds
setting.blockselecttimeout.name = Block Select Timeout
setting.milliseconds = {0} milliseconds
setting.fullscreen.name = Fullscreen
setting.borderlesswindow.name = Borderless Window[lightgray] (may require restart)
setting.fps.name = Show FPS & Ping
setting.blockselectkeys.name = Show Block Select Keys
setting.vsync.name = VSync
setting.pixelate.name = Pixelate[lightgray] (disables animations)
setting.minimap.name = Show Minimap
@@ -654,17 +665,36 @@ category.multiplayer.name = Multiplayer
command.attack = Attack
command.rally = Rally
command.retreat = Retreat
placement.blockselectkeys = \n[lightgray]Key: [{0},
keybind.clear_building.name = Clear Building
keybind.press = Press a key...
keybind.press.axis = Press an axis or key...
keybind.screenshot.name = Map Screenshot
keybind.move_x.name = Move x
keybind.move_y.name = Move y
keybind.toggle_power_lines.name = Toggle Power Lasers
keybind.move_x.name = Move X
keybind.move_y.name = Move Y
keybind.mouse_move.name = Follow Mouse
keybind.dash.name = Dash
keybind.schematic_select.name = Select Region
keybind.schematic_menu.name = Schematic Menu
keybind.schematic_flip_x.name = Flip Schematic X
keybind.schematic_flip_y.name = Flip Schematic Y
keybind.category_prev.name = Previous Category
keybind.category_next.name = Next Category
keybind.block_select_left.name = Block Select Left
keybind.block_select_right.name = Block Select Right
keybind.block_select_up.name = Block Select Up
keybind.block_select_down.name = Block Select Down
keybind.block_select_01.name = Category/Block Select 1
keybind.block_select_02.name = Category/Block Select 2
keybind.block_select_03.name = Category/Block Select 3
keybind.block_select_04.name = Category/Block Select 4
keybind.block_select_05.name = Category/Block Select 5
keybind.block_select_06.name = Category/Block Select 6
keybind.block_select_07.name = Category/Block Select 7
keybind.block_select_08.name = Category/Block Select 8
keybind.block_select_09.name = Category/Block Select 9
keybind.block_select_10.name = Category/Block Select 10
keybind.fullscreen.name = Toggle Fullscreen
keybind.select.name = Select/Shoot
keybind.diagonal_placement.name = Diagonal Placement
@@ -678,18 +708,17 @@ keybind.menu.name = Menu
keybind.pause.name = Pause
keybind.pause_building.name = Pause/Resume Building
keybind.minimap.name = Minimap
keybind.dash.name = Dash
keybind.chat.name = Chat
keybind.player_list.name = Player list
keybind.player_list.name = Player List
keybind.console.name = Console
keybind.rotate.name = Rotate
keybind.rotateplaced.name = Rotate Existing (Hold)
keybind.toggle_menus.name = Toggle menus
keybind.chat_history_prev.name = Chat history prev
keybind.chat_history_next.name = Chat history next
keybind.chat_scroll.name = Chat scroll
keybind.toggle_menus.name = Toggle Menus
keybind.chat_history_prev.name = Chat History Prev
keybind.chat_history_next.name = Chat History Next
keybind.chat_scroll.name = Chat Scroll
keybind.drop_unit.name = Drop Unit
keybind.zoom_minimap.name = Zoom minimap
keybind.zoom_minimap.name = Zoom Minimap
mode.help.title = Description of modes
mode.survival.name = Survival
mode.survival.description = The normal mode. Limited resources and automatic incoming waves.\n[gray]Requires enemy spawns in the map to play.
@@ -703,6 +732,7 @@ mode.attack.description = Destroy the enemy's base. No waves.\n[gray]Requires a
mode.custom = Custom Rules
rules.infiniteresources = Infinite Resources
rules.reactorexplosions = Reactor Explosions
rules.wavetimer = Wave Timer
rules.waves = Waves
rules.attack = Attack Mode
@@ -718,7 +748,7 @@ rules.respawntime = Respawn Time:[lightgray] (sec)
rules.wavespacing = Wave Spacing:[lightgray] (sec)
rules.buildcostmultiplier = Build Cost Multiplier
rules.buildspeedmultiplier = Build Speed Multiplier
rules.waitForWaveToEnd = Waves wait for enemies
rules.waitForWaveToEnd = Waves Wait for Enemies
rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles)
rules.respawns = Max respawns per wave
rules.limitedRespawns = Limit Respawns
@@ -728,6 +758,9 @@ rules.title.resourcesbuilding = Resources & Building
rules.title.player = Players
rules.title.enemy = Enemies
rules.title.unit = Units
rules.title.experimental = Experimental
rules.lighting = Lighting
rules.ambientlight = Ambient Light
content.item.name = Items
content.liquid.name = Liquids
@@ -775,6 +808,7 @@ mech.trident-ship.name = Trident
mech.trident-ship.weapon = Bomb Bay
mech.glaive-ship.name = Glaive
mech.glaive-ship.weapon = Flame Repeater
item.corestorable = [lightgray]Storable in Core: {0}
item.explosiveness = [lightgray]Explosiveness: {0}%
item.flammability = [lightgray]Flammability: {0}%
item.radioactivity = [lightgray]Radioactivity: {0}%
@@ -889,6 +923,8 @@ block.distributor.name = Distributor
block.sorter.name = Sorter
block.inverted-sorter.name = Inverted Sorter
block.message.name = Message
block.illuminator.name = Illuminator
block.illuminator.description = A small, compact, configurable light source. Requires power to function.
block.overflow-gate.name = Overflow Gate
block.silicon-smelter.name = Silicon Smelter
block.phase-weaver.name = Phase Weaver
@@ -902,6 +938,7 @@ block.coal-centrifuge.name = Coal Centrifuge
block.power-node.name = Power Node
block.power-node-large.name = Large Power Node
block.surge-tower.name = Surge Tower
block.diode.name = Battery Diode
block.battery.name = Battery
block.battery-large.name = Large Battery
block.combustion-generator.name = Combustion Generator
@@ -955,6 +992,7 @@ block.fortress-factory.name = Fortress Mech Factory
block.revenant-factory.name = Revenant Fighter Factory
block.repair-point.name = Repair Point
block.pulse-conduit.name = Pulse Conduit
block.plated-conduit.name = Plated Conduit
block.phase-conduit.name = Phase Conduit
block.liquid-router.name = Liquid Router
block.liquid-tank.name = Liquid Tank
@@ -1006,15 +1044,15 @@ unit.eradicator.name = Eradicator
unit.lich.name = Lich
unit.reaper.name = Reaper
tutorial.next = [lightgray]<Tap to continue>
tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nUse [[WASD] to move.\n[accent]Hold [[Ctrl] while scrolling[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
tutorial.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers [] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
tutorial.drill = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nClick the drill tab in the bottom right.\nSelect the[accent] mechanical drill[]. Place it on a copper vein by clicking.\n[accent]Right-click[] to stop building.
tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement.
tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nUse [accent][[WASD][] to move.\n[accent]Hold [[Ctrl] while scrolling[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
tutorial.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
tutorial.drill = Mining manually is inefficient.\n[accent]Drills[] can mine automatically.\nClick the drill tab in the bottom right.\nSelect the[accent] mechanical drill[]. Place it on a copper vein by clicking.\nYou can also select the drill by tapping [accent][[2][] then [accent][[1][] quickly, regardless of which tab is open.\n[accent]Right-click[] to stop building.
tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills[] can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement.
tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[]
tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent]Hold down the mouse to place in a line.[]\nHold[accent] CTRL[] while selecting a line to place diagonally.\nUse the scrollwheel to rotate blocks before placing them.\n[accent]Place 2 conveyors with the line tool, then deliver an item into the core.
tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]Place 2 conveyors with the line tool, then deliver an item into the core.
tutorial.turret = Once an item enters your core, it can be used for building.\nKeep in mind that not all items can be used for building.\nItems that are not used for building, such as[accent] coal[] or[accent] scrap[], cannot be put into the core.\nDefensive structures must be built to repel the[lightgray] enemy[].\nBuild a[accent] duo turret[] near your base.
tutorial.drillturret = Duo turrets require[accent] copper ammo []to shoot.\nPlace a drill near the turret.\nLead conveyors into the turret to supply it with copper.\n\n[accent]Ammo delivered: 0/1
tutorial.drillturret = Duo turrets require[accent] copper ammo[] to shoot.\nPlace a drill near the turret.\nLead conveyors into the turret to supply it with copper.\n\n[accent]Ammo delivered: 0/1
tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause.
tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause.
tutorial.unpause = Now press space again to unpause.
@@ -1051,7 +1089,7 @@ mech.alpha-mech.description = The standard control mech. Based on a Dagger unit,
mech.delta-mech.description = A fast, lightly-armored mech made for hit-and-run attacks. Does little damage against structures, but can kill large groups of enemy units very quickly with its arc lightning weapons.
mech.tau-mech.description = The support mech. Heals allied blocks by shooting at them. Can heal allies in a radius with its repair ability.
mech.omega-mech.description = A bulky and well-armored mech, made for front-line assaults. Its armor can block up to 90% of incoming damage.
mech.dart-ship.description = The standard control ship. Reasonably fast and light, but has little offensive capability and low mining speed.
mech.dart-ship.description = The standard control ship. Fast mining speed. Reasonably fast and light, but has little offensive capability.
mech.javelin-ship.description = A hit-and-run strike ship. While initially slow, it can accelerate to great speeds and fly by enemy outposts, dealing large amounts of damage with its lightning and missiles.
mech.trident-ship.description = A heavy bomber, built for construction and destroying enemy fortifications. Reasonably well armored.
mech.glaive-ship.description = A large, well-armored gunship. Equipped with an incendiary repeater. Highly maneuverable.
@@ -1123,6 +1161,7 @@ block.rotary-pump.description = An advanced pump. Pumps more liquid, but require
block.thermal-pump.description = The ultimate pump.
block.conduit.description = Basic liquid transport block. Moves liquids forward. Used in conjunction with pumps and other conduits.
block.pulse-conduit.description = An advanced liquid transport block. Transports liquids faster and stores more than standard conduits.
block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less.
block.liquid-router.description = Accepts liquids from one direction and outputs them to up to 3 other directions equally. Can also store a certain amount of liquid. Useful for splitting the liquids from one source to multiple targets.
block.liquid-tank.description = Stores a large amount of liquids. Use for creating buffers in situations with non-constant demand of materials or as a safeguard for cooling vital blocks.
block.liquid-junction.description = Acts as a bridge for two crossing conduits. Useful in situations with two different conduits carrying different liquids to different locations.
@@ -1131,6 +1170,7 @@ block.phase-conduit.description = Advanced liquid transport block. Uses power to
block.power-node.description = Transmits power to connected nodes. The node will receive power from or supply power to any adjacent blocks.
block.power-node-large.description = An advanced power node with greater range.
block.surge-tower.description = An extremely long-range power node with fewer available connections.
block.diode.description = Battery power can flow through this block in only one direction, but only if the other side has less power stored.
block.battery.description = Stores power as a buffer in times of surplus energy. Outputs power in times of deficit.
block.battery-large.description = Stores much more power than a regular battery.
block.combustion-generator.description = Generates power by burning flammable materials, such as coal.

View File

@@ -81,7 +81,7 @@ uploadingpreviewfile = Nahrávám prohlížecí soubor
committingchanges = Provádím změny
done = Hotovo
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry Github or Discord.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]No mods found!
@@ -98,7 +98,7 @@ mod.enable = Enable
mod.requiresrestart = The game will now close to apply the mod changes.
mod.reloadrequired = [scarlet]Reload Required
mod.import = Import Mod
mod.import.github = Import Github Mod
mod.import.github = Import GitHub Mod
mod.remove.confirm = This mod will be deleted.
mod.author = [LIGHT_GRAY]Author:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}

View File

@@ -81,7 +81,7 @@ uploadingpreviewfile = Uploading Preview File
committingchanges = Comitting Changes
done = Done
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry Github or Discord.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]No mods found!
@@ -98,7 +98,7 @@ mod.enable = Enable
mod.requiresrestart = The game will now close to apply the mod changes.
mod.reloadrequired = [scarlet]Reload Required
mod.import = Import Mod
mod.import.github = Import Github Mod
mod.import.github = Import GitHub Mod
mod.remove.confirm = This mod will be deleted.
mod.author = [LIGHT_GRAY]Author:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}
@@ -1152,9 +1152,9 @@ block.spirit-factory.description = Produziert leichte Drohnen, die Erz abbauen u
block.phantom-factory.description = Produziert erweiterte Drohnen, die deutlich effizienter sind als Spirit-Drohnen.
block.wraith-factory.description = Produziert schnelle Abfangjäger.
block.ghoul-factory.description = Produziert schwere Flächenbomber.
block.revenant-factory.description = Produziert schwere Laser-Bodeneinheiten.
block.revenant-factory.description = Produziert schwere Raketen basierte Flugeinheiten.
block.dagger-factory.description = Produziert Standard-Bodeneinheiten.
block.crawler-factory.description = Produces fast self-destructing swarm units.
block.crawler-factory.description = Produziert schnelle selbstzerstörende Schwarmeinheiten.
block.titan-factory.description = Produziert fortgeschrittene, gepanzerte Bodeneinheiten.
block.fortress-factory.description = Produziert schwere Artillerie-Bodeneinheiten.
block.repair-point.description = Heilt durchgehend die nächste befreundete, beschädigte Einheit in der Umgebung.

View File

@@ -81,7 +81,7 @@ uploadingpreviewfile = Uploading Preview File
committingchanges = Comitting Changes
done = Hecho
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry Github or Discord.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]No mods found!
@@ -98,7 +98,7 @@ mod.enable = Enable
mod.requiresrestart = The game will now close to apply the mod changes.
mod.reloadrequired = [scarlet]Reload Required
mod.import = Import Mod
mod.import.github = Import Github Mod
mod.import.github = Import GitHub Mod
mod.remove.confirm = This mod will be deleted.
mod.author = [LIGHT_GRAY]Author:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}

View File

@@ -81,7 +81,7 @@ uploadingpreviewfile = Eelvaate faili üleslaadimine
committingchanges = Muudatuste teostamine
done = Valmis
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry Github or Discord.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]No mods found!
@@ -98,7 +98,7 @@ mod.enable = Enable
mod.requiresrestart = The game will now close to apply the mod changes.
mod.reloadrequired = [scarlet]Reload Required
mod.import = Import Mod
mod.import.github = Import Github Mod
mod.import.github = Import GitHub Mod
mod.remove.confirm = This mod will be deleted.
mod.author = [LIGHT_GRAY]Author:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}

View File

@@ -3,7 +3,7 @@ credits = Kredituak
contributors = Itzultzaile eta kolaboratzaileak
discord = Elkartu Mindustry Discord-era!
link.discord.description = Mindustry Discord txat gela ofiziala
link.reddit.description = The Mindustry subreddit
link.reddit.description = Mindustry azpireddita
link.github.description = Jolasaren iturburu kodea
link.changelog.description = Eguneraketaren aldaketen zerrenda
link.dev-builds.description = Garapen konpilazio ezegonkorrak
@@ -17,29 +17,29 @@ screenshot.invalid = Mapa handiegia, baliteke pantaila-argazkirako memoria nahik
gameover = Partida amaitu da
gameover.pvp = [accent] {0}[] taldeak irabazi du!
highscore = [accent]Marka berria!
copied = Copied.
copied = Kopiatuta.
load.sound = Soinuak
load.map = Mapak
load.image = Irudiak
load.content = Edukia
load.system = Sistema
load.mod = Mods
schematic = Schematic
schematic.add = Save Schematic...
schematics = Schematics
schematic.replace = A schematic by that name already exists. Replace it?
schematic.import = Import Schematic...
schematic.exportfile = Export File
schematic.importfile = Import File
schematic.browseworkshop = Browse Workshop
schematic.copy = Copy to Clipboard
schematic.copy.import = Import from Clipboard
schematic.shareworkshop = Share on Workshop
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Flip Schematic
schematic.saved = Schematic saved.
schematic.delete.confirm = This schematic will be utterly eradicated.
schematic.rename = Rename Schematic
schematic.info = {0}x{1}, {2} blocks
load.mod = Mod-ak
schematic = Eskama
schematic.add = Gorde eskema...
schematics = Eskemak
schematic.replace = Badago izen bereko eskema bat. Ordeztu nahi duzu?
schematic.import = Inportatu eskema...
schematic.exportfile = Esportatu fitxategia
schematic.importfile = Inportatu fitxategia
schematic.browseworkshop = Arakatu tailerra
schematic.copy = Kopiatu arbelera
schematic.copy.import = Inportatu arbeletik
schematic.shareworkshop = Partekatu tailerrean
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: itzulbiratu eskema
schematic.saved = Eskema gordeta.
schematic.delete.confirm = Eskema hau behin betiko suntsituko da.
schematic.rename = Aldatu izena eskemari
schematic.info = {0}x{1}, {2} bloke
stat.wave = Garaitutako boladak:[accent] {0}
stat.enemiesDestroyed = Suntsitutako etsaiak:[accent] {0}
stat.built = Eraikitako eraikinak:[accent] {0}
@@ -48,7 +48,7 @@ stat.deconstructed = Deseraikitako eraikinak:[accent] {0}
stat.delivered = Egotzitako baliabideak:
stat.rank = Azken graduazioa: [accent]{0}
launcheditems = [accent]Egotzitako baliabideak
launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue.
launchinfo = [unlaunched][[EGOTZI] zure muina urdinez adierazitako baliabideak eskuratzeko.
map.delete = Ziur al zaude "[accent]{0}[]" mapa ezabatu nahi duzula?
level.highscore = Marka: [accent]{0}
level.select = Maila hautaketa
@@ -64,7 +64,7 @@ customgame = Partida pertsonalizatua
newgame = Partida berria
none = <bat ere ez>
minimap = Mapatxoa
position = Position
position = Posizioa
close = Itxi
website = Webgunea
quit = Irten
@@ -80,30 +80,30 @@ uploadingcontent = Edukia igotzen
uploadingpreviewfile = Aurrebista fitxategia igotzen
committingchanges = Aldaketak aplikatzen
done = Egina
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry Github or Discord.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]No mods found!
mods.guide = Modding Guide
mods.report = Report Bug
mods.openfolder = Open Mod Folder
mod.enabled = [lightgray]Enabled
mod.disabled = [scarlet]Disabled
mod.disable = Disable
mod.delete.error = Unable to delete mod. File may be in use.
mod.missingdependencies = [scarlet]Missing dependencies: {0}
mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
mod.enable = Enable
mod.requiresrestart = The game will now close to apply the mod changes.
mod.reloadrequired = [scarlet]Reload Required
mod.import = Import Mod
mod.import.github = Import Github Mod
mod.remove.confirm = This mod will be deleted.
mod.author = [LIGHT_GRAY]Author:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}
mod.preview.missing = Before publishing this mod in the workshop, you must add an image preview.\nPlace an image named[accent] preview.png[] into the mod's folder and try again.
mod.folder.missing = Only mods in folder form can be published on the workshop.\nTo convert any mod into a folder, simply unzip its file into a folder and delete the old zip, then restart your game or reload your mods.
feature.unsupported = Zure gailuak ez du ezaugarri hau onartzen.
mods.alphainfo = Kontuan izan mod-ak alfa egoeran daudela, eta [scarlet] akats ugari izan ditzakete[].\nEman arazoen berri Mindustry-ren GitHub or Discord zerbitzuetan.
mods.alpha = [accent](Alfa)
mods = Mod-ak
mods.none = [LIGHT_GRAY]Ez da mod-ik aurkitu!
mods.guide = Mod-ak sortzeko gida
mods.report = Eman akatsaren berri
mods.openfolder = Ireki Mod-en karpeta
mod.enabled = [lightgray]Gaituta
mod.disabled = [scarlet]Desgaituta
mod.disable = Desgaitu
mod.delete.error = Ezin izan da mod-a ezabatu. Agian fitxategia erabilia izaten ari da.
mod.missingdependencies = [scarlet]Falta diren menpekotasunak: {0}
mod.nowdisabled = [scarlet]'{0}' mod-ak menpekotasunak ditu faltan:[accent] {1}\n[lightgray]Aurretik beste mod hauek deskargatu behar dira.\nMod hau automatikoki desgaituko da.
mod.enable = Gaitu
mod.requiresrestart = Jolasa itxi egingo da mod-aren aldaketak aplikatzeko.
mod.reloadrequired = [scarlet]Birkargatu behar da
mod.import = Importatu Mod-a
mod.import.github = Inportatu GitHub Mod-a
mod.remove.confirm = Mod hau ezabatuko da.
mod.author = [LIGHT_GRAY]Egilea:[] {0}
mod.missing = Gordetako partida honek eguneratu dituzun edo jada instalatuta ez dituzun mod-ak ditu. Gordetako partida izorratu daiteke. Ziur kargatu nahi duzula?\n[lightgray]Mod-ak:\n{0}
mod.preview.missing = Mod hau tailerrean argitaratu aurretik, aurrebista bat gehitu behar diozu.\nKokatu[accent] preview.png[] izeneko irudi bat mod-aren karpetan eta saiatu berriro.
mod.folder.missing = Karpeta formatuko mod-ak besterik ezin dira argitaratu tailerrean.\nEdozein mod karpetara bihurtzeko, deskopnrimitu fitxategia eta ezabatu zip zaharra, gero berrabiarazi jolasa edo birkargatu zure mod-ak.
about.button = Honi buruz
name = Izena:
noname = Hautatu[accent] jokalari-izena[] aurretik.
@@ -216,8 +216,8 @@ save.playtime = Jolastua: {0}
warning = Abisua.
confirm = Baieztatu
delete = Ezabatu
view.workshop = Ikusi lantegian
workshop.listing = Edit Workshop Listing
view.workshop = Ikusi tailerrean
workshop.listing = Editatu tailerreko zerrenda
ok = Ados
open = Ireki
customize = Aldatu arauak
@@ -235,12 +235,12 @@ classic.export.text = [accent]Mindustry[] jolasak eguneraketa nagusi bat jaso du
quit.confirm = Ziur irten nahi duzula?
quit.confirm.tutorial = Ziur al zaude irten nahi duzula?\nTutoriala berriro hasi dezakezu hemen: [accent] Ezarpenak->Jolasa->Berriro hasi tutoriala.[]
loading = [accent]Kargatzen...
reloading = [accent]Reloading Mods...
reloading = [accent]Mod-ak birkargatzen...
saving = [accent]Gordetzen...
cancelbuilding = [accent][[{0}][] to clear plan
selectschematic = [accent][[{0}][] to select+copy
pausebuilding = [accent][[{0}][] to pause building
resumebuilding = [scarlet][[{0}][] to resume building
cancelbuilding = [accent][[{0}][] plan bat ezabatzeko
selectschematic = [accent][[{0}][] hautatu+kopiatzeko
pausebuilding = [accent][[{0}][] eraikiketa eteteko
resumebuilding = [scarlet][[{0}][] eraikiketa berrekiteko
wave = [accent]{0}. bolada
wave.waiting = [lightgray]Boladarako {0}
wave.waveInProgress = [lightgray]Bolada abian
@@ -259,18 +259,18 @@ map.nospawn = Mapa honek ez du muinik jokalaria sortu dadin! Gehitu muin [accent
map.nospawn.pvp = Mapa honek ez du etsaien muinik jokalaria sortu dadin! Gehitu [SCARLET]laranja ez den[] muinen bat edo batzuk mapa honi editorean.
map.nospawn.attack = Mapa honek ez du etsaien muinik jokalariak eraso dezan! Gehitu muin [SCARLET]gorriak[] mapa honi editorean.
map.invalid = Errorea mapa kargatzean: Mapa-fitxategi baliogabe edo hondatua.
workshop.update = Update Item
workshop.error = Error fetching workshop details: {0}
workshop.update = Eguneratu elementua
workshop.error = Errorea tailerreko xehetasunak eskuratzean: {0}
map.publish.confirm = Ziur mapa hau argitaratu nahi duzula?\n\n[lightgray]Ziurtatu aurretik lantegiaren erabilera arauekin bat zatozela, bestela zure mapak ez dira agertuko!
workshop.menu = Select what you would like to do with this item.
workshop.info = Item Info
changelog = Changelog (optional):
workshop.menu = Erabaki elementu honekin zer egin nahi duzun.
workshop.info = Elementuaren informazioa
changelog = Aldaketa egunkatia (aukerakoa):
eula = Steam EULA
missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked.
publishing = [accent]Publishing...
publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up!
publish.error = Error publishing item: {0}
steam.error = Failed to initialize Steam services.\nError: {0}
missing = Elementu hau ezabatu edo lekuz aldatu da.\n[lightgray]Tailerreko zerrendatik kendu da automatikoki.
publishing = [accent]Argitaratzen...
publish.confirm = Ziur hau argitaratu nahi duzula?\n\n[lightgray]Egiaztatu tailerreko EULA lizentziarekin ados zaudela aurretik, bestela zure elementuak ez dira agertuko!
publish.error = Errorea elementua argitaratzean: {0}
steam.error = Huts egin du Steam zerbitzuak hasieratzean.\nErrorea: {0}
editor.brush = Brotxa
editor.openin = Ireki editorean
editor.oregen = Mea sorrera
@@ -411,9 +411,9 @@ abandon = Abandonatu
abandon.text = Eremu hau eta bere baliabide guztiak etsaiaren esku geratuko dira.
locked = Blokeatuta
complete = [lightgray]Helmena:
requirement.wave = Reach Wave {0} in {1}
requirement.core = Destroy Enemy Core in {0}
requirement.unlock = Unlock {0}
requirement.wave = Iritsi {0} boladara {1}
requirement.core = Suntsitu etsaiaren muina {0}
requirement.unlock = Desblokeatu {0}
resume = Berrekin:\n[lightgray]{0}
bestwave = [lightgray]Bolada onena: {0}
launch = < EGOTZI >
@@ -424,13 +424,13 @@ launch.confirm = Honek zure muinean dauden baliabide guztiak egotziko ditu.\nEzi
launch.skip.confirm = Orain ez eginez gero, geroagoko beste bolada batera itxaron beharko duzu.
uncover = Estalgabetu
configure = Konfiguratu zuzkidura
bannedblocks = Banned Blocks
addall = Add All
bannedblocks = Debekatutako blokeak
addall = Gehitu denak
configure.locked = [lightgray]Zuzkiduraren konfigurazioa desblokeatzeko: {0} bolada.
configure.invalid = Kopurua 0 eta {0} bitarteko zenbaki bat izan behar da.
zone.unlocked = [lightgray]{0} desblokeatuta.
zone.requirement.complete = {0}. boladara iritsia:\n{1} Eremuaren betebeharra beteta.
zone.config.unlocked = Loadout unlocked:[lightgray]\n{0}
zone.config.unlocked = Deskarga desblokeatuta:[lightgray]\n{0}
zone.resources = [lightgray]Antzemandako baliabideak:
zone.objective = [lightgray]Helburua: [accent]{0}
zone.objective.survival = Biziraupena
@@ -487,8 +487,8 @@ settings.cleardata = Garbitu jolasaren datuak...
settings.clear.confirm = Ziur datu hauek garbitu nahi dituzula?\nEgindakoa ezin da desegin!
settings.clearall.confirm = [scarlet]ABISUA![]\nHonek datu guztiak garbituko ditu, gordetako partidak, mapak, desblokeatutakoak, eta teklen konfigurazioak barne.\nBehin 'Ados' sakatzen duzula jolasak datuk guztiak ezabatuko ditu eta automatikoki irten.
paused = [accent]< Pausatuta >
clear = Clear
banned = [scarlet]Banned
clear = Garbitu
banned = [scarlet]Debekatuta
yes = Bai
no = Ez
info.title = Informazioa
@@ -509,7 +509,7 @@ blocks.shootrange = Irismena
blocks.size = Neurria
blocks.liquidcapacity = Likido-edukiera
blocks.powerrange = Energia irismena
blocks.powerconnections = Max Connections
blocks.powerconnections = Gehieneko konexioak
blocks.poweruse = Energia-erabilera
blocks.powerdamage = Energia/Kaltea
blocks.itemcapacity = Elementu-edukiera
@@ -531,7 +531,7 @@ blocks.reload = Tiroak/segundoko
blocks.ammo = Munizioa
bar.drilltierreq = Zulagailu hobea behar da
bar.drillspeed = Ustiatze-abiadura: {0}/s
bar.pumpspeed = Pump Speed: {0}/s
bar.pumpspeed = Ponpatze abiadura: {0}/s
bar.efficiency = Eraginkortasuna: {0}%
bar.powerbalance = Energia: {0}/s
bar.powerstored = Bilduta: {0}/{1}
@@ -576,9 +576,9 @@ category.shooting = Tirokatzea
category.optional = Aukerako hobekuntzak
setting.landscape.name = Blokeatu horizontalean
setting.shadows.name = Itzalak
setting.blockreplace.name = Automatic Block Suggestions
setting.blockreplace.name = Bloke proposamen automatikoak
setting.linear.name = Iragazte lineala
setting.hints.name = Hints
setting.hints.name = Pistak
setting.animatedwater.name = Animatutako ura
setting.animatedshields.name = Animatutako ezkutuak
setting.antialias.name = Antialias[lightgray] (berrabiarazi behar da)[]
@@ -599,8 +599,8 @@ setting.difficulty.insane = Zoramena
setting.difficulty.name = Zailtasuna:
setting.screenshake.name = Pantailaren astindua
setting.effects.name = Bistaratze-efektuak
setting.destroyedblocks.name = Display Destroyed Blocks
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
setting.destroyedblocks.name = Erakutsi suntsitutako blokeak
setting.conveyorpathfinding.name = Garraio-zintak kokatzeko bide-bilaketa
setting.sensitivity.name = Kontrolagailuaren sentikortasuna
setting.saveinterval.name = Gordetzeko tartea
setting.seconds = {0} segundo
@@ -610,7 +610,7 @@ setting.fps.name = Erakutsi FPS
setting.vsync.name = VSync
setting.pixelate.name = Pixelatu[lightgray] (animazioak desgaitzen ditu)
setting.minimap.name = Erakutsi mapatxoa
setting.position.name = Show Player Position
setting.position.name = Erakutsi jokalariaren kokalekua
setting.musicvol.name = Musikaren bolumena
setting.ambientvol.name = Giroaren bolumena
setting.mutemusic.name = Isilarazi musika
@@ -620,10 +620,10 @@ setting.crashreport.name = Bidali kraskatze txosten automatikoak
setting.savecreate.name = Gorde automatikoki
setting.publichost.name = Partidaren ikusgaitasun publikoa
setting.chatopacity.name = Txataren opakotasuna
setting.lasersopacity.name = Power Laser Opacity
setting.lasersopacity.name = Energia laserraren opakutasuna
setting.playerchat.name = Erakutsi jolas barneko txata
public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility.
public.beta = Note that beta versions of the game cannot make public lobbies.
public.confirm = Zure jolasa publikoa egin nahi duzu?\n[accent]Edonor elkartu ahal izango da zure partidetara.\n[lightgray]Hau gero ere aldatu dauteke, Ezarpenak->Partida->Partida publikoaren ikusgaitasuna.
public.beta = Kontuan izan jolasaren beta bertsioek ezin dituztela jokalarien gela publokoak sortu.
uiscale.reset = Interfazearen eskala aldatu da.\nSakatu "Ados" eskala hau berresteko.\n[scarlet][accent] {0}[] segundo atzera egin eta irteteko...
uiscale.cancel = Utzi eta irten
setting.bloom.name = Distira
@@ -635,16 +635,16 @@ category.multiplayer.name = Hainbat jokalari
command.attack = Eraso
command.rally = Batu
command.retreat = Erretreta
keybind.clear_building.name = Clear Building
keybind.clear_building.name = Garrbitu eraikina
keybind.press = Sakatu tekla bat...
keybind.press.axis = Sakatu ardatza edo tekla...
keybind.screenshot.name = Maparen pantaila-argazkia
keybind.move_x.name = Mugitu x
keybind.move_y.name = Mugitu y
keybind.schematic_select.name = Select Region
keybind.schematic_menu.name = Schematic Menu
keybind.schematic_flip_x.name = Flip Schematic X
keybind.schematic_flip_y.name = Flip Schematic Y
keybind.schematic_select.name = Hautatu eskualdea
keybind.schematic_menu.name = Eskema menua
keybind.schematic_flip_x.name = Itzulbiratu X
keybind.schematic_flip_y.name = Itzulbiratu Y
keybind.fullscreen.name = Txandakatu pantaila osoa
keybind.select.name = Hautatu/Tirokatu
keybind.diagonal_placement.name = Kokatze diagonala
@@ -656,14 +656,14 @@ keybind.zoom_hold.name = Zoom mantenduz
keybind.zoom.name = Zoom
keybind.menu.name = Menua
keybind.pause.name = Pausatu
keybind.pause_building.name = Pause/Resume Building
keybind.pause_building.name = Pausatu/berrekin eraikiketa
keybind.minimap.name = Mapatxoa
keybind.dash.name = Arrapalada
keybind.chat.name = Txata
keybind.player_list.name = Jokalarien zerrenda
keybind.console.name = Kontsola
keybind.rotate.name = Biratu
keybind.rotateplaced.name = Rotate Existing (Hold)
keybind.rotateplaced.name = Biratu dagoena (Mantendu)
keybind.toggle_menus.name = Txandakatu menuak
keybind.chat_history_prev.name = Txat historialean aurrekoa
keybind.chat_history_next.name = Txat historialean hurrengoa
@@ -675,7 +675,7 @@ mode.survival.name = Biziraupena
mode.survival.description = Modu arrunta. Baliabide mugatuak eta bolada automatikoak.\n[gray]Jolasteko etsaien sortze puntuak behar dira mapan.
mode.sandbox.name = Jolastokia
mode.sandbox.description = Baliabide amaigabeak eta boladen denboragailurik gabe.
mode.editor.name = Editor
mode.editor.name = Editorea
mode.pvp.name = JvJ
mode.pvp.description = Borrokatu beste jokalari batzuk lokalean.\n[gray]Gutxienez bi kolore desberdinetako muinak behar dira mapan jolasteko.
mode.attack.name = Erasoa
@@ -843,8 +843,8 @@ block.copper-wall.name = Kobrezko horma
block.copper-wall-large.name = Kobrezko horma handia
block.titanium-wall.name = Titaniozko horma
block.titanium-wall-large.name = Titaniozko horma handia
block.plastanium-wall.name = Plastanium Wall
block.plastanium-wall-large.name = Large Plastanium Wall
block.plastanium-wall.name = Plastaniozko horma
block.plastanium-wall-large.name = Plastaniozko horma handia
block.phase-wall.name = Fasezko horma
block.phase-wall-large.name = Fasezko horma handia
block.thorium-wall.name = Toriozko horma
@@ -864,7 +864,7 @@ block.junction.name = Lotunea
block.router.name = Bideratzailea
block.distributor.name = Banatzailea
block.sorter.name = Antolatzailea
block.inverted-sorter.name = Inverted Sorter
block.inverted-sorter.name = Alderantzizko antolatzailea
block.message.name = Mezua
block.overflow-gate.name = Gainezkatze atea
block.silicon-smelter.name = Silizio galdategia
@@ -983,7 +983,7 @@ unit.lich.name = Litxe
unit.reaper.name = Segalaria
tutorial.next = [lightgray]<Sakatu jarraitzeko>
tutorial.intro = Hau [scarlet]Mindustry tutoriala[] da.\nHasi [accent]kobrea ustiatzen[]. Horretarako, sakatu zure muinetik hurbil dagoen kobre-mea bat.\n\n[accent]{0}/{1} kobre
tutorial.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers [] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
tutorial.intro.mobile = [scarlet] Mindustry Tutorialean[] sartu zara\nPasatu hatza mugitzeko.\n[accent]Egin atximurkada bi hatzekin [] zooma hurbildu edo urruntzeko.\nHasi[accent] kobrea ustiatuz[]. Hurbildu kobrera, gero sakatu zure muinetik hurbil dagoen kobre mea bat.\n\n[accent]{0}/{1} kobre
tutorial.drill = Eskuz ustiatzea ez da eraginkorra.\n[accent]Zulagailuek []automatikoki ustiatu dezakete.\nSakatu zulagailuen fitxa, behean eskuman.\nHautatu[accent] zulagailu mekanikoa[]. Kokatu ezazu kobre zain batean klik eginez.\n[accent]Eskumako klik[] deseraikitzeko.
tutorial.drill.mobile = Eskuz ustiatzea ez da eraginkorra.\n[accent]Zulagailuek []automatikoki ustiatu dezakete.\nSakatu zulagailuen fitxa behean eskuman.\nHautatu[accent] zulagailu mekanikoa[]. \nKokatu ezazu kobre zain batean sakatuz, gero sakatu azpiko [accent]egiaztapen-marka[] zure hautaketa berresteko.\nSakatu [accent]X botoia[] kokatzea ezeztatzeko.
tutorial.blockinfo = Bloke bakoitzak estatistika desberdinak ditu. Eta zulagailu bakoitzak mea mota zehatz batzuk ustiatu ditzake soilik.\nBloke mota baten informazio eta estatistikak egiaztatzeko,[accent] hautatu blokea eraikiketa menuan eta sakatu "?" botoia .[]\n\n[accent]Atzitu zulagailu mekanikoaren estatistikak orain.[]
@@ -1000,7 +1000,7 @@ tutorial.breaking.mobile = Maiz blokeak suntsitu beharko dituzu.\n[accent]Hautat
tutorial.withdraw = Egoera batzuetan, blokeetatik zuzenean hartu behar dira baliabideak.\nHorretarako, [accent]sakatu baliabideak dituen bloke bat[], gero [accent]sakatu baliabidea[] inbentarioan.\nHainbat baliabide ateratzeko [accent]sakatu eta mantendu[].\n\n[accent]Atera kobre apur bat muinetik.[]
tutorial.deposit = Baliabideak blokeren batean sartzeko, arrastatu zure ontzitik blokera.\n\n[accent]Sartu zure kobrea berriro muinean.[]
tutorial.waves = [lightgray]Etsaia[] dator.\n\nBabestu muina 2 boladetan zehar. [accent]Egin klik[] tirokatzeko.\nEraiki dorre eta zulagailu gehiago. Ustiatu kobre gehiago.
tutorial.waves.mobile = [lightgray]Etsaia[] daor.\n\nBabestu muina 2 boladatan. Zure ontziak automatikoki tirokatuko ditu etsaiak.\nEraiki dorre eta zulagailu gehiago. Ustiatu kobre gehiago.
tutorial.waves.mobile = [lightgray]Etsaia[] dator.\n\nBabestu muina 2 boladatan. Zure ontziak automatikoki tirokatuko ditu etsaiak.\nEraiki dorre eta zulagailu gehiago. Ustiatu kobre gehiago.
tutorial.launch = Bolada zehatz batera heltzean, [accent]muina egotzi[] dezakezu, zure defentsak atzean utziz [accent]eta muineko baliabide guztiak eskuratuz.[]\nBaliabide hauek teknologia berriak ikertzeko erabili daitezke.\n\n[accent]Sakatu egotzi botoia.
item.copper.description = Egiturazko material oinarrizkoena. Asko erabilia bloke mota guztietarako.
item.lead.description = Hastapeneko oinarrizko materiala. Bloke elektronikoak eta likidoen garraiorako blokeetan asko erabilia.
@@ -1067,8 +1067,8 @@ block.copper-wall.description = Babeserako bloke merke bat.\nMuina eta dorreak l
block.copper-wall-large.description = Babeserako bloke merke bat.\nMuina eta dorreak lehen boladetan babesteko erabilgarria.\nHainbat lauza hartzen ditu.
block.titanium-wall.description = Zertxobait gogorra den babeserako bloke bat.\nEtsaien aurreko babes ertaina eskaintzen du.
block.titanium-wall-large.description = Zertxobait gogorra den babeserako bloke bat.\nEtsaien aurreko babes ertaina eskaintzen du.\nHainbat lauza hartzen ditu.
block.plastanium-wall.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.
block.plastanium-wall-large.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.\nSpans multiple tiles.
block.plastanium-wall.description = Arku elektrikoak xurgatzen dituen eta energia-nodoen konexio automatikoak blokeatzen dituen horma berezia.
block.plastanium-wall-large.description = Arku elektrikoak xurgatzen dituen eta energia-nodoen konexio automatikoak blokeatzen dituen horma berezia..\nHainbat lauza hartzen ditu.
block.thorium-wall.description = Babeserako bloke gogorra.\nEtsaitatik aterpe txukuna.
block.thorium-wall-large.description = Babeserako bloke gogorra.\nEtsaitatik aterpe txukuna.\nHainbat lauza hartzen ditu.
block.phase-wall.description = Fasez osatutako konposatu islatzaile batez estalitako horma bat. Talkan jasotako bala gehienak desbideratzen ditu.
@@ -1088,7 +1088,7 @@ block.junction.description = Gurutzatutako bi garraio-zinten arteko zubi gisa ar
block.bridge-conveyor.description = Elementuen garraiorako bloke aurreratua. Elementuak edozein gainazal edo eraikinen gainetik garraiatzen ditu 3 lauzatara gehienez.
block.phase-conveyor.description = Elementuen garraiorako bloke aurreratua. Energia erabiltzen du hainbat lauzetara konektatutako beste Fasezko garraiagailu batera elementuak teleportatzeko.
block.sorter.description = Elementuak antolatzen ditu. Elementu bat hautuarekin bat badator, aurrera jarraitu dezake. Bestela, elementua ezker eta eskuinera ateratzen da.
block.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead.
block.inverted-sorter.description = Antolatzaile arruntaren antzera prozesatzen ditu elementuak, baina hautatutako elementuak alboetara ateratzen ditu.
block.router.description = Elementuak onartzen ditu, eta beste gehienez 3 norabideetara ateratzen ditu kopuru berdinetan. Jatorri batetik hainbat xedeetara materialak banatzeko egokia.\n\n[scarlet]Ez jarri ekoizpen sarreren ondoan, irteerek trabatuko baitute.[]
block.distributor.description = Bideratzaile aurreratu bat. Elementuak beste gehienez 7 norabideetara sakabanatzen ditu kopuru berdinetan.
block.overflow-gate.description = Antolatzaile eta bideratzaile konbinatua. Soilik aurrealdea blokeatuta dagoenean ateratzen du ezker eta eskuinera.

File diff suppressed because it is too large Load Diff

View File

@@ -10,6 +10,7 @@ link.dev-builds.description = Versions instables du jeu
link.trello.description = Trello officiel pour les ajouts futurs
link.itch.io.description = Page itch.io avec lien de téléchargement pour PC
link.google-play.description = Google Play Store
link.f-droid.description = Catalogue F-Droid
link.wiki.description = Le wiki officiel de Mindustry
linkfail = Erreur lors de l'ouverture du lien !\nL'URL a été copiée dans votre presse papier.
screenshot = Capture d'écran sauvegardée à {0}
@@ -18,12 +19,14 @@ gameover = Game over
gameover.pvp = L'équipe [accent] {0}[] a gagné !
highscore = [accent]Nouveau meilleur score!
copied = Copié.
load.sound = Sons
load.map = Cartes
load.image = Images
load.content = Contenu
load.system = Système
load.mod = Mods
schematic = Schéma
schematic.add = Sauvegarder le schéma...
schematics = Schémas
@@ -40,6 +43,7 @@ schematic.saved = Schéma sauvegardé.
schematic.delete.confirm = Ce schéma sera complètement éradiqué.
schematic.rename = Renommer le schéma
schematic.info = {0}x{1}, {2} blocs
stat.wave = Vagues vaincues:[accent] {0}
stat.enemiesDestroyed = Ennemis détruits:[accent] {0}
stat.built = Bâtiments construits:[accent] {0}
@@ -47,6 +51,7 @@ stat.destroyed = Bâtiments détruits:[accent] {0}
stat.deconstructed = Bâtiments déconstruits:[accent] {0}
stat.delivered = Ressources transférées:
stat.rank = Rang Final: [accent]{0}
launcheditems = [accent]Ressources transférées
launchinfo = [unlaunched][[LANCER] votre noyau pour obtenir les objets indiqués en bleu.
map.delete = Êtes-vous certain(e) de vouloir supprimer la carte "[accent]{0}[]"?
@@ -74,6 +79,7 @@ maps.browse = Parcourir les cartes
continue = Continuer
maps.none = [lightgray]Aucune carte trouvée!
invalid = Invalide
pickcolor = Choisir la Couleur
preparingconfig = Préparation de la configuration
preparingcontent = Préparation du contenu
uploadingcontent = Publication du contenu
@@ -81,7 +87,8 @@ uploadingpreviewfile = Publication du fichier d'aperçu
committingchanges = Validation des modifications
done = Fait
feature.unsupported = Votre appareil ne supporte pas cette fonctionnalité.
mods.alphainfo = Gardez à l'esprit que les mods sont en alpha et[scarlet] peuvent être très buggés[].\nMerci de signaler les problèmes que vous rencontrez via le Github ou le Discord Mindustry.
mods.alphainfo = Gardez à l'esprit que les mods sont en alpha et[scarlet] peuvent être très buggés[].\nMerci de signaler les problèmes que vous rencontrez via le GitHub ou le Discord Mindustry.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]Aucun mod trouvé!
@@ -98,12 +105,13 @@ mod.enable = Activer
mod.requiresrestart = Le jeu va maintenant s'arrêter pour appliquer les modifications du mod.
mod.reloadrequired = [scarlet]Rechargement requis
mod.import = Importer un mod
mod.import.github = Importer un mod Github
mod.import.github = Importer un mod GitHub
mod.remove.confirm = Ce mod sera supprimé.
mod.author = [LIGHT_GRAY]Auteur:[] {0}
mod.missing = Cette sauvegarde contient des mods que vous avez récemment mis à jour ou que vous avez désinstallés. Votre sauvegarde risque d'être corrompue. Êtes-vous sûr de vouloir l'importer?\n[lightgray]Mods:\n{0}
mod.preview.missing = Avant de publier ce mod dans le workshop, vous devez ajouter une image servant d'aperçu.\nPlacez une image nommée[accent] preview.png[] dans le dossier du mod et réessayez.
mod.folder.missing = Seuls les mods sous forme de dossiers peuvent être publiés sur l'atelier.\nPour convertir n'importe quel mod en un dossier, dézippez-le tout simplement dans un dossier et supprimez l'ancien zip, puis redémarrez votre jeu ou rechargez vos mods.
about.button = À propos
name = Nom:
noname = Commencer par choisir un[accent] nom de joueur[].
@@ -271,6 +279,7 @@ publishing = [accent]Publication...
publish.confirm = Êtes-vous sûr de vouloir publier ceci ?\n\n[lightgray]Assurez-vous d'être d'abord d'accord avec les CGU du workshop, sinon vos éléments n'apparaîtront pas !
publish.error = Erreur de publication de l'élément: {0}
steam.error = Failed to initialize Steam services.\nError: {0}
editor.brush = Pinceau
editor.openin = Ouvrir dans l'éditeur
editor.oregen = Génération de minerais
@@ -347,6 +356,7 @@ editor.overwrite = [accent]Attention!\nCeci écrase une carte existante.
editor.overwrite.confirm = [scarlet]Attention![] Une carte avec ce nom existe déjà. Êtes-vous sûr de vouloir l'écraser?
editor.exists = Une carte avec ce nom existe déjà.
editor.selectmap = Sélectionnez une carte:
toolmode.replace = Remplacer
toolmode.replace.description = Dessiner seulement sur les blocs solides.
toolmode.replaceall = Tout remplacer
@@ -361,6 +371,7 @@ toolmode.fillteams = Remplir les équipes
toolmode.fillteams.description = Rempli les équipes au lieu des blocs.
toolmode.drawteams = Dessiner les équipes
toolmode.drawteams.description = Dessine les équipes au lieu de blocs.
filters.empty = [lightgray]Aucun filtre! Ajoutez-en un avec les boutons ci-dessous.
filter.distort = Déformation
filter.noise = Bruit
@@ -392,6 +403,7 @@ filter.option.floor2 = Sol secondaire
filter.option.threshold2 = Seuil secondaire
filter.option.radius = Rayon
filter.option.percentile = Centile
width = Largeur:
height = Hauteur:
menu = Menu
@@ -407,6 +419,7 @@ tutorial = Tutoriel
tutorial.retake = Refaire le Tutoriel
editor = Éditeur
mapeditor = Éditeur de carte
abandon = Abandonner
abandon.text = Cette zone et toutes ses ressources vont être perdues.
locked = Verrouillé
@@ -437,6 +450,7 @@ zone.objective.survival = Survivre
zone.objective.attack = Détruire le noyau ennemi
add = Ajouter...
boss.health = Santé du Boss
connectfail = [crimson]Échec de la connexion au serveur :\n\n[accent]{0}
error.unreachable = Serveur injoignable.\nL'adresse IP est correcte?
error.invalidaddress = Adresse invalide.
@@ -447,6 +461,7 @@ error.mapnotfound = Carte introuvable!
error.io = Erreur de Réseau (I/O)
error.any = Erreur réseau inconnue
error.bloom = Échec de l'initialisation du flou lumineux.\nVotre appareil peux ne pas le supporter.
zone.groundZero.name = Première Bataille
zone.desertWastes.name = Désert Sauvage
zone.craters.name = Les Cratères
@@ -461,6 +476,7 @@ zone.saltFlats.name = Marais Salants
zone.impact0078.name = Impact 0078
zone.crags.name = Rochers
zone.fungalPass.name = Passe Fongique
zone.groundZero.description = L'emplacement optimal pour débuter. Faible menace ennemie. Peu de ressources. \nRecueillez autant de plomb et de cuivre que possible.\nRien d'autre à signaler.
zone.frozenForest.description = Même ici, plus près des montagnes, les spores se sont propagées. Les températures glaciales ne pourront pas les contenir pour toujours.\n\nFamiliarisez vous avec l'Énergie. Construisez des générateurs a combustion. Apprenez a utiliser les réparateurs.
zone.desertWastes.description = Cette étendue désertique est immense, imprévisible. On y croise des structures abandonnées.\nLe charbon est présent dans la région. Brûlez-le pour générer de l'Énergie ou synthétisez-le en graphite.\n\n[lightgray]Ce lieu d'atterisage est imprévisible.
@@ -475,6 +491,7 @@ zone.nuclearComplex.description = Une ancienne installation de production et tra
zone.fungalPass.description = Une zone de transition entre les hautes montagnes et les basses régions infestées de spores. Une petite base de reconnaissance ennemie s'y trouve.\nDétruisez la.\nUtilisez les unités Poignard et Rampeurs. Détruisez les deux noyaux.
zone.impact0078.description = <insérer une description ici>
zone.crags.description = <insérer une description ici>
settings.language = Langue
settings.data = Données du Jeu
settings.reset = Valeurs par Défaut
@@ -494,8 +511,8 @@ no = Non
info.title = Info
error.title = [crimson]Une erreur s'est produite
error.crashtitle = Une erreur s'est produite
blocks.input = Input
blocks.output = Output
blocks.input = Entrée
blocks.output = Sortie
blocks.booster = Booster
block.unknown = [lightgray]???
blocks.powercapacity = Capacité d'énergie
@@ -529,9 +546,10 @@ blocks.inaccuracy = Imprécision
blocks.shots = Tirs
blocks.reload = Tirs/Seconde
blocks.ammo = Munitions
bar.drilltierreq = Foreuse Améliorée Requise
bar.drillspeed = Vitesse de forage: {0}/s
bar.pumpspeed = Pump Speed: {0}/s
bar.drillspeed = Vitesse de Forage: {0}/s
bar.pumpspeed = Vitesse de Pompage: {0}/s
bar.efficiency = Efficacité: {0}%
bar.powerbalance = Énergie: {0}/s
bar.powerstored = Stocké: {0}/{1}
@@ -544,6 +562,9 @@ bar.heat = Chaleur
bar.power = Énergie
bar.progress = Progression de la construction
bar.spawned = Unités: {0}/{1}
bar.input = Entrée
bar.output = Sortie
bullet.damage = [stat]{0}[lightgray] dégâts
bullet.splashdamage = [stat]{0}[lightgray] dégâts de zone ~[stat] {1}[lightgray] blocs
bullet.incendiary = [stat]incendiaire
@@ -555,6 +576,7 @@ bullet.freezing = [stat]gel
bullet.tarred = [stat]goudronné
bullet.multiplier = [stat]{0}[lightgray]x multiplicateur de munitions
bullet.reload = [stat]{0}[lightgray]x vitesse de tir
unit.blocks = blocs
unit.powersecond = énergie/seconde
unit.liquidsecond = unité de liquide/seconde
@@ -576,9 +598,10 @@ category.shooting = Défense
category.optional = Améliorations optionnelles
setting.landscape.name = Verrouiller en rotation paysage
setting.shadows.name = Ombres
setting.blockreplace.name = Automatic Block Suggestions
setting.blockreplace.name = Suggestions Automatiques de Blocs
setting.linear.name = Filtrage Linéaire
setting.hints.name = Astuces
setting.buildautopause.name = Pause Automatique de la Construction
setting.animatedwater.name = Eau animée
setting.animatedshields.name = Boucliers Animés
setting.antialias.name = Antialias[lightgray] (redémarrage du jeu nécessaire)[]
@@ -599,14 +622,17 @@ setting.difficulty.insane = Extrême
setting.difficulty.name = Difficulté:
setting.screenshake.name = Tremblement de l'écran
setting.effects.name = Afficher les effets
setting.destroyedblocks.name = Display Destroyed Blocks
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
setting.destroyedblocks.name = Afficher les Blocs Détruits
setting.conveyorpathfinding.name = Recherche de Chemin pour le Placement de Convoyeurs
setting.sensitivity.name = Sensibilité de la manette
setting.saveinterval.name = Intervalle des sauvegardes auto
setting.seconds = {0} secondes
setting.blockselecttimeout.name = Délai d'Attente de Sélection de Bloc
setting.milliseconds = {0} millisecondes
setting.fullscreen.name = Plein Écran
setting.borderlesswindow.name = Fenêtre sans bords (Borderless)[lightgray] (peut nécessiter le redémarrage du jeu)
setting.fps.name = Afficher FPS
setting.blockselectkeys.name = Afficher les Touches de Sélection de Bloc
setting.vsync.name = VSync
setting.pixelate.name = Pixeliser[lightgray] (désactive les animations)
setting.minimap.name = Afficher la Minimap
@@ -635,16 +661,36 @@ category.multiplayer.name = Multijoueur
command.attack = Attaque
command.rally = Rassembler
command.retreat = Retraite
placement.blockselectkeys = \n[lightgray]Touche: [{0},
keybind.clear_building.name = Effacer les constructions
keybind.press = Appuyer sur une touche...
keybind.press.axis = Appuyer sur un axe ou une touche...
keybind.screenshot.name = Capture d'écran
keybind.move_x.name = Mouvement x
keybind.move_y.name = Mouvement y
keybind.toggle_power_lines.name = Montrer/Cacher les Connections d'Énergie
keybind.move_x.name = Mouvement X
keybind.move_y.name = Mouvement Y
keybind.mouse_move.name = Suivre la Souris
keybind.dash.name = Sprint
keybind.schematic_select.name = Sélectionner une région
keybind.schematic_menu.name = Menu des schéma
keybind.schematic_flip_x.name = Retourner le schéma sur l'axe X
keybind.schematic_flip_y.name = Retourner le schéma sur l'axe Y
keybind.category_prev.name = Catégorie Précédente
keybind.category_next.name = Catégorie Suivante
keybind.block_select_left.name = Sélectionner Bloc de Gauche
keybind.block_select_right.name = Sélectionner Bloc de Droite
keybind.block_select_up.name = Sélectionner Bloc en Haut
keybind.block_select_down.name = Sélectionner Bloc en Bas
keybind.block_select_01.name = Sélectionner Catégorie/Bloc 1
keybind.block_select_02.name = Sélectionner Catégorie/Bloc 2
keybind.block_select_03.name = Sélectionner Catégorie/Bloc 3
keybind.block_select_04.name = Sélectionner Catégorie/Bloc 4
keybind.block_select_05.name = Sélectionner Catégorie/Bloc 5
keybind.block_select_06.name = Sélectionner Catégorie/Bloc 6
keybind.block_select_07.name = Sélectionner Catégorie/Bloc 7
keybind.block_select_08.name = Sélectionner Catégorie/Bloc 8
keybind.block_select_09.name = Sélectionner Catégorie/Bloc 9
keybind.block_select_10.name = Sélectionner Catégorie/Bloc 10
keybind.fullscreen.name = Basculer en Plein Écran
keybind.select.name = Sélectionner/Tirer
keybind.diagonal_placement.name = Placement en diagonale
@@ -658,18 +704,17 @@ keybind.menu.name = Menu
keybind.pause.name = Pause
keybind.pause_building.name = Pauser/Reprendre la construction
keybind.minimap.name = Minimap
keybind.dash.name = Sprint
keybind.chat.name = Chat
keybind.player_list.name = Liste des joueurs
keybind.player_list.name = Liste des Joueurs
keybind.console.name = Console
keybind.rotate.name = Tourner
keybind.rotateplaced.name = Tourner existant (maintenir)
keybind.toggle_menus.name = Cacher/afficher les menus
keybind.chat_history_prev.name = Remonter l'historique du chat
keybind.chat_history_next.name = Descendre l'historique du chat
keybind.chat_scroll.name = Défilement du chat
keybind.toggle_menus.name = Cacher/Afficher les Menus
keybind.chat_history_prev.name = Remonter l'Historique du Chat
keybind.chat_history_next.name = Descendre l'Historique du Chat
keybind.chat_scroll.name = Défilement du Chat
keybind.drop_unit.name = Larguer l'unité
keybind.zoom_minimap.name = Zoom minimap
keybind.zoom_minimap.name = Zoom Minimap
mode.help.title = Description des modes de jeu
mode.survival.name = Survie
mode.survival.description = Le mode normal. Ressources limitées et vagues automatiques.\n[gray]Nécessite un point d'apparition pour les ennemis.
@@ -681,7 +726,9 @@ mode.pvp.description = Battez-vous contre d'autres joueurs en local.\n[gray]Requ
mode.attack.name = Attaque
mode.attack.description = Pas de vagues, le but étant de détruire la base ennemie.\n[gray]Requiert un noyaux rouge dans la map pour y jouer.
mode.custom = Règles personnalisées
rules.infiniteresources = Ressources infinies
rules.reactorexplosions = Explosion des Réacteurs
rules.wavetimer = Minuterie pour les vagues
rules.waves = Vagues
rules.attack = Mode d'Attaque
@@ -707,6 +754,10 @@ rules.title.resourcesbuilding = Ressources & Construction
rules.title.player = Joueurs
rules.title.enemy = Ennemis
rules.title.unit = Unités
rules.title.experimental = Expérimental
rules.lighting = Éclairage
rules.ambientlight = Éclairage Ambiant
content.item.name = Objets
content.liquid.name = Liquides
content.unit.name = Unités
@@ -753,6 +804,7 @@ mech.trident-ship.name = Trident
mech.trident-ship.weapon = Bombes
mech.glaive-ship.name = Glaive
mech.glaive-ship.weapon = Mitraille incendiaire
item.corestorable = [lightgray]Stockable dans le Noyau: {0}
item.explosiveness = [LIGHT_GRAY]Explosivité: {0}
item.flammability = [LIGHT_GRAY]Inflammabilité: {0}
item.radioactivity = [LIGHT_GRAY]Radioactivité: {0}
@@ -768,6 +820,7 @@ mech.buildspeed = [LIGHT_GRAY]Vitesse de Construction: {0}%
liquid.heatcapacity = [LIGHT_GRAY]Capacité Thermique: {0}
liquid.viscosity = [LIGHT_GRAY]Viscosité: {0}
liquid.temperature = [LIGHT_GRAY]Température: {0}
block.sand-boulder.name = Bloc de Sable
block.grass.name = Herbe
block.salt.name = Sel
@@ -866,6 +919,8 @@ block.distributor.name = Distributeur
block.sorter.name = Trieur
block.inverted-sorter.name = Trieur Inversé
block.message.name = Message
block.illuminator.name = Illuminateur
block.illuminator.description = Une petite source lumineuse compacte et configurable. Nécessite de l'énergie pour fonctionner.
block.overflow-gate.name = Barrière de Débordement
block.silicon-smelter.name = Fonderie de Silicium
block.phase-weaver.name = Tisseur à Phase
@@ -879,6 +934,7 @@ block.coal-centrifuge.name = Centrifugeur à Charbon
block.power-node.name = Transmetteur Énergétique
block.power-node-large.name = Grand Transmetteur Énergétique
block.surge-tower.name = Tour de Surtension
block.diode.name = Diode de Batterie
block.battery.name = Batterie
block.battery-large.name = Grande Batterie
block.combustion-generator.name = Générateur à Combustion
@@ -931,6 +987,7 @@ block.fortress-factory.name = Usine de Méchas Forteresses
block.revenant-factory.name = Usine de Combattants Revenants
block.repair-point.name = Point de Réparation
block.pulse-conduit.name = Conduit à Impulsion
block.plated-conduit.name = Conduit Plaqué
block.phase-conduit.name = Conduit Phasé
block.liquid-router.name = Routeur de Liquide
block.liquid-tank.name = Réservoir à Liquide
@@ -938,7 +995,7 @@ block.liquid-junction.name = Jonction à Liquide
block.bridge-conduit.name = Conduit Surélevé
block.rotary-pump.name = Pompe Rotative
block.thorium-reactor.name = Réacteur à Thorium
block.mass-driver.name = Transporteur de Masses
block.mass-driver.name = Catapulte Électromagnétique
block.blast-drill.name = Foreuse à Explosion
block.thermal-pump.name = Pompe Thermique
block.thermal-generator.name = Générateur Thermique
@@ -982,7 +1039,7 @@ unit.eradicator.name = Éradicateur
unit.lich.name = Liche
unit.reaper.name = Faucheur
tutorial.next = [lightgray]<Appuyez pour continuer>
tutorial.intro = Vous venez de commencer le [scarlet]Tutoriel de Mindustry.[]\nUtilisez [[ZQSD] pour vous déplacer.\n[accent]Maintenez [[Ctrl] tout en faisant rouler la molette de la souris[] pour zoomer et dézoomer.\nCommencez en minant du [accent]cuivre[]. Pour cela, rapprochez vous de la veine de minerais de cuivre près de votre noyau et faites un clic gauche dessus.\n\n[accent]{0}/{1} cuivre
tutorial.intro = Vous venez de commencer le [scarlet]Tutoriel de Mindustry.[]\nUtilisez [accent][[ZQSD][] pour vous déplacer.\n[accent]Maintenez [[Ctrl] tout en faisant rouler la molette de la souris[] pour zoomer et dézoomer.\nCommencez en minant du [accent]cuivre[]. Pour cela, rapprochez vous de la veine de minerais de cuivre près de votre noyau et faites un clic gauche dessus.\n\n[accent]{0}/{1} cuivre
tutorial.intro.mobile = Vous venez de commencer le [scarlet]Tutoriel de Mindustry.[]\nBalayez l'écran pour vous déplacer.\n[accent] Pincer avec deux doigts [] afin d'agrandir et rétrécir la perspective.\nCommencez en[accent] minant du cuivre[]. Pour cela, appuyez sur une veine de minerai de cuivre près de votre noyau.\n\n[accent]{0}/{1} cuivre
tutorial.drill = Miner manuellement est inefficace.\n[accent]Les foreuses []peuvent miner pour vous.\nCliquez sur l'onglet des foreuses en bas à droite.\nSélectionnez la [accent]foreuse mécanique[]. Placez-la sur une veine de cuivre en cliquant.\n[accent]Faite un clique-droit[] pour arrêter la construction.
tutorial.drill.mobile = Miner manuellement est inefficace.\n[accent]Les foreuses []peuvent miner pour vous.\nAppuyez sur l'onglet des foreuses en bas à droite.\nSélectionnez la [accent]foreuse mécanique[].\nPlacez-la sur une veine de cuivre en y appuyant, puis en touchant la[accent] coche[] pour confirmer votre placement.\nAppuyez sur le [accent]bouton en forme de croix[] pour annuler le placement.
@@ -1002,6 +1059,7 @@ tutorial.deposit = Déposez des ressources dans des blocs en les faisant glisser
tutorial.waves = L'[lightgray] ennemi[] approche.\n\nDéfendez le noyau pendant 2 vagues.[accent] Cliquez[] pour tirer.\nConstruisez plus de tourelles et de foreuses. Minez plus de cuivre.
tutorial.waves.mobile = L'[lightgray] ennemi[] approche.\n\nDéfendez le noyau pendant 2 vagues. Votre vaisseau tirera automatiquement sur les ennemis.\nConstruisez plus de tourelles et de foreuses. Minez plus de cuivre.
tutorial.launch = Une fois que vous aurez atteint une vague spécifique, vous aurez la possibilité de[accent] faire décoller le noyau[], abandonnant vos défenses mais [accent]sécurisant toutes les ressources stockées dans votre noyau.[]\nCes ressources peuvent ensuite être utilisées pour rechercher de nouvelles technologies.\n\n[accent]Appuyez sur le bouton de lancement.
item.copper.description = Le matériau structurel de base. Utilisé intensivement dans tout les blocs.
item.lead.description = Un matériau de départ. Utilisé intensivement en électronique et dans les blocs de transport de liquides.
item.metaglass.description = Un composé de vitre super-résistant. Utilisé largement pour le transport et le stockage de liquides.
@@ -1083,21 +1141,22 @@ block.overdrive-projector.description = Accélère les bâtiments autour de lui,
block.force-projector.description = Crée un champ de force hexagonal autour de lui qui protège les bâtiments et les unités à l'intérieur des dégâts.\nSurchauffe si trop de dégâts sont reçus. Peut utiliser du liquide réfrigérant pour éviter la surchauffe. Peut utiliser du tissu phasé pour booster la taille du bouclier.
block.shock-mine.description = Blesse les ennemis qui marchent dessus. Quasiment invisible pour l'ennemi.
block.conveyor.description = Convoyeur basique servant à transporter des objets. Les objets déplacés en avant sont automatiquement déposés dans les tourelles ou les bâtiments. Peut être tourné.
block.titanium-conveyor.description = Convoyeur avancé . Déplace les objets plus rapidement que les convoyeurs standards.
block.titanium-conveyor.description = Convoyeur avancé. Déplace les objets plus rapidement que les convoyeurs standards.
block.junction.description = Agit comme un pont pour deux lignes de convoyeurs se croisant. Utile lorsque deux différents convoyeurs déplacent différents matériaux à différents endroits.
block.bridge-conveyor.description = Bloc de transport avancé permettant de traverser jusqu'à 3 blocs de n'importe quel terrain ou bâtiment.
block.phase-conveyor.description = Convoyeur très avancé. Utilise de l'énergie pour téléporter des objets à un convoyeur phasé connecté jusqu'à une longue distance .
block.sorter.description = Trie les articles. Si un article correspond à la sélection, il peut passer. Autrement, l'article est distribué vers la gauche ou la droite.
block.inverted-sorter.description = Trie les articles comme un trieur standard, mais ceux correspondant à la sélection sont envoyés sur les côtés.
block.phase-conveyor.description = Convoyeur très avancé. Utilise de l'énergie pour téléporter des objets à un convoyeur phasé connecté jusqu'à une longue distance.
block.sorter.description = Trie les ressources. Si une ressource correspond à la sélection, elle peut passer. Autrement, elle est distribuée vers la gauche ou la droite.
block.inverted-sorter.description = Trie les ressources comme un trieur standard, mais ceux correspondant à la sélection sont envoyés sur les côtés.
block.router.description = Accepte les objets depuis une ou plus directions et le renvoie dans n'importe quelle direction. Utile pour séparer une chaîne de convoyeurs en plusieurs.[accent]Le seul et l'Unique[]
block.distributor.description = Un routeur avancé qui sépare les objets jusqu'à 7 autres directions équitablement.
block.overflow-gate.description = C'est la combinaison entre un Routeur et un Diviseur qui peut seulement distribuer à gauche et à droite si le chemin de devant est bloqué.
block.mass-driver.description = bâtiment de transport d'objet [accent]ultime[]. Collecte un grand nombre d'objets puis les tire à un autre transporteur de masse sur une très longue distance.
block.mechanical-pump.description = Une pompe de faible prix pompant lentement, mais ne consomme pas d'énergie.
block.overflow-gate.description = Bloc envoyant les ressources à gauche et à droite si le chemin de devant est bloqué.
block.mass-driver.description = Le moyen de transport de resources ultime. Collecte plusieurs ressources puis les envoie à une autre catapulte sur une longue distance. Nécessite de l'énergie pour fonctionner.
block.mechanical-pump.description = Une pompe de faible prix pompant lentement, mais ne consommant pas d'énergie.
block.rotary-pump.description = Une pompe avancée plus rapide mais utilisant de l'énergie.
block.thermal-pump.description = La pompe ultime. Beaucoup plus rapide qu'une pompe mécanique et la seule pompe capable de récupérer de la lave.
block.conduit.description = Tuyau basique permettant le transport de liquide . Marche comme un convoyeur mais avec les liquides. Utile si utilisé avec des extracteurs, des pompes ou d'autres conduits.
block.pulse-conduit.description = Tuyau avancé permettant le transport de liquide . Transporte les liquides plus rapidement et en stocke plus que les tuyaux standards.
block.thermal-pump.description = La pompe ultime.
block.conduit.description = Bloc de transport de liquide de base. Fait avancer les liquides. Utilisé avec des pompes et autres conduits.
block.pulse-conduit.description = Tuyau avancé permettant le transport de liquide. Transporte les liquides plus rapidement et en stocke plus que les tuyaux standards.
block.plated-conduit.description = Déplace les liquides au même rythme que les conduits d'impulsion, mais possède plus d'armure. N'accepte pas de liquides provenant des côtés par autre chose que des conduits.\nFuit moins.
block.liquid-router.description = Accepte les liquides en une direction et les rejette de tous les côtés équitablement. Peut aussi stocker une certaine quantité de liquide. Utile pour envoyer un liquide à plusieurs endroits.
block.liquid-tank.description = Stocke une grande quantité de liquides . Utile pour réguler la sortie quand la demande est inconstante ou comme sécurité pour refroidir des bâtiments important.
block.liquid-junction.description = Agit comme une intersection pour deux conduits se croisant.Utile si deux conduits amènent différents liquides à différents endroits.
@@ -1106,11 +1165,12 @@ block.phase-conduit.description = Tuyau très avancé permettant le transport de
block.power-node.description = Transmet l'énergie aux transmetteurs énergétiques connectés. Le transmetteur recevra de l'énergie ou la transmettra à n'importe quel bâtiment adjacent.
block.power-node-large.description = Possède un rayon plus grand que le transmetteur énergétique standard, connectant d'autant plus de consommateurs ou transmetteurs d'énergie.
block.surge-tower.description = Un transmetteur énergétique de très grande portée mais avec moins de connections disponibles.
block.diode.description = La batterie ne peut circuler dans ce bloc que dans un sens, mais uniquement si lautre côté a moins dénergie stockée.
block.battery.description = Stocke l'énergie quand elle est en abondance et la redistribue si il y a un deficit d'énergie dans la limite des réserves disponibles.
block.battery-large.description = Stocke bien plus d'énergie qu'une batterie normale.
block.combustion-generator.description = Génère de l'énergie en brûlant du charbon ou des matériaux inflammables.
block.thermal-generator.description = Génère une grande quantité d'énergie à partir de zone de chaleur .
block.turbine-generator.description = Plus efficace qu'un générateur à combustion, mais requiert de l'eau .
block.combustion-generator.description = Génère de l'énergie en brûlant du charbon ou d'autres matériaux inflammables.
block.thermal-generator.description = Génère une grande quantité d'énergie à partir de zone de chaleur.
block.turbine-generator.description = Plus efficace qu'un générateur à combustion, mais requiert de l'eau.
block.differential-generator.description = Génère de grande quantité d'energie. Utilise différence de temperature entre le liquide cryogénique et la pyratite brûlante.
block.rtg-generator.description = Un générateur thermo-électrique à radioisotope qui ne demande pas de refroidissement mais produit moins d'énergie qu'un réacteur à Thorium.
block.solar-panel.description = Génère une faible quantité d'énergie grace au rayons du soleil.

View File

@@ -81,7 +81,7 @@ uploadingpreviewfile = Uploading Preview File
committingchanges = Comitting Changes
done = Done
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry Github or Discord.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]No mods found!
@@ -98,7 +98,7 @@ mod.enable = Enable
mod.requiresrestart = The game will now close to apply the mod changes.
mod.reloadrequired = [scarlet]Reload Required
mod.import = Import Mod
mod.import.github = Import Github Mod
mod.import.github = Import GitHub Mod
mod.remove.confirm = This mod will be deleted.
mod.author = [LIGHT_GRAY]Author:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}

View File

@@ -81,7 +81,7 @@ uploadingpreviewfile = Mengupload File Tinjauan
committingchanges = Membuat Perubahan
done = Selesai
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry Github or Discord.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]No mods found!
@@ -98,7 +98,7 @@ mod.enable = Enable
mod.requiresrestart = The game will now close to apply the mod changes.
mod.reloadrequired = [scarlet]Reload Required
mod.import = Import Mod
mod.import.github = Import Github Mod
mod.import.github = Import GitHub Mod
mod.remove.confirm = This mod will be deleted.
mod.author = [LIGHT_GRAY]Author:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}

View File

@@ -81,7 +81,7 @@ uploadingpreviewfile = Carico file di anteprima
committingchanges = Applico le modifiche
done = Fatto
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Tieni a mente che queste mod sono in alpha, e[scarlet] possono avere molti bug[].\nRiporta tutti i problemi che trovi in Mindustry su Github o Discord.
mods.alphainfo = Tieni a mente che queste mod sono in alpha, e[scarlet] possono avere molti bug[].\nRiporta tutti i problemi che trovi in Mindustry su GitHub o Discord.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]Nessuna mod trovata!
@@ -98,7 +98,7 @@ mod.enable = Abilita
mod.requiresrestart = .
mod.reloadrequired = [scarlet]Riavvio necessario
mod.import = Importa una mod
mod.import.github = Import Github Mod
mod.import.github = Import GitHub Mod
mod.remove.confirm = Questa mod verrà cancellata.
mod.author = [LIGHT_GRAY]Author:[] {0}
mod.missing = Questo salvataggio contiene mod che hai recentemente aggiornato o non le hai piu installate. Il salvataggio può essere corrotto. sei sicuro di volerlo caricare?\n[lightgray]Mods:\n{0}

View File

@@ -17,29 +17,29 @@ screenshot.invalid = マップが広すぎます。スクリーンショット
gameover = ゲームオーバー
gameover.pvp = [accent] {0}[] チームの勝利!
highscore = [accent]ハイスコアを更新!
copied = Copied.
copied = コピーしました。
load.sound = サウンド
load.map = マップ
load.image = 画像
load.content = コンテンツ
load.system = システム
load.mod = MOD
schematic = Schematic
schematic.add = Save Schematic...
schematics = Schematics
schematic.replace = A schematic by that name already exists. Replace it?
schematic.import = Import Schematic...
schematic.exportfile = Export File
schematic.importfile = Import File
schematic.browseworkshop = Browse Workshop
schematic.copy = Copy to Clipboard
schematic.copy.import = Import from Clipboard
schematic.shareworkshop = Share on Workshop
schematic = 設計図
schematic.add = 設計図を保存しています...
schematics = 設計図一覧
schematic.replace = 同じ名前の設計図があるようです。 上書きしますか?
schematic.import = 設計図を読み込んでいます...
schematic.exportfile = ファイルに出力する
schematic.importfile = ファイルから読み込む
schematic.browseworkshop = ワークショップを表示する
schematic.copy = クリップボードにコピーする
schematic.copy.import = クリップボードから読み込む
schematic.shareworkshop = ワークショップで共有する
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Flip Schematic
schematic.saved = Schematic saved.
schematic.delete.confirm = This schematic will be utterly eradicated.
schematic.rename = Rename Schematic
schematic.info = {0}x{1}, {2} blocks
schematic.saved = 設計図を保存しました。
schematic.delete.confirm = この設計図は完全に削除されます。よろしいですか
schematic.rename = 設計図の名前を変更する。
schematic.info = {0}x{1}, {2} ブロック
stat.wave = 防衛したウェーブ:[accent] {0}
stat.enemiesDestroyed = 敵による破壊数:[accent] {0}
stat.built = 建設した建造物数:[accent] {0}
@@ -64,7 +64,7 @@ customgame = カスタムプレイ
newgame = 新しく始める
none = <なし>
minimap = ミニマップ
position = Position
position = 位置
close = 閉じる
website = ウェブサイト
quit = 終了
@@ -80,25 +80,25 @@ uploadingcontent = コンテンツをアップロードしています
uploadingpreviewfile = プレビューファイルをアップロードしています
committingchanges = 変更を適応中
done = 完了
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Mods機能は実験的なものです。[scarlet] エラーが含まれている可能性があります[]。\n 発見した問題をMindustry Githubに報告してください。
feature.unsupported = あなたのデバイスはこの機能をサポートしていません。
mods.alphainfo = Mods機能は実験的なものです。[scarlet] エラーが含まれている可能性があります[]。\n 発見した問題をMindustry GitHubに報告してください。
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]Modが見つかりませんでした!
mods.guide = Modding Guide
mods.report = Report Bug
mods.openfolder = Open Mod Folder
mods.report = バグを報告する
mods.openfolder = MODのフォルダを開く
mod.enabled = [lightgray]有効
mod.disabled = [scarlet]無効
mod.disable = 無効化
mod.delete.error = Unable to delete mod. File may be in use.
mod.delete.error = MODを削除することができませんでした。
mod.missingdependencies = [scarlet]Missing dependencies: {0}
mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
mod.enable = 有効化
mod.requiresrestart = このModをインストールするためにはゲームの再起動が必要です。
mod.reloadrequired = [scarlet]Modを有効にするには、この画面を開き直してください。
mod.import = Modをインポート
mod.import.github = Import Github Mod
mod.import.github = GitHubからMODを読み込む
mod.remove.confirm = このModを削除します。
mod.author = [LIGHT_GRAY]著者:[] {0}
mod.missing = このセーブには、アップグレードされた可能性があるModsか、ここに存在しないModsが必要です。 メモリのセーブを保存する! ロードしてもよろしいですか?\n[lightgray]MODS:\n{0}
@@ -166,7 +166,7 @@ server.version = [lightgray]バージョン: {0} {1}
server.custombuild = [yellow]カスタムビルド
confirmban = このプレイヤーをBanしてもよろしいですか?
confirmkick = このプレイヤーをキックしてもよろしいですか?
confirmvotekick = Are you sure you want to vote-kick this player?
confirmvotekick = このプレイヤーを投票キックしてもよろしいですか?
confirmunban = このプレイヤーのBanを解除してもよろしいですか?
confirmadmin = このプレイヤーを管理者にしてもよろしいですか?
confirmunadmin = このプレイヤーを管理者から削除してもよろしいですか?
@@ -202,7 +202,7 @@ save.rename = 名前を変更
save.rename.text = 新しい名前:
selectslot = セーブデータを選択してください。
slot = [accent]スロット {0}
editmessage = Edit Message
editmessage = メッセージを編集する
save.corrupted = [accent]セーブファイルが無効、または破損しました!\nゲームのアップデート直後の場合、恐らくセーブデータのフォーマットの変更によるもので、バグではありません。
empty = <空>
on = オン
@@ -237,10 +237,10 @@ quit.confirm.tutorial = チュートリアルを終了しますか?\nチュー
loading = [accent]読み込み中...
reloading = [accent]Reloading Mods...
saving = [accent]保存中...
cancelbuilding = [accent][[{0}][] to clear plan
selectschematic = [accent][[{0}][] to select+copy
pausebuilding = [accent][[{0}][] to pause building
resumebuilding = [scarlet][[{0}][] to resume building
cancelbuilding = [accent][[{0}][] 選択を解除する
selectschematic = [accent][[{0}][] 選択し、コピーする
pausebuilding = [accent][[{0}][] 建築を一時的に中断する
resumebuilding = [scarlet][[{0}][] 建築を再開する
wave = [accent]ウェーブ {0}
wave.waiting = [lightgray]次のウェーブまで {0} 秒
wave.waveInProgress = [lightgray]ウェーブ進行中
@@ -424,8 +424,8 @@ launch.confirm = すべての資源をコアに搬入し、発射します。\n
launch.skip.confirm = スキップすると、次の発射可能なウェーブまで発射できません。
uncover = 開放
configure = 積み荷の設定
bannedblocks = Banned Blocks
addall = Add All
bannedblocks = 禁止ブロック
addall = すべて追加
configure.locked = [lightgray]ウェーブ {0} を達成すると積み荷を設定できるようになります。
configure.invalid = 値は 0 から {0} の間でなければなりません。
zone.unlocked = [lightgray]{0} がアンロックされました.
@@ -509,7 +509,7 @@ blocks.shootrange = 範囲
blocks.size = 大きさ
blocks.liquidcapacity = 液体容量
blocks.powerrange = 電力範囲
blocks.powerconnections = Max Connections
blocks.powerconnections = 最大接続数
blocks.poweruse = 電力使用量
blocks.powerdamage = 電力/ダメージ
blocks.itemcapacity = アイテム容量
@@ -531,10 +531,10 @@ blocks.reload = ショット/秒
blocks.ammo = 弾薬
bar.drilltierreq = より良いドリルが必要です
bar.drillspeed = 採掘速度: {0}/秒
bar.pumpspeed = Pump Speed: {0}/s
bar.pumpspeed = ポンプの速度: {0}/s
bar.efficiency = 効率: {0}%
bar.powerbalance = 電力: {0}/秒
bar.powerstored = Stored: {0}/{1}
bar.powerstored = 残量: {0}/{1}
bar.poweramount = 電力: {0}
bar.poweroutput = 電力発電量: {0}
bar.items = アイテム: {0}
@@ -578,7 +578,7 @@ setting.landscape.name = 横画面で固定
setting.shadows.name =
setting.blockreplace.name = Automatic Block Suggestions
setting.linear.name = リニアフィルター
setting.hints.name = Hints
setting.hints.name = ヒント
setting.animatedwater.name = 水のアニメーション
setting.animatedshields.name = シールドのアニメーション
setting.antialias.name = アンチエイリアス[lightgray] (再起動が必要)[]
@@ -599,7 +599,7 @@ setting.difficulty.insane = クレイジー
setting.difficulty.name = 難易度:
setting.screenshake.name = 画面の揺れ
setting.effects.name = 画面効果
setting.destroyedblocks.name = Display Destroyed Blocks
setting.destroyedblocks.name = 破壊されたブロックを表示
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
setting.sensitivity.name = 操作感度
setting.saveinterval.name = 自動保存間隔
@@ -610,7 +610,7 @@ setting.fps.name = FPSを表示
setting.vsync.name = VSync
setting.pixelate.name = ピクセル化[lightgray] (アニメーションが無効化されます)
setting.minimap.name = ミニマップを表示
setting.position.name = Show Player Position
setting.position.name = プレイヤーの位置表示
setting.musicvol.name = 音楽 音量
setting.ambientvol.name = 環境音 音量
setting.mutemusic.name = 音楽をミュート
@@ -620,7 +620,7 @@ setting.crashreport.name = 匿名でクラッシュレポートを送信する
setting.savecreate.name = 自動保存
setting.publichost.name = 誰でもゲームに参加できるようにする
setting.chatopacity.name = チャットの透明度
setting.lasersopacity.name = Power Laser Opacity
setting.lasersopacity.name = レーザーの透明度
setting.playerchat.name = ゲーム内にチャットを表示
public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility.
public.beta = Note that beta versions of the game cannot make public lobbies.
@@ -843,8 +843,8 @@ block.copper-wall.name = 銅の壁
block.copper-wall-large.name = 巨大な銅の壁
block.titanium-wall.name = チタンの壁
block.titanium-wall-large.name = 巨大なチタンの壁
block.plastanium-wall.name = Plastanium Wall
block.plastanium-wall-large.name = Large Plastanium Wall
block.plastanium-wall.name = プラスタニウムの壁
block.plastanium-wall-large.name = 巨大なプラスタニウムの壁
block.phase-wall.name = フェーズファイバーの壁
block.phase-wall-large.name = 巨大なフェーズファイバーの壁
block.thorium-wall.name = トリウムの壁
@@ -864,8 +864,8 @@ block.junction.name = ジャンクション
block.router.name = ルーター
block.distributor.name = ディストリビューター
block.sorter.name = ソーター
block.inverted-sorter.name = Inverted Sorter
block.message.name = Message
block.inverted-sorter.name = 反転ソーター
block.message.name = メッセージブロック
block.overflow-gate.name = オーバーフローゲート
block.silicon-smelter.name = シリコン溶鉱炉
block.phase-weaver.name = フェーズ織機
@@ -1088,7 +1088,7 @@ block.junction.description = 十字に交差したコンベアーをそれぞれ
block.bridge-conveyor.description = 高度な輸送ブロックです。地形や建物を超えて、3ブロック離れた場所にアイテムを輸送することができます。
block.phase-conveyor.description = 改良されたアイテム転送ブロックです。電力を使用して、離れた場所にあるフェーズコンベアーにアイテムを転送することができます。
block.sorter.description = アイテムを分別して搬出します。設定したアイテムは通過させます。他のアイテムが搬入されると側面にアイテムを搬出します。
block.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead.
block.inverted-sorter.description = アイテムを分別して搬出します。設定したアイテムは側面に搬出されます。他のアイテムが搬入されるとアイテムを通過させます。通常のルーターと反対の動作をします。
block.router.description = 搬入したアイテムをほかの3方向に均等に搬出します。一つの資源から複数に分ける際などに使われます。
block.distributor.description = 高度なルーターです。搬入したアイテムをほかの7方向に均等に分けて搬出します。
block.overflow-gate.description = 搬出先にアイテムを搬入する空きがない場合に左右にアイテムを搬出します。

View File

@@ -10,6 +10,7 @@ link.dev-builds.description = 불안정한 개발 빌드들
link.trello.description = 다음 출시될 기능들을 게시한 공식 Trello 보드
link.itch.io.description = PC 버전 다운로드와 HTML5 버전이 있는 itch.io 사이트
link.google-play.description = Google Play 스토어 정보
link.f-droid.description = F-Droid 카탈로그
link.wiki.description = 공식 Mindustry 위키
linkfail = 링크를 여는 데 실패했습니다!\nURL이 기기의 클립보드에 복사되었습니다.
screenshot = 스크린샷이 {0} 경로에 저장되었습니다.
@@ -18,12 +19,14 @@ gameover = 게임 오버
gameover.pvp = [accent]{0}[] 팀이 승리했습니다!
highscore = [accent]최고점수 달성!
copied = 복사됨.
load.sound = 소리
load.map =
load.image = 사진
load.content = 컨텐츠
load.system = 시스템
load.mod = 모드
schematic = 설계도
schematic.add = 설계도 저장하기
schematics = 설계도 모음
@@ -40,6 +43,7 @@ schematic.saved = 설계도 저장됨.
schematic.delete.confirm = 삭제된 설계도는 복구할 수 없습니다. 정말로 삭제하시겠습니까?
schematic.rename = 설계도명 변경
schematic.info = 크기 : {0}x{1}, 블럭 수 : {2}
stat.wave = 버틴 단계 수 : [accent]{0}
stat.enemiesDestroyed = 파괴한 적 수 : [accent]{0}
stat.built = 건설한 건물 수 : [accent]{0}
@@ -47,6 +51,7 @@ stat.destroyed = 파괴된 건물 수 : [accent]{0}
stat.deconstructed = 파괴한 건물 수 : [accent]{0}
stat.delivered = 획득한 자원 :
stat.rank = 최종 점수 : [accent]{0}
launcheditems = [accent]창고
launchinfo = [출격되지 않음][[출격]파랑색으로 표시된 자원들을 획득합니다.
map.delete = 정말로 "[accent]{0}[]" 맵을 삭제하시겠습니까?
@@ -74,6 +79,7 @@ maps.browse = 맵 검색
continue = 계속하기
maps.none = [LIGHT_GRAY]맵을 찾을 수 없습니다!
invalid = 오류
pickcolor =
preparingconfig = 설정 사전준비
preparingcontent = 컨텐츠 사전준비
uploadingcontent = 컨텐츠 업로드
@@ -81,13 +87,14 @@ uploadingpreviewfile = 미리보기 파일 업로드
committingchanges = 바뀐 점 적용
done = 완료
feature.unsupported = 당신의 기기는 이 기능을 지원하지 않습니다.
mods.alphainfo = 현재의 모드는 첫 번째 시도이며, 그리고[scarlet] 버그가 매우 많음을 명심하십시오[].\n만약 버그를 발견할경우 Mindustry 깃허브 또는 디스코드로 제보해주세요.
mods.alpha = [scarlet](Alpha)
mods = 모드
mods.none = [LIGHT_GRAY]추가한 모드가 없습니다!
mods.guide = 모드 가이드
mods.report = 버그 신고
mods.openfolder = Open Mod Folder
mods.openfolder = 모드 폴더 열기
mod.enabled = [firebrick]활성화
mod.disabled = [lightgray]비활성화
mod.disable = 비활성화
@@ -104,6 +111,7 @@ mod.author = [LIGHT_GRAY]제작자 : [] {0}
mod.missing = 이 세이브파일에는 설치하지 않은 모드 혹은 이 버전에 속해있지 않은 데이터가 포함되어 있습니다. 이 파일을 불러올 경우 세이브파일의 데이터가 손상될 수 있습니다. 정말로 이 파일을 불러오시겠습니까?\n[lightgray]모드 :\n{0}
mod.preview.missing = 워크샵에 당신의 모드를 업로드하기 전에 미리보기 이미지를 먼저 추가해야합니다.\n[accent] preview.png[]라는 이름으로 미리보기 이미지를 당신의 모드 폴더안에 준비한 후 다시 시도해주세요.
mod.folder.missing = 워크샵에는 폴더 형태의 모드만 게시할 수 있습니다.\n모드를 폴더 형태로 바꾸려면 파일을 폴더에 압축 해제하고 이전 압축파일을 제거한 후, 게임을 재시작하거나 모드를 다시 로드하십시오.
about.button = 정보
name = 이름 :
noname = 먼저 [accent] [] 을 설정하세요.
@@ -148,7 +156,7 @@ hosts.none = [lightgray]LAN 게임을 찾을 수 없습니다!
host.invalid = [scarlet]서버에 연결할 수 없습니다!
trace = 플레이어 정보 보기
trace.playername = 닉네임 : [accent]{0}
trace.ip = IP : [accent]{0}{0}
trace.ip = IP : [accent]{0}
trace.id = UUID : [accent]{0}
trace.mobile = 모바일 접속 유무 : [accent]{0}
trace.modclient = 수정된 클라이언트 : [accent]{0}
@@ -173,7 +181,7 @@ confirmunadmin = 이 플레이어를 일반 유저로 만들겠습니까?
joingame.title = 게임 참가
joingame.ip = 주소 :
disconnect = 서버와 연결이 해제되었습니다.
disconnect.error = 연결 .
disconnect.error = 연결 오류.
disconnect.closed = 연결이 끊어졌습니다..
disconnect.timeout = 연결 시간 한계 도달..
disconnect.data = 월드 데이터 로딩 실패..
@@ -183,7 +191,7 @@ connecting.data = [accent]월드 데이터 로딩중...
server.port = 포트 :
server.addressinuse = 주소가 이미 사용중입니다!
server.invalidport = 포트가 올바르지 않습니다!
server.error = [accent]{0}[crimson]서버를 여는 데 오류가 발생했습니다.
server.error = [crimson]서버를 여는 데 오류가 발생했습니다.
save.new = 새로 저장
save.overwrite = 이 저장 슬롯을 덮어씌우겠습니까?
overwrite = 덮어쓰기
@@ -271,6 +279,7 @@ publishing = [accent]업로드 중...
publish.confirm = 맵을 업로드 하시겠습니까?\n\n[lightgray]먼저 워크샵 EULA에 동의하시지 않으면 맵이 표시되지 않습니다!
publish.error = 맵 업로드 오류 : {0}
steam.error = 스팀 서비스를 초기화하는데 실패했습니다.\n에러 코드 : {0}
editor.brush = 브러쉬
editor.openin = 편집기 열기
editor.oregen = 광물 무작위 생성
@@ -308,8 +317,8 @@ editor.name = 이름 :
editor.spawn = 유닛 생성
editor.removeunit = 유닛 삭제
editor.teams =
editor.errorload = [accent]{0} 파일을 불러오는 데 실패했습니다.
editor.errorsave = [accent]{0} 파일을 저장하는 데 실패했습니다.
editor.errorload = 파일을 불러오지 습니다.
editor.errorsave = 파일을 저장하지 못했습니다.
editor.errorimage = 이것은 맵이 아니라 사진입니다.\n\n예전 맵을 가져오려면 편집기의 '예전 맵 가져오기' 버튼을 사용하세요.
editor.errorlegacy = 이 맵은 너무 오래되어, 더는 지원하지 않는 맵 형식을 사용합니다.
editor.errornot = 선택한 대상이 맵 파일이 아닙니다.
@@ -347,6 +356,7 @@ editor.overwrite = [accept]경고!이 명령은 기존 맵을 덮어씌우게
editor.overwrite.confirm = [scarlet]경고![] 이 이름을 가진 맵이 이미 있습니다. 덮어 쓰시겠습니까?
editor.exists = 같은 이름의 맵이 이미 존재합니다.
editor.selectmap = 불러올 맵 선택 :
toolmode.replace = 재배치
toolmode.replace.description = 블록을 배치합니다.
toolmode.replaceall = 모두 재배치
@@ -361,6 +371,7 @@ toolmode.fillteams = 팀 채우기
toolmode.fillteams.description = 블록 대신 팀 건물로 채웁니다.
toolmode.drawteams = 팀 그리기
toolmode.drawteams.description = 블록 대신 팀 건물을 배치합니다.
filters.empty = [LIGHT_GRAY]필터가 없습니다!! 아래 버튼을 눌러 추가하세요.
filter.distort = 왜곡
filter.noise = 맵 전체에 타일 혹은 블럭 뿌리기
@@ -392,6 +403,7 @@ filter.option.floor2 = 2번째 바닥
filter.option.threshold2 = 2번째 한계점
filter.option.radius = 반경
filter.option.percentile = 백분위수
width = 넓이 :
height = 높이 :
menu = 메뉴
@@ -407,6 +419,7 @@ tutorial = 튜토리얼
tutorial.retake = 튜토리얼
editor = 편집기
mapeditor = 맵 편집기
abandon = 지역 포기
abandon.text = 이 구역의 모든 자원이 적에게 빼앗길 것입니다.
locked = 잠김
@@ -428,7 +441,7 @@ bannedblocks = 금지된 블럭들
addall = 모두 추가
configure.locked = [lightgray]{0}시 시작자원 설정이 해금됩니다.
configure.invalid = 해당 값은 0 과 {0} 사이여야 합니다.
zone.unlocked = [LIGHT_GRAY] 잠금 해제되었습니다!
zone.unlocked = [LIGHT_GRAY]지역 {0}이 잠금 해제되었습니다!
zone.requirement.complete = {0} 단계 달성 성공! \n{1} 지역 요구사항이 충족되었습니다!
zone.config.unlocked = 시작자원 설정 해금! : [lightgray]\n{0}
zone.resources = 감지된 자원 목록 :
@@ -437,6 +450,7 @@ zone.objective.survival = 생존
zone.objective.attack = 적 코어 파괴
add = 추가...
boss.health = 보스 체력
connectfail = [crimson]{0}[accent] 서버에 연결하지 못했습니다.[]
error.unreachable = 서버에 연결하지 못했습니다.\n서버 주소가 정확히 입력되었나요?
error.invalidaddress = 잘못된 주소입니다.
@@ -447,6 +461,7 @@ error.mapnotfound = 맵 파일을 찾을 수 없습니다!
error.io = 네트워크 I/O 오류.
error.any = 알 수 없는 네트워크 오류.
error.bloom = 블룸 그래픽 효과를 적용하지 못했습니다.\n당신의 기기가 이 기능을 지원하지 않는 것일 수도 있습니다.
zone.groundZero.name = 전초기지
zone.desertWastes.name = 쓰레기 사막
zone.craters.name = 크레이터
@@ -461,6 +476,7 @@ zone.saltFlats.name = 소금 사막
zone.impact0078.name = Impact 0078
zone.crags.name = 협곡
zone.fungalPass.name = 포자 지대
zone.groundZero.description = 이 장소는 다시 시작하기에 최적의 환경을 지닌 장소입니다. 적은 수준의 위협이 있으며 자원의 양은 적습니다.\n가능한 한 많은 양의 구리와 납을 수집하십시오.\n출격합시다!
zone.frozenForest.description = 이 지역도 산과 가까운 지역입니다 포자들이 흩뿌려져 있으며 극한의 추위도 포자를 막을 수 있을 것 같지 않습니다.\n화력 발전소를 짓고 전력을 확보하여 채광 드론을 사용하는 법을 배우십시오.
zone.desertWastes.description = 이 황무지는 끝을 알 수 없을 정도로 광활하고 십자가 형태의 버려진 구조물이 존재합니다.\n석탄이 존재하며 이를 화력발전에 쓰거나 흑연 정제에 쓰십시오.\n\n[lightgray]이 지역에서의 착륙장소는 확실하지 않습니다.
@@ -475,6 +491,7 @@ zone.nuclearComplex.description = 과거 토륨의 생산, 연구와 처리를
zone.fungalPass.description = 고산지대과 포자지대 사이의 지역입니다. 소규모의 적 정찰기지가 있으니 디거와 크롤러를 이용해 적의 코어를 파괴하십시오.
zone.impact0078.description = [ROYAL]죄송합니다. 아직 설명이 준비되지 않았습니다.
zone.crags.description = [ROYAL]죄송합니다. 아직 설명이 준비되지 않았습니다.
settings.language = 언어
settings.data = 게임 데이터
settings.reset = 설정 초기화
@@ -497,7 +514,7 @@ error.crashtitle = 오류가 발생했습니다.
blocks.input = 소모 자원
blocks.output = 출력 자원
blocks.booster = 가속
block.unknown = [LIGHT_GRAY]???
block.unknown = [LIGHT_GRAY]OHNO
blocks.powercapacity = 전력 용량
blocks.powershot = 1발당 전력 소모량
blocks.damage = 공격력
@@ -509,7 +526,7 @@ blocks.shootrange = 사거리
blocks.size = 크기
blocks.liquidcapacity = 액체 용량
blocks.powerrange = 전력 범위
blocks.powerconnections = Max Connections
blocks.powerconnections = 최대 연결 수
blocks.poweruse = 전력 사용
blocks.powerdamage = 전력/데미지
blocks.itemcapacity = 저장 용량
@@ -529,14 +546,15 @@ blocks.inaccuracy = 오차각
blocks.shots = 공격 속도
blocks.reload = 재장전
blocks.ammo = 탄약
bar.drilltierreq = 더 좋은 드릴이 요구됨
bar.drillspeed = 초당 {0}개 채굴중
bar.pumpspeed = Pump Speed: {0}/s
bar.drillspeed = 드릴 속도 : {0}개/s
bar.pumpspeed = 펌프 속도 : {0}/s
bar.efficiency = 활성화율 : {0}%
bar.powerbalance = 초당 {0} 발전중
bar.powerbalance = 전력 발전 : {0}/s
bar.powerstored = 총 전력 저장량 : {0}/{1}
bar.poweramount = 전력 저장량 : {0}
bar.poweroutput = 초당 {0} 발전중
bar.poweroutput = 전력 출력 : {0}
bar.items = 자원량 : {0}
bar.capacity = 저장공간 : {0}
bar.liquid = 액체
@@ -544,6 +562,9 @@ bar.heat = 발열
bar.power = 전력
bar.progress = 생산 진행도
bar.spawned = 최대 {1}기 중 {0}기 생산됨
bar.input = 입력
bar.output =
bullet.damage = [lightgray]피해량 : [stat]{0}[]
bullet.splashdamage = [lightgray]범위 피해량 : [stat]{0}[] / [lightgray]피해 범위 : [stat]{1}[lightgray] 타일
bullet.incendiary = [stat]방화
@@ -555,6 +576,7 @@ bullet.freezing = [stat]빙결
bullet.tarred = [stat]타르
bullet.multiplier = 추가 타격 횟수 : [stat]{0}[lightgray]
bullet.reload = 공격 속도 : [stat]{0}[lightgray]
unit.blocks = 블록
unit.powersecond = 전력/초
unit.liquidsecond = 액체/초
@@ -574,11 +596,12 @@ category.items = 아이템
category.crafting = 제작
category.shooting = 사격
category.optional = 보조 아이템
setting.landscape.name = 가로화면으로 고정
setting.landscape.name = 가로화면
setting.shadows.name = 그림자
setting.blockreplace.name = 블럭 제안 자동화
setting.linear.name = 선형 필터링
setting.hints.name = 힌트 활성화
setting.buildautopause.name = 건설 자동 일시정지
setting.animatedwater.name = 움직이는 물
setting.animatedshields.name = 움직이는 보호막
setting.antialias.name = 안티 에일리어싱[LIGHT_GRAY] (재시작 필요)[]
@@ -599,14 +622,17 @@ setting.difficulty.insane = 미침
setting.difficulty.name = 난이도 :
setting.screenshake.name = 화면 흔들기
setting.effects.name = 화면 효과
setting.destroyedblocks.name = Display Destroyed Blocks
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
setting.destroyedblocks.name = 부서진 블럭 표시
setting.conveyorpathfinding.name = 컨베이어 설치 보조 기능
setting.sensitivity.name = 컨트롤러 감도
setting.saveinterval.name = 저장 간격
setting.seconds =
setting.seconds = {0}
setting.blockselecttimeout.name = 블록 선택 시간 초과
setting.milliseconds = {0} 밀리초
setting.fullscreen.name = 전체 화면
setting.borderlesswindow.name = 테두리 없는 창모드[LIGHT_GRAY] (재시작이 필요할 수 있습니다)
setting.fps.name = FPS 표시
setting.blockselectkeys.name = 블럭 선택 키
setting.vsync.name = VSync 활성화
setting.pixelate.name = 픽셀화[LIGHT_GRAY] (게임에 렉이 심할 경우 이 옵션을 켜주세요.)
setting.minimap.name = 미니맵 보기
@@ -635,16 +661,35 @@ category.multiplayer.name = 멀티플레이
command.attack = 공격
command.rally = 순찰
command.retreat = 후퇴
placement.blockselectkeys = \n[lightgray]키: [{0},
keybind.clear_building.name = 설계도 초기화
keybind.press = 키를 누르세요...
keybind.press.axis = 마우스 휠 또는 키를 누르세요...
keybind.screenshot.name = 맵 스크린샷
keybind.move_x.name = 오른쪽/왼쪽 이동
keybind.move_y.name = 위 / 아래 중간
keybind.toggle_power_lines.name = 전력 라인 허용
keybind.move_x.name = 오른쪽 / 왼쪽 이동
keybind.move_y.name = 위 / 아래 이동
keybind.mouse_move.name = 커서를 따라서 이동
keybind.schematic_select.name = 영역 설정
keybind.schematic_menu.name = 설계도 메뉴
keybind.schematic_flip_x.name = 설계도 X축 뒤집기
keybind.schematic_flip_y.name = 설계도 Y축 뒤집기
keybind.category_prev.name = 이전 목록
keybind.category_next.name = 다음 목록
keybind.block_select_left.name = 블럭 Select Left
keybind.block_select_right.name = 블럭 Select Right
keybind.block_select_up.name = 블럭 Select Up
keybind.block_select_down.name = 블럭 Select Down
keybind.block_select_01.name = 카테고리/블럭 선택 1
keybind.block_select_02.name = 카테고리/블럭 선택 2
keybind.block_select_03.name = 카테고리/블럭 선택 3
keybind.block_select_04.name = 카테고리/블럭 선택 4
keybind.block_select_05.name = 카테고리/블럭 선택 5
keybind.block_select_06.name = 카테고리/블럭 선택 6
keybind.block_select_07.name = 카테고리/블럭 선택 7
keybind.block_select_08.name = 카테고리/블럭 선택 8
keybind.block_select_09.name = 카테고리/블럭 선택 9
keybind.block_select_10.name = 카테고리/블럭 선택 10
keybind.fullscreen.name = 전체 화면
keybind.select.name = 선택/공격
keybind.diagonal_placement.name = 대각선 설치
@@ -681,9 +726,11 @@ mode.pvp.description = 실제 플레이어와 PvP를 합니다. 맵에 적어도
mode.attack.name = 공격
mode.attack.description = 적 기지를 파괴하세요. 맵에 빨간팀 코어가 있어야 플레이 가능합니다.
mode.custom = 사용자 정의 규칙
rules.infiniteresources = 무한 자원
rules.wavetimer = 단계
rules.waves = 단계
rules.reactorexplosions = 원자로 폭발 허가여부
rules.wavetimer = 단계 대기시간
rules.waves = 단계 활성화
rules.attack = 공격 모드
rules.enemyCheat = 무한한 적 자원
rules.unitdrops = 유닛 처치시 자원 약탈
@@ -692,13 +739,13 @@ rules.unithealthmultiplier = 유닛 체력 배수
rules.playerhealthmultiplier = 플레이어 체력 배수
rules.playerdamagemultiplier = 플레이어 공격력 배수
rules.unitdamagemultiplier = 유닛 공격력 배수
rules.enemycorebuildradius = 적 코어 건설 금지구역:[LIGHT_GRAY] (타일)
rules.respawntime = 플레이어 부활 대기 시간:[LIGHT_GRAY] (초)
rules.enemycorebuildradius = 적 코어 건설 금지구역 범위 : [LIGHT_GRAY] (타일)
rules.respawntime = 플레이어 부활 대기 시간 : [LIGHT_GRAY] (초)
rules.wavespacing = 단계 간격 : [LIGHT_GRAY] (초)
rules.buildcostmultiplier = 건설 소모 배수
rules.buildspeedmultiplier = 건설 속도 배수
rules.waitForWaveToEnd = 단계가 끝날때까지 기다리는중
rules.dropzoneradius = 소환 구역 반경 : [LIGHT_GRAY] (타일)
rules.dropzoneradius = 소환 충격파 범위 : [LIGHT_GRAY] (타일)
rules.respawns = 단계당 최대 플레이어 부활 횟수
rules.limitedRespawns = 플레이어 부활 제한
rules.title.waves = 단계
@@ -707,6 +754,10 @@ rules.title.resourcesbuilding = 자원 & 건축
rules.title.player = 플레이어들
rules.title.enemy =
rules.title.unit = 유닛
rules.title.experimental = 실험적인 기능
rules.lighting = 전장의 안개 활성화
rules.ambientlight = 안개 색
content.item.name = 아이템
content.liquid.name = 액체
content.unit.name = 유닛
@@ -721,7 +772,7 @@ item.thorium.name = 토륨
item.silicon.name = 실리콘
item.plastanium.name = 플라스터늄
item.phase-fabric.name = 메타
item.surge-alloy.name = 서지 합
item.surge-alloy.name =
item.spore-pod.name = 포자 포드
item.sand.name = 모래
item.blast-compound.name = 폭발물
@@ -768,6 +819,7 @@ mech.buildspeed = [LIGHT_GRAY]건설 속도 : {0}%
liquid.heatcapacity = [LIGHT_GRAY]발열 용량 : {0}
liquid.viscosity = [LIGHT_GRAY]점도 : {0}
liquid.temperature = [LIGHT_GRAY]온도 : {0}
block.sand-boulder.name = 사암
block.grass.name = 잔디
block.salt.name = 소금
@@ -866,6 +918,8 @@ block.distributor.name = 대형 분배기
block.sorter.name = 필터
block.inverted-sorter.name = 반전 필터
block.message.name = 메모 블럭
block.illuminator.name = 조명
block.illuminator.description = 작고, 간단한 조명입니다. 색을 변경할 수 있으며 가동하기 위해서 전력이 필요합니다.
block.overflow-gate.name = 포화 필터
block.silicon-smelter.name = 실리콘 제련소
block.phase-weaver.name = 메타 합성기
@@ -879,6 +933,7 @@ block.coal-centrifuge.name = 석탄 원심분리기
block.power-node.name = 전력 노드
block.power-node-large.name = 대형 전력 노드
block.surge-tower.name = 설금 타워
block.diode.name = 배터리 다이오드
block.battery.name = 배터리
block.battery-large.name = 대형 배터리
block.combustion-generator.name = 화력 발전기
@@ -893,8 +948,8 @@ block.cultivator.name = 온실
block.dart-mech-pad.name = 알파 기체 패드
block.delta-mech-pad.name = 델타 기체 패드
block.javelin-ship-pad.name = 재블린 비행선 패드
block.trident-ship-pad.name = 삼지창 비행선 패드
block.glaive-ship-pad.name = 글레브 비행선 패드
block.trident-ship-pad.name = 트라이던트 폭격기 패드
block.glaive-ship-pad.name = 글레전투기 패드
block.omega-mech-pad.name = 오메가 기체 패드
block.tau-mech-pad.name = 타우 기체 패드
block.conduit.name = 파이프
@@ -930,7 +985,8 @@ block.titan-factory.name = 타이탄 공장
block.fortress-factory.name = 포트리스 공장
block.revenant-factory.name = 망령 전함 공장
block.repair-point.name = 수리 지점
block.pulse-conduit.name = 퓨즈 파이프
block.pulse-conduit.name = 펄스 파이프
block.plated-conduit.name = 도금된
block.phase-conduit.name = 메타 파이프
block.liquid-router.name = 액체 분배기
block.liquid-tank.name = 물탱크
@@ -957,8 +1013,8 @@ block.rtg-generator.name = RTG 발전기
block.spectre.name = 스펙터
block.meltdown.name = 멜트다운
block.container.name = 컨테이너
block.launch-pad.name = 발사대
block.launch-pad-large.name = 출격 패드
block.launch-pad.name = 자원 출격 패드
block.launch-pad-large.name = 대형 자원 출격 패드
team.blue.name = 파랑색 팀
team.crux.name = 빨강색 팀
team.sharded.name = 주황색 팀
@@ -976,10 +1032,10 @@ unit.ghoul.name = 구울 폭격기
unit.wraith.name = 유령 전투기
unit.fortress.name = 포트리스
unit.revenant.name = 망령 전함
unit.eruptor.name = 럽터
unit.chaos-array.name = 혼돈
unit.eruptor.name = 이럽터
unit.chaos-array.name = 혼돈 군
unit.eradicator.name = 파괴자
unit.lich.name = 사자왕
unit.lich.name = 시체 군주
unit.reaper.name = 사신
tutorial.next = [lightgray]< 이 곳을 터치해 진행하세요. >
tutorial.intro = [scarlet]Mindustry 튜토리얼[]을 시작하겠습니다.\n [WASD] 키를 눌러 이동할 수 있습니다.\n[accent]Ctrl 키를 누르고 마우스 휠을 돌려 확대 또는 축소가 가능합니다.\n[accent]주황색의 광맥[]을 눌러 [accent]구리[]를 채광하세요.\n구리를 채광한 후에는 코어 근처로 이동한 뒤, 당신의 기체에서 코어로 드래그해 구리를 코어에 넣으세요. 코어 근처에서 채광하면 자동으로 옮겨집니다.\n\n임무 : 구리 채광({0}/{1})
@@ -1002,6 +1058,7 @@ tutorial.deposit = 자원을 다시 블록에 넣을 수도 있습니다.\n\n[ac
tutorial.waves = [LIGHT_GRAY]적[]이 접근합니다.\n당신의 기체는 적을 클릭하여 공격할 수 있습니다. 또한, 구리를 더 캐내고 포탑을 더 지어서 방어를 강화하세요.\n\n[accent]2단계 동안 코어를 보호하세요.[]
tutorial.waves.mobile = [LIGHT_GRAY]적[]이 접근합니다.\n당신의 기체는 적을 자동조준하지만, 원하는 적을 클릭하여 공격하고 싶은 대상을 바꿀 수 있습니다.\n구리를 더 캐내고 포탑을 더 지어서 방어를 강화하세요.\n\n[accent]2단계동안 코어를 방어하세요.[]
tutorial.launch = 특정 단계에 도달하면 [accent]출격[]이 가능합니다.\n[accent]출격[]을 하게되면 해당 지역의 코어에 들어있는 자원들을 캠페인의 자원 창고로 보내지만, 해당 지역의 [accent]모든 것들[]은 날라가게 되니 주의하세요.
item.copper.description = 모든 종류의 블록에서 광범위하게 사용되는 자원입니다.
item.lead.description = 쉽게 구할 수 있으며, 전자 및 액체 수송 블록에서 광범위하게 사용되는 자원입니다.
item.metaglass.description = 초강력 유리 화합물. 액체 분배 및 저장에 광범위하게 사용됩니다.\n\n[royal]액체를 활용하기 위한 필수품입니다.
@@ -1088,7 +1145,7 @@ block.junction.description = 2개의 컨베이어 벨트를 교차시키는 다
block.bridge-conveyor.description = 자원 수송 블록.\n지형이나 건물을 넘어 최대 3개 타일을 건너뛰고 자원을 운송할 수 있습니다.
block.phase-conveyor.description = 고급 자원 수송 블록.\n지형이나 건물을 넘어 최대 11개 타일을 건너뛰고 자원을 운송할 수 있습니다. 전기를 사용하고, 기본 터널 컨베이어보다 빠릅니다.
block.sorter.description = 자원을 넣어서 필터에 설정된 자원일 경우 바로 앞으로 통과하며, 그렇지 않을 경우 옆으로 이동시킵니다.
block.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead.
block.inverted-sorter.description = 필터와 비슷하지만, 대신에 반전 필터는 설정된 자원을 필터의 양 옆으로 보냅니다.
block.router.description = 한 방향에서 자원을 넣을 시 최대 3개의 다른 방향으로 균등하게 내보냅니다. 자원을 한 곳에서 여러 방향으로 분배하는 데 유용합니다.
block.distributor.description = 자원을 최대 7개의 다른 방향으로 균등하게 분베하는 고급 분배기.
block.overflow-gate.description = 평소에는 자원의 들어온 방향으로 자원을 통과시키지만, 정면이 자원으로 꽉 차거나 다른 사유로 막힐 시 옆으로 자원을 내보냅니다.
@@ -1098,6 +1155,7 @@ block.rotary-pump.description = 전기를 사용해 빠른 속도로 액체를
block.thermal-pump.description = 가장 강력한 펌프.
block.conduit.description = 기본 파이프\n액체를 배치된 방향으로 느리게 운송합니다.
block.pulse-conduit.description = 고급 파이프\n기본 파이프보다 액체 운송 속도가 빠릅니다.
block.plated-conduit.description = 펄스 파이프와 같은 속도로 액체를 운송시키지만, 체력이 더 많습니다. 양 옆으로는 파이프 의외의 대상에서 액체를 받지 않습니다. \n파이프 끝 부분이 블럭에 연결되지 않고 노출되었을 때 누수되는 액체의 양이 더 적습니다.
block.liquid-router.description = 액체를 다른 방향으로 분배할 수 있게 하는 블럭입니다.
block.liquid-tank.description = 액체를 저장할 수 있는 물탱크 입니다.
block.liquid-junction.description = 교차기와 같은 기능을 하나 자원 대신에 액체를 교차시킵니다.
@@ -1106,6 +1164,7 @@ block.phase-conduit.description = 고급 액체 수송블록\n전기를 사용
block.power-node.description = 전기을 연결된 대상과 연동시킵니다.\n최대 20개의 대상을 연결할 수 있습니다. 노드는 붙어있는 블록으로부터 전기가 연동됩니다.
block.power-node-large.description = 전기를 연결된 대상과 연동시킵니다.\n최대 30개의 대상을 연결시킬 수 있고, 범위도 더 넓습니다.
block.surge-tower.description = 전기를 연결된 대상과 연동시킵니다.\n2개의 대상만 연결시킬 수 있지만 대신에 범위가 매우 넓습니다.
block.diode.description = 이 블럭을 배터리와 배터리 사이에 놓아 연결할경우 전력은 화살표 방향으로만 이동할 수 있습니다. 화살표의 뒤에 있는 배터리의 전력량이 앞에 있는 배터리보다 많을 경우에만 이동시킵니다.
block.battery.description = 전력 생산량에 여유가 있을경우, 생산된 잉여 전력을 여기에 저장합니다.\n\n[ROYAL]이것을 이용해 한순간에 많은 전력을 사용하는 포탑들을 보조가능합니다.
block.battery-large.description = 일반 배터리보다 훨씬 많은 량의 전력을 저장합니다.\n\n[ROYAL]배터리 9개를 설치하는 것보다 효율이 좋습니다.
block.combustion-generator.description = 인화성 물질을 태워 소량의 전력을 생산합니다.

View File

@@ -81,7 +81,7 @@ uploadingpreviewfile = Uploading Preview File
committingchanges = Comitting Changes
done = Done
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry Github or Discord.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]No mods found!
@@ -98,7 +98,7 @@ mod.enable = Enable
mod.requiresrestart = The game will now close to apply the mod changes.
mod.reloadrequired = [scarlet]Reload Required
mod.import = Import Mod
mod.import.github = Import Github Mod
mod.import.github = Import GitHub Mod
mod.remove.confirm = This mod will be deleted.
mod.author = [LIGHT_GRAY]Author:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}

View File

@@ -17,29 +17,29 @@ screenshot.invalid = Kaart te groot, mogelijks te weinig geheugen voor een scree
gameover = Game Over
gameover.pvp = Het[accent] {0}[] team heeft gewonnen!
highscore = [accent]Nieuw record!
copied = Copied.
load.sound = Sounds
load.map = Maps
copied = Gekopieerd.
load.sound = Geluiden
load.map = Kaarten
load.image = Images
load.content = Content
load.system = System
load.mod = Mods
schematic = Schematic
schematic.add = Save Schematic...
schematics = Schematics
schematic.replace = A schematic by that name already exists. Replace it?
schematic.import = Import Schematic...
schematic.exportfile = Export File
schematic.importfile = Import File
schematic = Blauwdruk
schematic.add = Blauwdruk Opslaan...
schematics = Blauwdrukken
schematic.replace = Er bestaat al een blaudruk met deze naam. Vervangen?
schematic.import = Importeer Blauwdruk...
schematic.exportfile = Exporteer Bestand
schematic.importfile = Exporteer Bestand
schematic.browseworkshop = Browse Workshop
schematic.copy = Copy to Clipboard
schematic.copy.import = Import from Clipboard
schematic.shareworkshop = Share on Workshop
schematic.copy = Kopieer naar Klembord
schematic.copy.import = Importeer vanaf Klembord
schematic.shareworkshop = Deel op Workshop
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Flip Schematic
schematic.saved = Schematic saved.
schematic.saved = Blauwdruk opgeslagen.
schematic.delete.confirm = This schematic will be utterly eradicated.
schematic.rename = Rename Schematic
schematic.info = {0}x{1}, {2} blocks
schematic.rename = Blauwdruk Hernoemen
schematic.info = {0}x{1}, {2} blokken
stat.wave = Je overleefde tot aanvalsgolf: [accent]{0}[].
stat.enemiesDestroyed = Vijanden vernietigd:[accent] {0}
stat.built = Gebouwen gebouwd:[accent] {0}
@@ -48,7 +48,7 @@ stat.deconstructed = Gebouwen afgebroken:[accent] {0}
stat.delivered = Gronstoffen meegenomen:
stat.rank = Eindresultaat: [accent]{0}
launcheditems = [accent]Meegenomen grondstoffen
launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue.
launchinfo = [unlaunched][[LAUNCH] je kern om de met blauw aangeduide voorwerpen te verkrijgen.
map.delete = Ben je zeker dat je de kaart "[accent]{0}[]" wilt verwijderen?
level.highscore = Beste score: [accent]{0}
level.select = Selecteer level
@@ -57,14 +57,14 @@ showagain = Toon dit volgende keer niet meer.
coreattack = < Kern wordt aangevallen! >
nearpoint = [[ [scarlet]VERLAAT dit gebied onmiddelijk[] ]\nDirecte vernietiging...
database = Kern Database
savegame = opslaan
loadgame = openen
savegame = Opslaan
loadgame = Openen
joingame = Multiplayer
customgame = Aangepaste versie
newgame = Nieuw spel
none = <geen>
minimap = Kaartje
position = Position
position = Positie
close = Sluit
website = Website
quit = Verlaat
@@ -74,40 +74,40 @@ maps.browse = Browse Maps
continue = Ga verder
maps.none = [LIGHT_GRAY]Geen kaarten gevonden!
invalid = Invalid
preparingconfig = Preparing Config
preparingcontent = Preparing Content
uploadingcontent = Uploading Content
uploadingpreviewfile = Uploading Preview File
committingchanges = Comitting Changes
done = Done
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry Github or Discord.
preparingconfig = Config Voorbereiden
preparingcontent = Content Voorbereiden
uploadingcontent = Content Uploaden
uploadingpreviewfile = Voorbeeldbestand Uploaden
committingchanges = Veranderingen Toepassen
done = Klaar
feature.unsupported = Uw apparaat ondersteunt deze functie niet.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]No mods found!
mods.guide = Modding Guide
mods.report = Report Bug
mods.none = [LIGHT_GRAY]Geen mods gevonden!
mods.guide = Handleiding tot Modding
mods.report = Bug Rapporteren
mods.openfolder = Open Mod Folder
mod.enabled = [lightgray]Enabled
mod.disabled = [scarlet]Disabled
mod.disable = Disable
mod.delete.error = Unable to delete mod. File may be in use.
mod.enabled = [lightgray]Ingeschakeld
mod.disabled = [scarlet]Uitgeschakeld
mod.disable = Schakel uit
mod.delete.error = Kan mod niet verwijderen. Bestand is mogelijk in gebruik.
mod.missingdependencies = [scarlet]Missing dependencies: {0}
mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
mod.enable = Enable
mod.requiresrestart = The game will now close to apply the mod changes.
mod.reloadrequired = [scarlet]Reload Required
mod.import = Import Mod
mod.import.github = Import Github Mod
mod.remove.confirm = This mod will be deleted.
mod.author = [LIGHT_GRAY]Author:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}
mod.reloadrequired = [scarlet]Herladen Vereist
mod.import = Importeer Mod
mod.import.github = Importeer GitHub Mod
mod.remove.confirm = Deze mod zal worden verwijderd.
mod.author = [LIGHT_GRAY]Auteur:[] {0}
mod.missing = Dit opslagbestand bevat mods die zijn geupdate of recentelijk zijn verwijderd. Uw opslagbestand kan beschadigd geraken. Bent u zeker dat u wil verdergaan?\n[lightgray]Mods:\n{0}
mod.preview.missing = Before publishing this mod in the workshop, you must add an image preview.\nPlace an image named[accent] preview.png[] into the mod's folder and try again.
mod.folder.missing = Only mods in folder form can be published on the workshop.\nTo convert any mod into a folder, simply unzip its file into a folder and delete the old zip, then restart your game or reload your mods.
about.button = Extra info
name = Naam:
noname = Kies eerst[accent] een naam[].
filename = Bestands naam:
filename = Bestandsnaam:
unlocked = Ontgrendeld!
completed = [accent]Voltooid
techtree = Technische vooruitgang

View File

@@ -1,45 +1,49 @@
credits.text = Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY](In case you can't tell, this text is currently unfinished.\nTranslators, don't edit it yet!)
credits.text = Stworzone przez [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]
credits = Zasłużeni
contributors = Tłumacze i pomocnicy
discord = Odwiedź nasz serwer Discord!
link.discord.description = Oficjalny serwer Discord Mindustry
link.reddit.description = The Mindustry subreddit
link.reddit.description = Subreddit Mindustry
link.github.description = Kod źródłowy gry
link.changelog.description = Informacje o aktualizacjach
link.changelog.description = Historia aktualizacji
link.dev-builds.description = Niestabilne wersje gry
link.trello.description = Oficjalna tablica Trello z planowanym funkcjami
link.itch.io.description = Strona itch.io z oficjanymi wersjami do pobrania
link.google-play.description = Strona na sklepie Google Play
link.f-droid.description = F-Droid catalogue listing
link.wiki.description = Oficjana Wiki Mindustry
linkfail = Nie udało się otworzyć linku!\nURL został skopiowany.
screenshot = Zapisano zdjęcie do {0}
screenshot = Zapisano zdjęcie w {0}
screenshot.invalid = Zrzut ekranu jest zbyt duży. Najprawdopodobniej brakuje miejsca w pamięci urządzenia.
gameover = Koniec Gry
gameover.pvp = Zwyciężyła drużyna [accent]{0}[]!
highscore = [YELLOW] Nowy rekord!
copied = Copied.
load.sound = Dźwięki
load.map = Mapy
load.image = Obrazy
load.content = Treść
load.system = System
load.mod = Mody
schematic = Schematic
schematic.add = Save Schematic...
schematics = Schematics
schematic.replace = A schematic by that name already exists. Replace it?
schematic.import = Import Schematic...
schematic.exportfile = Export File
schematic.importfile = Import File
schematic.browseworkshop = Browse Workshop
schematic.copy = Copy to Clipboard
schematic.copy.import = Import from Clipboard
schematic.shareworkshop = Share on Workshop
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Flip Schematic
schematic.saved = Schematic saved.
schematic.delete.confirm = This schematic will be utterly eradicated.
schematic.rename = Rename Schematic
schematic.info = {0}x{1}, {2} blocks
schematic = Schemat
schematic.add = Zapisz schemat...
schematics = Schematy
schematic.replace = Schemat o takiej nazwie już istnieje. Czy chcesz go zastąpić?
schematic.import = Importuj Schemat...
schematic.exportfile = Eksportuj plik
schematic.importfile = Importuj plik
schematic.browseworkshop = Przeglądaj Warsztat
schematic.copy = Zapisano w schowku
schematic.copy.import = Importuj ze schowka
schematic.shareworkshop = Podziel się na Warsztacie
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Odwróć schemat
schematic.saved = Schemat zapisany.
schematic.delete.confirm = Ten schemat zostanie kompletnie wyeliminowany.
schematic.rename = Zmień nazwę schematu
schematic.info = {0}x{1}, {2} bloków
stat.wave = Fale powstrzymane:[accent] {0}
stat.enemiesDestroyed = Przeciwnicy zniszczeni:[accent] {0}
stat.built = Budynki zbudowane:[accent] {0}
@@ -47,15 +51,16 @@ stat.destroyed = Budynki zniszczone:[accent] {0}
stat.deconstructed = Budynki zrekonstruowane:[accent] {0}
stat.delivered = Surowce wystrzelone:
stat.rank = Ocena: [accent]{0}
launcheditems = [accent]Wystrzelone przedmioty
launchinfo = [unlaunched][[LAUNCH] rdzeń aby uzyskać przedmioty oznaczone na niebiesko.
launchinfo = [unlaunched][[WYSTRZEL] rdzeń aby uzyskać przedmioty oznaczone na niebiesko.
map.delete = Jesteś pewny, że chcesz usunąć "[accent]{0}[]"?
level.highscore = Rekord: [accent]{0}
level.select = Wybrany poziom
level.mode = Tryb gry:
showagain = Nie pokazuj tego więcej
coreattack = < Rdzeń jest atakowany! >
nearpoint = [[ [scarlet]OPUŚĆ PUNKT ZRZUTU NATYCHMIAST[] ]\nnadciąga zniszczenie
nearpoint = [[ [scarlet]NATYCHMIAST OPUŚĆ PUNKT ZRZUTU[] ]\nnadciąga zniszczenie
database = Centralna baza danych
savegame = Zapisz Grę
loadgame = Wczytaj Grę
@@ -64,7 +69,7 @@ customgame = Własna Gra
newgame = Nowa Gra
none = <brak>
minimap = Minimapa
position = Position
position = Pozycja
close = Zamknij
website = Strona Gry
quit = Wyjdź
@@ -72,48 +77,52 @@ save.quit = Zapisz & Wyjdź
maps = Mapy
maps.browse = Przeglądaj Mapy
continue = Kontynuuj
maps.none = [LIGHT_GRAY]Nie znaleziono żadnych map!
maps.none = [lightgray]Nie znaleziono żadnych map!
invalid = Nieprawidłowy
pickcolor = Wybierz kolor
preparingconfig = Przygotowywanie Konfiguracji
preparingcontent = Przygotowywanie Zawartości
uploadingcontent = Przesyłanie Zawartości
uploadingpreviewfile = Przesyłanie Pliku Podglądu
committingchanges = Zatwierdzanie Zmian
done = Gotowe
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Pamiętaj, że mody są wersji alpha, i[scarlet] mogą być pełne błędów[].\nZgłaszaj wszystkie znalezione problemy na Mindustry Github lub Discord.
feature.unsupported = Twoje urządzenie nie wspiera tej funkcji.
mods.alphainfo = Pamiętaj, że mody są wersji alpha, i[scarlet] mogą być pełne błędów[].\nZgłaszaj wszystkie znalezione problemy na Mindustry GitHub lub Discord.
mods.alpha = [scarlet](Alpha)
mods = Mody
mods.none = [LIGHT_GRAY]Nie znaleziono modów!
mods.guide = Modding Guide
mods.report = Report Bug
mods.openfolder = Open Mod Folder
mods.guide = Poradnik do modów
mods.report = Zgłoś Błąd
mods.openfolder = Otwórz folder z modami
mod.enabled = [lightgray]Włączony
mod.disabled = [scarlet]Wyłączony
mod.disable = Disable
mod.delete.error = Unable to delete mod. File may be in use.
mod.missingdependencies = [scarlet]Missing dependencies: {0}
mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
mod.enable = Enable
mod.disable = Wyłącz
mod.delete.error = Nie udało się usunąć moda. Plik może być w użyciu.
mod.missingdependencies = [scarlet]Brakujące zależności: {0}
mod.nowdisabled = [scarlet]Brakuje zależności dla moda '{0}':[accent] {1}\n[lightgray]Najpierw trzeba ściągnąć te mody.\nMod zostanie automatycznie wyłączony.
mod.enable = Włącz
mod.requiresrestart = Gra się wyłączy aby wprowadzić zmiany moda.
mod.reloadrequired = [scarlet]Reload Required
mod.reloadrequired = [scarlet]Wymagany restart
mod.import = Importuj Mod
mod.import.github = Import Github Mod
mod.import.github = Importuj mod z GitHuba
mod.remove.confirm = Ten mod zostanie usunięty.
mod.author = [LIGHT_GRAY]Autor:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}
mod.preview.missing = Before publishing this mod in the workshop, you must add an image preview.\nPlace an image named[accent] preview.png[] into the mod's folder and try again.
mod.folder.missing = Only mods in folder form can be published on the workshop.\nTo convert any mod into a folder, simply unzip its file into a folder and delete the old zip, then restart your game or reload your mods.
mod.missing = Ten zapis zawiera mody, które zostały niedawno zaktualizowane, bądź nie są już zainstalowane. Zapis może zostać uszkodzony. Czy jesteś pewien, że chcesz go załadować?\n[lightgray]Mody:\n{0}
mod.preview.missing = Przed opublikowaniem tego moda na Warsztacie musisz dodać zdjęcie podglądowe.\nDodaj zdjęcie o nazwie[accent] preview.png[] do folderu moda i spróbuj jeszcze raz.
mod.folder.missing = Jedynie mody w formie folderów mogą się znaleźć na Warsztacie.\nBy zamienić moda w folder, wyciągnij go z archiwum, umieść w folderze i usuń archiwum. Później uruchom ponownie grę bądź załaduj ponownie mody.
about.button = O Grze
name = Nazwa:
noname = Najpierw wybierz [accent]nazwę gracza[]
noname = Najpierw wybierz[accent] nazwę gracza[]
filename = Nazwa Pliku:
unlocked = Odblokowano nowy blok!
unlocked = Odblokowano nową zawartość!
completed = [accent]Ukończony
techtree = Drzewo Technologiczne
research.list = [LIGHT_GRAY]Badania:
research.list = [lightgray]Badania:
research = Badaj
researched = [LIGHT_GRAY]{0} zbadane.
researched = [lightgray]{0} zbadane.
players = {0} graczy online
players.single = {0} gracz online
server.closing = [accent] Zamykanie serwera...
@@ -125,27 +134,27 @@ server.kicked.clientOutdated = Nieaktualna gra! Zaktualizują ją!
server.kicked.serverOutdated = Nieaktualny serwer! Poproś hosta o jego aktualizację.
server.kicked.banned = Zostałeś zbanowany na tym serwerze.
server.kicked.typeMismatch = Ten serwer jest niekompatybilny z twoją wersją gry.
server.kicked.playerLimit = Serwer pełny. Poczekaj na wolny slot.
server.kicked.playerLimit = Serwer pełny. Poczekaj na wolne miejsce.
server.kicked.recentKick = Zostałeś niedawno wyrzucony.\nPoczekaj chwilę przed ponownym połączniem.
server.kicked.nameInUse = Ta nazwa jest już zajęta na tym serwerze.
server.kicked.nameEmpty = Wybrana przez Ciebie nazwa jest nieprawidłowa.
server.kicked.idInUse = Jesteś już na serwerze! Używanie tego samego konta na 2 urządzeniach jest zabronione.
server.kicked.idInUse = Jesteś już na serwerze! Łączenie się z dwóch kont nie jest dozwolone.
server.kicked.customClient = Ten serwer nie wspomaga wersji deweloperskich. Pobierz oficjalną wersję.
server.kicked.gameover = Koniec gry!
server.versions = Twoja wersja gry:[accent] {0}[]\nWersja gry serwera:[accent] {1}[]
host.info = Przycisk [accent]host[] hostuje serwer na porcie [scarlet]6567[] i [scarlet]6568.[]\nKtokolwiek z tym samym [LIGHT_GRAY]wifi lub hotspotem[] powinien zobaczyć twój serwer.\n\nJeśli chcesz, aby każdy z twoim IP mógł dołączyć, [accent]przekierowywanie portów[] jest potrzebne.\n\n[LIGHT_GRAY]Notka:Jeśli ktokolwiek ma problem z dołączeniem do gry, upewnij się, że udostępniłeś Mindustry dostęp do sieci.
join.info = Tutaj możesz wpisać [accent]IP serwera[], aby dołączyć lub wyszukaj [accent]serwery w lokalnej sieci[], do których chcesz dołączyć .\nGra wieloosobowa na LAN i WAN jest wspomagana.\n\n[LIGHT_GRAY]Notka: Nie ma automatycznej listy wszystkich serwerów; jeśli chcesz dołączyć przez IP, musisz zapytać się hosta o IP.
host.info = Przycisk [accent]host[] hostuje serwer na porcie [scarlet]6567[]. \nKażdy w tej samej sieci [lightgray]wifi lub hotspocie[] powinien zobaczyć twój serwer.\n\nJeśli chcesz, aby każdy z twoim IP mógł dołączyć, musisz wykonać [accent]przekierowywanie portów[].\n\n[lightgray]Notka: Jeśli ktokolwiek ma problem z dołączeniem do gry lokalnej, upewnij się, że udostępniłeś Mindustry dostęp do sieci w ustawieniach zapory (firewall). Zauważ, że niektóre sieci publiczne mogą nie zezwalać na wykrycie serwerów.
join.info = Tutaj możesz wpisać [accent]adres IP serwera[], aby dołączyć lub wyszukać [accent]serwerów w lokalnej sieci[], do których możesz dołączyć .\nGra wieloosobowa na LAN i WAN jest wspomagana.\n\n[lightgray]Notka: Nie ma automatycznej listy wszystkich serwerów; jeśli chcesz dołączyć przez IP, musisz zapytać hosta o IP.
hostserver = Stwórz Serwer
invitefriends = Zaproś Znajomych
hostserver.mobile = Hostuj\nGrę
host = Hostuj
hosting = [accent] Otwieranie serwera...
hosting = [accent]Otwieranie serwera...
hosts.refresh = Odśwież
hosts.discovering = Wyszukiwanie gier w sieci LAN
hosts.discovering.any = Wyszukiwanie gier
server.refreshing = Odświeżanie serwera
hosts.none = [lightgray] Brak serwerów w sieci LAN!
host.invalid = [scarlet] Nie można połączyć się z hostem.
hosts.none = [lightgray]Brak serwerów w sieci LAN!
host.invalid = [scarlet]Nie można połączyć się z hostem.
trace = Zlokalizuj Gracza
trace.playername = Nazwa gracza: [accent]{0}
trace.ip = IP: [accent]{0}
@@ -162,8 +171,8 @@ server.delete = Czy na pewno chcesz usunąć ten serwer?
server.edit = Edytuj Serwer
server.outdated = [crimson]Przestarzały serwer![]
server.outdated.client = [crimson]Przestarzały klient![]
server.version = [lightgray]Wersja: {0}
server.custombuild = [yellow]Zmodowany klient
server.version = [gray]Wersja: {0}
server.custombuild = [accent]Zmodowany klient
confirmban = Jesteś pewny, że chcesz zbanować tego gracza?
confirmkick = Jesteś pewny, że chcesz wyrzucić tego gracza?
confirmvotekick = Jesteś pewny, że chcesz głosować za wyrzuceniem tego gracza?
@@ -188,14 +197,14 @@ save.new = Nowy zapis
save.overwrite = Czy na pewno chcesz nadpisać zapis gry?
overwrite = Nadpisz
save.none = Nie znaleziono zapisów gry!
saveload = [accent]Zapisywanie...
saveload = Zapisywanie...
savefail = Nie udało się zapisać gry!
save.delete.confirm = Czy na pewno chcesz usunąć ten zapis gry?
save.delete = Usuń
save.export = Eksportuj
save.import.invalid = [accent]Zapis gry jest niepoprawny!
save.import.fail = [crimson]Nie udało się zaimportować zapisu: [accent] {0}
save.export.fail = [crimson]Nie można wyeksportować zapisu: [accent] {0}
save.import.fail = [crimson]Nie udało się zaimportować zapisu: [accent]{0}
save.export.fail = [crimson]Nie można wyeksportować zapisu: [accent]{0}
save.import = Importuj Zapis
save.newslot = Zapisz nazwę:
save.rename = Zmień Nazwę
@@ -203,7 +212,7 @@ save.rename.text = Nowa nazwa:
selectslot = Wybierz zapis.
slot = [accent]Slot {0}
editmessage = Edytuj Wiadomość
save.corrupted = [accent]Zapis gry jest uszkodzony lub nieprawidłowy! Jeżeli aktualizowałeś grę, najprawdopodobniej jest to zmiana w formacie zapisu i [scarlet]nie jest[] to błąd.
save.corrupted = Zapis gry jest uszkodzony lub nieprawidłowy!
empty = <pusto>
on = Włączone
off = Wyłączone
@@ -217,7 +226,7 @@ warning = Uwaga.
confirm = Potwierdź
delete = Usuń
view.workshop = Pokaż w Warsztacie
workshop.listing = Edit Workshop Listing
workshop.listing = Edytuj pozycję w Warsztacie
ok = OK
open = Otwórz
customize = Dostosuj
@@ -231,23 +240,23 @@ data.exported = Dane wyeksportowane.
data.invalid = Nieprawidłowe dane gry.
data.import.confirm = Zaimportowanie zewnętrznych danych usunie[scarlet] wszystkie[] obecne dane gry.\n[accent]Nie można tego cofnąć![]\n\nGdy dane zostaną zimportowane, gra automatycznie się wyłączy.
classic.export = Eksportuj Dane Wersji Klasycznej
classic.export.text = [accent]Mindustry[] otrzymało ostatnio ważną aktualizację.\nClassic (v3.5 build 40) zapis albo mapa zostały wykryte. Czy chciałbyś eksportować te zapisy do katalogu domowego swojego telefonu, do użycia w aplikacji Mindustry Classic?
classic.export.text = [accent]Mindustry[] otrzymało ostatnio ważną aktualizację.\nWykryto zapis lub mapę z wersji classic (v3.5 build 40) - czy chciałbyś eksportować te zapisy do katalogu domowego swojego telefonu, do użycia w aplikacji Mindustry Classic?
quit.confirm = Czy na pewno chcesz wyjść?
quit.confirm.tutorial = Czy jesteś pewien tego co robisz?\nSamouczek może zostać powtórzony w[accent] Opcje->Gra->Powtórz samouczek.[]
quit.confirm.tutorial = Czy jesteś pewien tego co robisz?\nSamouczek może zostać powtórzony w[accent] Ustawienia->Gra->Ponów samouczek.[]
loading = [accent]Ładowanie...
reloading = [accent]Reloading Mods...
reloading = [accent]Przeładowywanie Modów...
saving = [accent]Zapisywanie...
cancelbuilding = [accent][[{0}][] to clear plan
selectschematic = [accent][[{0}][] to select+copy
pausebuilding = [accent][[{0}][] to pause building
resumebuilding = [scarlet][[{0}][] to resume building
cancelbuilding = [accent][[{0}][] by wyczyścić plan
selectschematic = [accent][[{0}][] by wybrać+skopiować
pausebuilding = [accent][[{0}][] by wtrzymać budowę
resumebuilding = [scarlet][[{0}][] by kontynuować budowę
wave = [accent]Fala {0}
wave.waiting = Fala za {0}
wave.waveInProgress = [LIGHT_GRAY]Fala w trakcie
waiting = [LIGHT_GRAY]Oczekiwanie...
wave.waveInProgress = [lightgray]Fala w trakcie
waiting = [lightgray]Oczekiwanie...
waiting.players = Oczekiwanie na graczy...
wave.enemies = Pozostało [LIGHT_GRAY]{0} wrogów
wave.enemy = Pozostał [LIGHT_GRAY]{0} wróg
wave.enemies = Pozostało [lightgray]{0} wrogów
wave.enemy = Pozostał [lightgray]{0} wróg
loadimage = Załaduj Obraz
saveimage = Zapisz Obraz
unknown = Nieznane
@@ -255,22 +264,23 @@ custom = Własne
builtin = Wbudowane
map.delete.confirm = Jesteś pewny, że chcesz usunąć tę mapę? Nie będzie można jej przywrócić.
map.random = [accent]Losowa Mapa
map.nospawn = Ta mapa nie zawiera żadnego rdzenia! Dodaj [ROYAL]niebieski[] rdzeń do tej mapy w edytorze.
map.nospawn.pvp = Ta mapa nie ma żadnego rdzenia przeciwnika, aby mogli się zrespić przeciwnicy! Dodaj[SCARLET] inny niż niebieski[] rdzeń do mapy w edytorze.
map.nospawn = Ta mapa nie zawiera żadnego rdzenia! Dodaj [accent]pomarańczowy[] rdzeń do tej mapy w edytorze.
map.nospawn.pvp = Ta mapa nie ma żadnego rdzenia przeciwnika, aby mogli się zrespić przeciwnicy! Dodaj[SCARLET] inny niż pomarańczowy[] rdzeń do mapy w edytorze.
map.nospawn.attack = Ta mapa nie ma żadnego rdzenia przeciwnika, aby można było go zaatakować! Dodaj[SCARLET] czerwony[] rdzeń do mapy w edytorze.
map.invalid = Błąd podczas ładowania mapy: uszkodzony lub niepoprawny plik mapy.
workshop.update = Update Item
workshop.error = Error fetching workshop details: {0}
map.publish.confirm = Are you sure you want to publish this map?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your maps will not show up!
workshop.menu = Select what you would like to do with this item.
workshop.info = Item Info
changelog = Changelog (optional):
eula = Steam EULA
missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked.
publishing = [accent]Publishing...
publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up!
publish.error = Error publishing item: {0}
steam.error = Failed to initialize Steam services.\nError: {0}
workshop.update = Aktualizuj pozycję
workshop.error = Błąd podczas wczytywania szczegółów z Warsztatu: {0}
map.publish.confirm = Czy jesteś pewien, że chcesz opublikować tę mapę?\n\n[lightgray]Najpierw upewnij się, że zgadzasz się z umową EULA Warsztatu, w przeciwnym razie twoje mapy nie będą widoczne!
workshop.menu = Wybierz co chcesz zrobić z tą pozycją.
workshop.info = Informacja o pozycji
changelog = Historia aktualizacji (opcjonalna):
eula = Umowa Użytkownika Końcowego (EULA) Steam
missing = Ta pozycja została przeniesiona bądź usunięta.\n[lightgray]Pozycja na Warsztacie została automatycznie odłączona.
publishing = [accent]Trwa publikowanie...
publish.confirm = Czy jesteś pewien, że chcesz to opublikować?\n\n[lightgray]Najpierw upewnij się, że zgadzasz się z umową EULA Warsztatu, w przeciwnym razie twoje pozycje nie będą widoczne!
publish.error = Błąd podczas publikowania pozycji: {0}
steam.error = Nie udało się zainicjować serwisów Steam.\nBłąd: {0}
editor.brush = Pędzel
editor.openin = Otwórz w Edytorze
editor.oregen = Generacja Złóż
@@ -301,7 +311,7 @@ waves.load = Załaduj Ze Schowka
waves.invalid = Nieprawidłowe fale w schowku.
waves.copied = Fale zostały skopiowane.
waves.none = Brak zdefiniowanych wrogów.\nPamiętaj, że puste układy fal zostaną automatycznie zastąpione układem domyślnym.
editor.default = [LIGHT_GRAY]<Domyślne>
editor.default = [lightgray]<Domyślne>
details = Detale...
edit = Edytuj...
editor.name = Nazwa:
@@ -310,11 +320,11 @@ editor.removeunit = Usuń Jednostkę
editor.teams = Drużyny
editor.errorload = Błąd podczas ładowania pliku:\n[accent]{0}
editor.errorsave = Błąd podczas zapisywania pliku:\n[accent]{0}
editor.errorimage = To obraz, nie mapa. Nie zmieniaj rozszeżenia spodziewając sie że to coś zmieni.\n\nJeśli chcesz zaimportować starszą mapę, użyj przycisku „importuj starszą mapę w edytorze.
editor.errorimage = To obraz, nie mapa.\n\nJeśli chcesz zaimportować mapę z wersji 3.5/build 40, użyj przycisku "Importuj starszą mapę" w edytorze.
editor.errorlegacy = Ta mapa jest zbyt stara i używa starszego formatu mapy, który nie jest już obsługiwany.
editor.errornot = To nie jest plik mapy.
editor.errorheader = Ten plik mapy jest nieprawidłowy lub uszkodzony.
editor.errorname = Mapa nie zawiera nazwy.
editor.errorname = Mapa nie zawiera nazwy. Czy próbujesz załadować zapis gry?
editor.update = Aktualizuj
editor.randomize = Losuj
editor.apply = Zastosuj
@@ -347,6 +357,7 @@ editor.overwrite = [accent]Uwaga!\nSpowoduje to nadpisanie istniejącej mapy.
editor.overwrite.confirm = [scarlet]Uwaga![] Mapa o tej nazwie już istnieje. Jesteś pewny, że chcesz ją nadpisać?
editor.exists = Mapa o tej nazwie już istnieje.
editor.selectmap = Wybierz mapę do załadowania:
toolmode.replace = Zastąp
toolmode.replace.description = Rysuje tylko na stałych blokach.
toolmode.replaceall = Zastąp Wszystko
@@ -357,11 +368,12 @@ toolmode.square = Kwadrat
toolmode.square.description = Kwadratowy pędzel.
toolmode.eraseores = Wymaż Rudy
toolmode.eraseores.description = Usuń tylko rudy.
toolmode.fillteams = Wypełń Drużyny
toolmode.fillteams = Wypełnij Drużyny
toolmode.fillteams.description = Wypełniaj drużyny zamiast bloków.
toolmode.drawteams = Rysuj Drużyny
toolmode.drawteams.description = Rysuj drużyny zamiast bloków.
filters.empty = [LIGHT_GRAY]Brak filtrów! Dodaj jeden za pomocą przycisku poniżej.
filters.empty = [lightgray]Brak filtrów! Dodaj jeden za pomocą przycisku poniżej.
filter.distort = Zniekształcanie
filter.noise = Szum
filter.median = Mediana
@@ -391,7 +403,8 @@ filter.option.ore = Ruda
filter.option.floor2 = Druga Podłoga
filter.option.threshold2 = Drugi Próg
filter.option.radius = Zasięg
filter.option.percentile = Percentyl
filter.option.percentile = Procent
width = Szerokość:
height = Wysokość:
menu = Menu
@@ -401,52 +414,56 @@ load = Wczytaj
save = Zapisz
fps = FPS: {0}
ping = Ping: {0}ms
language.restart = Uruchom grę ponownie, aby ustawiony język zaczął funkcjonować.
settings = Ustawienia
tutorial = Poradnik
tutorial.retake = Ponów Samouczek
editor = Edytor
mapeditor = Edytor Map
abandon = Opuść
abandon.text = Ta strefa i wszystkie jej surowce będą przejęte przez przeciwników.
locked = Zablokowane
complete = [LIGHT_GRAY]Ukończone:
requirement.wave = Reach Wave {0} in {1}
requirement.core = Destroy Enemy Core in {0}
requirement.unlock = Unlock {0}
resume = Kontynuuj Strefę:\n[LIGHT_GRAY]{0}
bestwave = [LIGHT_GRAY]Najwyższa fala: {0}
complete = [lightgray]Ukończone:
requirement.wave = Osiągnij falę {0} w {1}
requirement.core = Zniszcz Rdzeń wroga w {0}
requirement.unlock = Odblokuj {0}
resume = Kontynuuj Strefę:\n[lightgray]{0}
bestwave = [lightgray]Najwyższa fala: {0}
launch = < WYSTRZEL >
launch.title = Wystrzelenie Udane
launch.next = [LIGHT_GRAY]Następna okazja przy fali {0}
launch.next = [lightgray]Następna okazja przy fali {0}
launch.unable2 = [scarlet]WYSTZRZELENIE niedostępne.[]
launch.confirm = Spowoduje to wystrzelenie wszystkich surowców w rdzeniu.\nNie będziesz mógł wrócić do tej bazy.
launch.skip.confirm = Jeśli teraz przejdziesz do kolejnej fali, Nie biędziesz miał możliwości wystrzelenia do czasu pokonania dalszych fal.
launch.skip.confirm = Jeśli teraz przejdziesz do kolejnej fali, nie biędziesz miał możliwości wystrzelenia do czasu pokonania dalszych fal.
uncover = Odkryj
configure = Skonfiguruj Ładunek
bannedblocks = Banned Blocks
addall = Add All
configure.locked = [LIGHT_GRAY]Dotrzyj do fali {0}\nAby skonfigurować ładunek.
bannedblocks = Zabronione bloki
addall = Dodaj wszystkie
configure.locked = [lightgray]Dotrzyj do fali {0},\naby skonfigurować ładunek.
configure.invalid = Ilość musi być liczbą pomiędzy 0 a {0}.
zone.unlocked = [LIGHT_GRAY]Strefa {0} odblokowana.
zone.unlocked = [lightgray]Strefa {0} odblokowana.
zone.requirement.complete = Fala {0} osiągnięta:\n{1} Wymagania strefy zostały spełnione.
zone.config.unlocked = Loadout unlocked:[lightgray]\n{0}
zone.resources = Wykryte Zasoby:
zone.config.unlocked = Ładunek odblokowany:[lightgray]\n{0}
zone.resources = [lightgray]Wykryte Zasoby:
zone.objective = [lightgray]Cel: [accent]{0}
zone.objective.survival = Przeżyj
zone.objective.attack = Zniszcz Rdzeń Wroga
add = Dodaj...
boss.health = Zdrowie Bossa
connectfail = [crimson]Nie można połączyć się z serwerem:\n\n[accent]{0}
error.unreachable = Serwer niedostępny.\nCzy adres jest wpisany poprawnie?
error.invalidaddress = Niepoprawny adres.
error.timedout = Przekroczono limit czasu!/nUpewnij się, że host ma ustawione przekierowanie portu oraz, czy adres jest poprawny!
error.timedout = Przekroczono limit czasu!/nUpewnij się, że host ma ustawione przekierowanie portu oraz poprawność wpisanego adresu!
error.mismatch = Błąd pakietu:\nprawdopodobne niedopasowanie klienta/serwera.\nUpewnij się, że ty i host macie najnowszą wersję Mindustry!
error.alreadyconnected = Jesteś już połączony.
error.mapnotfound = Plik mapy nie został znaleziony!
error.io = Błąd siecowy I/O.
error.any = Nieznany błąd sieci.
error.bloom = Nie udało się załadować bloom.\nTwoje urządzenie może nie wspierać tej funkcji.
zone.groundZero.name = Wybuch Lądowy
zone.desertWastes.name = Pustynne Pustkowia
zone.craters.name = Kratery
@@ -461,6 +478,7 @@ zone.saltFlats.name = Solne Równiny
zone.impact0078.name = Uderzenie 0078
zone.crags.name = Urwisko
zone.fungalPass.name = Grzybowa Przełęcz
zone.groundZero.description = Optymalna lokalizacja, aby rozpocząć jeszcze raz. Niskie zagrożenie. Niewiele zasobów.\nZbierz jak najwięcej miedzi i ołowiu, tyle ile jest możliwe.\nPrzejdź do następnej strefy jak najszybciej.
zone.frozenForest.description = Nawet tutaj, bliżej gór, zarodniki rozprzestrzeniły się. Niskie temperatury nie mogą ich zatrzymać na zawsze.\n\nRozpocznij przedsięwzięcie od władzy. Buduj generatory spalinowe. Naucz się korzystać z naprawiaczy.
zone.desertWastes.description = Te pustkowia są rozległe, nieprzewidywalne, i znajdują się na nich opuszczone struktury.\nWęgiel jest obecny w tym regionie. Użyj go do produkcji energii, lub do stworzenia grafitu.\n\n[lightgray]Miejsce lądowania nie jest pewne.
@@ -472,7 +490,7 @@ zone.overgrowth.description = Obszar ten jest zarośnięty, bliżej źródła za
zone.tarFields.description = Obrzeża strefy produkcji ropy, między górami a pustynią. Jeden z niewielu obszarów z rezerwami użytecznej smoły.\nMimo że ta strefa jest opuszczona, w pobliżu znajdują się niebezpieczne siły wroga. Nie lekceważ ich.\n\n[lightgray]Jeśli to możliwe, zbadaj technologię przetwarzania oleju.
zone.desolateRift.description = Strefa wyjątkowo niebezpieczna. Obfita w zasoby ale mało miejsca. Wysokie ryzyko zniszczenia. Opuść tę strefe jak najszybciej. Nie daj się zwieść długiemu odstępowi między atakami wroga.
zone.nuclearComplex.description = Dawny zakład produkcji i przetwarzania toru, zredukowny do ruin.\n[lightgray]Zbadaj tor i jego zastosowania.\n\nWróg jest tutaj obecny w dużej ilości, nieustannie poszukuje napastników.
zone.fungalPass.description = Przejściowy obszar pomiędzy wysokimi górami a nisko znajdującymi się, ogarniętymi przez zarodniki równinami. Znajduje się tu mała postawiona przez wrogów baza zwiadowcza.\nZniszcz ją.\nUżyj jednostek Nóż i Pełzak. Zniszcz oba rdżenie.
zone.fungalPass.description = Przejściowy obszar pomiędzy wysokimi górami a nisko znajdującymi się, ogarniętymi przez zarodniki równinami. Znajduje się tu mała postawiona przez wrogów baza zwiadowcza.\nZniszcz ją.\nUżyj jednostek Nóż i Pełzak. Zniszcz oba rdzenie.
zone.impact0078.description = <insert description here>
zone.crags.description = <insert description here>
settings.language = Język
@@ -487,8 +505,8 @@ settings.cleardata = Wyczyść Dane Gry...
settings.clear.confirm = Czy jesteś pewien że chcesz usunąć te dane?\nPo tym nie ma powrotu!
settings.clearall.confirm = [scarlet]UWAGA![]\nTo wykasuje wszystkie dane, włącznie z zapisanymi grami i mapami, ustawienami, i znanymi technologiami.\nKiedy naciśniesz 'ok', gra usunie wszystkie swoje dane i automatycznie wyłączy się.
paused = [accent]< Wstrzymano >
clear = Clear
banned = [scarlet]Banned
clear = Wyczyść
banned = [scarlet]Zbanowano
yes = Tak
no = Nie
info.title = Informacje
@@ -497,7 +515,7 @@ error.crashtitle = Wystąpił błąd
blocks.input = Wejście
blocks.output = Wyjście
blocks.booster = Wzmacniacz
block.unknown = [LIGHT_GRAY]???
block.unknown = [lightgray]???
blocks.powercapacity = Pojemność mocy
blocks.powershot = moc/strzał
blocks.damage = Obrażenia
@@ -509,7 +527,7 @@ blocks.shootrange = Zasięg
blocks.size = Rozmiar
blocks.liquidcapacity = Pojemność cieczy
blocks.powerrange = Zakres mocy
blocks.powerconnections = Max Connections
blocks.powerconnections = Maksymalna ilość połączeń
blocks.poweruse = Zużycie prądu
blocks.powerdamage = Moc/Zniszczenia
blocks.itemcapacity = Pojemność przedmiotów
@@ -529,9 +547,10 @@ blocks.inaccuracy = Niedokładność
blocks.shots = Strzały
blocks.reload = Strzałów/sekundę
blocks.ammo = Amunicja
bar.drilltierreq = Wymagane Lepsze Wiertło
bar.drillspeed = Prędkość wiertła: {0}/s
bar.pumpspeed = Pump Speed: {0}/s
bar.pumpspeed = Prędkość pompy: {0}/s
bar.efficiency = Efektywność: {0}%
bar.powerbalance = Moc: {0}
bar.powerstored = Zmagazynowano: {0}/{1}
@@ -544,6 +563,9 @@ bar.heat = Ciepło
bar.power = Prąd
bar.progress = Postęp Budowy
bar.spawned = Jednostki: {0}/{1}
bar.input = Input
bar.output = Output
bullet.damage = [stat]{0}[lightgray] Obrażenia
bullet.splashdamage = [stat]{0}[lightgray] Obrażenia obszarowe ~[stat] {1}[lightgray] kratki
bullet.incendiary = [stat]zapalający
@@ -555,6 +577,7 @@ bullet.freezing = [stat]zamrażający
bullet.tarred = [stat]smolny
bullet.multiplier = [stat]{0}[lightgray]x mnożnik amunicji
bullet.reload = [stat]{0}[lightgray]x szybkość ataku
unit.blocks = bloki
unit.powersecond = jednostek prądu na sekundę
unit.liquidsecond = jednostek płynów na sekundę
@@ -576,12 +599,13 @@ category.shooting = Strzelanie
category.optional = Dodatkowe ulepszenia
setting.landscape.name = Zablokuj tryb panoramiczny
setting.shadows.name = Cienie
setting.blockreplace.name = Automatic Block Suggestions
setting.blockreplace.name = Automatyczne sugestie bloków
setting.linear.name = Filtrowanie Liniowe
setting.hints.name = Hints
setting.hints.name = Podpowiedzi
setting.buildautopause.name = Automatycznie zatrzymaj budowanie
setting.animatedwater.name = Animowana woda
setting.animatedshields.name = Animowana Tarcza
setting.antialias.name = Antyaliasing[LIGHT_GRAY] (wymaga restartu)[]
setting.antialias.name = Antyaliasing[lightgray] (wymaga restartu)[]
setting.indicators.name = Wskaźniki Przyjaciół
setting.autotarget.name = Automatyczne Celowanie
setting.keyboard.name = Sterowanie - Myszka+Klawiatura
@@ -597,20 +621,23 @@ setting.difficulty.normal = Normalny
setting.difficulty.hard = Trudny
setting.difficulty.insane = Szalony
setting.difficulty.name = Poziom trudności
setting.screenshake.name = Trzęsienie się ekranu
setting.screenshake.name = Wstrząsy ekranu
setting.effects.name = Wyświetlanie efektów
setting.destroyedblocks.name = Display Destroyed Blocks
setting.destroyedblocks.name = Wyświetl zniszczone bloki
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
setting.sensitivity.name = Czułość kontrolera
setting.saveinterval.name = Interwał automatycznego zapisywania
setting.seconds = {0} Sekundy
setting.seconds = {0} sekund
setting.blockselecttimeout.name = Block Select Timeout
setting.milliseconds = {0} millisekund
setting.fullscreen.name = Pełny ekran
setting.borderlesswindow.name = Bezramkowe okno[LIGHT_GRAY] (może wymagać restartu)
setting.fps.name = Pokazuj FPS
setting.borderlesswindow.name = Bezramkowe okno[lightgray] (może wymagać restartu)
setting.fps.name = Pokazuj FPS oraz ping
setting.blockselectkeys.name = Show Block Select Keys
setting.vsync.name = Synchronizacja pionowa
setting.pixelate.name = Pikselacja [LIGHT_GRAY](wyłącza animacje)
setting.pixelate.name = Pikselacja [lightgray](wyłącza animacje)
setting.minimap.name = Pokaż Minimapę
setting.position.name = Show Player Position
setting.position.name = Pokazuj położenie gracza
setting.musicvol.name = Głośność muzyki
setting.ambientvol.name = Głośność otoczenia
setting.mutemusic.name = Wycisz muzykę
@@ -622,8 +649,8 @@ setting.publichost.name = Widoczność Gry Publicznej
setting.chatopacity.name = Przezroczystość czatu
setting.lasersopacity.name = Przezroczystość laserów zasilających
setting.playerchat.name = Wyświetlaj czat w grze
public.confirm = Czy chcesz ustawić swoją grę jako publiczną?\n[lightgray]Można to później zmienić w Ustawienia->Gra->Widoczność Gry Publicznej.
public.beta = Note that beta versions of the game cannot make public lobbies.
public.confirm = Czy chcesz ustawić swoją grę jako publiczną?\n[accent]Każdy będzie mógł dołączyć do twojej gry.\n[lightgray]Można to później zmienić w Ustawienia->Gra->Widoczność Gry Publicznej.
public.beta = Wersje beta gry nie mogą tworzyć publicznych pokoi.
uiscale.reset = Skala interfejsu uległa zmianie.\nNaciśnij "OK" by potwierdzić zmiany.\n[scarlet]Cofanie zmian i wyjście z gry za[accent] {0}[]
uiscale.cancel = Anuluj i Wyjdź
setting.bloom.name = Bloom
@@ -631,20 +658,40 @@ keybind.title = Zmień
keybinds.mobile = [scarlet]Większość skrótów klawiszowych nie funkcjonuje w wersji mobilnej. Tylko podstawowe poruszanie się jest wspierane.
category.general.name = Ogólne
category.view.name = Wyświetl
category.multiplayer.name = Multiplayer
category.multiplayer.name = Wielu graczy
command.attack = Atakuj
command.rally = Zbierz
command.retreat = Wycofaj
keybind.clear_building.name = Clear Building
placement.blockselectkeys = \n[lightgray]Key: [{0},
keybind.clear_building.name = Wyczyść budynek
keybind.press = Naciśnij wybrany klawisz...
keybind.press.axis = Naciśnij oś lub klawisz...
keybind.screenshot.name = Zrzut ekranu mapy
keybind.toggle_power_lines.name = Toggle Power Lines
keybind.move_x.name = Poruszanie w poziomie
keybind.move_y.name = Poruszanie w pionie
keybind.schematic_select.name = Select Region
keybind.schematic_menu.name = Schematic Menu
keybind.schematic_flip_x.name = Flip Schematic X
keybind.schematic_flip_y.name = Flip Schematic Y
keybind.mouse_move.name = Follow Mouse
keybind.dash.name = Dash
keybind.schematic_select.name = Wybierz region
keybind.schematic_menu.name = Menu schematów
keybind.schematic_flip_x.name = Obróć schemat horyzontalnie
keybind.schematic_flip_y.name = Obróć schemat wertykalnie
keybind.category_prev.name = Poprzednia kategoria
keybind.category_next.name = Następna kategoria
keybind.block_select_left.name = Block Select Left
keybind.block_select_right.name = Block Select Right
keybind.block_select_up.name = Block Select Up
keybind.block_select_down.name = Block Select Down
keybind.block_select_01.name = Category/Block Select 1
keybind.block_select_02.name = Category/Block Select 2
keybind.block_select_03.name = Category/Block Select 3
keybind.block_select_04.name = Category/Block Select 4
keybind.block_select_05.name = Category/Block Select 5
keybind.block_select_06.name = Category/Block Select 6
keybind.block_select_07.name = Category/Block Select 7
keybind.block_select_08.name = Category/Block Select 8
keybind.block_select_09.name = Category/Block Select 9
keybind.block_select_10.name = Category/Block Select 10
keybind.fullscreen.name = Przełącz Pełny Ekran
keybind.select.name = Zaznacz
keybind.diagonal_placement.name = Budowa po skosie
@@ -656,9 +703,8 @@ keybind.zoom_hold.name = Inicjator przybliżania
keybind.zoom.name = Przybliżanie
keybind.menu.name = Menu
keybind.pause.name = Pauza
keybind.pause_building.name = Pause/Resume Building
keybind.pause_building.name = Wstrzymaj/kontynuuj budowę
keybind.minimap.name = Minimapa
keybind.dash.name = Przyspieszenie
keybind.chat.name = Czat
keybind.player_list.name = Lista graczy
keybind.console.name = Konsola
@@ -672,16 +718,18 @@ keybind.drop_unit.name = Wyrzucanie przedmiot
keybind.zoom_minimap.name = Powiększenie mapy
mode.help.title = Opis trybów
mode.survival.name = Przeżycie
mode.survival.description = Zwykły tryb. Limitowane surowce i fale przeciwników.
mode.survival.description = Zwykły tryb. Limitowane surowce i fale przeciwników.\n[gray]Wymaga spawnów wroga na mapie, aby móc grać na tym trybie.
mode.sandbox.name = Piaskownica
mode.sandbox.description = Nieskończone surowce i fale bez odliczania.
mode.editor.name = Edytor
mode.pvp.name = PvP
mode.pvp.description = Walcz przeciwko innym graczom.
mode.pvp.description = Walcz przeciwko innym graczom.\n[gray]Wymaga co najmniej dwóch rdzeniów o róźnych kolorach na mapie, aby móc grać na tym trybie
mode.attack.name = Atak
mode.attack.description = Brak fal. Celem jest zniszczenie bazy przeciwnika.
mode.attack.description = Brak fal. Celem jest zniszczenie bazy przeciwnika.\n[gray]Wymaga czerwonego rdzenia na mapie, aby móc grać na tym trybie.
mode.custom = Własny tryb
rules.infiniteresources = Nieskończone zasoby
rules.reactorexplosions = Eksplozje reaktorów
rules.wavetimer = Zegar fal
rules.waves = Fale
rules.attack = Tryb ataku
@@ -692,13 +740,13 @@ rules.unithealthmultiplier = Mnożnik życia jednostek
rules.playerhealthmultiplier = Mnożnik życia gracza
rules.playerdamagemultiplier = Mnożnik obrażeń gracza
rules.unitdamagemultiplier = Mnożnik obrażeń jednostek
rules.enemycorebuildradius = Zasięg blokady budowy przy rdżeniu wroga:[LIGHT_GRAY] (kratki)
rules.respawntime = Czas odrodzenia:[LIGHT_GRAY] (sek)
rules.wavespacing = Odstępy między falami:[LIGHT_GRAY] (sek)
rules.enemycorebuildradius = Zasięg blokady budowy przy rdzeniu wroga:[lightgray] (kratki)
rules.respawntime = Czas odrodzenia:[lightgray] (sek)
rules.wavespacing = Odstępy między falami:[lightgray] (sek)
rules.buildcostmultiplier = Mnożnik kosztów budowania
rules.buildspeedmultiplier = Mnożnik prędkości budowania
rules.waitForWaveToEnd = Fale czekają na przeciwników
rules.dropzoneradius = Zasięg strefy zrzutu:[LIGHT_GRAY] (kratki)
rules.dropzoneradius = Zasięg strefy zrzutu:[lightgray] (kratki)
rules.respawns = Maksymalna ilośc odrodzeń na falę
rules.limitedRespawns = Ogranicz Odrodzenia
rules.title.waves = Fale
@@ -707,6 +755,10 @@ rules.title.resourcesbuilding = Zasoby i Budowanie
rules.title.player = Gracze
rules.title.enemy = Przeciwnicy
rules.title.unit = Jednostki
rules.title.experimental = Eksperymentalne
rules.lighting = Oświetlenie
rules.ambientlight = Światła otoczenia
content.item.name = Przedmioty
content.liquid.name = Płyny
content.unit.name = Jednostki
@@ -753,21 +805,22 @@ mech.trident-ship.name = Trójząb
mech.trident-ship.weapon = Wnęka bombowa
mech.glaive-ship.name = Glewia
mech.glaive-ship.weapon = Zapalający Karabin
item.explosiveness = [LIGHT_GRAY]Wybuchowość: {0}
item.flammability = [LIGHT_GRAY]Palność: {0}
item.radioactivity = [LIGHT_GRAY]Promieniotwórczość: {0}
unit.health = [LIGHT_GRAY]Zdrowie: {0}
unit.speed = [LIGHT_GRAY]Prędkość: {0}
mech.weapon = [LIGHT_GRAY]Broń: {0}
mech.health = [LIGHT_GRAY]Zdrowie: {0}
mech.itemcapacity = [LIGHT_GRAY]Pojemność przedmiotów: {0}
mech.minespeed = [LIGHT_GRAY]Prędkość kopania: {0}
mech.minepower = [LIGHT_GRAY]Moc kopania: {0}
mech.ability = [LIGHT_GRAY]Umiejętność: {0}
mech.buildspeed = [LIGHT_GRAY]Szybkość Budowy: {0}%
liquid.heatcapacity = [LIGHT_GRAY]Wytrzymałość na przegrzewanie: {0}
liquid.viscosity = [LIGHT_GRAY]Lepkość: {0}
liquid.temperature = [LIGHT_GRAY]Temperatura: {0}
item.explosiveness = [lightgray]Wybuchowość: {0}
item.flammability = [lightgray]Palność: {0}
item.radioactivity = [lightgray]Promieniotwórczość: {0}
unit.health = [lightgray]Zdrowie: {0}
unit.speed = [lightgray]Prędkość: {0}
mech.weapon = [lightgray]Broń: {0}
mech.health = [lightgray]Zdrowie: {0}
mech.itemcapacity = [lightgray]Pojemność przedmiotów: {0}
mech.minespeed = [lightgray]Prędkość kopania: {0}
mech.minepower = [lightgray]Moc kopania: {0}
mech.ability = [lightgray]Umiejętność: {0}
mech.buildspeed = [lightgray]Szybkość Budowy: {0}%
liquid.heatcapacity = [lightgray]Wytrzymałość na przegrzewanie: {0}
liquid.viscosity = [lightgray]Lepkość: {0}
liquid.temperature = [lightgray]Temperatura: {0}
block.sand-boulder.name = Piaskowy Głaz
block.grass.name = Trawa
block.salt.name = Sól
@@ -794,7 +847,7 @@ block.thruster.name = Silnik
block.kiln.name = Wypalarka
block.graphite-press.name = Grafitowa Prasa
block.multi-press.name = Multi-Prasa
block.constructing = {0} [LIGHT_GRAY](Budowa)
block.constructing = {0} [lightgray](Budowa)
block.spawn.name = Spawn wrogów
block.core-shard.name = Rdzeń: Odłamek
block.core-foundation.name = Rdzeń: Podstawa
@@ -843,8 +896,8 @@ block.copper-wall.name = Miedziana Ściana
block.copper-wall-large.name = Duża Miedziana Ściana
block.titanium-wall.name = Tytanowa Ściana
block.titanium-wall-large.name = Duża Tytanowa Ściana
block.plastanium-wall.name = Plastanium Wall
block.plastanium-wall-large.name = Large Plastanium Wall
block.plastanium-wall.name = Ściana z Plastanu
block.plastanium-wall-large.name = Duża Ściana z Plastanu
block.phase-wall.name = Fazowa Ściana
block.phase-wall-large.name = Duża Fazowa Ściana
block.thorium-wall.name = Torowa Ściana
@@ -855,7 +908,7 @@ block.duo.name = Podwójne Działko
block.scorch.name = Płomień
block.scatter.name = Flak
block.hail.name = Grad
block.lancer.name = Lancer
block.lancer.name = Lansjer
block.conveyor.name = Przenośnik
block.titanium-conveyor.name = Przenośnik Tytanowy
block.armored-conveyor.name = Przenośnik Opancerzony
@@ -864,8 +917,10 @@ block.junction.name = Węzeł
block.router.name = Rozdzielacz
block.distributor.name = Dystrybutor
block.sorter.name = Sortownik
block.inverted-sorter.name = Inverted Sorter
block.inverted-sorter.name = Odwrotny Sortownik
block.message.name = Wiadomość
block.illuminator.name = Illuminator
block.illuminator.description = Małe, kompaktowe i konfigurowane źródło światła. Wymaga energii do funkcjonowania.
block.overflow-gate.name = Brama Przepełnieniowa
block.silicon-smelter.name = Huta Krzemu
block.phase-weaver.name = Fazowa Fabryka
@@ -879,6 +934,7 @@ block.coal-centrifuge.name = Wirówka węglowa
block.power-node.name = Węzeł Prądu
block.power-node-large.name = Duży Węzeł Prądu
block.surge-tower.name = Wieża Energetyczna
block.diode.name = Dioda baterii
block.battery.name = Bateria
block.battery-large.name = Duża Bateria
block.combustion-generator.name = Generator Spalinowy
@@ -931,6 +987,7 @@ block.fortress-factory.name = Fabryka Mechów Forteca
block.revenant-factory.name = Fabryka Krążowników Zjawa
block.repair-point.name = Punkt Napraw
block.pulse-conduit.name = Rura Pulsacyjna
block.plated-conduit.name = Opancerzona rura
block.phase-conduit.name = Rura Fazowa
block.liquid-router.name = Rozdzielacz Płynów
block.liquid-tank.name = Zbiornik Płynów
@@ -982,8 +1039,8 @@ unit.eradicator.name = Niszczyciel
unit.lich.name = Obudzony
unit.reaper.name = Żniwiarz
tutorial.next = [lightgray]<Kliknij, aby kontynuować>
tutorial.intro = Wszedłeś do[scarlet] Samouczka Mindustry.[]\nZacznij od[accent] wydobycia miedzi[]. Aby to zrobić, dotknij żyły rudy miedzi w pobliżu rdzenia.\n\n[accent]{0}/{1} miedź
tutorial.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers [] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
tutorial.intro = Wszedłeś do[scarlet] Samouczka Mindustry.[]\nUżyj [accent][[WASD][], aby poruszyć się.\n[accent]Przytrzymaj [[Ctrl] podczas przewijania[], aby przybliżyć i oddalić widok.\nZacznij od[accent] wydobycia miedzi[]. W tym celu przybliż się, a następnie dotknij żyły rudy miedzi w pobliżu rdzenia.\n\n[accent]{0}/{1} miedź
tutorial.intro.mobile = Wszedłeś do[scarlet] Samouczka Mindustry.[]\nPrzesuń palcem po ekranie, aby poruszyć się.\n[accent]Użyj dwóch palcy[], aby przybliżyć i oddalić widok.\nZacznij od[accent] wydobycia miedzi[]. W tym celu przybliż się, a następnie dotknij żyły rudy miedzi w pobliżu rdzenia.\n\n[accent]{0}/{1} miedź
tutorial.drill = Wydobywanie ręczne nie jest efektywne.\n[accent]Wiertła []mogą kopać automatycznie.\nKliknij zakładkę wiertła w prawym dolnym rogu.\nWybierz[accent] wiertło mechaniczne[]. Umieść go na złożu miedzi, klikając.\n[accent]Kliknij prawym przyciskiem myszy[], aby przestać budować.
tutorial.drill.mobile = Wydobywanie ręczne jest nieefektywne.\n[accent]Wiertła []mogą kopać automatycznie.\nDotknij zakładkę wiertła w prawym dolnym rogu.\nWybierz[accent] wiertło mechaniczne[].\nUmieść go na złożu miedzi poprzez Stuknięcie, potem wciśnij[accent] ptaszek[] na dole by potwierdzić wybór.\nNaciśnij przycisk[accent] X[] by anulować budowe.
tutorial.blockinfo = Każdy blok ma inne statystyki. Każde wiertło może kopać tylko wybrane rudy.\nBy sprawdzić informacje i statystyki bloku,[accent] kliknij przycisk "?" podczas jego wyboru w menu budowy.[]\n\n[accent]Sprawdź teraz statystyki mechanicznego wiertła.[]
@@ -1002,12 +1059,13 @@ tutorial.deposit = Włóż przedmioty do bloków poprzez przeciągnięcie z twoj
tutorial.waves = [lightgray] Wrogowie[] nadchodzą.\n\nBroń swój rdżeń przez 2 fale.[accent] Kliknij[] by strzelać.\nZbuduj wiecej działek i wierteł. Wydobądź więcej miedzi.
tutorial.waves.mobile = [lightgray] Wrogowie[] nadchodzą.\n\nBroń swój rdzeń przez 2 fale. Twój statek będzie automatycznie atakował wrogów.\nZbuduj wiecej działek i wierteł. Wydobądź więcej miedzi.
tutorial.launch = Kiedy dotrzesz do określonej fali, masz możliwość[accent] wystrzelenia rdzenia[], pozostawiając struktury obronne za sobą i[accent] otrzymując wszystkie surowce znajdujące się w rdzeniu.[]\nSurowce te mogą potem zostać użyte do odkrywania nowych technologii.\n\n[accent]Naciśnij przycisk Wystrzału.
item.copper.description = Przydatny materiał budowlany. Szeroko używany w prawie każdej konstrukcji.
item.lead.description = Podstawowy matriał. Używany w przesyle przemiotów i płynów. Nie jest on przypadkiem szkodliwy?
item.lead.description = Podstawowy materiał. Używany w przesyle przemiotów i płynów. Nie jest on przypadkiem szkodliwy?
item.metaglass.description = Wyjątkowo wytrzymały stop szkła. Szeroko używany w transporcie i przechowywaniu płynów.
item.graphite.description = Zmineralizowany węgiel, wykorzystywany do amunicji i izolacji elektrycznej.
item.sand.description = Zwykły materiał używany pospolicie w przepalaniu, stopach i jako topnik. Dostanie piaskiem po oczach nie jest przyjemne.
item.coal.description = Zwykły i łatwo dostępny materiał energetyczny.
item.sand.description = Zwykły materiał używany pospolicie w przepalaniu, stopach i jako topnik. Dostanie piaskiem po oczach nie jest przyjemne.
item.coal.description = Zwykły i łatwo dostępny materiał energetyczny. Używany powszechnie jako paliwo oraz w produkcji surowców.
item.titanium.description = Rzadki i bardzo lekki materiał. Używany w bardzo zaawansowanym przewodnictwie, wiertłach i samolotach. Poczuj się jak Tytan!
item.thorium.description = Zwarty i radioaktywny materiał używany w strukturach i paliwie nuklearnym. Nie trzymaj go w rękach!
item.scrap.description = Pozostałości starych budynków i jednostek. Składa się z małej ilości wszystkiego.
@@ -1021,7 +1079,7 @@ item.pyratite.description = Niesamowicie palny związek używany w zbrojeniu. Ni
liquid.water.description = Powszechnie używana do schładzania budowli i przetwarzania odpadów.
liquid.slag.description = Wiele różnych metali stopionych i zmieszanych razem. Może zostać rozdzielony na jego metale składowe, albo wystrzelony w wrogie jednostki i użyty jako broń.
liquid.oil.description = Używany w do produkcji złożonych materiałów. Może zostać przetworzony na węgiel, lub wystrzelony w wrogów przez wieżyczke.
liquid.cryofluid.description = Najefektywniejsza ciecz do schładzania budowli.
liquid.cryofluid.description = Obojętna, niekorozyjna ciecz utworzona z wody i tytanu
mech.alpha-mech.description = Standardowy mech. Bazuje na jednostce Nóż, z ulepszonym pancerzem i zdolnością budowania. Zadaje więcej obrażeń niż Strzałka.
mech.delta-mech.description = Szybki, lekko opancerzony mech stworzony do ataków typu uderz i uciekaj. Zadaje niewielkie obrażenia strukturom, lecz może bardzo szybko niszczyć spore grupy jednostek wroga przy pomocy jego działek tesli.
mech.tau-mech.description = Mech wsparcia. Naprawia budynki drużyny, strzelając w nie. Potrafi wygasić niedalekie pożary i uleczyć bliskich przyjaciół.
@@ -1038,7 +1096,7 @@ unit.crawler.description = Jednostka naziemna składająca się z rozebranej ram
unit.titan.description = Zaawansowana, opancerzona jednostka naziemna. Atakuje zarówno cele naziemne, jak i powietrzne. Wyposażony w dwa miniaturowe miotacze ognia typu Płomień.
unit.fortress.description = Ciężki mech artyleryjski. Wyposażony w dwa zmodyfikowane działa typu gradowego do ataku na dalekie odległości na konstrukcje i jednostki wroga.
unit.eruptor.description = Ciężki mech stworzony do niszczenia struktur. Strzela wiązką żużlu w kierunku fortyfikacji wroga, Topiąc je oraz podpalając łatwopalne przedmioty.
unit.wraith.description = Szybka jednostka, stosuje taktyke uderz-uciekaj Namierza jakiekolwiek źródło prądu.
unit.wraith.description = Szybka jednostka, stosuje taktykę uderz-uciekaj. Namierza jakiekolwiek źródło prądu.
unit.ghoul.description = Ciężki bombowiec dywanowy. Rozdziera struktury wroga, atakując krytyczną infrastrukturę.
unit.revenant.description = Ciężka, unosząca sie platforma z rakietami.
block.message.description = Przechowuje wiadomość. Wykorzystywane do komunikacji pomiędzy sojusznikami.
@@ -1078,8 +1136,8 @@ block.surge-wall-large.description = Ekstremalnie wytrzymały blok obronny.\nMa
block.door.description = Małe drzwi, które można otwierać i zamykać, klikając na nie.\nJeśli są otwarte, wrogowie mogą strzelać i się przemieszczać przez nie.
block.door-large.description = Duże drzwi, które można otwierać i zamykać, klikając na nie.\nJeśli są otwarte, wrogowie mogą strzelać i się przemieszczać przez nie.\nObejmuje wiele kratek.
block.mender.description = Co jakiś czas naprawia bloki w zasięgu. Utrzymuje struktury obronne w dobrym stanie.\nOpcjonalnie używa silikonu do zwiększenia zasięgu i szybkości naprawy.
block.mend-projector.description = Co jakiś czas naprawia bloki w zasięgu. Lepsza wersja naprawiacza.
block.overdrive-projector.description = Zwiększa szybkość budynków w zasięgu takich jak wiertła czy przenośniki.
block.mend-projector.description = Ulepszona wersja Naprawiacza. Naprawia bloki w jego otoczeniu.\nMoże wykorzystywać włókno fazowe, aby zwiększyć efektywność budowli.
block.overdrive-projector.description = Zwiększa szybkość budynków w zasięgu takich jak wiertła czy przenośniki. Może wykorzystywać włókno fazowe, aby zwiększyć zasięg i efektywność budowli.
block.force-projector.description = Wytwarza pole siłowe w kształcie sześciokąta wokół siebie, chroniąc budynki i jednostki wewnątrz od obrażeń zadanych przez pociski.
block.shock-mine.description = Zadaje obrażenia jednostkom wroga którzy na nią wejdą. Ledwo widoczne dla wrogów.
block.conveyor.description = Podstawowy blok transportowy dla przedmiotów. Automatycznie przesyła przedmioty naprzód do działek oraz maszyn. Można obrócić.
@@ -1088,7 +1146,7 @@ block.junction.description = Używany jako most dla dwóch krzyżujących się p
block.bridge-conveyor.description = Zaawansowany blok transportujący. Pozwala na przenoszenie przedmiotów nawet do 3 bloków na każdym terenie, przez każdy budynek.
block.phase-conveyor.description = Zaawansowany blok transportowy dla przedmiotów. Używa energii do teleportacji przedmiotów do połączonego transportera fazowego na spore odległości.
block.sorter.description = Sortuje przedmioty. Jeśli przedmiot pasuje to przechodzi dalej, jeśli nie - to przechodzi na boki.
block.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead.
block.inverted-sorter.description = Sortuje przedmioty jak zwykły sortownik, ale odpowiednie surowce wyciągane są na boki.
block.router.description = Akceptuje przedmioty z jednego miejsca i rozdziela je do trzech innych kierunków. Przydatne w rozdzielaniu materiałów z jednego źródła do wielu celów.
block.distributor.description = Zaawansowany rozdzielacz, rozdzielający przedmioty do 7 innych kierunków.
block.overflow-gate.description = Rozdzielacz, który przerzuca przedmioty, kiedy główna droga jest przepełniona
@@ -1098,6 +1156,7 @@ block.rotary-pump.description = Zaawansowana pompa. Pompuje więcej cieczy, ale
block.thermal-pump.description = Najlepsza pompa. Trzy razy szybsza od mechanicznej pompy i jedyna, która może wypompować lawę.
block.conduit.description = Podstawowy blok do transportowania cieczy. Używany w połączeniu z pompami i innymi rurami.
block.pulse-conduit.description = Zaawansowany blok do transportowania cieczy. Transportuje je szybciej i magazynuje więcej niż standardowe rury.
block.plated-conduit.description = Przesyła ciecze z taką samą szybkością co rura tytanowa, ale jest bardziej odporna. Wejściami bocznymi mogą być tylko inne rury.\nWycieka z niej mniej cieczy.
block.liquid-router.description = Akceptuje płyny z jednego kierunku i wyprowadza je po równo do trzech innych kierunków. Może również przechowywać pewną ilość płynu. Przydatne do dzielenia płynów z jednego źródła do wielu celów.
block.liquid-tank.description = Magazynuje duże ilości cieczy. Użyj go do stworzenia buforu, gdy występuje różne zapotrzebowanie na materiały lub jako zabezpieczenie dla chłodzenia ważnych bloków.
block.liquid-junction.description = Działa jak most dla dwóch krzyżujących się rur. Przydatne w sytuacjach, kiedy dwie rury mają różne ciecze do różnych lokacji.
@@ -1106,6 +1165,7 @@ block.phase-conduit.description = Zaawansowany blok do przenoszenia cieczy. Uży
block.power-node.description = Przesyła moc do połączonych węzłów. Można podłączyć do czterech źródeł zasilania, zlewów lub węzłów. Zasila też bloki które go dotykają.
block.power-node-large.description = Posiada większy zasięg niż zwykły węzeł prądu. Można podłączyć do sześciu źródeł zasilania, zlewów lub węzłów.
block.surge-tower.description = Węzęł prądu z bardzo dużym zasięgiem, posiadający mniej możliwych podłączeń.
block.diode.description = Battery power can flow through this block in only one direction, but only if the other side has less power stored.
block.battery.description = Przechowuje energię przy nadwyżce produkcji oraz dostarcza energię kiedy jest jej brak, dopóki jest w niej miejsce.
block.battery-large.description = Przechowuje o wiele wiecej prądu niż standardowa bateria.
block.combustion-generator.description = Wytwarza energię poprzez spalanie łatwopalnych materiałów.
@@ -1121,14 +1181,14 @@ block.mechanical-drill.description = Tanie wiertło. Kiedy zostanie zbudowane na
block.pneumatic-drill.description = Ulepszone wiertło, które jest szybsze i może wykopywać twardsze surowce przy użyciu ciśnienia.
block.laser-drill.description = Pozwala kopać jeszcze szybciej poprzez technologię laserową, ale wymaga energii. Zdolne do wydobywania toru.
block.blast-drill.description = Najlepsze wiertło. Wymaga dużych ilości energii.
block.water-extractor.description = Wydobywa wodę z ziemi. Użyj go, gdy w pobliżu nie ma jeziora.
block.water-extractor.description = Wydobywa wodę z ziemi. Użyj go, gdy w pobliżu brakuje wody.
block.cultivator.description = Uprawia małe skupiska zarodników i umieszcza je w gotowych do dalszego przetwarzania kapsułach.
block.oil-extractor.description = Używa bardzo dużych ilości energii do ekstrakcji ropy z piasku. Używaj go w sytuacji kiedy nie ma bezpośredniego źródła ropy w okolicy.
block.core-shard.description = Pierwsza wersja rdzenia. Gdy zostaje zniszczony, wszelki kontakt do regionu zostaje utracony. Nie pozwól na to.
block.core-foundation.description = Druga wersja rdzenia. Lepiej opancerzony. Przechowuje więcej surowców.
block.core-nucleus.description = Trzecia i ostatnia wersja rdzenia. Bardzo dobrze opanczerzony. Przechowuje ogromne ilości surowców.
block.vault.description = Przechowuje duże ilości przedmiotów każdego rodzaju. [LIGHT_GRAY] Ekstraktor[] może zostać użyty do rozładowania magazynu.
block.container.description = Przechowuje małe ilości przedmiotów każdego rodzaju. [LIGHT_GRAY] ekstraktor[] może zostać użyty do rozładowania kontenera.
block.vault.description = Przechowuje duże ilości przedmiotów każdego rodzaju. Użyj ekstraktora, aby rozładować magazyn.
block.container.description = Przechowuje małe ilości przedmiotów każdego rodzaju. Użyj ekstraktora, aby rozładować kontener.
block.unloader.description = Wyciąga przedmioty z kontenera, magazynu oraz rdżenia na przenośniki lub bezpośrednio na przyległe bloki. Typ przedmiotu jaki zostanie wyciągniety może zostać zmieniony poprzez kliknięcie.
block.launch-pad.description = Wysyła pakiety przedmiotów bez potrzeby wystrzeliwania rdżenia. Niedokończona.
block.launch-pad-large.description = Ulepszona wersja wyrzutni. Magazynuje więcej przedmiotów. Wysyła częściej.

View File

@@ -81,7 +81,7 @@ uploadingpreviewfile = Enviando ficheiro de pré-visualização
committingchanges = Enviando mudanças
done = Feito
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry Github or Discord.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]No mods found!
@@ -98,7 +98,7 @@ mod.enable = Ativar
mod.requiresrestart = The game will now close to apply the mod changes.
mod.reloadrequired = [scarlet]Reload Required
mod.import = Importar Mod
mod.import.github = Importar Mod da Github
mod.import.github = Importar Mod da GitHub
mod.remove.confirm = Este mod irá ser apagado.
mod.author = [LIGHT_GRAY]Autor:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}

View File

@@ -1,54 +1,59 @@
credits.text = Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]
credits.text = Criado por [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]
credits = Créditos
contributors = Tradutores e contribuidores
discord = Junte-se ao Discord do Mindustry! (Lá nós falamos em inglês)
link.discord.description = O discord oficial do Mindustry
link.reddit.description = The Mindustry subreddit
link.reddit.description = O subreddit do Mindustry
link.github.description = Código fonte do jogo.
link.changelog.description = Lista de mudanças da atualização
link.dev-builds.description = Desenvolvimentos Instáveis
link.trello.description = Trello Oficial para Updates Planejados
link.itch.io.description = Pagina da Itch.io com os Downloads
link.google-play.description = Listamento do google play store
link.dev-builds.description = Desenvolvimentos instáveis
link.trello.description = Trello oficial para atualizações planejadas
link.itch.io.description = Página da Itch.io com os downloads
link.google-play.description = Página da google play store
link.f-droid.description = F-Droid catalogue listing
link.wiki.description = Wiki oficial do Mindustry
linkfail = Falha ao abrir o link\nO Url foi copiado
linkfail = Falha ao abrir o link\nO Url foi copiado para a área de transferência.
screenshot = Screenshot salvo para {0}
screenshot.invalid = Mapa grande demais, Potencialmente sem memória suficiente para captura.
screenshot.invalid = Mapa grande demais, Potencialmente sem memória suficiente para captura de tela.
gameover = O núcleo foi destruído.
gameover.pvp = O time[accent] {0}[] ganhou!
highscore = [YELLOW]Novo recorde!
copied = Copied.
copied = Copiado
load.sound = Sons
load.map = Mapas
load.image = Imagens
load.content = Conteúdo
load.system = Sistema
load.mod = Mods
schematic = Schematic
schematic.add = Save Schematic...
schematics = Schematics
schematic.replace = A schematic by that name already exists. Replace it?
schematic.import = Import Schematic...
schematic.exportfile = Export File
schematic.importfile = Import File
schematic.browseworkshop = Browse Workshop
schematic.copy = Copy to Clipboard
schematic.copy.import = Import from Clipboard
schematic.shareworkshop = Share on Workshop
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Flip Schematic
schematic.saved = Schematic saved.
schematic.delete.confirm = This schematic will be utterly eradicated.
schematic = Esquema
schematic.add = Salvar Esquema...
schematics = Esquemas
schematic.replace = Um Esquema com esse nome já existe. Substituí-lo?
schematic.import = Importar Esquema...
schematic.exportfile = Exportar arquivo
schematic.importfile = Importar arquivo
schematic.browseworkshop = Navegar pela Oficina
schematic.copy = Copiar para a área de transferência
schematic.copy.import = Importar da área de transferência
schematic.shareworkshop = Compartilhar na Oficina
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Virar o Esquema
schematic.saved = Esquema salvo.
schematic.delete.confirm = Esse Esquema será totalmente erradicado.
schematic.rename = Rename Schematic
schematic.info = {0}x{1}, {2} blocks
stat.wave = Hordas derrotadas:[accent] {0}
stat.enemiesDestroyed = Inimigos Destruídos:[accent] {0}
stat.built = Construções construídas:[accent] {0}
stat.destroyed = Construções destruídas:[accent] {0}
stat.deconstructed = Construções desconstruídas:[accent] {0}
stat.delivered = Recursos lançados:
stat.rank = Rank Final: [accent]{0}
stat.rank = Classificação Final: [accent]{0}
launcheditems = [accent]Itens lançados
launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue.
launchinfo = [unlaunched][[LANCE] seu núcleo para obter os itens indicados em azul.
map.delete = Certeza que quer deletar o mapa "[accent]{0}[]"?
level.highscore = Melhor\npontuação: [accent] {0}
level.select = Seleção de Fase
@@ -56,11 +61,11 @@ level.mode = Modo de Jogo:
showagain = Não mostrar na proxima sessão
coreattack = < O núcleo está sobre ataque! >
nearpoint = [[ [scarlet]SAIA DO PONTO DE SPAWN IMEDIATAMENTE[] ]\nANIQUILAÇÃO IMINENTE
database = banco do núcleo
database = Banco de dados
savegame = Salvar Jogo
loadgame = Carregar Jogo
joingame = Entrar no Jogo
customgame = Jogo Customi-/nzado
customgame = Jogo Customi-\nzado
newgame = Novo Jogo
none = <nenhum>
minimap = Mini-Mapa
@@ -74,66 +79,70 @@ maps.browse = Pesquisar mapas
continue = Continuar
maps.none = [LIGHT_GRAY]Nenhum Mapa Encontrado!
invalid = Inválido
pickcolor = Escolher Cor
preparingconfig = Preparando configuração
preparingcontent = Preparando conteúdo
uploadingcontent = Fazendo upload do conteúdo
uploadingpreviewfile = Fazendo upload do arquivo de pré visualização
uploadingpreviewfile = Fazendo upload do arquivo de pré-visualização
committingchanges = Enviando mudanças
done = Feito
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Mantenha em mente que os mods estão em Alpha, e[scarlet] talvez sejam bem bugados[].\nReporte quaisquer problemas no Discord ou Github do Mindustry.
feature.unsupported = Seu dispositivo não suporta essa função.
mods.alphainfo = Mantenha em mente que os mods estão em Alpha, e[scarlet] talvez sejam bem bugados[].\nReporte quaisquer problemas no Discord ou GitHub do Mindustry.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]No mods found!
mods.guide = Modding Guide
mods.report = Report Bug
mods.openfolder = Open Mod Folder
mod.enabled = [lightgray]Enabled
mod.disabled = [scarlet]Disabled
mod.disable = Disable
mod.delete.error = Unable to delete mod. File may be in use.
mod.missingdependencies = [scarlet]Missing dependencies: {0}
mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
mod.enable = Enable
mod.requiresrestart = The game will now close to apply the mod changes.
mod.reloadrequired = [scarlet]Reload Required
mod.import = Import Mod
mod.import.github = Import Github Mod
mod.remove.confirm = This mod will be deleted.
mods.none = [LIGHT_GRAY]Nenhum Mod encontrado!
mods.guide = Guia de Mods
mods.report = Reportar um Bug
mods.openfolder = Abrir pasta de Mods
mod.enabled = [lightgray]Ativado
mod.disabled = [scarlet]Desativado
mod.disable = Desati-\nvar
mod.delete.error = Incapaz de deletar o Mod. O arquivo talvez esteja em uso.
mod.requiresversion = [scarlet]Requer versão [accent]{0} [scarlet]do jogo.
mod.missingdependencies = [scarlet]Dependências ausentes: {0}
mod.nowdisabled = [scarlet]O Mod '{0}' está com dependências ausentes:[accent] {1}\n[lightgray]Esses Mods precisam ser baixados primeiro.\nEsse Mod será desativado automaticamente.
mod.enable = Ativar
mod.requiresrestart = O jogo irá fechar para aplicar as mudanças do Mod.
mod.reloadrequired = [scarlet]Recarregamento necessário
mod.import = Importar Mod
mod.import.github = Importar Mod do GitHub
mod.remove.confirm = Esse Mod será deletado.
mod.author = [LIGHT_GRAY]Author:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}
mod.preview.missing = Before publishing this mod in the workshop, you must add an image preview.\nPlace an image named[accent] preview.png[] into the mod's folder and try again.
mod.folder.missing = Only mods in folder form can be published on the workshop.\nTo convert any mod into a folder, simply unzip its file into a folder and delete the old zip, then restart your game or reload your mods.
mod.missing = Esse jogo salvo foi criado antes de você atualizar ou desinstalar um mod. O jogo salvo pode se corromper. Você tem certeza que quer carregar?\n[lightgray]Mods:\n{0}
mod.preview.missing = Antes de publicar esse mod na Oficina, você deve adicionar uma imagem de pré-visualização.\nColoque uma imagem com o nome[accent] preview.png[] na pasta do Mod e tente novamente.
mod.folder.missing = Somente Mods no formato de pasta serão publicados na Oficina.\nPara converter qualquer Mod em uma pasta, Simplesmente descompacte seu arquivo numa pasta e delete a compactação antiga, então reinicie seu jogo ou recarregue os Mods.
about.button = Sobre
name = Nome:
noname = Escolha[accent] um nome[] primeiro.
filename = Nome do arquivo:
unlocked = Novo bloco Desbloqueado!
unlocked = Novo bloco desbloqueado!
completed = [accent]Completado
techtree = Árvore de tecnologia
research.list = [LIGHT_GRAY]Pesquise:
research = Pesquisa
researched = [LIGHT_GRAY]{0} pesquisado.
research = Pesquisar
researched = [LIGHT_GRAY]{0} Pesquisado.
players = {0} Jogadores Ativos
players.single = {0} Jogador Ativo
server.closing = [accent]Fechando servidor...
server.kicked.kick = Voce foi expulso do servidor!
server.kicked.kick = Você foi expulso do servidor!
server.kicked.whitelist = Você não está na lista branca do servidor.
server.kicked.serverClose = Servidor Fechado.
server.kicked.vote = Você foi expulso desse servidor. Adeus.
server.kicked.clientOutdated = Cliente desatualizado! Atualize seu jogo!
server.kicked.serverOutdated = Servidor desatualiado! Peça ao dono para atualizar!
server.kicked.serverOutdated = Servidor desatualizado! Peça ao dono para atualizar!
server.kicked.banned = Você foi banido do servidor.
server.kicked.typeMismatch = Este servidor não é compatível com a sua versão.
server.kicked.playerLimit = Este servidor está cheio. Espere por uma vaga.
server.kicked.recentKick = Voce foi expulso recentemente.\nEspere para conectar de novo.
server.kicked.recentKick = Voce foi expulso recentemente.\nEspere para se conectar de novo.
server.kicked.nameInUse = Este nome já está sendo usado\nneste servidor.
server.kicked.nameEmpty = Você deve ter pelo menos uma letra ou número no nome.
server.kicked.idInUse = Você ja está neste servidor! Conectar com duas contas não é permitido.
server.kicked.customClient = Este servidor não suporta versões customizadas. Baixe a versão original.
server.kicked.gameover = Fim de jogo!
server.versions = Sua versão:[accent] {0}[]\nVersão do servidor:[accent] {1}[]
host.info = The [accent]Hospedar[]Botão Hospeda um servidor no Host[scarlet]6567[] e [scarlet]6568.[]\nQualquer um no [LIGHT_GRAY]Wi-fi Ou Internet local[] Pode ver este servidor na lista de servidores.\n\nSe voce quer poder entrar em qualquer servidor em seu ip, [accent]port forwarding[] é requerido.\n\n[LIGHT_GRAY]Note: Se alguem esta com problemas em conectar no seu servidor lan, Tenha certeza que deixou mindustry Acessar sua internet local nas configurações de firewall
host.info = The [accent]Hospedar[]Botão Hospeda um servidor no Host[scarlet]6567[] e [scarlet]6568.[]\nQualquer um no [LIGHT_GRAY]Wi-fi Ou Internet local[] Pode ver este servidor na lista de servidores.\n\nSe voce quer poder entrar em qualquer servidor em seu ip, [accent]port forwarding[] é requerido.\n\n[LIGHT_GRAY]Note: Se alguém esta com problemas em conectar no seu servidor lan, Tenha certeza que deixou mindustry Acessar sua internet local nas configurações de firewall
join.info = Aqui, você pode entar em um [accent]IP de servidor[] para conectar, ou descobrir [accent]servidores[] da rede local.\nAmbos os servidores LAN e WAN são suportados.\n\n[LIGHT_GRAY]Note: Não há uma lista de servidores automáticos; Se você quer conectar ao IP de alguém, você precisa pedir o IP ao anfitrião.
hostserver = Hospedar servidor
invitefriends = Convidar amigos
@@ -201,8 +210,8 @@ save.newslot = Nome do salvamento:
save.rename = Renomear
save.rename.text = Novo jogo:
selectslot = Selecione um lugar para salvar.
slot = [accent]Slot {0}
editmessage = Edit Message
slot = [accent]Conexões {0}
editmessage = Editar Mensagem
save.corrupted = [accent]Arquivo corrompido ou inválido!
empty = <vazio>
on = Ligado
@@ -216,8 +225,8 @@ save.playtime = Tempo De Jogo: {0}
warning = Aviso.
confirm = Confirmar
delete = Excluir
view.workshop = Ver na oficina
workshop.listing = Edit Workshop Listing
view.workshop = Ver na Oficina
workshop.listing = Editar a lista da Oficina
ok = OK
open = Abrir
customize = Customizar
@@ -235,12 +244,12 @@ classic.export.text = [accent]Mindustry[] acabou de ter uma grande atualização
quit.confirm = Você tem certeza que quer sair?
quit.confirm.tutorial = Você tem certeza você sabe o que você esta fazendo?\nO tutorial pode ser refeito nas [accent] Configurações->Jogo->Refazer Tutorial.[]
loading = [accent]Carregando...
reloading = [accent]Reloading Mods...
reloading = [accent]Recarregando Mods...
saving = [accent]Salvando...
cancelbuilding = [accent][[{0}][] to clear plan
selectschematic = [accent][[{0}][] to select+copy
pausebuilding = [accent][[{0}][] to pause building
resumebuilding = [scarlet][[{0}][] to resume building
cancelbuilding = [accent][[{0}][] para cancelar a construção
selectschematic = [accent][[{0}][] para selecionar+copiar
pausebuilding = [accent][[{0}][] para parar a construção
resumebuilding = [scarlet][[{0}][] para continuar a construção
wave = [accent]Horda {0}
wave.waiting = Horda em {0}
wave.waveInProgress = [LIGHT_GRAY]Horda Em Progresso
@@ -259,18 +268,19 @@ map.nospawn = Este mapa não possui nenhum núcleo para o jogador nascer! Adicio
map.nospawn.pvp = Esse mapa não tem núcleos inimigos para os jogadores nascerem! Adicione[SCARLET] Núcleos vermelhos[] no mapa no editor.
map.nospawn.attack = Esse mapa não tem nenhum núcleo inimigo para o jogador atacar! coloque[SCARLET] Núcleos[] vermelhos no editor.
map.invalid = Erro ao carregar o mapa: Arquivo de mapa invalido ou corrupto.
workshop.update = Update Item
workshop.error = Error fetching workshop details: {0}
workshop.update = Atualizar Item
workshop.error = Erro buscando os detalhes da Oficina: {0}
map.publish.confirm = Você tem certeza de que quer publicar este mapa?\n\n[lightgray]Tenha certeza de que você concorda com o EULA da oficina primeiro, ou seus mapas não serão mostrados!
workshop.menu = Select what you would like to do with this item.
workshop.info = Item Info
workshop.menu = Selecione oquê você gostaria de fazer com esse Item.
workshop.info = Informação do Item
changelog = Changelog (optional):
eula = EULA do Steam
eula = EULA da Steam
missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked.
publishing = [accent]Publishing...
publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up!
publish.error = Error publishing item: {0}
steam.error = Failed to initialize Steam services.\nError: {0}
publish.confirm = você tem certeza de que quer publicar isso?\n\n[lightgray]Primeiramente tenha certeza de que você concorda com o EULA da Oficina, ou seus itens não irão aparecer!
publish.error = Erro publicando o Item: {0}
steam.error = Falha em iniciar os serviços da Steam.\nError: {0}
editor.brush = Pincel
editor.openin = Abrir no Editor
editor.oregen = Geração de minério
@@ -283,7 +293,7 @@ editor.waves = Hordas:
editor.rules = Regras:
editor.generation = Geração:
editor.ingame = Editar em jogo
editor.publish.workshop = Publicar na oficina
editor.publish.workshop = Publicar na Oficina
editor.newmap = Novo mapa
workshop = Oficina
waves.title = Hordas
@@ -294,7 +304,7 @@ waves.waves = Hordas(s)
waves.perspawn = por spawn
waves.to = para
waves.boss = Chefe
waves.preview = Pré visualizar
waves.preview = Pré-visualizar
waves.edit = Editar...
waves.copy = Copiar para área de transferência
waves.load = Carregar da área de transferência
@@ -347,6 +357,7 @@ editor.overwrite = [accent]Aviso!\nIsso Substitui um mapa existente.
editor.overwrite.confirm = [scarlet]Aviso![] Um mapa com esse nome já existe. Tem certeza que deseja substituir?
editor.exists = Já existe um mapa com este nome.
editor.selectmap = Selecione uma mapa para carregar:
toolmode.replace = Substituir
toolmode.replace.description = Desenha apenas em blocos sólidos.
toolmode.replaceall = Substituir tudo
@@ -361,6 +372,7 @@ toolmode.fillteams = Encher times
toolmode.fillteams.description = Muda o time do qual todos os blocos pertencem.
toolmode.drawteams = Desenhar times
toolmode.drawteams.description = Muda o time do qual o bloco pertence.
filters.empty = [LIGHT_GRAY]Sem filtro! Adicione um usando o botão abaixo.
filter.distort = Distorcedor
filter.noise = Geração aleatória
@@ -392,28 +404,30 @@ filter.option.floor2 = Chão secundário
filter.option.threshold2 = Margem secundária
filter.option.radius = Raio
filter.option.percentile = Percentual
width = Largura:
height = Altura:
menu = Menu
play = Jogar
campaign = Campa-/nnha
campaign = Campa-\nnha
load = Carregar
save = Salvar
fps = FPS: {0}
ping = Ping: {0}ms
language.restart = Por favor, reinicie seu jogo para a tradução tomar efeito.
settings = Configu-/nrações
settings = Configu-\nrações
tutorial = Tutorial
tutorial.retake = Refazer Tutorial
editor = Editor
mapeditor = Editor de mapa
abandon = Abandonar
abandon.text = Esta zona e todos os seus recursos serão perdidos para o inimigo.
locked = Trancado
complete = [LIGHT_GRAY]Completo:
requirement.wave = Reach Wave {0} in {1}
requirement.core = Destroy Enemy Core in {0}
requirement.unlock = Unlock {0}
requirement.wave = Alcançar a Horda {0} em {1}
requirement.core = Destruir o núcleo inimigo em {0}
requirement.unlock = Desbloquear {0}
resume = Resumir Zona:\n[LIGHT_GRAY]{0}
bestwave = [LIGHT_GRAY]Melhor: {0}
launch = Lançar
@@ -425,18 +439,19 @@ launch.skip.confirm = Se você pular a horda agora, você não será capaz de la
uncover = Descobrir
configure = Configurar carregamento
bannedblocks = Blocos Banidos
addall = Add All
addall = Adicionar Todos
configure.locked = [LIGHT_GRAY]Alcançe a horda {0}\npara configurar o carregamento.
configure.invalid = A quantidade deve ser um número entre 0 e {0}.
zone.unlocked = [LIGHT_GRAY]{0} Desbloqueado.
zone.requirement.complete = Horda {0} alcançada:\n{1} Requerimentos da zona alcançada.
zone.config.unlocked = Loadout unlocked:[lightgray]\n{0}
zone.config.unlocked = Equipamento desbloqueado:[lightgray]\n{0}
zone.resources = Recursos detectados:
zone.objective = [lightgray]Objetivo: [accent]{0}
zone.objective.survival = Sobreviver
zone.objective.attack = Destruir o núcleo inimigo
add = Adicionar...
boss.health = Saúde do chefe
boss.health = Vida do chefe
connectfail = [crimson]Falha ao entrar no servidor: [accent]{0}
error.unreachable = Servidor inalcançável.
error.invalidaddress = Endereço inválido.
@@ -447,6 +462,7 @@ error.mapnotfound = Arquivo de mapa não encontrado!
error.io = Erro I/O de internet.
error.any = Erro de rede desconhecido.
error.bloom = Falha ao inicializar bloom.\nSeu dispositivo talvez não o suporte.
zone.groundZero.name = Marco zero
zone.desertWastes.name = Ruínas do Deserto
zone.craters.name = As crateras
@@ -461,6 +477,7 @@ zone.saltFlats.name = Planícies de sal
zone.impact0078.name = Impacto 0078
zone.crags.name = Penhascos
zone.fungalPass.name = Passagem Fúngica
zone.groundZero.description = Uma ótima localização para começar de novo. Baixa ameaça inimiga. Poucos recursos.\nColete o máximo de chumbo e cobre possível.\nContinue!
zone.frozenForest.description = Até aqui, perto das montanhas, os esporos se espalharam. As baixas temperaturas não podem contê-los para sempre.\n\nComeçe a busca por energia. Construa geradores à combustão. Aprenda a usar os reparadores (menders).
zone.desertWastes.description = Estas ruínas são vastas, imprevisíveis, e cruzadas por estruturas abandonadas.\nCarvão está presente na região. O queime por energia, ou sintetize grafite.\n\n[lightgray]Este local de pouso não pode ser garantido.
@@ -475,17 +492,19 @@ zone.nuclearComplex.description = Uma antiga instalação para produção e proc
zone.fungalPass.description = Uma area de transição entre montanhas altas e baixas, terras cheias de esporos. Uma pequena base de reconhecimento inimiga está localizada aqui.\nDestrua-a.\nUse as unidades crawler e dagger. Destrua os dois núcleos.
zone.impact0078.description = <insert description here>
zone.crags.description = <insert description here>
settings.language = Linguagem
settings.language = Idioma
settings.data = Dados do jogo
settings.reset = Restaurar Padrões
settings.rebind = Religar
settings.resetKey = Resetar
settings.controls = Controles
settings.game = Jogo
settings.sound = Som
settings.graphics = Gráficos
settings.cleardata = Apagar dados...
settings.clear.confirm = Certeza que quer limpar a os dados?\nOque é feito não pode ser desfeito!
settings.clearall.confirm = [scarlet]Aviso![]\nIsso vai limpar toda a data, Incluindo saves, mapas, Keybinds e desbloqueados.\nQuando apertar 'ok' Vai apagar toda a data e sair automaticamente.
settings.clearall.confirm = [scarlet]Aviso![]\nIsso vai limpar todo os arquivos, incluindo jogos salvos, mapas, teclas personalizadas e desbloqueados.\nQuando apertar 'ok' todos os arquivos serão apagados e o jogo irá sair automaticamente.
paused = Pausado
clear = Clear
banned = [scarlet]Banido
@@ -501,10 +520,10 @@ block.unknown = [LIGHT_GRAY]???
blocks.powercapacity = Capacidade de Energia
blocks.powershot = Energia/tiro
blocks.damage = Dano
blocks.targetsair = Mirar no ar
blocks.targetsground = Mirar no chão
blocks.targetsair = Mira no ar
blocks.targetsground = Mira no chão
blocks.itemsmoved = Velocidade de movimento
blocks.launchtime = Tempo entre tiros
blocks.launchtime = Tempo entre Disparos.
blocks.shootrange = Alcance
blocks.size = Tamanho
blocks.liquidcapacity = Capacidade de Líquido
@@ -519,8 +538,8 @@ blocks.repairtime = Tempo de reparo total do bloco
blocks.speedincrease = Aumento de velocidade
blocks.range = Distância
blocks.drilltier = Furáveis
blocks.drillspeed = Velocidade da broca base
blocks.boosteffect = Efeito do Boost
blocks.drillspeed = Velocidade base da Broca
blocks.boosteffect = Efeito do Impulso
blocks.maxunits = Máximo de unidades ativas
blocks.health = Saúde
blocks.buildtime = Tempo de construção
@@ -529,9 +548,10 @@ blocks.inaccuracy = Imprecisão
blocks.shots = Tiros
blocks.reload = Tiros por segundo
blocks.ammo = Munição
bar.drilltierreq = Broca melhor necessária.
bar.drillspeed = Velocidade da broca: {0}/s
bar.pumpspeed = Pump Speed: {0}/s
bar.drillspeed = Velocidade da Broca: {0}/s
bar.pumpspeed = Velocidade da Bomna: {0}/s
bar.efficiency = Eficiência: {0}%
bar.powerbalance = Energia: {0}
bar.powerstored = Armazenada: {0}/{1}
@@ -544,8 +564,11 @@ bar.heat = Aquecimento
bar.power = Poder
bar.progress = Progresso da construção
bar.spawned = Unidades: {0}/{1}
bullet.damage = [stat]{0}[lightgray] dano
bullet.splashdamage = [stat]{0}[lightgray] Dano em área ~[stat] {1}[lightgray] Blocos
bar.input = Entrando
bar.output = Saindo
bullet.damage = [stat]{0}[lightgray] de dano
bullet.splashdamage = [stat]{0}[lightgray] de dano em área ~[stat] {1}[lightgray] bloco(s)
bullet.incendiary = [stat]Incendiário
bullet.homing = [stat]Guiado
bullet.shock = [stat]Choque
@@ -555,6 +578,7 @@ bullet.freezing = [stat]Congelamento
bullet.tarred = [stat]Grudento
bullet.multiplier = [stat]{0}[lightgray]x multiplicador de munição
bullet.reload = [stat]{0}[lightgray]x cadência de tiro
unit.blocks = Blocos
unit.powersecond = Unidades de energia/segundo
unit.liquidsecond = Unidades de líquido/segundo
@@ -576,13 +600,14 @@ category.shooting = Atirando
category.optional = Melhoras opcionais
setting.landscape.name = Travar panorama
setting.shadows.name = Sombras
setting.blockreplace.name = Automatic Block Suggestions
setting.blockreplace.name = Sugestões automáticas de blocos
setting.linear.name = Filtragem linear
setting.hints.name = Hints
setting.hints.name = Dicas
setting.buildautopause.name = Pausar construções automaticamente
setting.animatedwater.name = Água animada
setting.animatedshields.name = Escudos animados
setting.antialias.name = Filtro suavizante[LIGHT_GRAY] (reinicialização requerida)[]
setting.indicators.name = Indicador de aliados
setting.indicators.name = Indicador de aliados/inimigos
setting.autotarget.name = Alvo automatico
setting.keyboard.name = Controles de mouse e teclado
setting.touchscreen.name = Controles de Touchscreen
@@ -599,30 +624,33 @@ setting.difficulty.insane = Insano
setting.difficulty.name = Dificuldade
setting.screenshake.name = Balanço da Tela
setting.effects.name = Efeitos
setting.destroyedblocks.name = Display Destroyed Blocks
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
setting.destroyedblocks.name = Mostrar Blocos Destruídos
setting.conveyorpathfinding.name = Esteiras Encontram Caminho
setting.sensitivity.name = Sensibilidade do Controle
setting.saveinterval.name = Intervalo de autosalvamento
setting.seconds = {0} Segundos
setting.saveinterval.name = Intervalo de Auto Salvamento
setting.seconds = {0} segundos
setting.blockselecttimeout.name = Tempo limite de seleção de blocos
setting.milliseconds = {0} milissegundos
setting.fullscreen.name = Tela Cheia
setting.borderlesswindow.name = Janela sem borda[LIGHT_GRAY] (Pode precisar reiniciar)
setting.fps.name = Mostrar FPS
setting.fps.name = Mostrar FPS e Ping
setting.blockselectkeys.name = Mostrar teclas de seleção de blocos
setting.vsync.name = VSync
setting.pixelate.name = Pixelizado [LIGHT_GRAY](Pode diminuir a performace)
setting.minimap.name = Mostrar minimapa
setting.position.name = Show Player Position
setting.position.name = Mostrar a posição do Jogador
setting.musicvol.name = Volume da Música
setting.ambientvol.name = Volume do ambiente
setting.ambientvol.name = Volume do Ambiente
setting.mutemusic.name = Desligar Música
setting.sfxvol.name = Volume de Efeitos
setting.mutesound.name = Desligar Som
setting.crashreport.name = Enviar denuncias de crash anonimas
setting.crashreport.name = Enviar denúncias anônimas de erros
setting.savecreate.name = Criar salvamentos automaticamente
setting.publichost.name = Visibilidade do jogo público
setting.chatopacity.name = Opacidade do chat
setting.lasersopacity.name = Power Laser Opacity
setting.lasersopacity.name = Opacidade do laser
setting.playerchat.name = Mostrar chat em jogo
public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility.
public.confirm = Você quer fazer sua partida pública?\n[accent]Qualquer um será capaz de entrar na sua partida.\n[lightgray]Isso pode ser mudado depois em Configurações->Jogo->Visibilidade da partida pública.
public.beta = Note that beta versions of the game cannot make public lobbies.
uiscale.reset = A escala da IU foi mudada.\nPressione "OK" para confirmar esta escala.\n[scarlet]Revertendo e saindo em[accent] {0}[] settings...
uiscale.cancel = Cancelar e sair
@@ -635,16 +663,36 @@ category.multiplayer.name = Multijogador
command.attack = Atacar
command.rally = Reunir
command.retreat = Recuar
keybind.clear_building.name = Clear Building
placement.blockselectkeys = \n[lightgray]Tecla: [{0},
keybind.clear_building.name = Limpar construção
keybind.press = Pressione uma tecla...
keybind.press.axis = Pressione uma Axis ou tecla...
keybind.screenshot.name = Captura do mapa
keybind.move_x.name = mover_x
keybind.move_y.name = mover_y
keybind.schematic_select.name = Select Region
keybind.schematic_menu.name = Schematic Menu
keybind.schematic_flip_x.name = Flip Schematic X
keybind.schematic_flip_y.name = Flip Schematic Y
keybind.toggle_power_lines.name = Mudar lasers
keybind.move_x.name = Mover no eixo x
keybind.move_y.name = Mover no eixo Y
keybind.mouse_move.name = Seguir Mouse
keybind.dash.name = Arrancada
keybind.schematic_select.name = Selecionar região
keybind.schematic_menu.name = Menu de Esquemas
keybind.schematic_flip_x.name = Girar o Esquema no eixo X
keybind.schematic_flip_y.name = Girar o Esquema no eixo Y
keybind.category_prev.name = Categoria anterior
keybind.category_next.name = Próxima categoria
keybind.block_select_left.name = Selecionar bloco à esquerda
keybind.block_select_right.name = Selecionar bloco à direita
keybind.block_select_up.name = Selecionar bloco acima
keybind.block_select_down.name = Selecionar bloco abaixo
keybind.block_select_01.name = Categoria/Selecionar bloco 1
keybind.block_select_02.name = Categoria/Selecionar bloco 2
keybind.block_select_03.name = Categoria/Selecionar bloco 3
keybind.block_select_04.name = Categoria/Selecionar bloco 4
keybind.block_select_05.name = Categoria/Selecionar bloco 5
keybind.block_select_06.name = Categoria/Selecionar bloco 6
keybind.block_select_07.name = Categoria/Selecionar bloco 7
keybind.block_select_08.name = Categoria/Selecionar bloco 8
keybind.block_select_09.name = Categoria/Selecionar bloco 9
keybind.block_select_10.name = Categoria/Selecionar bloco 10
keybind.fullscreen.name = Alterar tela cheia
keybind.select.name = selecionar
keybind.diagonal_placement.name = Colocação diagonal
@@ -652,21 +700,20 @@ keybind.pick.name = Pegar bloco
keybind.break_block.name = Quebrar bloco
keybind.deselect.name = Deselecionar
keybind.shoot.name = Atirar
keybind.zoom_hold.name = segurar_zoom
keybind.zoom_hold.name = segurar Zoom
keybind.zoom.name = Zoom
keybind.menu.name = Menu
keybind.pause.name = Pausar
keybind.pause_building.name = Pause/Resume Building
keybind.pause_building.name = Parar/Resumir a construção
keybind.minimap.name = Minimapa
keybind.dash.name = Correr
keybind.chat.name = Conversa
keybind.player_list.name = Lista_de_jogadores
keybind.console.name = console
keybind.console.name = Console
keybind.rotate.name = Girar
keybind.rotateplaced.name = Rotate Existing (Hold)
keybind.rotateplaced.name = Girar (Segure)
keybind.toggle_menus.name = Ativar menus
keybind.chat_history_prev.name = Historico do chat anterior
keybind.chat_history_next.name = Historico do proximo chat
keybind.chat_history_next.name = Historico do próximo chat
keybind.chat_scroll.name = Rolar chat
keybind.drop_unit.name = Soltar unidade
keybind.zoom_minimap.name = Zoom do minimapa
@@ -681,12 +728,14 @@ mode.pvp.description = Lutar contra outros jogadores locais.
mode.attack.name = Ataque
mode.attack.description = Sem hordas, com o objetivo de destruir a base inimiga.
mode.custom = Regras personalizadas
rules.infiniteresources = Recursos infinitos
rules.reactorexplosions = Reatores explodem
rules.wavetimer = Tempo de horda
rules.waves = Hordas
rules.attack = Modo de ataque
rules.enemyCheat = Recursos de IA Infinitos
rules.unitdrops = Unidade solta
rules.unitdrops = Inimigos dropam itens
rules.unitbuildspeedmultiplier = Multiplicador de velocidade de criação de unidade
rules.unithealthmultiplier = Multiplicador de vida de unidade
rules.playerhealthmultiplier = Multiplicador da vida de jogador
@@ -694,10 +743,10 @@ rules.playerdamagemultiplier = Multiplicador do dano de jogador
rules.unitdamagemultiplier = Multiplicador de dano de Unidade
rules.enemycorebuildradius = Raio de "Não-criação" de core inimigo:[LIGHT_GRAY] (blocos)
rules.respawntime = Tempo de renascimento:[LIGHT_GRAY] (seg)
rules.wavespacing = Espaço entre hordas:[LIGHT_GRAY] (seg)
rules.wavespacing = Espaço de tempo entre hordas:[LIGHT_GRAY] (seg)
rules.buildcostmultiplier = Multiplicador de custo de construção
rules.buildspeedmultiplier = Multiplicador de velocidade de construção
rules.waitForWaveToEnd = hordas esperam inimigos
rules.waitForWaveToEnd = Hordas esperam inimigos
rules.dropzoneradius = Raio da zona de spawn:[LIGHT_GRAY] (blocos)
rules.respawns = Respawn maximos por horda
rules.limitedRespawns = Respawn limitados
@@ -707,6 +756,10 @@ rules.title.resourcesbuilding = Recursos e Construções
rules.title.player = Jogadores
rules.title.enemy = Inimigos
rules.title.unit = Unidades
rules.title.experimental = Experimental
rules.lighting = Iluminação
rules.ambientlight = Luz ambiente
content.item.name = Itens
content.liquid.name = Líquidos
content.unit.name = Unidades
@@ -768,6 +821,7 @@ mech.buildspeed = [LIGHT_GRAY]Velocidade de construção: {0}%
liquid.heatcapacity = [LIGHT_GRAY]Capacidade de aquecimento: {0}
liquid.viscosity = [LIGHT_GRAY]Viscosidade: {0}
liquid.temperature = [LIGHT_GRAY]Temperatura: {0}
block.sand-boulder.name = Pedregulho de areia
block.grass.name = Grama
block.salt.name = Sal
@@ -781,11 +835,11 @@ block.rock.name = Rocha
block.snowrock.name = Rocha com neve
block.snow-pine.name = Pinheiro com neve
block.shale.name = Xisto
block.shale-boulder.name = Pedra de xisto
block.shale-boulder.name = Pedra de Xisto
block.moss.name = Musgo
block.shrubs.name = Arbusto
block.spore-moss.name = Musgo de esporos
block.shalerocks.name = Rohas de xisto
block.spore-moss.name = Musgo de Esporos
block.shalerocks.name = Rochas de Xisto
block.scrap-wall.name = Muro de sucata
block.scrap-wall-large.name = Muro grande de sucata
block.scrap-wall-huge.name = Muro enorme de sucata
@@ -839,16 +893,16 @@ block.ignarock.name = Rocha ígnea
block.hotrock.name = Rocha quente
block.magmarock.name = Rocha de magma
block.cliffs.name = Colinas
block.copper-wall.name = Parede de Cobre
block.copper-wall-large.name = Parede de Cobre Grande
block.titanium-wall.name = Parede de titânio
block.titanium-wall-large.name = Parede de titânio grande
block.plastanium-wall.name = Plastanium Wall
block.plastanium-wall-large.name = Large Plastanium Wall
block.phase-wall.name = Parede de fase
block.phase-wall-large.name = Parde de fase grande
block.thorium-wall.name = Parede de tório
block.thorium-wall-large.name = Parede de tório grande
block.copper-wall.name = Muro de Cobre
block.copper-wall-large.name = Muro de Cobre Grande
block.titanium-wall.name = Muro de Titânio
block.titanium-wall-large.name = Muro de Titânio grande
block.plastanium-wall.name = Muro de Plastânio
block.plastanium-wall-large.name = Muro de Plastânio Grande
block.phase-wall.name = Muro de Fase
block.phase-wall-large.name = Muro de Fase Grande
block.thorium-wall.name = Muro de Tório
block.thorium-wall-large.name = Muro de Tório Grande
block.door.name = Porta
block.door-large.name = Porta Grande
block.duo.name = Dupla
@@ -864,8 +918,10 @@ block.junction.name = Junção
block.router.name = Roteador
block.distributor.name = Distribuidor
block.sorter.name = Ordenador
block.inverted-sorter.name = Inverted Sorter
block.inverted-sorter.name = Ordenador Invertido
block.message.name = Mensagem
block.illuminator.name = Iluminador
block.illuminator.description = Uma pequena, compacta e configurável fonte de luz. Precisa de energia para funcionar.
block.overflow-gate.name = Portão Sobrecarregado
block.silicon-smelter.name = Fundidora de silicio
block.phase-weaver.name = Palheta de fase
@@ -875,14 +931,15 @@ block.melter.name = Aparelho de fusão
block.incinerator.name = Incinerador
block.spore-press.name = Prensa de Esporo
block.separator.name = Separador
block.coal-centrifuge.name = Centrifuga de carvão
block.power-node.name = Célula de energia
block.power-node-large.name = Célula de energia Grande
block.coal-centrifuge.name = Centrífuga de carvão
block.power-node.name = Célula de Energia
block.power-node-large.name = Célula de Energia Grande
block.surge-tower.name = Torre de surto
block.diode.name = Bateria de Diodo
block.battery.name = Bateria
block.battery-large.name = Bateria Grande
block.combustion-generator.name = Gerador a combustão
block.turbine-generator.name = Gerador de Turbina
block.combustion-generator.name = Gerador à combustão
block.turbine-generator.name = Gerador à vapor
block.differential-generator.name = Gerador diferencial
block.impact-reactor.name = Reator De Impacto
block.mechanical-drill.name = Broca Mecânica
@@ -917,7 +974,7 @@ block.pyratite-mixer.name = Misturador de Piratita
block.blast-mixer.name = Misturador de Explosão
block.solar-panel.name = Painel Solar
block.solar-panel-large.name = Painel Solar Grande
block.oil-extractor.name = Extrator de petróleo
block.oil-extractor.name = Extrator de Petróleo
block.command-center.name = Centro de comando
block.draug-factory.name = Fábrica de drone de mineração Draug
block.spirit-factory.name = Fábrica de drone de reparo Spirit
@@ -931,6 +988,7 @@ block.fortress-factory.name = Fábrica de mech Fortress
block.revenant-factory.name = Fábrica de lutadores Revenant
block.repair-point.name = Ponto de Reparo
block.pulse-conduit.name = Cano de Pulso
block.plated-conduit.name = Cano Chapeado
block.phase-conduit.name = Cano de Fase
block.liquid-router.name = Roteador de Líquido
block.liquid-tank.name = Tanque de Líquido
@@ -939,12 +997,12 @@ block.bridge-conduit.name = Cano Ponte
block.rotary-pump.name = Bomba Rotatória
block.thorium-reactor.name = Reator a Tório
block.mass-driver.name = Catapulta Eletromagnética
block.blast-drill.name = Broca de Explosão
block.blast-drill.name = Broca de Jato de Ar
block.thermal-pump.name = Bomba térmica
block.thermal-generator.name = Gerador Térmico
block.alloy-smelter.name = Fundidora de Liga
block.mender.name = Reparador
block.mend-projector.name = Projetor de reparo
block.mend-projector.name = Projetor de Reparo
block.surge-wall.name = Parede de liga de surto
block.surge-wall-large.name = Parede de liga de surto grande
block.cyclone.name = Ciclone
@@ -961,11 +1019,11 @@ block.launch-pad.name = Plataforma de lançamento
block.launch-pad-large.name = Plataforma de lançamento grande
team.blue.name = Azul
team.crux.name = Vermelho
team.sharded.name = orange
team.orange.name = Laranja
team.derelict.name = derelict
team.sharded.name = Fragmentado
team.orange.name = Alaranjado
team.derelict.name = Abandonado
team.green.name = Verde
team.purple.name = Roxo
team.purple.name = Roxa
unit.spirit.name = Drone Spirit
unit.draug.name = Drone minerador Draug
unit.phantom.name = Drone Phantom
@@ -975,7 +1033,7 @@ unit.titan.name = Titan
unit.ghoul.name = Bombardeiro Ghoul
unit.wraith.name = Lutador Wraith
unit.fortress.name = Fortaleza
unit.revenant.name = Fantasma
unit.revenant.name = Revenã
unit.eruptor.name = Eruptor
unit.chaos-array.name = Arraia do caos
unit.eradicator.name = Erradicador
@@ -1002,6 +1060,7 @@ tutorial.deposit = Deposite itens em blocos arrastando da sua nave até o bloco.
tutorial.waves = O[LIGHT_GRAY] inimigo[] se aproxima.\n\nDefenda seu núcleo por 2 hordas. Construa mais torretas.
tutorial.waves.mobile = O[lightgray] inimigo[] se aproxima.\n\nDefenda seu núcleo por 2 hordas. Seu drone vai atirar nos inimigos automaticamente.\nConstrua mais torretas e brocas. Minere mais cobre.
tutorial.launch = Quando você atinge uma horda específica, Você é capaz de[accent] lançar o núcleo[], deixando suas defesas para trás e[accent] obtendo todos os recursos em seu núcleo.[]\nEstes recursos podem ser usados para pesquisar novas tecnologias.\n\n[accent]Pressione o botão lançar.
item.copper.description = O material mais básico. Usado em todos os tipos de blocos.
item.lead.description = Material de começo basico. usado extensivamente em blocos de transporte de líquidos e eletrônicos.
item.metaglass.description = Composto de vidro super resistente. Extensivamente usado para distribuição e armazenagem de líquidos.
@@ -1051,7 +1110,7 @@ block.phase-weaver.description = Produz tecido de fase usando tório radioativo
block.alloy-smelter.description = Combina titânio, chumbo, silicio e cobre para produzir liga de surto.
block.cryofluidmixer.description = Mistura água e pó fino de titânio para produzir criofluido. Essencial para o uso do reator a tório.
block.blast-mixer.description = Quebra e mistura aglomerados de esporos com piratita para produzir composto de explosão.
block.pyratite-mixer.description = Mistura carvão, cobre e areia em piratita altamente inflamável
block.pyratite-mixer.description = Mistura carvão, cobre e areia em piratita altamente inflamável.
block.melter.description = Derrete sucata em escória para processamento posterior ou uso em torretas.
block.separator.description = Separa escória em seus minerais componentes, oferece o resultado refriado.
block.spore-press.description = Comprime cápsulas de esporos em petróleo.
@@ -1067,10 +1126,10 @@ block.copper-wall.description = Um bloco defensivo e barato.\nUtil para proteger
block.copper-wall-large.description = Um bloco defensivo e barato.\nUtil para proteger o núcleo e torretas no começo.\nOcupa múltiplos blocos.
block.titanium-wall.description = Um bloco defensivo moderadamente forte.\nProvidencia defesa moderada contra inimigos.
block.titanium-wall-large.description = Um bloco defensivo moderadamente forte.\nProvidencia defesa moderada contra inimigos.\nOcupa múltiplos blocos.
block.plastanium-wall.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.
block.plastanium-wall-large.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.\nSpans multiple tiles.
block.plastanium-wall.description = Um tipo especial de muro que absorve arcos elétricos e bloqueia conexões automáticas de células de energia.
block.plastanium-wall-large.description = Um tipo especial de muro que absorve arcos elétricos e bloqueia conexões automáticas de células de energia.\nOcupa múltiplos blocos.
block.thorium-wall.description = Um bloco defensivo forte.\nBoa proteção contra inimigos.
block.thorium-wall-large.description = Um bloco grande e defensivo.\nBoa proteção contra inimigos.\nOcupa multiplos blocos.
block.thorium-wall-large.description = Um bloco defensivo forte.\nBoa proteção contra inimigos.\nOcupa múltiplos blocos.
block.phase-wall.description = Um muro revestido com um composto especial baseado em tecido de fase. Desvia a maioria das balas no impacto.
block.phase-wall-large.description = Um muro revestido com um composto especial baseado em tecido de fase. Desvia a maioria das balas no impacto.\nSOcupa múltiplos blocos.
block.surge-wall.description = Um bloco defensivo extremamente durável.\nSe carrega com eletricidade no contato com as balas, soltando-s aleatoriamente.
@@ -1098,7 +1157,8 @@ block.rotary-pump.description = Uma bomba avançada. Bombeia mais líquido, mas
block.thermal-pump.description = A bomba final.
block.conduit.description = Bloco básico de transporte de líquidos. Move líquidos para a frente. Usado em conjunto com bombas e outros canos.
block.pulse-conduit.description = Bloco avancado de transporte de liquido. Transporta liquidos mais rápido e armazena mais que os canos padrões.
block.liquid-router.description = Aceita liquidos de uma direcão e os joga em 3 direções igualmente. Pode armazenar uma certa quantidade de liquido. Util para espalhar liquidos de uma fonte para multiplos alvos.
block.plated-conduit.description = Move líquidos na mesma velocidade que canos de pulso, mas possui mais blindagem. Não aceita fluidos dos lados de nada além de outros canos.\nVaza menos.
block.liquid-router.description = Aceita liquidos de uma direcão e os joga em 3 direções igualmente. Pode armazenar uma certa quantidade de liquido. Útil para espalhar líquidos de uma fonte para múltiplos alvos.
block.liquid-tank.description = Armazena grandes quantidades de liquido. Use quando a demanda de materiais não for constante ou para guardar itens para resfriar blocos vitais.
block.liquid-junction.description = Age como uma ponte para dois canos que se cruzam. Útil em situações em que há dois cano carregando liquidos diferentes até localizações diferentes.
block.bridge-conduit.description = Bloco de transporte de liquidos avancados. Possibilita o transporte de liquido sobre 3 blocos acima de construções ou paredes
@@ -1106,15 +1166,16 @@ block.phase-conduit.description = Bloco avancado de transporte de liquido. Usa e
block.power-node.description = Transmite energia para células conectadas. A célula vai receber energia ou alimentar qualquer bloco adjacente.
block.power-node-large.description = Uma célula de energia avançada com maior alcance e mais conexões.
block.surge-tower.description = Uma célula de energia com um extremo alcance mas com menos conexões disponíveis.
block.diode.description = A energia de baterias pode fluir através desse bloco em apenas uma direção, mas apenas se o outro lado possuir menos energia armazenada.
block.battery.description = Armazena energia em tempos de energia excedente. Libera energia em tempos de déficit.
block.battery-large.description = Guarda muito mais energia que uma beteria comum.
block.combustion-generator.description = Gera energia usando combustível ou petróleo.
block.thermal-generator.description = Gera uma quantidade grande de energia usando lava.
block.turbine-generator.description = Mais eficiente que o gerador de Combustão, Mas requer agua adicional.
block.differential-generator.description = Gera grandes quantidades de Energia. Utiliza a diferença de temperatura entre o Fluído Criogênico e a Piratita.
block.battery-large.description = Guarda muito mais energia que uma bateria comum.
block.combustion-generator.description = Gera energia queimando materiais inflamáveis, como carvão.
block.thermal-generator.description = Gera energia quando colocado em lugares quentes.
block.turbine-generator.description = Mais eficiente que o gerador à combustão, mas requer água adicional para a geração de vapor.
block.differential-generator.description = Gera grandes quantidades de energia. Utiliza a diferença de temperatura entre o Fluido Criogênico e a Piratita.
block.rtg-generator.description = Um Gerador termoelétrico de radioisótopos que não precisa de refriamento mas dá muito menos energia que o reator de tório.
block.solar-panel.description = Gera pequenas quantidades de energia do sol.
block.solar-panel-large.description = Dá muito mais energia que o painel solar comum, Mas sua produção é mais cara.
block.solar-panel-large.description = Uma versão significantemente mais eficiente que o painel solar padrão.
block.thorium-reactor.description = Gera altas quantidades de energia do torio radioativo. Requer resfriamento constante. Vai explodir violentamente Se resfriamento insuficiente for fornecido.
block.impact-reactor.description = An advanced generator, capable of creating massive amounts of power at peak efficiency. Requires a significant power input to kickstart the process.
block.mechanical-drill.description = Uma broca barata. Quando colocado em blocos apropriados, retira itens em um ritmo lento e indefinitavamente.
@@ -1123,9 +1184,9 @@ block.laser-drill.description = Possibilita a mineração ainda mais rapida usan
block.blast-drill.description = A melhor mineradora. Requer muita energia.
block.water-extractor.description = Extrai água do chão. Use quando não tive nenhum lago proximo
block.cultivator.description = Cultiva o solo com agua para pegar bio materia.
block.oil-extractor.description = Usa altas quantidades de energia Para extrair oleo da areia. Use quando não tiver fontes de oleo por perto
block.core-shard.description = Primeira iteração da cápsula do núcleo. Uma vez destruida, o controle da região inteira é perdido. Não deixe isso acontecer.
block.core-foundation.description = A segunda versão do núcleo. Melhor armadura. Guarda mais recursos.
block.water-extractor.description = Extrai água subterrânea. Usado em locais sem água superficial disponível.
block.cultivator.description = Cultiva pequenas concentrações de esporos na atmosfera em cápsulas prontas.
block.oil-extractor.description = Usa altas quantidades de energia para extrair petróleo da areia. Use quando não tiver fontes de petróleo por perto.
block.core-nucleus.description = A terceira e ultima iteração do núcleo. Extremamente bem armadurada. Guarda quantidades massivas de recursos.
block.vault.description = Carrega uma alta quantidade de itens. Usado para criar fontes Quando não tem uma necessidade constante de materiais. Um[LIGHT_GRAY] Descarregador[] pode ser usado para recuperar esses itens do container.
block.container.description = Carrega uma baixa quantidade de itens. Usado para criar fontes Quando não tem uma necessidade constante de materiais. Um[LIGHT_GRAY] Descarregador[] pode ser usado para recuperar esses itens do container.

View File

@@ -6,10 +6,11 @@ link.discord.description = Официальный Discord-сервер Mindustry
link.reddit.description = Сабреддит Mindustry
link.github.description = Исходный код игры
link.changelog.description = Список изменений
link.dev-builds.description = Нестабильные версии
link.dev-builds.description = Нестабильные разрабатываемые версии
link.trello.description = Официальная доска Trello для запланированных функций
link.itch.io.description = Страница itch.io с загрузками игры
link.google-play.description = Скачать для Android с Google Play
link.f-droid.description = Скачать для Android с F-Droid
link.wiki.description = Официальная вики
linkfail = Не удалось открыть ссылку!\nURL-адрес был скопирован в буфер обмена.
screenshot = риншот сохранён в {0}
@@ -18,12 +19,14 @@ gameover = Игра окончена
gameover.pvp = [accent]{0}[] команда победила!
highscore = [accent]Новый рекорд!
copied = Скопировано.
load.sound = Звуки
load.map = Карты
load.image = Изображения
load.content = Содержимое
load.system = Система
load.mod = Модификации
schematic = Схема
schematic.add = Сохранить схему...
schematics = Схемы
@@ -40,6 +43,7 @@ schematic.saved = Схема сохранена.
schematic.delete.confirm = Эта схема будет поджарена Испепелителем.
schematic.rename = Переименовать схему
schematic.info = {0}x{1}, {2} блоков
stat.wave = Волн отражено:[accent] {0}
stat.enemiesDestroyed = Врагов уничтожено:[accent] {0}
stat.built = Строений построено:[accent] {0}
@@ -47,6 +51,7 @@ stat.destroyed = Строений уничтожено:[accent] {0}
stat.deconstructed = Строений деконструировано:[accent] {0}
stat.delivered = Ресурсов запущено:
stat.rank = Финальный ранг: [accent]{0}
launcheditems = [accent]Запущенные предметы
launchinfo = [unlaunched]Нажмите на кнопку [ЗАПУСК], чтобы получить предметы, которые отмечены синим цветом.
map.delete = Вы действительно хотите удалить карту «[accent]{0}[]»?
@@ -55,7 +60,7 @@ level.select = Выбор карты
level.mode = Режим игры:
showagain = Не показывать снова до следующей сессии
coreattack = < Ядро находится под атакой! >
nearpoint = [[ [scarlet]ПОКИНЬТЕ ТОЧКУ ВЫСАДКИ НЕМЕДЛЕННО[] ]\nАннигиляция неизбежна
nearpoint = [[ [scarlet]ПОКИНЬТЕ ТОЧКУ ВЫСАДКИ НЕМЕДЛЕННО[] ]\nаннигиляция неизбежна
database = База данных ядра
savegame = Сохранить игру
loadgame = Загрузить игру
@@ -64,7 +69,7 @@ customgame = Пользовательская игра
newgame = Новая игра
none = <ничего>
minimap = Мини-карта
position = Позиция
position = Координаты
close = Закрыть
website = Веб-сайт
quit = Выход
@@ -74,36 +79,39 @@ maps.browse = Просмотр карт
continue = Продолжить
maps.none = [lightgray]Карты не найдены!
invalid = Недопустимый
pickcolor = Выбрать цвет
preparingconfig = Подготовка конфигурации
preparingcontent = Подготовка содержимого
uploadingcontent = Выгрузка содержимого
uploadingpreviewfile = Выгрузка файла предпросмотра
committingchanges = Внесение изменений
done = Готово
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Имейте в виду, что модификации находятся в альфа-версии и могут содержать много ошибок[]. Докладывайте о любых проблемах, которые Вы найдете в Mindustry Github или Discord.
feature.unsupported = Ваше устройство не поддерживает эту возможность.
mods.alphainfo = Имейте в виду, что модификации находятся в альфа-версии и [scarlet]могут содержать много ошибок[]. Докладывайте о любых проблемах, которые Вы найдете в Mindustry Github или Discord.
mods.alpha = [accent](Альфа)
mods = Модификации
mods.none = [LIGHT_GRAY]Модификации не найдены!
mods.guide = Руководство по созданию модификаций
mods.report = Доложить об ошибке
mods.openfolder = Open Mod Folder
mods.openfolder = Открыть папку с модификациями
mod.enabled = [lightgray]Включён
mod.disabled = [scarlet]Выключен
mod.disable = Выключить
mod.delete.error = Unable to delete mod. File may be in use.
mod.disable = Выкл.
mod.delete.error = Невозможно удалить модификацию. Возможно, файл используется.
mod.missingdependencies = [scarlet]Не найдены родительские модификации: {0}
mod.nowdisabled = [scarlet]Модификации '{0}' требуются родительские модификации:[accent] {1}\n[lightgray]Сначала нужно загрузить их.\nЭта модификация будет автоматически отключена.
mod.enable = Включить
mod.enable = Вкл.
mod.requiresrestart = Теперь игра закроется, чтобы применить изменения в модификациях.
mod.reloadrequired = [scarlet]Необходим перезапуск
mod.import = Импортировать модификацию
mod.import.github = Импортировать модификацию с Github
mod.import.github = Импортировать модификацию с GitHub
mod.remove.confirm = Этот мод будет удалён.
mod.author = [LIGHT_GRAY]Автор:[] {0}
mod.missing = Это сохранение содержит модификацию, которое Вы недавно обновили или оно больше не установлено. Может случиться повреждение сохранения. Вы уверены, что хотите загрузить его?\n[lightgray]Модификации:\n{0}
mod.preview.missing = Перед публикацией этой модификации в Мастерской, Вы должны добавить изображение предпросмотра.\nРазместите изображение с именем[accent] preview.png[] в папке модификации и попробуйте снова.
mod.folder.missing = Модификации могут быть опубликованы в Мастерской только в виде папки.\nЧтобы конвертировать любой мод в папку, просто извлеките его из архива и удалите старый архив .zip, затем перезапустите игру или перезагрузите модификации.
about.button = Об игре
name = Имя:
noname = Для начала, придумайте[accent] себе имя[].
@@ -111,8 +119,8 @@ filename = Имя файла:
unlocked = Новый контент разблокирован!
completed = [accent]Завершено
techtree = Дерево технологий
research.list = [lightgray]Исследование:
research = Исследование
research.list = [lightgray]Исследуйте:
research = Исследовать
researched = [lightgray]{0} исследовано.
players = Игроков: {0}
players.single = {0} игрок
@@ -133,7 +141,7 @@ server.kicked.idInUse = Вы уже на этом сервере! Соедине
server.kicked.customClient = Этот сервер не поддерживает пользовательские сборки. Загрузите официальную версию.
server.kicked.gameover = Игра окончена!
server.versions = Ваша версия:[accent] {0}[]\nВерсия сервера:[accent] {1}[]
host.info = Кнопка [accent]Сервер[] запускает сервер на порте [scarlet]6567[]. \nЛюбой пользователь в той же [lightgray]локальной сети или WiFi[] должен увидеть ваш сервер в своём списке серверов.\n\nЕсли Вы хотите, чтобы люди могли подключаться откуда угодно по IP, то требуется [accent]переадресация (проброс) портов[] и наличие [red]ВНЕШНЕГО[] WAN адреса (WAN адрес [red]НЕ должен[] начинаться с [red]10[][lightgray].x.x.x[], [red]100.64[][lightgray].x.x[], [red]172.16[][lightgray].x.x[], [red]192.168[][lightgray].x.x[], [red]127[][lightgray].x.x.x[])!\nКлиентам мобильных операторов нужно уточнять информацию в личном кабинете на сайте вашего оператора!\n\n[lightgray]Примечание: Если у кого-то возникают проблемы с подключением к вашей игре по локальной сети, убедитесь, что Вы разрешили доступ Mindustry к вашей локальной сети в настройках брандмауэра. Обратите внимание, что публичные сети иногда не позволяют обнаружение сервера.
host.info = Кнопка [accent]Открыть сервер[] запускает сервер на порте [scarlet]6567[].\nЛюбой пользователь в той же [lightgray]локальной сети или WiFi[] должен увидеть ваш сервер в своём списке серверов.\n\nЕсли Вы хотите, чтобы люди могли подключаться откуда угодно по IP, то требуется [accent]переадресация (проброс) портов[] и наличие [red]ВНЕШНЕГО[] WAN адреса (WAN адрес [red]НЕ должен[] начинаться с [red]10[][lightgray].x.x.x[], [red]100.64[][lightgray].x.x[], [red]172.16[][lightgray].x.x[], [red]192.168[][lightgray].x.x[], [red]127[][lightgray].x.x.x[])!\nКлиентам мобильных операторов нужно уточнять информацию в личном кабинете на сайте вашего оператора!\n\n[lightgray]Примечание: Если у кого-то возникают проблемы с подключением к вашей игре по локальной сети, убедитесь, что Вы разрешили доступ Mindustry к вашей локальной сети в настройках брандмауэра. Обратите внимание, что публичные сети иногда не позволяют обнаружение сервера.
join.info = Здесь Вы можете ввести [accent]IP-адрес сервера[] для подключения или открыть [accent]локальную сеть[] для подключения к другим серверам.\nПоддерживаются оба многопользовательских режима: LAN и WAN.\n\n[lightgray]Примечание: это НЕ автоматический глобальный список серверов; если Вы хотите подключиться к кому-то по IP, вам нужно спросить у хоста его IP-адрес.
hostserver = Запустить многопользовательский сервер
invitefriends = Пригласить друзей
@@ -152,7 +160,7 @@ trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0}
trace.mobile = Мобильный клиент: [accent]{0}
trace.modclient = Пользовательский клиент: [accent]{0}
invalidid = Недопустимый уникальный идентификатор клиента! Отправьте отчёт об ошибке.
invalidid = Недопустимый ID клиента! Отправьте отчёт об ошибке.
server.bans = Блокировки
server.bans.none = Заблокированных игроков нет!
server.admins = Администраторы
@@ -175,7 +183,7 @@ joingame.ip = Адрес:
disconnect = Отключено.
disconnect.error = Ошибка соединения.
disconnect.closed = Соединение закрыто.
disconnect.timeout = Время истекло.
disconnect.timeout = Время ожидания истекло.
disconnect.data = Ошибка при загрузке данных мира!
cantconnect = Не удаётся присоединиться к игре ([accent]{0}[]).
connecting = [accent]Подключение…
@@ -229,7 +237,7 @@ data.export = Экспортировать данные
data.import = Импортировать данные
data.exported = Данные экспортированы.
data.invalid = Эти игровые данные являются недействительными.
data.import.confirm = Импорт внешних данных сотрёт[scarlet] все[] ваши игровые данные.\n[accent]Это не может быть отменено![]\n\nКак только данные импортированы, ваша игра немедленно закроется.
data.import.confirm = Импорт внешних данных сотрёт[scarlet] все[] Ваши игровые данные.\n[accent]Это не может быть отменено![]\n\nКак только данные импортированы, Ваша игра немедленно закроется.
classic.export = Экспортировать данные классической версии
classic.export.text = [accent]Mindustry[] получил глобальное обновление.\nБыло обнаружено Классическое (версия 3.5 сборка 40) сохранение или карта. Вы хотите экспортировать эти сохранения в домашнюю папку вашего телефона, для использования в приложении Mindustry Classic?
quit.confirm = Вы уверены, что хотите выйти?
@@ -247,7 +255,7 @@ wave.waveInProgress = [lightgray]Волна продолжается
waiting = [lightgray]Ожидание…
waiting.players = Ожидание игроков…
wave.enemies = Враги: [lightgray]{0}
wave.enemy = Остался [lightgray]{0} враг
wave.enemy = Остался {0} [lightgray]враг[]
loadimage = Загрузить изображение
saveimage = Сохранить изображение
unknown = Неизвестно
@@ -270,12 +278,13 @@ missing = Этот предмет был удалён или перемещён.
publishing = [accent]Отправка...
publish.confirm = Вы уверены, что хотите опубликовать этот предмет?\n\n[lightgray]Убедитесь, что Вы согласны с EULA Мастерской, иначе ваши предметы не будут отображаться!
publish.error = Ошибка отправки предмета: {0}
steam.error = Failed to initialize Steam services.\nError: {0}
steam.error = Не удалось инициализировать сервисы Steam.\nОшибка: {0}
editor.brush = Кисть
editor.openin = Открыть в редакторе
editor.oregen = Генерация руд
editor.oregen.info = Генерация руд:
editor.mapinfo = Параметры карты
editor.mapinfo = Информация о карте
editor.author = Автор:
editor.description = Описание:
editor.nodescription = Чтобы опубликовать карту, она должна содержать по крайней мере 4 символа в описании.
@@ -340,13 +349,14 @@ editor.exportimage = Экспортировать изображение лан
editor.exportimage.description = Экспортировать файл с изображением карты
editor.loadimage = Импортировать\nизображение
editor.saveimage = Экспортировать\nизображение
editor.unsaved = [scarlet]У вас есть несохранённые изменения![]\nВы уверены, что хотите выйти?
editor.unsaved = [scarlet]У Вас есть несохранённые изменения![]\nВы уверены, что хотите выйти?
editor.resizemap = Изменить размер карты
editor.mapname = Название карты:
editor.overwrite = [accent]Внимание! \nЭто перезапишет уже существующую карту.
editor.overwrite = [accent]Внимание!\nЭто перезапишет уже существующую карту.
editor.overwrite.confirm = [scarlet]Осторожно![] Карта с таким названием уже существует. Вы действительно хотите её перезаписать?
editor.exists = Карта с таким именем уже существует.
editor.selectmap = Выберите карту для загрузки:
toolmode.replace = Заменить
toolmode.replace.description = Рисует только\nна сплошных блоках.
toolmode.replaceall = Заменить всё
@@ -361,6 +371,7 @@ toolmode.fillteams = Изменить команду блоков
toolmode.fillteams.description = Изменяет принадлежность\nблоков к команде.
toolmode.drawteams = Изменить команду блока
toolmode.drawteams.description = Изменяет принадлежность\nблока к команде.
filters.empty = [lightgray]Нет фильтров! Добавьте один при помощи кнопки ниже.
filter.distort = Искажение
filter.noise = Шум
@@ -392,6 +403,7 @@ filter.option.floor2 = Вторая поверхность
filter.option.threshold2 = Вторичный предельный порог
filter.option.radius = Радиус
filter.option.percentile = Процентиль
width = Ширина:
height = Высота:
menu = Меню
@@ -407,10 +419,11 @@ tutorial = Обучение
tutorial.retake = Перепройти обучение
editor = Редактор
mapeditor = Редактор карт
abandon = Покинуть
abandon.text = Эта зона и все её ресурсы будут отданы противнику.
locked = Заблокировано
complete = [lightgray]Достигнута:
complete = [lightgray]Выполнить:
requirement.wave = Достигните {0} волны в зоне {1}
requirement.core = Уничтожьте вражеское ядро в зоне {0}
requirement.unlock = Разблокируйте {0}
@@ -429,14 +442,15 @@ addall = Добавить всё
configure.locked = [lightgray]Разблокировка выгрузки ресурсов: {0}.
configure.invalid = Количество должно быть числом между 0 и {0}.
zone.unlocked = Зона «[lightgray]{0}» теперь разблокирована.
zone.requirement.complete = Вы достигли {0}-ой волны,\nУсловия для зоны «{1}» выполнены.
zone.config.unlocked = Loadout unlocked:[lightgray]\n{0}
zone.requirement.complete = Условия для зоны «{0}» выполнены:[lightgray]\n{1}
zone.config.unlocked = Выгрузка ресурсов разблокирована:[lightgray]\n{0}
zone.resources = [lightgray]Обнаруженные ресурсы:
zone.objective = [lightgray]Цель: [accent]{0}
zone.objective.survival = Выжить
zone.objective.attack = Уничтожить вражеское ядро
add = Добавить…
boss.health = Здоровье босса
connectfail = [crimson]Ошибка подключения:\n\n[accent]{0}
error.unreachable = Сервер недоступен.\nВы уверены, что адрес введён корректно?
error.invalidaddress = Некорректный адрес.
@@ -446,11 +460,12 @@ error.alreadyconnected = Вы уже подключены.
error.mapnotfound = Файл карты не найден!
error.io = Сетевая ошибка ввода-вывода.
error.any = Неизвестная сетевая ошибка.
error.bloom = Не удалось инициализировать свечение (Bloom).\nВозможно, ваше устройство не поддерживает его.
error.bloom = Не удалось инициализировать свечение (Bloom).\nВозможно, Ваше устройство не поддерживает его.
zone.groundZero.name = Отправная точка
zone.desertWastes.name = Покинутые пустоши
zone.craters.name = Кратеры
zone.frozenForest.name = Ледяной Лес
zone.frozenForest.name = Ледяной лес
zone.ruinousShores.name = Разрушенные берега
zone.stainedMountains.name = Окрашенные горы
zone.desolateRift.name = Пустынный разлом
@@ -461,20 +476,22 @@ zone.saltFlats.name = Соляные равнины
zone.impact0078.name = Воздействие 0078
zone.crags.name = Скалы
zone.fungalPass.name = Грибной перевал
zone.groundZero.description = Оптимальная локация для повторных игр. Низкая вражеская угроза. Немного ресурсов.\nСоберите как можно больше свинца и меди.\nДвигайтесь дальше.
zone.frozenForest.description = Даже здесь, ближе к горам, споры распространились. Холодные температуры не могут сдерживать их вечно.\n\nНачните вкладываться в энергию. Постройте генераторы внутреннего сгорания. Научитесь пользоваться регенератором.
zone.desertWastes.description = Эти пустоши огромны, непредсказуемы и пронизаны заброшенными секторальными структурами.\nВ регионе присутствует уголь. Сожгите его для получения энергии, или синтезируйте графит.\n\n[lightgray]Место посадки здесь может не быть гарантировано.
zone.saltFlats.description = На окраине пустыни лежат соляные равнины. В этой местности можно найти немного ресурсов.\n\nВраги возвели здесь комплекс хранения ресурсов. Искорените их ядро. Не оставьте камня на камне.
zone.craters.description = Вода скопилась в этом кратере, реликвии времён старых войн. Восстановите область. Соберите песок. Выплавите метастекло. Качайте воду для охлаждения турелей и буров.
zone.craters.description = Вода скопилась в этом кратере, реликвии времён старых войн. Восстановите область. Соберите песок. Выплавьте метастекло. Качайте воду для охлаждения турелей и буров.
zone.ruinousShores.description = Мимо пустошей проходит береговая линия. Когда-то здесь располагался массив береговой обороны. Не так много от него осталось. Только самые базовые оборонительные сооружения остались невредимыми, всё остальное превратилось в металлолом.\nПродолжайте экспансию вовне. Переоткройте для себя технологии.
zone.stainedMountains.description = Дальше, вглубь местности, лежат горы, еще не запятнанные спорами.\nИзвлеките изобилие титана в этой области. Узнайте, как его использовать.\n\nВражеское присутствие здесь сильнее. Не дайте им времени для отправки своих сильнейших боевых единиц.
zone.stainedMountains.description = Дальше, вглубь местности, лежат горы, еще не запятнанные спорами.\nИзвлеките изобилие титана в этой области. Научитесь им пользоваться.\n\nВражеское присутствие здесь сильнее. Не дайте им времени для отправки своих сильнейших боевых единиц.
zone.overgrowth.description = Эта заросшая область находится ближе к источнику спор.\nВраг организовал здесь форпост. Постройте боевые единицы «Титан». Уничтожьте его. Верните то, что было потеряно.
zone.tarFields.description = Окраина зоны нефтедобычи, между горами и пустыней. Один из немногих районов с полезными запасами дёгтя.\nХотя область заброшенна, в этой области присутствуют поблизости некоторые опасные вражеские силы. Не стоит их недооценивать.\n\n[lightgray]Исследуйте технологию переработки нефти, если возможно.
zone.tarFields.description = Окраина зоны нефтедобычи, между горами и пустыней. Один из немногих районов с полезными запасами дёгтя.\nХотя эта область заброшенна, в ней поблизости присутствуют некоторые опасные вражеские силы. Не стоит их недооценивать.\n\n[lightgray]Исследуйте технологию переработки нефти, если возможно.
zone.desolateRift.description = Чрезвычайно опасная зона. Обилие ресурсов, но мало места. Высокий риск разрушения. Эвакуироваться нужно как можно скорее. Не расслабляйтесь во время больших перерывов между вражескими атаками.
zone.nuclearComplex.description = Бывший завод по производству и переработке тория, превращенный в руины.\n[lightgray]Исследуйте торий и варианты его многочисленного применения.\n\nВраг присутствует здесь в большом числе, постоянно разведывая нападающих.
zone.fungalPass.description = Переходная область между высокими горами и более низкими, покрытыми спорами землями. Здесь расположена небольшая разведывательная база противника.\nУничтожьте ее.\nИспользуйте единицы «Кинжал» и «Камикадзе». Достаньте до обоих ядер.
zone.impact0078.description = <вставить описание здесь>
zone.crags.description = <вставить описание здесь>
settings.language = Язык
settings.data = Игровые данные
settings.reset = Сбросить по умолчанию
@@ -508,8 +525,8 @@ blocks.launchtime = Интервал запусков
blocks.shootrange = Радиус действия
blocks.size = Размер
blocks.liquidcapacity = Вместимость жидкости
blocks.powerrange = Диапазон передачи энергии
blocks.powerconnections = Max Connections
blocks.powerrange = Дальность передачи энергии
blocks.powerconnections = Количество соединений
blocks.poweruse = Потребляет энергии
blocks.powerdamage = Энергия/урон
blocks.itemcapacity = Вместимость предметов
@@ -529,9 +546,10 @@ blocks.inaccuracy = Разброс
blocks.shots = Выстрелы
blocks.reload = Выстрелы/секунду
blocks.ammo = Боеприпасы
bar.drilltierreq = Требуется лучший бур
bar.drillspeed = Скорость бурения: {0}/s
bar.pumpspeed = Pump Speed: {0}/s
bar.drilltierreq = Требуется бур получше
bar.drillspeed = Скорость бурения: {0}/с
bar.pumpspeed = Скорость выкачивания: {0}/с
bar.efficiency = Эффективность: {0}%
bar.powerbalance = Энергия: {0}/с
bar.powerstored = Накоплено: {0}/{1}
@@ -544,6 +562,9 @@ bar.heat = Нагрев
bar.power = Энергия
bar.progress = Прогресс строительства
bar.spawned = Единицы: {0}/{1}
bar.input = Вход
bar.output = Выход
bullet.damage = [stat]{0}[lightgray] урона
bullet.splashdamage = [stat]{0}[lightgray] урона в радиусе ~[stat] {1}[lightgray] блоков
bullet.incendiary = [stat]зажигательный
@@ -555,6 +576,7 @@ bullet.freezing = [stat]замораживающий
bullet.tarred = [stat]замедляющий, горючий
bullet.multiplier = [stat]{0}[lightgray]x множитель боеприпасов
bullet.reload = [stat]{0}[lightgray]x скорость стрельбы
unit.blocks = блоки
unit.powersecond = единиц энергии/секунду
unit.liquidsecond = жидкостных единиц/секунду
@@ -567,6 +589,8 @@ unit.persecond = /сек
unit.timesspeed = x скорость
unit.percent = %
unit.items = предметов
unit.thousands = тыс
unit.millions = мил
category.general = Основные
category.power = Энергия
category.liquids = Жидкости
@@ -576,9 +600,10 @@ category.shooting = Стрельба
category.optional = Дополнительные улучшения
setting.landscape.name = Только альбомный (горизонтальный) режим
setting.shadows.name = Тени
setting.blockreplace.name = Automatic Block Suggestions
setting.blockreplace.name = Автоматическая замена блоков
setting.linear.name = Линейная фильтрация
setting.hints.name = Подсказки
setting.buildautopause.name = Автоматическая приостановка строительства
setting.animatedwater.name = Анимированная вода
setting.animatedshields.name = Анимированные щиты
setting.antialias.name = Сглаживание[lightgray] (требует перезапуска)[]
@@ -599,14 +624,17 @@ setting.difficulty.insane = Безумная
setting.difficulty.name = Сложность:
setting.screenshake.name = Тряска экрана
setting.effects.name = Эффекты
setting.destroyedblocks.name = Display Destroyed Blocks
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
setting.destroyedblocks.name = Отображать уничтоженные блоки
setting.conveyorpathfinding.name = Поиск пути для установки конвейеров
setting.sensitivity.name = Чувствительность контроллера
setting.saveinterval.name = Интервал сохранения
setting.seconds = {0} секунд
setting.blockselecttimeout.name = Тайм-аут выбора блока
setting.milliseconds = {0} миллисекунд
setting.fullscreen.name = Полноэкранный режим
setting.borderlesswindow.name = Безрамочное окно[lightgray] (может потребоваться перезапуск)
setting.fps.name = Показывать FPS
setting.fps.name = Показывать FPS и пинг
setting.blockselectkeys.name = Показать клавиши выбора блока
setting.vsync.name = Вертикальная синхронизация
setting.pixelate.name = Пикселизация[lightgray] (отключает анимации)
setting.minimap.name = Отображать мини-карту
@@ -635,17 +663,36 @@ category.multiplayer.name = Сетевая игра
command.attack = Атаковать
command.rally = Точка сбора
command.retreat = Отступить
placement.blockselectkeys = \n[lightgray]Клавиша: [{0},
keybind.clear_building.name = Очистить план строительства
keybind.press = Нажмите клавишу…
keybind.press.axis = Нажмите оси или клавишу…
keybind.screenshot.name = Скриншот карты
keybind.move_x.name = Движение по оси x
keybind.move_y.name = Движение по оси y
keybind.toggle_power_lines.name = Отображение линий энергоснабжения
keybind.move_x.name = Движение по оси X
keybind.move_y.name = Движение по оси Y
keybind.category_prev.name = Предыдущая категория
keybind.category_next.name = Следующая категория
keybind.block_select_left.name = Выбор левого блока
keybind.block_select_right.name = Выбор правого блока
keybind.block_select_up.name = Выбор верхнего блока
keybind.block_select_down.name = Выбор нижнего блока
keybind.block_select_01.name = Категория/Выбор блока 1
keybind.block_select_02.name = Категория/Выбор блока 2
keybind.block_select_03.name = Категория/Выбор блока 3
keybind.block_select_04.name = Категория/Выбор блока 4
keybind.block_select_05.name = Категория/Выбор блока 5
keybind.block_select_06.name = Категория/Выбор блока 6
keybind.block_select_07.name = Категория/Выбор блока 7
keybind.block_select_08.name = Категория/Выбор блока 8
keybind.block_select_09.name = Категория/Выбор блока 9
keybind.block_select_10.name = Категория/Выбор блока 10
keybind.mouse_move.name = Следовать за курсором
keybind.schematic_select.name = Выбрать область
keybind.schematic_menu.name = Меню схем
keybind.schematic_flip_x.name = Отразить схему по оси X
keybind.schematic_flip_y.name = Отразить схему по оси Y
keybind.fullscreen.name = Полноэкранный режим
keybind.fullscreen.name = Переключение полноэкранного режима
keybind.select.name = Выбор/Выстрел
keybind.diagonal_placement.name = Диагональное размещение
keybind.pick.name = Выбрать блок
@@ -681,7 +728,9 @@ mode.pvp.description = Боритесь против других игроков
mode.attack.name = Атака
mode.attack.description = Уничтожьте вражескую базу. Никаких волн.\n[gray]Для игры требуется красное ядро на карте.
mode.custom = Пользовательские правила
rules.infiniteresources = Бесконечные ресурсы (Игрок)
rules.reactorexplosions = Взрывы реакторов
rules.wavetimer = Интервал волн
rules.waves = Волны
rules.attack = Режим атаки
@@ -707,6 +756,10 @@ rules.title.resourcesbuilding = Ресурсы & строительство
rules.title.player = Игроки
rules.title.enemy = Враги
rules.title.unit = Боев. ед.
rules.title.experimental = Эксперементально
rules.lighting = Освещение
rules.ambientlight = Окружающий свет
content.item.name = Предметы
content.liquid.name = Жидкости
content.unit.name = Боевые единицы
@@ -768,6 +821,7 @@ mech.buildspeed = [lightgray]Скорость строительства: {0}%
liquid.heatcapacity = [lightgray]Теплоёмкость: {0}
liquid.viscosity = [lightgray]Вязкость: {0}
liquid.temperature = [lightgray]Температура: {0}
block.sand-boulder.name = Песчаный валун
block.grass.name = Трава
block.salt.name = Соль
@@ -866,6 +920,8 @@ block.distributor.name = Распределитель
block.sorter.name = Сортировщик
block.inverted-sorter.name = Инвертированный сортировщик
block.message.name = Сообщение
block.illuminator.name = Осветитель
block.illuminator.description = Маленький, компактный, настраиваемый источник света. Требуется энергия для работы.
block.overflow-gate.name = Избыточный затвор
block.silicon-smelter.name = Кремниевый плавильный завод
block.phase-weaver.name = Фазовый ткач
@@ -879,6 +935,7 @@ block.coal-centrifuge.name = Угольная центрифуга
block.power-node.name = Силовой узел
block.power-node-large.name = Большой силовой узел
block.surge-tower.name = Кинетическая вышка
block.diode.name = Диод
block.battery.name = Аккумулятор
block.battery-large.name = Большой аккумулятор
block.combustion-generator.name = Генератор внутреннего сгорания
@@ -931,6 +988,7 @@ block.fortress-factory.name = Завод мехов «Крепость»
block.revenant-factory.name = Завод крейсеров «Мститель»
block.repair-point.name = Ремонтный пункт
block.pulse-conduit.name = Импульсный трубопровод
block.plated-conduit.name = Укреплённый трубопровод
block.phase-conduit.name = Фазовый трубопровод
block.liquid-router.name = Жидкостный маршрутизатор
block.liquid-tank.name = Жидкостный бак
@@ -982,37 +1040,38 @@ unit.eradicator.name = Искоренитель
unit.lich.name = Лич
unit.reaper.name = Жнец
tutorial.next = [lightgray]<Нажмите для продолжения>
tutorial.intro = Вы начали[scarlet] обучение по Mindustry.[]\nНачните с [accent]добычи меди[]. Нажмите на медную жилу возле Вашего ядра, чтобы сделать это.\n\n[accent]{0}/{1} меди
tutorial.intro.mobile = Вы начали[scarlet] обучение по Mindustry.[]\nПроведите по экрану, чтобы двигаться.\n[accent] Сведите или разведите 2 пальца для []изменения масштаба.\nНачните с [accent]добычи меди[]. Приблизьтесь к ней, затем нажмите на медную жилу возле Вашего ядра, чтобы сделать это.\n\n[accent]{0}/{1} меди
tutorial.drill = Ручная добыча не является эффективной.\n[accent]Буры []могут добывать автоматически.\nНажмите на вкладку с изображением сверла снизу справа.\nВыберите[accent] механический бур[]. Разместите его на медной жиле нажатием.\n[accent]Нажатие по правой кнопке[] прервёт строительство. [accent]Зажмите Ctrl и покрутите колесо мыши[]для приближения или отдаления камеры.
tutorial.drill.mobile = Ручная добыча не является эффективной.\n[accent]Буры []могут добывать автоматически.\nНажмите на вкладку с изображением сверла снизу справа.\nВыберите[accent] механический бур[]. \nРазместите его на медной жиле нажатием, затемм нажмите [accent] белую галку[] ниже, чтобы подтвердить построение выделенного.\nНажмите [accent] кнопку X[], чтобы отменить размещение.
tutorial.intro = Вы начали[scarlet] обучение по Mindustry.[]\nИспользуйте кнопки [accent][[WASD][] для передвижения.\n[accent]Зажмите [[Ctrl] и покрутите колесо мыши[]для приближения или отдаления камеры.\nНачните с [accent]добычи меди[]. Приблизьтесь к ней, затем нажмите на медную жилу возле Вашего ядра, чтобы сделать это.\n\n[accent]{0}/{1} меди
tutorial.intro.mobile = Вы начали[scarlet] обучение по Mindustry.[]\nПроведите по экрану, чтобы двигаться.\n[accent]Сведите или разведите 2 пальца[] для изменения масштаба.\nНачните с [accent]добычи меди[]. Приблизьтесь к ней, затем нажмите на медную жилу возле Вашего ядра, чтобы сделать это.\n\n[accent]{0}/{1} меди
tutorial.drill = Ручная добыча не является эффективной.\n[accent]Буры[] могут добывать автоматически.\nНажмите на вкладку с изображением сверла снизу справа.\nВыберите[accent] механический бур[]. Разместите его на медной жиле нажатием.\n[accent]Нажатие по правой кнопке[] прервёт строительство.
tutorial.drill.mobile = Ручная добыча не является эффективной.\n[accent]Буры []могут добывать автоматически.\nНажмите на вкладку с изображением сверла снизу справа.\nВыберите[accent] механический бур[].\nРазместите его на медной жиле нажатием, затем нажмите [accent] белую галку[] ниже, чтобы подтвердить построение выделенного.\nНажмите [accent] кнопку X[], чтобы отменить размещение.
tutorial.blockinfo = Каждый блок имеет разные характеристики. Каждая дрель может добывать определенные руды.\nЧтобы узнать информацию о блоке и о его характеристиках,[accent] нажмите на «?», когда он выбран в меню строительства.[]\n\n[accent]Сейчас, узнайте характеристики механического бура.[]
tutorial.conveyor = [accent]Конвейеры[] используются для транспортировки ресуров в ядро.\nСделайте линию конвейеров от бура к ядру\n[accent]Удерживайте левую кнопку мыши, чтобы разместить в линию.[]\nУдерживайте[accent] CTRL[] при постройке линии блоков, чтобы сделать её диагональной\n\n[accent]Разместите 2 конвейера в линию и доставьте предметы в ядро.
tutorial.conveyor.mobile = [accent]Конвейеры[] используются для транспортировки ресурсов в ядро\nСделайте линию конвейеров от бура к ядру\n[accent]Сделайте линию, удерживая палец несколько секунд в том месте, в котором Вы хотите начать линию,[] и перетяните его в нужном направлении.[accent]Разместите 2 конвейера в линию и доставьте предметы в ядро.
tutorial.turret = Как только предмет попадает в ядро, его можно использовать в строительстве.\nИмейте в виду, что не все предметы могут быть использованы в строительстве.\nПредметы, которые нелья использовать для стоительства, такие как[accent] уголь[] или[accent] металлолом[], не могут быть транспортированы в ядро.\nЗащитные структуры нужно строить для отражения[lightgray] противников[].\nПостройте[accent] двойную турель[] возле Вашей базы.
tutorial.drillturret = Двойным турелям нужна [accent]медь []в качестве боеприпасов.\nРазместите бур рядом с турелью.\nПроведите конвейеры к турели, чтобы снабдить её медью.\n\n[accent]Боеприпасов доставлено: 0/1
tutorial.pause = Во время битвы Вы можете[accent] приостановить игру.[]\nВы можете планировать строительство, когда игра стоит на паузе.\n\n[accent]Нажмите ПРОБЕЛ для приостановки игры.
tutorial.drillturret = Двойным турелям нужна [accent]медные боеприпасы[] для стрельбы.\nРазместите бур рядом с турелью.\nПроведите конвейеры к турели, чтобы снабдить её медью.\n\n[accent]Боеприпасов доставлено: 0/1
tutorial.pause = Во время битвы, Вы можете[accent] приостановить игру.[]\nВы можете планировать строительство, когда игра стоит на паузе.\n\n[accent]Нажмите ПРОБЕЛ для приостановки игры.
tutorial.pause.mobile = Во время битвы, Вы можете[accent] приостановить игру.[]\nВы можеть планировать строительство, когда игра стоит на паузе.\n\n[accent]Нажмите кнопку вверху слева, чтобы поставить игру на паузу.
tutorial.unpause = Снова нажмите пробел для снятия паузы.
tutorial.unpause.mobile = Снова нажмите туда для снятия паузы.
tutorial.breaking = Зачастую, блоки приходится разрушать\n[accent]Зажмите ПКМ[], чтобы разрушить блоки в выбранной зоне.[]\n\n[accent]Разрушьте все стены из металлолома слева от Вашего ядра.
tutorial.breaking.mobile = Зачастую, блоки приходится разрушить.\n[accent]Выберите режим деконструкции[], после чего нажмите на нужный блок, чтобы разрушить его.\nРазрушьте блоки в выбранной зоне, зажав палец на несколько секунд[], и проведя его в нужном направлении.\nНажмите на галочку, чтобы подтвердить разрушение.\n\n[accent]Разрушьте все стены из металлолома слева от Вашего ядра.
tutorial.breaking.mobile = Зачастую, блоки приходится разрушать.\n[accent]Выберите режим деконструкции[], после чего нажмите на нужный блок, чтобы разрушить его.\nРазрушьте блоки в выбранной зоне, зажав палец на несколько секунд[], и проведя его в нужном направлении.\nНажмите на галочку, чтобы подтвердить разрушение.\n\n[accent]Разрушьте все стены из металлолома слева от Вашего ядра.
tutorial.withdraw = В некоторых ситуациях, необходимо забрать предметы из блоков вручную.\nЧтобы сделать это, [accent]нажмите на блок[], в котором находятся предметы, затем [accent]нажмите на предмет[] в инвентаре.\nМожно забрать несколько предметов [accent]нажатием с зажимом[].\n\n[accent]Заберите немного меди из ядра[]
tutorial.deposit = Положить предметы в блоки можно перетащив от своего корабля к нужному блоку.\n\n[accent]Перенесите медь обратно в ядро[]
tutorial.deposit = Положите предметы в блок, перетащив их от своего корабля в нужный блок.\n\n[accent]Перенесите медь обратно в ядро[]
tutorial.waves = [lightgray]Противники[] приближаются.\n\nЗащитите ядро от двух волн. Используйте[accent] левую кнопку мыши[] для стрельбы.\nПостройте больше турелей и буров. Добудьте больше меди.
tutorial.waves.mobile = [lightgray]Противники[] приближаются.\n\nЗащитите ядро от двух волн. Ваш корабль будет автоматически атаковать противника.\nПостройте больше турелей и буров. Добудьте больше меди.
tutorial.launch = Когда Вы достигаете определенной волны, Вы можете осуществить[accent] запуск ядра[], оставив базу и[accent] перенести ресурсы из ядра.[]\nЭти ресурсы могут быть использованы для изучения новых технологий.\n\n[accent]Нажмите кнопку запуска.
item.copper.description = Самый основной строительный материал. Широко используется во всех типах блоков.
item.lead.description = Основной стартовый материал. Широко используется в электронике и блоках для транспортировки жидкостей.
item.metaglass.description = Сверхпрочный сплав стекла. Широко используется для распределения и хранения жидкости.
item.graphite.description = Минерализованный углерод, используемый для боеприпасов и электроизоляции.
item.sand.description = Обычный материал, который широко используется при выплавке, как при легировании, так и в качестве отходов.
item.sand.description = Обычный материал, который широко используется при выплавке, как при легировании, так и в качестве флюса.
item.coal.description = Окаменелое растительное вещество, образовавшееся задолго до посева. Широко используется для производства топлива и ресурсов.
item.titanium.description = Редкий сверхлёгкий металл, широко используемый для транспортировки жидкостей, буров и авиации.
item.thorium.description = Плотный радиоактивный металл, используемый в качестве структурной опоры и ядерного топлива.
item.scrap.description = Остатки старых сооружений и подразделений. Содержит небольшие количества многих различных металлов.
item.silicon.description = Чрезвычайно полезный полупроводник. Применяется в солнечных панелях, сложной электронике и самонаводящихся боеприпасах.
item.plastanium.description = Лёгкий, пластичный материал, используемый в современных авиационных и осколочных боеприпасах.
item.plastanium.description = Лёгкий, пластичный материал, используемый в продвинутой авиации и осколочных боеприпасах.
item.phase-fabric.description = Практически невесомое вещество, используемое в передовой электронике и технологиях самовосстановления.
item.surge-alloy.description = Современный сплав с уникальными электрическими свойствами.
item.spore-pod.description = Стручок синтетических спор, синтезированных из атмосферных концентраций для промышленных целей. Используется для превращения в нефть, взрывчатые вещества и топливо.
@@ -1024,9 +1083,9 @@ liquid.oil.description = Жидкость, используемая в прои
liquid.cryofluid.description = Инертная, неедкая жидкость, созданная из воды и титана. Обладает чрезвычайно высокой теплоёмкостью. Широко используется в качестве охлаждающей жидкости.
mech.alpha-mech.description = Стандартный управляемый мех. Основан на «Кинжале», с улучшенной броней и строительными возможностями. Имеет больший урон, чем «Дротик».
mech.delta-mech.description = Быстрый, легко бронированный мех, созданный для ударов «атакуй и беги». Наносит мало урона по строениям, но может очень быстро убить большие группы вражеских орудий с помощью дуговых молний.
mech.tau-mech.description = Мех поддержки. Ремонтирует союзные блоки просто стреляя в них. Может лечить союзников в радиусе его ремонтирующей способности.
mech.tau-mech.description = Мех поддержки. Ремонтирует союзные блоки, просто стреляя в них. Может лечить союзников в радиусе его ремонтирующей способности.
mech.omega-mech.description = Громоздкий и хорошо бронированный мех, созданный для передовых атак. Его броня может блокировать до 90% входящего урона.
mech.dart-ship.description = Стандартный управляемый корабль. Достаточно быстрый и легкий, но мало атакующий и обладает низкой скоростью добычи.
mech.dart-ship.description = Стандартный управляемый корабль. Достаточно быстрый и легкий, но обладает слабым вооружением и низкой скоростью добычи.
mech.javelin-ship.description = Корабль для тактики «атакуй и беги». Сначала он медленный, но позже может разгоняться до огромных скоростей и летать над аванпостами противника, нанося большой урон молниями и ракетами.
mech.trident-ship.description = Тяжёлый бомбардировщик, построенный для строительства и уничтожения вражеских укреплений. Достаточно хорошо бронированный.
mech.glaive-ship.description = Большой хорошо бронированный боевой корабль. Оборудован зажигательным повторителем. Очень манёвренный.
@@ -1045,14 +1104,14 @@ block.message.description = Сохраняет сообщение. Исполь
block.graphite-press.description = Сжимает куски угля в чистые листы графита.
block.multi-press.description = Обновлённая версия графитовой печати. Использует воду и энергию для быстрой и эффективной переработки угля.
block.silicon-smelter.description = Соединяет песок с чистым углем. Производит кремний.
block.kiln.description = Выплавляет песок и свинец в соединение, известному как метастекло. Требуется небольшое количество энергии для запуска.
block.kiln.description = Выплавляет песок и свинец в соединение, известное как метастекло. Требуется небольшое количество энергии для работы.
block.plastanium-compressor.description = Производит пластаний из нефти и титана.
block.phase-weaver.description = Синтезирует фазовую ткань из радиоактивного тория и песка. Требуется огромное количество энергии.
block.phase-weaver.description = Синтезирует фазовую ткань из радиоактивного тория и песка. Требуется огромное количество энергии для работы.
block.alloy-smelter.description = Объединяет титан, свинец, кремний и медь для производства кинетического сплава.
block.cryofluidmixer.description = Смешивает воду и мелкий титановый порошок титана в криогеннную жидкость. Неотъемлемая часть при использования ториевого реактора
block.blast-mixer.description = Раздавливает и смешивает скопления спор с пиротитом для получения взрывчатого вещества.
block.pyratite-mixer.description = Смешивает уголь, свинец и песок в легковоспламеняющийся пиротит.
block.melter.description = Плавит металлолом в шлак для дальнейшей обработки или использования в башнях «Волна».
block.melter.description = Плавит металлолом в шлак для дальнейшей обработки или использования в турелях «Волна».
block.separator.description = Разделяет шлак на его минеральные компоненты. Выводит охлажденный результат.
block.spore-press.description = Сжимает капсулы спор под сильным давлением для синтеза масла.
block.pulverizer.description = Измельчает металлолом в мелкий песок.
@@ -1063,12 +1122,12 @@ block.power-source.description = Бесконечно вводит энерги
block.item-source.description = Бесконечно выводит элементы. Только песочница.
block.item-void.description = Уничтожает любые предметы. Только песочница.
block.liquid-source.description = Бесконечно выводит жидкости. Только песочница.
block.copper-wall.description = Дешёвый защитный блок.\nПолезно для защиты ядра и турелей в первые несколько волн.
block.copper-wall-large.description = Дешёвый защитный блок.\nПолезно для защиты ядра и турелей в первые несколько волн.\nРазмещается на нескольких плитках.
block.copper-wall.description = Дешёвый защитный блок.\nПолезен для защиты ядра и турелей в первые несколько волн.
block.copper-wall-large.description = Дешёвый защитный блок.\nПолезен для защиты ядра и турелей в первые несколько волн.\nРазмещается на нескольких плитках.
block.titanium-wall.description = Умеренно сильный защитный блок.\nОбеспечивает умеренную защиту от врагов.
block.titanium-wall-large.description = Умеренно сильный защитный блок.\nОбеспечивает умеренную защиту от врагов.\nРазмещается на нескольких плитках.
block.plastanium-wall.description = Специальный тип стены, который поглощает электрические разряды и блокирует автоматическое соединение между силовыми узлами.\nРазмещается на нескольких плитках.
block.plastanium-wall-large.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.\nSpans multiple tiles.
block.plastanium-wall.description = Специальный тип стены, который поглощает электрические разряды и блокирует автоматическое соединение между силовыми узлами.
block.plastanium-wall-large.description = Специальный тип стены, который поглощает электрические разряды и блокирует автоматическое соединение между силовыми узлами.\nРазмещается на нескольких плитках.
block.thorium-wall.description = Сильный защитный блок.\nХорошая защита от врагов.
block.thorium-wall-large.description = Сильный защитный блок.\nХорошая защита от врагов.\nРазмещается на нескольких плитках.
block.phase-wall.description = Стена, покрытая специальным фазовым отражающим составом. Отражает большинство пуль при ударе.
@@ -1077,37 +1136,39 @@ block.surge-wall.description = Очень прочный защитный бло
block.surge-wall-large.description = Очень прочный защитный блок.\nНакапливает заряд при контакте с пулей, выпуская его случайным образом.\nРазмещается на нескольких плитках.
block.door.description = Маленькая дверь. Можно открыть или закрыть нажатием.
block.door-large.description = Большая дверь. Можно открыть и закрыть нажатием.\nРазмещается на нескольких плитках.
block.mender.description = Периодически ремонтирует блоки в непосредственной близости. Сохраняет средства защиты, восстановленные между волнами.\nОпционально использует кремний для увеличения дальности и эффективности.
block.mend-projector.description = Обновлённая версия Регенератора. Ремонт блоков в непосредственной близости.\nОпционально использует фазовую ткань для увеличения дальности и эффективности.
block.mender.description = Периодически ремонтирует блоки в непосредственной близости. Сохраняет средства защиты в целостности между волнами.\nОпционально использует кремний для увеличения дальности и эффективности.
block.mend-projector.description = Обновлённая версия Регенератора. Ремонтирует блоки в непосредственной близости.\nОпционально использует фазовую ткань для увеличения дальности и эффективности.
block.overdrive-projector.description = Увеличивает скорость близлежащих зданий.\nОпционально использует фазовую ткань для увеличения дальности и эффективности.
block.force-projector.description = Создает вокруг себя шестиугольное силовое поле, защищая здания и подразделения внутри от повреждений.\nПерегревается, если нанесено слишком большое количество повреждений. Опционально требуется охлаждающая жидкость для предотвращения перегрева. Фазовая ткань может быть использована для увеличения размера щита.
block.force-projector.description = Создает вокруг себя шестиугольное силовое поле, защищая здания и подразделения внутри от повреждений.\nПерегревается, если нанесено слишком большое количество повреждений. Опционально использует охлаждающую жидкость для предотвращения перегрева. Фазовая ткань может быть использована для увеличения размера щита.
block.shock-mine.description = Наносит урон врагам, наступающим на мину. Почти невидима для врага.
block.conveyor.description = Базовый элемент транспортного блока. Перемещает предметы вперед и автоматически складывает их в блоки. Можно повернуть.
block.titanium-conveyor.description = Расширенный транспортный блок. Перемещает предметы быстрее, чем стандартные конвейеры.
block.junction.description = Действует как мост для двух пересекающихся конвейерных лент. Полезно в ситуациях, когда два разных конвейера перевозят разные материалы в разные места.
block.bridge-conveyor.description = Улучшенный транспортный блок. Позволяет транспортировать предметы по 3 плиткам любой местности или здания.
block.phase-conveyor.description = Улучшенный транспортный блок. Использует энергию для телепортации предметов на подключенный фазовый конвейер по нескольким плиткам.
block.titanium-conveyor.description = Улучшенный транспортный блок. Перемещает предметы быстрее, чем стандартные конвейеры.
block.junction.description = Действует как мост для двух пересекающихся конвейерных лент. Полезен в ситуациях, когда два разных конвейера перевозят разные материалы в разные места.
block.bridge-conveyor.description = Улучшенный транспортный блок. Позволяет транспортировать предметы над 3 плитками любой местности или здания.
block.phase-conveyor.description = Улучшенный транспортный блок. Использует энергию для телепортации предметов на подключенный фазовый конвейер над несколькими плитками.
block.sorter.description = Сортирует предметы. Если предмет соответствует выбору, он может пройти. В противном случае предмет выводится слева и справа.
block.inverted-sorter.description = Работает с предметами так же, как и стандартный сортировщик, но выводит выбранный предмет по бокам, а не прямо.
block.router.description = Принимает предмет в одном направлении и выводит их до 3 других направлений в равной степени. Полезно для разделения материалов из одного источника на несколько целей.\n\n[scarlet]Никогда не используйте рядом с заводами и т.п., так как маршрутизатор будет забит выходными предметами.[]
block.distributor.description = Расширенный маршрутизатор. Разделение элементов до 7 других направлений в равной степени.
block.overflow-gate.description = Комбинированный разделитель и маршрутизатор. Выводит только влево и вправо, если передний путь заблокирован.
block.mass-driver.description = Конечный транспортный блок. Собирает несколько предметов и затем стреляет ими в другую катапульту на большом расстоянии. Требуется энергия для работы.
block.router.description = Принимает предмет в одном направлении и выводит их до 3 других направлений в равной степени. Полезен для разделения материалов из одного источника на несколько целей.\n\n[scarlet]Никогда не используйте рядом с заводами и т.п., так как маршрутизатор будет забит выходными предметами.[]
block.distributor.description = Расширенный маршрутизатор. Разделяет предметы до 7 других направлений в равной степени.
block.overflow-gate.description = Выводит предметы влево и вправо, только если передний путь заблокирован.
block.mass-driver.description = Самый продвинутый транспортного блока. Собирает несколько предметов и затем стреляет ими в другую катапульту на большом расстоянии. Требуется энергия для работы.
block.mechanical-pump.description = Дешёвый насос с низкой производительностью, но без энергопотребления.
block.rotary-pump.description = Продвинутый насос. Качает больше жидкости, но требуют энергию.
block.thermal-pump.description = Наилучший насос.
block.conduit.description = Основной блок транспортировки жидкости. Перемещает жидкости вперед. Используется совместно с насосами и другими трубопроводами.
block.pulse-conduit.description = Расширенный блок транспортировки жидкости. Транспортирует жидкости быстрее и хранит больше, чем стандартные трубопроводы.
block.liquid-router.description = Принимает жидкости из одного направления и выводит их до 3 других направлений в равной степени. Можно также хранить определенное количество жидкости. Полезно для разделения жидкостей из одного источника на несколько целей.
block.pulse-conduit.description = Улучшенный блок транспортировки жидкости. Транспортирует жидкости быстрее и хранит больше, чем стандартные трубопроводы.
block.plated-conduit.description = Перемещает жидкости с той же скоростью, что и импульсные трубопроводы, но обладает большей прочностью. Не принимает жидкости со сторон, кроме как от других трубопроводов.\nПротекает меньше.
block.liquid-router.description = Принимает жидкости из одного направления и выводит их до 3 других направлений в равной степени. Также может хранить определенное количество жидкости. Полезен для разделения жидкостей из одного источника на несколько целей.
block.liquid-tank.description = Хранит большое количество жидкости. Используется для создания буферов в ситуациях с непостоянной потребностью в материалах или в качестве защиты для охлаждения жизненно важных блоков.
block.liquid-junction.description = Действует как мост для двух пересекающихся каналов. Полезно в ситуациях, когда два разных трубопровода переносят разные жидкости в разные места.
block.liquid-junction.description = Действует как мост для двух пересекающихся каналов. Полезен в ситуациях, когда два разных трубопровода переносят разные жидкости в разные места.
block.bridge-conduit.description = Расширенный блок транспортировки жидкости. Позволяет транспортировать жидкости над 3 плитками любой местности или здания.
block.phase-conduit.description = Расширенный блок транспортировки жидкости. Использует энергию для телепортации жидкостей в подключенный фазовый канал над несколькими плиткам.
block.power-node.description = Передает питание на подключенные узлы. Узел будет получать питание или поставлять питание на любые соседние блоки.
block.power-node-large.description = Усовершенствованный силовой узел с большей дальностью и большим количеством соединений.
block.power-node-large.description = Усовершенствованный силовой узел с большей дальностью.
block.surge-tower.description = Силовой узел с очень большим радиусом действия, но меньшим количеством доступных соединений.
block.diode.description = Энергия из аккумуляторов имеет возможность перемещаться через этот блок в одну сторону, если на выходе имеется меньше энергии в запасе, чем на входе.
block.battery.description = Накапливает энергию как буфер во времена избытка энергии. Выводит энергию во времена дефицита.
block.battery-large.description = Хранит гораздо больше энергии, чем обычная батарея.
block.battery-large.description = Хранит гораздо больше энергии, чем обычный аккумулятор.
block.combustion-generator.description = Вырабатывает энергию путём сжигания легковоспламеняющихся материалов, таких как уголь.
block.thermal-generator.description = Генерирует энергию, когда находится в горячих местах.
block.turbine-generator.description = Усовершенствованный генератор сгорания. Более эффективен, но дополнительно требует воду для выработки пара.
@@ -1116,28 +1177,28 @@ block.rtg-generator.description = Простой, надежный генера
block.solar-panel.description = Обеспечивает небольшое количество энергии от солнца.
block.solar-panel-large.description = Значительно более эффективный вариант стандартной солнечной панели.
block.thorium-reactor.description = Генерирует значительное количество энергии из тория. Требует постоянного охлаждения. Взорвётся с большой силой при недостаточном количестве охлаждающей жидкости. Выходная энергия зависит от наполненности, при этом базовая энергия генерируется на полную мощность.
block.impact-reactor.description = Усовершенствованный генератор, способный создавать огромное количество энергии с максимальной эффективностью. Требуется значительное количество энергии для запуска процесса.
block.mechanical-drill.description = Дешёвый бур. При размещении на соответствующих плитках, предметы бесконечно выводятся в медленном темпе. Способен добывать только медь, свинец и уголь.
block.impact-reactor.description = Усовершенствованный генератор, способный создавать огромное количество энергии на пике эффективности. Требуется значительное количество энергии для запуска процесса.
block.mechanical-drill.description = Дешёвый бур. При размещении на соответствующих плитках, предметы бесконечно выводятся в медленном темпе. Способен добывать только базовые ресурсы.
block.pneumatic-drill.description = Улучшенный бур, способный добывать титан. Добывает быстрее, чем механический бур.
block.laser-drill.description = Позволяет сверлить еще быстрее с помощью лазерной технологии, но требует энергии. Способен добывать торий.
block.blast-drill.description = Конечный бур. Требует большое количества энергии.
block.blast-drill.description = Самый продвинутый бура. Требует большое количества энергии.
block.water-extractor.description = Выкачивает подземные воды. Используется в местах, где нет поверхностных вод.
block.cultivator.description = Выращивает крошечные концентрации спор в атмосфере в готовые к использованию споры.
block.oil-extractor.description = Использует большое количество энергии, песка и воды для бурения, добывая нефть.
block.core-shard.description = Первая итерация капсулы ядра. После уничтожения весь контакт с регионом теряется. Не позволяйте этому случиться.
block.core-shard.description = Первая итерация капсулы ядра. После уничтожения, весь контакт с регионом теряется. Не позволяйте этому случиться.
block.core-foundation.description = Вторая версия ядра. Лучше бронировано. Хранит больше ресурсов.
block.core-nucleus.description = Третья и последняя итерация капсулы ядра. Очень хорошо бронировано. Хранит огромное количество ресурсов.
block.vault.description = Хранит большое количество предметов каждого типа. Блок разгрузчика может быть использован для извлечения предметов из хранилища.
block.container.description = Хранит небольшое количество предметов каждого типа. Блок разгрузчика может быть использован для извлечения элементов из контейнера.
block.unloader.description = Выгружает предметы из контейнера, хранилища или ядра на конвейер или непосредственно в соседний блок. Тип элемента, который необходимо Выгрузить, можно изменить, коснувшись.
block.unloader.description = Выгружает предметы из любого нетранспортного блока. Тип предмета, который необходимо выгрузить, можно изменить нажатием.
block.launch-pad.description = Запускает партии предметов без необходимости запуска ядра.
block.launch-pad-large.description = Улучшенная версия стартовой площадки. Хранит больше предметов. Запускается чаще.
block.duo.description = Маленькая, дешёвая турель. Полезна против наземных юнитов.
block.scatter.description = Основная противовоздушная турель. Распыляет куски свинца или металлолома на вражеские подразделения.
block.scorch.description = Сжигает любых наземных врагов рядом с ним. Высокоэффективна на близком расстоянии.
block.scorch.description = Сжигает любых наземных врагов рядом с ним. Высокоэффективен на близком расстоянии.
block.hail.description = Маленькая дальнобойная артиллерийская турель.
block.wave.description = Турель среднего размера. Стреляет потоками жидкости по врагам. Автоматически тушит пожары при подаче воды.
block.lancer.description = Лазерная турель среднего размера. Заряжает и стреляет мощными лучами энергии.
block.lancer.description = Лазерная турель среднего размера. Заряжает и стреляет мощными лучами энергии по наземным целям.
block.arc.description = Небольшая электрическая турель ближнего радиуса действия. Выстреливает дуги электричества по врагам.
block.swarmer.description = Ракетная турель среднего размера. Атакует как воздушных, так и наземных врагов. Запускает самонаводящиеся ракеты.
block.salvo.description = Большая, более продвинутая версия двойной турели. Выпускает быстрые залпы из пуль по врагу.
@@ -1147,21 +1208,21 @@ block.cyclone.description = Большая противовоздушная и
block.spectre.description = Массивная двуствольная пушка. Стреляет крупными бронебойными пулями по воздушным и наземным целям.
block.meltdown.description = Массивная лазерная пушка. Заряжает и стреляет постоянным лазерным лучом в ближайших врагов. Требуется охлаждающая жидкость для работы.
block.command-center.description = Командует перемещениями боевых единиц по всей карте.\nУказывает подразделениям [accent]собираться[] вокруг командного центра, [accent]атаковать[] вражеское ядро или [accent]отступать[] к ядру/фабрике. Если вражеское ядро отсутствует, единицы будут патрулировать при команде [accent]атаки[].
block.draug-factory.description = Производит добывающих дронов.
block.spirit-factory.description = Производит дронов, которые ремонтируют постройки.
block.draug-factory.description = Производит добывающих дронов «Драугр».
block.spirit-factory.description = Производит дронов «Дух», которые ремонтируют постройки.
block.phantom-factory.description = Производит улучшенных дронов, которые помогают в строительстве.
block.wraith-factory.description = Производит быстрые и летающие боевые единицы.
block.ghoul-factory.description = Производит тяжёлых ковровых бомбардировщиков.
block.revenant-factory.description = Производит тяжёлые летающие боевые единицы.
block.dagger-factory.description = Производит основных наземных боевые единиц.
block.crawler-factory.description = Производит быстрых саморозрушающихся боевые единиц.
block.ghoul-factory.description = Производит тяжёлые ковровые бомбардировщики.
block.revenant-factory.description = Производит тяжёлые летающие боевые единицы, вооружённые ракетами.
block.dagger-factory.description = Производит основные наземные боевые единицы.
block.crawler-factory.description = Производит быстрые саморазрушающиеся боевые единицы.
block.titan-factory.description = Производит продвинутые бронированные боевые единицы.
block.fortress-factory.description = Производит тяжёлые артиллерийские боевые единицы.
block.repair-point.description = Непрерывно лечит ближайший поврежденную боевую единицу или мех, находящийся рядом.
block.dart-mech-pad.description = Обеспечивает превращение в базовый атакующий мех. \nИспользуйте, нажав, стоя на нём.
block.repair-point.description = Непрерывно лечит ближайшую поврежденную боевую единицу или мех в своём радиусе.
block.dart-mech-pad.description = Обеспечивает превращение в базовый атакующий мех.\nИспользуйте, нажав, стоя на нём.
block.delta-mech-pad.description = Обеспечивает превращение в легкобронированный атакующий мех.\nИспользуйте, нажав, стоя на нём.
block.tau-mech-pad.description = Обеспечивает превращение в улучшенный мех поддержки.\nИспользуйте, нажав, стоя на нём.
block.tau-mech-pad.description = Обеспечивает превращение в продвинутый мех поддержки.\nИспользуйте, нажав, стоя на нём.
block.omega-mech-pad.description = Обеспечивает превращение в тяжелобронированный ракетный мех.\nИспользуйте, нажав, стоя на нём.
block.javelin-ship-pad.description = Обеспечивает превращение в быстрый перехватчик в лёгкой броне.\nИспользуйте, нажав, стоя на нём.
block.trident-ship-pad.description = Обеспечивает превращение в тяжёлый бомбардировщик.\nИспользуйте, нажав, стоя на нём.
block.trident-ship-pad.description = Обеспечивает превращение в тяжёлый бомбардировщик поддержки.\nИспользуйте, нажав, стоя на нём.
block.glaive-ship-pad.description = Обеспечивает превращение в большой, хорошо бронированный боевой корабль.\nИспользуйте, нажав, стоя на нём.

View File

@@ -81,7 +81,7 @@ uploadingpreviewfile = Laddar upp förhandsgranskningsfil
committingchanges = Comitting Changes
done = Klar
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry Github or Discord.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]No mods found!
@@ -98,7 +98,7 @@ mod.enable = Enable
mod.requiresrestart = The game will now close to apply the mod changes.
mod.reloadrequired = [scarlet]Reload Required
mod.import = Import Mod
mod.import.github = Import Github Mod
mod.import.github = Import GitHub Mod
mod.remove.confirm = This mod will be deleted.
mod.author = [LIGHT_GRAY]Author:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}

View File

@@ -81,7 +81,7 @@ uploadingpreviewfile = Uploading Preview File
committingchanges = Comitting Changes
done = Done
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry Github or Discord.
mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord.
mods.alpha = [accent](Alpha)
mods = Mods
mods.none = [LIGHT_GRAY]No mods found!
@@ -98,7 +98,7 @@ mod.enable = Enable
mod.requiresrestart = The game will now close to apply the mod changes.
mod.reloadrequired = [scarlet]Reload Required
mod.import = Import Mod
mod.import.github = Import Github Mod
mod.import.github = Import GitHub Mod
mod.remove.confirm = This mod will be deleted.
mod.author = [LIGHT_GRAY]Author:[] {0}
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}

View File

@@ -81,7 +81,7 @@ uploadingpreviewfile = Önizleme Dosyası Yükleniyor
committingchanges = Değişiklikler Uygulanıyor
done = Bitti
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Modların alfa aşamasında olduğunu ve [scarlet]oldukça hatalı olabileceklerini[] unutmayın.\nBulduğunuz sorunları Mindustry Github'ı veya Discord'una bildirin.
mods.alphainfo = Modların alfa aşamasında olduğunu ve [scarlet]oldukça hatalı olabileceklerini[] unutmayın.\nBulduğunuz sorunları Mindustry GitHub'ı veya Discord'una bildirin.
mods.alpha = [accent](Alpha)
mods = Modlar
mods.none = [LIGHT_GRAY]Hiç mod bulunamadı!
@@ -98,7 +98,7 @@ mod.enable = Etkinleştir
mod.requiresrestart = Oyun mod değişikliklerini uygulamak için kapatılacak.
mod.reloadrequired = [scarlet]Yeniden Yükleme Gerekli
mod.import = Mod İçeri Aktar
mod.import.github = Github Modu İçeri Aktar
mod.import.github = GitHub Modu İçeri Aktar
mod.remove.confirm = Bu mod silinecek.
mod.author = [LIGHT_GRAY]Yayıncı:[] {0}
mod.missing = Bu kayıt yakın zamanda güncellediğiniz ya da artık yüklü olmayan modlar içermekte. Kayıt bozulmaları yaşanabilir. Kaydı yüklemek istediğinizden emin misiniz?\n[lightgray]Modlar:\n{0}

View File

@@ -3,13 +3,14 @@ credits = Творці
contributors = Перекладачі та помічники
discord = Приєднуйтесь до Mindustry Discord!
link.discord.description = Офіційний Discord сервер Mindustry
link.reddit.description = Гілка Mindustry на Reddit
link.reddit.description = Спільнота Mindustry на Reddit
link.github.description = Вихідний код гри
link.changelog.description = Список змін
link.dev-builds.description = Нестабільні версії
link.trello.description = Офіційна дошка Trello для запланованих функцій
link.itch.io.description = Itch.io сторінка, на якій можна завантажити гру
link.google-play.description = Завантажити для Android з Google Play
link.f-droid.description = Перелік каталогу F-Droid
link.wiki.description = Офіційна Mindustry wiki
linkfail = Не вдалося відкрити посилання!\nURL-адреса скопійована в буфер обміну.
screenshot = Зняток мапи збережено в {0}
@@ -25,17 +26,17 @@ load.content = Зміст
load.system = Система
load.mod = Модифікації
schematic = Схема
schematic.add = Зберегти схему...
schematic.add = Зберегти схему
schematics = Схеми
schematic.replace = Схема з такою ж назвою вже існує. Замінити її?
schematic.import = Імпортувати схему...
schematic.import = Імпортувати схему
schematic.exportfile = Експортувати файл
schematic.importfile = Імпортувати файл
schematic.browseworkshop = Переглянути в Майстерні
schematic.copy = Копіювати в буфер обміну
schematic.copy.import = Імпортувати з клавіатури
schematic.shareworkshop = Поширити в Майстерні
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Flip Schematic
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Відобразити схему
schematic.saved = Схема збережена.
schematic.delete.confirm = Ця схема буде повністю випалена.
schematic.rename = Перейменувати схему.
@@ -48,7 +49,7 @@ stat.deconstructed = Будівель декоструйовано[accent] {0}
stat.delivered = Ресурсів запущено:
stat.rank = Фінальний рахунок: [accent]{0}
launcheditems = [accent]Запущені предмети
launchinfo = [unlaunched][[LAUNCH] ваше ядро для отримання предметів позначено синім кольором.
launchinfo = [unlaunched]Натисніть на кнопку «[[ЗАПУСК]», щоб ваше ядро отримало предмети, які виділені синім кольором.
map.delete = Ви впевнені, що хочете видалити мапу «[accent]{0}[]»?
level.highscore = Рекорд: [accent]{0}
level.select = Вибір мапи
@@ -74,31 +75,41 @@ maps.browse = Перегляд мап
continue = Продовжити
maps.none = [lightgray]Мап не знайдено!
invalid = Недійсне
pickcolor = Вибрати колір
preparingconfig = Підготовка конфігурації
preparingcontent = Підготовка вмісту
uploadingcontent = Вивантаження вмісту
uploadingpreviewfile = Вивантаження файлу передперегляду
committingchanges = Здійснення змін
done = Зроблено
feature.unsupported = Your device does not support this feature.
mods.alphainfo = Майте на увазі, що модифікації знаходяться в альфі, і [scarlet]можуть бути дуже глючними[].\nПовідомте про будь-які проблеми, які ви знайдете до Mindustry Github або Discord.
mods = Модифікації
mods.alphainfo = Майте на увазі, що модифікації знаходяться в альфі, і [scarlet]може бути дуже глючними[].\nПовідомте про будь-які проблеми, які ви знайдете до Mindustry Github або Discord.
mods.alpha = [scarlet](Альфа)
mods.none = [LIGHT_GRAY]Модифікацій не знайдено!
mod.enabled = [lightgray]Увімкнено
mod.disabled = [scarlet]Вимкнено
mod.requiresrestart = А тепер гра закриється, щоб застосувати зміни модифікацій.
mod.import = Імпортувати модифікацію
mod.remove.confirm = Цю модифікацію буде видалено.
mod.author = [LIGHT_GRAY]Автор:[] {0}
mods.alpha = [scarlet](Альфа)
mods = Модифікації
mods.none = [LIGHT_GRAY]Модифікацій не знайдено!
mods.guide = Посібник зі створення модифицій
mods.report = Повідомити про ваду
mods.openfolder = Open Mod Folder
mods.openfolder = Відкрити теку модифікацій
mod.enabled = [lightgray]Увімкнено
mod.disabled = [scarlet]Вимкнено
mod.disable = Вимкнути
mod.delete.error = Unable to delete mod. File may be in use.
mod.missingdependencies = [scarlet]Missing dependencies: {0}
mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
mod.delete.error = Неможливо видалити модифікацію. Файл, можливо, використовується.
mod.requiresversion = [scarlet]Необхідна версія гри: [accent]{0}
mod.missingdependencies = [scarlet]Відсутні залежності: {0}
mod.nowdisabled = [scarlet]Модифікації '{0}' не вистачає залежностей:[accent] {1}\n[lightgray]Ці модифікації потрібно завантажити спочатку.\nЦя модифікація буду автоматично вимкнена.
mod.enable = Увімкнути
mod.requiresrestart = А тепер гра закриється, щоб застосувати зміни модифікацій.
mod.reloadrequired = [scarlet]Потрібно перезавантаження
mod.import = Імпортувати модифікацію
mod.import.github = Import Github Mod
mod.import.github = Імпортувати модификацію з Ґітгаб
mod.remove.confirm = Цю модифікацію буде видалено.
mod.author = [LIGHT_GRAY]Автор:[] {0}
mod.missing = Це збереження містить модифікації, які ви нещодавно оновили або більше не встановлювали. Збереження може зіпсуватися. Ви впевнені, що хочете завантажити його?\n[lightgray]Модифікації:\n{0}
@@ -229,18 +240,18 @@ data.export = Експортувати дані
data.import = Импортувати дані
data.exported = Дані імпортовано.
data.invalid = Це не дійсні ігрові дані.
data.import.confirm = Імпорт зовнішніх даних видалить[scarlet] ВСІ[] ваші поточні ігрові дані.\n[accent]Це неможливо скасувати![]\n\nЩойно дані імпортуються, гра негайно закриється.
data.import.confirm = Імпорт зовнішніх даних перезапише[scarlet] ВСІ[] ваші поточні ігрові дані.\n[accent]Це неможливо скасувати![]\n\nЩойно дані імпортуються, гра негайно закриється.
classic.export = Експортувати класичні дані
classic.export.text = Класичне (версія 3.5 збірка 40) збереження або мапа були знайдені. Ви хочете експортувати ці дані в домашню теку телефону, для використання у застосунку Mindustry Classic?
quit.confirm = Ви впевнені, що хочете вийти?
quit.confirm.tutorial = Ви впевнені, що хочете вийти з навчання?
loading = [accent]Завантаження…
reloading = [accent]Reloading Mods...
reloading = [accent]Перезавантаження модифікацій…
saving = [accent]Збереження…
cancelbuilding = [accent][[{0}][] to clear plan
selectschematic = [accent][[{0}][] to select+copy
pausebuilding = [accent][[{0}][] to pause building
resumebuilding = [scarlet][[{0}][] to resume building
cancelbuilding = [accent][[{0}][], щоб очистити план
selectschematic = [accent][[{0}][], щоб вибрати та скопіювати
pausebuilding = [accent][[{0}][], щоб призупинити будування
resumebuilding = [scarlet][[{0}][], щоб продовжити будування
wave = [accent]Хвиля {0}
wave.waiting = Хвиля через {0}
wave.waveInProgress = [lightgray]Хвиля триває
@@ -259,18 +270,18 @@ map.nospawn = Ця мапа не має жодного ядра для появ
map.nospawn.pvp = У цієї мапи немає ворожих ядер, в яких гравець може з’явитися! Додайте [SCARLET]не помаранчеве[] ядро до цієї мапи в редакторі.
map.nospawn.attack = У цієї мапи немає ворожих ядер, в яких гравець може з’явитися! Додайте [SCARLET]червоне[] ядро до цієї мапи в редакторі.
map.invalid = Помилка завантаження мапи: пошкоджений або невірний файл мапи.
workshop.update = Update Item
workshop.error = Error fetching workshop details: {0}
workshop.update = Оновити предмет
workshop.error = Помилка при отриманні інформації з Майстерні: {0}
map.publish.confirm = Ви дійсно хочете опублікувати цю мапу?\n\n[lightgray]Переконайтеся, що спершу ви згодні з Ліцензійною угодою Steam, або ваші мапи не з’являться!
workshop.menu = Select what you would like to do with this item.
workshop.info = Item Info
changelog = Changelog (optional):
workshop.menu = Виберіть, що ви хочете зробити з цим предметом.
workshop.info = Інформація про предмет
changelog = Журнал змін (за бажанням):
eula = Ліцензійна угода
missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked.
publishing = [accent]Publishing...
publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up!
publish.error = Error publishing item: {0}
steam.error = Failed to initialize Steam services.\nError: {0}
missing = Цей предмет було видалено або переміщено.\n[lightgray]Список Майстерні тепер автоматично від’єднано.
publishing = [accent]Публікація…
publish.confirm = Ви дійсно хочете опублікувати це?\n\n[lightgray]Переконайтеся, що ви спочатку погоджуєтеся з EULA Майстерні, або ваші предмети не з’являться!
publish.error = Сталася помилка при публікації предмета: {0}
steam.error = Не вдалося ініціалізувати сервіси Steam.\nПомилка: {0}
editor.brush = Пензлик
editor.openin = Відкрити в редакторі
editor.oregen = Генерація руд
@@ -302,7 +313,7 @@ waves.invalid = Недійсні хвилі у буфері обміну.
waves.copied = Хвилі скопійовані.
waves.none = Вороги не були встановлені.\nЗазначимо, що пусті хвилі будуть автоматично замінені звичайною хвилею.
editor.default = [lightgray]<За замовчуванням>
details = Деталі...
details = Деталі
edit = Редагувати…
editor.name = Назва:
editor.spawn = Створити бойову одиницю
@@ -411,9 +422,9 @@ abandon = Покинути
abandon.text = Ця зона і всі її ресурси будуть втрачені.
locked = Заблоковано
complete = [lightgray]Досягнута:
requirement.wave = Reach Wave {0} in {1}
requirement.core = Destroy Enemy Core in {0}
requirement.unlock = Unlock {0}
requirement.wave = Досягніть хвилі {0} у {1}
requirement.core = Знишьте вороже ядро у {0}
requirement.unlock = Розблокуйте {0}
resume = Відновити зону:\n[lightgray]{0}
bestwave = [lightgray]Найкраща хвиля: {0}
launch = < ЗАПУСК >
@@ -424,8 +435,8 @@ launch.confirm = Це видалить всі ресурси у Вашому я
launch.skip.confirm = Якщо Ви пропустите зараз, Ви не зможете не запускати до більш пізніх хвиль.
uncover = Розкрити
configure = Вивантажити конфігурацію
bannedblocks = Banned Blocks
addall = Add All
bannedblocks = Заборонені блоки
addall = Додати все
configure.locked = [lightgray]Можливість розблокувати вивантаження ресурсів буде доступна на {0}-тій хвилі.
configure.invalid = Кількість повинна бути числом між 0 та {0}.
zone.unlocked = Зона «[lightgray]{0}» тепер розблокована.
@@ -479,6 +490,7 @@ settings.language = Мова
settings.data = Ігрові дані
settings.reset = Скинути за замовчуванням
settings.rebind = Зміна
settings.resetKey = Скинути
settings.controls = Керування
settings.game = Гра
settings.sound = Звук
@@ -487,8 +499,8 @@ settings.cleardata = Очистити дані…
settings.clear.confirm = Ви впевнені, що хочете очистити ці дані?\nЦя дія не може бути скасовано!
settings.clearall.confirm = [scarlet]УВАГА![]\nЦе очистить всі дані, включаючи збереження, мапи, розблоковане та налаштування керування.\nПісля того, як ви натиснете ОК, гра видалить усі дані та автоматично закриється.
paused = Пауза
clear = Clear
banned = [scarlet]Banned
clear = Очистити
banned = [scarlet]Заблоковано
yes = Так
no = Ні
info.title = Інформація
@@ -509,7 +521,7 @@ blocks.shootrange = Діапазон дії
blocks.size = Розмір
blocks.liquidcapacity = Місткість рідини
blocks.powerrange = Діапазон передачі енергії
blocks.powerconnections = Max Connections
blocks.powerconnections = Максимальна кількість з’єднань
blocks.poweruse = Енергії використовує
blocks.powerdamage = Енергія/урон
blocks.itemcapacity = Місткість предметів
@@ -523,17 +535,17 @@ blocks.drillspeed = Базова швидкість буріння
blocks.boosteffect = Прискорювальний ефект
blocks.maxunits = Максимальна кількість активних одиниць
blocks.health = Здоров’я
blocks.buildtime = Час будівництва
blocks.buildtime = Час будування
blocks.buildcost = Вартість будування
blocks.inaccuracy = Розкид
blocks.shots = Постріли
blocks.reload = Постріли/секунду
blocks.ammo = Боєприпаси
bar.drilltierreq = Потребується кращий бур
bar.drillspeed = Швидкість буріння: {0}/с
bar.pumpspeed = Pump Speed: {0}/s
bar.drillspeed = Швидкість буріння: {0} за с.
bar.pumpspeed = Швидкість викачування: {0} за с.
bar.efficiency = Ефективність: {0}%
bar.powerbalance = Енергія: {0}/с
bar.powerbalance = Енергія: {0} за с.
bar.powerstored = Зберігає: {0}/{1}
bar.poweramount = Енергія: {0}
bar.poweroutput = Вихідна енергія: {0}
@@ -542,8 +554,10 @@ bar.capacity = Місткість: {0}
bar.liquid = Рідина
bar.heat = Нагрівання
bar.power = Енергія
bar.progress = Хід будівництва
bar.progress = Хід будування
bar.spawned = Бойов. од.: {0}/{1}
bar.input = Ввід
bar.output = Вивід
bullet.damage = [stat]{0}[lightgray] шкода
bullet.splashdamage = [stat]{0}[lightgray] шкода по ділянці ~[stat] {1}[lightgray] блок.
bullet.incendiary = [stat]запальний
@@ -556,29 +570,32 @@ bullet.tarred = [stat]дьогтьовий
bullet.multiplier = [stat]{0}[lightgray]x патронів
bullet.reload = [stat]{0}[lightgray]x швидкість перезаряджання
unit.blocks = блоки
unit.powersecond = одиниць енергії/секунду
unit.liquidsecond = рідких одиниць/секунду
unit.itemssecond = предметів/секунду
unit.liquidunits = рідинних одиниць
unit.powerunits = енергетичних одиниць
unit.powersecond = одиниць енергії за секунду
unit.liquidsecond = одиниць рідини за секунду
unit.itemssecond = предметів за секунду
unit.thousands = тис
unit.millions = млн
unit.liquidunits = одиниць рідини
unit.powerunits = одиниць енергії
unit.degrees = град.
unit.seconds = сек.
unit.persecond = /сек
unit.seconds = с
unit.persecond = за секунду
unit.timesspeed = x швидкість
unit.percent = %
unit.items = предм.
category.general = Загальні
category.power = Енергетичні
category.general = Загальне
category.power = Енергія
category.liquids = Рідини
category.items = Предмети
category.crafting = Введення/виведення
category.crafting = Виробництво
category.shooting = Стрільба
category.optional = Додаткові поліпшення
setting.landscape.name = Тільки альбомний(гозинтальний) режим
setting.shadows.name = Тіні
setting.blockreplace.name = Automatic Block Suggestions
setting.blockreplace.name = Пропозиції щодо автоматичної заміни блоків
setting.linear.name = Лінійна фільтрація
setting.hints.name = Hints
setting.hints.name = Підказки
setting.buildautopause.name = Автоматичне призупинення будування
setting.animatedwater.name = Анімована вода
setting.animatedshields.name = Анімовані щити
setting.antialias.name = Згладжування[lightgray] (потребує перезапуску)[]
@@ -599,18 +616,21 @@ setting.difficulty.insane = Неможлива
setting.difficulty.name = Складність:
setting.screenshake.name = Тряска екрану
setting.effects.name = Ефекти
setting.destroyedblocks.name = Display Destroyed Blocks
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
setting.destroyedblocks.name = Показувати зруйновані блоки
setting.conveyorpathfinding.name = Пошук шляху для встановлення конвейерів
setting.sensitivity.name = Чутливість контролера
setting.saveinterval.name = Інтервал збереження
setting.seconds = {0} сек.
setting.seconds = {0} с
setting.blockselecttimeout.name = Час вибору блока
setting.milliseconds = {0} мілісекунд
setting.fullscreen.name = Повноекранний режим
setting.borderlesswindow.name = Вікно без полів[lightgray] (може потребувати перезапуску)
setting.fps.name = Показувати FPS
setting.fps.name = Показувати FPS і затримку до сервера
setting.blockselectkeys.name = Показувати клавіші вибору блока
setting.vsync.name = Вертикальна синхронізація
setting.pixelate.name = Пікселізація[lightgray] (вимикає анімації)
setting.minimap.name = Показувати міні-мапу
setting.position.name = Show Player Position
setting.minimap.name = Показувати мінімапу
setting.position.name = Показувати координати гравця
setting.musicvol.name = Гучність музики
setting.ambientvol.name = Звуки навколишнього середовища
setting.mutemusic.name = Заглушити музику
@@ -620,10 +640,10 @@ setting.crashreport.name = Відсилати анонімні звіти про
setting.savecreate.name = Автоматичне створення збережень
setting.publichost.name = Загальнодоступність гри
setting.chatopacity.name = Непрозорість чату
setting.lasersopacity.name = Power Laser Opacity
setting.lasersopacity.name = Непрозорість лазерів енергопостачання
setting.playerchat.name = Відображати хмару чата над гравцями
public.confirm = Ви хочете зробити цю гру загальнодоступною?\n[lightgray]Це можна змінити у Налаштування->Гра->Public Game Visibility.
public.beta = Note that beta versions of the game cannot make public lobbies.
public.confirm = Ви хочете зробити цю гру загальнодоступною?\n[lightgray]Це можна змінити у НалаштуванняГра→Загальнодоступність гри
public.beta = Зауважте, що в бета-версії гри ви не можете робити публічні ігри.
uiscale.reset = Масштаб користувальницького інтерфейсу було змінено.\nНатисніть «ОК» для підтверждення цього масшатабу.\n[scarlet]Повернення налаштувань і вихід через[accent] {0}[] …
uiscale.cancel = Скасувати & Вийти
setting.bloom.name = Світіння
@@ -635,17 +655,37 @@ category.multiplayer.name = Мережева гра
command.attack = Атакувати
command.rally = Точка збору
command.retreat = Відступити
keybind.clear_building.name = Clear Building
placement.blockselectkeys = \n[lightgray]Ключ: [{0},
keybind.clear_building.name = Очистити план будування
keybind.press = Натисніть клавішу…
keybind.press.axis = Натисніть клавішу…
keybind.screenshot.name = Зняток мапи
keybind.move_x.name = Рух по осі x
keybind.move_y.name = Рух по осі y
keybind.schematic_select.name = Select Region
keybind.schematic_menu.name = Schematic Menu
keybind.schematic_flip_x.name = Flip Schematic X
keybind.schematic_flip_y.name = Flip Schematic Y
keybind.fullscreen.name = Повноекранний
keybind.toggle_power_lines.name = Показувати лазери енергопостачання
keybind.move_x.name = Рух по осі X
keybind.move_y.name = Рух по осі Y
keybind.mouse_move.name = Слідкувати за мишею
keybind.dash.name = Прискорення
keybind.schematic_select.name = Вибрати ділянку
keybind.schematic_menu.name = Меню схем
keybind.schematic_flip_x.name = Відобразити по осі X
keybind.schematic_flip_y.name = Відобразити по осі Y
keybind.category_prev.name = Попередня категорія
keybind.category_next.name = Наступна категорія
keybind.block_select_left.name = Вибрати блок ліворуч
keybind.block_select_right.name = Вибрати блок ліворуч праворуч
keybind.block_select_up.name = Вибрати блок зверху
keybind.block_select_down.name = Вибрати блок знизу
keybind.block_select_01.name = Категорія/Вибрати перший блок
keybind.block_select_02.name = Категорія/Вибрати другий блок
keybind.block_select_03.name = Категорія/Вибрати третій блок
keybind.block_select_04.name = Категорія/Вибрати четвертий блок
keybind.block_select_05.name = Категорія/Вибрати п’ятий блок
keybind.block_select_06.name = Категорія/Вибрати шостий блок
keybind.block_select_07.name = Категорія/Вибрати сьомий блок
keybind.block_select_08.name = Категорія/Вибрати восьмий блок
keybind.block_select_09.name = Категорія/Вибрати дев’ятий блок
keybind.block_select_10.name = Категорія/Вибрати десятий блок
keybind.fullscreen.name = Повноекранний режим
keybind.select.name = Вибір/Постріл
keybind.diagonal_placement.name = Діагональне розміщення
keybind.pick.name = Вибрати блок
@@ -656,14 +696,13 @@ keybind.zoom_hold.name = Керування масштабом
keybind.zoom.name = Приблизити
keybind.menu.name = Меню
keybind.pause.name = Пауза
keybind.pause_building.name = Pause/Resume Building
keybind.pause_building.name = Призупинити/Продовжити будування
keybind.minimap.name = Мінімапа
keybind.dash.name = Прискоритися/Літати
keybind.chat.name = Чат
keybind.player_list.name = Список гравців
keybind.console.name = Консоль
keybind.rotate.name = Обертати
keybind.rotateplaced.name = Обертати існуюче (утримуйте)
keybind.rotateplaced.name = Обертати існуюче (прокручуйте)
keybind.toggle_menus.name = Меню перемикання
keybind.chat_history_prev.name = Попередня історія чату
keybind.chat_history_next.name = Наступна історія чату
@@ -682,6 +721,7 @@ mode.attack.name = Атака
mode.attack.description = Зруйнуйте ворожу базу.\n[gray]Потрібно червоне ядро на мапі для гри.
mode.custom = Користувацькі правила
rules.infiniteresources = Нескінченні ресурси
rules.reactorexplosions = Вибухи реактора
rules.wavetimer = Таймер хвиль
rules.waves = Хвилі
rules.attack = Режим атаки
@@ -695,7 +735,7 @@ rules.unitdamagemultiplier = Множник шкоди бойових одини
rules.enemycorebuildradius = Радіус захисту для ворожого ядра:[lightgray] (блоків)
rules.respawntime = Час відродження:[lightgray] (sec)
rules.wavespacing = Інтервал хвиль:[lightgray] (sec)
rules.buildcostmultiplier = Множник затрат на будівництво
rules.buildcostmultiplier = Множник затрат на будування
rules.buildspeedmultiplier = Множник швидкості будування
rules.waitForWaveToEnd = Хвилі чекають на ворогів
rules.dropzoneradius = Радіус зони висадки:[lightgray] (блоків)
@@ -703,10 +743,13 @@ rules.respawns = Максимальна кількість відроджень
rules.limitedRespawns = Обмеження відроджень
rules.title.waves = Хвилі
rules.title.respawns = Відродження
rules.title.resourcesbuilding = Ресурси & будівництво
rules.title.resourcesbuilding = Ресурси & будування
rules.title.player = Гравці
rules.title.enemy = Вороги
rules.title.unit = Бойов. од.
rules.title.experimental = Есперементальне!
rules.lighting = Світлотінь
rules.ambientlight = Навколишнє світло
content.item.name = Предмети
content.liquid.name = Рідини
content.unit.name = Бойові одиниці
@@ -719,7 +762,7 @@ item.graphite.name = Графіт
item.titanium.name = Титан
item.thorium.name = Торій
item.silicon.name = Кремній
item.plastanium.name = Пластиній
item.plastanium.name = Пластаній
item.phase-fabric.name = Фазова тканина
item.surge-alloy.name = Кінетичний сплав
item.spore-pod.name = Споровий стручок
@@ -753,6 +796,7 @@ mech.trident-ship.name = Тризубець
mech.trident-ship.weapon = Бомби
mech.glaive-ship.name = Спис
mech.glaive-ship.weapon = Вогняний кулемет
item.corestorable = [lightgray]Зберігання в ядрі: {0}
item.explosiveness = [lightgray]Вибухонебезпечність: {0}%
item.flammability = [lightgray]Вогненебезпечність: {0}%
item.radioactivity = [lightgray]Радіоактивність: {0}%
@@ -836,15 +880,15 @@ block.dark-panel-5.name = Темна панель 5
block.dark-panel-6.name = Темна панель 6
block.dark-metal.name = Темний метал
block.ignarock.name = Магматичні гірські породи
block.hotrock.name = Гарячий Камінь
block.hotrock.name = Гарячий камінь
block.magmarock.name = Магмовий камінь
block.cliffs.name = Скелі
block.copper-wall.name = Мідна стіна
block.copper-wall-large.name = Велика мідна стіна
block.titanium-wall.name = Титанова стіна
block.titanium-wall-large.name = Велика титанова стіна
block.plastanium-wall.name = Plastanium Wall
block.plastanium-wall-large.name = Large Plastanium Wall
block.plastanium-wall.name = Пластанієва стіна
block.plastanium-wall-large.name = Велика пластанієва стіна
block.phase-wall.name = Фазова стіна
block.phase-wall-large.name = Велика фазова стіна
block.thorium-wall.name = Торієва стіна
@@ -864,8 +908,10 @@ block.junction.name = Перехрестя
block.router.name = Маршрутизатор
block.distributor.name = Розподілювач
block.sorter.name = Сортувальник
block.inverted-sorter.name = Inverted Sorter
block.inverted-sorter.name = Зворотній сортувальник
block.message.name = Повідомлення
block.illuminator.name = Освітлювач
block.illuminator.description = Невелике, компактне, джерело світла, яку можна налаштувати. Для функціонування потрібна енергія.
block.overflow-gate.name = Надмірний затвор
block.silicon-smelter.name = Кремнієвий плавильний завод
block.phase-weaver.name = Фазовий ткач
@@ -879,6 +925,7 @@ block.coal-centrifuge.name = Вугільна центрифуга
block.power-node.name = Енергійний вузол
block.power-node-large.name = Великий енергетичний вузол
block.surge-tower.name = Кінетична вежа
block.diode.name = Діод
block.battery.name = Акумулятор
block.battery-large.name = Великий акумулятор
block.combustion-generator.name = Генератор горіння
@@ -899,11 +946,11 @@ block.omega-mech-pad.name = Реконструктор «Омега»
block.tau-mech-pad.name = Реконструктор «Тау»
block.conduit.name = Трубопровід
block.mechanical-pump.name = Механічна помпа
block.item-source.name = Джерело предметів
block.item-source.name = Нескінченне джерело предметів
block.item-void.name = Предметний вакуум
block.liquid-source.name = Рідке джерело
block.liquid-source.name = Нескінченне джерело рідин
block.power-void.name = Енергетичний вакуум
block.power-source.name = Джерело енергії
block.power-source.name = Нескінченне джерело енергії
block.unloader.name = Розвантажувач
block.vault.name = Сховище
block.wave.name = Хвиля
@@ -931,6 +978,7 @@ block.fortress-factory.name = Завод мехів «Фортеця»
block.revenant-factory.name = Завод бомбардувальників «Потойбічний вбивця»
block.repair-point.name = Ремонтний пункт
block.pulse-conduit.name = Імпульсний водопровід
block.plated-conduit.name = Зміцнений водопровід
block.phase-conduit.name = Фазовий водопровід
block.liquid-router.name = Рідкий маршрутизатор
block.liquid-tank.name = Рідкий резервуар
@@ -982,17 +1030,17 @@ unit.eradicator.name = Випалювач
unit.lich.name = Лич
unit.reaper.name = Жнець
tutorial.next = [lightgray]<Натисніть для продовження>
tutorial.intro = Ви розпочали[scarlet] навчання по Mindustry.[]\nРозпочність з[accent] видобування міді[]. Використовуйте [[WASD] для руху.\n[accent] Утримуйте [[Ctrl] під час прокрутки миші[] для приближення і віддалення. Наблизьтесь, а потім натисність на мідну жилу біля вашого ядра, щоб зробити це.\n\n[accent]{0}/{1} міді
tutorial.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers [] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
tutorial.drill = Добування вручну неефективне.\n[accent]Бури []можуть добувати автоматично.\nНатисніть на вкладку свердла знизу зправа.\nВиберіть[accent] механічний бур[]. Розмістіть його на мідній жилі натисканням.\n[accent]Натисніть ПКМ[], щоб зупинити будування.
tutorial.drill.mobile = Добування вручну неефективне.\n[accent]Бури []можуть добувати автоматично.\nНатисність на вкладку сведла знизу зправа.\nВиберіть[accent] механічний бур[]. Розмістіть його на мідній жилі натисканням, потім натисність на [accent] галочку[] нижче, щоб підтвердити розміщення to confirm your selection.\nPress the[accent] X button[] to cancel placement.
tutorial.intro = Ви розпочали[scarlet] навчання по Mindustry.[]\nРозпочніть з[accent] видобування міді[]. Використовуйте [[WASD] для руху.\n[accent] Утримуйте [[Ctrl] під час прокрутки миші[] для приближення і віддалення. Наблизьтесь, а потім натисність на мідну жилу біля вашого ядра, щоб зробити це.\n\n[accent]{0}/{1} міді
tutorial.intro.mobile = Ви розпочали[scarlet] навчання по Mindustry.[]\nПроведіть екраном, щоб рухатися.\n[accent] Зведіть або розведіть 2 пальця [] для приближення і віддалення відповідно.\nз[accent] видобування міді.[] Наблизьтесь, а потім натисність на мідну жилу біля вашого ядра, щоб зробити це.\n\n[accent]{0}/{1} міді
tutorial.drill = Добування вручну неефективне.\n[accent]Бури []можуть добувати автоматично.\nНатисніть на вкладку свердла знизу зправа.\nВиберіть[accent] механічний бур[]. Розмістіть його на мідній жилі натисканням.\nВи також можете вибрати бур, натиснувши [accent][[2][], а потім натиснути [accent][[1][] швидко, незалежно від того, яка вкладка відкрита.\n[accent]Натисніть ПКМ[], щоб зупинити будування.tutorial.drill.mobile = Добування вручну неефективне.\n[accent]Бури []можуть добувати автоматично.\nНатисність на вкладку сведла знизу зправа.\nВиберіть[accent] механічний бур[]. Розмістіть його на мідній жилі натисканням, потім натисність на [accent] галочку[] нижче, щоб підтвердити розміщення .\nНатисніть[accent] клавішу X[], щоб скасувати розміщення.
tutorial.drill.mobile = Добування вручну неефективне.\n[accent]Бури []можуть добувати автоматично.\nНатисність на вкладку сведла знизу зправа.\nВиберіть[accent] механічний бур[]. Розмістіть його на мідній жилі натисканням, потім натисність на [accent] галочку[] нижче, щоб підтвердити розміщення.\nPress the[accent] X button[] to cancel placement.
tutorial.blockinfo = Кожен блок має різні характеристики. Кожний бур може видобувати тільки певні руди.\nЩоб переглянути інформацію та характеристики блока,[accent] натисність на кнопку «?», коли Ви вибрали блок у меню будування.[]\n\n[accent]Перегляньте характеристику Механічного бура прямо зараз.[]
tutorial.conveyor = [accent]Конвеєри[] використовуються для транспортування предметів до ядра.\nЗробіть лінію конвеєрів від бура до ядра.\n[accent]Утримуйте миш, щоб розмістити у лінію.[]\nУтримуйте[accent] CTRL[] під час вибору лінії для розміщення по діагоналі.\n\n[accent]{0}/{1} конвеєрів, які розміщені в лінію\n[accent]0/1 предмет доставлено
tutorial.conveyor.mobile = [accent]Конвеєри[] використовується для транспортування предметів до ядра.\nЗробіть лінію конвеєрів від бура до ядра.\n[accent] Розмістить у лінію, утримуючи палець кілька секунд[] і тягніть у напрямку, який Ви вибрали.\nВикористовуйте колесо прокрутки, щоб обертати блоки перед їх розміщенням\n[accent]{0}/{1} конвеєрів, які розміщені в лінію\n[accent]0/1 предмет доставлено
tutorial.turret = Оборонні споруди повинні бути побудовані для відбиття[lightgray] ворогів[].\nПобудуйте[accent] башточку «Подвійна»[] біля вашої бази.
tutorial.drillturret = «Подвійна» потребує [accent] мідні боєприпаси []для стрільби.\nРозмістіть бур біля башточки\nПроведіть конвеєри до башточки, щоб заповнити її боєприпасами.\n\n[accent]Доставлено боєприпасів: 0/1
tutorial.pause = Під час бою ви можете[accent] поставити на павзу гру.[]\nВи можете зробити чергу на будівництво під час паузи.\n\n[accent]Натисність пробіл для павзи.tutorial.launch
tutorial.pause.mobile = Під час бою ви можете[accent] поставити на павзу гру.[]\nВи можете зробити чергу на будівництво під час паузи.\n\n[accent]атисніть кнопку зліва вгорі для павзи.
tutorial.pause = Під час бою ви можете[accent] поставити на павзу гру.[]\nВи можете зробити чергу на будування під час паузи.\n\n[accent]Натисність пробіл для павзи.tutorial.launch
tutorial.pause.mobile = Під час бою ви можете[accent] поставити на павзу гру.[]\nВи можете зробити чергу на будування під час паузи.\n\n[accent]атисніть кнопку зліва вгорі для павзи.
tutorial.unpause = Тепер натисність пробіл, щоб зняти павзу.
tutorial.unpause.mobile = Тепер натисність туди ще раз, щоб зняти павзу.
tutorial.breaking = Блоки часто повинні бути знищені.\n[accent]Утримуючи ПКМ[] Ви знищите всі виділені блоки.[]\n\n[accent]Необхідно знищити всі стіни з металобрухту ліворуч від вашого ядра використовуючи видалення у зоні.
@@ -1022,17 +1070,17 @@ liquid.water.description = Найкорисніша рідина. Зазвича
liquid.slag.description = Різні види розплавленого металу змішуються між собою. Може бути відокремлений від складових корисних копалин або розпорошений на ворожі частини як зброя.
liquid.oil.description = Рідина, яка використовується у виробництві сучасних матеріалів. Може бути перетворена в вугілля в якості палива або використана як куля.
liquid.cryofluid.description = Інертна, не роз’їдаюча рідина, створена з води та титану. Володіє надзвичайно високою пропускною спроможністю. Широко використовується в якості охолоджуючої рідини.
mech.alpha-mech.description = Стандартний керований мех. Заснований на бойовій одиниці «Кинджал», з оновленими бронею та можливостями будівництва. Наносить більше шкоди, ніж «Дротик».
mech.alpha-mech.description = Стандартний керований мех. Заснований на бойовій одиниці «Кинджал», з оновленими бронею та можливостями будування. Наносить більше шкоди, ніж «Дротик».
mech.delta-mech.description = Швидкий, легкоброньований мех, зроблений для тактики «атакуй і біжи». Наносить мало шкоди будівлям, але може дуже швидко вбити великі групи підрозділів противника своєю дуговою блискавкою.
mech.tau-mech.description = Мех підтримки. Ремонтує союзні блоки, стріляючи по них. Може зцілювати союзників у радіусі його ремонтної здатності.
mech.omega-mech.description = Об’ємний і добре броньований мех, зроблений для фронтових штурмів. Його броня може перекрити до 90% пошкоджень, що надходять.
mech.dart-ship.description = Стандартний корабель управління. Розумно швидкий і легкий, але має мало наступальних можливостей і низьку швидкість видобутку.
mech.dart-ship.description = Стандартний корабель управління. Швидко видобуває ресурси. Достатньо швидкий і легкий, але має мало наступальних можливостей.
mech.javelin-ship.description = Корабель для стратегії атакуй та біжи». Хоча спочатку він повільний, потім вже може розганятися до великих швидкостей і літати над ворожими форпостами, завдаючи великої кількості шкоди своїми блискавками та ракетами.
mech.trident-ship.description = Важкий бомбардувальник, побудований для будівництва та знищення ворожих укріплень. Дуже добре броньований.
mech.trident-ship.description = Важкий бомбардувальник, побудований для будування та знищення ворожих укріплень. Дуже добре броньований.
mech.glaive-ship.description = Великий, добре броньований бойовий корабель. Оснащений запальним ретранслятором. Високо маневрений.
unit.draug.description = Примітивний дрон, який добуває ресурси. Дешевий для виробництва. Автоматично видобуває мідь і свинець поблизу. Доставляє видобуті ресурси до найближчого ядра.
unit.spirit.description = Модифікований «Драугр», призначений для ремонту замість видобутку. Автоматично відновлює будь-які пошкоджені блоки.
unit.phantom.description = Вдосконалений безпілотник. Йде за користувачами. Допомагає в будівництві блоків.
unit.phantom.description = Вдосконалений безпілотник. Йде за користувачами. Допомагає в будуванні блоків.
unit.dagger.description = Базовий мех(бойова одиниця). Дешевий у виробництві. Нездоланні при використанні в натовпі.
unit.crawler.description = Наземна одиниця, що складається зі стертої рами з високими вибуховими речовинами, прив’язаними зверху. Не особливо міцний. Вибухає при контакті з ворогами.
unit.titan.description = Вдосконалений броньований наземний блок. Нападає як на наземні, так і повітряні цілі. Оснащений двома мініатюрними вогнеметами класу Випалювач.
@@ -1046,7 +1094,7 @@ block.graphite-press.description = Стискає шматки вугілля в
block.multi-press.description = Модернізована версія графітового преса. Використовує воду та енергію для швидкої та ефективної переробки вугілля.
block.silicon-smelter.description = Змішує пісок з чистим вугіллям. Виробляє кремній.
block.kiln.description = Виплавляє пісок та свинець у сполуку, відому як метаскло. Для запуску потрібна невелика кількість енергії.
block.plastanium-compressor.description = Виробляє пластиній з нафти і титану.
block.plastanium-compressor.description = Виробляє пластаній з нафти і титану.
block.phase-weaver.description = Синтезує фазову тканину з радіоактивного торію та піску. Для функціонування потрібна велика кількість енергії.
block.alloy-smelter.description = Поєднує титан, свинець, кремній і мідь для отримання кінетичного сплаву.
block.cryofluidmixer.description = Змішує воду і дрібний порошок титану титану в кріогенну рідину. Основне використання у торієвому реактору.
@@ -1067,8 +1115,8 @@ block.copper-wall.description = Дешевий захисний блок.\nКо
block.copper-wall-large.description = Дешевий захисний блок.\nКорисна для захисту ядра та башточок у перші кілька хвиль.\nОхоплює кілька плиток.
block.titanium-wall.description = Відносно сильний захисний блок.\nЗабезпечує помірний захист від ворогів.
block.titanium-wall-large.description = Відносно сильний захисний блок.\nЗабезпечує помірний захист від ворогів.\nОхоплює кілька плиток.
block.plastanium-wall.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.
block.plastanium-wall-large.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.\nSpans multiple tiles.
block.plastanium-wall.description = Особливий тип стіни, який поглинає електричні дуги і блокує автоматичні з'єднання енергетичних вузлів.
block.plastanium-wall-large.description = Особливий тип стіни, який поглинає електричні дуги і блокує автоматичні з'єднання вузлів живлення.\nОхоплює кілька плиток.
block.thorium-wall.description = Сильний захисний блок.\nГідний захист від ворогів.
block.thorium-wall-large.description = Сильний захисний блок.\nГідний захист від ворогів.\nОхоплює кілька плиток.
block.phase-wall.description = Стіна, покрита спеціальним світловідбиваючим складом, який базується на фазовій тканині. Відхиляє більшість куль при ударі.
@@ -1091,21 +1139,23 @@ block.sorter.description = Сортує предмети. Якщо елемен
block.inverted-sorter.description = Обробляє елементи, як звичайний сортувальник, але виводить обрані елементи на сторони.
block.router.description = Приймає елементи з одного напрямку та виводить їх до трьох інших напрямків порівну. Корисно для поділу матеріалів від одного джерела до кількох цілей.\n\n[scarlet]Ніколи не використовуйте поруч із входами до механізмів, оскільки вони будуть забиті вихідними предметами.[]
block.distributor.description = Розширений маршрутизатор. Розділяє предмети до 7 інших напрямків порівну.
block.overflow-gate.description = Комбінований розгалужувач і маршрутизатор. Виходи лише вліво і вправо, якщо передній шлях заблокований.
block.overflow-gate.description = Виходи лише вліво і вправо, якщо передній шлях заблокований.
block.mass-driver.description = Кінцевий елемент транспортного блоку. Збирає кілька предметів, а потім вистрілює їх до іншої електромагнитної катапульти на великій відстані. Для роботи потрібна енергія.
block.mechanical-pump.description = Недорогий насос з повільним виходом, але без енергоспоживання.
block.rotary-pump.description = Удосконалений насос. Насоси більше викачують, але потребують енергію.
block.thermal-pump.description = Найкращий насос.
block.conduit.description = Основний блок транспортування рідини. Пересуває рідини вперед. Застосовується спільно з насосами та іншими трубопроводами.
block.pulse-conduit.description = Вдосконалений блок транспортування рідини. Транспортує рідини швидше і зберігає більше, ніж стандартні трубопроводи.
block.plated-conduit.description =Переміщує рідини з тією ж швидкістю, як і імпульсні трубопроводи, але має більше міцності. Не приймає рідин з боків окрім інших трубопроводів.\nПротікає менше.
block.liquid-router.description = Приймає рідини з одного напрямку та виводить їх до трьох інших напрямків порівну. Також можна зберігати певну кількість рідини. Корисно для розщеплення рідин від одного джерела до кількох мішеней.
block.liquid-tank.description = Зберігає велику кількість рідини. Використовуйте для створення буферів у ситуаціях з непостійним попитом на матеріали або як гарантію охолодження життєво важливих блоків.
block.liquid-junction.description = Діє як міст для двох каналів перетину. Корисно в ситуаціях, коли два різні трубопроводи перевозять різні рідини в різні місця.
block.bridge-conduit.description = Розширений блок транспортування рідини. Дозволяє транспортувати рідину до 3 плиток будь-якої місцевості чи будівлі.
block.phase-conduit.description = Розширений блок транспортування рідини. Використовує енергію для транспортування рідин до підключеного фазового каналу через декілька плиток.
block.power-node.description = Передає живлення на підключені вузли. Вузол буде отримувати живлення від будь-яких сусідніх блоків або подавати живлення до них.
block.power-node-large.description = Удосконалений вузол живлення з більшим діапазоном і більшою кількістю підключень.
block.power-node-large.description = Удосконалений вузол живлення з більшим діапазоном.
block.surge-tower.description = Надзвичайно дальний вузол живлення з меншою кількістю доступних з’єднань.
block.diode.description = Живлення акумулятора може протікати через цей блок лише в одному напрямку, але лише в тому випадку, якщо інша сторона має менше енергії.
block.battery.description = Зберігає енергію як буфер в часи надлишкової енергії. Виводить енергію у періоди дефіциту.
block.battery-large.description = Зберігає набагато більше енергії, ніж звичайний акумулятор.
block.combustion-generator.description = Виробляє енергію, спалюючи легкозаймисті матеріали, такі як вугілля.

File diff suppressed because it is too large Load Diff

View File

@@ -10,20 +10,23 @@ link.dev-builds.description = 開發中版本
link.trello.description = 官方 Trello 功能規劃看板
link.itch.io.description = itch.io 電腦版下載網頁
link.google-play.description = Google Play 商店頁面
link.f-droid.description = F-Droid 目錄頁面
link.wiki.description = 官方 Mindustry 維基
linkfail = 無法打開連結!\n我們已將該網址複製到您的剪貼簿。
screenshot = 截圖保存到{0}
screenshot.invalid = 地圖太大了,可能沒有足夠的內存用於截圖。
gameover = 遊戲結束
gameover.pvp = [accent]{0}[]隊獲勝!
highscore = [accent]新的高分紀錄
highscore = [accent]新的高分紀錄!
copied = 已複製。
load.sound = 音效載入中
load.map = 地圖載入中
load.image = 圖片載入中
load.content = 內容載入中
load.system = 系統載入中
load.mod = 模組載入中
schematic = 藍圖
schematic.add = 儲存藍圖...
schematics = 藍圖
@@ -40,6 +43,7 @@ schematic.saved = 藍圖已保存。
schematic.delete.confirm = 該藍圖將被完全清除。
schematic.rename = 重新命名藍圖
schematic.info = {0}x{1}, {2}方塊
stat.wave = 打敗的波次:[accent]{0}
stat.enemiesDestroyed = 摧毀的敵人:[accent]{0}
stat.built = 建設的建築:[accent]{0}
@@ -47,8 +51,9 @@ stat.destroyed = 摧毀的建築:[accent]{0}
stat.deconstructed = 拆除的建築:[accent]{0}
stat.delivered = 發射的核心資源:
stat.rank = 最終排名:[accent]{0}
launcheditems = [accent]已發射的物品
launchinfo = [unlaunched][[LAUNCH]你的核心以獲得藍字部分的物品。
launchinfo = [unlaunched][[發射]核心以獲得藍字部分的物品。
map.delete = 確認要刪除「[accent]{0}[]」地圖嗎?
level.highscore = 最高分:[accent]{0}
level.select = 選擇關卡
@@ -74,6 +79,7 @@ maps.browse = 瀏覽地圖
continue = 繼續
maps.none = [lightgray]找不到地圖!
invalid = 無效
pickcolor = 選擇顏色
preparingconfig = 配置準備中
preparingcontent = 內容準備中
uploadingcontent = 內容上傳中
@@ -81,29 +87,31 @@ uploadingpreviewfile = 上傳預覽文件
committingchanges = 提交變更
done = 完成
feature.unsupported = 您的設備不支持此功能。
mods.alphainfo = 請記住模組仍處於Alpha狀態[scarlet]可能會有很多BUG[].\n向Mindustry Github或Discord報告發現的任何問題。
mods.alphainfo = 請記住模組仍處於Alpha狀態[scarlet]可能會有很多BUG[].\n向Mindustry GitHub或Discord報告發現的任何問題。
mods.alpha = [accent](Alpha)
mods = 模組
mods.none = [lightgray]找不到模組!
mods.guide = 模組指南
mods.report = 回報錯誤
mods.openfolder = Open Mod Folder
mods.openfolder = 開啟模組資料夾
mod.enabled = [lightgray]已啟用
mod.disabled = [scarlet]已禁用
mod.disable = 禁用
mod.delete.error = Unable to delete mod. File may be in use.
mod.missingdependencies = [scarlet]缺少依賴項目: {0}
mod.nowdisabled = [scarlet]「{0}'」模組缺少依賴項目:[accent] {1}\n[lightgray]必須先下載這些模組。\n此模組將被自動禁用。
mod.enable = 啟用
mod.disable = 禁用
mod.delete.error = 無法刪除模組,檔案可能在使用中。
mod.requiresversion = [scarlet]遊戲版本要求:[accent]{0}
mod.missingdependencies = [scarlet]缺少依賴項目: {0}
mod.nowdisabled = [scarlet]「{0}」模組缺少必須項目:[accent] {1}\n[lightgray]必須先下載這些模組。\n此模組將被自動禁用。
mod.requiresrestart = 遊戲將立即關閉以套用模組變更。
mod.reloadrequired = [scarlet]需要重新載入
mod.import = 匯入模組
mod.import.github = 匯入Github模組
mod.import.github = 匯入GitHub模組
mod.remove.confirm = 該模組將被刪除。
mod.author = [lightgray]作者:[] {0}
mod.missing = 此存檔含有您最近更新或不再安裝的模組。可能會發生存檔損毀。您確定要載入嗎?\n[lightgray]模組:\n{0}
mod.preview.missing = 在工作坊發佈這個模組前,您必須添加預覽圖。\n在該模組的資料夾中放置一個名為[accent] preview.png[]的圖片並重試。
mod.folder.missing = 只有資料夾形式的模組可以在工作坊上發布。\n要將模組轉換為資料夾只需將其文件解壓縮到資料夾並刪除舊的.zip檔然後重新啟動遊戲或重新載入模組。
about.button = 關於
name = 名稱:
noname = 請先選擇一個[accent]玩家名稱[]。
@@ -133,7 +141,7 @@ server.kicked.idInUse = 你已經在伺服器中!不允許用兩個帳號。
server.kicked.customClient = 這個伺服器不支持自訂客戶端,請下載官方版本。
server.kicked.gameover = 遊戲結束!
server.versions = 您的遊戲版本:[accent] {0}[]\n伺服器遊戲版本:[accent] {1}[]
host.info = 目前伺服器監聽於連接埠[scarlet]6567[]。\n所有跟您在同一個[lightgray]網路或區域網路[]環境的玩家應該能在他們的伺服器清單中找到您的伺服器。\n\n如果您希望網際網路上的玩家透過IP 位址連線到您的伺服器,您必須設定[accent]連接埠轉發[]。\n\n[lightgray]注意如果區域網路內有玩家無法連線至您的伺服器請務必確認您已於防火牆設定中開放Mindustry存取您的區域網路。請注意公共網路有時不允許搜尋伺服器。
host.info = [accent]建立伺服器[]按鍵會在連接埠[scarlet]6567[]建立一個伺服器。\n所有跟您在同一個[lightgray]網路或區域網路[]環境的玩家應該能在他們的伺服器清單中找到您的伺服器。\n\n如果您希望網際網路上的玩家透過IP 位址連線到您的伺服器,您必須設定[accent]連接埠轉發[]。\n\n[lightgray]注意如果區域網路內有玩家無法連線至您的伺服器請務必確認您已於防火牆設定中開放Mindustry存取您的區域網路。請注意公共網路有時不允許搜尋伺服器。
join.info = 您可以在此輸入欲連線的[accent]伺服器IP位址[],或尋找[accent]區域網路[]內的伺服器。目前支援區域網路與網際網路連線。\n\n[lightgray]注意並沒有自動的網際網路伺服器清單如果您想透過IP位址連線到他人的伺服器您必須向他們詢問IP位址。
hostserver = 建立伺服器
invitefriends = 邀請好友
@@ -270,7 +278,7 @@ missing = 此項目已被刪除或移動。\n[lightgray]工作坊列表現在已
publishing = [accent]發佈中...
publish.confirm = 您確定要發布嗎?\n\n[lightgray]首先確定您同意Workshop EULA否則您的項目將不會顯示
publish.error = 發佈項目時出錯: {0}
steam.error = Failed to initialize Steam services.\nError: {0}
steam.error = Steam 服務初始化失敗.\n錯誤 {0}
editor.brush = 粉刷
editor.openin = 在編輯器中開啟
editor.oregen = 礦石生成
@@ -347,6 +355,7 @@ editor.overwrite = [accent]警告!這將會覆蓋現有的地圖。
editor.overwrite.confirm = [scarlet]警告![]同名地圖存在,確定要覆蓋現有地圖?
editor.exists = 具有該名稱的地圖已經存在。
editor.selectmap = 選取要載入的地圖:
toolmode.replace = 取代
toolmode.replace.description = 僅繪製在實體方塊上。
toolmode.replaceall = 全部取代
@@ -361,6 +370,7 @@ toolmode.fillteams = 填充團隊
toolmode.fillteams.description = 填充團隊而不是方塊。
toolmode.drawteams = Draw Teams
toolmode.drawteams.description = 繪製團隊而不是方塊。
filters.empty = [lightgray]沒有過濾器!使用下面的按鈕添加一個。
filter.distort = 扭曲
filter.noise = 雜訊
@@ -392,6 +402,7 @@ filter.option.floor2 = 次要地板
filter.option.threshold2 = 次要閾值
filter.option.radius = 半徑
filter.option.percentile = 百分比
width = 寬度:
height = 長度:
menu = 主選單
@@ -407,6 +418,7 @@ tutorial = 教學
tutorial.retake = 重置教學
editor = 地圖編輯器
mapeditor = 地圖編輯器
abandon = 放棄
abandon.text = 此區域及其所有資源將會丟失給敵人。
locked = 鎖定
@@ -437,6 +449,7 @@ zone.objective.survival = 生存
zone.objective.attack = 摧毀敵人核心
add = 新增...
boss.health = 頭目血量
connectfail = [crimson]伺服器連線錯誤:[accent]{0}
error.unreachable = 無法到達伺服器。請確認位址是否正確?
error.invalidaddress = 無效的位址。
@@ -447,6 +460,7 @@ error.mapnotfound = 找不到地圖!
error.io = 網絡輸出入錯誤。
error.any = 未知網絡錯誤。
error.bloom = 初始化特效失敗.\n您的設備可能不支援它
zone.groundZero.name = 零號地區
zone.desertWastes.name = 沙漠荒原
zone.craters.name = 隕石坑
@@ -461,6 +475,7 @@ zone.saltFlats.name = 鹽沼
zone.impact0078.name = 衝擊 0078
zone.crags.name = 岩壁
zone.fungalPass.name = 真菌隘口
zone.groundZero.description = 再次開始的最佳位置。敵人威脅度低。資源少。\n盡可能的收集更多的鉛和銅。\n繼續前進。
zone.frozenForest.description = 即使這裡更靠近山脈,孢子也已經擴散到這裡了。嚴寒的溫度不可能永遠禁錮它們。\n\n開始進入能源的世界。建造燃燒發電機。學會使用修理方塊。
zone.desertWastes.description = 這些荒原規模巨大,難以預測,並且與廢棄的結構交錯在一起。\n此地區存在著煤炭。燃燒它以獲得能源或合成石墨。\n\n[lightgray]無法保證此地圖的著陸位置。
@@ -475,10 +490,12 @@ zone.nuclearComplex.description = 以前生產和加工釷的設施已變成廢
zone.fungalPass.description = 高山與被孢子纏繞的低地之間的過渡區域。一個小的敵人偵察基地位於這裡。\n破壞它。\n使用匕首機甲和爬行機甲單位來摧毀兩個核心。
zone.impact0078.description = <在此處輸入說明>
zone.crags.description = <在此輸入說明>
settings.language = 語言
settings.data = 遊戲數據
settings.reset = 重設為預設設定
settings.rebind = 重新綁定
settings.resetKey = 重設按鍵
settings.controls = 操作
settings.game = 遊戲
settings.sound = 音效
@@ -509,7 +526,7 @@ blocks.shootrange = 範圍
blocks.size = 尺寸
blocks.liquidcapacity = 液體容量
blocks.powerrange = 輸出範圍
blocks.powerconnections = Max Connections
blocks.powerconnections = 最大連接數
blocks.poweruse = 能量使用
blocks.powerdamage = 能量/傷害
blocks.itemcapacity = 物品容量
@@ -529,9 +546,10 @@ blocks.inaccuracy = 誤差
blocks.shots = 射擊數
blocks.reload = 射擊次數/秒
blocks.ammo = 彈藥
bar.drilltierreq = 需要更好的鑽頭
bar.drillspeed = 鑽頭速度:{0}/秒
bar.pumpspeed = Pump Speed: {0}/s
bar.pumpspeed = 液體泵送速度:{0}/s
bar.efficiency = 效率:{0}%
bar.powerbalance = 能量變化:{0}
bar.powerstored = 能量存量: {0}/{1}
@@ -544,6 +562,9 @@ bar.heat = 熱
bar.power = 能量
bar.progress = 建造進度
bar.spawned = 單位:{0}/{1}
bar.input = 輸入
bar.output = 輸出
bullet.damage = [stat]{0}[lightgray]傷害
bullet.splashdamage = [stat]{0}[lightgray]範圍傷害 ~[stat] {1}[lightgray]格
bullet.incendiary = [stat]燃燒
@@ -555,6 +576,7 @@ bullet.freezing = [stat]冷凍
bullet.tarred = [stat]焦油
bullet.multiplier = [stat]{0}[lightgray]×彈藥倍數
bullet.reload = [stat]{0}[lightgray]×射擊速率
unit.blocks = 方塊
unit.powersecond = 能量單位/秒
unit.liquidsecond = 液體單位/秒
@@ -567,6 +589,8 @@ unit.persecond = /秒
unit.timesspeed = ×速度
unit.percent = %
unit.items = 物品
unit.thousands = k
unit.millions = mil
category.general = 一般
category.power = 能量
category.liquids = 液體
@@ -574,9 +598,10 @@ category.items = 物品
category.crafting = 需求
category.shooting = 射擊
category.optional = 可選的強化
setting.landscape.name = 鎖定水平畫面
setting.shadows.name = 陰影
setting.blockreplace.name = Automatic Block Suggestions
setting.blockreplace.name = 方塊建造建議
setting.linear.name = 線性過濾
setting.hints.name = 提示
setting.animatedwater.name = 水動畫
@@ -590,7 +615,7 @@ setting.fpscap.name = 最大FPS
setting.fpscap.none = 没有
setting.fpscap.text = {0}FPS
setting.uiscale.name = UI縮放[lightgray] (需要重啟遊戲)[]
setting.swapdiagonal.name = 始終對角線放置
setting.swapdiagonal.name = 預設對角線放置
setting.difficulty.training = 訓練
setting.difficulty.easy = 簡單
setting.difficulty.normal = 普通
@@ -599,8 +624,8 @@ setting.difficulty.insane = 瘋狂
setting.difficulty.name = 難度:
setting.screenshake.name = 畫面抖動
setting.effects.name = 顯示特效
setting.destroyedblocks.name = Display Destroyed Blocks
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
setting.destroyedblocks.name = 顯示被破壞的方塊
setting.conveyorpathfinding.name = 自動輸送帶放置規劃
setting.sensitivity.name = 控制器靈敏度
setting.saveinterval.name = 自動存檔間隔
setting.seconds = {0}秒
@@ -626,19 +651,20 @@ public.confirm = 您想公開遊戲嗎?\n[accent]任何人都可以加入您
public.beta = 請注意該遊戲的Beta版本無法公開遊戲大廳。
uiscale.reset = UI縮放已變更\n按下"確定"確認這個比例\n[scarlet][accent] {0}[] 秒後...退出並還原設定
uiscale.cancel = 取消並退出
setting.bloom.name = 特效
setting.bloom.name = 粒子特效
keybind.title = 重新綁定按鍵
keybinds.mobile = [scarlet]此處的大多數快捷鍵在移動設備上均不起作用。僅支援基本移動。
category.general.name = 一般
category.view.name = 查看
category.multiplayer.name = 多人
command.attack = 攻擊
command.rally = Rally
command.rally = 集結
command.retreat = 撤退
keybind.clear_building.name = 清除建築物
keybind.press = 按一下按鍵...
keybind.press.axis = 按一下軸向或按鍵...
keybind.screenshot.name = 地圖截圖
keybind.toggle_power_lines.name = 顯示能量激光
keybind.move_x.name = 水平移動
keybind.move_y.name = 垂直移動
keybind.schematic_select.name = 選擇區域
@@ -681,7 +707,9 @@ mode.pvp.description = 和其他玩家競爭、戰鬥。
mode.attack.name = 進攻
mode.attack.description = 沒有波次,目標是摧毀敵人的基地。
mode.custom = 自訂規則
rules.infiniteresources = 無限資源
rules.reactorexplosions = 反應爐爆炸
rules.wavetimer = 波次時間
rules.waves = 波次
rules.attack = 攻擊模式
@@ -707,6 +735,10 @@ rules.title.resourcesbuilding = 資源與建築
rules.title.player = 玩家
rules.title.enemy = 敵人
rules.title.unit = 單位
rules.title.experimental = 實驗中
rules.lighting = 光照
rules.ambientlight = 環境光照
content.item.name = 物品
content.liquid.name = 液體
content.unit.name = 單位
@@ -732,6 +764,7 @@ liquid.water.name = 水
liquid.slag.name = 熔渣
liquid.oil.name = 原油
liquid.cryofluid.name = 冷凍液
mech.alpha-mech.name = 阿爾法
mech.alpha-mech.weapon = 重型機關槍
mech.alpha-mech.ability = 自修復
@@ -753,6 +786,7 @@ mech.trident-ship.name = 三叉戟
mech.trident-ship.weapon = 轟炸艙
mech.glaive-ship.name = 偃月刀
mech.glaive-ship.weapon = 火焰機關槍
item.corestorable = [lightgray]核心可儲存: {0}
item.explosiveness = [lightgray]爆炸性:{0}
item.flammability = [lightgray]易燃性:{0}
item.radioactivity = [lightgray]放射性:{0}
@@ -866,6 +900,8 @@ block.distributor.name = 大型分配器
block.sorter.name = 分類器
block.inverted-sorter.name = 反向分類器
block.message.name = 訊息板
block.illuminator.name = 照明燈
block.illuminator.description = 小、緊湊而且可調整的光源。需要能源來運作。
block.overflow-gate.name = 溢流器
block.silicon-smelter.name = 煉矽廠
block.phase-weaver.name = 相織布編織器
@@ -879,6 +915,7 @@ block.coal-centrifuge.name = 煤炭離心機
block.power-node.name = 能量節點
block.power-node-large.name = 大型能量節點
block.surge-tower.name = 波動塔
block.diode.name = 二極體
block.battery.name = 電池
block.battery-large.name = 大型電池
block.combustion-generator.name = 燃燒發電機
@@ -931,6 +968,7 @@ block.fortress-factory.name = 要塞機甲工廠
block.revenant-factory.name = 復仇鬼戰鬥機工廠
block.repair-point.name = 維修點
block.pulse-conduit.name = 脈衝管線
block.plated-conduit.name = 裝甲管線
block.phase-conduit.name = 相織管線
block.liquid-router.name = 液體分配器
block.liquid-tank.name = 液體儲存槽
@@ -982,9 +1020,9 @@ unit.eradicator.name = 消除者
unit.lich.name = 巫妖
unit.reaper.name = 收掠者
tutorial.next = [lightgray]<按下以繼續>
tutorial.intro = 您已進入[scarlet] Mindustry 教學。[]\n從[accent] 挖掘銅礦[]開始吧。點擊靠近您核心的銅礦。\n\n[accent]{0}/{1}銅礦
tutorial.intro = 您已進入[scarlet] Mindustry 教學。[]\n使用[[WASD鍵]來移動.\n在滾動滾輪時[accent]按住 [[Ctrl][]來放大縮小畫面.\n從[accent]開採銅礦[]開始吧靠近它,然後在靠近核心的位置點擊銅礦。\n\n[accent]{0}/{1}銅礦
tutorial.intro.mobile = 您已進入[scarlet] Mindustry 教學。[]\n滑動螢幕即可移動。\n[accent]用兩指捏[]來縮放畫面。\n從[accent]開採銅礦[]開始吧。靠近它,然後在靠近核心的位置點擊銅礦。\n\n[accent]{0}/{1}銅礦
tutorial.drill = 手動挖掘礦石的效率很低。\n[accent]鑽頭[]能夠自動挖掘礦石。\n在銅脈上放置一個鑽頭。
tutorial.drill = 手動挖掘礦石的效率很低。\n[accent]鑽頭[]能夠自動挖掘礦石。\n在銅脈上放置一個鑽頭。
tutorial.drill.mobile = 手動挖掘礦石的效率很低。\n[accent]鑽頭[]能夠自動挖掘礦石。\n點選右下角的鑽頭選項\n選擇[accent]機械鑽頭[].\n通過點擊將其放置在銅礦上然後按下下方的[accent]確認標誌[]確認您的選擇\n按下[accent] X 按鈕[] 取消放置.
tutorial.blockinfo = 每個方塊都有不同的屬性。每個鑽頭只能開採特定的礦石。\n查看方塊的資訊和屬性[accent]在建造目錄時按下"?"鈕。[]\n\n[accent]立即訪問機械鑽頭的屬性資料。[]
tutorial.conveyor = [accent]輸送帶[]能夠將物品運輸到核心。\n製作一條從鑽頭開始到核心的輸送帶。
@@ -995,16 +1033,15 @@ tutorial.pause = 在戰鬥中,你可以[accent]暫停遊戲。[]\n您可以在
tutorial.pause.mobile = 在戰鬥中,你可以[accent]暫停遊戲。[]\n您可以在暫停時規劃建築物並加入建造序列。\n\n[accent]按左上角的此按鈕暫停。
tutorial.unpause = 現在再次按空格鍵即可取消暫停。
tutorial.unpause.mobile = 現在再次按空格鍵即可取消暫停。
tutorial.breaking = 方塊經常需要被銷毀。\n[accent]按住右鍵[]破壞選擇中的所有方塊。[]\n\n[accent]使用區域選擇銷毀核心左側的所有廢料方塊。
tutorial.breaking.mobile = 方塊經常需要被銷毀。\n[accent]選擇解構模式[],然後點擊一個方塊開始破壞它。\n按住手指幾秒鐘以破壞區域[]並向一個方向拖動。\n按下複選標記按鈕以確認破壞。\n\n[accent]使用區域選擇銷毀核心左側的所有廢料方塊。
tutorial.withdraw = 在某些情況下,直接從方塊中取出物品是必要的。\n去做這個, [accent]點擊有物品的方塊[],然後[accent]點擊在方框中的物品[]。\n可以通過[accent]點擊或按[]來取出物品。\n\n[accent]從核心中取出一些銅。[]
tutorial.deposit = 通過將物品從船上拖到目標方塊,將物品放入塊中。\n\n[accent]將您的銅放到核心中。[]
tutorial.waves = [lightgray]敵人[]來臨。\n\n防衛核心2波。建造更多的砲塔以防衛
tutorial.waves.mobile = [lightgray]敵人[]接近。\n\n保護核心抵抗兩波攻擊。您的飛船將自動向敵人開火。\n建造更多的砲塔和鑽頭。開採更多的銅。
tutorial.breaking = 方塊經常需要被拆除。\n[accent]按住右鍵[]破壞選擇區域中的所有方塊。[]\n\n[accent]使用區域選擇拆除核心左側的所有廢料方塊。
tutorial.breaking.mobile = 方塊經常需要被拆除。\n[accent]選擇拆除模式[],然後點擊一個方塊破壞它。\n按住螢幕幾秒鐘並向一個方向拖動以破壞一個範圍內的方塊[]。\n按下確認標記按鈕以確認拆除。\n\n[accent]使用區域選擇拆除核心左側的所有廢料方塊。
tutorial.withdraw = 在某些情況下,直接從方塊中取出物品是必要的。\n[accent]點擊有物品的方塊[],然後[accent]點擊在方框中的物品[]以將其取出。\n可以通過[accent]點擊或按[]來取出物品。\n\n[accent]從核心中取出一些銅。[]
tutorial.deposit = 通過將物品從船上拖到目標方塊,將物品放入塊中。\n\n[accent]將您的銅放到核心中。[]
tutorial.waves = [lightgray]敵人[]來臨。\n\n保護核心抵抗兩波攻擊。\n建造更多的砲塔和鑽頭。開採更多的銅
tutorial.launch = 一旦您達到特定的波數, 您就可以[accent] 發射核心[],放棄防禦並[accent]獲取核心中的所有資源。[]\n這些資源可以用於研究新科技。\n\n[accent]按下發射按鈕。
item.copper.description = 一種有用的結構材料。在各種類型的方塊中廣泛使用。
item.lead.description = 一種基本的起始材料。被廣泛用於電子設備和運輸液體方塊。
item.metaglass.description = 一種高強度的玻璃。廣泛用於液體分配和存儲。
item.copper.description = 最基本的結構材料。在各種類型的方塊中廣泛使用。
item.lead.description = 一種基本的起始材料。被廣泛用於電子設備和液體運輸方塊。
item.metaglass.description = 一種高強度的玻璃。廣泛用於液體分配和存儲。
item.graphite.description = 礦化的碳,用於彈藥和電氣絕緣。
item.sand.description = 一種常見的材料,廣泛用於冶煉,包括製作合金和助熔劑。
item.coal.description = 遠在「播種」事件前就形成的植物化石。一種常見並容易獲得的燃料。
@@ -1091,13 +1128,14 @@ block.sorter.description = 對物品進行分類。如果物品與所選種類
block.inverted-sorter.description = 處理物品的方式類似於分類器,但將所選擇的物品輸出到側面。
block.router.description = 接受來自一個方向的物品並將它們平均輸出到最多3個其他方向。用於將物品從一個來源分割為多個目標。
block.distributor.description = 高級的分配器可將物品均分到最多7個其他方向。
block.overflow-gate.description = 分離器和分配器的組合。如果前面被擋住,則向左邊和右邊輸出物品。
block.overflow-gate.description = 如果前面被擋住,則向左邊和右邊輸出物品。
block.mass-driver.description = 終極物品運輸方塊。收集大量物品,然後將它們射向另一個質量驅動器。需要能源以運作。
block.mechanical-pump.description = 一種便宜的泵,輸出速度慢,但不使用能量。
block.rotary-pump.description = 高級的泵。抽更多液體,但需要能量。
block.thermal-pump.description = 終極的泵。
block.conduit.description = 基本液體運輸方塊。將液體往前輸送。用於提取器、泵或其他管線。
block.pulse-conduit.description = 高級的液體運輸方塊。比標準管線更快地輸送並儲存更多液體。
block.plated-conduit.description = 用和脈衝管線相同的速率運送液體,但有更強的裝甲。除了其他管線以外,不會接受來自側面的其他液體\n比較不會漏液。
block.liquid-router.description = 接受來自一個方向的液體並將它們平均輸出到最多3個其他方向。可以儲存一定量的液體。用於將液體從一個來源分成多個目標。
block.liquid-tank.description = 存儲大量液體。當液體需求非恆定時,使用它來創建緩衝或作為冷卻重要方塊的保障。
block.liquid-junction.description = 作為兩個交叉管線的橋樑。適用於兩條不同管線將不同液體運送到不同位置的情況。
@@ -1106,6 +1144,7 @@ block.phase-conduit.description = 高級的液體運輸方塊。使用能量將
block.power-node.description = 將能量傳輸到相連的節點。該節點將從任何相鄰方塊接收能量或向任何相鄰方塊供應能量。
block.power-node-large.description = 具有更大範圍和更多連接的高級電源節點。
block.surge-tower.description = 具有兩個可用連接的超遠程能量節點。
block.diode.description = 電池中的電力在這個方塊中只能有一個固定的流向,並且只有在另一側的能量較少時才會通過。
block.battery.description = 有能量剩餘時存儲電力並在能量短缺時提供能量。
block.battery-large.description = 比普通電池存儲更多的能量。
block.combustion-generator.description = 透過燃燒原油或可燃物品以產生能量。
@@ -1165,3 +1204,4 @@ block.omega-mech-pad.description = 改裝現在的船隻,換成龐大、具有
block.javelin-ship-pad.description = 改裝現在的船隻,換成具有閃電武器、強大而快速的攔截機。\n站在上面雙擊機坪以使用它。
block.trident-ship-pad.description = 改裝現在的船隻,換成具有相當不錯裝甲的重型轟炸機。\n站在上面雙擊機坪以使用它。
block.glaive-ship-pad.description = 改裝現在的船隻,換成具有重裝甲的砲艇。\n站在上面雙擊機坪以使用它。

View File

@@ -0,0 +1,18 @@
#ifdef GL_ES
precision mediump float;
precision mediump int;
#endif
#define steprad 0.13
uniform sampler2D u_texture;
uniform vec4 u_ambient;
varying vec4 v_color;
varying vec2 v_texCoord;
void main(){
vec4 color = texture2D(u_texture, v_texCoord.xy);
//color.a = clamp(color.a, 0.0, 0.8);
gl_FragColor = clamp(vec4(mix(u_ambient.rgb, color.rgb, color.a), u_ambient.a - color.a), 0.0, 1.0);
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 739 B

After

Width:  |  Height:  |  Size: 750 B

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 718 KiB

After

Width:  |  Height:  |  Size: 748 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 KiB

After

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 890 KiB

After

Width:  |  Height:  |  Size: 935 KiB

View File

@@ -104,7 +104,7 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform
public void resize(int width, int height){
if(assets == null) return;
if(!assets.isFinished()){
if(!finished){
Draw.proj().setOrtho(0, 0, width, height);
}else{
super.resize(width, height);

View File

@@ -31,8 +31,6 @@ import static io.anuke.arc.Core.*;
public class Vars implements Loadable{
/** Whether to load locales.*/
public static boolean loadLocales = true;
/** Maximum number of broken blocks. TODO implement or remove.*/
public static final int maxBrokenBlocks = 256;
/** Maximum schematic size.*/
public static final int maxSchematicSize = 32;
/** All schematic base64 starts with this string.*/
@@ -48,13 +46,15 @@ public class Vars implements Loadable{
/** URL for discord invite. */
public static final String discordURL = "https://discord.gg/mindustry";
/** URL for sending crash reports to */
public static final String crashReportURL = "http://mins.us.to/report";
public static final String crashReportURL = "http://192.99.169.18/report";
/** URL the links to the wiki's modding guide.*/
public static final String modGuideURL = "https://mindustrygame.github.io/wiki/modding/";
/** URL to the JSON file containing all the global, public servers. */
public static final String serverJsonURL = "https://raw.githubusercontent.com/Anuken/Mindustry/master/servers.json";
/** URL the links to the wiki's modding guide.*/
public static final String reportIssueURL = "https://github.com/Anuken/Mindustry/issues/new?template=bug_report.md";
/** list of built-in servers.*/
public static final Array<String> defaultServers = Array.with(/*"mins.us.to"*/);
public static final Array<String> defaultServers = Array.with();
/** maximum distance between mine and core that supports automatic transferring */
public static final float mineTransferRange = 220f;
/** team of the player by default */

View File

@@ -19,6 +19,8 @@ import io.anuke.mindustry.world.blocks.*;
import io.anuke.mindustry.world.blocks.defense.*;
import io.anuke.mindustry.world.blocks.defense.turrets.*;
import io.anuke.mindustry.world.blocks.distribution.*;
import io.anuke.mindustry.world.blocks.liquid.Conduit;
import io.anuke.mindustry.world.blocks.liquid.LiquidTank;
import io.anuke.mindustry.world.blocks.logic.*;
import io.anuke.mindustry.world.blocks.power.*;
import io.anuke.mindustry.world.blocks.production.*;
@@ -48,22 +50,22 @@ public class Blocks implements ContentList{
melter, separator, sporePress, pulverizer, incinerator, coalCentrifuge,
//sandbox
powerVoid, powerSource, itemSource, liquidSource, itemVoid, message,
powerSource, powerVoid, itemSource, itemVoid, liquidSource, message, illuminator,
//defense
scrapWall, scrapWallLarge, scrapWallHuge, scrapWallGigantic, thruster, //ok, these names are getting ridiculous, but at least I don't have humongous walls yet
copperWall, copperWallLarge, titaniumWall, titaniumWallLarge, plastaniumWall, plastaniumWallLarge, thoriumWall, thoriumWallLarge, door, doorLarge,
phaseWall, phaseWallLarge, surgeWall, surgeWallLarge, mender, mendProjector, overdriveProjector, forceProjector, shockMine,
scrapWall, scrapWallLarge, scrapWallHuge, scrapWallGigantic, thruster, //ok, these names are getting ridiculous, but at least I don't have humongous walls yet
//transport
conveyor, titaniumConveyor, armoredConveyor, distributor, junction, itemBridge, phaseConveyor, sorter, invertedSorter, router, overflowGate, massDriver,
//liquids
mechanicalPump, rotaryPump, thermalPump, conduit, pulseConduit, liquidRouter, liquidTank, liquidJunction, bridgeConduit, phaseConduit,
mechanicalPump, rotaryPump, thermalPump, conduit, pulseConduit, platedConduit, liquidRouter, liquidTank, liquidJunction, bridgeConduit, phaseConduit,
//power
combustionGenerator, thermalGenerator, turbineGenerator, differentialGenerator, rtgGenerator, solarPanel, largeSolarPanel, thoriumReactor,
impactReactor, battery, batteryLarge, powerNode, powerNodeLarge, surgeTower,
impactReactor, battery, batteryLarge, powerNode, powerNodeLarge, surgeTower, diode,
//production
mechanicalDrill, pneumaticDrill, laserDrill, blastDrill, waterExtractor, oilExtractor, cultivator,
@@ -505,7 +507,7 @@ public class Blocks implements ContentList{
int bottomRegion = reg("-bottom"), weaveRegion = reg("-weave");
drawIcons = () -> new TextureRegion[]{Core.atlas.find(name + "-bottom"), Core.atlas.find(name)};
drawIcons = () -> new TextureRegion[]{Core.atlas.find(name + "-bottom"), Core.atlas.find(name), Core.atlas.find(name + "-weave")};
drawer = tile -> {
GenericCrafterEntity entity = tile.entity();
@@ -537,7 +539,7 @@ public class Blocks implements ContentList{
hasPower = true;
consumes.power(4f);
consumes.items(new ItemStack(Items.titanium, 2), new ItemStack(Items.lead, 4), new ItemStack(Items.silicon, 3), new ItemStack(Items.copper, 3));
consumes.items(new ItemStack(Items.copper, 3), new ItemStack(Items.lead, 4), new ItemStack(Items.titanium, 2), new ItemStack(Items.silicon, 3));
}};
cryofluidMixer = new LiquidConverter("cryofluidmixer"){{
@@ -710,69 +712,11 @@ public class Blocks implements ContentList{
consumes.power(0.50f);
}};
//endregion
//region sandbox
powerVoid = new PowerVoid("power-void"){{
requirements(Category.power, BuildVisibility.sandboxOnly, ItemStack.with());
alwaysUnlocked = true;
}};
powerSource = new PowerSource("power-source"){{
requirements(Category.power, BuildVisibility.sandboxOnly, ItemStack.with());
alwaysUnlocked = true;
}};
itemSource = new ItemSource("item-source"){{
requirements(Category.distribution, BuildVisibility.sandboxOnly, ItemStack.with());
alwaysUnlocked = true;
}};
itemVoid = new ItemVoid("item-void"){{
requirements(Category.distribution, BuildVisibility.sandboxOnly, ItemStack.with());
alwaysUnlocked = true;
}};
liquidSource = new LiquidSource("liquid-source"){{
requirements(Category.liquid, BuildVisibility.sandboxOnly, ItemStack.with());
alwaysUnlocked = true;
}};
message = new MessageBlock("message"){{
requirements(Category.effect, ItemStack.with(Items.graphite, 5));
}};
//endregion
//region defense
int wallHealthMultiplier = 4;
scrapWall = new Wall("scrap-wall"){{
requirements(Category.defense, BuildVisibility.sandboxOnly, ItemStack.with());
health = 60 * wallHealthMultiplier;
variants = 5;
}};
scrapWallLarge = new Wall("scrap-wall-large"){{
requirements(Category.defense, BuildVisibility.sandboxOnly, ItemStack.with());
health = 60 * 4 * wallHealthMultiplier;
size = 2;
variants = 4;
}};
scrapWallHuge = new Wall("scrap-wall-huge"){{
requirements(Category.defense, BuildVisibility.sandboxOnly, ItemStack.with());
health = 60 * 9 * wallHealthMultiplier;
size = 3;
variants = 3;
}};
scrapWallGigantic = new Wall("scrap-wall-gigantic"){{
requirements(Category.defense, BuildVisibility.sandboxOnly, ItemStack.with());
health = 60 * 16 * wallHealthMultiplier;
size = 4;
}};
thruster = new Wall("thruster"){{
health = 55 * 16 * wallHealthMultiplier;
size = 4;
}};
copperWall = new Wall("copper-wall"){{
requirements(Category.defense, ItemStack.with(Items.copper, 6));
health = 80 * wallHealthMultiplier;
@@ -854,6 +798,37 @@ public class Blocks implements ContentList{
size = 2;
}};
scrapWall = new Wall("scrap-wall"){{
requirements(Category.defense, BuildVisibility.sandboxOnly, ItemStack.with());
health = 60 * wallHealthMultiplier;
variants = 5;
}};
scrapWallLarge = new Wall("scrap-wall-large"){{
requirements(Category.defense, BuildVisibility.sandboxOnly, ItemStack.with());
health = 60 * 4 * wallHealthMultiplier;
size = 2;
variants = 4;
}};
scrapWallHuge = new Wall("scrap-wall-huge"){{
requirements(Category.defense, BuildVisibility.sandboxOnly, ItemStack.with());
health = 60 * 9 * wallHealthMultiplier;
size = 3;
variants = 3;
}};
scrapWallGigantic = new Wall("scrap-wall-gigantic"){{
requirements(Category.defense, BuildVisibility.sandboxOnly, ItemStack.with());
health = 60 * 16 * wallHealthMultiplier;
size = 4;
}};
thruster = new Wall("thruster"){{
health = 55 * 16 * wallHealthMultiplier;
size = 4;
}};
mender = new MendProjector("mender"){{
requirements(Category.effect, ItemStack.with(Items.lead, 30, Items.copper, 25));
consumes.power(0.3f);
@@ -918,7 +893,7 @@ public class Blocks implements ContentList{
}};
armoredConveyor = new ArmoredConveyor("armored-conveyor"){{
requirements(Category.distribution, ItemStack.with(Items.metaglass, 1, Items.thorium, 1));
requirements(Category.distribution, ItemStack.with(Items.plastanium, 1, Items.thorium, 1, Items.metaglass, 1));
health = 180;
speed = 0.08f;
}};
@@ -1002,7 +977,7 @@ public class Blocks implements ContentList{
size = 3;
}};
conduit = new Conduit("conduit"){{
conduit = new io.anuke.mindustry.world.blocks.liquid.Conduit("conduit"){{
requirements(Category.liquid, ItemStack.with(Items.metaglass, 1));
health = 45;
}};
@@ -1010,10 +985,18 @@ public class Blocks implements ContentList{
pulseConduit = new Conduit("pulse-conduit"){{
requirements(Category.liquid, ItemStack.with(Items.titanium, 2, Items.metaglass, 1));
liquidCapacity = 16f;
liquidPressure = 1.025f;
health = 90;
}};
liquidRouter = new LiquidRouter("liquid-router"){{
platedConduit = new io.anuke.mindustry.world.blocks.liquid.ArmoredConduit("plated-conduit"){{
requirements(Category.liquid, ItemStack.with(Items.thorium, 2, Items.metaglass, 1));
liquidCapacity = 16f;
liquidPressure = 1.025f;
health = 220;
}};
liquidRouter = new io.anuke.mindustry.world.blocks.liquid.LiquidRouter("liquid-router"){{
requirements(Category.liquid, ItemStack.with(Items.graphite, 4, Items.metaglass, 2));
liquidCapacity = 20f;
}};
@@ -1025,17 +1008,17 @@ public class Blocks implements ContentList{
health = 500;
}};
liquidJunction = new LiquidJunction("liquid-junction"){{
liquidJunction = new io.anuke.mindustry.world.blocks.liquid.LiquidJunction("liquid-junction"){{
requirements(Category.liquid, ItemStack.with(Items.graphite, 2, Items.metaglass, 2));
}};
bridgeConduit = new LiquidExtendingBridge("bridge-conduit"){{
bridgeConduit = new io.anuke.mindustry.world.blocks.liquid.LiquidExtendingBridge("bridge-conduit"){{
requirements(Category.liquid, ItemStack.with(Items.graphite, 4, Items.metaglass, 8));
range = 4;
hasPower = false;
}};
phaseConduit = new LiquidBridge("phase-conduit"){{
phaseConduit = new io.anuke.mindustry.world.blocks.liquid.LiquidBridge("phase-conduit"){{
requirements(Category.liquid, ItemStack.with(Items.phasefabric, 5, Items.silicon, 7, Items.metaglass, 20, Items.titanium, 10));
range = 12;
hasPower = true;
@@ -1065,6 +1048,10 @@ public class Blocks implements ContentList{
laserRange = 30f;
}};
diode = new PowerDiode("diode"){{
requirements(Category.power, ItemStack.with(Items.silicon, 10, Items.plastanium, 5, Items.metaglass, 10));
}};
battery = new Battery("battery"){{
requirements(Category.power, ItemStack.with(Items.copper, 4, Items.lead, 20));
consumes.powerBuffered(4000f);
@@ -1136,7 +1123,7 @@ public class Blocks implements ContentList{
powerProduction = 14f;
consumes.item(Items.thorium);
heating = 0.02f;
consumes.liquid(Liquids.cryofluid, 0.1f).update(false);
consumes.liquid(Liquids.cryofluid, heating / coolantPower).update(false);
}};
impactReactor = new ImpactReactor("impact-reactor"){{
@@ -1817,6 +1804,45 @@ public class Blocks implements ContentList{
consumes.power(1.2f);
}};
//endregion
//region sandbox
powerSource = new PowerSource("power-source"){{
requirements(Category.power, BuildVisibility.sandboxOnly, ItemStack.with());
alwaysUnlocked = true;
}};
powerVoid = new PowerVoid("power-void"){{
requirements(Category.power, BuildVisibility.sandboxOnly, ItemStack.with());
alwaysUnlocked = true;
}};
itemSource = new ItemSource("item-source"){{
requirements(Category.distribution, BuildVisibility.sandboxOnly, ItemStack.with());
alwaysUnlocked = true;
}};
itemVoid = new ItemVoid("item-void"){{
requirements(Category.distribution, BuildVisibility.sandboxOnly, ItemStack.with());
alwaysUnlocked = true;
}};
liquidSource = new LiquidSource("liquid-source"){{
requirements(Category.liquid, BuildVisibility.sandboxOnly, ItemStack.with());
alwaysUnlocked = true;
}};
message = new MessageBlock("message"){{
requirements(Category.effect, ItemStack.with(Items.graphite, 5));
}};
illuminator = new LightBlock("illuminator"){{
requirements(Category.effect, BuildVisibility.lightingOnly, ItemStack.with(Items.graphite, 4, Items.silicon, 2));
brightness = 0.67f;
radius = 120f;
consumes.power(0.05f);
}};
//endregion
}
}

View File

@@ -13,7 +13,7 @@ import io.anuke.mindustry.graphics.*;
import io.anuke.mindustry.type.*;
import io.anuke.mindustry.ui.Cicon;
import static io.anuke.mindustry.Vars.tilesize;
import static io.anuke.mindustry.Vars.*;
public class Fx implements ContentList{
public static Effect
@@ -463,6 +463,8 @@ public class Fx implements ContentList{
});
Draw.color();
renderer.lights.add(e.x, e.y, 20f * e.fslope(), Pal.lightFlame, 0.5f);
});
fireSmoke = new Effect(35f, e -> {

View File

@@ -19,6 +19,7 @@ public class Liquids implements ContentList{
temperature = 1f;
viscosity = 0.8f;
effect = StatusEffects.melting;
lightColor = Color.valueOf("f0511d").a(0.4f);
}};
oil = new Liquid("oil", Color.valueOf("313131")){{
@@ -34,6 +35,7 @@ public class Liquids implements ContentList{
heatCapacity = 0.9f;
temperature = 0.25f;
effect = StatusEffects.freezing;
lightColor = Color.valueOf("0097f5").a(0.2f);
}};
}
}

View File

@@ -199,6 +199,10 @@ public class TechTree implements ContentList{
node(phaseConduit, () -> {
});
node(platedConduit, () -> {
});
});
node(rotaryPump, () -> {
@@ -215,8 +219,10 @@ public class TechTree implements ContentList{
node(combustionGenerator, () -> {
node(powerNode, () -> {
node(powerNodeLarge, () -> {
node(surgeTower, () -> {
node(diode, () -> {
node(surgeTower, () -> {
});
});
});

View File

@@ -189,7 +189,6 @@ public class Zones implements ContentList{
startingItems = list(copper, 250, lead, 100);
conditionWave = 15;
launchPeriod = 10;
requirements = with(new ZoneWave(ruinousShores, 20));
resources = with(copper, scrap, lead, coal, titanium, thorium, sand);
requirements = with(
new ZoneWave(ruinousShores, 20),

View File

@@ -5,7 +5,7 @@ import io.anuke.arc.*;
import io.anuke.arc.util.*;
import io.anuke.mindustry.content.*;
import io.anuke.mindustry.core.GameState.*;
import io.anuke.mindustry.ctype.UnlockableContent;
import io.anuke.mindustry.ctype.*;
import io.anuke.mindustry.entities.*;
import io.anuke.mindustry.entities.type.*;
import io.anuke.mindustry.game.EventType.*;
@@ -189,6 +189,7 @@ public class Logic implements ApplicationListener{
for(Item item : content.items()){
if(tile == null || tile.entity == null || tile.entity.items == null) continue;
data.addItem(item, tile.entity.items.get(item));
Events.fire(new LaunchItemEvent(item, tile.entity.items.get(item)));
}
world.removeBlock(tile);
}

View File

@@ -292,7 +292,7 @@ public class NetServer implements ApplicationListener{
}
//cooldown between votes
int voteTime = 60 * 5;
int voteTime = 60 * 3;
Timekeeper vtime = new Timekeeper(voteTime);
//current kick sessions
VoteSession[] currentlyKicking = {null};
@@ -484,7 +484,7 @@ public class NetServer implements ApplicationListener{
for(BuildRequest req : requests){
if(req == null) continue;
Tile tile = world.tile(req.x, req.y);
if(tile == null) continue;
if(tile == null || (!req.breaking && req.block == null)) continue;
//auto-skip done requests
if(req.breaking && tile.block() == Blocks.air){
continue;

View File

@@ -32,6 +32,7 @@ public class Renderer implements ApplicationListener{
public final BlockRenderer blocks = new BlockRenderer();
public final MinimapRenderer minimap = new MinimapRenderer();
public final OverlayRenderer overlays = new OverlayRenderer();
public final LightRenderer lights = new LightRenderer();
public final Pixelator pixelator = new Pixelator();
public FrameBuffer shieldBuffer = new FrameBuffer(2, 2);
@@ -256,6 +257,7 @@ public class Renderer implements ApplicationListener{
drawFlyerShadows();
blocks.drawBlocks(Layer.power);
blocks.drawBlocks(Layer.lights);
drawAllTeams(true);
@@ -298,6 +300,10 @@ public class Renderer implements ApplicationListener{
playerGroup.draw(p -> !p.isDead(), Player::drawName);
if(state.rules.lighting){
lights.draw();
}
drawLanding();
Draw.color();

View File

@@ -70,6 +70,7 @@ public class UI implements ApplicationListener, Loadable{
public MinimapDialog minimap;
public SchematicsDialog schematics;
public ModsDialog mods;
public ColorPicker picker;
public Cursor drillCursor, unloadCursor;
@@ -211,6 +212,7 @@ public class UI implements ApplicationListener, Loadable{
listfrag = new PlayerListFragment();
loadfrag = new LoadingFragment();
picker = new ColorPicker();
editor = new MapEditorDialog();
controls = new ControlsDialog();
restart = new GameOverDialog();
@@ -427,12 +429,15 @@ public class UI implements ApplicationListener, Loadable{
}
public void showCustomConfirm(String title, String text, String yes, String no, Runnable confirmed){
public void showCustomConfirm(String title, String text, String yes, String no, Runnable confirmed, Runnable denied){
FloatingDialog dialog = new FloatingDialog(title);
dialog.cont.add(text).width(mobile ? 400f : 500f).wrap().pad(4f).get().setAlignment(Align.center, Align.center);
dialog.buttons.defaults().size(200f, 54f).pad(2f);
dialog.setFillParent(false);
dialog.buttons.addButton(no, dialog::hide);
dialog.buttons.addButton(no, () -> {
dialog.hide();
denied.run();
});
dialog.buttons.addButton(yes, () -> {
dialog.hide();
confirmed.run();
@@ -456,11 +461,11 @@ public class UI implements ApplicationListener, Loadable{
public String formatAmount(int number){
if(number >= 1000000){
return Strings.fixed(number / 1000000f, 1) + "[gray]mil[]";
return Strings.fixed(number / 1000000f, 1) + "[gray]" + Core.bundle.getOrNull("unit.millions") + "[]";
}else if(number >= 10000){
return number / 1000 + "[gray]k[]";
}else if(number >= 1000){
return Strings.fixed(number / 1000f, 1) + "[gray]k[]";
return Strings.fixed(number / 1000f, 1) + "[gray]" + Core.bundle.getOrNull("unit.thousands") + "[]";
}else{
return number + "";
}

View File

@@ -5,6 +5,7 @@ import io.anuke.arc.*;
import io.anuke.arc.graphics.g2d.*;
import io.anuke.arc.scene.ui.layout.*;
import io.anuke.mindustry.*;
import io.anuke.mindustry.graphics.*;
import io.anuke.mindustry.ui.Cicon;
/** Base interface for an unlockable content type. */
@@ -25,7 +26,7 @@ public abstract class UnlockableContent extends MappableContent{
/** Generate any special icons for this content. Called asynchronously.*/
@CallSuper
public void createIcons(PixmapPacker out, PixmapPacker editor){
public void createIcons(MultiPacker packer){
}

View File

@@ -103,6 +103,7 @@ public class EditorTile extends Tile{
return;
}
if(floor.isLiquid) return;
if(overlayID() == overlay) return;
op(OpType.overlay, this.overlay.id);
super.setOverlayID(overlay);

View File

@@ -186,7 +186,7 @@ public class WaveInfoDialog extends FloatingDialog{
}).width(80f);
a.add(" + ");
a.addField(Strings.fixed(Math.max((Mathf.isZero(group.unitScaling) ? 0 : 1f / group.unitScaling), 0), 2), TextFieldFilter.floatsOnly, text -> {
a.addField(Strings.fixed(Math.max((Mathf.zero(group.unitScaling) ? 0 : 1f / group.unitScaling), 0), 2), TextFieldFilter.floatsOnly, text -> {
if(Strings.canParsePositiveFloat(text)){
group.unitScaling = 1f / Strings.parseFloat(text);
updateWaves();
@@ -217,21 +217,23 @@ public class WaveInfoDialog extends FloatingDialog{
void showUpdate(SpawnGroup group){
FloatingDialog dialog = new FloatingDialog("");
dialog.setFillParent(false);
int i = 0;
for(UnitType type : content.units()){
dialog.cont.addButton(t -> {
t.left();
t.addImage(type.icon(io.anuke.mindustry.ui.Cicon.medium)).size(40f).padRight(2f);
t.add(type.localizedName);
}, () -> {
lastType = type;
group.type = type;
dialog.hide();
buildGroups();
}).pad(2).margin(12f).fillX();
if(++i % 3 == 0) dialog.cont.row();
}
dialog.setFillParent(true);
dialog.cont.pane(p -> {
int i = 0;
for(UnitType type : content.units()){
p.addButton(t -> {
t.left();
t.addImage(type.icon(io.anuke.mindustry.ui.Cicon.medium)).size(40f).padRight(2f);
t.add(type.localizedName);
}, () -> {
lastType = type;
group.type = type;
dialog.hide();
buildGroups();
}).pad(2).margin(12f).fillX();
if(++i % 3 == 0) p.row();
}
});
dialog.show();
}

View File

@@ -237,6 +237,12 @@ public class Puddle extends SolidEntity implements SaveTrait, Poolable, DrawTrai
seeds++;
});
Draw.color();
if(liquid.lightColor.a > 0.001f && f > 0){
Color color = liquid.lightColor;
float opacity = color.a * f;
renderer.lights.add(tile.drawx(), tile.drawy(), 30f * f, color, opacity * 0.8f);
}
}
@Override

View File

@@ -34,39 +34,38 @@ public interface BuilderTrait extends Entity, TeamTrait{
default void updateBuilding(){
float finalPlaceDst = state.rules.infiniteResources ? Float.MAX_VALUE : placeDistance;
Unit unit = (Unit)this;
//remove already completed build requests
removal.clear();
for(BuildRequest req : buildQueue()){
removal.add(req);
Iterator<BuildRequest> it = buildQueue().iterator();
while(it.hasNext()){
BuildRequest req = it.next();
Tile tile = world.tile(req.x, req.y);
if(tile == null || (req.breaking && tile.block() == Blocks.air) || (!req.breaking && (tile.rotation() == req.rotation || !req.block.rotate) && tile.block() == req.block)){
it.remove();
}
}
buildQueue().clear();
TileEntity core = unit.getClosestCore();
for(BuildRequest request : removal){
Tile tile = world.tile(request.x, request.y);
//nothing to build.
if(buildRequest() == null) return;
if(!(tile == null || (request.breaking && tile.block() == Blocks.air) ||
(!request.breaking && (tile.rotation() == request.rotation || !request.block.rotate) && tile.block() == request.block))){
buildQueue().addLast(request);
//find the next build request
if(buildQueue().size > 1){
int total = 0;
BuildRequest req;
while((dst((req = buildRequest()).tile()) > finalPlaceDst || shouldSkip(req, core)) && total < buildQueue().size){
buildQueue().removeFirst();
buildQueue().addLast(req);
total++;
}
}
BuildRequest current = buildRequest();
if(current == null){
return;
}
if(dst(current.tile()) > finalPlaceDst) return;
Tile tile = world.tile(current.x, current.y);
if(dst(tile) > finalPlaceDst){
if(buildQueue().size > 1){
buildQueue().removeFirst();
buildQueue().addLast(current);
}
return;
}
if(!(tile.block() instanceof BuildBlock)){
if(!current.initialized && canCreateBlocks() && !current.breaking && Build.validPlace(getTeam(), current.x, current.y, current.block, current.rotation)){
Call.beginPlace(getTeam(), current.x, current.y, current.block, current.rotation);
@@ -78,8 +77,6 @@ public interface BuilderTrait extends Entity, TeamTrait{
}
}
TileEntity core = unit.getClosestCore();
if(tile.entity instanceof BuildEntity && !current.initialized){
Core.app.post(() -> Events.fire(new BuildSelectEvent(tile, unit.getTeam(), this, current.breaking)));
current.initialized = true;
@@ -111,9 +108,17 @@ public interface BuilderTrait extends Entity, TeamTrait{
}
}
current.stuck = Mathf.equal(current.progress, entity.progress);
current.progress = entity.progress;
}
/** @return whether this request should be skipped, in favor of the next one. */
default boolean shouldSkip(BuildRequest request, @Nullable TileEntity core){
//requests that you have at least *started* are considered
if(state.rules.infiniteResources || request.breaking || !request.initialized || core == null) return false;
return request.stuck && !core.items.has(request.block.requirements);
}
/** Returns the queue for storing build requests. */
Queue<BuildRequest> buildQueue();
@@ -225,7 +230,6 @@ public interface BuilderTrait extends Entity, TeamTrait{
//due to iOS weirdness, this is apparently required
class BuildDataStatic{
static Array<BuildRequest> removal = new Array<>();
static Vector2[] tmptr = new Vector2[]{new Vector2(), new Vector2(), new Vector2(), new Vector2()};
}
@@ -287,8 +291,8 @@ public interface BuilderTrait extends Entity, TeamTrait{
/** Last progress.*/
public float progress;
/** Whether construction has started for this request.*/
public boolean initialized, worldContext = true;
/** Whether construction has started for this request, and other special variables.*/
public boolean initialized, worldContext = true, stuck;
/** Visual scale. Used only for rendering.*/
public float animScale = 0f;

View File

@@ -11,6 +11,7 @@ import io.anuke.mindustry.entities.bullet.*;
import io.anuke.mindustry.entities.effect.*;
import io.anuke.mindustry.entities.traits.*;
import io.anuke.mindustry.game.*;
import io.anuke.mindustry.graphics.*;
import io.anuke.mindustry.world.*;
import static io.anuke.mindustry.Vars.*;
@@ -294,6 +295,7 @@ public class Bullet extends SolidEntity implements DamageTrait, ScaleTrait, Pool
@Override
public void draw(){
type.draw(this);
renderer.lights.add(x, y, 16f, Pal.powerLight, 0.3f);
}
@Override

View File

@@ -354,6 +354,7 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{
Draw.rect(getPowerCellRegion(), x + Angles.trnsx(rotation, mech.cellTrnsY, 0f), y + Angles.trnsy(rotation, mech.cellTrnsY, 0f), rotation - 90);
Draw.reset();
drawBackItems(itemtime, isLocal);
drawLight();
}
@Override

View File

@@ -14,6 +14,7 @@ import io.anuke.mindustry.game.*;
import io.anuke.mindustry.game.EventType.BlockDestroyEvent;
import io.anuke.mindustry.gen.*;
import io.anuke.mindustry.world.*;
import io.anuke.mindustry.world.consumers.*;
import io.anuke.mindustry.world.modules.*;
import java.io.*;
@@ -86,6 +87,11 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait,
return Time.delta() * timeScale;
}
/** Base efficiency. If this entity has non-buffered power, returns the power %, otherwise returns 1. */
public float efficiency(){
return power != null && (block.consumes.has(ConsumeType.power) && !block.consumes.getPower().buffered) ? power.status : 1f;
}
/** Call when nothing is happening to the entity. This increments the internal sleep timer. */
public void sleep(){
sleepTime += Time.delta();
@@ -305,13 +311,17 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait,
loops.play(block.idleSound, this, block.idleSoundVolume);
}
Block previous = block;
block.update(tile);
if(block == previous && cons != null){
if(liquids != null){
liquids.update();
}
if(cons != null){
cons.update();
}
if(block == previous && power != null){
if(power != null){
power.graph.update();
}
}

View File

@@ -167,6 +167,8 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
}
public void writeSave(DataOutput stream, boolean net) throws IOException{
if(item.item == null) item.item = Items.copper;
stream.writeByte(team.ordinal());
stream.writeBoolean(isDead());
stream.writeFloat(net ? interpolator.target.x : x);
@@ -399,6 +401,12 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
Draw.color();
drawBackItems(item.amount > 0 ? 1f : 0f, false);
drawLight();
}
public void drawLight(){
renderer.lights.add(x, y, 50f, Pal.powerLight, 0.6f);
}
public void drawBackItems(float itemtime, boolean number){

View File

@@ -27,7 +27,8 @@ public class EventType{
drown,
exclusionDeath,
suicideBomb,
openWiki
openWiki,
teamCoreDamage
}
public static class WinEvent{}
@@ -36,6 +37,14 @@ public class EventType{
public static class LaunchEvent{}
public static class LaunchItemEvent{
public final ItemStack stack;
public LaunchItemEvent(Item item, int amount){
this.stack = new ItemStack(item, amount);
}
}
public static class MapMakeEvent{}
public static class MapPublishEvent{}
@@ -137,7 +146,7 @@ public class EventType{
public final Player player;
public final Item item;
public final int amount;
public DepositEvent(Tile tile, Player player, Item item, int amount){
this.tile = tile;
this.player = player;
@@ -145,7 +154,7 @@ public class EventType{
this.amount = amount;
}
}
/** Called when the player taps a block. */
public static class TapEvent{
public final Tile tile;
@@ -156,7 +165,7 @@ public class EventType{
this.player = player;
}
}
/** Called when the player sets a specific block. */
public static class TapConfigEvent{
public final Tile tile;
@@ -309,7 +318,7 @@ public class EventType{
/** Called after connecting; when a player recieves world data and is ready to play.*/
public static class PlayerJoin{
public final Player player;
public PlayerJoin(Player player){
this.player = player;
}
@@ -326,11 +335,45 @@ public class EventType{
public static class PlayerLeave{
public final Player player;
public PlayerLeave(Player player){
this.player = player;
}
}
public static class PlayerBanEvent{
public final Player player;
public PlayerBanEvent(Player player){
this.player = player;
}
}
public static class PlayerUnbanEvent{
public final Player player;
public PlayerUnbanEvent(Player player){
this.player = player;
}
}
public static class PlayerIpBanEvent{
public final String ip;
public PlayerIpBanEvent(String ip){
this.ip = ip;
}
}
public static class PlayerIpUnbanEvent{
public final String ip;
public PlayerIpUnbanEvent(String ip){
this.ip = ip;
}
}
}

View File

@@ -30,7 +30,7 @@ public class LoopControl{
data.curVolume = Mathf.lerpDelta(data.curVolume, data.volume * avol, 0.2f);
boolean play = data.curVolume > 0.01f;
float pan = Mathf.isZero(data.total, 0.0001f) ? 0f : sound.calcPan(data.sum.x / data.total, data.sum.y / data.total);
float pan = Mathf.zero(data.total, 0.0001f) ? 0f : sound.calcPan(data.sum.x / data.total, data.sum.y / data.total);
if(data.soundID <= 0){
if(play){
data.soundID = sound.loop(data.curVolume, 1f, pan);

View File

@@ -2,6 +2,7 @@ package io.anuke.mindustry.game;
import io.anuke.annotations.Annotations.*;
import io.anuke.arc.collection.*;
import io.anuke.arc.graphics.*;
import io.anuke.mindustry.content.*;
import io.anuke.mindustry.io.*;
import io.anuke.mindustry.type.*;
@@ -25,6 +26,8 @@ public class Rules{
public boolean pvp;
/** Whether enemy units drop random items on death. */
public boolean unitDrops = true;
/** Whether reactors can explode and damage other blocks. */
public boolean reactorExplosions = true;
/** How fast unit pads build units. */
public float unitBuildSpeedMultiplier = 1f;
/** How much health units start with. */
@@ -65,12 +68,16 @@ public class Rules{
public boolean attackMode = false;
/** Whether this is the editor gamemode. */
public boolean editor = false;
/** Whether the tutorial is enabled. False by default.*/
/** Whether the tutorial is enabled. False by default. */
public boolean tutorial = false;
/** Starting items put in cores */
public Array<ItemStack> loadout = Array.with(ItemStack.with(Items.copper, 100));
/** Blocks that cannot be placed. */
public ObjectSet<Block> bannedBlocks = new ObjectSet<>();
/** Whether everything is dark. Enables lights. Experimental. */
public boolean lighting = false;
/** Ambient light color, used when lighting is enabled. */
public Color ambientLight = new Color(0.01f, 0.01f, 0.04f, 0.99f);
/** Copies this ruleset exactly. Not very efficient at all, do not use often. */
public Rules copy(){

View File

@@ -9,7 +9,7 @@ import io.anuke.mindustry.type.*;
@Serialize
public class Stats{
/** Items delivered to global resoure counter. Zones only. */
public transient ObjectIntMap<Item> itemsDelivered = new ObjectIntMap<>();
public ObjectIntMap<Item> itemsDelivered = new ObjectIntMap<>();
/** Enemy (red team) units destroyed. */
public int enemyUnitsDestroyed;
/** Total waves lasted. */

View File

@@ -9,11 +9,11 @@ import io.anuke.arc.graphics.glutils.*;
import io.anuke.arc.math.*;
import io.anuke.arc.util.*;
import io.anuke.mindustry.content.*;
import io.anuke.mindustry.game.*;
import io.anuke.mindustry.game.EventType.*;
import io.anuke.mindustry.game.Teams.*;
import io.anuke.mindustry.ui.Cicon;
import io.anuke.mindustry.ui.*;
import io.anuke.mindustry.world.*;
import io.anuke.mindustry.world.blocks.*;
import static io.anuke.arc.Core.camera;
import static io.anuke.mindustry.Vars.*;
@@ -219,6 +219,10 @@ public class BlockRenderer implements Disposable{
addRequest(tile, Layer.block);
}
if(state.rules.lighting && tile.block().synthetic() && !(tile.block() instanceof BlockPart)){
addRequest(tile, Layer.lights);
}
if(block.expanded || !expanded){
if(block.layer != null){
@@ -274,6 +278,9 @@ public class BlockRenderer implements Disposable{
if(block.synthetic() && request.tile.getTeam() != player.getTeam()){
block.drawTeam(request.tile);
}
}else if(request.layer == Layer.lights){
block.drawLight(request.tile);
}else if(request.layer == block.layer){
block.drawLayer(request.tile);
}else if(request.layer == block.layer2){
@@ -282,39 +289,6 @@ public class BlockRenderer implements Disposable{
}
}
public void drawTeamBlocks(Layer layer, Team team){
int index = this.iterateidx;
for(; index < requestidx; index++){
if(index < requests.size && requests.get(index).layer.ordinal() > layer.ordinal()){
break;
}
BlockRequest req = requests.get(index);
if(req.tile.getTeam() != team) continue;
Block block = req.tile.block();
if(req.layer == Layer.block){
block.draw(req.tile);
}else if(req.layer == block.layer){
block.drawLayer(req.tile);
}else if(req.layer == block.layer2){
block.drawLayer2(req.tile);
}
}
}
public void skipLayer(Layer stopAt){
for(; iterateidx < requestidx; iterateidx++){
if(iterateidx < requests.size && requests.get(iterateidx).layer.ordinal() > stopAt.ordinal()){
break;
}
}
}
private void addRequest(Tile tile, Layer layer){
if(requestidx >= requests.size){
requests.add(new BlockRequest());

View File

@@ -6,6 +6,8 @@ import io.anuke.arc.graphics.g2d.*;
import io.anuke.arc.math.*;
import io.anuke.arc.util.*;
import static io.anuke.mindustry.Vars.renderer;
public class Drawf{
public static void dashCircle(float x, float y, float rad, Color color){
@@ -40,15 +42,6 @@ public class Drawf{
square(x, y, radius, Pal.accent);
}
/*
public static void square(float x, float y, float radius){
Lines.stroke(1f, Pal.gray);
Lines.square(x, y - 1f, radius + 1f, 45);
Lines.stroke(1f, Pal.accent);
Lines.square(x, y, radius + 1f, 45);
Draw.reset();
}*/
public static void arrow(float x, float y, float x2, float y2, float length, float radius){
float angle = Angles.angle(x, y, x2, y2);
float space = 2f;
@@ -81,6 +74,8 @@ public class Drawf{
Lines.line(line, x + Tmp.v1.x, y + Tmp.v1.y, x2 - Tmp.v1.x, y2 - Tmp.v1.y, CapStyle.none, 0f);
Lines.precise(false);
Lines.stroke(1f);
renderer.lights.line(x, y, x2, y2);
}
public static void tri(float x, float y, float width, float length, float rotation){

View File

@@ -10,5 +10,7 @@ public enum Layer{
/** "High" blocks, like turrets. */
turret,
/** Power lasers. */
power
power,
/** Extra layer that's always on top.*/
lights
}

View File

@@ -0,0 +1,199 @@
package io.anuke.mindustry.graphics;
import io.anuke.arc.*;
import io.anuke.arc.collection.*;
import io.anuke.arc.graphics.*;
import io.anuke.arc.graphics.g2d.*;
import io.anuke.arc.graphics.glutils.*;
import io.anuke.arc.math.*;
import io.anuke.arc.math.geom.*;
import io.anuke.arc.util.*;
import static io.anuke.mindustry.Vars.state;
/** Renders overlay lights. Client only. */
public class LightRenderer{
private static final int scaling = 4;
private float[] vertices = new float[24];
private FrameBuffer buffer = new FrameBuffer(2, 2);
private Array<Runnable> lights = new Array<>();
public void add(Runnable run){
if(!enabled()) return;
lights.add(run);
}
public void add(float x, float y, float radius, Color color, float opacity){
if(!enabled()) return;
float res = color.toFloatBits();
add(() -> {
Draw.color(res);
Draw.alpha(opacity);
Draw.rect("circle-shadow", x, y, radius * 2, radius * 2);
});
}
public void add(float x, float y, TextureRegion region, Color color, float opacity){
if(!enabled()) return;
float res = color.toFloatBits();
add(() -> {
Draw.color(res);
Draw.alpha(opacity);
Draw.rect(region, x, y);
});
}
public void line(float x, float y, float x2, float y2){
if(!enabled()) return;
add(() -> {
Draw.color(Color.orange, 0.3f);
float stroke = 30f;
float rot = Mathf.angleExact(x2 - x, y2 - y);
TextureRegion ledge = Core.atlas.find("circle-end"), lmid = Core.atlas.find("circle-mid");
float color = Draw.getColor().toFloatBits();
float u = lmid.getU();
float v = lmid.getV2();
float u2 = lmid.getU2();
float v2 = lmid.getV();
Vector2 v1 = Tmp.v1.trnsExact(rot + 90f, stroke);
float lx1 = x - v1.x, ly1 = y - v1.y,
lx2 = x + v1.x, ly2 = y + v1.y,
lx3 = x2 + v1.x, ly3 = y2 + v1.y,
lx4 = x2 - v1.x, ly4 = y2 - v1.y;
vertices[0] = lx1;
vertices[1] = ly1;
vertices[2] = color;
vertices[3] = u;
vertices[4] = v;
vertices[5] = 0;
vertices[6] = lx2;
vertices[7] = ly2;
vertices[8] = color;
vertices[9] = u;
vertices[10] = v2;
vertices[11] = 0;
vertices[12] = lx3;
vertices[13] = ly3;
vertices[14] = color;
vertices[15] = u2;
vertices[16] = v2;
vertices[17] = 0;
vertices[18] = lx4;
vertices[19] = ly4;
vertices[20] = color;
vertices[21] = u2;
vertices[22] = v;
vertices[23] = 0;
Draw.vert(ledge.getTexture(), vertices, 0, vertices.length);
Vector2 v3 = Tmp.v2.trnsExact(rot, stroke);
u = ledge.getU();
v = ledge.getV2();
u2 = ledge.getU2();
v2 = ledge.getV();
vertices[0] = lx4;
vertices[1] = ly4;
vertices[2] = color;
vertices[3] = u;
vertices[4] = v;
vertices[5] = 0;
vertices[6] = lx3;
vertices[7] = ly3;
vertices[8] = color;
vertices[9] = u;
vertices[10] = v2;
vertices[11] = 0;
vertices[12] = lx3 + v3.x;
vertices[13] = ly3 + v3.y;
vertices[14] = color;
vertices[15] = u2;
vertices[16] = v2;
vertices[17] = 0;
vertices[18] = lx4 + v3.x;
vertices[19] = ly4 + v3.y;
vertices[20] = color;
vertices[21] = u2;
vertices[22] = v;
vertices[23] = 0;
Draw.vert(ledge.getTexture(), vertices, 0, vertices.length);
vertices[0] = lx2;
vertices[1] = ly2;
vertices[2] = color;
vertices[3] = u;
vertices[4] = v;
vertices[5] = 0;
vertices[6] = lx1;
vertices[7] = ly1;
vertices[8] = color;
vertices[9] = u;
vertices[10] = v2;
vertices[11] = 0;
vertices[12] = lx1 - v3.x;
vertices[13] = ly1 - v3.y;
vertices[14] = color;
vertices[15] = u2;
vertices[16] = v2;
vertices[17] = 0;
vertices[18] = lx2 - v3.x;
vertices[19] = ly2 - v3.y;
vertices[20] = color;
vertices[21] = u2;
vertices[22] = v;
vertices[23] = 0;
Draw.vert(ledge.getTexture(), vertices, 0, vertices.length);
});
}
public boolean enabled(){
return state.rules.lighting;
}
public void draw(){
if(buffer.getWidth() != Core.graphics.getWidth()/scaling || buffer.getHeight() != Core.graphics.getHeight()/scaling){
buffer.resize(Core.graphics.getWidth()/scaling, Core.graphics.getHeight()/scaling);
}
Draw.color();
buffer.beginDraw(Color.clear);
Draw.blend(Blending.normal);
for(Runnable run : lights){
run.run();
}
Draw.reset();
Draw.blend();
buffer.endDraw();
Draw.color();
Shaders.light.ambient.set(state.rules.ambientLight);
Draw.shader(Shaders.light);
Draw.rect(Draw.wrap(buffer.getTexture()), Core.camera.position.x, Core.camera.position.y, Core.camera.width, -Core.camera.height);
Draw.shader();
lights.clear();
}
}

View File

@@ -0,0 +1,61 @@
package io.anuke.mindustry.graphics;
import io.anuke.arc.graphics.*;
import io.anuke.arc.graphics.Pixmap.*;
import io.anuke.arc.graphics.Texture.*;
import io.anuke.arc.graphics.g2d.*;
import io.anuke.arc.util.*;
public class MultiPacker implements Disposable{
private PixmapPacker[] packers = new PixmapPacker[PageType.all.length];
public MultiPacker(){
for(int i = 0; i < packers.length; i++){
int pageSize = 2048;
packers[i] = new PixmapPacker(pageSize, pageSize, Format.RGBA8888, 2, true);
}
}
public boolean has(PageType type, String name){
return packers[type.ordinal()].getRect(name) != null;
}
public void add(PageType type, String name, PixmapRegion region){
packers[type.ordinal()].pack(name, region);
}
public void add(PageType type, String name, Pixmap pix){
packers[type.ordinal()].pack(name, pix);
}
public TextureAtlas flush(TextureFilter filter, TextureAtlas atlas){
for(PixmapPacker p : packers){
p.updateTextureAtlas(atlas, filter, filter, false, false);
}
return atlas;
}
@Override
public void dispose(){
for(PixmapPacker packer : packers){
packer.dispose();
}
}
//There are several pages for sprites.
//main page (sprites.png) - all sprites for units, weapons, placeable blocks, effects, bullets, etc
//environment page (sprites2.png) - all sprites for things in the environmental cache layer
//editor page (sprites3.png) - all sprites needed for rendering in the editor, including block icons and a few minor sprites
//zone page (sprites4.png) - zone previews
//ui page (sprites5.png) - content icons, white icons and UI elements
public enum PageType{
main,
environment,
editor,
zone,
ui;
public static final PageType[] all = values();
}
}

View File

@@ -67,7 +67,7 @@ public class OverlayRenderer{
if(!rect.setSize(Core.camera.width * 0.9f, Core.camera.height * 0.9f)
.setCenter(Core.camera.position.x, Core.camera.position.y).contains(mechpad.x, mechpad.y)){
Tmp.v1.set(mechpad.worldx(), mechpad.worldy()).sub(Core.camera.position.x, Core.camera.position.y).setLength(indicatorLength);
Tmp.v1.set(mechpad.drawx(), mechpad.drawy()).sub(Core.camera.position.x, Core.camera.position.y).setLength(indicatorLength);
Lines.stroke(2f, ((MechPad) mechpad.block()).mech.engineColor);
Lines.lineAngle(Core.camera.position.x + Tmp.v1.x, Core.camera.position.y + Tmp.v1.y, Tmp.v1.angle(), 0.5f);
@@ -157,5 +157,4 @@ public class OverlayRenderer{
}
}
}
}

View File

@@ -16,6 +16,7 @@ public class Shaders{
public static UnitBuild build;
public static FogShader fog;
public static MenuShader menu;
public static LightShader light;
public static SurfaceShader water, tar;
public static void init(){
@@ -31,10 +32,25 @@ public class Shaders{
build = new UnitBuild();
fog = new FogShader();
menu = new MenuShader();
light = new LightShader();
water = new SurfaceShader("water");
tar = new SurfaceShader("tar");
}
public static class LightShader extends LoadShader{
public Color ambient = new Color(0.01f, 0.01f, 0.04f, 0.99f);
public LightShader(){
super("light", "default");
}
@Override
public void apply(){
setUniformf("u_ambient", ambient);
}
}
public static class MenuShader extends LoadShader{
float time = 0f;

View File

@@ -10,6 +10,7 @@ public enum Binding implements KeyBind{
move_x(new Axis(KeyCode.A, KeyCode.D), "general"),
move_y(new Axis(KeyCode.S, KeyCode.W)),
mouse_move(KeyCode.MOUSE_BACK),
dash(KeyCode.SHIFT_LEFT),
select(KeyCode.MOUSE_LEFT),
deselect(KeyCode.MOUSE_RIGHT),
break_block(KeyCode.MOUSE_RIGHT),
@@ -23,7 +24,22 @@ public enum Binding implements KeyBind{
schematic_flip_x(KeyCode.Z),
schematic_flip_y(KeyCode.X),
schematic_menu(KeyCode.T),
dash(KeyCode.SHIFT_LEFT),
category_prev(KeyCode.COMMA),
category_next(KeyCode.PERIOD),
block_select_left(KeyCode.LEFT),
block_select_right(KeyCode.RIGHT),
block_select_up(KeyCode.UP),
block_select_down(KeyCode.DOWN),
block_select_01(KeyCode.NUM_1),
block_select_02(KeyCode.NUM_2),
block_select_03(KeyCode.NUM_3),
block_select_04(KeyCode.NUM_4),
block_select_05(KeyCode.NUM_5),
block_select_06(KeyCode.NUM_6),
block_select_07(KeyCode.NUM_7),
block_select_08(KeyCode.NUM_8),
block_select_09(KeyCode.NUM_9),
block_select_10(KeyCode.NUM_0),
zoom_hold(KeyCode.CONTROL_LEFT, "view"),
zoom(new Axis(KeyCode.SCROLL)),
menu(Core.app.getType() == ApplicationType.Android ? KeyCode.BACK : KeyCode.ESCAPE),

View File

@@ -50,9 +50,9 @@ public class DesktopInput extends InputHandler{
b.defaults().left();
b.label(() -> Core.bundle.format(!player.isBuilding ? "resumebuilding" : "pausebuilding", Core.keybinds.get(Binding.pause_building).key.toString())).style(Styles.outlineLabel);
b.row();
b.add(Core.bundle.format("cancelbuilding", Core.keybinds.get(Binding.clear_building).key.toString())).style(Styles.outlineLabel);
b.label(() -> Core.bundle.format("cancelbuilding", Core.keybinds.get(Binding.clear_building).key.toString())).style(Styles.outlineLabel);
b.row();
b.add(Core.bundle.format("selectschematic", Core.keybinds.get(Binding.schematic_select).key.toString())).style(Styles.outlineLabel);
b.label(() -> Core.bundle.format("selectschematic", Core.keybinds.get(Binding.schematic_select).key.toString())).style(Styles.outlineLabel);
}).margin(10f);
});
@@ -61,7 +61,7 @@ public class DesktopInput extends InputHandler{
t.bottom();
t.table(Styles.black6, b -> {
b.defaults().left();
b.add(Core.bundle.format("schematic.flip",
b.label( () -> Core.bundle.format("schematic.flip",
Core.keybinds.get(Binding.schematic_flip_x).key.toString(),
Core.keybinds.get(Binding.schematic_flip_y).key.toString())).style(Styles.outlineLabel);
b.row();

View File

@@ -455,7 +455,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
}
protected void drawRequest(BuildRequest request){
drawRequest(request.x, request.y, request.block, request.rotation);
request.block.drawRequest(request, allRequests(), validPlace(request.x, request.y, request.block, request.rotation));
}
/** Draws a placement icon for a specific block. */

View File

@@ -4,7 +4,7 @@ import io.anuke.arc.util.serialization.*;
import io.anuke.arc.util.serialization.Json.*;
import io.anuke.mindustry.*;
import io.anuke.mindustry.content.*;
import io.anuke.mindustry.ctype.MappableContent;
import io.anuke.mindustry.ctype.*;
import io.anuke.mindustry.game.*;
import io.anuke.mindustry.type.*;
import io.anuke.mindustry.world.*;
@@ -29,8 +29,20 @@ public class JsonIO{
super.writeValue(value, knownType, elementType);
}
}
@Override
protected String convertToString(Object object){
if(object instanceof MappableContent){
return ((MappableContent)object).name;
}
return super.convertToString(object);
}
};
public static Json json(){
return json;
}
public static String write(Object object){
return json.toJson(object, object.getClass());
}

View File

@@ -8,10 +8,12 @@ import io.anuke.arc.collection.IntSet.*;
import io.anuke.arc.files.*;
import io.anuke.arc.func.*;
import io.anuke.arc.graphics.*;
import io.anuke.arc.util.ArcAnnotate.*;
import io.anuke.arc.util.*;
import io.anuke.arc.util.async.*;
import io.anuke.arc.util.io.*;
import io.anuke.arc.util.serialization.*;
import io.anuke.mindustry.*;
import io.anuke.mindustry.content.*;
import io.anuke.mindustry.ctype.*;
import io.anuke.mindustry.game.EventType.*;
@@ -34,9 +36,30 @@ public class Maps{
/** Serializer for meta. */
private Json json = new Json();
private ShuffleMode shuffleMode = ShuffleMode.all;
private @Nullable MapProvider shuffler;
private AsyncExecutor executor = new AsyncExecutor(2);
private ObjectSet<Map> previewList = new ObjectSet<>();
public ShuffleMode getShuffleMode(){
return shuffleMode;
}
public void setShuffleMode(ShuffleMode mode){
this.shuffleMode = mode;
}
/** Set the provider for the map(s) to be played on. Will override the default shuffle mode setting.*/
public void setMapProvider(MapProvider provider){
this.shuffler = provider;
}
/** @return the next map to shuffle to. May be null, in which case the server should be stopped. */
public @Nullable Map getNextMap(@Nullable Map previous){
return shuffler != null ? shuffler.next(previous) : shuffleMode.next(previous);
}
/** Returns a list of all maps, including custom ones. */
public Array<Map> all(){
return maps;
@@ -422,4 +445,37 @@ public class Maps{
return map;
}
public interface MapProvider{
@Nullable Map next(@Nullable Map previous);
}
public enum ShuffleMode implements MapProvider{
none(map -> null),
all(prev -> {
Array<Map> maps = Array.withArrays(Vars.maps.defaultMaps(), Vars.maps.customMaps());
maps.shuffle();
return maps.find(m -> m != prev || maps.size == 1);
}),
custom(prev -> {
Array<Map> maps = Array.withArrays(Vars.maps.customMaps().isEmpty() ? Vars.maps.defaultMaps() : Vars.maps.customMaps());
maps.shuffle();
return maps.find(m -> m != prev || maps.size == 1);
}),
builtin(prev -> {
Array<Map> maps = Array.withArrays(Vars.maps.defaultMaps());
maps.shuffle();
return maps.find(m -> m != prev || maps.size == 1);
});
private final MapProvider provider;
ShuffleMode(MapProvider provider){
this.provider = provider;
}
@Override
public Map next(@Nullable Map previous){
return provider.next(previous);
}
}
}

View File

@@ -1,6 +1,7 @@
package io.anuke.mindustry.mod;
import io.anuke.arc.*;
import io.anuke.arc.assets.*;
import io.anuke.arc.audio.*;
import io.anuke.arc.audio.mock.*;
import io.anuke.arc.collection.Array;
@@ -10,10 +11,9 @@ import io.anuke.arc.func.*;
import io.anuke.arc.graphics.*;
import io.anuke.arc.util.ArcAnnotate.*;
import io.anuke.arc.util.*;
import io.anuke.arc.util.reflect.Field;
import io.anuke.arc.util.reflect.*;
import io.anuke.arc.util.serialization.*;
import io.anuke.arc.util.serialization.Json.*;
import io.anuke.arc.util.serialization.Jval.*;
import io.anuke.mindustry.*;
import io.anuke.mindustry.content.*;
import io.anuke.mindustry.content.TechTree.*;
@@ -70,9 +70,9 @@ public class ContentParser{
String name = "sounds/" + data.asString();
String path = Vars.tree.get(name + ".ogg").exists() && !Vars.ios ? name + ".ogg" : name + ".mp3";
ModLoadingSound sound = new ModLoadingSound();
Core.assets.load(path, Sound.class).loaded = result -> {
sound.sound = (Sound)result;
};
AssetDescriptor<?> desc = Core.assets.load(path, Sound.class);
desc.loaded = result -> sound.sound = (Sound)result;
desc.errored = Throwable::printStackTrace;
return sound;
});
put(Objective.class, (type, data) -> {
@@ -105,7 +105,7 @@ public class ContentParser{
return t;
}
private <T> T internalRead(Class<T> type, Class elementType, JsonValue jsonData, Class keyType){
private <T> T internalRead(Class<T> type, Class elementType, JsonValue jsonData, Class keyType){
if(type != null){
if(classParsers.containsKey(type)){
try{
@@ -115,6 +115,29 @@ public class ContentParser{
}
}
//try to parse "item/amount" syntax
try{
if(type == ItemStack.class && jsonData.isString() && jsonData.asString().contains("/")){
String[] split = jsonData.asString().split("/");
return (T)fromJson(ItemStack.class, "{item: " + split[0] + ", amount: " + split[1] + "}");
}
}catch(Throwable ignored){
}
//try to parse "liquid/amount" syntax
try{
if(jsonData.isString() && jsonData.asString().contains("/")){
String[] split = jsonData.asString().split("/");
if(type == LiquidStack.class){
return (T)fromJson(LiquidStack.class, "{liquid: " + split[0] + ", amount: " + split[1] + "}");
}else if(type == ConsumeLiquid.class){
return (T)fromJson(ConsumeLiquid.class, "{liquid: " + split[0] + ", amount: " + split[1] + "}");
}
}
}catch(Throwable ignored){
}
if(Content.class.isAssignableFrom(type)){
ContentType ctype = contentTypes.getThrow(type, () -> new IllegalArgumentException("No content type for class: " + type.getSimpleName()));
String prefix = currentMod != null ? currentMod.name + "-" : "";
@@ -151,6 +174,7 @@ public class ContentParser{
"io.anuke.mindustry.world.blocks.defense",
"io.anuke.mindustry.world.blocks.defense.turrets",
"io.anuke.mindustry.world.blocks.distribution",
"io.anuke.mindustry.world.blocks.liquid",
"io.anuke.mindustry.world.blocks.logic",
"io.anuke.mindustry.world.blocks.power",
"io.anuke.mindustry.world.blocks.production",
@@ -182,7 +206,7 @@ public class ContentParser{
}else if(child.name.equals("liquid")){
block.consumes.add((Consume)parser.readValue(ConsumeLiquid.class, child));
}else if(child.name.equals("power")){
if(child.isDouble()){
if(child.isNumber()){
block.consumes.power(child.asFloat());
}else{
block.consumes.add((Consume)parser.readValue(ConsumePower.class, child));
@@ -205,6 +229,9 @@ public class ContentParser{
postreads.add(() -> {
TechNode parnode = TechTree.all.find(t -> t.block == parent);
if(parnode == null){
throw new ModLoadException("Block '" + parent.name + "' isn't in the tech tree, but '" + block.name + "' requires it to be researched.", block);
}
if(!parnode.children.contains(baseNode)){
parnode.children.add(baseNode);
}
@@ -342,10 +369,13 @@ public class ContentParser{
init();
}
//add comments starting with //, but ignore links
json = json.replace("http://", "http:~~").replace("https://", "https:~~").replaceAll("//.*?\n","\n").replace("http:~~", "http://").replace("https:~~", "https://");
//remove extra # characters to make it valid json... apparently some people have *unquoted* # characters in their json
if(file.extension().equals("json")){
json = json.replace("#", "\\#");
}
JsonValue value = parser.fromJson(null, Jval.read(json).toString(Jformat.plain));
JsonValue value = parser.fromJson(null, json);
if(!parsers.containsKey(type)){
throw new SerializationException("No parsers for content type '" + type + "'");
}
@@ -363,7 +393,7 @@ public class ContentParser{
private <T> T make(Class<T> type){
try{
java.lang.reflect.Constructor<T> cons = type.getDeclaredConstructor();
Constructor<T> cons = type.getDeclaredConstructor();
cons.setAccessible(true);
return cons.newInstance();
}catch(Exception e){
@@ -373,7 +403,7 @@ public class ContentParser{
private <T> T make(Class<T> type, String name){
try{
java.lang.reflect.Constructor<T> cons = type.getDeclaredConstructor(String.class);
Constructor<T> cons = type.getDeclaredConstructor(String.class);
cons.setAccessible(true);
return cons.newInstance(name);
}catch(Exception e){
@@ -383,7 +413,7 @@ public class ContentParser{
private <T> Prov<T> supply(Class<T> type){
try{
java.lang.reflect.Constructor<T> cons = type.getDeclaredConstructor();
Constructor<T> cons = type.getDeclaredConstructor();
return () -> {
try{
return cons.newInstance();
@@ -459,7 +489,7 @@ public class ContentParser{
Field field = metadata.field;
try{
field.set(object, parser.readValue(field.getType(), metadata.elementType, child, metadata.keyType));
}catch(ReflectionException ex){
}catch(IllegalAccessException ex){
throw new SerializationException("Error accessing field: " + field.getName() + " (" + type.getName() + ")", ex);
}catch(SerializationException ex){
ex.addTrace(field.getName() + " (" + type.getName() + ")");

View File

@@ -6,7 +6,6 @@ import io.anuke.arc.collection.*;
import io.anuke.arc.files.*;
import io.anuke.arc.func.*;
import io.anuke.arc.graphics.*;
import io.anuke.arc.graphics.Pixmap.*;
import io.anuke.arc.graphics.Texture.*;
import io.anuke.arc.graphics.g2d.*;
import io.anuke.arc.graphics.g2d.TextureAtlas.*;
@@ -14,10 +13,13 @@ import io.anuke.arc.util.ArcAnnotate.*;
import io.anuke.arc.util.*;
import io.anuke.arc.util.io.*;
import io.anuke.arc.util.serialization.*;
import io.anuke.arc.util.serialization.Jval.*;
import io.anuke.mindustry.core.*;
import io.anuke.mindustry.ctype.*;
import io.anuke.mindustry.game.EventType.*;
import io.anuke.mindustry.gen.*;
import io.anuke.mindustry.graphics.*;
import io.anuke.mindustry.graphics.MultiPacker.*;
import io.anuke.mindustry.plugin.*;
import io.anuke.mindustry.type.*;
@@ -33,7 +35,7 @@ public class Mods implements Loadable{
private ObjectSet<String> specialFolders = ObjectSet.with("bundles", "sprites");
private int totalSprites;
private PixmapPacker packer;
private MultiPacker packer;
private Array<LoadedMod> loaded = new Array<>();
private Array<LoadedMod> disabled = new Array<>();
@@ -50,7 +52,7 @@ public class Mods implements Loadable{
/** @return the loaded mod found by class, or null if not found. */
public @Nullable LoadedMod getMod(Class<? extends Mod> type){
return loaded.find(l -> l.mod.getClass() == type);
return loaded.find(l -> l.mod != null && l.mod.getClass() == type);
}
/** Imports an external mod file.*/
@@ -79,68 +81,71 @@ public class Mods implements Loadable{
if(loaded.isEmpty()) return;
Time.mark();
packer = new PixmapPacker(2048, 2048, Format.RGBA8888, 2, true);
packer = new MultiPacker();
for(LoadedMod mod : loaded){
int[] packed = {0};
boolean[] failed = {false};
mod.root.child("sprites").walk(file -> {
if(failed[0]) return;
if(file.extension().equals("png")){
try(InputStream stream = file.read()){
byte[] bytes = Streams.copyStreamToByteArray(stream, Math.max((int)file.length(), 512));
Pixmap pixmap = new Pixmap(bytes, 0, bytes.length);
packer.pack(mod.name + "-" + file.nameWithoutExtension(), pixmap);
pixmap.dispose();
packed[0] ++;
totalSprites ++;
}catch(IOException e){
failed[0] = true;
Core.app.post(() -> {
Log.err("Error packing images for mod: {0}", mod.meta.name);
e.printStackTrace();
if(!headless) ui.showException(e);
});
}
}
});
Log.info("Packed {0} images for mod '{1}'.", packed[0], mod.meta.name);
Array<FileHandle> sprites = mod.root.child("sprites").findAll(f -> f.extension().equals("png"));
Array<FileHandle> overrides = mod.root.child("sprites-override").findAll(f -> f.extension().equals("png"));
packSprites(sprites, mod, true);
packSprites(overrides, mod, false);
Log.info("Packed {0} images for mod '{1}'.", sprites.size + overrides.size, mod.meta.name);
totalSprites += sprites.size + overrides.size;
}
for(AtlasRegion region : Core.atlas.getRegions()){
PageType type = getPage(region);
if(!packer.has(type, region.name)){
packer.add(type, region.name, Core.atlas.getPixmap(region));
}
}
Log.info("Time to pack textures: {0}", Time.elapsed());
}
private void packSprites(Array<FileHandle> sprites, LoadedMod mod, boolean prefix){
for(FileHandle file : sprites){
try(InputStream stream = file.read()){
byte[] bytes = Streams.copyStreamToByteArray(stream, Math.max((int)file.length(), 512));
Pixmap pixmap = new Pixmap(bytes, 0, bytes.length);
packer.add(getPage(file), (prefix ? mod.name + "-" : "") + file.nameWithoutExtension(), new PixmapRegion(pixmap));
pixmap.dispose();
}catch(IOException e){
Core.app.post(() -> {
Log.err("Error packing images for mod: {0}", mod.meta.name);
e.printStackTrace();
if(!headless) ui.showException(e);
});
break;
}
}
totalSprites += sprites.size;
}
@Override
public void loadSync(){
if(packer == null) return;
Time.mark();
Texture editor = Core.atlas.find("clear-editor").getTexture();
PixmapPacker editorPacker = new PixmapPacker(2048, 2048, Format.RGBA8888, 2, true);
for(AtlasRegion region : Core.atlas.getRegions()){
if(region.getTexture() == editor){
editorPacker.pack(region.name, Core.atlas.getPixmap(region).crop());
}
}
//get textures packed
if(totalSprites > 0){
TextureFilter filter = Core.settings.getBool("linear") ? TextureFilter.Linear : TextureFilter.Nearest;
packer.updateTextureAtlas(Core.atlas, filter, filter, false);
//flush so generators can use these sprites
packer.flush(filter, Core.atlas);
//generate new icons
for(Array<Content> arr : content.getContentMap()){
arr.each(c -> {
if(c instanceof UnlockableContent && c.mod != null){
UnlockableContent u = (UnlockableContent)c;
u.createIcons(packer, editorPacker);
u.createIcons(packer);
}
});
}
editorPacker.updateTextureAtlas(Core.atlas, filter, filter, false);
packer.updateTextureAtlas(Core.atlas, filter, filter, false);
Core.atlas = packer.flush(filter, new TextureAtlas());
Core.atlas.setErrorRegion("error");
Log.info("Total pages: {0}", Core.atlas.getTextures().size);
}
packer.dispose();
@@ -148,6 +153,26 @@ public class Mods implements Loadable{
Log.info("Time to update textures: {0}", Time.elapsed());
}
private PageType getPage(AtlasRegion region){
return
region.getTexture() == Core.atlas.find("white").getTexture() ? PageType.main :
region.getTexture() == Core.atlas.find("stone1").getTexture() ? PageType.environment :
region.getTexture() == Core.atlas.find("clear-editor").getTexture() ? PageType.editor :
region.getTexture() == Core.atlas.find("zone-groundZero").getTexture() ? PageType.zone :
region.getTexture() == Core.atlas.find("whiteui").getTexture() ? PageType.ui :
PageType.main;
}
private PageType getPage(FileHandle file){
String parent = file.parent().name();
return
parent.equals("environment") ? PageType.environment :
parent.equals("editor") ? PageType.editor :
parent.equals("zones") ? PageType.zone :
parent.equals("ui") || file.parent().parent().name().equals("ui") ? PageType.ui :
PageType.main;
}
/** Removes a mod file and marks it for requiring a restart. */
public void removeMod(LoadedMod mod){
if(mod.root instanceof ZipFileHandle){
@@ -172,8 +197,7 @@ public class Mods implements Loadable{
/** Loads all mods from the folder, but does not call any methods on them.*/
public void load(){
for(FileHandle file : modDirectory.list()){
if(!file.extension().equals("jar") && !file.extension().equals("zip") && !(file.isDirectory() && file.child("mod.json").exists())) continue;
if(!file.extension().equals("jar") && !file.extension().equals("zip") && !(file.isDirectory() && (file.child("mod.json").exists() || file.child("mod.hjson").exists()))) continue;
Log.debug("[Mods] Loading mod {0}", file);
try{
@@ -206,6 +230,7 @@ public class Mods implements Loadable{
}
resolveDependencies();
//sort mods to make sure servers handle them properly.
loaded.sort(Structs.comparing(m -> m.name));
@@ -213,6 +238,10 @@ public class Mods implements Loadable{
}
private void resolveDependencies(){
Array<LoadedMod> incompatible = loaded.select(m -> !m.isSupported());
loaded.removeAll(incompatible);
disabled.addAll(incompatible);
for(LoadedMod mod : Array.<LoadedMod>withArrays(loaded, disabled)){
updateDependencies(mod);
}
@@ -354,7 +383,7 @@ public class Mods implements Loadable{
FileHandle folder = contentRoot.child(type.name().toLowerCase() + "s");
if(folder.exists()){
for(FileHandle file : folder.list()){
if(file.extension().equals("json")){
if(file.extension().equals("json") || file.extension().equals("hjson")){
runs.add(new LoadRun(type, file, mod));
}
}
@@ -482,13 +511,13 @@ public class Mods implements Loadable{
zip = zip.list()[0];
}
FileHandle metaf = zip.child("mod.json").exists() ? zip.child("mod.json") : zip.child("plugin.json");
FileHandle metaf = zip.child("mod.json").exists() ? zip.child("mod.json") : zip.child("mod.hjson").exists() ? zip.child("mod.hjson") : zip.child("plugin.json");
if(!metaf.exists()){
Log.warn("Mod {0} doesn't have a 'mod.json'/'plugin.json' file, skipping.", sourceFile);
Log.warn("Mod {0} doesn't have a 'mod.json'/'plugin.json'/'mod.js' file, skipping.", sourceFile);
throw new IllegalArgumentException("No mod.json found.");
}
ModMeta meta = json.fromJson(ModMeta.class, metaf.readString());
ModMeta meta = json.fromJson(ModMeta.class, Jval.read(metaf.readString()).toString(Jformat.plain));
String camelized = meta.name.replace(" ", "");
String mainClass = meta.main == null ? camelized.toLowerCase() + "." + camelized + "Mod" : meta.main;
String baseName = meta.name.toLowerCase().replace(" ", "-");
@@ -563,6 +592,18 @@ public class Mods implements Loadable{
return !missingDependencies.isEmpty();
}
/** @return whether this mod is supported by the game verison */
public boolean isSupported(){
if(Version.build <= 0 || meta.minGameVersion == null) return true;
if(meta.minGameVersion.contains(".")){
String[] split = meta.minGameVersion.split("\\.");
if(split.length == 2){
return Version.build >= Strings.parseInt(split[0], 0) && Version.revision >= Strings.parseInt(split[1], 0);
}
}
return Version.build >= Strings.parseInt(meta.minGameVersion, 0);
}
@Override
public String getSteamID(){
return Core.settings.getString(name + "-steamid", null);
@@ -632,7 +673,7 @@ public class Mods implements Loadable{
/** Plugin metadata information.*/
public static class ModMeta{
public String name, author, description, version, main;
public String name, author, description, version, main, minGameVersion;
public Array<String> dependencies = Array.with();
/** Hidden mods are only server-side or client-side, and do not support adding new content. */
public boolean hidden;
@@ -662,5 +703,13 @@ public class Mods implements Loadable{
this.mod = content.mod;
}
}
public ModLoadException(String message, @Nullable Content content){
super(message);
this.content = content;
if(content != null){
this.mod = content.mod;
}
}
}
}

View File

@@ -3,8 +3,11 @@ package io.anuke.mindustry.net;
import io.anuke.annotations.Annotations.*;
import io.anuke.arc.*;
import io.anuke.arc.collection.*;
import io.anuke.mindustry.Vars;
import static io.anuke.mindustry.Vars.headless;
import static io.anuke.mindustry.game.EventType.*;
public class Administration{
/** All player info. Maps UUIDs to info. This persists throughout restarts. */
@@ -76,7 +79,7 @@ public class Administration{
bannedIPs.add(ip);
save();
Events.fire(new PlayerIpBanEvent(ip));
return true;
}
@@ -88,7 +91,7 @@ public class Administration{
getCreateInfo(id).banned = true;
save();
Events.fire(new PlayerBanEvent(Vars.playerGroup.find(p -> id.equals(p.uuid))));
return true;
}
@@ -108,8 +111,10 @@ public class Administration{
bannedIPs.removeValue(ip, false);
if(found) save();
if(found){
save();
Events.fire(new PlayerIpUnbanEvent(ip));
}
return found;
}
@@ -126,7 +131,7 @@ public class Administration{
info.banned = false;
bannedIPs.removeAll(info.ips, false);
save();
Events.fire(new PlayerUnbanEvent(Vars.playerGroup.find(p -> id.equals(p.uuid))));
return true;
}

View File

@@ -80,7 +80,7 @@ public class Packets{
buffer.put(mobile ? (byte)1 : 0);
buffer.putInt(color);
buffer.put(Base64Coder.decode(uuid));
buffer.putInt(mods.size);
buffer.put((byte)mods.size);
for(int i = 0; i < mods.size; i++){
TypeIO.writeString(buffer, mods.get(i));
}
@@ -97,7 +97,7 @@ public class Packets{
byte[] idbytes = new byte[8];
buffer.get(idbytes);
uuid = new String(Base64Coder.encode(idbytes));
int totalMods = buffer.getInt();
int totalMods = buffer.get();
mods = new Array<>(totalMods);
for(int i = 0; i < totalMods; i++){
mods.add(TypeIO.readString(buffer));

View File

@@ -23,4 +23,12 @@ public enum Category{
effect;
public static final Category[] all = values();
public Category prev(){
return all[(this.ordinal() - 1 + all.length) % all.length];
}
public Category next(){
return all[(this.ordinal() + 1) % all.length];
}
}

View File

@@ -13,6 +13,8 @@ public class Liquid extends UnlockableContent{
/** Color used in bars. */
public @Nullable Color barColor;
/** Color used to draw lights. Note that the alpha channel is used to dictate brightness. */
public Color lightColor = Color.clear.cpy();
/** 0-1, 0 is completely inflammable, anything above that may catch fire when exposed to heat, 0.5+ is very flammable. */
public float flammability;
/** temperature: 0.5 is 'room' temperature, 0 is very cold, 1 is molten hot */

View File

@@ -63,7 +63,7 @@ public class Bar extends Element{
if(fraction == null) return;
float computed = Mathf.clamp(fraction.get());
if(!Mathf.isEqual(lastValue, computed)){
if(!Mathf.equal(lastValue, computed)){
blink = 1f;
lastValue = computed;
}

View File

@@ -85,6 +85,9 @@ public class ContentDisplay{
table.left().defaults().fillX();
table.add(Core.bundle.format("item.corestorable", item.type == ItemType.material ? Core.bundle.format("yes") : Core.bundle.format("no")));
table.row();
table.add(Core.bundle.format("item.explosiveness", (int)(item.explosiveness * 100)));
table.row();
table.add(Core.bundle.format("item.flammability", (int)(item.flammability * 100)));

View File

@@ -17,6 +17,7 @@ public class Links{
new LinkEntry("reddit", "https://www.reddit.com/r/Mindustry/", Color.valueOf("ee593b")),
new LinkEntry("itch.io", "https://anuke.itch.io/mindustry", Color.valueOf("fa5c5c")),
new LinkEntry("google-play", "https://play.google.com/store/apps/details?id=io.anuke.mindustry", Color.valueOf("689f38")),
new LinkEntry("f-droid", "https://f-droid.org/packages/io.anuke.mindustry/", Color.valueOf("026aa7")),
new LinkEntry("github", "https://github.com/Anuken/Mindustry/", Color.valueOf("24292e")),
new LinkEntry("dev-builds", "https://github.com/Anuken/MindustryBuilds", Color.valueOf("fafbfc"))
};

View File

@@ -16,7 +16,7 @@ import static io.anuke.mindustry.Vars.*;
public class AboutDialog extends FloatingDialog{
private Array<String> contributors = new Array<>();
private static ObjectSet<String> bannedItems = ObjectSet.with("google-play", "itch.io", "dev-builds");
private static ObjectSet<String> bannedItems = ObjectSet.with("google-play", "itch.io", "dev-builds", "f-droid");
public AboutDialog(){
super("$about.button");

View File

@@ -0,0 +1,63 @@
package io.anuke.mindustry.ui.dialogs;
import io.anuke.arc.func.*;
import io.anuke.arc.graphics.*;
import io.anuke.arc.scene.ui.*;
import io.anuke.mindustry.gen.*;
import io.anuke.mindustry.graphics.*;
public class ColorPicker extends FloatingDialog{
private Cons<Color> cons = c -> {};
private Color current = new Color();
public ColorPicker(){
super("$pickcolor");
}
public void show(Color color, Cons<Color> consumer){
show(color, true, consumer);
}
public void show(Color color, boolean alpha, Cons<Color> consumer){
this.current.set(color);
this.cons = consumer;
show();
cont.clear();
cont.pane(t -> {
t.table(Tex.pane, i -> {
i.stack(new Image(Tex.alphaBg), new Image(){{
setColor(current);
update(() -> setColor(current));
}}).size(200f);
}).colspan(2).padBottom(5);
float w = 150f;
t.row();
t.defaults().padBottom(4);
t.add("R").color(Pal.remove);
t.addSlider(0f, 1f, 0.01f, current.r, current::r).width(w);
t.row();
t.add("G").color(Color.lime);
t.addSlider(0f, 1f, 0.01f, current.g, current::g).width(w);
t.row();
t.add("B").color(Color.royal);
t.addSlider(0f, 1f, 0.01f, current.b, current::b).width(w);
t.row();
if(alpha){
t.add("A");
t.addSlider(0f, 1f, 0.01f, current.a, current::a).width(w);
t.row();
}
});
buttons.clear();
addCloseButton();
buttons.addImageTextButton("$ok", Icon.checkSmall, () -> {
cons.get(current);
hide();
});
}
}

View File

@@ -116,7 +116,7 @@ public class CustomRulesDialog extends FloatingDialog{
void setup(){
cont.clear();
cont.pane(m -> main = m);
cont.pane(m -> main = m).get().setScrollingDisabled(true, false);
main.margin(10f);
main.addButton("$settings.reset", () -> {
rules = resetter.get();
@@ -135,13 +135,11 @@ public class CustomRulesDialog extends FloatingDialog{
number("$rules.dropzoneradius", false, f -> rules.dropZoneRadius = f * tilesize, () -> rules.dropZoneRadius / tilesize, () -> true);
title("$rules.title.respawns");
//limited respawns don't work on PvP, commented out until they're fixed
//check("$rules.limitedRespawns", b -> rules.limitedRespawns = b, () -> rules.limitedRespawns);
//number("$rules.respawns", true, f -> rules.respawns = (int)f, () -> rules.respawns, () -> rules.limitedRespawns);
number("$rules.respawntime", f -> rules.respawnTime = f * 60f, () -> rules.respawnTime / 60f);
title("$rules.title.resourcesbuilding");
check("$rules.infiniteresources", b -> rules.infiniteResources = b, () -> rules.infiniteResources);
check("$rules.reactorexplosions", b -> rules.reactorExplosions = b, () -> rules.reactorExplosions);
number("$rules.buildcostmultiplier", false, f -> rules.buildCostMultiplier = f, () -> rules.buildCostMultiplier, () -> !rules.infiniteResources);
number("$rules.buildspeedmultiplier", f -> rules.buildSpeedMultiplier = f, () -> rules.buildSpeedMultiplier);
@@ -171,6 +169,20 @@ public class CustomRulesDialog extends FloatingDialog{
check("$rules.attack", b -> rules.attackMode = b, () -> rules.attackMode);
check("$rules.enemyCheat", b -> rules.enemyCheat = b, () -> rules.enemyCheat);
number("$rules.enemycorebuildradius", f -> rules.enemyCoreBuildRadius = f * tilesize, () -> Math.min(rules.enemyCoreBuildRadius / tilesize, 200));
title("$rules.title.experimental");
check("$rules.lighting", b -> rules.lighting = b, () -> rules.lighting);
main.addButton(b -> {
b.left();
b.table(Tex.pane, in -> {
in.stack(new Image(Tex.alphaBg), new Image(Tex.whiteui){{
update(() -> setColor(rules.ambientLight));
}}).grow();
}).margin(4).size(50f).padRight(10);
b.add("$rules.ambientlight");
}, () -> ui.picker.show(rules.ambientLight, rules.ambientLight::set)).left().width(250f);
main.row();
}
void number(String text, Floatc cons, Floatp prov){
@@ -200,7 +212,9 @@ public class CustomRulesDialog extends FloatingDialog{
}
void title(String text){
main.add(text).color(Pal.accent).padTop(20).padBottom(20).padRight(100f);
main.add(text).color(Pal.accent).padTop(20).padRight(100f).padBottom(-3);
main.row();
main.addImage().color(Pal.accent).height(3f).padRight(100f).padBottom(20);
main.row();
}
}

View File

@@ -31,7 +31,7 @@ public class HostDialog extends FloatingDialog{
}).grow().pad(8).get().setMaxLength(40);
ImageButton button = t.addImageButton(Tex.whiteui, Styles.clearFulli, 40, () -> {
new ColorPickDialog().show(color -> {
new PaletteDialog().show(color -> {
player.color.set(color);
Core.settings.put("color-0", Color.rgba8888(color));
Core.settings.save();
@@ -74,6 +74,9 @@ public class HostDialog extends FloatingDialog{
ui.showCustomConfirm("$setting.publichost.name", "$public.confirm", "$yes", "$no", () -> {
Core.settings.putSave("publichost", true);
platform.updateLobby();
}, () -> {
Core.settings.putSave("publichost", false);
platform.updateLobby();
});
}));
}

Some files were not shown because too many files have changed in this diff Show More