Merge branch 'master' into master
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
BIN
core/assets-raw/sprites/blocks/production/liquid-void.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
core/assets-raw/sprites/ui/icons/icon-feathub.png
Normal file
|
After Width: | Height: | Size: 189 B |
@@ -12,6 +12,7 @@ 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
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = Failed to open link!\nThe URL has been copied to your clipboard.
|
||||
screenshot = Screenshot saved to {0}
|
||||
screenshot.invalid = Map too large, potentially not enough memory for screenshot.
|
||||
@@ -28,6 +29,13 @@ load.system = System
|
||||
load.mod = Mods
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = Schematic
|
||||
schematic.add = Save Schematic...
|
||||
schematics = Schematics
|
||||
@@ -147,6 +155,7 @@ server.kicked.nameEmpty = Your chosen name is invalid.
|
||||
server.kicked.idInUse = You are already on this server! Connecting with two accounts is not permitted.
|
||||
server.kicked.customClient = This server does not support custom builds. Download an official version.
|
||||
server.kicked.gameover = Game over!
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||
host.info = The [accent]host[] button hosts a server on port [scarlet]6567[]. \nAnybody on the same [lightgray]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[lightgray]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings. Note that public networks sometimes do not allow server discovery.
|
||||
join.info = Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[lightgray]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
|
||||
@@ -634,6 +643,7 @@ setting.screenshake.name = Screen Shake
|
||||
setting.effects.name = Display Effects
|
||||
setting.destroyedblocks.name = Display Destroyed Blocks
|
||||
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = Controller Sensitivity
|
||||
setting.saveinterval.name = Save Interval
|
||||
setting.seconds = {0} seconds
|
||||
@@ -657,6 +667,7 @@ setting.savecreate.name = Auto-Create Saves
|
||||
setting.publichost.name = Public Game Visibility
|
||||
setting.chatopacity.name = Chat Opacity
|
||||
setting.lasersopacity.name = Power Laser Opacity
|
||||
setting.bridgeopacity.name = Bridge Opacity
|
||||
setting.playerchat.name = Display Player Bubble Chat
|
||||
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.
|
||||
@@ -745,6 +756,7 @@ rules.enemyCheat = Infinite AI (Red Team) Resources
|
||||
rules.unitdrops = Unit Drops
|
||||
rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier
|
||||
rules.unithealthmultiplier = Unit Health Multiplier
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = Player Health Multiplier
|
||||
rules.playerdamagemultiplier = Player Damage Multiplier
|
||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
||||
@@ -967,6 +979,7 @@ block.mechanical-pump.name = Mechanical Pump
|
||||
block.item-source.name = Item Source
|
||||
block.item-void.name = Item Void
|
||||
block.liquid-source.name = Liquid Source
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = Power Void
|
||||
block.power-source.name = Power Infinite
|
||||
block.unloader.name = Unloader
|
||||
@@ -1072,7 +1085,7 @@ tutorial.launch = Once you reach a specific wave, you are able to[accent] launch
|
||||
item.copper.description = The most basic structural material. Used extensively in all types of blocks.
|
||||
item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks.
|
||||
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
||||
item.graphite.description = Mineralized carbon, used for ammunition and electrical insulation.
|
||||
item.graphite.description = Mineralized carbon, used for ammunition and electrical components.
|
||||
item.sand.description = A common material that is used extensively in smelting, both in alloying and as a flux.
|
||||
item.coal.description = Fossilized plant matter, formed long before the seeding event. Used extensively for fuel and resource production.
|
||||
item.titanium.description = A rare super-light metal used extensively in liquid transportation, drills and aircraft.
|
||||
@@ -1130,6 +1143,7 @@ block.power-source.description = Infinitely outputs power. Sandbox only.
|
||||
block.item-source.description = Infinitely outputs items. Sandbox only.
|
||||
block.item-void.description = Destroys any items. Sandbox only.
|
||||
block.liquid-source.description = Infinitely outputs liquids. Sandbox only.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.
|
||||
block.copper-wall-large.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.\nSpans multiple tiles.
|
||||
block.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
credits.text = Entwickelt von [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY]
|
||||
credits = Danksagungen
|
||||
contributors = Übersetzer und Mitwirkende
|
||||
discord = Trete dem Mindustry Discord bei!
|
||||
link.discord.description = Der offizielle Mindustry Discord-Chatroom
|
||||
discord = Tritt dem Mindustry Discord bei!
|
||||
link.discord.description = Der offizielle Mindustry Discord-Server
|
||||
link.reddit.description = Der Mindustry Subreddit
|
||||
link.github.description = Quellcode des Spiels
|
||||
link.changelog.description = Liste der Änderungen
|
||||
@@ -10,36 +10,49 @@ link.dev-builds.description = Entwicklungs-Builds (instabil)
|
||||
link.trello.description = Offizielles Trello Board für geplante Features
|
||||
link.itch.io.description = itch.io-Seite mit Downloads und der Web-Version des Spiels
|
||||
link.google-play.description = Google Play Store Seite
|
||||
link.f-droid.description = F-Droid catalogue listing
|
||||
link.wiki.description = Offizelles Mindustry Wiki
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = Fehler beim Öffnen des Links!\nDie URL wurde in die Zwischenablage kopiert.
|
||||
screenshot = Screenshot gespeichert nach {0}
|
||||
screenshot.invalid = Karte zu groß! Eventuell nicht ausreichend Arbeitsspeicher für Screenshot.
|
||||
gameover = Der Kern wurde zerstört.
|
||||
gameover.pvp = Das[accent] {0}[] Team ist siegreich!
|
||||
highscore = [YELLOW] Neuer Highscore!
|
||||
copied = Copied.
|
||||
copied = Kopiert.
|
||||
|
||||
load.sound = Sounds
|
||||
load.map = Maps
|
||||
load.image = Images
|
||||
load.content = Content
|
||||
load.map = Karten
|
||||
load.image = Bilder
|
||||
load.content = Inhalt
|
||||
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.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.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = Entwürfe
|
||||
schematic.add = Entwurf speichern...
|
||||
schematics = Entwürfe
|
||||
schematic.replace = Ein anderer Entwurf hat bereits diesen Namen. Diesen Ersetzen?
|
||||
schematic.import = Entwurf importieren...
|
||||
schematic.exportfile = Entwurf exportieren
|
||||
schematic.importfile = Detei importieren
|
||||
schematic.browseworkshop = Workshop erkunden
|
||||
schematic.copy = In Zwischenablage speichern
|
||||
schematic.copy.import = Aus Zwischenablage ziehen
|
||||
schematic.shareworkshop = Im Workshop teilen
|
||||
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Entwurf umkehren
|
||||
schematic.saved = Entwurf gespeichert.
|
||||
schematic.delete.confirm = Dieser Entwurf wird absolut ausgelöscht.
|
||||
schematic.rename = Entwurf umbenennen
|
||||
schematic.info = {0}x{1}, {2} Blöcke
|
||||
|
||||
stat.wave = Wellen besiegt:[accent] {0}
|
||||
stat.enemiesDestroyed = Gegner zerstört:[accent] {0}
|
||||
stat.built = Gebäude gebaut:[accent] {0}
|
||||
@@ -47,15 +60,16 @@ stat.destroyed = Gebäude zerstört:[accent] {0}
|
||||
stat.deconstructed = Gebäude abgebaut:[accent] {0}
|
||||
stat.delivered = Übertragene Ressourcen:
|
||||
stat.rank = Finaler Rang: [accent]{0}
|
||||
launcheditems = [accent]Übertragene Items
|
||||
launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue.
|
||||
|
||||
launcheditems = [accent]Abgefeuerte Items
|
||||
launchinfo = [unlaunched][[LAUNCH] deine Basis um blau markierte Items zu erhalten.
|
||||
map.delete = Bist du sicher, dass du die Karte "[accent]{0}[]" löschen möchtest?
|
||||
level.highscore = Highscore: [accent]{0}
|
||||
level.select = Level-Auswahl
|
||||
level.mode = Spielmodus:
|
||||
showagain = Nächstes Mal nicht mehr anzeigen
|
||||
coreattack = < Die Basis wird angegriffen! >
|
||||
nearpoint = [[ [scarlet]SOFORT DEN DROPPOINT VERLASSEN[] ]\nVernichtung droht
|
||||
nearpoint = [[ [scarlet]SOFORT DEN SPAWNPUNKT VERLASSEN[] ]\nVernichtung droht
|
||||
database = Kern-Datenbank
|
||||
savegame = Spiel speichern
|
||||
loadgame = Spiel laden
|
||||
@@ -70,40 +84,49 @@ website = Website
|
||||
quit = Verlassen
|
||||
save.quit = Speichern & Beenden
|
||||
maps = Karten
|
||||
maps.browse = Browse Maps
|
||||
maps.browse = Karten durschsuchen
|
||||
continue = Weiter
|
||||
maps.none = [LIGHT_GRAY]Keine Karten gefunden!
|
||||
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.
|
||||
invalid = ungültig
|
||||
pickcolor = Pick Color
|
||||
preparingconfig = Konfiguration vorbereiten
|
||||
preparingcontent = Inhalte vorbereiten
|
||||
uploadingcontent = Inhalte hochladen
|
||||
uploadingpreviewfile = Vorschau hochladen
|
||||
committingchanges = Veränderungen bestätigen
|
||||
done = Fertig
|
||||
feature.unsupported = Dein System unsterstützt dieses Feature nicht.
|
||||
|
||||
mods.alphainfo = Vergiss nicht, dass Mods in der Alpha sind, und sehr Fehlerhaft sein [scarlet]könnten[].\nSende alle Probleme an den Mindustry Github oder 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]Keine Mods gefunden!
|
||||
mods.guide = Modding Anleitung
|
||||
mods.report = Problem senden
|
||||
mods.openfolder = Mod Verzeichnis öffnen
|
||||
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.enabled = [lightgray]Aktiviert
|
||||
mod.disabled = [scarlet]Deaktiviert
|
||||
mod.disable = Deaktivieren
|
||||
mod.delete.error = Unfähig Mod zu löschen; Datei könnte in Benutzung sein.
|
||||
mod.requiresversion = [scarlet]Requires min game version: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Fehldene Abhängigkeiten: {0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Errors have occurred loading content.
|
||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||
mod.nowdisabled = [scarlet]Mod '{0}' fehlt Abhängigkeiten:[accent] {1}\n[lightgray]Diese Mods müssen erst installiert werden.\nDieser Mod wird automatisch deaktiviert.
|
||||
mod.enable = Aktivieren
|
||||
mod.requiresrestart = Das Spiel schließt nun, um Modänderungen wirksam zu machen.
|
||||
mod.reloadrequired = [scarlet]Neuladen benötigt
|
||||
mod.import = Mod importieren
|
||||
mod.import.github = GitHub Mod importieren
|
||||
mod.remove.confirm = This mod will be deleted.
|
||||
mod.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that mod.
|
||||
mod.remove.confirm = Dieser Mod wird gelöscht.
|
||||
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 = Dieser Spielstand enthält Mods, welche nicht mehr vorhanden oder aktualisiert wurden. Spielstandfehler könnten passieren. Bist du dir sicher, das du ihn laden möchtest?\n[lightgray]Mods:\n{0}
|
||||
mod.preview.missing = Bevor du diesen Mod hochladen kannst, musst du eine Bildvorschau einbinden.\nLade ein Bild namens[accent] preview.png[] in den Modordner und versuchs nochmal.
|
||||
mod.folder.missing = Nur Mods in Ordnerform können in den Workshop hochgeladen werden.\nUm einen Mod in einen Ordner zu konvertieren, extrahiere einfach die .zip und lösche die alte .zip danach. Starte dann das Spiel neu.
|
||||
mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly.
|
||||
|
||||
about.button = Info
|
||||
name = Name:
|
||||
noname = Wähle zuerst einen[accent] Spielernamen[].
|
||||
@@ -118,28 +141,29 @@ players = {0} Spieler online
|
||||
players.single = {0} Spieler online
|
||||
server.closing = [accent]Schließe den Server ...
|
||||
server.kicked.kick = Du wurdest vom Server gekickt!
|
||||
server.kicked.whitelist = You are not whitelisted here.
|
||||
server.kicked.whitelist = Du bist nicht auf der Whitelist.
|
||||
server.kicked.serverClose = Server geschlossen.
|
||||
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||
server.kicked.vote = Es wurde abgestimmt, dich zu kicken. Tschüss.
|
||||
server.kicked.clientOutdated = Veralteter Client! Aktualisiere dein Spiel!
|
||||
server.kicked.serverOutdated = Veralteter Server! Bitte den Host um ein Update!
|
||||
server.kicked.banned = Du wurdest vom Server verbannt.
|
||||
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||
server.kicked.playerLimit = This server is full. Wait for an empty slot.
|
||||
server.kicked.typeMismatch = Der Server ist nicht mit deinem Versionstyp kompatibel.
|
||||
server.kicked.playerLimit = Der Server ist voll.\nWarte für einen freien Platz.
|
||||
server.kicked.recentKick = Du wurdest gerade gekickt.\nWarte bevor du dich wieder verbindest.
|
||||
server.kicked.nameInUse = Es ist bereits ein Spieler \nmit diesem Namen auf dem Server.
|
||||
server.kicked.nameEmpty = Dein Name muss mindestens einen Buchstaben oder eine Zahl enthalten.
|
||||
server.kicked.idInUse = Du bist bereits auf dem Server! Anmeldungen mit zwei Accounts sind nicht gestattet.
|
||||
server.kicked.customClient = Der Server akzeptiert keine Custom Builds von Mindustry. Lade dir die offizielle Version herunter.
|
||||
server.kicked.gameover = Game Over!
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = Deine Version:[accent] {0}[]\nServerversion:[accent] {1}[]
|
||||
host.info = Der [accent]Server hosten[]-Knopf startet einen Server auf den Ports [scarlet]6567[] und [scarlet]6568.[]\nJeder im gleichen [LIGHT_GRAY]W-Lan oder lokalen Netzwerk[] sollte deinen Server in seiner Server Liste sehen können.\n\nWenn du anderen die Verbindung über IP ermöglichen willst, benötigst du [accent]Port-Forwarding[].\n\n[LIGHT_GRAY]Hinweis: Falls es Probleme mit der Verbindung im Netzwerk gibt, stelle sicher, dass Mindustry in deinen Firewall Einstellungen Zugriff auf das lokale Netzwerk hat.
|
||||
join.info = Hier kannst du eine [accent]Server-IP[] eingeben um dich zu verbinden oder Server im [accent]lokalen Netzwerk[] entdecken und dich mit ihnen verbinden.\nSowohl Spielen über das lokale Netzwerk als auch Spielen über das Internet werden unterstützt.\n\n[LIGHT_GRAY]Hinweis: Es gibt keine globale Server Liste; Wenn du dich mit jemandem per IP verbinden willst, musst du den Host nach seiner IP fragen.
|
||||
hostserver = Server hosten
|
||||
invitefriends = Invite Friends
|
||||
invitefriends = Freunde einladen
|
||||
hostserver.mobile = Host\nSpiel
|
||||
host = Server hosten
|
||||
hosting = [accent] Server wird geöffnet ...
|
||||
host = Server eröffnen
|
||||
hosting = [accent] Server wird eröffnet ...
|
||||
hosts.refresh = Aktualisieren
|
||||
hosts.discovering = Suche nach LAN-Spielen
|
||||
hosts.discovering.any = Suche nach Spielen
|
||||
@@ -152,7 +176,7 @@ trace.ip = IP: [accent]{0}
|
||||
trace.id = Eindeutige ID: [accent]{0}
|
||||
trace.mobile = Mobiler Client: [accent]{0}
|
||||
trace.modclient = Gemoddeter Client: [accent]{0}
|
||||
invalidid = Ungültige Client-ID! Berichte den Bug.
|
||||
invalidid = Ungültige Client-ID! Berichte den Fehler.
|
||||
server.bans = Bans
|
||||
server.bans.none = Keine gebannten Spieler gefunden!
|
||||
server.admins = Admins
|
||||
@@ -166,18 +190,18 @@ server.version = [lightgray]Version: {0}
|
||||
server.custombuild = [yellow]Benutzerdefinierter Build
|
||||
confirmban = Bist du sicher, dass du diesen Spieler verbannen möchtest?
|
||||
confirmkick = Bist du sicher, dass du diesen Spieler kicken willst?
|
||||
confirmvotekick = Are you sure you want to vote-kick this player?
|
||||
confirmvotekick = Willst du wirklich eine Abstimmung zum kicken des spielers machen?
|
||||
confirmunban = Bist du sicher, dass du die Verbannung des Spielers rückgängig machen willst?
|
||||
confirmadmin = Bist du sicher, dass du diesen Spieler zu einem Admin machen möchtest?
|
||||
confirmunadmin = Bis du sicher, dass dieser Spieler kein Admin mehr sein soll?
|
||||
joingame.title = Spiel beitreten
|
||||
joingame.ip = IP:
|
||||
disconnect = Verbindung unterbrochen.
|
||||
disconnect.error = Connection error.
|
||||
disconnect.closed = Connection closed.
|
||||
disconnect.timeout = Timed out.
|
||||
disconnect.error = Verbindungsfehler.
|
||||
disconnect.closed = Verbindung geschlossen.
|
||||
disconnect.timeout = Zu langer Verbindungsversuch.
|
||||
disconnect.data = Fehler beim Laden der Welt!
|
||||
cantconnect = Unable to join game ([accent]{0}[]).
|
||||
cantconnect = Unfähig, dem Spiel beizutreten ([accent]{0}[]).
|
||||
connecting = [accent] Verbinde...
|
||||
connecting.data = [accent] Welt wird geladen...
|
||||
server.port = Port:
|
||||
@@ -216,8 +240,8 @@ save.playtime = Spielzeit: {0}
|
||||
warning = Warnung.
|
||||
confirm = Bestätigen
|
||||
delete = Löschen
|
||||
view.workshop = View In Workshop
|
||||
workshop.listing = Edit Workshop Listing
|
||||
view.workshop = Im Workshop betrachten
|
||||
workshop.listing = Workshop Auflistung bearbeiten
|
||||
ok = OK
|
||||
open = Öffnen
|
||||
customize = Anpassen
|
||||
@@ -227,20 +251,20 @@ copylink = Kopiere Link
|
||||
back = Zurück
|
||||
data.export = Daten exportieren
|
||||
data.import = Daten importieren
|
||||
data.exported = Data exported.
|
||||
data.invalid = This isn't valid game data.
|
||||
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||
classic.export = Export Classic Data
|
||||
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||
data.exported = Daten exportiert.
|
||||
data.invalid = Das sind ungültige Spieldateien.
|
||||
data.import.confirm = Externe Spielstände zu importieren löscht[scarlet] all[] deine jetzigen Spielstände.\n[accent]Dies kann nicht rückgängig gemacht werden![]\n\nSobald die Daten importiert sind, schließt das Spiel.
|
||||
classic.export = Klassische Dateien exportieren
|
||||
classic.export.text = [accent]Mindustry[] Mindustry hatte gerade ein rießiges Update.\nKlassische (v3.5 build 40) Spielstand oder Karten-Daten wurden gefunden. Willst du sie in den home-Ordner deines Smartphones exportieren, um sie für die Mindustry-Klassik App zu verwenden?
|
||||
quit.confirm = Willst du wirklich aufhören?
|
||||
quit.confirm.tutorial = Willst du das Tutorial wirklich abbrechen?\nDu kannst es unter[accent] Einstellungen->Spiel->Tutorial wiederholen[] erneut spielen.
|
||||
loading = [accent]Wird geladen...
|
||||
reloading = [accent]Reloading Mods...
|
||||
reloading = [accent]Mods neuladen...
|
||||
saving = [accent]Speichere...
|
||||
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}][] um Plan zu löschen
|
||||
selectschematic = [accent][[{0}][] zum Auswählen+Kopieren
|
||||
pausebuilding = [accent][[{0}][] zum Pausieren des Bauens
|
||||
resumebuilding = [scarlet][[{0}][] um das Bauen fortzusetzen
|
||||
wave = [accent]Welle {0}
|
||||
wave.waiting = Welle in {0}
|
||||
wave.waveInProgress = [LIGHT_GRAY]Welle im Gange
|
||||
@@ -259,18 +283,19 @@ map.nospawn = Diese Karte hat keine Kerne in denen die Spieler beginnen können!
|
||||
map.nospawn.pvp = Diese Karte hat keine gegnerischen Kerne wo Gegner starten könnten! Füge über den Editor [SCARLET] rote[] Kerne zu dieser Karte hinzu.
|
||||
map.nospawn.attack = Diese Karte hat keine gengnerischen Kerne, die Spieler angreifen können! Füge über den Editor [SCARLET] rote[] Kerne zu dieser Karte hinzu.
|
||||
map.invalid = Fehler beim Laden der Karte: Beschädigtes oder ungültige Karten Datei.
|
||||
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.update = Item aktualisieren
|
||||
workshop.error = Fehler beim laden von Workshop-Daten: {0}
|
||||
map.publish.confirm = Willst du wirklich diese Map hochladen?\n\n[lightgray]Vergewissere dich die, der Workshop-EULA zugestimmt zu haben, sonst tauch deine Map nicht auf!
|
||||
workshop.menu = Wähle aus, was du mit diesem Item machen willst.
|
||||
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}
|
||||
missing = Dieses Item wurde verschoben oder gelöscht.\n[lightgray]Die Workshop-Auflistung wird nun automatisch ungekoppelt.
|
||||
publishing = [accent]Veröffentlichen...
|
||||
publish.confirm = Bist du sicher, dies zu veröffentlichen?\n\n[lightgray]Vergewissere dich die, der Workshop-EULA zugestimmt zu haben, sonst tauch deine Karte nicht auf!
|
||||
publish.error = Fehler beim veröffentlichen des Items: {0}
|
||||
steam.error = Fehler beim laden der Steam-Dienste.\nError: {0}
|
||||
|
||||
editor.brush = Pinsel
|
||||
editor.openin = Öffne im Editor
|
||||
editor.oregen = Erze generieren
|
||||
@@ -278,12 +303,12 @@ editor.oregen.info = Erze generiert:
|
||||
editor.mapinfo = Karten Info
|
||||
editor.author = Autor:
|
||||
editor.description = Beschreibung:
|
||||
editor.nodescription = A map must have a description of at least 4 characters before being published.
|
||||
editor.nodescription = Eine Karte benötigt mindestens 4 Buchstaben in der Beschreibung, bevor sie veröffentlich werden kann.
|
||||
editor.waves = Wellen:
|
||||
editor.rules = Regeln:
|
||||
editor.generation = Generator:
|
||||
editor.ingame = Im Spiel Bearbeiten
|
||||
editor.publish.workshop = Publish On Workshop
|
||||
editor.publish.workshop = Im Workshop veröffentlichen
|
||||
editor.newmap = Neue Karte
|
||||
workshop = Workshop
|
||||
waves.title = Wellen
|
||||
@@ -312,7 +337,7 @@ editor.errorload = Fehler beim Laden der Datei:\n[accent]{0}
|
||||
editor.errorsave = Fehler beim Speichern der Datei:\n[accent]{0}
|
||||
editor.errorimage = Das ist ein Bild, keine Karte. Wechsel nicht den Dateityp und erwarte, dass es funktioniert.\n\nWenn du eine alte Karte importieren möchtest, benutze den 'Importiere Terrain Bild' Knopf in dem Editor.
|
||||
editor.errorlegacy = Diese Karte ist zu alt und benutzt ein veraltetes Karten Format, das nicht mehr unterstützt wird.
|
||||
editor.errornot = This is not a map file.
|
||||
editor.errornot = Dies ist keine Kartendatei
|
||||
editor.errorheader = Diese Karte ist entweder nicht gültig oder beschädigt.
|
||||
editor.errorname = Karte hat keinen Namen.
|
||||
editor.update = Aktualisieren
|
||||
@@ -347,6 +372,7 @@ editor.overwrite = [accent] Warnung! Dies überschreibt eine vorhandene Karte.
|
||||
editor.overwrite.confirm = [scarlet]Warnung![] Eine Karte mit diesem Namen existiert bereits. Bist du sicher, dass du sie überschreiben willst?
|
||||
editor.exists = A map with this name already exists.
|
||||
editor.selectmap = Wähle eine Karte zum Laden:
|
||||
|
||||
toolmode.replace = Ersetzen
|
||||
toolmode.replace.description = Zeichnet nur auf festen Blöcken.
|
||||
toolmode.replaceall = Alles Ersetzen
|
||||
@@ -361,6 +387,7 @@ toolmode.fillteams = Teams Ausfüllen
|
||||
toolmode.fillteams.description = Füllt Teams aus anstatt Blöcke.
|
||||
toolmode.drawteams = Teams Zeichnen
|
||||
toolmode.drawteams.description = Zeichnet Teams anstatt Blöcke.
|
||||
|
||||
filters.empty = [LIGHT_GRAY]Keine Filter! Füge einen mit dem unteren Knopf hinzu.
|
||||
filter.distort = Verzerren
|
||||
filter.noise = Rauschen
|
||||
@@ -392,6 +419,7 @@ filter.option.floor2 = Sekundärer Boden
|
||||
filter.option.threshold2 = Sekundärer Grenzwert
|
||||
filter.option.radius = Radius
|
||||
filter.option.percentile = Perzentil
|
||||
|
||||
width = Breite:
|
||||
height = Höhe:
|
||||
menu = Menü
|
||||
@@ -407,36 +435,38 @@ tutorial = Tutorial
|
||||
tutorial.retake = Tutorial wiederholen
|
||||
editor = Editor
|
||||
mapeditor = Karten Editor
|
||||
|
||||
abandon = Aufgeben
|
||||
abandon.text = Diese Zone sowie alle Ressourcen werden dem Gegner überlassen.
|
||||
locked = Gesperrt
|
||||
complete = [LIGHT_GRAY]Abschließen:
|
||||
requirement.wave = Reach Wave {0} in {1}
|
||||
requirement.core = Destroy Enemy Core in {0}
|
||||
requirement.unlock = Unlock {0}
|
||||
requirement.wave = Erreiche {0} in {1}
|
||||
requirement.core = Zerstöre Gegnerbasis in {0}
|
||||
requirement.unlock = Schalte {0} freo
|
||||
resume = Zu Zone zurückkehren:\n[LIGHT_GRAY]{0}
|
||||
bestwave = [LIGHT_GRAY]Beste Welle: {0}
|
||||
launch = Abschluss
|
||||
launch.title = Abschluss erfolgreich
|
||||
launch.next = [LIGHT_GRAY]Nächste Möglichkeit bei Welle {0}
|
||||
launch.unable2 = [scarlet]Unable to LAUNCH.[]
|
||||
launch.unable2 = [scarlet]Unfähig abzuschließen.[]
|
||||
launch.confirm = Dies wird alle Ressourcen in deinen Kern übertragen.\nDu kannst nicht wieder zu dieser Karte zurückkehren.
|
||||
launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
|
||||
launch.skip.confirm = Wenn du jetzt überspringst, kannst du nicht vor späteren Wellen abschließen.
|
||||
uncover = Freischalten
|
||||
configure = Startitems festlegen
|
||||
bannedblocks = Gesperrte Blöcke
|
||||
addall = Alle hinzufügen
|
||||
configure.locked = [LIGHT_GRAY]Erreiche Welle {0}\n, um Startitems festlegen zu können.
|
||||
configure.invalid = Amount must be a number between 0 and {0}.
|
||||
configure.invalid = Anzahl muss zwischen 0 und {0} sein.
|
||||
zone.unlocked = [LIGHT_GRAY]{0} freigeschaltet.
|
||||
zone.requirement.complete = Welle {0} erreicht:\n{1} Anforderungen der Zone erfüllt.
|
||||
zone.config.unlocked = Loadout unlocked:[lightgray]\n{0}
|
||||
zone.config.unlocked = Konfiguration:[lightgray]\n{0}
|
||||
zone.resources = Ressourcen entdeckt:
|
||||
zone.objective = [lightgray]Ziel: [accent]{0}
|
||||
zone.objective.survival = Überlebe
|
||||
zone.objective.attack = Zerstöre den feindlichen Kern
|
||||
add = Hinzufügen...
|
||||
boss.health = Boss Lebenskraft
|
||||
|
||||
connectfail = [crimson] Verbindung zum Server konnte nicht hergestellt werden: [accent]{0}
|
||||
error.unreachable = Server nicht erreichbar.
|
||||
error.invalidaddress = Ungültige Adresse.
|
||||
@@ -447,6 +477,7 @@ error.mapnotfound = Kartendatei nicht gefunden!
|
||||
error.io = Netzwerk-Ein-/Ausgabe-Fehler.
|
||||
error.any = Unbekannter Netzwerkfehler.
|
||||
error.bloom = Bloom konnte nicht initialisiert werden.\nEs kann sein, dass dein Gerät es nicht unterstützt.
|
||||
|
||||
zone.groundZero.name = Ground Zero
|
||||
zone.desertWastes.name = Schrottwüste
|
||||
zone.craters.name = Krater
|
||||
@@ -456,11 +487,12 @@ zone.stainedMountains.name = Gefleckte Berge
|
||||
zone.desolateRift.name = Trostloser Riss
|
||||
zone.nuclearComplex.name = Kernkraftwerk
|
||||
zone.overgrowth.name = Überwucherung
|
||||
zone.tarFields.name = Teerfelder
|
||||
zone.saltFlats.name = Salzebenen
|
||||
zone.tarFields.name = Ölfelder
|
||||
zone.saltFlats.name = Salztiefen
|
||||
zone.impact0078.name = Auswirkung 0078
|
||||
zone.crags.name = Felsen
|
||||
zone.fungalPass.name = Fungal Pass
|
||||
zone.fungalPass.name = Sporenpass
|
||||
|
||||
zone.groundZero.description = Der optimale Ort, um anzufangen. Niedrige Bedrohung durch Gegner. Wenige Ressourcen.\nSammel so viel Kupfer und Blei wie möglich.\nMach weiter!
|
||||
zone.frozenForest.description = Sogar hier, näher an den Bergen, haben sich die Sporen verbreitet. Die kalten Temperaturen können sie nicht für immer im Schach halten.\n\nStarte das Wagnis in Strom. Baue Verbrennungsgeneratoren. Lerne Heiler zu benutzen.
|
||||
zone.desertWastes.description = Diese Abfälle sind riesig, unberechenbar, und durchzogen von verfallenen Sektorstrukturen.\nKohle ist in dieser Region vorhanden. Verbrenne es für Strom, oder synthetisiere Graphit.\n\n[lightgray]Dieser Landeort kann nicht garantiert werden.
|
||||
@@ -472,13 +504,15 @@ zone.overgrowth.description = Dieser Bereich ist bewachsen, näher an der Quelle
|
||||
zone.tarFields.description = Der Rand einer Ölförderzone, zwischen Bergen und Wüste. Eine der wenigen Plätze mit nutzbare Teer Reserven.\nObwohl es aufgegeben wurde, hat dieses Gebiet einige gefährliche feindliche Kräfte in der Nähe. Unterschätze sie nicht.\n\n[lightgray]Wenn möglich, erforsche Technologien zur Ölverarbeitung.
|
||||
zone.desolateRift.description = Eine extrem gefährliche Zone. Reichlich Ressourcen, aber wenig Platz. Hohe Zerstörungsgefahr. Verlasse es so schnell wie möglich. Lassen Sie sich nicht von den großen Abständen zwischen feindlichen Angriffen in die Irre führen.
|
||||
zone.nuclearComplex.description = Eine ehemalige Anlage zur Herstellung und Verarbeitung von Thorium, die in Trümmern liegt.\n[lightgray]Erforsche das Thorium und seine vielen Verwendungsmöglichkeiten.\n\nDer Feind ist hier in großer Zahl präsent und sucht ständig nach Angreifern.
|
||||
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||
zone.fungalPass.description = Ein Übergangsgebiet zwischen hohen Bergen und tieferen, sporengeplagter Länder. Eine kleine Späherbasis ist hier angelegt.\nZerstöre sie.\nNutze Dagger und Crawler. Zerstöre die zwei Basen.
|
||||
zone.impact0078.description = <Beschreibung hier einfügen>
|
||||
zone.crags.description = <Beschreibung hier einfügen>
|
||||
|
||||
settings.language = Sprache
|
||||
settings.data = Spieldaten
|
||||
settings.reset = Auf Standard zurücksetzen
|
||||
settings.rebind = Zuweisen
|
||||
settings.resetKey = Reset
|
||||
settings.controls = Steuerung
|
||||
settings.game = Spiel
|
||||
settings.sound = Audio
|
||||
@@ -509,13 +543,13 @@ blocks.shootrange = Reichweite
|
||||
blocks.size = Größe
|
||||
blocks.liquidcapacity = Flüssigkeitskapazität
|
||||
blocks.powerrange = Stromreichweite
|
||||
blocks.powerconnections = Max Connections
|
||||
blocks.powerconnections = Maximale Stromverbindungen
|
||||
blocks.poweruse = Stromverbrauch
|
||||
blocks.powerdamage = Stromverbrauch/Schadenspunkt
|
||||
blocks.itemcapacity = Materialkapazität
|
||||
blocks.basepowergeneration = Basis-Stromerzeugung
|
||||
blocks.productiontime = Produktionszeit
|
||||
blocks.repairtime = Block volle Reparaturzeit
|
||||
blocks.repairtime = Zeit zur vollständigen Heilung
|
||||
blocks.speedincrease = Geschwindigkeitserhöhung
|
||||
blocks.range = Reichweite
|
||||
blocks.drilltier = Abbaubare Erze
|
||||
@@ -529,14 +563,15 @@ blocks.inaccuracy = Ungenauigkeit
|
||||
blocks.shots = Schüsse
|
||||
blocks.reload = Schüsse/Sekunde
|
||||
blocks.ammo = Munition
|
||||
bar.drilltierreq = besserer Bohrer benötigt
|
||||
|
||||
bar.drilltierreq = Besserer Bohrer benötigt
|
||||
bar.drillspeed = Bohrgeschwindigkeit: {0}/s
|
||||
bar.pumpspeed = Pump Speed: {0}/s
|
||||
bar.efficiency = Effizienz: {0}%
|
||||
bar.powerbalance = Strom: {0}
|
||||
bar.powerstored = Stored: {0}/{1}
|
||||
bar.poweramount = Strom: {0}
|
||||
bar.poweroutput = Strom Output: {0}
|
||||
bar.poweroutput = Stromgeneration: {0}
|
||||
bar.items = Items: {0}
|
||||
bar.capacity = Capacity: {0}
|
||||
bar.liquid = Flüssigkeit
|
||||
@@ -544,17 +579,21 @@ bar.heat = Hitze
|
||||
bar.power = Strom
|
||||
bar.progress = Baufortschritt
|
||||
bar.spawned = Einheiten: {0}/{1}
|
||||
bar.input = Input
|
||||
bar.output = Output
|
||||
|
||||
bullet.damage = [stat]{0}[lightgray] Schaden
|
||||
bullet.splashdamage = [stat]{0}[lightgray] Flächenschaden ~[stat] {1}[lightgray] Kacheln
|
||||
bullet.incendiary = [stat]entzündend
|
||||
bullet.homing = [stat]verfolgend
|
||||
bullet.homing = [stat]zielsuchend
|
||||
bullet.shock = [stat]schock
|
||||
bullet.frag = [stat]explosiv
|
||||
bullet.knockback = [stat]{0}[lightgray] zurückstoßend
|
||||
bullet.freezing = [stat]gefrierend
|
||||
bullet.tarred = [stat]geteert
|
||||
bullet.freezing = [stat]frierend
|
||||
bullet.tarred = [stat]teerent
|
||||
bullet.multiplier = [stat]{0}[lightgray]x Munition Multiplikator
|
||||
bullet.reload = [stat]{0}[lightgray]x Feuerrate
|
||||
|
||||
unit.blocks = Blöcke
|
||||
unit.powersecond = Stromeinheiten/Sekunde
|
||||
unit.liquidsecond = Flüssigkeitseinheiten/Sekunde
|
||||
@@ -563,22 +602,25 @@ unit.liquidunits = Flüssigkeitseinheiten
|
||||
unit.powerunits = Stromeinheiten
|
||||
unit.degrees = Grad
|
||||
unit.seconds = Sekunden
|
||||
unit.persecond = /sec
|
||||
unit.persecond = /s
|
||||
unit.timesspeed = x Geschwindigkeit
|
||||
unit.percent = %
|
||||
unit.items = Materialeinheiten
|
||||
unit.thousands = k
|
||||
unit.millions = mil
|
||||
category.general = Allgemeines
|
||||
category.power = Strom
|
||||
category.liquids = Flüssigkeiten
|
||||
category.items = Materialien
|
||||
category.crafting = Erzeugung
|
||||
category.shooting = Schießen
|
||||
category.optional = Optionale Verbesserungen
|
||||
category.optional = Zusätze
|
||||
setting.landscape.name = Landschaft sperren
|
||||
setting.shadows.name = Schatten
|
||||
setting.blockreplace.name = Automatic Block Suggestions
|
||||
setting.blockreplace.name = Automatische Blockvorschläge
|
||||
setting.linear.name = Lineare Filterung
|
||||
setting.hints.name = Hints
|
||||
setting.hints.name = Tipps
|
||||
setting.buildautopause.name = Auto-Pause Building
|
||||
setting.animatedwater.name = Animiertes Wasser
|
||||
setting.animatedshields.name = Animierte Schilde
|
||||
setting.antialias.name = Antialias[LIGHT_GRAY] (Neustart erforderlich)[]
|
||||
@@ -597,10 +639,11 @@ setting.difficulty.normal = Normal
|
||||
setting.difficulty.hard = Schwer
|
||||
setting.difficulty.insane = Unmöglich
|
||||
setting.difficulty.name = Schwierigkeit
|
||||
setting.screenshake.name = Bildschirmwackeln
|
||||
setting.screenshake.name = Wackeleffekt
|
||||
setting.effects.name = Effekte anzeigen
|
||||
setting.destroyedblocks.name = Zerstörte Blöcke anzeigen
|
||||
setting.conveyorpathfinding.name = Automatische Wegfindung beim Bau von Förderbändern
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = Controller-Empfindlichkeit
|
||||
setting.saveinterval.name = Autosave Häufigkeit
|
||||
setting.seconds = {0} Sekunden
|
||||
@@ -625,8 +668,8 @@ setting.publichost.name = Public Game Visibility
|
||||
setting.chatopacity.name = Chat Deckkraft
|
||||
setting.lasersopacity.name = Power Laser Opacity
|
||||
setting.playerchat.name = Chat im Spiel anzeigen
|
||||
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 = Willst du dein Spiel öffentlich zugänglich machen?\n[accent]Jeder kann deinem Spiel beitreten.\n[lightgray]Dies kann später in den Einstellung->Spielt->Öffentliches Spiel geändert werden.
|
||||
public.beta = Bemerke: Beta-Versionen des Spiels können keine öffentlichen Spiele machen.
|
||||
uiscale.reset = UI-Skalierung wurde geändert.\nDrücke "OK", um diese Skalierung zu bestätigen.\n[scarlet]Zurückkehren und Beenden in[accent] {0}[] Einstellungen...
|
||||
uiscale.cancel = Abbrechen & Beenden
|
||||
setting.bloom.name = Bloom
|
||||
@@ -643,12 +686,15 @@ keybind.clear_building.name = Clear Building
|
||||
keybind.press = Drücke eine Taste...
|
||||
keybind.press.axis = Drücke eine Taste oder bewege eine Achse...
|
||||
keybind.screenshot.name = Karten Screenshot
|
||||
keybind.toggle_power_lines.name = Toggle Power Lasers
|
||||
keybind.move_x.name = X-Achse
|
||||
keybind.move_y.name = Y-Achse
|
||||
keybind.mouse_move.name = Follow Mouse
|
||||
keybind.dash.name = Bindestrich
|
||||
keybind.schematic_select.name = Bereich auswählen
|
||||
keybind.schematic_menu.name = Schematic Menu
|
||||
keybind.schematic_flip_x.name = Flip Schematic X
|
||||
keybind.schematic_flip_y.name = Flip Schematic Y
|
||||
keybind.schematic_flip_x.name = Entwurf umdrehen X
|
||||
keybind.schematic_flip_y.name = Entwurf umdrehn Y
|
||||
keybind.category_prev.name = Vorige Kategorie
|
||||
keybind.category_next.name = Nächste Kategorie
|
||||
keybind.block_select_left.name = Block-Auswahl nach links
|
||||
@@ -675,9 +721,8 @@ keybind.shoot.name = Schießen
|
||||
keybind.zoom.name = Zoomen
|
||||
keybind.menu.name = Menü
|
||||
keybind.pause.name = Pause
|
||||
keybind.pause_building.name = Pause/Resume Building
|
||||
keybind.pause_building.name = Pausieren/Fortsetzen Bauen
|
||||
keybind.minimap.name = Minimap
|
||||
keybind.dash.name = Bindestrich
|
||||
keybind.chat.name = Chat
|
||||
keybind.player_list.name = Spielerliste
|
||||
keybind.console.name = Konsole
|
||||
@@ -700,7 +745,9 @@ mode.pvp.description = Kämpfe gegen andere Spieler lokal.
|
||||
mode.attack.name = Angriff
|
||||
mode.attack.description = Keine Wellen, das Ziel ist es die gegnerische Basis zu zerstören.
|
||||
mode.custom = Angepasste Regeln
|
||||
|
||||
rules.infiniteresources = Unbegrenzte Ressourcen
|
||||
rules.reactorexplosions = Reactor Explosions
|
||||
rules.wavetimer = Wellen Timer
|
||||
rules.waves = Wellen
|
||||
rules.attack = Angriff-Modus
|
||||
@@ -708,6 +755,7 @@ rules.enemyCheat = Unbegrenzte Ressourcen für KI
|
||||
rules.unitdrops = Einheiten-Drops
|
||||
rules.unitbuildspeedmultiplier = Baugeschwindigkeit-Einheit Multiplikator
|
||||
rules.unithealthmultiplier = Lebenspunkte-Einheit Multiplikator
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = Spieler-Lebenspunkte Multiplikator
|
||||
rules.playerdamagemultiplier = Spieler-Schaden Multiplikator
|
||||
rules.unitdamagemultiplier = Schaden-Einheit Multiplikator
|
||||
@@ -726,6 +774,10 @@ rules.title.resourcesbuilding = Ressourcen & Gebäude
|
||||
rules.title.player = Spieler
|
||||
rules.title.enemy = Gegner
|
||||
rules.title.unit = Einheiten
|
||||
rules.title.experimental = Experimental
|
||||
rules.lighting = Lighting
|
||||
rules.ambientlight = Ambient Light
|
||||
|
||||
content.item.name = Materialien
|
||||
content.liquid.name = Flüssigkeiten
|
||||
content.unit.name = Einheiten
|
||||
@@ -748,7 +800,7 @@ item.pyratite.name = Pyratit
|
||||
item.metaglass.name = Metaglass
|
||||
item.scrap.name = Schrott
|
||||
liquid.water.name = Wasser
|
||||
liquid.slag.name = Asche
|
||||
liquid.slag.name = Schlacke
|
||||
liquid.oil.name = Öl
|
||||
liquid.cryofluid.name = Kryoflüssigkeit
|
||||
mech.alpha-mech.name = Alpha
|
||||
@@ -788,6 +840,7 @@ mech.buildspeed = [LIGHT_GRAY]Baugeschwindigkeit: {0}%
|
||||
liquid.heatcapacity = [LIGHT_GRAY]Wärmekapazität: {0}
|
||||
liquid.viscosity = [LIGHT_GRAY]Viskosität: {0}
|
||||
liquid.temperature = [LIGHT_GRAY]Temperatur: {0}
|
||||
|
||||
block.sand-boulder.name = Sandbrocken
|
||||
block.grass.name = Gras
|
||||
block.salt.name = Salz
|
||||
@@ -823,7 +876,7 @@ block.deepwater.name = Tiefes Wasser
|
||||
block.water.name = Wasser
|
||||
block.tainted-water.name = Unreines Wasser
|
||||
block.darksand-tainted-water.name = Dunkler Sand in unreinem Wasser
|
||||
block.tar.name = Teer
|
||||
block.tar.name = Öl
|
||||
block.stone.name = Stein
|
||||
block.sand.name = Sand
|
||||
block.darksand.name = Dunkler Sand
|
||||
@@ -886,6 +939,8 @@ block.distributor.name = Großer Verteiler
|
||||
block.sorter.name = Sortierer
|
||||
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 = Überlauftor
|
||||
block.silicon-smelter.name = Silizium-Schmelzer
|
||||
block.phase-weaver.name = Phasenweber
|
||||
@@ -899,6 +954,7 @@ block.coal-centrifuge.name = Kohlenzentrifuge
|
||||
block.power-node.name = Stromknoten
|
||||
block.power-node-large.name = Großer Stromknoten
|
||||
block.surge-tower.name = Schwall-Turm
|
||||
block.diode.name = Battery Diode
|
||||
block.battery.name = Batterie
|
||||
block.battery-large.name = Große Batterie
|
||||
block.combustion-generator.name = Verbrennungsgenerator
|
||||
@@ -922,6 +978,7 @@ block.mechanical-pump.name = Mechanische Pumpe
|
||||
block.item-source.name = Materialquelle
|
||||
block.item-void.name = Materialschlucker
|
||||
block.liquid-source.name = Flüssigkeitsquelle
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = Stromsenke
|
||||
block.power-source.name = Unendliche Stromquelle
|
||||
block.unloader.name = Entlader
|
||||
@@ -951,6 +1008,7 @@ block.fortress-factory.name = Fortress Mech-Fabrik
|
||||
block.revenant-factory.name = Revenant Fighter-Fabrik
|
||||
block.repair-point.name = Reparaturpunkt
|
||||
block.pulse-conduit.name = Impulskanal
|
||||
block.plated-conduit.name = Plated Conduit
|
||||
block.phase-conduit.name = Phasenkanal
|
||||
block.liquid-router.name = Flüssigkeits-Router
|
||||
block.liquid-tank.name = Flüssigkeitstank
|
||||
@@ -1022,6 +1080,7 @@ tutorial.deposit = Materialien können in Blöcke abgelegt werden, indem du sie
|
||||
tutorial.waves = Der [LIGHT_GRAY]Gegner[] greift an.\n\nVerteidige deinen Kern 2 Wellen lang. Baue mehr Türme.
|
||||
tutorial.waves.mobile = Der[lightgray] Gegner[] greift an.\n\nVerteidige deinen Kern 2 Wellen lang. Dein Schiff feuert automatisch auf Gegner.\nBaue mehr Geschütztürme und Bohrer. Baue mehr Kupfer ab.
|
||||
tutorial.launch = Sobald du eine bestimmte Welle erreicht hast, kannst du die [accent]Mission abschließen[]. Dadurch lässt du deine Basis zurück[accent] und überträgst alle Ressourcen in deinen Kern.[]\nDiese Ressourcen können zur Erforschung neuer Technologien eingesetzt werden.\n\n[accent]Drücke nun den Abschluss-Button.
|
||||
|
||||
item.copper.description = Ein nützliches Material. Wird in allen Arten von Blöcken verwendet.
|
||||
item.lead.description = Ein grundlegendes Material. Häufig in Elektronik und Flüssigkeits-Transport-Blöcken verwendet.
|
||||
item.metaglass.description = Eine extrem harte Glasmischung. Wird zur Verteilung und Lagerung von Flüssigkeiten benutzt.
|
||||
@@ -1083,6 +1142,7 @@ block.power-source.description = Erzeugt unendlich viel Strom. Nur im Sandkasten
|
||||
block.item-source.description = Produziert unendlich items. Nur im Sandkasten-Modus verfügbar.
|
||||
block.item-void.description = Zerstört Materialien, die hereingegeben werden, ohne Strom zu verbrauchen. Nur im Sandkasten-Modus verfügbar.
|
||||
block.liquid-source.description = Produziert unendlich Flüssigkeiten. Nur im Sandkasten-Modus verfügbar.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = Ein günstiger Verteidigungsblock.\nNützlich, um die Basis und Türme in den ersten Wellen zu beschützen.
|
||||
block.copper-wall-large.description = Ein günstiger Verteidigungsblock.\nNützlich, um die Basis und Türme in den ersten Wellen zu beschützen.\nBenötigt mehrere Kacheln.
|
||||
block.titanium-wall.description = Ein mittel starker Verteidigungsblock.\nBietet mäßigen Schutz vor Feinden.
|
||||
@@ -1118,6 +1178,7 @@ block.rotary-pump.description = Eine fortgeschrittene Pumpe, die mithilfe von St
|
||||
block.thermal-pump.description = Die ultimative Pumpe, dreimal so schnell wie eine mechanische Pumpe und die einzige Pumpe, die Lava fördern kann.
|
||||
block.conduit.description = Standard Flüssigkeits-Transportblock. Funktioniert wie ein Förderband, nur für Flüssigkeiten. Wird am Besten mit Extraktoren, Pumpen oder anderen Kanälen benutzt.
|
||||
block.pulse-conduit.description = Verbesserter Flüssigkeits-Transportblock. Transportiert Flüssigkeiten schneller und speichert mehr als Standard Kanäle.
|
||||
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 = Akzeptiert Flüssigkeiten aus einer Richtung und verteilt sie an bis zu drei andere Richtungen weiter. Nützlich, um Flüssigkeiten aus einer Quelle an mehrere Empfänger zu verteilen.
|
||||
block.liquid-tank.description = Speichert eine große Menge an Flüssigkeiten. Verwende es als Puffer, wenn Angebot und Nachfrage an einer Flüssigkeit schwanken.
|
||||
block.liquid-junction.description = Fungiert als Brücke über zwei kreuzende Kanäle. Nützlich in Situationen, in denen sich zwei Kanäle mit verschiedenen Flüssigkeiten kreuzen.
|
||||
@@ -1126,6 +1187,7 @@ block.phase-conduit.description = Verbesserter Flüssigkeits-Transportblock. Ver
|
||||
block.power-node.description = Überträgt Strom zu verbundenen Knoten. Bis zu vier Stromquellen, -verbraucher oder -knoten können verbunden werden. Der Knoten erhält Strom von benachbarten Knoten und gibt Strom an benachbarte Blöcke weiter.
|
||||
block.power-node-large.description = Hat einen größeren Radius als der normale Stromknoten und verbindet bis zu sechs Stromquellen, -verbraucher oder -knoten.
|
||||
block.surge-tower.description = Ein extrem weitreichender Netzknoten mit weniger verfügbaren Verbindungen.
|
||||
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 = Speichert Strom, solange ein Überschuss besteht, und gibt ihn bei Knappheit ab, solange Kapazität vorhanden ist.
|
||||
block.battery-large.description = Speichert sehr viel mehr Strom als eine normale Batterie.
|
||||
block.combustion-generator.description = Generiert Strom, indem Öl oder entzündliche Materialien verbrannt werden.
|
||||
|
||||
@@ -10,7 +10,9 @@ link.dev-builds.description = Arendusversioonide ajalugu
|
||||
link.trello.description = Plaanitud uuenduste nimekiri
|
||||
link.itch.io.description = Kõik PC-platvormide versioonid
|
||||
link.google-play.description = Androidi versioon Google Play poes
|
||||
link.f-droid.description = F-Droid catalogue listing
|
||||
link.wiki.description = Mängu ametlik viki
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = Lingi avamine ebaõnnestus!\nVeebiaadress kopeeriti.
|
||||
screenshot = Kuvatõmmis salvestati: {0}
|
||||
screenshot.invalid = Maailm on liiga suur: kuvatõmmise salvestamiseks ei pruugi olla piisavalt mälu.
|
||||
@@ -18,12 +20,22 @@ gameover = Mäng läbi!
|
||||
gameover.pvp = Võistkond[accent] {0}[] võitis!
|
||||
highscore = [accent]Uus rekord!
|
||||
copied = Copied.
|
||||
|
||||
load.sound = Helid
|
||||
load.map = Maailmad
|
||||
load.image = Pildid
|
||||
load.content = Sisu
|
||||
load.system = Süsteem
|
||||
load.mod = Mods
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = Schematic
|
||||
schematic.add = Save Schematic...
|
||||
schematics = Schematics
|
||||
@@ -40,6 +52,7 @@ schematic.saved = Schematic saved.
|
||||
schematic.delete.confirm = This schematic will be utterly eradicated.
|
||||
schematic.rename = Rename Schematic
|
||||
schematic.info = {0}x{1}, {2} blocks
|
||||
|
||||
stat.wave = Lahingulaineid läbitud:[accent] {0}
|
||||
stat.enemiesDestroyed = Vaenlasi hävitatud:[accent] {0}
|
||||
stat.built = Ehitisi konstrueeritud:[accent] {0}
|
||||
@@ -47,6 +60,7 @@ stat.destroyed = Ehitisi hävinenud:[accent] {0}
|
||||
stat.deconstructed = Ehitisi dekonstrueeritud:[accent] {0}
|
||||
stat.delivered = Kaasavõetud ressursid:
|
||||
stat.rank = Hinne:[accent] {0}
|
||||
|
||||
launcheditems = [accent]Kaasavõetud ressursid
|
||||
launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue.
|
||||
map.delete = Kas oled kindel, et soovid kustutada\nmaailma "[accent]{0}[]"?
|
||||
@@ -74,6 +88,7 @@ maps.browse = Sirvi maailmu
|
||||
continue = Jätka
|
||||
maps.none = [lightgray]Ühtegi maailma ei leitud!
|
||||
invalid = Kehtetu
|
||||
pickcolor = Pick Color
|
||||
preparingconfig = Konfiguratsiooni ettevalmistamine
|
||||
preparingcontent = Sisu ettevalmistamine
|
||||
uploadingcontent = Sisu üleslaadimine
|
||||
@@ -81,6 +96,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.alpha = [accent](Alpha)
|
||||
mods = Mods
|
||||
@@ -92,18 +108,25 @@ 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 min game version: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Missing dependencies: {0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Errors have occurred loading content.
|
||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||
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.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that 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.
|
||||
mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly.
|
||||
|
||||
about.button = Info
|
||||
name = Nimi:
|
||||
noname = Valige kõigepealt [accent]nimi[].
|
||||
@@ -132,6 +155,7 @@ server.kicked.nameEmpty = Sinu valitud nimi ei sobi.
|
||||
server.kicked.idInUse = Sa juba mängid selles serveris! Teist korda liitumine on keelatud.
|
||||
server.kicked.customClient = See server ei luba modifitseeritud mängu versioone. Lae alla ametlik versioon.
|
||||
server.kicked.gameover = Mäng läbi!
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = Sinu versioon:[accent] {0}[]\nServeri versioon:[accent] {1}[]
|
||||
host.info = [accent]Hosti[] nupp avab serveri,\nkasutades porti [scarlet]6567[]. \nSamas [lightgray]kohtvõrgus[] olevad mängijad peaksid nägema sinu serverit enda serverite nimekirjas.\n\nKui sa tahad, et ka väljaspool kohtvõrku olevad mängijad saaksid serveriga ühineda, siis on vajalik\n[accent]portide edasisuunamine[].\n\n[lightgray]Märkus: Kui kellelgi on probleeme sinu kohtvõrgus avatud serveriga liitumisel, siis tee kindlaks, et tulemüüri sätetes on Mindustry'l lubatud pääseda ligi kohtvõrgule.
|
||||
join.info = Siin saad lisada [accent]IP-aadressi serverile[], millega soovid liituda, või leida [accent]kohtvõrgus[] olevaid servereid.\nMäng toetab nii LAN- kui ka WAN-mitmikmängu.\n\n[lightgray]Märkus: Ei ole olemas automaatset serverite nimekirja. Kui sa soovid liituda mänguga IP kaudu, on sul vaja teada serveri IP-aadressi.
|
||||
@@ -271,6 +295,7 @@ 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}
|
||||
|
||||
editor.brush = Pintsel
|
||||
editor.openin = Ava redaktoris
|
||||
editor.oregen = Maakide genereerimine
|
||||
@@ -347,6 +372,7 @@ editor.overwrite = [accent]Hoiatus!\nSee asendab olemasoleva maailma.
|
||||
editor.overwrite.confirm = [scarlet]Hoiatus![] Sellise nimega maailm on juba olemas. Oled kindel, et soovid selle asendada?
|
||||
editor.exists = Sellise nimega maailm on juba olemas.
|
||||
editor.selectmap = Vali laetav maailm:
|
||||
|
||||
toolmode.replace = Asenda
|
||||
toolmode.replace.description = Joonista ainult tahkete blokkide peale.
|
||||
toolmode.replaceall = Asenda kõik
|
||||
@@ -361,6 +387,7 @@ toolmode.fillteams = Täida võistkondi
|
||||
toolmode.fillteams.description = Täida blokkide asemel võistkondi.
|
||||
toolmode.drawteams = Joonista võistkondi
|
||||
toolmode.drawteams.description = Joonista blokkide asemel võistkondi.
|
||||
|
||||
filters.empty = [lightgray]Filtrid puuduvad! Lisa filtreid alloleva nupuga.
|
||||
filter.distort = Moonutamine
|
||||
filter.noise = Müra
|
||||
@@ -392,6 +419,7 @@ filter.option.floor2 = Teine põrand
|
||||
filter.option.threshold2 = Teine lävi
|
||||
filter.option.radius = Raadius
|
||||
filter.option.percentile = Protsentiil
|
||||
|
||||
width = Laius:
|
||||
height = Kõrgus:
|
||||
menu = Menüü
|
||||
@@ -407,6 +435,7 @@ tutorial = Õpetus
|
||||
tutorial.retake = Korda õpetust
|
||||
editor = Redaktor
|
||||
mapeditor = Maailmaredaktor
|
||||
|
||||
abandon = Loobu
|
||||
abandon.text = See piirkond koos kõigi ressurssidega loovutatakse vaenlasele.
|
||||
locked = Lukus
|
||||
@@ -437,6 +466,7 @@ zone.objective.survival = Ellujäämine
|
||||
zone.objective.attack = Hävita vaenlaste tuumik
|
||||
add = Lisa...
|
||||
boss.health = Bossi elud
|
||||
|
||||
connectfail = [crimson]Ühenduse viga:\n\n[accent]{0}
|
||||
error.unreachable = Server ei ole kättesaadav.\nKas serveri aadress on õigesti sisestatud?
|
||||
error.invalidaddress = Vale aadress.
|
||||
@@ -447,6 +477,7 @@ error.mapnotfound = Maailmafaili ei leitud!
|
||||
error.io = Võrgu sisend-väljundi viga.
|
||||
error.any = Teadmata viga võrgus.
|
||||
error.bloom = Bloom-efekti lähtestamine ebaõnnestus.\nSinu seade ei pruugi seda efekti toetada.
|
||||
|
||||
zone.groundZero.name = Nullpunkt
|
||||
zone.desertWastes.name = Kõrbestunud tühermaa
|
||||
zone.craters.name = Kraatrid
|
||||
@@ -461,6 +492,7 @@ zone.saltFlats.name = Soolaväljad
|
||||
zone.impact0078.name = Kokkupõrge 0078
|
||||
zone.crags.name = Kaljurünkad
|
||||
zone.fungalPass.name = Seenekuru
|
||||
|
||||
zone.groundZero.description = Optimaalne asukoht alustamiseks.\nMadal ohutase. Vähesel määral ressursse.\nKogu kokku nii palju vaske ja pliid kui võimalik.
|
||||
zone.frozenForest.description = Spoorid on levinud isegi mägede lähedale. Jäised temperatuurid ei suuda neid igavesti eemal hoida.\n\nAlusta esimeste katsetustega energia tootmises. Ehita põlemisgeneraatoreid.\nÕpi oma ehitisi parandama.
|
||||
zone.desertWastes.description = Need tühermaad on üüratud ja ettearvamatud. Siin-seal leidub mahajäetud ja räsitud tööstushooneid.\n\nSelles piirkonnas leidub sütt. Töötle seda grafiidiks või põleta energia saamiseks.\n\n[lightgray]Maandumispaik ei ole kindlaks määratud.
|
||||
@@ -475,10 +507,12 @@ zone.nuclearComplex.description = Endine tooriumi tootmise ja töötlemise rajat
|
||||
zone.fungalPass.description = Üleminekuala kõrgete mägede ja madalamate, spooridega ülekülvatud maade vahel. Siin asub väike vaenlaste luurebaas.\nHävita see.\nKasuta soldatite ja plahvatajate väeüksuseid. Hävita kaks vaenlaste tuumikut.
|
||||
zone.impact0078.description = <insert description here>
|
||||
zone.crags.description = <insert description here>
|
||||
|
||||
settings.language = Keel
|
||||
settings.data = Mänguandmed
|
||||
settings.reset = Vaikimisi sätted
|
||||
settings.rebind = Muuda
|
||||
settings.resetKey = Reset
|
||||
settings.controls = Juhtnupud
|
||||
settings.game = Mäng
|
||||
settings.sound = Heli
|
||||
@@ -529,6 +563,7 @@ blocks.inaccuracy = Ebatäpsus
|
||||
blocks.shots = Laske
|
||||
blocks.reload = Lasku/s
|
||||
blocks.ammo = Laskemoon
|
||||
|
||||
bar.drilltierreq = Nõuab paremat puuri
|
||||
bar.drillspeed = Puurimise kiirus: {0}/s
|
||||
bar.pumpspeed = Pump Speed: {0}/s
|
||||
@@ -544,6 +579,9 @@ bar.heat = Kuumus
|
||||
bar.power = Energia
|
||||
bar.progress = Edenemine
|
||||
bar.spawned = Väeüksuseid: {0}/{1}
|
||||
bar.input = Input
|
||||
bar.output = Output
|
||||
|
||||
bullet.damage = [stat]{0}[lightgray] hävituspunkti
|
||||
bullet.splashdamage = [stat]{0}[lightgray] hävituspunkti ~[stat] {1}[lightgray] blokki
|
||||
bullet.incendiary = [stat]süttiv
|
||||
@@ -555,6 +593,7 @@ bullet.freezing = [stat]jäätav
|
||||
bullet.tarred = [stat]leekisüütav
|
||||
bullet.multiplier = [stat]{0}[lightgray]x laskemoona kordaja
|
||||
bullet.reload = [stat]{0}[lightgray]x tulistamise kiirus
|
||||
|
||||
unit.blocks = blokki
|
||||
unit.powersecond = energiaühikut/s
|
||||
unit.liquidsecond = vedelikuühikut/s
|
||||
@@ -567,6 +606,8 @@ unit.persecond = /s
|
||||
unit.timesspeed = x kiirus
|
||||
unit.percent = %
|
||||
unit.items = ressursiühikut
|
||||
unit.thousands = k
|
||||
unit.millions = mil
|
||||
category.general = Üldinfo
|
||||
category.power = Energia
|
||||
category.liquids = Vedelikud
|
||||
@@ -579,6 +620,7 @@ setting.shadows.name = Varjud
|
||||
setting.blockreplace.name = Automatic Block Suggestions
|
||||
setting.linear.name = Lineaarne tekstuurivastendus
|
||||
setting.hints.name = Hints
|
||||
setting.buildautopause.name = Auto-Pause Building
|
||||
setting.animatedwater.name = Animeeritud vesi
|
||||
setting.animatedshields.name = Animeeritud kilbid
|
||||
setting.antialias.name = Sakitõrje[lightgray] (vajab mängu taaskäivitamist)[]
|
||||
@@ -601,12 +643,16 @@ setting.screenshake.name = Ekraani värisemine
|
||||
setting.effects.name = Näita visuaalefekte
|
||||
setting.destroyedblocks.name = Display Destroyed Blocks
|
||||
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = Kontrolleri tundlikkus
|
||||
setting.saveinterval.name = Salvestamise intervall
|
||||
setting.seconds = {0} sekundit
|
||||
setting.blockselecttimeout.name = Block Select Timeout
|
||||
setting.milliseconds = {0} milliseconds
|
||||
setting.fullscreen.name = Täisekraan
|
||||
setting.borderlesswindow.name = Äärteta ekraan[lightgray] (võib vajada mängu taaskäivitamist)
|
||||
setting.fps.name = Näita kaadrite arvu sekundis
|
||||
setting.blockselectkeys.name = Show Block Select Keys
|
||||
setting.vsync.name = Vertikaalne sünkroonimine
|
||||
setting.pixelate.name = Piksel-efekt[lightgray] (lülitab animatsioonid välja)
|
||||
setting.minimap.name = Näita kaarti
|
||||
@@ -635,16 +681,36 @@ category.multiplayer.name = Mitmikmäng
|
||||
command.attack = Ründa
|
||||
command.rally = Patrulli
|
||||
command.retreat = Põgene
|
||||
placement.blockselectkeys = \n[lightgray]Key: [{0},
|
||||
keybind.clear_building.name = Clear Building
|
||||
keybind.press = Vajuta klahvi...
|
||||
keybind.press.axis = Liiguta juhtkangi või vajuta klahvi...
|
||||
keybind.screenshot.name = Kuvatõmmis
|
||||
keybind.toggle_power_lines.name = Toggle Power Lasers
|
||||
keybind.move_x.name = Liigu X-teljel
|
||||
keybind.move_y.name = Liigu Y-teljel
|
||||
keybind.mouse_move.name = Follow Mouse
|
||||
keybind.dash.name = Söösta
|
||||
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 = Täisekraan
|
||||
keybind.select.name = Vali/Tulista
|
||||
keybind.diagonal_placement.name = Diagonaalne paigutamine
|
||||
@@ -657,7 +723,6 @@ keybind.menu.name = Menüü
|
||||
keybind.pause.name = Paus
|
||||
keybind.pause_building.name = Pause/Resume Building
|
||||
keybind.minimap.name = Kaart
|
||||
keybind.dash.name = Söösta
|
||||
keybind.chat.name = Vestle
|
||||
keybind.player_list.name = Mängijate nimekiri
|
||||
keybind.console.name = Konsool
|
||||
@@ -680,7 +745,9 @@ mode.pvp.description = Võitle teiste mängijate vastu.
|
||||
mode.attack.name = Rünnak
|
||||
mode.attack.description = Hävita vaenlaste baas. Lahingulaineid ei ole.
|
||||
mode.custom = Reeglid
|
||||
|
||||
rules.infiniteresources = Lõputult ressursse
|
||||
rules.reactorexplosions = Reactor Explosions
|
||||
rules.wavetimer = Kasuta taimerit
|
||||
rules.waves = Kasuta lahingulaineid
|
||||
rules.attack = Mänguviis "Rünnak"
|
||||
@@ -688,6 +755,7 @@ rules.enemyCheat = [scarlet]Vaenlastel[] on lõputult ressursse
|
||||
rules.unitdrops = Väeüksuste heitmine lubatud
|
||||
rules.unitbuildspeedmultiplier = Väeüksuste tootmiskiiruse kordaja
|
||||
rules.unithealthmultiplier = Väeüksuste elude kordaja
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = Mängija elude kordaja
|
||||
rules.playerdamagemultiplier = Mängija hävitusvõime kordaja
|
||||
rules.unitdamagemultiplier = Väeüksuste hävitusvõime kordaja
|
||||
@@ -706,6 +774,10 @@ rules.title.resourcesbuilding = Ressursid ja ehitamine
|
||||
rules.title.player = Mängijad
|
||||
rules.title.enemy = Vaenlased
|
||||
rules.title.unit = Väeüksused
|
||||
rules.title.experimental = Experimental
|
||||
rules.lighting = Lighting
|
||||
rules.ambientlight = Ambient Light
|
||||
|
||||
content.item.name = Ressursid
|
||||
content.liquid.name = Vedelikud
|
||||
content.unit.name = Väeüksused
|
||||
@@ -752,6 +824,7 @@ mech.trident-ship.name = Lembitu
|
||||
mech.trident-ship.weapon = Pommiheitja
|
||||
mech.glaive-ship.name = Vambola
|
||||
mech.glaive-ship.weapon = Kuulipildur
|
||||
item.corestorable = [lightgray]Storable in Core: {0}
|
||||
item.explosiveness = [lightgray]Plahvatusohtlikkus: {0}%
|
||||
item.flammability = [lightgray]Tuleohtlikkus: {0}%
|
||||
item.radioactivity = [lightgray]Radioaktiivsus: {0}%
|
||||
@@ -767,6 +840,7 @@ mech.buildspeed = [lightgray]Ehitamise kiirus: {0}%
|
||||
liquid.heatcapacity = [lightgray]Soojusmahtuvus: {0}
|
||||
liquid.viscosity = [lightgray]Viskoossus: {0}
|
||||
liquid.temperature = [lightgray]Temperatuur: {0}
|
||||
|
||||
block.sand-boulder.name = Liivakamakas
|
||||
block.grass.name = Rohi
|
||||
block.salt.name = Sool
|
||||
@@ -865,6 +939,8 @@ block.distributor.name = Suur jaotur
|
||||
block.sorter.name = Sorteerija
|
||||
block.inverted-sorter.name = Inverted Sorter
|
||||
block.message.name = Sõnum
|
||||
block.illuminator.name = Illuminator
|
||||
block.illuminator.description = A small, compact, configurable light source. Requires power to function.
|
||||
block.overflow-gate.name = Ülevooluvärav
|
||||
block.silicon-smelter.name = Ränisulatusahi
|
||||
block.phase-weaver.name = Faaskangakuduja
|
||||
@@ -878,6 +954,7 @@ block.coal-centrifuge.name = Söetsentrifuug
|
||||
block.power-node.name = Energiasõlm
|
||||
block.power-node-large.name = Suur energiasõlm
|
||||
block.surge-tower.name = Energiatorn
|
||||
block.diode.name = Battery Diode
|
||||
block.battery.name = Aku
|
||||
block.battery-large.name = Suur aku
|
||||
block.combustion-generator.name = Põlemisgeneraator
|
||||
@@ -901,6 +978,7 @@ block.mechanical-pump.name = Harilik pump
|
||||
block.item-source.name = Ressursiallikas
|
||||
block.item-void.name = Ressursisuue
|
||||
block.liquid-source.name = Vedelikuallikas
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = Maandaja
|
||||
block.power-source.name = Energiaallikas
|
||||
block.unloader.name = Mahalaadija
|
||||
@@ -930,6 +1008,7 @@ block.fortress-factory.name = Koljatite tehas
|
||||
block.revenant-factory.name = Ülestõusnute tehas
|
||||
block.repair-point.name = Parandusjaam
|
||||
block.pulse-conduit.name = Titaantoru
|
||||
block.plated-conduit.name = Plated Conduit
|
||||
block.phase-conduit.name = Faastoru
|
||||
block.liquid-router.name = Torujaotur
|
||||
block.liquid-tank.name = Mahuti
|
||||
@@ -1001,6 +1080,7 @@ tutorial.deposit = Ressursside mahalaadimiseks lohista ressursid oma mehhaanilt
|
||||
tutorial.waves = [scarlet]Vaenlane[] läheneb.\n\nKaitse oma tuumikut kahe lahingulaine vältel.[accent] Kliki hiirega[], et oma mehhaanist tulistada.\n[accent]Kaevanda juurde vaske. Ehita uusi puure ja kahureid.
|
||||
tutorial.waves.mobile = [scarlet]Vaenlane[] läheneb.\n\nKaitse oma tuumikut kahe lahingulaine vältel. Sinu mehhaan tulistab vaenlaseid automaatselt.\n[accent]Kaevanda juurde vaske. Ehita uusi puure ja kahureid.
|
||||
tutorial.launch = Kui oled kindla arvu lahingulaineid vastu pidanud, on sul võimalik[accent] tuumikuga lendu tõusta[], jättes maha kõik muud ehitised ja[accent] võttes kaasa kõik tuumikus olevad ressursid.[]\nNeid ressursse saab kasutada uute [accent]tehnoloogiate uurimiseks[].\n\n[accent]Vajuta lendu tõusmise nuppu.
|
||||
|
||||
item.copper.description = Peamine materjal, mida kasutatakse igat tüüpi konstruktsioonide ehitamiseks.
|
||||
item.lead.description = Peamine materjal, mida kasutatakse vedelike transportimise konstruktsioonide ja elektroonikaga seotud konstruktsioonide ehitamiseks.
|
||||
item.metaglass.description = Ülitugev klaasiühend, mida kasutatakse vedelike transportimise ja hoiustamise konstruktsioonide ehitamiseks.
|
||||
@@ -1062,6 +1142,7 @@ block.power-source.description = Väljastab piiramatult energiat. Olemas ainult
|
||||
block.item-source.description = Väljastab piiramatult ressursse. Olemas ainult mänguviisis "Liivakast".
|
||||
block.item-void.description = Hävitab kõik ressursid. Olemas ainult mänguviisis "Liivakast".
|
||||
block.liquid-source.description = Väljastab piiramatult vedelikke. Olemas ainult mänguviisis "Liivakast".
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = Odav kaitsekonstruktsioon.\nKasulik tuumiku ja kahurite kaitsmiseks esimeste lahingulainete ajal.
|
||||
block.copper-wall-large.description = Odav kaitsekonstruktsioon.\nKasulik tuumiku ja kahurite kaitsmiseks esimeste lahingulainete ajal.\nUlatub üle mitme bloki.
|
||||
block.titanium-wall.description = Mõõdukalt tugev kaitsekonstruktsioon.\nPakub keskmist kaitset vaenlaste eest.
|
||||
@@ -1097,6 +1178,7 @@ block.rotary-pump.description = Täiustatud pump, mis pumpab paremini kui harili
|
||||
block.thermal-pump.description = Ülim pump, mis vajab töötamiseks palju energiat.
|
||||
block.conduit.description = Vedelike transportimise vahend, mis liigutab vedelikke edasi. Kasutatakse koos pumpade ja teiste torudega.
|
||||
block.pulse-conduit.description = Täiustatud toru, mis transpordib ja hoiustab vedelikke kiiremini kui algeline toru.
|
||||
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 = Jaotab vedelikke kuni kolmes väljuvas suunas võrdselt. Selle jaoturiga on võimalik teatud koguses ka vedelikku hoiustada. Kasulik olukordades, kus vedelikke on vaja korraga saata mitmesse kohta.
|
||||
block.liquid-tank.description = Hoiustab suures koguses vedelikke. Kasuta puhvrite loomiseks juhul, kui ressursside nõudlus pole püsiv, või ettevaatusabinõuna tähtsate konstruktsioonide jahutussüsteemides.
|
||||
block.liquid-junction.description = Toimib kui sild samal tasapinnal ristuvate torude vahel. Kasulik olukordades, kus kaks toru kannavad erinevaid vedelikke erinevatesse kohtadesse.
|
||||
@@ -1105,6 +1187,7 @@ block.phase-conduit.description = Täiustatud toru, mis kasutab energiat vedelik
|
||||
block.power-node.description = Edastab energiat ühendatud sõlmpunktidesse. Sõlmed varustavad energiaga kõiki piisavalt lähedal asuvaid ja sõlmega ühenduses olevaid konstruktsioone.
|
||||
block.power-node-large.description = Täiustatud energiasõlm, mis on suurema ulatuse ja suurema võimalike ühenduste arvuga.
|
||||
block.surge-tower.description = Kaugeleulatuv energiasõlm, mis on väiksema võimalike ühenduste arvuga.
|
||||
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 = Salvestab energiat puhvrina positiivse energiabilansi ehk ülejäägi korral. Negatiivse energiabilansi ehk defitsiidi korral laetakse salvestatud energiat maha.
|
||||
block.battery-large.description = Salvestab rohkem energiat kui tavaline aku.
|
||||
block.combustion-generator.description = Toodab energiat süttivate materjalide, näiteks söe, põletamisel.
|
||||
|
||||
@@ -10,7 +10,9 @@ link.dev-builds.description = Garapen konpilazio ezegonkorrak
|
||||
link.trello.description = Aurreikusitako ezaugarrien Trello ofiziala
|
||||
link.itch.io.description = PC deskargen itch.io orria
|
||||
link.google-play.description = Google Play dendako sarrera
|
||||
link.f-droid.description = F-Droid catalogue listing
|
||||
link.wiki.description = Mindustry wiki ofiziala
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = Huts egin du esteka irekitzean!\nURL-a zure arbelera kopiatu da.
|
||||
screenshot = Pantaila-argazkia {0} helbidean gorde da
|
||||
screenshot.invalid = Mapa handiegia, baliteke pantaila-argazkirako memoria nahiko ez egotea.
|
||||
@@ -18,12 +20,22 @@ gameover = Partida amaitu da
|
||||
gameover.pvp = [accent] {0}[] taldeak irabazi du!
|
||||
highscore = [accent]Marka berria!
|
||||
copied = Kopiatuta.
|
||||
|
||||
load.sound = Soinuak
|
||||
load.map = Mapak
|
||||
load.image = Irudiak
|
||||
load.content = Edukia
|
||||
load.system = Sistema
|
||||
load.mod = Mod-ak
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = Eskama
|
||||
schematic.add = Gorde eskema...
|
||||
schematics = Eskemak
|
||||
@@ -40,6 +52,7 @@ 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}
|
||||
@@ -47,6 +60,7 @@ stat.destroyed = Suntsitutako eraikinak:[accent] {0}
|
||||
stat.deconstructed = Deseraikitako eraikinak:[accent] {0}
|
||||
stat.delivered = Egotzitako baliabideak:
|
||||
stat.rank = Azken graduazioa: [accent]{0}
|
||||
|
||||
launcheditems = [accent]Egotzitako baliabideak
|
||||
launchinfo = [unlaunched][[EGOTZI] zure muina urdinez adierazitako baliabideak eskuratzeko.
|
||||
map.delete = Ziur al zaude "[accent]{0}[]" mapa ezabatu nahi duzula?
|
||||
@@ -74,6 +88,7 @@ maps.browse = Arakatu mapak
|
||||
continue = Jarraitu
|
||||
maps.none = [lightgray]Ez da maparik aurkitu!
|
||||
invalid = Baliogabea
|
||||
pickcolor = Pick Color
|
||||
preparingconfig = Konfigurazioa prestatzen
|
||||
preparingcontent = Edukia prestatzen
|
||||
uploadingcontent = Edukia igotzen
|
||||
@@ -81,6 +96,7 @@ uploadingpreviewfile = Aurrebista fitxategia igotzen
|
||||
committingchanges = Aldaketak aplikatzen
|
||||
done = Egina
|
||||
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
|
||||
@@ -92,18 +108,25 @@ 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.requiresversion = [scarlet]Requires min game version: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Falta diren menpekotasunak: {0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Errors have occurred loading content.
|
||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||
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.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that mod.
|
||||
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.
|
||||
mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly.
|
||||
|
||||
about.button = Honi buruz
|
||||
name = Izena:
|
||||
noname = Hautatu[accent] jokalari-izena[] aurretik.
|
||||
@@ -132,6 +155,7 @@ server.kicked.nameEmpty = Aukeratu duzun izena baliogabea da.
|
||||
server.kicked.idInUse = Bazaude zerbitzari honetan! Ezin zara bi kontu desberdinekin konektatu.
|
||||
server.kicked.customClient = Zerbitzari honek ez ditu konpilazio pertsonalizatuak onartzen. Deskargatu bertsio ofizial bat.
|
||||
server.kicked.gameover = Partida amaitu da!
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = Zure bertsioa:[accent] {0}[]\nZerbitzariaren bertsioa:[accent] {1}[]
|
||||
host.info = [accent]Ostalaria[] botoiak zerbitzari bat abiatzen du [scarlet]6567[] atakan.\n[lightgray]wifi edo sare lokal[] berean dagoen edonor zure zerbitzaria ikusi ahal beharko luke.\n\nJendea edonondik IP-a erabilita konektatu ahal izatea nahi baduzu, [accent]ataka birbidaltzea[] ezinbestekoa da.\n\n[lightgray]Oharra: Inork zure sare lokalean partidara elkartzeko arazoak baditu, egiaztatu Mindustry-k baimena duela sare lokalera elkartzeko suebakiaren ezarpenetan. Kontuan izan sare publiko batzuk ez dutela zerbitzarien bilaketa baimentzen.
|
||||
join.info = Hemen, konektatzeko [accent]zerbitzari baten IP-a[] sartu dezakezu konektatzeko, edo [accent]sare lokaleko[] zerbitzariak bilatu.\nLAN zein WAN sareetan onartzen dira hainbat jokalarien partidak .\n\n[lightgray]Oharra: Ez dago zerbitzarien zerrenda global automatikorik, beste inorekin IP bidez konektatu nahi baduzu, ostalariari bere IP helbidea eskatu beharko diozu.
|
||||
@@ -271,6 +295,7 @@ 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
|
||||
@@ -347,6 +372,7 @@ editor.overwrite = [accent]Abisua!\nHonek badagoen mapa bat gainidatziko du.
|
||||
editor.overwrite.confirm = [scarlet]Abisua![] Badago izen bereko beste mapa bat. Ziur gainidatzi nahi duzula?
|
||||
editor.exists = Badago izen bereko beste mapa bat.
|
||||
editor.selectmap = Hautatu mapa kargatzeko:
|
||||
|
||||
toolmode.replace = Ordeztu
|
||||
toolmode.replace.description = Marraztu bloke zurrunak bakarrik.
|
||||
toolmode.replaceall = Ordeztu denak
|
||||
@@ -361,6 +387,7 @@ toolmode.fillteams = Bete taldeak
|
||||
toolmode.fillteams.description = Bete taldeak blokeen ordez.
|
||||
toolmode.drawteams = Marraztu taldeak
|
||||
toolmode.drawteams.description = Marraztu taldeak blokeen ordez.
|
||||
|
||||
filters.empty = [lightgray]Iragazkirik ez! Gehitu bat beheko botoiarekin.
|
||||
filter.distort = Distortsioa
|
||||
filter.noise = Orbana
|
||||
@@ -392,6 +419,7 @@ filter.option.floor2 = Bigarren zorua
|
||||
filter.option.threshold2 = Bigarren atalasea
|
||||
filter.option.radius = Erradioa
|
||||
filter.option.percentile = Pertzentila
|
||||
|
||||
width = Zabalera:
|
||||
height = Altuera:
|
||||
menu = Menua
|
||||
@@ -407,6 +435,7 @@ tutorial = Tutoriala
|
||||
tutorial.retake = Berriro hasi tutoriala
|
||||
editor = Editorea
|
||||
mapeditor = Mapen editorea
|
||||
|
||||
abandon = Abandonatu
|
||||
abandon.text = Eremu hau eta bere baliabide guztiak etsaiaren esku geratuko dira.
|
||||
locked = Blokeatuta
|
||||
@@ -437,6 +466,7 @@ zone.objective.survival = Biziraupena
|
||||
zone.objective.attack = Suntsitu etsaiaren muina
|
||||
add = Gehitu
|
||||
boss.health = Nagusiaren osasuna
|
||||
|
||||
connectfail = [crimson]Konexio errorea:\n\n[accent]{0}
|
||||
error.unreachable = Zerbitzaria eskuraezin.\nHelbidea ondo idatzita dago?
|
||||
error.invalidaddress = Helbide baliogabea.
|
||||
@@ -447,6 +477,7 @@ error.mapnotfound = Ez da mapa-fitxategia aurkitu!
|
||||
error.io = Sareko irteera/sarrera errorea.
|
||||
error.any = Sareko errore ezezaguna.
|
||||
error.bloom = Ezin izan da distira hasieratu.\nAgian zure gailuak ez du onartzen.
|
||||
|
||||
zone.groundZero.name = Zero eremua
|
||||
zone.desertWastes.name = Basamortuak
|
||||
zone.craters.name = Kraterrak
|
||||
@@ -461,6 +492,7 @@ zone.saltFlats.name = Gatz zelaiak
|
||||
zone.impact0078.name = 0078 talka
|
||||
zone.crags.name = Harkaitzak
|
||||
zone.fungalPass.name = Onddo mendatea
|
||||
|
||||
zone.groundZero.description = Berriro hasteko kokaleku egokiena.\nBaliabide gutxi daude baina etsaien mehatxua ere txikia da.\nEskuratu ahal beste berun eta kobre.\nSegi aurrera.
|
||||
zone.frozenForest.description = Hemen ere, mendietatik hurbil, esporak sakabanatu dira. Tenperatura hotzek ez dituzte betirako geldiaraziko.\n\nHasi energia eskuratzeko abentura. Eraiki errekuntza sorgailuak. Ikasi konpontzaileak erabiltzen.
|
||||
zone.desertWastes.description = Basamortu hauen zabalak dira, ezustekoak, eta abandonaturiko sektore estrukturekin marratuak.\nBadago ikatza eskualde honetan. Erre energiarako, edo grafitoa sintetizatzeko.\n\n[lightgray]Ezin da lurreratze tokia bermatu.
|
||||
@@ -475,10 +507,12 @@ zone.nuclearComplex.description = Torioa ekoiztu eta prozesatzeko instalazio ohi
|
||||
zone.fungalPass.description = Mendi garaiak eta esporez jositako behe lautaden arteko transizio eremua. Etsaien araketa-base txiki bat dago hemen.\nSuntsitu ezazu.\nErabili Daga eta Ibilkari unitateak. Akabatu bi muinak.
|
||||
zone.impact0078.description = <jarri deskripzioa hemen>
|
||||
zone.crags.description = <jarri deskripzioa hemen>
|
||||
|
||||
settings.language = Hizkuntza
|
||||
settings.data = Jolasaren datuak
|
||||
settings.reset = Berrezarri lehenespenak
|
||||
settings.rebind = Aldatu
|
||||
settings.resetKey = Reset
|
||||
settings.controls = Kontrolak
|
||||
settings.game = Jolasa
|
||||
settings.sound = Soinua
|
||||
@@ -529,6 +563,7 @@ blocks.inaccuracy = Zehazgabetasuna
|
||||
blocks.shots = Tiroak
|
||||
blocks.reload = Tiroak/segundoko
|
||||
blocks.ammo = Munizioa
|
||||
|
||||
bar.drilltierreq = Zulagailu hobea behar da
|
||||
bar.drillspeed = Ustiatze-abiadura: {0}/s
|
||||
bar.pumpspeed = Ponpatze abiadura: {0}/s
|
||||
@@ -544,6 +579,9 @@ bar.heat = Beroa
|
||||
bar.power = Energia
|
||||
bar.progress = Eraikitze egoera
|
||||
bar.spawned = Unitateak: {0}/{1}
|
||||
bar.input = Input
|
||||
bar.output = Output
|
||||
|
||||
bullet.damage = [stat]{0}[lightgray] kalte
|
||||
bullet.splashdamage = [stat]{0}[lightgray] ingurune-kaltea ~[stat] {1}[lightgray] lauza
|
||||
bullet.incendiary = [stat]su-eragilea
|
||||
@@ -555,6 +593,7 @@ bullet.freezing = [stat]hozkirri
|
||||
bullet.tarred = [stat]mundrunduta
|
||||
bullet.multiplier = [stat]{0}[lightgray]x munizio-biderkatzailea
|
||||
bullet.reload = [stat]{0}[lightgray]x tiro tasa
|
||||
|
||||
unit.blocks = bloke
|
||||
unit.powersecond = energia unitate/segundoko
|
||||
unit.liquidsecond = likido unitate/segundoko
|
||||
@@ -567,6 +606,8 @@ unit.persecond = /seg
|
||||
unit.timesspeed = x abiadura
|
||||
unit.percent = %
|
||||
unit.items = elementu
|
||||
unit.thousands = k
|
||||
unit.millions = mil
|
||||
category.general = Orokorra
|
||||
category.power = Energia
|
||||
category.liquids = Likidoak
|
||||
@@ -579,6 +620,7 @@ setting.shadows.name = Itzalak
|
||||
setting.blockreplace.name = Bloke proposamen automatikoak
|
||||
setting.linear.name = Iragazte lineala
|
||||
setting.hints.name = Pistak
|
||||
setting.buildautopause.name = Auto-Pause Building
|
||||
setting.animatedwater.name = Animatutako ura
|
||||
setting.animatedshields.name = Animatutako ezkutuak
|
||||
setting.antialias.name = Antialias[lightgray] (berrabiarazi behar da)[]
|
||||
@@ -601,12 +643,16 @@ setting.screenshake.name = Pantailaren astindua
|
||||
setting.effects.name = Bistaratze-efektuak
|
||||
setting.destroyedblocks.name = Erakutsi suntsitutako blokeak
|
||||
setting.conveyorpathfinding.name = Garraio-zintak kokatzeko bide-bilaketa
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = Kontrolagailuaren sentikortasuna
|
||||
setting.saveinterval.name = Gordetzeko tartea
|
||||
setting.seconds = {0} segundo
|
||||
setting.blockselecttimeout.name = Block Select Timeout
|
||||
setting.milliseconds = {0} milliseconds
|
||||
setting.fullscreen.name = Pantaila osoa
|
||||
setting.borderlesswindow.name = Ertzik gabeko leihoa[lightgray] (berrabiaraztea behar lezake)
|
||||
setting.fps.name = Erakutsi FPS
|
||||
setting.blockselectkeys.name = Show Block Select Keys
|
||||
setting.vsync.name = VSync
|
||||
setting.pixelate.name = Pixelatu[lightgray] (animazioak desgaitzen ditu)
|
||||
setting.minimap.name = Erakutsi mapatxoa
|
||||
@@ -635,16 +681,36 @@ category.multiplayer.name = Hainbat jokalari
|
||||
command.attack = Eraso
|
||||
command.rally = Batu
|
||||
command.retreat = Erretreta
|
||||
placement.blockselectkeys = \n[lightgray]Key: [{0},
|
||||
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.toggle_power_lines.name = Toggle Power Lasers
|
||||
keybind.move_x.name = Mugitu x
|
||||
keybind.move_y.name = Mugitu y
|
||||
keybind.mouse_move.name = Follow Mouse
|
||||
keybind.dash.name = Arrapalada
|
||||
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.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 = Txandakatu pantaila osoa
|
||||
keybind.select.name = Hautatu/Tirokatu
|
||||
keybind.diagonal_placement.name = Kokatze diagonala
|
||||
@@ -657,7 +723,6 @@ keybind.menu.name = Menua
|
||||
keybind.pause.name = Pausatu
|
||||
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
|
||||
@@ -680,7 +745,9 @@ mode.pvp.description = Borrokatu beste jokalari batzuk lokalean.\n[gray]Gutxiene
|
||||
mode.attack.name = Erasoa
|
||||
mode.attack.description = Suntsitu etsaiaren basea. Boladarik ez.\n[gray]Kono gorria behar da mapan jolasteko.
|
||||
mode.custom = Arau pertsonalizatuak
|
||||
|
||||
rules.infiniteresources = Baliabide amaigabeak
|
||||
rules.reactorexplosions = Reactor Explosions
|
||||
rules.wavetimer = Boladen denboragailua
|
||||
rules.waves = Boladak
|
||||
rules.attack = Eraso modua
|
||||
@@ -688,6 +755,7 @@ rules.enemyCheat = IA-k (talde gorriak) baliabide amaigabeak ditu
|
||||
rules.unitdrops = Unitate-sorrerak
|
||||
rules.unitbuildspeedmultiplier = Unitateen sorrerarako abiadura-biderkatzailea
|
||||
rules.unithealthmultiplier = Unitateen osasun-biderkatzailea
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = Jokalariaren osasun-biderkatzailea
|
||||
rules.playerdamagemultiplier = Jokalariaren kalte-biderkatzailea
|
||||
rules.unitdamagemultiplier = Unitateen kalte-biderkatzailea
|
||||
@@ -706,6 +774,10 @@ rules.title.resourcesbuilding = Baliabideak eta eraikuntza
|
||||
rules.title.player = Jokalariak
|
||||
rules.title.enemy = Etsaiak
|
||||
rules.title.unit = Unitateak
|
||||
rules.title.experimental = Experimental
|
||||
rules.lighting = Lighting
|
||||
rules.ambientlight = Ambient Light
|
||||
|
||||
content.item.name = Solidoak
|
||||
content.liquid.name = Likidoak
|
||||
content.unit.name = Unitateak
|
||||
@@ -752,6 +824,7 @@ mech.trident-ship.name = Hiruhortz
|
||||
mech.trident-ship.weapon = Bonba jaregilea
|
||||
mech.glaive-ship.name = Guja
|
||||
mech.glaive-ship.weapon = Sugar errepika-fusila
|
||||
item.corestorable = [lightgray]Storable in Core: {0}
|
||||
item.explosiveness = [lightgray]Lehergarritasuna: {0}%
|
||||
item.flammability = [lightgray]Sukoitasuna: {0}%
|
||||
item.radioactivity = [lightgray]Erradioaktibitatea: {0}%
|
||||
@@ -767,6 +840,7 @@ mech.buildspeed = [lightgray]Eraikitze abiadura: {0}%
|
||||
liquid.heatcapacity = [lightgray]Bero edukiera: {0}
|
||||
liquid.viscosity = [lightgray]Likatasuna: {0}
|
||||
liquid.temperature = [lightgray]Tenperatura: {0}
|
||||
|
||||
block.sand-boulder.name = Hondar harkaitza
|
||||
block.grass.name = Belarra
|
||||
block.salt.name = Gatza
|
||||
@@ -865,6 +939,8 @@ block.distributor.name = Banatzailea
|
||||
block.sorter.name = Antolatzailea
|
||||
block.inverted-sorter.name = Alderantzizko antolatzailea
|
||||
block.message.name = Mezua
|
||||
block.illuminator.name = Illuminator
|
||||
block.illuminator.description = A small, compact, configurable light source. Requires power to function.
|
||||
block.overflow-gate.name = Gainezkatze atea
|
||||
block.silicon-smelter.name = Silizio galdategia
|
||||
block.phase-weaver.name = Fase ehulea
|
||||
@@ -878,6 +954,7 @@ block.coal-centrifuge.name = Ikatz zentrifugagailua
|
||||
block.power-node.name = Energia-nodoa
|
||||
block.power-node-large.name = Energia-nodo handia
|
||||
block.surge-tower.name = Tirainezko dorrea
|
||||
block.diode.name = Battery Diode
|
||||
block.battery.name = Bateria
|
||||
block.battery-large.name = Bateria handia
|
||||
block.combustion-generator.name = Errekuntza sorgailua
|
||||
@@ -901,6 +978,7 @@ block.mechanical-pump.name = Ponpa mekanikoa
|
||||
block.item-source.name = Elementu-iturria
|
||||
block.item-void.name = Elementu-zuloa
|
||||
block.liquid-source.name = Likido-iturria
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = Energia-zuloa
|
||||
block.power-source.name = Energia amaigabea
|
||||
block.unloader.name = Deskargagailua
|
||||
@@ -930,6 +1008,7 @@ block.fortress-factory.name = Gotorleku meka faktoria
|
||||
block.revenant-factory.name = Mamu ehiza-hegazkin faktoria
|
||||
block.repair-point.name = Konponketa puntua
|
||||
block.pulse-conduit.name = Pultsu hodia
|
||||
block.plated-conduit.name = Plated Conduit
|
||||
block.phase-conduit.name = Fasezko hodia
|
||||
block.liquid-router.name = Likidoen bideratzailea
|
||||
block.liquid-tank.name = Likidoentzako tankea
|
||||
@@ -1001,6 +1080,7 @@ tutorial.deposit = Baliabideak blokeren batean sartzeko, arrastatu zure ontzitik
|
||||
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[] 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.
|
||||
item.metaglass.description = Beirazko konposatu izugarri sendoa. Asko erabilia likidoen garraio eta biltegiratzerako.
|
||||
@@ -1062,6 +1142,7 @@ block.power-source.description = Energia emari etengabea. Jolastokian besterik e
|
||||
block.item-source.description = Elementuen iturri amaigabea. Jolastokian besterik ez.
|
||||
block.item-void.description = Elementu guztiak suntsitzen ditu. Jolastokian besterik ez.
|
||||
block.liquid-source.description = Likidoen emari amaigabea. Jolastokian besterik ez.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = Babeserako bloke merke bat.\nMuina eta dorreak lehen boladetan babesteko erabilgarria.
|
||||
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.
|
||||
@@ -1097,6 +1178,7 @@ block.rotary-pump.description = Ponpa aurreratu bat. Likido gehiago barreiatzen
|
||||
block.thermal-pump.description = Ponpa gorena.
|
||||
block.conduit.description = Likidoen garraiorako oinarrizko blokea. Likidoak daramatza. Ponpa eta bestelako hodiekin batera erabilia.
|
||||
block.pulse-conduit.description = Likidoen garraiorako bloke aurreratua. Hodi arruntek baino azkarrago garraiatzen ditu likidoak eta edukiera handiagoa du.
|
||||
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 = Likidoan alde batetik jaso eta gehienez beste 3 norabideetara ateratzen ditu kopuru berdinean. Likido apur bat ere biltegiratu dezake. Likidoak iturri batetik hainbat xedeetara eramateko erabilgarria.
|
||||
block.liquid-tank.description = Likidoen kopuru handi bat biltegiratzen du. Erabili tarteko biltegiratzerako materialen eskaria etengabekoa ez denean, edo ezinbesteko blokeentzako hozgarriaren gordailu gisa.
|
||||
block.liquid-junction.description = Gurutzatzen diren bi hodi banatzeko zubi gisa aritzen da. Likido desberdinak daramatzaten bi hodi gurutzatzen direnean erabilgarria.
|
||||
@@ -1105,6 +1187,7 @@ block.phase-conduit.description = Likidoen garraiorako bloke aurreratua. Energia
|
||||
block.power-node.description = Konektatu nodoei energia igortzen die. Nodoa inguruko edozein blokeetara konektatuko da energia jaso edo igortzeko.
|
||||
block.power-node-large.description = Energia nodo aurreratua, irismen handiagoarekin eta konexio gehiagorekin.
|
||||
block.surge-tower.description = Muturreko irismen luzea duen energia-nodoa konexio erabilgarri gutxiagorekin.
|
||||
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 = Energia biltegiratu dezake gehiegi dagoenean tartekari gisa erabiltzeko. Behar denean energia igortzen du.
|
||||
block.battery-large.description = Bateria arrunt batek baino energia gehiago biltegiratu dezake.
|
||||
block.combustion-generator.description = Energia sortzen du gai erregarriak errez, esaterako ikatza.
|
||||
|
||||
@@ -3,19 +3,55 @@ credits = Tekijät
|
||||
contributors = Kääntäjät ja avustajat
|
||||
discord = Liity Mindustryn Discordiin!
|
||||
link.discord.description = Mindustryn virallinen Discord-keskusteluhuone
|
||||
link.reddit.description = The Mindustry subreddit
|
||||
link.github.description = Pelin lähdekoodi
|
||||
link.changelog.description = Lista päivityksien muutoksista
|
||||
link.dev-builds.description = Epävakaat kehitysversiot
|
||||
link.trello.description = Virallinen Trello-taulu suunnitelluille ominaisuuksille.
|
||||
link.itch.io.description = itch.io -sivu tietokoneversion latausten kanssa
|
||||
link.google-play.description = Google Play Kauppa -sivu
|
||||
link.f-droid.description = F-Droid catalogue listing
|
||||
link.wiki.description = Virallinen Mindustry wiki
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = Linkin avaaminen epäonnistui!\nOsoite on kopioitu leikepöydällesi.
|
||||
screenshot = Kuvankaappaus tallennettu sijaintiin {0}
|
||||
screenshot.invalid = Kartta liian laaja, kuvankaappaukselle ei mahdollisesti ole tarpeeksi tilaa.
|
||||
gameover = Peli ohi
|
||||
gameover.pvp = [accent] {0}[] joukkue voittaa!
|
||||
highscore = [accent]Uusi ennätys!
|
||||
copied = Copied.
|
||||
|
||||
load.sound = Sounds
|
||||
load.map = Maps
|
||||
load.image = Images
|
||||
load.content = Content
|
||||
load.system = System
|
||||
load.mod = Mods
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
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
|
||||
|
||||
stat.wave = Aaltoja voitettu:[accent] {0}
|
||||
stat.enemiesDestroyed = Vihollisia tuhottu:[accent] {0}
|
||||
@@ -25,10 +61,8 @@ stat.deconstructed = Rakennuksia purettu:[accent] {0}
|
||||
stat.delivered = Resursseja laukaistu:
|
||||
stat.rank = Lopullinen arvo: [accent]{0}
|
||||
|
||||
placeline = Olet valinnut palikan.\nVoit[accent] asettaa linjassa[][accent] pitämällä sormeasi pohjassa muutaman sekunnin ajan[] ja vetämällä johonkin suuntaan.\n\n[scarlet]TEE SE.
|
||||
removearea = Olet valinut poistotilan.\nVoit[accent] poistaa palikoita suorakulmiossa[][accent] pitämällä sormeasi pohjassa muutaman sekunnin ajan[] ja vetämällä.\n\n[scarlet]TEE SE.
|
||||
|
||||
launcheditems = [accent]Laukaistut tavarat
|
||||
launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue.
|
||||
map.delete = Oletko varma että haluat poistaa kartan "[accent]{0}[]"?
|
||||
level.highscore = Ennätys: [accent]{0}
|
||||
level.select = Tason valinta
|
||||
@@ -40,17 +74,59 @@ database = Ytimen tietokanta
|
||||
savegame = Tallenna peli
|
||||
loadgame = Lataa peli
|
||||
joingame = Liity peliin
|
||||
addplayers = Lisää/Poista pelaajia
|
||||
customgame = Mukautettu peli
|
||||
newgame = Uusi peli
|
||||
none = <ei mitään>
|
||||
minimap = Pienoiskartta
|
||||
position = Position
|
||||
close = Sulje
|
||||
website = Verkkosivu
|
||||
quit = Poistu
|
||||
save.quit = Save & Quit
|
||||
maps = Kartat
|
||||
maps.browse = Browse Maps
|
||||
continue = Jatka
|
||||
maps.none = [lightgray]Karttoja ei löytynyt!
|
||||
invalid = Invalid
|
||||
pickcolor = Pick Color
|
||||
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.
|
||||
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.requiresversion = [scarlet]Requires min game version: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Missing dependencies: {0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Errors have occurred loading content.
|
||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||
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.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that 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.
|
||||
mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly.
|
||||
|
||||
about.button = Tietoa
|
||||
name = Nimi:
|
||||
noname = Valitse ensin[accent] pelaajanimi[].
|
||||
@@ -65,25 +141,32 @@ players = {0} pelaajaa paikalla
|
||||
players.single = {0} pelaaja paikalla
|
||||
server.closing = [accent]Suljetaan palvelinta...
|
||||
server.kicked.kick = Sinut on potkittu palvelimelta!
|
||||
server.kicked.whitelist = You are not whitelisted here.
|
||||
server.kicked.serverClose = Palvelin suljettu.
|
||||
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||
server.kicked.clientOutdated = Pelisi on vanhentunut! Päivitä se!
|
||||
server.kicked.serverOutdated = Outdated server! Ask the host to update!
|
||||
server.kicked.banned = Sinulla on portikielto tälle palvelimelle.
|
||||
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||
server.kicked.playerLimit = This server is full. Wait for an empty slot.
|
||||
server.kicked.recentKick = Sinut on potkittu äskettäin.\nOdota ennen kuin yhdistät uudestaan.
|
||||
server.kicked.nameInUse = Joku tuon niminen\non jo tällä palvelimella.
|
||||
server.kicked.nameEmpty = Valitsemasi nimi on virheellinen.
|
||||
server.kicked.idInUse = Olet jo tällä palvelimella! Kahdella käyttäjällä yhdistäminen ei ole sallittua.
|
||||
server.kicked.customClient = Tämä palvelin ei tue muokattuja versioita. Lataa virallinen versio.
|
||||
server.kicked.gameover = Peli ohi!
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = Versiosi:[accent] {0}[]\nPalvelimen versio:[accent] {1}[]
|
||||
host.info = The [accent]host[] button hosts a server on port [scarlet]6567[]. \nAnybody on the same [lightgray]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[lightgray]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings. Note that public networks sometimes do not allow server discovery.
|
||||
join.info = Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[lightgray]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
|
||||
hostserver = Host Multiplayer Game
|
||||
invitefriends = Invite Friends
|
||||
hostserver.mobile = Host\nGame
|
||||
host = Host
|
||||
hosting = [accent]Avataan palvelinta...
|
||||
hosts.refresh = Päivitä
|
||||
hosts.discovering = Discovering LAN games
|
||||
hosts.discovering.any = Discovering games
|
||||
server.refreshing = Päivitetään palvelimen tietoja
|
||||
hosts.none = [lightgray]No local games found!
|
||||
host.invalid = [scarlet]Can't connect to host.
|
||||
@@ -107,20 +190,24 @@ server.version = [gray]v{0} {1}
|
||||
server.custombuild = [yellow]Custom Build
|
||||
confirmban = Are you sure you want to ban this player?
|
||||
confirmkick = Are you sure you want to kick this player?
|
||||
confirmvotekick = Are you sure you want to vote-kick this player?
|
||||
confirmunban = Are you sure you want to unban this player?
|
||||
confirmadmin = Are you sure you want to make this player an admin?
|
||||
confirmunadmin = Are you sure you want to remove admin status from this player?
|
||||
joingame.title = Liity peliin
|
||||
joingame.ip = Osoite:
|
||||
disconnect = Disconnected.
|
||||
disconnect.error = Connection error.
|
||||
disconnect.closed = Connection closed.
|
||||
disconnect.timeout = Timed out.
|
||||
disconnect.data = Failed to load world data!
|
||||
cantconnect = Unable to join game ([accent]{0}[]).
|
||||
connecting = [accent]Connecting...
|
||||
connecting.data = [accent]Loading world data...
|
||||
server.port = Portti:
|
||||
server.addressinuse = Address already in use!
|
||||
server.invalidport = Invalid port number!
|
||||
server.error = [crimson]Error hosting server: [accent]{0}
|
||||
save.old = This save is for an older version of the game, and can no longer be used.\n\n[lightgray]Save backwards compatibility will be implemented in the full 4.0 release.
|
||||
save.new = New Save
|
||||
save.overwrite = Are you sure you want to overwrite\nthis save slot?
|
||||
overwrite = Overwrite
|
||||
@@ -139,6 +226,7 @@ save.rename = Nimeä uudelleen
|
||||
save.rename.text = Uusi nimi:
|
||||
selectslot = Valitse tallennus.
|
||||
slot = [accent]Paikka {0}
|
||||
editmessage = Edit Message
|
||||
save.corrupted = [accent]Tallennustiedosto korruptoitunut tai viallinen!\nJos olet päivittänyt juuri pelisi, tämä on todennäköisesti muutos tallennusmuodossa [scarlet]eikä[] virhe.
|
||||
empty = <tyhjä>
|
||||
on = Päällä
|
||||
@@ -146,12 +234,14 @@ off = Pois
|
||||
save.autosave = Automaattitallennus: {0}
|
||||
save.map = Kartta: {0}
|
||||
save.wave = Aalto {0}
|
||||
save.difficulty = Vaikeustaso: {0}
|
||||
save.mode = Gamemode: {0}
|
||||
save.date = Viimeksi tallennettu: {0}
|
||||
save.playtime = Peliaika: {0}
|
||||
warning = Varoitus.
|
||||
confirm = Vahvista
|
||||
delete = Poista
|
||||
view.workshop = View In Workshop
|
||||
workshop.listing = Edit Workshop Listing
|
||||
ok = OK
|
||||
open = Avaa
|
||||
customize = Muokkaa sääntöjä
|
||||
@@ -159,12 +249,22 @@ cancel = Peruuta
|
||||
openlink = Avaa linkki
|
||||
copylink = Kopioi linkki
|
||||
back = Takaisin
|
||||
data.export = Export Data
|
||||
data.import = Import Data
|
||||
data.exported = Data exported.
|
||||
data.invalid = This isn't valid game data.
|
||||
data.import.confirm = Importing external data will overwrite[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||
classic.export = Export Classic Data
|
||||
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||
quit.confirm = Are you sure you want to quit?
|
||||
quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
|
||||
loading = [accent]Ladataan...
|
||||
reloading = [accent]Reloading Mods...
|
||||
saving = [accent]Tallennetaan...
|
||||
cancelbuilding = [accent][[{0}][] to clear plan
|
||||
selectschematic = [accent][[{0}][] to select+copy
|
||||
pausebuilding = [accent][[{0}][] to pause building
|
||||
resumebuilding = [scarlet][[{0}][] to resume building
|
||||
wave = [accent]Aalto {0}
|
||||
wave.waiting = [lightgray]Wave in {0}
|
||||
wave.waveInProgress = [lightgray]Wave in progress
|
||||
@@ -183,6 +283,19 @@ map.nospawn = Tässä kartassa ei ole ytimiä joihin syntyä! Lisää[accent] or
|
||||
map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Add[SCARLET] non-orange[] cores to this map in the editor.
|
||||
map.nospawn.attack = This map does not have any enemy cores for player to attack! Add[SCARLET] red[] cores to this map in the editor.
|
||||
map.invalid = Error loading map: corrupted or invalid map file.
|
||||
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}
|
||||
|
||||
editor.brush = Brush
|
||||
editor.openin = Avaa editorissa
|
||||
editor.oregen = Ore Generation
|
||||
@@ -190,11 +303,14 @@ editor.oregen.info = Ore Generation:
|
||||
editor.mapinfo = Kartan tiedot
|
||||
editor.author = Author:
|
||||
editor.description = Kuvaus:
|
||||
editor.nodescription = A map must have a description of at least 4 characters before being published.
|
||||
editor.waves = Aallot:
|
||||
editor.rules = Säännöt:
|
||||
editor.generation = Generation:
|
||||
editor.ingame = Edit In-Game
|
||||
editor.publish.workshop = Publish On Workshop
|
||||
editor.newmap = Uusi kartta
|
||||
workshop = Workshop
|
||||
waves.title = Aallot
|
||||
waves.remove = Remove
|
||||
waves.never = <ei koskaan>
|
||||
@@ -211,6 +327,7 @@ waves.invalid = Invalid waves in clipboard.
|
||||
waves.copied = Aallot kopioitu.
|
||||
waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout.
|
||||
editor.default = [lightgray]<Default>
|
||||
details = Details...
|
||||
edit = Muokkaa...
|
||||
editor.name = Nimi:
|
||||
editor.spawn = Spawn Unit
|
||||
@@ -220,6 +337,7 @@ editor.errorload = Virhe ladattaessa tiedostoa:\n[accent]{0}
|
||||
editor.errorsave = Virhe tallennettaessa tiedostoa:\n[accent]{0}
|
||||
editor.errorimage = That's an image, not a map. Don't go around changing extensions expecting it to work.\n\nIf you want to import a legacy map, use the 'import legacy map' button in the editor.
|
||||
editor.errorlegacy = This map is too old, and uses a legacy map format that is no longer supported.
|
||||
editor.errornot = This is not a map file.
|
||||
editor.errorheader = This map file is either not valid or corrupt.
|
||||
editor.errorname = Map has no name defined. Are you trying to load a save file?
|
||||
editor.update = Päivitä
|
||||
@@ -252,6 +370,7 @@ editor.resizemap = Resize Map
|
||||
editor.mapname = Kartan nimi:
|
||||
editor.overwrite = [accent]Warning!\nThis overwrites an existing map.
|
||||
editor.overwrite.confirm = [scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
|
||||
editor.exists = A map with this name already exists.
|
||||
editor.selectmap = Select a map to load:
|
||||
|
||||
toolmode.replace = Replace
|
||||
@@ -309,7 +428,6 @@ campaign = Campaign
|
||||
load = Lataa
|
||||
save = Tallenna
|
||||
fps = FPS: {0}
|
||||
tps = TPS: {0}
|
||||
ping = Ping: {0}ms
|
||||
language.restart = Please restart your game for the language settings to take effect.
|
||||
settings = Asetukset
|
||||
@@ -317,13 +435,14 @@ tutorial = Perehdytys
|
||||
tutorial.retake = Re-Take Tutorial
|
||||
editor = Editor
|
||||
mapeditor = Map Editor
|
||||
donate = Lahjoita
|
||||
|
||||
abandon = Hylkää
|
||||
abandon.text = This zone and all its resources will be lost to the enemy.
|
||||
locked = Lukittu
|
||||
complete = [lightgray]Reach:
|
||||
zone.requirement = Wave {0} in zone {1}
|
||||
requirement.wave = Reach Wave {0} in {1}
|
||||
requirement.core = Destroy Enemy Core in {0}
|
||||
requirement.unlock = Unlock {0}
|
||||
resume = Resume Zone:\n[lightgray]{0}
|
||||
bestwave = [lightgray]Best Wave: {0}
|
||||
launch = < LAUNCH >
|
||||
@@ -334,10 +453,13 @@ launch.confirm = This will launch all resources in your core.\nYou will not be a
|
||||
launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
|
||||
uncover = Uncover
|
||||
configure = Configure Loadout
|
||||
bannedblocks = Banned Blocks
|
||||
addall = Add All
|
||||
configure.locked = [lightgray]Unlock configuring loadout: Wave {0}.
|
||||
configure.invalid = Amount must be a number between 0 and {0}.
|
||||
zone.unlocked = [lightgray]{0} unlocked.
|
||||
zone.requirement.complete = Wave {0} reached:\n{1} zone requirements met.
|
||||
zone.config.complete = Wave {0} reached:\nLoadout config unlocked.
|
||||
zone.config.unlocked = Loadout unlocked:[lightgray]\n{0}
|
||||
zone.resources = [lightgray]Resources Detected:
|
||||
zone.objective = [lightgray]Objective: [accent]{0}
|
||||
zone.objective.survival = Survive
|
||||
@@ -387,8 +509,10 @@ zone.impact0078.description = <insert description here>
|
||||
zone.crags.description = <insert description here>
|
||||
|
||||
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
|
||||
@@ -396,15 +520,14 @@ settings.graphics = Graphics
|
||||
settings.cleardata = Clear Game Data...
|
||||
settings.clear.confirm = Are you sure you want to clear this data?\nWhat is done cannot be undone!
|
||||
settings.clearall.confirm = [scarlet]WARNING![]\nThis will clear all data, including saves, maps, unlocks and keybinds.\nOnce you press 'ok' the game will wipe all data and automatically exit.
|
||||
settings.clearunlocks = Clear Unlocks
|
||||
settings.clearall = Clear All
|
||||
paused = [accent]< Paused >
|
||||
clear = Clear
|
||||
banned = [scarlet]Banned
|
||||
yes = Yes
|
||||
no = No
|
||||
info.title = Info
|
||||
error.title = [crimson]An error has occured
|
||||
error.crashtitle = An error has occured
|
||||
attackpvponly = [scarlet]Only available in Attack/PvP modes
|
||||
blocks.input = Input
|
||||
blocks.output = Output
|
||||
blocks.booster = Booster
|
||||
@@ -420,6 +543,7 @@ blocks.shootrange = Range
|
||||
blocks.size = Size
|
||||
blocks.liquidcapacity = Liquid Capacity
|
||||
blocks.powerrange = Power Range
|
||||
blocks.powerconnections = Max Connections
|
||||
blocks.poweruse = Power Use
|
||||
blocks.powerdamage = Power/Damage
|
||||
blocks.itemcapacity = Item Capacity
|
||||
@@ -434,6 +558,7 @@ blocks.boosteffect = Boost Effect
|
||||
blocks.maxunits = Max Active Units
|
||||
blocks.health = Health
|
||||
blocks.buildtime = Build Time
|
||||
blocks.buildcost = Build Cost
|
||||
blocks.inaccuracy = Inaccuracy
|
||||
blocks.shots = Shots
|
||||
blocks.reload = Shots/Second
|
||||
@@ -441,16 +566,21 @@ blocks.ammo = Ammo
|
||||
|
||||
bar.drilltierreq = Better Drill Required
|
||||
bar.drillspeed = Drill Speed: {0}/s
|
||||
bar.pumpspeed = Pump Speed: {0}/s
|
||||
bar.efficiency = Efficiency: {0}%
|
||||
bar.powerbalance = Power: {0}/s
|
||||
bar.powerstored = Stored: {0}/{1}
|
||||
bar.poweramount = Power: {0}
|
||||
bar.poweroutput = Power Output: {0}
|
||||
bar.items = Items: {0}
|
||||
bar.capacity = Capacity: {0}
|
||||
bar.liquid = Liquid
|
||||
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
|
||||
@@ -476,6 +606,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
|
||||
@@ -485,13 +617,17 @@ category.shooting = Shooting
|
||||
category.optional = Optional Enhancements
|
||||
setting.landscape.name = Lock Landscape
|
||||
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.animatedwater.name = Animated Water
|
||||
setting.animatedshields.name = Animated Shields
|
||||
setting.antialias.name = Antialias[lightgray] (requires restart)[]
|
||||
setting.indicators.name = Enemy/Ally Indicators
|
||||
setting.autotarget.name = Auto-Target
|
||||
setting.keyboard.name = Mouse+Keyboard Controls
|
||||
setting.touchscreen.name = Touchscreen Controls
|
||||
setting.fpscap.name = Max FPS
|
||||
setting.fpscap.none = None
|
||||
setting.fpscap.text = {0} FPS
|
||||
@@ -505,24 +641,35 @@ setting.difficulty.insane = Insane
|
||||
setting.difficulty.name = Difficulty:
|
||||
setting.screenshake.name = Screen Shake
|
||||
setting.effects.name = Display Effects
|
||||
setting.destroyedblocks.name = Display Destroyed Blocks
|
||||
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = Controller Sensitivity
|
||||
setting.saveinterval.name = Save Interval
|
||||
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
|
||||
setting.blockselectkeys.name = Show Block Select Keys
|
||||
setting.vsync.name = VSync
|
||||
setting.lasers.name = Show Power Lasers
|
||||
setting.pixelate.name = Pixelate[lightgray] (disables animations)
|
||||
setting.minimap.name = Show Minimap
|
||||
setting.position.name = Show Player Position
|
||||
setting.musicvol.name = Music Volume
|
||||
setting.ambientvol.name = Ambient Volume
|
||||
setting.mutemusic.name = Mute Music
|
||||
setting.sfxvol.name = SFX Volume
|
||||
setting.mutesound.name = Mute Sound
|
||||
setting.crashreport.name = Send Anonymous Crash Reports
|
||||
setting.savecreate.name = Auto-Create Saves
|
||||
setting.publichost.name = Public Game Visibility
|
||||
setting.chatopacity.name = Chat Opacity
|
||||
setting.lasersopacity.name = Power Laser Opacity
|
||||
setting.playerchat.name = Display In-Game Chat
|
||||
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.
|
||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds...
|
||||
uiscale.cancel = Cancel & Exit
|
||||
setting.bloom.name = Bloom
|
||||
@@ -532,15 +679,39 @@ category.general.name = General
|
||||
category.view.name = View
|
||||
category.multiplayer.name = Multiplayer
|
||||
command.attack = Attack
|
||||
command.rally = Rally
|
||||
command.retreat = Retreat
|
||||
command.patrol = Patrol
|
||||
keybind.gridMode.name = Block Select
|
||||
keybind.gridModeShift.name = Category Select
|
||||
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.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
|
||||
keybind.pick.name = Pick Block
|
||||
@@ -550,12 +721,13 @@ keybind.shoot.name = Shoot
|
||||
keybind.zoom.name = Zoom
|
||||
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.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
|
||||
@@ -567,6 +739,7 @@ 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.
|
||||
mode.sandbox.name = Sandbox
|
||||
mode.sandbox.description = Infinite resources and no timer for waves.
|
||||
mode.editor.name = Editor
|
||||
mode.pvp.name = PvP
|
||||
mode.pvp.description = Fight against other players locally.\n[gray]Requires at least 2 differently-colored cores in the map to play.
|
||||
mode.attack.name = Attack
|
||||
@@ -574,6 +747,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
|
||||
@@ -581,6 +755,7 @@ rules.enemyCheat = Infinite AI (Red Team) Resources
|
||||
rules.unitdrops = Unit Drops
|
||||
rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier
|
||||
rules.unithealthmultiplier = Unit Health Multiplier
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = Player Health Multiplier
|
||||
rules.playerdamagemultiplier = Player Damage Multiplier
|
||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
||||
@@ -599,6 +774,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
|
||||
@@ -646,6 +824,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}%
|
||||
@@ -737,6 +916,8 @@ block.copper-wall.name = Copper Wall
|
||||
block.copper-wall-large.name = Large Copper Wall
|
||||
block.titanium-wall.name = Titanium Wall
|
||||
block.titanium-wall-large.name = Large Titanium Wall
|
||||
block.plastanium-wall.name = Plastanium Wall
|
||||
block.plastanium-wall-large.name = Large Plastanium Wall
|
||||
block.phase-wall.name = Phase Wall
|
||||
block.phase-wall-large.name = Large Phase Wall
|
||||
block.thorium-wall.name = Thorium Wall
|
||||
@@ -750,10 +931,16 @@ block.hail.name = Hail
|
||||
block.lancer.name = Lancer
|
||||
block.conveyor.name = Conveyor
|
||||
block.titanium-conveyor.name = Titanium Conveyor
|
||||
block.armored-conveyor.name = Armored Conveyor
|
||||
block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyor belts.
|
||||
block.junction.name = Junction
|
||||
block.router.name = Router
|
||||
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
|
||||
@@ -767,6 +954,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
|
||||
@@ -790,6 +978,7 @@ block.mechanical-pump.name = Mechanical Pump
|
||||
block.item-source.name = Item Source
|
||||
block.item-void.name = Item Void
|
||||
block.liquid-source.name = Liquid Source
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = Power Void
|
||||
block.power-source.name = Power Infinite
|
||||
block.unloader.name = Unloader
|
||||
@@ -806,6 +995,7 @@ block.blast-mixer.name = Blast Mixer
|
||||
block.solar-panel.name = Solar Panel
|
||||
block.solar-panel-large.name = Large Solar Panel
|
||||
block.oil-extractor.name = Oil Extractor
|
||||
block.command-center.name = Command Center
|
||||
block.draug-factory.name = Draug Miner Drone Factory
|
||||
block.spirit-factory.name = Spirit Repair Drone Factory
|
||||
block.phantom-factory.name = Phantom Builder Drone Factory
|
||||
@@ -818,6 +1008,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
|
||||
@@ -870,6 +1061,7 @@ unit.lich.name = Lich
|
||||
unit.reaper.name = Reaper
|
||||
tutorial.next = [lightgray]<Tap to continue>
|
||||
tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nBegin by[accent] mining copper[]. 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.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.[]
|
||||
@@ -889,7 +1081,6 @@ tutorial.waves = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 wav
|
||||
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||
|
||||
|
||||
item.copper.description = The most basic structural material. Used extensively in all types of blocks.
|
||||
item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks.
|
||||
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
||||
@@ -929,6 +1120,7 @@ unit.eruptor.description = A heavy mech designed to take down structures. Fires
|
||||
unit.wraith.description = A fast, hit-and-run interceptor unit. Targets power generators.
|
||||
unit.ghoul.description = A heavy carpet bomber. Rips through enemy structures, targeting critical infrastructure.
|
||||
unit.revenant.description = A heavy, hovering missile array.
|
||||
block.message.description = Stores a message. Used for communication between allies.
|
||||
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
||||
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
||||
block.silicon-smelter.description = Reduces sand with pure coal. Produces silicon.
|
||||
@@ -950,10 +1142,13 @@ block.power-source.description = Infinitely outputs power. Sandbox only.
|
||||
block.item-source.description = Infinitely outputs items. Sandbox only.
|
||||
block.item-void.description = Destroys any items. Sandbox only.
|
||||
block.liquid-source.description = Infinitely outputs liquids. Sandbox only.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.
|
||||
block.copper-wall-large.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.\nSpans multiple tiles.
|
||||
block.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies.
|
||||
block.titanium-wall-large.description = A moderately strong defensive block.\nProvides moderate protection from enemies.\nSpans multiple tiles.
|
||||
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.thorium-wall.description = A strong defensive block.\nDecent protection from enemies.
|
||||
block.thorium-wall-large.description = A strong defensive block.\nDecent protection from enemies.\nSpans multiple tiles.
|
||||
block.phase-wall.description = A wall coated with special phase-based reflective compound. Deflects most bullets upon impact.
|
||||
@@ -973,6 +1168,7 @@ block.junction.description = Acts as a bridge for two crossing conveyor belts. U
|
||||
block.bridge-conveyor.description = Advanced item transport block. Allows transporting items over up to 3 tiles of any terrain or building.
|
||||
block.phase-conveyor.description = Advanced item transport block. Uses power to teleport items to a connected phase conveyor over several tiles.
|
||||
block.sorter.description = Sorts items. If an item matches the selection, it is allowed to pass. Otherwise, the item is outputted to the left and right.
|
||||
block.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead.
|
||||
block.router.description = Accepts items, then outputs them to up to 3 other directions equally. Useful for splitting the materials from one source to multiple targets.\n\n[scarlet]Never use next to production inputs, as they will get clogged by output.[]
|
||||
block.distributor.description = An advanced router. Splits items to up to 7 other directions equally.
|
||||
block.overflow-gate.description = A combination splitter and router. Only outputs to the left and right if the front path is blocked.
|
||||
@@ -982,6 +1178,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.
|
||||
@@ -990,6 +1187,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 and more connections.
|
||||
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.
|
||||
@@ -1030,6 +1228,7 @@ block.ripple.description = An extremely powerful artillery turret. Shoots cluste
|
||||
block.cyclone.description = A large anti-air and anti-ground turret. Fires explosive clumps of flak at nearby units.
|
||||
block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets.
|
||||
block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate.
|
||||
block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to rally, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command.
|
||||
block.draug-factory.description = Produces Draug mining drones.
|
||||
block.spirit-factory.description = Produces Spirit structural repair drones.
|
||||
block.phantom-factory.description = Produces advanced construction drones.
|
||||
@@ -1047,4 +1246,4 @@ block.tau-mech-pad.description = Provides transformation into an advanced suppor
|
||||
block.omega-mech-pad.description = Provides transformation into a heavily-armored missile mech.\nUse by tapping while standing on it.
|
||||
block.javelin-ship-pad.description = Provides transformation into a quick, lightly-armored interceptor.\nUse by tapping while standing on it.
|
||||
block.trident-ship-pad.description = Provides transformation into a heavy support bomber.\nUse by tapping while standing on it.
|
||||
block.glaive-ship-pad.description = Provides transformation into a large, well-armored gunship.\nUse by tapping while standing on it.
|
||||
block.glaive-ship-pad.description = Provides transformation into a large, well-armored gunship.\nUse by tapping while standing on it.
|
||||
|
||||
@@ -12,6 +12,7 @@ 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
|
||||
link.feathub.description = Suggérer de nouvelles fonctionnalités
|
||||
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}
|
||||
screenshot.invalid = La carte est trop large, il n'y a potentiellement pas assez de mémoire pour la capture d'écran.
|
||||
@@ -26,6 +27,14 @@ load.image = Images
|
||||
load.content = Contenu
|
||||
load.system = Système
|
||||
load.mod = Mods
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = Une nouvelle version en developement est disponible:
|
||||
be.update.confirm = Téléchargez-la et redémarrez maintenant ?
|
||||
be.updating = Mise à jour...
|
||||
be.ignore = Ignorer
|
||||
be.noupdates = Aucune mise à jour trouvée.
|
||||
be.check = Vérifiez les mises à jour
|
||||
|
||||
schematic = Schéma
|
||||
schematic.add = Sauvegarder le schéma...
|
||||
@@ -94,24 +103,29 @@ mods = Mods
|
||||
mods.none = [LIGHT_GRAY]Aucun mod trouvé!
|
||||
mods.guide = Guide de Modding
|
||||
mods.report = Signaler un Bug
|
||||
mods.openfolder = Open Mod Folder
|
||||
mods.openfolder = Ouvrir le dossier des mods
|
||||
mod.enabled = [lightgray]Activé
|
||||
mod.disabled = [scarlet]Désactivé
|
||||
mod.disable = Désactiver
|
||||
mod.delete.error = Unable to delete mod. File may be in use.
|
||||
mod.delete.error = Impossible de supprimer le mod. Le fichier est probablement en cours d'utilisation.
|
||||
mod.requiresversion = [scarlet]Version du jeu requise : [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Dépendances manquantes: {0}
|
||||
mod.erroredcontent = [scarlet]Erreurs de contenu
|
||||
mod.errors = Des erreurs se sont produites lors du chargement du contenu.
|
||||
mod.noerrorplay = [scarlet]Vous avez des mods avec erreurs.[] Désactivez les mods concernés ou corrigez les erreurs avant de jouer.
|
||||
mod.nowdisabled = [scarlet]Le mod '{0}' a des dépendances manquantes:[accent] {1}\n[lightgray]Ces mods doivent d'abord être téléchargés.\nCe mod sera automatiquement désactivé.
|
||||
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.item.remove = Cet objet fait partie du mod[accent] '{0}'[]. Pour le supprimer, désinstallez le mod en question.
|
||||
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.
|
||||
mod.scripts.unsupported = Votre appareil ne prend pas en charge les scripts de mod. Certains mods ne fonctionneront pas correctement.
|
||||
|
||||
about.button = À propos
|
||||
name = Nom:
|
||||
@@ -141,6 +155,7 @@ server.kicked.nameEmpty = Votre nom est invalide.
|
||||
server.kicked.idInUse = Vous êtes déjà sur ce serveur! Se connecter avec deux comptes n'est pas permis.
|
||||
server.kicked.customClient = Ce serveur ne supporte pas les versions personnalisées (Custom builds). Téléchargez une version officielle.
|
||||
server.kicked.gameover = Game over!
|
||||
server.kicked.serverRestarting = Le serveur est en train de redémarrer.
|
||||
server.versions = Votre version:[accent] {0}[]\nVersion du serveur:[accent] {1}[]
|
||||
host.info = Le bouton [accent]Héberger[] héberge un serveur sur le port [scarlet]6567[]. \nN'importe qui sur le même [lightgray]wifi ou réseau local []devrait voir votre serveur sur leur liste des serveurs.\n\nSi vous voulez que les gens puissent s'y connecter de partout à l'aide de votre IP, [accent]le transfert de port (port forwarding)[] est requis.\n\n[lightgray]Note: Si quelqu'un a des problèmes de connexion à votre partie LAN, vérifiez que vous avez autorisé l'accès à Mindustry sur votre réseau local dans les paramètres de votre pare-feu.
|
||||
join.info = Ici vous pouvez entrez [accent]l'adresse IP d'un serveur []pour s'y connecter, ou découvrir un serveur en [accent]réseau local[].\nLe multijoueur en LAN ainsi qu'en WAN est supporté.\n\n[lightgray]Note: Il n'y a pas de liste de serveurs globaux automatiques; Si vous voulez vous connectez à quelqu'un par IP, il faudra d'abord demander à l'hébergeur leur IP.
|
||||
@@ -628,6 +643,7 @@ setting.screenshake.name = Tremblement de l'écran
|
||||
setting.effects.name = Afficher les effets
|
||||
setting.destroyedblocks.name = Afficher les Blocs Détruits
|
||||
setting.conveyorpathfinding.name = Recherche de Chemin pour le Placement de Convoyeurs
|
||||
setting.coreselect.name = Autoriser les schémas contenant des Noyaux
|
||||
setting.sensitivity.name = Sensibilité de la manette
|
||||
setting.saveinterval.name = Intervalle des sauvegardes auto
|
||||
setting.seconds = {0} secondes
|
||||
@@ -739,6 +755,7 @@ rules.enemyCheat = Ressources infinies pour l'IA
|
||||
rules.unitdrops = Drops des unités
|
||||
rules.unitbuildspeedmultiplier = Multiplicateur de Vitesse de Construction d'Unités
|
||||
rules.unithealthmultiplier = Multiplicateur de Santé des Unités
|
||||
rules.blockhealthmultiplier = Multiplicateur de Santé de Bloc
|
||||
rules.playerhealthmultiplier = Multiplicateur de Santé des Joueurs
|
||||
rules.playerdamagemultiplier = Multiplicateur des Dégâts Joueurs
|
||||
rules.unitdamagemultiplier = Multiplicateur des dégâts Unité
|
||||
@@ -961,6 +978,7 @@ block.mechanical-pump.name = Pompe Mécanique
|
||||
block.item-source.name = Source de Ressources
|
||||
block.item-void.name = Destructeur de Ressources
|
||||
block.liquid-source.name = Source de Liquide
|
||||
block.liquid-void.name = Vaporisateur de Liquide
|
||||
block.power-void.name = Absorbeur Énergétique
|
||||
block.power-source.name = Énergie Infinie
|
||||
block.unloader.name = Déchargeur
|
||||
@@ -1124,6 +1142,7 @@ block.power-source.description = Produit de l'énergie à l'infini. Bac à sable
|
||||
block.item-source.description = Produit des objets à l'infini. Bac à sable uniquement .
|
||||
block.item-void.description = Désintègre n'importe quel objet qui va à l'intérieur sans utiliser d'énergie. Bac à sable uniquement.
|
||||
block.liquid-source.description = Source de liquide infinie . Bac à sable uniquement.
|
||||
block.liquid-void.description = Détruit n'importe quel liquide. Bac à sable uniquement.
|
||||
block.copper-wall.description = Un bloc défensif à faible coût.\nUtile pour protéger la base et les tourelles dans les premières lors des premières vagues.
|
||||
block.copper-wall-large.description = Un bloc défensif à faible coût.\nUtile pour protéger la base et les tourelles dans les premières lors des premières vagues.\n2 x 2.
|
||||
block.titanium-wall.description = Un bloc défensif standard.\nProcure une protection modérée contre les ennemis.
|
||||
|
||||
@@ -10,7 +10,9 @@ link.dev-builds.description = Versions instables de développement
|
||||
link.trello.description = Trello officiel pour les fonctionnalités planifiées.
|
||||
link.itch.io.description = Site itch.io avec les versions téléchargeables pour ordinateur.
|
||||
link.google-play.description = Page Google Play du jeu
|
||||
link.f-droid.description = F-Droid catalogue listing
|
||||
link.wiki.description = Wiki officiel de Mindustry
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = L'ouverture du lien a échoué!\nL'URL a été copiée dans votre presse-papier.
|
||||
screenshot = Capture d'écran enregistrée sur {0}
|
||||
screenshot.invalid = Carte trop grande, potentiellement pas assez de mémoire pour la capture d'écran.
|
||||
@@ -18,12 +20,22 @@ gameover = Le base a été détruite.
|
||||
gameover.pvp = L'équipe[accent] {0}[] a gagnée !
|
||||
highscore = [accent]Nouveau meilleur score !
|
||||
copied = Copied.
|
||||
|
||||
load.sound = Son
|
||||
load.map = Maps
|
||||
load.image = Images
|
||||
load.content = Contenu
|
||||
load.system = Système
|
||||
load.mod = Mods
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = Schematic
|
||||
schematic.add = Save Schematic...
|
||||
schematics = Schematics
|
||||
@@ -40,6 +52,7 @@ schematic.saved = Schematic saved.
|
||||
schematic.delete.confirm = This schematic will be utterly eradicated.
|
||||
schematic.rename = Rename Schematic
|
||||
schematic.info = {0}x{1}, {2} blocks
|
||||
|
||||
stat.wave = Vagues vaincues:[accent] {0}
|
||||
stat.enemiesDestroyed = Ennemies détruits:[accent] {0}
|
||||
stat.built = Bâtiments construits:[accent] {0}
|
||||
@@ -47,6 +60,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][[LAUNCH] your core to obtain the items indicated in blue.
|
||||
map.delete = Êtes-vous sûr de vouloir supprimer cette carte ?"[accent]{0}[]"?
|
||||
@@ -74,6 +88,7 @@ maps.browse = Browse Maps
|
||||
continue = Continue
|
||||
maps.none = [LIGHT_GRAY]Aucune carte trouvée!
|
||||
invalid = Invalid
|
||||
pickcolor = Pick Color
|
||||
preparingconfig = Preparing Config
|
||||
preparingcontent = Preparing Content
|
||||
uploadingcontent = Uploading Content
|
||||
@@ -81,6 +96,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.alpha = [accent](Alpha)
|
||||
mods = Mods
|
||||
@@ -92,18 +108,25 @@ 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 min game version: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Missing dependencies: {0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Errors have occurred loading content.
|
||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||
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.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that 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.
|
||||
mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly.
|
||||
|
||||
about.button = À propos
|
||||
name = Nom:
|
||||
noname = Choisissez d'abord [accent]un pseudo[].
|
||||
@@ -132,6 +155,7 @@ server.kicked.nameEmpty = Votre nom doit contenir au moins une lettre ou un chif
|
||||
server.kicked.idInUse = Vous êtes déjà sur ce serveur ! Se connecter avec deux comptes n'est pas permis !
|
||||
server.kicked.customClient = Ce serveur ne supporte pas les versions personnalisées (Custom builds). Télécharger une version officielle.
|
||||
server.kicked.gameover = Vous avez perdu !
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = Votre version:[accent] {0}[]\nVersion du serveur:[accent] {1}[]
|
||||
host.info = Le bouton [accent]héberger[] héberge un serveur sur les ports [scarlet]6567[] et [scarlet]6568.[]\nN'importe qui sur le même [LIGHT_GRAY]réseau wifi ou local[] devrait pouvoir voir votre serveur dans sa liste de serveurs.\n\nSi vous voulez que les gens puissent se connecter de n'importe où grâce à l'IP, [accent]rediriger les ports[] est requis.\n\n[LIGHT_GRAY]Note:Si quelqu'un éprouve des difficultés à se connecter à votre partie LAN, assurez-vous que vous avez autorisé Mindustry à accéder à votre réseau local dans les paramètres de votre pare-feu.
|
||||
join.info = Ici, vous pouvez entrer l' [accent]IP d'un serveur[] pour s'y connecter, ou découvrir les serveurs[accent]sur votre réseau local[] pour s'y connecter.\nLes parties multijoueur LAN et WAN sont toutes deux supportées.\n\n[LIGHT_GRAY]Note: Aucune liste globale des serveurs n'est génerée automatiquement: si vous voulez vous connecter à un serveur par IP, vous devrez demander l'IP à l'hébergeur.
|
||||
@@ -271,6 +295,7 @@ 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}
|
||||
|
||||
editor.brush = Pinceau
|
||||
editor.openin = Ouvrir dans l'éditeur
|
||||
editor.oregen = Génération des minerais
|
||||
@@ -347,6 +372,7 @@ editor.overwrite = [accent]Attention!\nCela écrasera une carte existante.
|
||||
editor.overwrite.confirm = [scarlet]Attention ![] Une carte avec ce nom existe déjà. Êtes-vous sûr de vouloir la réécrire?
|
||||
editor.exists = A map with this name already exists.
|
||||
editor.selectmap = Sélectionnez une carte à charger:
|
||||
|
||||
toolmode.replace = Remplacer
|
||||
toolmode.replace.description = Dessine uniquement sur des blocs pleins.
|
||||
toolmode.replaceall = Remplacer tout
|
||||
@@ -361,6 +387,7 @@ toolmode.fillteams = Remplir les équipes
|
||||
toolmode.fillteams.description = Remplissez les équipes au lieu de blocs.
|
||||
toolmode.drawteams = Tirage au sort des équipes
|
||||
toolmode.drawteams.description = Dessinez des équipes au lieu de blocs.
|
||||
|
||||
filters.empty = [LIGHT_GRAY]Aucun filtre! Ajoutez-en un avec les boutons ci-dessous.
|
||||
filter.distort = Déformation
|
||||
filter.noise = Bruit
|
||||
@@ -392,6 +419,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 +435,7 @@ tutorial = Tutoriel
|
||||
tutorial.retake = Re-Take Tutorial
|
||||
editor = Éditeur
|
||||
mapeditor = Éditeur de carte
|
||||
|
||||
abandon = Abandonner
|
||||
abandon.text = Cette zone et toutes ses ressources seront perdues.
|
||||
locked = Verrouillé
|
||||
@@ -437,6 +466,7 @@ zone.objective.survival = Survive
|
||||
zone.objective.attack = Détruire la base ennemi
|
||||
add = Ajouter...
|
||||
boss.health = Vie du BOSS
|
||||
|
||||
connectfail = [crimson]Échec de la connexion au serveur: [accent]{0}
|
||||
error.unreachable = Serveur inaccessible.
|
||||
error.invalidaddress = Adresse invalide.
|
||||
@@ -447,6 +477,7 @@ error.mapnotfound = Fichier de carte introuvable !
|
||||
error.io = Network I/O error.
|
||||
error.any = Erreur réseau inconnue.
|
||||
error.bloom = Échec d'initialisation du flou lumineux.\nVotre appareil peut ne pas le supporter.
|
||||
|
||||
zone.groundZero.name = Première Bataille
|
||||
zone.desertWastes.name = Déchets du désert
|
||||
zone.craters.name = Les Cratères
|
||||
@@ -461,6 +492,7 @@ zone.saltFlats.name = Salière
|
||||
zone.impact0078.name = Impact 0078
|
||||
zone.crags.name = Crags
|
||||
zone.fungalPass.name = Fungal Pass
|
||||
|
||||
zone.groundZero.description = L'emplacement optimal pour recommencer. Faible menace ennemie. Peu de ressources.\nRassemblez autant de plomb et de cuivre que possible.\nAllons-y
|
||||
zone.frozenForest.description = Même ici, plus près des montagnes, les spores se sont propagées. Les températures glaciales ne peuvent pas les contenir pour toujours.\n\nCommencez l'aventure au pouvoir. Construire des générateurs de combustion. Apprenez à utiliser les réparations.
|
||||
zone.desertWastes.description = Ces déchets sont vastes, imprévisibles, et sillonné de structures du secteur désaffectés.\nLe charbon est présent dans la région. Brulez-le pour obtenir de l'énergie ou synthétisez du graphite.\n\n[lightgray]Ce lieu d'atterrissage ne peut être garanti.
|
||||
@@ -475,10 +507,12 @@ zone.nuclearComplex.description = Une ancienne installation de production et de
|
||||
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||
zone.impact0078.description = <insérer la description ici>
|
||||
zone.crags.description = <insérer la description ici>
|
||||
|
||||
settings.language = Langage
|
||||
settings.data = Game Data
|
||||
settings.reset = Valeur par défaut.
|
||||
settings.rebind = Réatttribuer
|
||||
settings.resetKey = Reset
|
||||
settings.controls = Contrôles
|
||||
settings.game = Jeu
|
||||
settings.sound = Son
|
||||
@@ -529,6 +563,7 @@ blocks.inaccuracy = Précision
|
||||
blocks.shots = Tirs
|
||||
blocks.reload = Tirs/Seconde
|
||||
blocks.ammo = Munition
|
||||
|
||||
bar.drilltierreq = Better Drill Required
|
||||
bar.drillspeed = Vitesse de forage: {0}/s
|
||||
bar.pumpspeed = Pump Speed: {0}/s
|
||||
@@ -544,6 +579,9 @@ bar.heat = Chaleur
|
||||
bar.power = Énergie
|
||||
bar.progress = Progression de la construction
|
||||
bar.spawned = Unités: {0}/{1}
|
||||
bar.input = Input
|
||||
bar.output = Output
|
||||
|
||||
bullet.damage = [stat]{0}[lightgray] dégats
|
||||
bullet.splashdamage = [stat]{0}[lightgray] dgt zone ~[stat] {1}[lightgray] tuiles
|
||||
bullet.incendiary = [stat]incendiaire
|
||||
@@ -555,6 +593,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 rechargement
|
||||
|
||||
unit.blocks = Blocs
|
||||
unit.powersecond = Énergie/seconde
|
||||
unit.liquidsecond = Liquides/seconde
|
||||
@@ -567,6 +606,8 @@ unit.persecond = /sec
|
||||
unit.timesspeed = x vitesse
|
||||
unit.percent = %
|
||||
unit.items = Objets
|
||||
unit.thousands = k
|
||||
unit.millions = mil
|
||||
category.general = Général
|
||||
category.power = Énergie
|
||||
category.liquids = Liquides
|
||||
@@ -579,6 +620,7 @@ setting.shadows.name = Ombres
|
||||
setting.blockreplace.name = Automatic Block Suggestions
|
||||
setting.linear.name = Filtrage linéaire
|
||||
setting.hints.name = Hints
|
||||
setting.buildautopause.name = Auto-Pause Building
|
||||
setting.animatedwater.name = Eau animée
|
||||
setting.animatedshields.name = Boucliers Animés
|
||||
setting.antialias.name = Antialias[LIGHT_GRAY] (demande le redémarrage de l'appareil)[]
|
||||
@@ -601,12 +643,16 @@ setting.screenshake.name = Tremblement d'écran
|
||||
setting.effects.name = Montrer les effets
|
||||
setting.destroyedblocks.name = Display Destroyed Blocks
|
||||
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = Contôle de la sensibilité
|
||||
setting.saveinterval.name = Intervalle des sauvegardes auto
|
||||
setting.seconds = {0} Secondes
|
||||
setting.blockselecttimeout.name = Block Select Timeout
|
||||
setting.milliseconds = {0} milliseconds
|
||||
setting.fullscreen.name = Plein écran
|
||||
setting.borderlesswindow.name = Fenêtre sans bordure[LIGHT_GRAY] (peut nécessiter un redémarrage)
|
||||
setting.fps.name = Afficher FPS
|
||||
setting.blockselectkeys.name = Show Block Select Keys
|
||||
setting.vsync.name = VSync
|
||||
setting.pixelate.name = Pixélisé [LIGHT_GRAY](peut diminuer les performances)[]
|
||||
setting.minimap.name = Montrer la minimap
|
||||
@@ -635,16 +681,36 @@ category.multiplayer.name = Multijoueur
|
||||
command.attack = Attaquer
|
||||
command.rally = Rally
|
||||
command.retreat = Retraite
|
||||
placement.blockselectkeys = \n[lightgray]Key: [{0},
|
||||
keybind.clear_building.name = Clear Building
|
||||
keybind.press = Appuyez sur une touche ...
|
||||
keybind.press.axis = Appuyez sur un axe ou une touche...
|
||||
keybind.screenshot.name = Map Screenshot
|
||||
keybind.toggle_power_lines.name = Toggle Power Lasers
|
||||
keybind.move_x.name = Mouvement X
|
||||
keybind.move_y.name = Mouvement Y
|
||||
keybind.mouse_move.name = Follow Mouse
|
||||
keybind.dash.name = Sprint
|
||||
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 = Basculer en plein écran
|
||||
keybind.select.name = Sélectionner/Tirer
|
||||
keybind.diagonal_placement.name = Placement en diagonal
|
||||
@@ -657,7 +723,6 @@ keybind.menu.name = Menu
|
||||
keybind.pause.name = Pause
|
||||
keybind.pause_building.name = Pause/Resume Building
|
||||
keybind.minimap.name = Mini-Map
|
||||
keybind.dash.name = Sprint
|
||||
keybind.chat.name = Tchat
|
||||
keybind.player_list.name = Liste des joueurs
|
||||
keybind.console.name = Console
|
||||
@@ -680,7 +745,9 @@ mode.pvp.description = Lutter contre d'autres joueurs pour gagner !
|
||||
mode.attack.name = Attaque
|
||||
mode.attack.description = Pas de vagues, le but est de détruire la base ennemie.
|
||||
mode.custom = Règles personnalisées
|
||||
|
||||
rules.infiniteresources = Ressources infinies
|
||||
rules.reactorexplosions = Reactor Explosions
|
||||
rules.wavetimer = Temps de vague
|
||||
rules.waves = Vague
|
||||
rules.attack = Mode attaque
|
||||
@@ -688,6 +755,7 @@ rules.enemyCheat = Ressources infinies pour l'IA
|
||||
rules.unitdrops = Uniter Drops
|
||||
rules.unitbuildspeedmultiplier = Multiplicateur de vitesse de création d'unités
|
||||
rules.unithealthmultiplier = Multiplicateur de la santé des unités
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = Multiplicateur de la santé des joueurs
|
||||
rules.playerdamagemultiplier = Multiplicateur de dégât des joueurs
|
||||
rules.unitdamagemultiplier = Multiplicateur de dégât des unités
|
||||
@@ -706,6 +774,10 @@ rules.title.resourcesbuilding = Ressources & Bâtiment
|
||||
rules.title.player = Joueurs
|
||||
rules.title.enemy = Ennemis
|
||||
rules.title.unit = Unités
|
||||
rules.title.experimental = Experimental
|
||||
rules.lighting = Lighting
|
||||
rules.ambientlight = Ambient Light
|
||||
|
||||
content.item.name = Objets
|
||||
content.liquid.name = Liquides
|
||||
content.unit.name = Unités
|
||||
@@ -717,7 +789,7 @@ item.coal.name = Charbon
|
||||
item.graphite.name = Graphite
|
||||
item.titanium.name = Titane
|
||||
item.thorium.name = Thorium
|
||||
item.silicon.name = Silicone
|
||||
item.silicon.name = Silicium
|
||||
item.plastanium.name = Plastanium
|
||||
item.phase-fabric.name = Phase Fabric
|
||||
item.surge-alloy.name = Alliage superchargé
|
||||
@@ -752,6 +824,7 @@ mech.trident-ship.name = Trident
|
||||
mech.trident-ship.weapon = Largage de bombe
|
||||
mech.glaive-ship.name = Glaive
|
||||
mech.glaive-ship.weapon = Fusil automatique incendiaire
|
||||
item.corestorable = [lightgray]Storable in Core: {0}
|
||||
item.explosiveness = [LIGHT_GRAY]Explosivité: {0}
|
||||
item.flammability = [LIGHT_GRAY]Inflammabilité: {0}
|
||||
item.radioactivity = [LIGHT_GRAY]Radioactivité: {0}
|
||||
@@ -767,6 +840,7 @@ mech.buildspeed = [LIGHT_GRAY]Building Speed: {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 = Sable rocheux
|
||||
block.grass.name = Herbe
|
||||
block.salt.name = Sel
|
||||
@@ -865,8 +939,10 @@ block.distributor.name = [accent]Distributeur[]
|
||||
block.sorter.name = Trieur
|
||||
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 = Barrière de Débordement
|
||||
block.silicon-smelter.name = Fonderie de silicone
|
||||
block.silicon-smelter.name = Fonderie de silicium
|
||||
block.phase-weaver.name = Tisseur à phase
|
||||
block.pulverizer.name = Pulvérisateur
|
||||
block.cryofluidmixer.name = Refroidisseur
|
||||
@@ -878,6 +954,7 @@ block.coal-centrifuge.name = Centrifugeuse à 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 = Battery Diode
|
||||
block.battery.name = Batterie
|
||||
block.battery-large.name = Batterie large
|
||||
block.combustion-generator.name = Générateur à combustion
|
||||
@@ -901,6 +978,7 @@ block.mechanical-pump.name = Pompe Méchanique
|
||||
block.item-source.name = Source d'objets
|
||||
block.item-void.name = Destructeur d'objets
|
||||
block.liquid-source.name = Source de liquide
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = Absorbeur énergétique
|
||||
block.power-source.name = Puissance infinie
|
||||
block.unloader.name = Déchargeur
|
||||
@@ -930,6 +1008,7 @@ block.fortress-factory.name = Usine de "Forteresse"
|
||||
block.revenant-factory.name = Usine de "Revenants"
|
||||
block.repair-point.name = Point de Réparation
|
||||
block.pulse-conduit.name = Conduit à Impulsion
|
||||
block.plated-conduit.name = Plated Conduit
|
||||
block.phase-conduit.name = Conduit à Phase
|
||||
block.liquid-router.name = Routeur de Liquide
|
||||
block.liquid-tank.name = Réservoir de Liquide
|
||||
@@ -1001,6 +1080,7 @@ tutorial.deposit = Déposez les éléments dans des blocs en les faisant glisser
|
||||
tutorial.waves = Les [LIGHT_GRAY]ennemies[] approchent.\n\nDéfendez votre base durant 2 vagues.\nConstruisez plus de tourelles et de foreuses. Minez plus de cuivre.
|
||||
tutorial.waves.mobile = [lightgray]Les ennemies approchent[].\n\nDéfendez votre base durant 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 atteignez une vague spécifique, vous êtes en mesure de[accent] lancer votre base[], laissant vos défenses derrière vous et[accent] en obtenant toutes les ressources de votre base.[]\nCes ressources peuvent ensuite servir à la recherche de nouvelles technologies.\n\n[accent]Appuyez sur le bouton de lancement.
|
||||
|
||||
item.copper.description = Un matériau de construction utile. Utilisé intensivement dans tout les blocs.
|
||||
item.lead.description = Un matériau de départ. Utilisé intensivement en électronique et pour le transport de blocs.
|
||||
item.metaglass.description = Un composé de verre très résistant. Utilisation intensive pour la distribution et le stockage de liquides.
|
||||
@@ -1062,6 +1142,7 @@ block.power-source.description = Débit infini d'énergie. Bac à sable seulemen
|
||||
block.item-source.description = Sort infiniment les articles. Bac à sable seulement.
|
||||
block.item-void.description = Détruit tous les objets qui y entrent sans utiliser d'énergie. Bac à sable seulement.
|
||||
block.liquid-source.description = Débit infini de liquides. Bac à sable seulement.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = Un bloc défensif bon marché.\nUtile pour protéger le noyau et les tourelles lors des premières vagues.
|
||||
block.copper-wall-large.description = Un bloc défensif bon marché.\nUtile pour protéger le noyau et les tourelles lors des premières vagues.\nS'étend sur plusieurs tuiles.
|
||||
block.titanium-wall.description = Un bloc défensif modérément fort.\nFournit une protection modérée contre les ennemis.
|
||||
@@ -1097,6 +1178,7 @@ block.rotary-pump.description = Une pompe avancée qui double la vitesse en util
|
||||
block.thermal-pump.description = La pompe ultime. Trois fois plus rapide qu'une pompe mécanique et la seule pompe capable de récupérer de la lave.
|
||||
block.conduit.description = Bloc de transport liquide de base. Fonctionne comme un convoyeur, mais avec des liquides. Utilisation optimale avec des extracteurs, des pompes ou d’autres conduits.
|
||||
block.pulse-conduit.description = Bloc de transport de liquide avancé. Transporte les liquides plus rapidement et stocke plus que des conduits standard.
|
||||
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 = Accepte les liquides d'une direction et les envoie dans 3 autres directions de manière égale. Peut également stocker une certaine quantité de liquide. Utile pour séparer les liquides d'une source à plusieurs cibles.
|
||||
block.liquid-tank.description = Stocke une grande quantité de liquides. Utilisez-le pour créer des tampons en cas de demande non constante de matériaux ou comme protection pour le refroidissement des blocs vitaux.
|
||||
block.liquid-junction.description = Agit comme un pont pour deux conduits de croisement. Utile dans les situations avec deux conduits différents transportant des liquides différents à des endroits différents.
|
||||
@@ -1105,6 +1187,7 @@ block.phase-conduit.description = Bloc de transport de liquide avancé. Utilise
|
||||
block.power-node.description = Transmet la puissance à des noeuds connectés. Il est possible de connecter jusqu'à quatre sources d'alimentation, puits ou nœuds.\nLe nœud recevra de l’alimentation ou fournira l’alimentation à tous les blocs adjacents.
|
||||
block.power-node-large.description = Son rayon d'action est supérieur à celui du nœud d'alimentation et peut être connecté à six sources d'alimentation, puits ou nœuds au maximum.
|
||||
block.surge-tower.description = Un nœud d'alimentation extrêmement longue portée avec moins de connexions disponibles.
|
||||
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 = Stocke l’énergie chaque fois qu’il ya abondance et en cas de pénurie, tant qu’il reste de la capacité.
|
||||
block.battery-large.description = Stocke beaucoup plus d'énergie qu'une batterie ordinaire.
|
||||
block.combustion-generator.description = Génère de l'énergie en brûlant du pétrole ou des matériaux inflammables.
|
||||
|
||||
@@ -10,7 +10,9 @@ link.dev-builds.description = Bentuk pengembangan (kurang stabil)
|
||||
link.trello.description = Papan Trello resmi untuk fitur terencana
|
||||
link.itch.io.description = Halaman itch.io dengan PC download dan versi web
|
||||
link.google-play.description = Google Play Store
|
||||
link.f-droid.description = F-Droid catalogue listing
|
||||
link.wiki.description = Wiki Mindustry resmi
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = Gagal membuka tautan!\nURL disalin ke papan ke papan klip.
|
||||
screenshot = Tangkapan layar disimpan di {0}
|
||||
screenshot.invalid = Peta terlalu besar, tidak cukup memori untuk menangkap layar.
|
||||
@@ -18,12 +20,22 @@ gameover = Permainan Habis
|
||||
gameover.pvp = Tim[accent] {0}[] menang!
|
||||
highscore = [accent]Rekor Baru!
|
||||
copied = Copied.
|
||||
|
||||
load.sound = Suara
|
||||
load.map = Peta
|
||||
load.image = Gambar
|
||||
load.content = Konten
|
||||
load.system = Sistem
|
||||
load.mod = Mods
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = Schematic
|
||||
schematic.add = Save Schematic...
|
||||
schematics = Schematics
|
||||
@@ -40,6 +52,7 @@ schematic.saved = Schematic saved.
|
||||
schematic.delete.confirm = This schematic will be utterly eradicated.
|
||||
schematic.rename = Rename Schematic
|
||||
schematic.info = {0}x{1}, {2} blocks
|
||||
|
||||
stat.wave = Gelombang Terkalahkan:[accent] {0}
|
||||
stat.enemiesDestroyed = Musuh Terhancurkan:[accent] {0}
|
||||
stat.built = Jumlah Blok yang Dibangun:[accent] {0}
|
||||
@@ -47,6 +60,7 @@ stat.destroyed = Jumlah Blok Dihancurkan Musuh:[accent] {0}
|
||||
stat.deconstructed = Jumlah Blok Dihancurkan Pemain:[accent] {0}
|
||||
stat.delivered = Sumber Daya yang Diluncurkan:
|
||||
stat.rank = Nilai Akhir: [accent]{0}
|
||||
|
||||
launcheditems = [accent]Sumber Daya
|
||||
launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue.
|
||||
map.delete = Apakah Anda yakin ingin menghapus peta "[accent]{0}[]"?
|
||||
@@ -74,6 +88,7 @@ maps.browse = Cari Peta
|
||||
continue = Lanjutkan
|
||||
maps.none = [LIGHT_GRAY]Peta tidak ditemukan!
|
||||
invalid = Tidak valid
|
||||
pickcolor = Pick Color
|
||||
preparingconfig = Menyiapkan Config
|
||||
preparingcontent = Menyiapkan Content
|
||||
uploadingcontent = Mengupload Content
|
||||
@@ -81,6 +96,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.alpha = [accent](Alpha)
|
||||
mods = Mods
|
||||
@@ -92,18 +108,25 @@ 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 min game version: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Missing dependencies: {0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Errors have occurred loading content.
|
||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||
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.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that 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.
|
||||
mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly.
|
||||
|
||||
about.button = Tentang
|
||||
name = Nama:
|
||||
noname = Pilih[accent] nama pemain[] dahulu.
|
||||
@@ -132,6 +155,7 @@ server.kicked.nameEmpty = Nama yang dipilih tidak valid.
|
||||
server.kicked.idInUse = Anda telah berada di server ini! Memasuki dengan dua akun tidak diizinkan.
|
||||
server.kicked.customClient = Server ini tidak mendukung versi modifikasi. Download versi resmi.
|
||||
server.kicked.gameover = Game over!
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = Versi Anda:[accent] {0}[]\nVersi server:[accent] {1}[]
|
||||
host.info = Tombol [accent]host[] akan membuat server sementara di port [scarlet]6567[]. \nSemua orang yang memiliki [LIGHT_GRAY]Wi-Fi atau jaringan lokal[] akan bisa melihat server anda di daftar server mereka.\n\nJika Anda ingin pemain dari mana saja memasuki servermu dengan IP, [accent]port forwarding[] dibutuhkan.\n\n[LIGHT_GRAY]Diingat: Jika seseorang mengalami masalah memasuki permainan LAN mu, pastikan Anda telah mengizinkan Mindustry akses ke jaringan lokalmu di pengaturan firewall.
|
||||
join.info = Disini, Anda bisa memasuki [accent]server IP[], atau menemukan [accent]server lokal[] untuk bermain bersama.\nLAN dan WAN mendukung permainan bersama.\n\n[LIGHT_GRAY]Diingat: Tidak ada daftar server global; jika anda ingin bergabung dengan seseorang memakai IP, Anda perlu menanyakan host tentang IP mereka.
|
||||
@@ -271,6 +295,7 @@ 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}
|
||||
|
||||
editor.brush = Kuas
|
||||
editor.openin = Buka di Penyunting
|
||||
editor.oregen = Generasi Sumber Daya
|
||||
@@ -347,6 +372,7 @@ editor.overwrite = [accent]Peringatan!\nIni menindih peta yang telah ada.
|
||||
editor.overwrite.confirm = [scarlet]Peringatan![] Peta dengan nama ini sudah ada. Yakin ingin menindihnya?
|
||||
editor.exists = A map with this name already exists.
|
||||
editor.selectmap = Pilih peta untuk dimuat:
|
||||
|
||||
toolmode.replace = Replace
|
||||
toolmode.replace.description = Draws only on solid blocks.
|
||||
toolmode.replaceall = Replace All
|
||||
@@ -361,6 +387,7 @@ toolmode.fillteams = Fill Teams
|
||||
toolmode.fillteams.description = Fill teams instead of blocks.
|
||||
toolmode.drawteams = Draw Teams
|
||||
toolmode.drawteams.description = Draw teams instead of blocks.
|
||||
|
||||
filters.empty = [LIGHT_GRAY]Tidak ada filter! Tambahkan dengan tombol dibawah.
|
||||
filter.distort = Rusakkan
|
||||
filter.noise = Kebisingan
|
||||
@@ -392,6 +419,7 @@ filter.option.floor2 = Lantai Sekunder
|
||||
filter.option.threshold2 = Ambang Sekunder
|
||||
filter.option.radius = Radius
|
||||
filter.option.percentile = Perseratus
|
||||
|
||||
width = Lebar:
|
||||
height = Tinggi:
|
||||
menu = Menu
|
||||
@@ -407,6 +435,7 @@ tutorial = Tutorial
|
||||
tutorial.retake = Re-Take Tutorial
|
||||
editor = Penyunting
|
||||
mapeditor = Penyunting Peta
|
||||
|
||||
abandon = Tinggalkan
|
||||
abandon.text = Zona ini dan semua sumber daya didalamnya akan berada di tangan musuh.
|
||||
locked = Dikunci
|
||||
@@ -437,6 +466,7 @@ zone.objective.survival = Survive
|
||||
zone.objective.attack = Destroy Enemy Core
|
||||
add = Menambahkan...
|
||||
boss.health = Darah Boss
|
||||
|
||||
connectfail = [crimson]Gagal menyambung ke server:\n\n[accent]{0}
|
||||
error.unreachable = Server tak terjangkau.\nApakah alamatnya benar?
|
||||
error.invalidaddress = Alamat tidak valid.
|
||||
@@ -447,6 +477,7 @@ error.mapnotfound = File peta tidak ditemaukan!
|
||||
error.io = Error jaringan I/O.
|
||||
error.any = Jaringan error tidak diketahui.
|
||||
error.bloom = Failed to initialize bloom.\nYour device may not support it.
|
||||
|
||||
zone.groundZero.name = Titik Nol
|
||||
zone.desertWastes.name = Gurun Gersang
|
||||
zone.craters.name = Kawah
|
||||
@@ -461,6 +492,7 @@ zone.saltFlats.name = Salt Flats
|
||||
zone.impact0078.name = Impact 0078
|
||||
zone.crags.name = Crags
|
||||
zone.fungalPass.name = Fungal Pass
|
||||
|
||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||
@@ -475,10 +507,12 @@ zone.nuclearComplex.description = A former facility for the production and proce
|
||||
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||
zone.impact0078.description = <insert description here>
|
||||
zone.crags.description = <insert description here>
|
||||
|
||||
settings.language = Bahasa
|
||||
settings.data = Game Data
|
||||
settings.reset = Atur ulang ke Default (standar)
|
||||
settings.rebind = Rebind
|
||||
settings.resetKey = Reset
|
||||
settings.controls = Kontrol
|
||||
settings.game = Permainan
|
||||
settings.sound = Suara
|
||||
@@ -529,6 +563,7 @@ blocks.inaccuracy = Jarak Melenceng
|
||||
blocks.shots = Tembakan
|
||||
blocks.reload = Tembakan/Detik
|
||||
blocks.ammo = Amunisi
|
||||
|
||||
bar.drilltierreq = Better Drill Required
|
||||
bar.drillspeed = Kecepatan Bor: {0}/s
|
||||
bar.pumpspeed = Pump Speed: {0}/s
|
||||
@@ -544,6 +579,9 @@ bar.heat = Panas
|
||||
bar.power = Tenaga
|
||||
bar.progress = Perkembangan Pembangunan
|
||||
bar.spawned = Unit: {0}/{1}
|
||||
bar.input = Input
|
||||
bar.output = Output
|
||||
|
||||
bullet.damage = [stat]{0}[lightgray] kekuatan (dmg)
|
||||
bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] kotak
|
||||
bullet.incendiary = [stat]pembakar
|
||||
@@ -555,6 +593,7 @@ bullet.freezing = [stat]membeku
|
||||
bullet.tarred = [stat]tar
|
||||
bullet.multiplier = [stat]{0}[lightgray]x multiplikasi amunisi
|
||||
bullet.reload = [stat]{0}[lightgray]x rasio menembak
|
||||
|
||||
unit.blocks = blok
|
||||
unit.powersecond = unit tenaga/detik
|
||||
unit.liquidsecond = unit zat cair/detik
|
||||
@@ -567,6 +606,8 @@ unit.persecond = /detik
|
||||
unit.timesspeed = x kecepatan
|
||||
unit.percent = %
|
||||
unit.items = item
|
||||
unit.thousands = k
|
||||
unit.millions = mil
|
||||
category.general = Umum
|
||||
category.power = Tenaga
|
||||
category.liquids = Zat Cair
|
||||
@@ -579,6 +620,7 @@ setting.shadows.name = Bayangan
|
||||
setting.blockreplace.name = Automatic Block Suggestions
|
||||
setting.linear.name = Linier Filter
|
||||
setting.hints.name = Hints
|
||||
setting.buildautopause.name = Auto-Pause Building
|
||||
setting.animatedwater.name = Animasi Air
|
||||
setting.animatedshields.name = Animasi Lindungan
|
||||
setting.antialias.name = Antialiasi[LIGHT_GRAY] (membutuhkan restart)[]
|
||||
@@ -601,12 +643,16 @@ setting.screenshake.name = Layar Getar
|
||||
setting.effects.name = Munculkan Efek
|
||||
setting.destroyedblocks.name = Display Destroyed Blocks
|
||||
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = Sensitivitas Kontroler
|
||||
setting.saveinterval.name = Jarak Menyimpan
|
||||
setting.seconds = {0} Detik
|
||||
setting.blockselecttimeout.name = Block Select Timeout
|
||||
setting.milliseconds = {0} milliseconds
|
||||
setting.fullscreen.name = Layar Penuh
|
||||
setting.borderlesswindow.name = Jendela tak Berbatas[LIGHT_GRAY] (bisa membutuhkan restart)
|
||||
setting.fps.name = Tunjukkan FPS
|
||||
setting.blockselectkeys.name = Show Block Select Keys
|
||||
setting.vsync.name = VSync
|
||||
setting.pixelate.name = Mode Pixel[LIGHT_GRAY] (menonaktifkan animasi)
|
||||
setting.minimap.name = Tunjukkan Peta kecil
|
||||
@@ -635,16 +681,36 @@ category.multiplayer.name = Bermain Bersama
|
||||
command.attack = Serang
|
||||
command.rally = Rally
|
||||
command.retreat = Mundur
|
||||
placement.blockselectkeys = \n[lightgray]Key: [{0},
|
||||
keybind.clear_building.name = Clear Building
|
||||
keybind.press = Tekan kunci...
|
||||
keybind.press.axis = Tekan sumbu atau kunci...
|
||||
keybind.screenshot.name = Tangkapan Layar Peta
|
||||
keybind.toggle_power_lines.name = Toggle Power Lasers
|
||||
keybind.move_x.name = Pindah x
|
||||
keybind.move_y.name = Pindah y
|
||||
keybind.mouse_move.name = Follow Mouse
|
||||
keybind.dash.name = Terbang
|
||||
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 = Pilih/Tembak
|
||||
keybind.diagonal_placement.name = Penaruhan Diagonal
|
||||
@@ -657,7 +723,6 @@ keybind.menu.name = Menu
|
||||
keybind.pause.name = Jeda
|
||||
keybind.pause_building.name = Pause/Resume Building
|
||||
keybind.minimap.name = Peta Kecil
|
||||
keybind.dash.name = Terbang
|
||||
keybind.chat.name = Chat
|
||||
keybind.player_list.name = Daftar pemain
|
||||
keybind.console.name = Console
|
||||
@@ -680,7 +745,9 @@ mode.pvp.description = Melawan Pemain lain. Membutuhkan setidaknya 2 inti berbed
|
||||
mode.attack.name = Penyerangan
|
||||
mode.attack.description = Menghancurkan base musuh. Tidak ada gelombang. Membutuhkan inti merah di dalam peta untuk main.
|
||||
mode.custom = Pengaturan Modifikasi
|
||||
|
||||
rules.infiniteresources = Sumber Daya Tak Terbatas
|
||||
rules.reactorexplosions = Reactor Explosions
|
||||
rules.wavetimer = Pengaturan Waktu Gelombang
|
||||
rules.waves = Gelombang
|
||||
rules.attack = Attack Mode
|
||||
@@ -688,6 +755,7 @@ rules.enemyCheat = Sumber Daya A.I Musuh (Tim Merah) Tak Terbatas
|
||||
rules.unitdrops = Munculnya Unit
|
||||
rules.unitbuildspeedmultiplier = Multiplikasi Kecepatan Munculnya Unit
|
||||
rules.unithealthmultiplier = Multiplikasi Darah Unit
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = Multiplikasi Darah Pemain
|
||||
rules.playerdamagemultiplier = Multiplikasi Kekuatan Pemain
|
||||
rules.unitdamagemultiplier = Multiplikasi Kekuatan Unit
|
||||
@@ -706,6 +774,10 @@ rules.title.resourcesbuilding = Sumber Daya & Bangunan
|
||||
rules.title.player = Pemain
|
||||
rules.title.enemy = Musush
|
||||
rules.title.unit = Unit
|
||||
rules.title.experimental = Experimental
|
||||
rules.lighting = Lighting
|
||||
rules.ambientlight = Ambient Light
|
||||
|
||||
content.item.name = Item
|
||||
content.liquid.name = Zat Cair
|
||||
content.unit.name = Unit
|
||||
@@ -752,6 +824,7 @@ mech.trident-ship.name = Trident
|
||||
mech.trident-ship.weapon = Lahan Bom
|
||||
mech.glaive-ship.name = Glaive
|
||||
mech.glaive-ship.weapon = Repeater Api
|
||||
item.corestorable = [lightgray]Storable in Core: {0}
|
||||
item.explosiveness = [LIGHT_GRAY]Tingkat Keledakan: {0}%
|
||||
item.flammability = [LIGHT_GRAY]Tingkat Kebakaran: {0}%
|
||||
item.radioactivity = [LIGHT_GRAY]Tingkat Radioaktif: {0}%
|
||||
@@ -767,6 +840,7 @@ mech.buildspeed = [LIGHT_GRAY]Kecepatan Membangun: {0}%
|
||||
liquid.heatcapacity = [LIGHT_GRAY]Kapasitas Panas: {0}
|
||||
liquid.viscosity = [LIGHT_GRAY]Kelekatan: {0}
|
||||
liquid.temperature = [LIGHT_GRAY]Suhu: {0}
|
||||
|
||||
block.sand-boulder.name = Sand Boulder
|
||||
block.grass.name = Rumput
|
||||
block.salt.name = Garam
|
||||
@@ -865,6 +939,8 @@ block.distributor.name = Distributor
|
||||
block.sorter.name = Penyortir
|
||||
block.inverted-sorter.name = Inverted Sorter
|
||||
block.message.name = Pesan
|
||||
block.illuminator.name = Illuminator
|
||||
block.illuminator.description = A small, compact, configurable light source. Requires power to function.
|
||||
block.overflow-gate.name = Gerbang Luap
|
||||
block.silicon-smelter.name = Pelebur Silikon
|
||||
block.phase-weaver.name = Pengrajut Phase
|
||||
@@ -878,6 +954,7 @@ block.coal-centrifuge.name = Sentrifugal Batu Bara
|
||||
block.power-node.name = Tiang Listrik
|
||||
block.power-node-large.name = Tiang Listrik Besar
|
||||
block.surge-tower.name = Tiang Surge
|
||||
block.diode.name = Battery Diode
|
||||
block.battery.name = Baterai
|
||||
block.battery-large.name = Baterai Besar
|
||||
block.combustion-generator.name = Generator Pembakar
|
||||
@@ -901,6 +978,7 @@ block.mechanical-pump.name = Pompa Mekanik
|
||||
block.item-source.name = Sumber Item
|
||||
block.item-void.name = Penghilang Item
|
||||
block.liquid-source.name = Sumber Zat Cair
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = Penghilang Listrik
|
||||
block.power-source.name = Listrik Takhingga
|
||||
block.unloader.name = Pembongkar Muatan
|
||||
@@ -930,6 +1008,7 @@ block.fortress-factory.name = Pabrik Robot Fortress
|
||||
block.revenant-factory.name = Pabrik Penyerang Revenant
|
||||
block.repair-point.name = Titik Pulih
|
||||
block.pulse-conduit.name = Selang Denyut
|
||||
block.plated-conduit.name = Plated Conduit
|
||||
block.phase-conduit.name = Selang Phase
|
||||
block.liquid-router.name = Penyortir Zat Cair
|
||||
block.liquid-tank.name = Tank Zat Cair
|
||||
@@ -1001,6 +1080,7 @@ tutorial.deposit = Deposit items into blocks by dragging from your ship to the d
|
||||
tutorial.waves = [LIGHT_GRAY] Musuh[] mendatang.\n\nLindungi intimu selama 2 gelombang. Bangun lebih banyak menara.
|
||||
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||
|
||||
item.copper.description = Bahan struktur yang berguna. Digunakan di semua tipe blok.
|
||||
item.lead.description = Bahan dasar di awal permainan. Digunakan di elektronik dan blok transportasi zat cair.
|
||||
item.metaglass.description = Kaca yang super-kuat. Digunakan untuk distribusi zar cair dan penyimpanan.
|
||||
@@ -1062,6 +1142,7 @@ block.power-source.description = Menghasilkan tenaga tak terbatas. Sandbox ekskl
|
||||
block.item-source.description = Mengeluarkan item tak terhingga. Sandbox eksklusif.
|
||||
block.item-void.description = Menghancurkan item apa saja tanpa penggunaan tenaga. Sandbox eksklusif.
|
||||
block.liquid-source.description = Mengeluarkan zat cair tak terhingga. Sandbox eksklusif.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = Blok pelindung murah.\nBerguna untuk melindungi inti dan menara di beberapa gelombang awal.
|
||||
block.copper-wall-large.description = Blok pelindung murah.\nBerguna untuk melindungi inti dan menara di beberapa gelombang awal.\nSebesar 4 blok.
|
||||
block.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies.
|
||||
@@ -1097,6 +1178,7 @@ block.rotary-pump.description = Pompa canggih yang kecepatannya dua kali lipat j
|
||||
block.thermal-pump.description = Pompa Tercanggih.
|
||||
block.conduit.description = Blok Transportasi Zat Cair Umum. Bekerja Seperti Pengantar, tetapi untuk zat cair.
|
||||
block.pulse-conduit.description = Blok Transportasi Zat Cair Canggih. Memindahkan dan menyimpan zat cair lebih cepat dan banyak daripada saluran biasa.
|
||||
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 = Menerima zat cair dari satu arah dan mengeluarkannya ke 3 arah yang sama. Bisa juga menyimpan sejumlah zat cair. Berguna untuk memisahkan zat cair dari satu sumber ke target yang banyak.
|
||||
block.liquid-tank.description = Menyimpan jumlah zat cair yang banyak. Gunakan sebagai penyangga ketika kebutuhan zat cair tidak konstan atau sebagai penjaga untuk mendinginkan blok yang vital.
|
||||
block.liquid-junction.description = Berguna seperti jembatan untuk dua saluran yang bersimpangan. Berguna di situasi dimana dua saluran berbeda membawa zat cair berbeda ke lokasi yang berbeda.
|
||||
@@ -1105,6 +1187,7 @@ block.phase-conduit.description = Blok Transportasi Zat Cair Canggih. Menggunaka
|
||||
block.power-node.description = Membawa tenaga ke tiang tersambung. hingga empat sumber listrik, sambungan atau tiang lainnya yang bisa disambung. Tiang akan mendapatkan atau memberi tenaga ke/dari blok yang disambung.
|
||||
block.power-node-large.description = Mempunyai radius lebih besar dari tiang listrik biasa dan bisa menyambung hingga enam to up to six sumber listrik, sambungan atau tiang lainnya.
|
||||
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 = Menyimpan tenaga jika ada kelimpahan dan memberikan tenaga jika ada kekurangan, asalkan ada kapasitas tersisa.
|
||||
block.battery-large.description = Menyimpan lebih banyak tenaga daripada baterai biasa.
|
||||
block.combustion-generator.description = Menghasilkan tenaga dengan membakar oli atau pembakar.
|
||||
|
||||
@@ -10,7 +10,9 @@ 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 catalogue listing
|
||||
link.wiki.description = 公式 Mindustry Wiki
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = リンクを開けませんでした!\nURLをクリップボードにコピーしました。
|
||||
screenshot = スクリーンショットを {0} に保存しました。
|
||||
screenshot.invalid = マップが広すぎます。スクリーンショットに必要なメモリが足りない可能性があります。
|
||||
@@ -18,12 +20,22 @@ gameover = ゲームオーバー
|
||||
gameover.pvp = [accent] {0}[] チームの勝利!
|
||||
highscore = [accent]ハイスコアを更新!
|
||||
copied = コピーしました。
|
||||
|
||||
load.sound = サウンド
|
||||
load.map = マップ
|
||||
load.image = 画像
|
||||
load.content = コンテンツ
|
||||
load.system = システム
|
||||
load.mod = MOD
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = 設計図
|
||||
schematic.add = 設計図を保存しています...
|
||||
schematics = 設計図一覧
|
||||
@@ -40,6 +52,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 +60,7 @@ stat.destroyed = 破壊した建造物数:[accent] {0}
|
||||
stat.deconstructed = 解体した建造物数:[accent] {0}
|
||||
stat.delivered = 獲得した資源:
|
||||
stat.rank = 最終ランク: [accent]{0}
|
||||
|
||||
launcheditems = [accent]回収したアイテム
|
||||
launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue.
|
||||
map.delete = マップ "[accent]{0}[]" を削除してもよろしいですか?
|
||||
@@ -74,6 +88,7 @@ maps.browse = マップを閲覧する
|
||||
continue = 続ける
|
||||
maps.none = [lightgray]マップが見つかりませんでした!
|
||||
invalid = 無効
|
||||
pickcolor = Pick Color
|
||||
preparingconfig = 設定ファイルを準備中
|
||||
preparingcontent = コンテンツを準備中
|
||||
uploadingcontent = コンテンツをアップロードしています
|
||||
@@ -81,6 +96,7 @@ uploadingpreviewfile = プレビューファイルをアップロードしてい
|
||||
committingchanges = 変更を適応中
|
||||
done = 完了
|
||||
feature.unsupported = あなたのデバイスはこの機能をサポートしていません。
|
||||
|
||||
mods.alphainfo = Mods機能は実験的なものです。[scarlet] エラーが含まれている可能性があります[]。\n 発見した問題をMindustry GitHubに報告してください。
|
||||
mods.alpha = [accent](Alpha)
|
||||
mods = Mods
|
||||
@@ -92,18 +108,25 @@ mod.enabled = [lightgray]有効
|
||||
mod.disabled = [scarlet]無効
|
||||
mod.disable = 無効化
|
||||
mod.delete.error = MODを削除することができませんでした。
|
||||
mod.requiresversion = [scarlet]Requires min game version: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Missing dependencies: {0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Errors have occurred loading content.
|
||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||
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 = GitHubからMODを読み込む
|
||||
mod.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that mod.
|
||||
mod.remove.confirm = このModを削除します。
|
||||
mod.author = [LIGHT_GRAY]著者:[] {0}
|
||||
mod.missing = このセーブには、アップグレードされた可能性があるModsか、ここに存在しないModsが必要です。 メモリのセーブを保存する! ロードしてもよろしいですか?\n[lightgray]MODS:\n{0}
|
||||
mod.preview.missing = このModをワークショップで公開するには、Modのプレビュー画像を設定する必要があります。\n[accent] preview.png[] というファイル名の画像をmodsのフォルダに配置し、再試行してください。
|
||||
mod.folder.missing = ワークショップで公開できるのは、フォルダ形式のModのみとなります。\nModをフォルダ形式に変換するには、ファイルをフォルダに解凍し、古いzipを削除してからゲームを再起動するか、modを再読み込みしてください。
|
||||
mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly.
|
||||
|
||||
about.button = 情報
|
||||
name = 名前:
|
||||
noname = [accent]プレイヤー名[]を入力してください。
|
||||
@@ -132,6 +155,7 @@ server.kicked.nameEmpty = 無効な名前です。
|
||||
server.kicked.idInUse = すでにサーバーに参加しています! 二つのアカウントでの同時接続は許可されていません。
|
||||
server.kicked.customClient = このサーバーはカスタムビルドをサポートしていません。公式版をダウンロードしてください。
|
||||
server.kicked.gameover = ゲームオーバー!
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = あなたのバージョン:[accent] {0}[]\nサーバーのバージョン:[accent] {1}[]
|
||||
host.info = [accent]ホスト[]をすると、ポート[scarlet]6567[]でサーバーが開かれまます。\n同じ[lightgray]WiFiやローカル上のネットワークなど[]ではサーバーリストに表示されるようになります。\n\nIPアドレスで他のところからも接続できるようにするには、[accent]ポート開放[]が必要です。\n\n注意: もしLAN上のゲームに参加できない場合、Mindustryがファイアーウォールの設定でローカルネットワークへの接続が許可されているかを確認してください。
|
||||
join.info = ここでは、[accent]サーバーのIPアドレス[]から接続したり、[accent]ローカル上[]のサーバーを探したりすることができます。\nLANやWAN上の両方のマルチプレイに対応しています。\n\n[lightgray]注意: 世界中のサーバーの一覧ではありません。他人のサーバーにIPアドレスで接続したい場合は、あらかじめホスト側にIPアドレスをお尋ねください。
|
||||
@@ -271,6 +295,7 @@ 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}
|
||||
|
||||
editor.brush = ブラシ
|
||||
editor.openin = エディターで開く
|
||||
editor.oregen = 鉱石の生成
|
||||
@@ -347,6 +372,7 @@ editor.overwrite = [accent]警告!\nすでに存在するマップを上書き
|
||||
editor.overwrite.confirm = [scarlet]警告![] すでに同じ名前のマップが存在します。上書きしてもよろしいですか?
|
||||
editor.exists = すでに同じ名前のマップが存在します。
|
||||
editor.selectmap = 読み込むマップを選択:
|
||||
|
||||
toolmode.replace = 置きかえ
|
||||
toolmode.replace.description = 固体ブロックのみに描きます。
|
||||
toolmode.replaceall = 全て置きかえ
|
||||
@@ -361,6 +387,7 @@ toolmode.fillteams = チームで埋める
|
||||
toolmode.fillteams.description = ブロックの代わりにチームで埋めます。
|
||||
toolmode.drawteams = チームを描く
|
||||
toolmode.drawteams.description = ブロックの代わりにチームを描きます。
|
||||
|
||||
filters.empty = [lightgray]フィルターが設定されていません! 下のボタンからフィルターを追加してください。
|
||||
filter.distort = ゆがみ
|
||||
filter.noise = ノイズ
|
||||
@@ -392,6 +419,7 @@ filter.option.floor2 = 2番目の地面
|
||||
filter.option.threshold2 = 2番目のスレッシュホールド
|
||||
filter.option.radius = 半径
|
||||
filter.option.percentile = パーセンタイル
|
||||
|
||||
width = 幅:
|
||||
height = 高さ:
|
||||
menu = メニュー
|
||||
@@ -407,6 +435,7 @@ tutorial = チュートリアル
|
||||
tutorial.retake = チュートリアル
|
||||
editor = エディター
|
||||
mapeditor = マップエディター
|
||||
|
||||
abandon = 撤退
|
||||
abandon.text = このゾーンのすべての資源が敵に奪われます。
|
||||
locked = ロック
|
||||
@@ -437,6 +466,7 @@ zone.objective.survival = 敵からコアを守り切る
|
||||
zone.objective.attack = 敵のコアを破壊する
|
||||
add = 追加...
|
||||
boss.health = ボスのHP
|
||||
|
||||
connectfail = [crimson]サーバーへ接続できませんでした:\n\n[accent]{0}
|
||||
error.unreachable = サーバーに到達できません。\nアドレスは正しいですか?
|
||||
error.invalidaddress = 無効なアドレスです。
|
||||
@@ -447,6 +477,7 @@ error.mapnotfound = マップファイルが見つかりません!
|
||||
error.io = ネットワークエラーです。
|
||||
error.any = 不明なネットワークエラーです。
|
||||
error.bloom = Bloomの初期化に失敗しました。\n恐らくあなたのデバイスではBloomがサポートされていません。
|
||||
|
||||
zone.groundZero.name = グラウンド · ゼロ
|
||||
zone.desertWastes.name = デザート · ウェーツ
|
||||
zone.craters.name = ザ · クレーター
|
||||
@@ -461,6 +492,7 @@ zone.saltFlats.name = ソルト · フラッツ
|
||||
zone.impact0078.name = インパクト 0078
|
||||
zone.crags.name = クラーグス
|
||||
zone.fungalPass.name = ファングル ・ パス
|
||||
|
||||
zone.groundZero.description = Mindustryに慣れていない初心者向けのマップです。敵は強くなく、資源も多すぎません。\n出来るだけ多くの銅と鉛を集めるのがポイントです。
|
||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\n電力を使用してみましょう。火力発電機を建設し、修復機の使い方を学びましょう。
|
||||
zone.desertWastes.description = 大量の廃棄物が散乱し、放棄された建造物が存在します。\nこのマップには石炭が存在します。石炭を燃やして発電したり、グラファイトを生成しましょう。\n\n[lightgray]この着陸位置は保証できません。
|
||||
@@ -475,10 +507,12 @@ zone.nuclearComplex.description = A former facility for the production and proce
|
||||
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||
zone.impact0078.description = <insert description here>
|
||||
zone.crags.description = <insert description here>
|
||||
|
||||
settings.language = 言語
|
||||
settings.data = ゲームデータ
|
||||
settings.reset = デフォルトにリセット
|
||||
settings.rebind = 再設定
|
||||
settings.resetKey = Reset
|
||||
settings.controls = コントロール
|
||||
settings.game = ゲーム
|
||||
settings.sound = サウンド
|
||||
@@ -529,6 +563,7 @@ blocks.inaccuracy = 精度のずれ
|
||||
blocks.shots = ショット
|
||||
blocks.reload = ショット/秒
|
||||
blocks.ammo = 弾薬
|
||||
|
||||
bar.drilltierreq = より良いドリルが必要です
|
||||
bar.drillspeed = 採掘速度: {0}/秒
|
||||
bar.pumpspeed = ポンプの速度: {0}/s
|
||||
@@ -544,6 +579,9 @@ bar.heat = 熱
|
||||
bar.power = 電力
|
||||
bar.progress = 建設状況
|
||||
bar.spawned = ユニット数: {0}/{1}
|
||||
bar.input = Input
|
||||
bar.output = Output
|
||||
|
||||
bullet.damage = [stat]{0}[lightgray] ダメージ
|
||||
bullet.splashdamage = [stat]{0}[lightgray] 範囲ダメージ 約[stat] {1}[lightgray] タイル
|
||||
bullet.incendiary = [stat]焼夷弾
|
||||
@@ -555,6 +593,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 +606,8 @@ unit.persecond = /秒
|
||||
unit.timesspeed = 倍の速度
|
||||
unit.percent = %
|
||||
unit.items = アイテム
|
||||
unit.thousands = k
|
||||
unit.millions = mil
|
||||
category.general = 一般
|
||||
category.power = 電力
|
||||
category.liquids = 液体
|
||||
@@ -579,6 +620,7 @@ setting.shadows.name = 影
|
||||
setting.blockreplace.name = Automatic Block Suggestions
|
||||
setting.linear.name = リニアフィルター
|
||||
setting.hints.name = ヒント
|
||||
setting.buildautopause.name = Auto-Pause Building
|
||||
setting.animatedwater.name = 水のアニメーション
|
||||
setting.animatedshields.name = シールドのアニメーション
|
||||
setting.antialias.name = アンチエイリアス[lightgray] (再起動が必要)[]
|
||||
@@ -601,12 +643,16 @@ setting.screenshake.name = 画面の揺れ
|
||||
setting.effects.name = 画面効果
|
||||
setting.destroyedblocks.name = 破壊されたブロックを表示
|
||||
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = 操作感度
|
||||
setting.saveinterval.name = 自動保存間隔
|
||||
setting.seconds = {0} 秒
|
||||
setting.blockselecttimeout.name = Block Select Timeout
|
||||
setting.milliseconds = {0} milliseconds
|
||||
setting.fullscreen.name = フルスクリーン
|
||||
setting.borderlesswindow.name = 境界の無いウィンドウ[lightgray] (再起動が必要になる場合があります)
|
||||
setting.fps.name = FPSを表示
|
||||
setting.blockselectkeys.name = Show Block Select Keys
|
||||
setting.vsync.name = VSync
|
||||
setting.pixelate.name = ピクセル化[lightgray] (アニメーションが無効化されます)
|
||||
setting.minimap.name = ミニマップを表示
|
||||
@@ -635,16 +681,36 @@ category.multiplayer.name = マルチプレイ
|
||||
command.attack = 攻撃
|
||||
command.rally = Rally
|
||||
command.retreat = 後退
|
||||
placement.blockselectkeys = \n[lightgray]Key: [{0},
|
||||
keybind.clear_building.name = Clear Building
|
||||
keybind.press = キーを押してください...
|
||||
keybind.press.axis = 軸またはキーを押してください...
|
||||
keybind.screenshot.name = スクリーンショット
|
||||
keybind.toggle_power_lines.name = Toggle Power Lasers
|
||||
keybind.move_x.name = 左右移動
|
||||
keybind.move_y.name = 上下移動
|
||||
keybind.mouse_move.name = Follow Mouse
|
||||
keybind.dash.name = ダッシュ
|
||||
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 = フルスクリーンの切り替え
|
||||
keybind.select.name = 選択/ショット
|
||||
keybind.diagonal_placement.name = 斜め設置
|
||||
@@ -657,7 +723,6 @@ keybind.menu.name = メニュー
|
||||
keybind.pause.name = ポーズ
|
||||
keybind.pause_building.name = Pause/Resume Building
|
||||
keybind.minimap.name = ミニマップ
|
||||
keybind.dash.name = ダッシュ
|
||||
keybind.chat.name = チャット
|
||||
keybind.player_list.name = プレイヤーリスト
|
||||
keybind.console.name = コンソール
|
||||
@@ -680,7 +745,9 @@ mode.pvp.description = エリア内で他のプレイヤーと戦います。\n[
|
||||
mode.attack.name = アタック
|
||||
mode.attack.description = ウェーブがなく、敵の基地を破壊することを目指します。\n[gray]プレイするには、マップに赤色のコアが必要です。
|
||||
mode.custom = カスタムルール
|
||||
|
||||
rules.infiniteresources = 資源の無限化
|
||||
rules.reactorexplosions = Reactor Explosions
|
||||
rules.wavetimer = ウェーブの自動進行
|
||||
rules.waves = ウェーブ
|
||||
rules.attack = アタックモード
|
||||
@@ -688,6 +755,7 @@ rules.enemyCheat = 敵(赤チーム)の資源の無限化
|
||||
rules.unitdrops = ユニットの戦利品
|
||||
rules.unitbuildspeedmultiplier = ユニットの製造速度倍率
|
||||
rules.unithealthmultiplier = ユニットの体力倍率
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = プレイヤーの体力倍率
|
||||
rules.playerdamagemultiplier = プレイヤーのダメージ倍率
|
||||
rules.unitdamagemultiplier = ユニットのダメージ倍率
|
||||
@@ -706,6 +774,10 @@ rules.title.resourcesbuilding = 資源 & 建設
|
||||
rules.title.player = プレイヤー
|
||||
rules.title.enemy = 敵
|
||||
rules.title.unit = ユニット
|
||||
rules.title.experimental = Experimental
|
||||
rules.lighting = Lighting
|
||||
rules.ambientlight = Ambient Light
|
||||
|
||||
content.item.name = アイテム
|
||||
content.liquid.name = 液体
|
||||
content.unit.name = ユニット
|
||||
@@ -752,6 +824,7 @@ mech.trident-ship.name = トライデント
|
||||
mech.trident-ship.weapon = 爆弾
|
||||
mech.glaive-ship.name = グライブ
|
||||
mech.glaive-ship.weapon = 焼夷弾
|
||||
item.corestorable = [lightgray]Storable in Core: {0}
|
||||
item.explosiveness = [lightgray]爆発性: {0}%
|
||||
item.flammability = [lightgray]可燃性: {0}%
|
||||
item.radioactivity = [lightgray]放射能: {0}%
|
||||
@@ -767,6 +840,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 = 岩塩氷河
|
||||
@@ -865,6 +939,8 @@ block.distributor.name = ディストリビューター
|
||||
block.sorter.name = ソーター
|
||||
block.inverted-sorter.name = 反転ソーター
|
||||
block.message.name = メッセージブロック
|
||||
block.illuminator.name = Illuminator
|
||||
block.illuminator.description = A small, compact, configurable light source. Requires power to function.
|
||||
block.overflow-gate.name = オーバーフローゲート
|
||||
block.silicon-smelter.name = シリコン溶鉱炉
|
||||
block.phase-weaver.name = フェーズ織機
|
||||
@@ -878,6 +954,7 @@ block.coal-centrifuge.name = 石炭遠心分離機
|
||||
block.power-node.name = 電源ノード
|
||||
block.power-node-large.name = 大型電源ノード
|
||||
block.surge-tower.name = サージタワー
|
||||
block.diode.name = Battery Diode
|
||||
block.battery.name = バッテリー
|
||||
block.battery-large.name = 大型バッテリー
|
||||
block.combustion-generator.name = 火力発電機
|
||||
@@ -901,6 +978,7 @@ block.mechanical-pump.name = 機械ポンプ
|
||||
block.item-source.name = アイテムソース
|
||||
block.item-void.name = アイテムボイド
|
||||
block.liquid-source.name = 液体ソース
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = 電力ボイド
|
||||
block.power-source.name = 無限電源
|
||||
block.unloader.name = 搬出機
|
||||
@@ -930,6 +1008,7 @@ block.fortress-factory.name = フォートレスユニット製造機
|
||||
block.revenant-factory.name = レベナントファイター製造機
|
||||
block.repair-point.name = 修復ポイント
|
||||
block.pulse-conduit.name = パルスパイプ
|
||||
block.plated-conduit.name = Plated Conduit
|
||||
block.phase-conduit.name = フェーズパイプ
|
||||
block.liquid-router.name = 液体ルーター
|
||||
block.liquid-tank.name = 液体タンク
|
||||
@@ -1001,6 +1080,7 @@ tutorial.deposit = 機体にあるアイテムをドラッグアンドドロッ
|
||||
tutorial.waves = [lightgray]敵[]がやってきます。\n\n2ウェーブの間コアを守ってみましょう。[accent]クリック[]で弾を発射することができます。\nさらにドリルやデュオを設置しましょう。さらに銅を採掘しましょう。
|
||||
tutorial.waves.mobile = [lightgray]敵[]がやってきます。\n\n2ウェーブの間コアを守ってみましょう。あなたの機体は自動で敵を攻撃してくれます。\nさらにドリルやデュオを設置しましょう。さらに銅を採掘しましょう。
|
||||
tutorial.launch = 離脱可能なウェーブに達すると、[accent]コアにある全ての資源を持って[]、マップから[accent]離脱する[]ことができます。\nこれらの資源は、新しい技術の研究に使用することができます。\n\n[accent]離脱ボタンを押しましょう。
|
||||
|
||||
item.copper.description = 便利な鉱石です。様々なブロックの材料として幅広く使われています。
|
||||
item.lead.description = 一般的で手軽な鉱石です。機械や液体輸送ブロックなどに使われます。
|
||||
item.metaglass.description = とても頑丈な強化ガラスです。液体の輸送やタンクとして幅広く使われています。
|
||||
@@ -1062,6 +1142,7 @@ block.power-source.description = 無限に電力を出力します。サンド
|
||||
block.item-source.description = アイテムを無限に搬出します。サンドボックスモードのみ使用できます。
|
||||
block.item-void.description = 電力を必要とせずにアイテムを廃棄します。サンドボックスモードのみ使用できます。
|
||||
block.liquid-source.description = 液体を無限に搬出します。サンドボックスモードのみ使用できます。
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = 安価な防壁ブロックです。\n最初のウェーブでコアやターレットを保護するのに有用です。
|
||||
block.copper-wall-large.description = 安価な大型防壁ブロックです。\n最初のウェーブでコアやターレットを保護するのに有用です。
|
||||
block.titanium-wall.description = 適度に強力な防壁ブロックです。\n中程度の攻撃から保護します。
|
||||
@@ -1097,6 +1178,7 @@ block.rotary-pump.description = 高度なポンプです。電力を使用して
|
||||
block.thermal-pump.description = 最高性能のポンプです。
|
||||
block.conduit.description = 一般的な液体輸送ブロックです。液体版のコンベアーです。ポンプや他のパイプに使うことができます。
|
||||
block.pulse-conduit.description = 高度な液体輸送ブロックです。通常のパイプより速く、たくさんのアイテムを輸送することができます。
|
||||
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 = 搬入したアイテムをほかの3方向に均等に搬出します。液体の漏れを防ぐことができます。一つの資源から複数に分ける際などに使われます。
|
||||
block.liquid-tank.description = 大量の液体を保管しておくことができます。需要が不安定な製造設備や重要な施設の冷却水の予備などとして使用されます。
|
||||
block.liquid-junction.description = パイプを他のパイプと交差できるようにします。それぞれ搬入した液体を前方に搬出します。パイプで複雑な構造を組み立てるときなどに使われます。
|
||||
@@ -1105,6 +1187,7 @@ block.phase-conduit.description = 高度な液体輸送ブロックです。電
|
||||
block.power-node.description = 電力ノード間で電力の送電を行います。最大で4つの電力源やノードなどに接続できます。隣接するブロックから電力の送電や供給を行います。
|
||||
block.power-node-large.description = 巨大な電力ノードです。最大で6つの電力源やノードに接続できます。
|
||||
block.surge-tower.description = 接続できる量は少ないが、とても長い距離を接続できる電力ノードです。
|
||||
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 = 余分な電力の充電して、貯めておくことができます。必要があれば、溜まった電力を供給します。
|
||||
block.battery-large.description = 通常のバッテリーよりもたくさんの電力を溜めておくことができます。
|
||||
block.combustion-generator.description = 石油や可燃性の物質を燃やして発電します。
|
||||
|
||||
@@ -7,14 +7,15 @@ link.reddit.description = Mindustry 레딧
|
||||
link.github.description = 게임 소스코드
|
||||
link.changelog.description = 새로 추가된 것들
|
||||
link.dev-builds.description = 불안정한 개발 빌드들
|
||||
link.trello.description = 다음 출시될 기능들을 게시한 공식 Trello 보드
|
||||
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 위키
|
||||
link.feathub.description = 기능 아이디어 건의하기
|
||||
linkfail = 링크를 여는 데 실패했습니다!\nURL이 기기의 클립보드에 복사되었습니다.
|
||||
screenshot = 스크린샷이 {0} 경로에 저장되었습니다.
|
||||
screenshot.invalid = 맵이 너무 커서 스크린샷을 찍을 메모리가 충분하지 않습니다.
|
||||
screenshot = 스크린 샷이 {0} 경로에 저장되었습니다.
|
||||
screenshot.invalid = 맵이 너무 커서 스크린 샷을 찍을 메모리가 충분하지 않습니다.
|
||||
gameover = 게임 오버
|
||||
gameover.pvp = [accent]{0}[] 팀이 승리했습니다!
|
||||
highscore = [accent]최고점수 달성!
|
||||
@@ -28,6 +29,13 @@ load.system = 시스템
|
||||
load.mod = 모드
|
||||
load.scripts = 스크립트
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = 설계도
|
||||
schematic.add = 설계도 저장하기
|
||||
schematics = 설계도 모음
|
||||
@@ -35,11 +43,11 @@ schematic.replace = 이 설계도와 같은 이름의 설계도가 이미 존재
|
||||
schematic.import = 설계도 불러오기
|
||||
schematic.exportfile = 파일 내보내기
|
||||
schematic.importfile = 파일 불러오기
|
||||
schematic.browseworkshop = 워크샵 탐색
|
||||
schematic.browseworkshop = Workshop 탐색
|
||||
schematic.copy = 클립보드에 복사하기
|
||||
schematic.copy.import = 클립보드에서 붙여넣기
|
||||
schematic.shareworkshop = 워크샵에 공유
|
||||
schematic.flip = 좌우 뒤집기 :[accent][[{0}][] / 상하 뒤집기 : [accent][[{1}][]
|
||||
schematic.flip = 좌우 뒤집기 : [accent][[{0}][] / 상하 뒤집기 : [accent][[{1}][]
|
||||
schematic.saved = 설계도 저장됨.
|
||||
schematic.delete.confirm = 삭제된 설계도는 복구할 수 없습니다. 정말로 삭제하시겠습니까?
|
||||
schematic.rename = 설계도명 변경
|
||||
@@ -94,7 +102,7 @@ mods.alpha = [scarlet](Alpha)
|
||||
mods = 모드
|
||||
mods.none = [LIGHT_GRAY]추가한 모드가 없습니다!
|
||||
mods.guide = 모드 가이드
|
||||
mods.report = 버그 신고
|
||||
mods.report = 문제 신고
|
||||
mods.openfolder = 모드 폴더 열기
|
||||
mod.enabled = [lightgray]활성화
|
||||
mod.disabled = [scarlet]비활성화
|
||||
@@ -102,7 +110,10 @@ mod.disable = 비활성화
|
||||
mod.delete.error = 모드를 삭제할 수 없습니다. 아마도 해당 모드가 사용중인 것 같습니다.
|
||||
mod.requiresversion = [scarlet]게임의 버전이 낮아 모드를 활성화할 수 없습니다!\n[scarlet]요구되는 게임 버전 : [accent]{0}
|
||||
mod.missingdependencies = [scarlet]의존되는 모드: {0}
|
||||
mod.nowdisabled = [scarlet]모드 '{0}'는 다음의 모드에 의존합니다 :[accent] {1}\n[lightgray]이 모드를 먼저 다운로드해야합니다.\n이 모드는 자동으로 비활성화됩니다.
|
||||
mod.erroredcontent = [scarlet]컨텐츠 오류
|
||||
mod.errors = 컨텐츠를 불러오는 중 오류가 발생하였습니다.
|
||||
mod.noerrorplay = [scarlet]모드에 오류가 존재합니다.[] 해당 오류가 발생하는 모드를 비활성화하거나 모드의 오류를 고친 후 플레이가 가능합니다.
|
||||
mod.nowdisabled = [scarlet]모드 '{0}'는 다음의 모드에 의존합니다 : [accent] {1}\n[lightgray]이 모드를 먼저 다운로드해야합니다.\n이 모드는 자동으로 비활성화됩니다.
|
||||
mod.enable = 활성화
|
||||
mod.requiresrestart = 모드 변경사항을 적용하기 위해 게임을 종료합니다.
|
||||
mod.reloadrequired = [scarlet]새로고침 예정됨
|
||||
@@ -111,7 +122,7 @@ mod.import.github = 깃허브 모드 추가
|
||||
mod.item.remove = 이것은 모드[accent] '{0}'[]의 자원입니다. 이 자원을 삭제하려면, 이 모드를 제거해야합니다.
|
||||
mod.remove.confirm = 이 모드를 삭제하시겠습니까?
|
||||
mod.author = [LIGHT_GRAY]제작자 : [] {0}
|
||||
mod.missing = 이 세이브파일에는 설치하지 않은 모드 혹은 이 버전에 속해있지 않은 데이터가 포함되어 있습니다. 이 파일을 불러올 경우 세이브파일의 데이터가 손상될 수 있습니다. 정말로 이 파일을 불러오시겠습니까?\n[lightgray]모드 :\n{0}
|
||||
mod.missing = 이 세이브파일에는 설치하지 않은 모드 혹은 현재 버전에 속해있지 않은 데이터가 포함되어 있습니다. 이 파일을 불러올 경우 세이브파일의 데이터가 손상될 수 있습니다. 정말로 이 파일을 불러오시겠습니까?\n[lightgray]모드 :\n{0}
|
||||
mod.preview.missing = 워크샵에 당신의 모드를 업로드하기 전에 미리보기 이미지를 먼저 추가해야합니다.\n[accent] preview.png[]라는 이름으로 미리보기 이미지를 당신의 모드 폴더안에 준비한 후 다시 시도해주세요.
|
||||
mod.folder.missing = 워크샵에는 폴더 형태의 모드만 게시할 수 있습니다.\n모드를 폴더 형태로 바꾸려면 파일을 폴더에 압축 해제하고 이전 압축파일을 제거한 후, 게임을 재시작하거나 모드를 다시 로드하십시오.
|
||||
mod.scripts.unsupported = 당신의 기기는 모드스크립트를 지원하지 않습니다. 모드의 일부 기능이 작동하지 않을 수 있습니다.
|
||||
@@ -144,6 +155,7 @@ server.kicked.nameEmpty = 당신의 닉네임이 비어있습니다.
|
||||
server.kicked.idInUse = 이미 서버에 접속중입니다! 다중 계정은 허용되지 않습니다.
|
||||
server.kicked.customClient = 이 서버는 직접 빌드한 버전을 지원하지 않습니다. 공식 버전을 사용하세요.
|
||||
server.kicked.gameover = 코어가 파괴되었습니다...
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = 클라이언트 버전 : [accent] {0}[]\n서버 버전 : [accent] {1}[]
|
||||
host.info = [accent]호스트[] 버튼은 현재 네트워크의 [scarlet]6567[] 포트를 사용합니다.\n[LIGHT_GRAY]같은 Wi-Fi 또는 로컬 네트워크[] 에서 서버 목록을 볼 수 있습니다.\n\n만약 플레이어들이 이 IP를 통해 어디에서나 연결할 수 있게 하고 싶다면, 공유기 설정에서 [accent]포트 포워딩[]을 하시거나 VPN을 사용하셔야 합니다.\n\n[LIGHT_GRAY]참고: LAN 게임 연결에 문제가 있는 사람이 있다면, 방화벽 설정에서 Mindustry 가 로컬 네트워크에 액세스하도록 허용했는지 확인해주세요.
|
||||
join.info = 여기서 서버 추가를 누르신 후, [accent]서버 IP[]를 입력하여 다른 서버에 접속할 수 있습니다.\n또는 [accent]로컬 네트워크(LAN)[] 서버를 검색하여 접속할 수 있습니다.\nLAN 및 WAN 멀티 플레이어 모두 지원합니다.\n\n[LIGHT_GRAY]참고:여기에서는 자동으로 글로벌 서버를 추가하지 않습니다. IP로 다른 사람의 서버에 접속하려면 직접 서버 주소를 찾아서 적으셔야합니다.[]\n\n[ROYAL]한국의 서버로는 [accent]mindustry.kr[]의 6567, 6568포트와 [accent]server1.mindustry.r-e.kr[]의 8000, 8002 포트가 있습니다.\n서버 주소 입력방법은 < 주소:포트 >의 형식입니다.\n[royal]포트가 없을 시에는 그냥 주소만 입력하시면 됩니다.\n\n[royal]예시) mindustry.kr의 6567포트\nmindustry.kr:6567\n포트가 6567일 경우에는 :6567을 생략할 수 있습니다.
|
||||
@@ -568,7 +580,7 @@ bar.power = 전력
|
||||
bar.progress = 생산 진행도
|
||||
bar.spawned = 최대 {1}기 중 {0}기 생산됨
|
||||
bar.input = 입력
|
||||
bar.output =
|
||||
bar.output = Output
|
||||
|
||||
bullet.damage = [lightgray]피해량 : [stat]{0}[]
|
||||
bullet.splashdamage = [lightgray]범위 피해량 : [stat]{0}[] / [lightgray]피해 범위 : [stat]{1}[lightgray] 타일
|
||||
@@ -594,8 +606,8 @@ unit.persecond = /초
|
||||
unit.timesspeed = x 배
|
||||
unit.percent = %
|
||||
unit.items = 자원
|
||||
unit.thousands = 천
|
||||
unit.millions = 백만
|
||||
unit.thousands = k
|
||||
unit.millions = mil
|
||||
category.general = 일반
|
||||
category.power = 전력
|
||||
category.liquids = 액체
|
||||
@@ -631,11 +643,12 @@ setting.screenshake.name = 화면 흔들기
|
||||
setting.effects.name = 화면 효과
|
||||
setting.destroyedblocks.name = 부서진 블럭 표시
|
||||
setting.conveyorpathfinding.name = 교차기 자동 설치
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = 컨트롤러 감도
|
||||
setting.saveinterval.name = 저장 간격
|
||||
setting.seconds = {0} 초
|
||||
setting.blockselecttimeout.name = 블록 선택 시간 초과
|
||||
setting.milliseconds = {0} 밀리초
|
||||
setting.milliseconds = {0} ms
|
||||
setting.fullscreen.name = 전체 화면
|
||||
setting.borderlesswindow.name = 테두리 없는 창모드[LIGHT_GRAY] (재시작이 필요할 수 있습니다)
|
||||
setting.fps.name = FPS 표시
|
||||
@@ -677,26 +690,27 @@ keybind.toggle_power_lines.name = 전력 라인 허용
|
||||
keybind.move_x.name = 오른쪽 / 왼쪽 이동
|
||||
keybind.move_y.name = 위 / 아래 이동
|
||||
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 = 카테고리/블럭 선택 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.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.fullscreen.name = 전체 화면
|
||||
keybind.select.name = 선택/공격
|
||||
keybind.diagonal_placement.name = 대각선 설치
|
||||
@@ -709,15 +723,14 @@ keybind.menu.name = 메뉴
|
||||
keybind.pause.name = 일시중지
|
||||
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.toggle_menus.name = 메뉴 보이기/숨기기
|
||||
keybind.chat_history_prev.name = 이전 채팅기록
|
||||
keybind.chat_history_next.name = 다음 채팅기록
|
||||
keybind.chat_history_prev.name = 이전 채팅 기록
|
||||
keybind.chat_history_next.name = 다음 채팅 기록
|
||||
keybind.chat_scroll.name = 채팅 스크롤
|
||||
keybind.drop_unit.name = 유닛 처치 시 자원획득
|
||||
keybind.zoom_minimap.name = 미니맵 확대
|
||||
@@ -730,11 +743,11 @@ mode.editor.name = 편집기
|
||||
mode.pvp.name = PvP
|
||||
mode.pvp.description = 실제 플레이어와 PvP를 합니다. 맵에 적어도 2개의 다른 색상 코어가 있어야 합니다.
|
||||
mode.attack.name = 공격
|
||||
mode.attack.description = 적 기지를 파괴하세요. 맵에 빨간팀 코어가 있어야 플레이 가능합니다.
|
||||
mode.attack.description = 적 기지를 파괴하세요. 맵에 빨간 팀 코어가 있어야 플레이 가능합니다.
|
||||
mode.custom = 사용자 정의 규칙
|
||||
|
||||
rules.infiniteresources = 무한 자원
|
||||
rules.reactorexplosions = 원자로 폭발 허가여부
|
||||
rules.reactorexplosions = 원자로 폭발 허가 여부
|
||||
rules.wavetimer = 단계 대기시간
|
||||
rules.waves = 단계 활성화
|
||||
rules.attack = 공격 모드
|
||||
@@ -742,6 +755,7 @@ rules.enemyCheat = 무한한 적 자원
|
||||
rules.unitdrops = 유닛 처치시 자원 약탈
|
||||
rules.unitbuildspeedmultiplier = 유닛 제조속도 배수
|
||||
rules.unithealthmultiplier = 유닛 체력 배수
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = 플레이어 체력 배수
|
||||
rules.playerdamagemultiplier = 플레이어 공격력 배수
|
||||
rules.unitdamagemultiplier = 유닛 공격력 배수
|
||||
@@ -750,7 +764,7 @@ rules.respawntime = 플레이어 부활 대기 시간 : [LIGHT_GRAY] (초)
|
||||
rules.wavespacing = 단계 간격 : [LIGHT_GRAY] (초)
|
||||
rules.buildcostmultiplier = 건설 소모 배수
|
||||
rules.buildspeedmultiplier = 건설 속도 배수
|
||||
rules.waitForWaveToEnd = 단계가 끝날때까지 기다리는중
|
||||
rules.waitForWaveToEnd = 단계가 끝날때까지 기다리는 중
|
||||
rules.dropzoneradius = 소환 충격파 범위 : [LIGHT_GRAY] (타일)
|
||||
rules.respawns = 단계당 최대 플레이어 부활 횟수
|
||||
rules.limitedRespawns = 플레이어 부활 제한
|
||||
@@ -810,7 +824,7 @@ mech.trident-ship.name = 트라이던트
|
||||
mech.trident-ship.weapon = 폭탄 저장고
|
||||
mech.glaive-ship.name = 글레이브
|
||||
mech.glaive-ship.weapon = 중무장 인화성 소총
|
||||
item.corestorable = [lightgray]코어 잔여 저장공간: {0}
|
||||
item.corestorable = [lightgray]코어 저장 가능 여부 : {0}
|
||||
item.explosiveness = [LIGHT_GRAY]폭발성 : {0}
|
||||
item.flammability = [LIGHT_GRAY]인화성 : {0}
|
||||
item.radioactivity = [LIGHT_GRAY]방사능 : {0}
|
||||
@@ -964,6 +978,7 @@ block.mechanical-pump.name = 기계식 펌프
|
||||
block.item-source.name = 아이템 소스
|
||||
block.item-void.name = 아이템 삭제 장치
|
||||
block.liquid-source.name = 무한 액체공급 장치
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = 방전장치
|
||||
block.power-source.name = 무한 전력공급 장치
|
||||
block.unloader.name = 언로더
|
||||
@@ -1117,7 +1132,7 @@ block.cryofluidmixer.description = 물과 티타늄을 냉각에 훨씬 더 효
|
||||
block.blast-mixer.description = 포자를 사용하여 파이라타이트를 폭발성 화합물로 변환시킵니다.
|
||||
block.pyratite-mixer.description = 석탄, 납, 모래를 가연성이 높은 파이라타이트로 만듭니다.
|
||||
block.melter.description = 고철을 녹여 파도의 탄약 혹은 원심 분리기에 사용할 수 있는 액체인 광재로 만듭니다.
|
||||
block.separator.description = 광재룰 각종 자원으로 재활용 할 수 있게 해 주는 건물입니다.
|
||||
block.separator.description = 광재를 각종 자원으로 재활용 할 수 있게 해 주는 건물입니다.
|
||||
block.spore-press.description = 포자를 압축해 기름을 추출합니다.
|
||||
block.pulverizer.description = 고철을 갈아 모래로 만듭니다. 맵에 모래가 부족할 때 유용합니다.
|
||||
block.coal-centrifuge.description = 석유로 석탄을 만듭니다.
|
||||
@@ -1127,6 +1142,7 @@ block.power-source.description = 무한한 전력을 공급해주는 블록입
|
||||
block.item-source.description = 자원을 선택하면 그 자원이 무한하게 생성되는 블록입니다.\n샌드박스에서만 건설가능.
|
||||
block.item-void.description = 자원을 사라지게 만듭니다.\n샌드박스에서만 건설가능.
|
||||
block.liquid-source.description = 무한한 액체를 출력합니다.\n샌드박스에서만 건설가능.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = 게임 시작 초기에 방어용으로 적합합니다.
|
||||
block.copper-wall-large.description = 구리 벽 4개를 뭉친 블럭입니다.
|
||||
block.titanium-wall.description = 흑연이 생산될 즈음에 사용하기 적합합니다.
|
||||
|
||||
@@ -12,6 +12,7 @@ link.itch.io.description = Itch.io pagina met de PC downloads en online versie
|
||||
link.google-play.description = Mindustry op Google Play
|
||||
link.f-droid.description = F-Droid catalogus
|
||||
link.wiki.description = Officiële Mindustry-wiki
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = Openen van link mislukt!\nDe link is gekopiëerd naar je klembord.
|
||||
screenshot = Locatie screenshot: {0}
|
||||
screenshot.invalid = Kaart te groot, mogelijks te weinig geheugen voor een screenshot te kunnen maken.
|
||||
@@ -19,12 +20,22 @@ gameover = Game Over
|
||||
gameover.pvp = Het[accent] {0}[] team heeft gewonnen!
|
||||
highscore = [accent]Nieuw record!
|
||||
copied = Gekopieerd.
|
||||
|
||||
load.sound = Geluiden
|
||||
load.map = Kaarten
|
||||
load.image = Afbeeldingen
|
||||
load.content = Inhoud
|
||||
load.system = Systeem
|
||||
load.mod = Mods
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = Blauwdruk
|
||||
schematic.add = Blauwdruk Opslaan...
|
||||
schematics = Blauwdrukken
|
||||
@@ -41,6 +52,7 @@ schematic.saved = Blauwdruk opgeslagen.
|
||||
schematic.delete.confirm = This schematic will be utterly eradicated.
|
||||
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,6 +60,7 @@ stat.destroyed = Gebouwen vernietigd:[accent] {0}
|
||||
stat.deconstructed = Gebouwen afgebroken:[accent] {0}
|
||||
stat.delivered = Gronstoffen meegenomen:
|
||||
stat.rank = Eindresultaat: [accent]{0}
|
||||
|
||||
launcheditems = [accent]Meegenomen grondstoffen
|
||||
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?
|
||||
@@ -75,6 +88,7 @@ maps.browse = Bekijk Kaarten
|
||||
continue = Ga verder
|
||||
maps.none = [LIGHT_GRAY]Geen kaarten gevonden!
|
||||
invalid = Ongeldig
|
||||
pickcolor = Pick Color
|
||||
preparingconfig = Configuratie Voorbereiden
|
||||
preparingcontent = Inhoud Voorbereiden
|
||||
uploadingcontent = Inhoud Uploaden
|
||||
@@ -82,6 +96,7 @@ uploadingpreviewfile = Voorbeeldbestand Uploaden
|
||||
committingchanges = Veranderingen Toepassen
|
||||
done = Klaar
|
||||
feature.unsupported = Uw apparaat ondersteunt deze functie niet.
|
||||
|
||||
mods.alphainfo = Mods zijn nog in alfa en [scarlet] kunnen zeer onstabiel zijn[].\nMeld problemen die je ondervindt op de Mindustry Github of Discord.
|
||||
mods.alpha = [accent](Alfa)
|
||||
mods = Mods
|
||||
@@ -93,18 +108,25 @@ 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.requiresversion = [scarlet]Requires min game version: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Missing dependencies: {0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Errors have occurred loading content.
|
||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||
mod.nowdisabled = [scarlet]De volgende vereisten ontbreken voor mod '{0}':[accent] {1}\n[lightgray]Deze mods moeten eerst gedownload worden.\nDeze mod wordt automatisch uitgeschakeld.
|
||||
mod.enable = Schakel in
|
||||
mod.requiresrestart = The game will now close to apply the mod changes.
|
||||
mod.reloadrequired = [scarlet]Herladen Vereist
|
||||
mod.import = Importeer Mod
|
||||
mod.import.github = Importeer GitHub Mod
|
||||
mod.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that 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 = Voordat je de mod publiceert moet je een afbeelding voor de voorvertoning toevoegen.\nPlaats een afbeelding met de naam[accent] preview.png[] in de modfolder.
|
||||
mod.folder.missing = Mods kunnen enkel gepubliceerd worden in foldervorm.\nOm een mod in foldervorm te zetten exporteer je het modbestand uit de zipfile en verwijder je de oude zipfile. Herlaad vervolgens je mods of herstart het spel.
|
||||
mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly.
|
||||
|
||||
about.button = Over
|
||||
name = Naam:
|
||||
noname = Kies eerst[accent] een naam[].
|
||||
@@ -133,6 +155,7 @@ server.kicked.nameEmpty = Je gekozen naam is ongeldig.
|
||||
server.kicked.idInUse = Je bent al verbonden met de server! Verbinden met 2 clients tegelijk is verboden.
|
||||
server.kicked.customClient = Deze server ondersteunt geen aangepaste versies (mods). Download een officiële versie.
|
||||
server.kicked.gameover = Game over!
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = Jouw versie:[accent] {0}[]\nServerversie:[accent] {1}[]
|
||||
host.info = Ook de [accent]host[] knop hosts een server op poort [scarlet]6567[]. \nIedereen die verbonden is met dezelfde [LIGHT_GRAY]wifi of lokaal netwerk[] zou je server moeten zien in zijn server lijst.\n\nAls je wil dat personen kunnen verbinden met je server van ergens anders via IP. Dan is [accent]port forwarding[] is nodig.\n\n[LIGHT_GRAY]Nota: Als iemand problemen heeft met het verbinden tot je LAN spel, zorg dan dat mindustry toestemming heeft tot je lokale netwerk in de Firewall instellingen.
|
||||
join.info = Hier kan je een [accent]server IP[] invullen waarmee je wil verbinden. Je kan hier ook verbinden met servers op je [accent]lokale netwerk[]. LAN en WAN multiplayer wordt ondersteund.\n\n[LIGHT_GRAY]Belangrijk: er is geen automatische globale server lijst; als je met iemand wil verbinden via een IP adres moet je zijn/haar IP adres vragen.
|
||||
@@ -272,6 +295,7 @@ 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}
|
||||
|
||||
editor.brush = Brush
|
||||
editor.openin = Open In Editor
|
||||
editor.oregen = Ore Generation
|
||||
@@ -348,6 +372,7 @@ editor.overwrite = [accent]Warning!\nThis overwrites an existing map.
|
||||
editor.overwrite.confirm = [scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
|
||||
editor.exists = A map with this name already exists.
|
||||
editor.selectmap = Select a map to load:
|
||||
|
||||
toolmode.replace = Replace
|
||||
toolmode.replace.description = Draws only on solid blocks.
|
||||
toolmode.replaceall = Replace All
|
||||
@@ -362,6 +387,7 @@ toolmode.fillteams = Fill Teams
|
||||
toolmode.fillteams.description = Fill teams instead of blocks.
|
||||
toolmode.drawteams = Draw Teams
|
||||
toolmode.drawteams.description = Draw teams instead of blocks.
|
||||
|
||||
filters.empty = [LIGHT_GRAY]No filters! Add one with the button below.
|
||||
filter.distort = Distort
|
||||
filter.noise = Noise
|
||||
@@ -393,6 +419,7 @@ filter.option.floor2 = Secondary Floor
|
||||
filter.option.threshold2 = Secondary Threshold
|
||||
filter.option.radius = Radius
|
||||
filter.option.percentile = Percentile
|
||||
|
||||
width = Width:
|
||||
height = Height:
|
||||
menu = Menu
|
||||
@@ -408,6 +435,7 @@ tutorial = Tutorial
|
||||
tutorial.retake = Re-Take Tutorial
|
||||
editor = Editor
|
||||
mapeditor = Map Editor
|
||||
|
||||
abandon = Abandon
|
||||
abandon.text = This zone and all its resources will be lost to the enemy.
|
||||
locked = Locked
|
||||
@@ -438,6 +466,7 @@ zone.objective.survival = Survive
|
||||
zone.objective.attack = Destroy Enemy Core
|
||||
add = Add...
|
||||
boss.health = Boss Health
|
||||
|
||||
connectfail = [crimson]Failed to connect to server:\n\n[accent]{0}
|
||||
error.unreachable = Server unreachable.\nIs the address spelled correctly?
|
||||
error.invalidaddress = Invalid address.
|
||||
@@ -448,6 +477,7 @@ error.mapnotfound = Map file not found!
|
||||
error.io = Network I/O error.
|
||||
error.any = Unknown network error.
|
||||
error.bloom = Failed to initialize bloom.\nYour device may not support it.
|
||||
|
||||
zone.groundZero.name = Ground Zero
|
||||
zone.desertWastes.name = Desert Wastes
|
||||
zone.craters.name = The Craters
|
||||
@@ -462,6 +492,7 @@ zone.saltFlats.name = Salt Flats
|
||||
zone.impact0078.name = Impact 0078
|
||||
zone.crags.name = Crags
|
||||
zone.fungalPass.name = Fungal Pass
|
||||
|
||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||
@@ -476,10 +507,12 @@ zone.nuclearComplex.description = A former facility for the production and proce
|
||||
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||
zone.impact0078.description = <insert description here>
|
||||
zone.crags.description = <insert description here>
|
||||
|
||||
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
|
||||
@@ -530,6 +563,7 @@ blocks.inaccuracy = Inaccuracy
|
||||
blocks.shots = Shots
|
||||
blocks.reload = Shots/Second
|
||||
blocks.ammo = Ammo
|
||||
|
||||
bar.drilltierreq = Better Drill Required
|
||||
bar.drillspeed = Drill Speed: {0}/s
|
||||
bar.pumpspeed = Pump Speed: {0}/s
|
||||
@@ -545,6 +579,9 @@ 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
|
||||
bullet.incendiary = [stat]incendiary
|
||||
@@ -556,6 +593,7 @@ bullet.freezing = [stat]freezing
|
||||
bullet.tarred = [stat]tarred
|
||||
bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier
|
||||
bullet.reload = [stat]{0}[lightgray]x fire rate
|
||||
|
||||
unit.blocks = blocks
|
||||
unit.powersecond = power units/second
|
||||
unit.liquidsecond = liquid units/second
|
||||
@@ -568,6 +606,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
|
||||
@@ -580,6 +620,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.animatedwater.name = Animated Water
|
||||
setting.animatedshields.name = Animated Shields
|
||||
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
|
||||
@@ -602,12 +643,16 @@ setting.screenshake.name = Screen Shake
|
||||
setting.effects.name = Display Effects
|
||||
setting.destroyedblocks.name = Display Destroyed Blocks
|
||||
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = Controller Sensitivity
|
||||
setting.saveinterval.name = Autosave Interval
|
||||
setting.seconds = {0} Seconds
|
||||
setting.blockselecttimeout.name = Block Select Timeout
|
||||
setting.milliseconds = {0} milliseconds
|
||||
setting.fullscreen.name = Fullscreen
|
||||
setting.borderlesswindow.name = Borderless Window[LIGHT_GRAY] (may require restart)
|
||||
setting.fps.name = Show FPS
|
||||
setting.blockselectkeys.name = Show Block Select Keys
|
||||
setting.vsync.name = VSync
|
||||
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance, disables animations)
|
||||
setting.minimap.name = Show Minimap
|
||||
@@ -636,16 +681,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.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
|
||||
@@ -658,7 +723,6 @@ 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.console.name = Console
|
||||
@@ -681,7 +745,9 @@ mode.pvp.description = Fight against other players locally.
|
||||
mode.attack.name = Attack
|
||||
mode.attack.description = No waves, with the goal to destroy the enemy base.
|
||||
mode.custom = Custom Rules
|
||||
|
||||
rules.infiniteresources = Infinite Resources
|
||||
rules.reactorexplosions = Reactor Explosions
|
||||
rules.wavetimer = Wave Timer
|
||||
rules.waves = Waves
|
||||
rules.attack = Attack Mode
|
||||
@@ -689,6 +755,7 @@ rules.enemyCheat = Infinite AI (Red Team) Resources
|
||||
rules.unitdrops = Unit Drops
|
||||
rules.unitbuildspeedmultiplier = Unit Creation Speed Multiplier
|
||||
rules.unithealthmultiplier = Unit Health Multiplier
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = Player Health Multiplier
|
||||
rules.playerdamagemultiplier = Player Damage Multiplier
|
||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
||||
@@ -707,6 +774,10 @@ 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
|
||||
content.unit.name = Units
|
||||
@@ -753,6 +824,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 = [LIGHT_GRAY]Explosiveness: {0}%
|
||||
item.flammability = [LIGHT_GRAY]Flammability: {0}%
|
||||
item.radioactivity = [LIGHT_GRAY]Radioactivity: {0}%
|
||||
@@ -768,6 +840,7 @@ mech.buildspeed = [LIGHT_GRAY]Building Speed: {0}%
|
||||
liquid.heatcapacity = [LIGHT_GRAY]Heat Capacity: {0}
|
||||
liquid.viscosity = [LIGHT_GRAY]Viscosity: {0}
|
||||
liquid.temperature = [LIGHT_GRAY]Temperature: {0}
|
||||
|
||||
block.sand-boulder.name = Sand Boulder
|
||||
block.grass.name = Grass
|
||||
block.salt.name = Salt
|
||||
@@ -866,6 +939,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
|
||||
@@ -879,6 +954,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
|
||||
@@ -902,6 +978,7 @@ block.mechanical-pump.name = Mechanical Pump
|
||||
block.item-source.name = Item Source
|
||||
block.item-void.name = Item Void
|
||||
block.liquid-source.name = Liquid Source
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = Power Void
|
||||
block.power-source.name = Power Infinite
|
||||
block.unloader.name = Unloader
|
||||
@@ -931,6 +1008,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
|
||||
@@ -1002,6 +1080,7 @@ tutorial.deposit = Deposit items into blocks by dragging from your ship to the d
|
||||
tutorial.waves = De [LIGHT_GRAY] vijand[] nadert.\n\nVerdedig jouw kern voor 2 golven. Bouw meer geschutstorens.
|
||||
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||
|
||||
item.copper.description = A useful structure material. Used extensively in all types of blocks.
|
||||
item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks.
|
||||
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
||||
@@ -1063,6 +1142,7 @@ block.power-source.description = Infinitely outputs power. Sandbox only.
|
||||
block.item-source.description = Infinitely outputs items. Sandbox only.
|
||||
block.item-void.description = Destroys any items which go into it without using power. Sandbox only.
|
||||
block.liquid-source.description = Infinitely outputs liquids. Sandbox only.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.
|
||||
block.copper-wall-large.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.\nSpans multiple tiles.
|
||||
block.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies.
|
||||
@@ -1098,6 +1178,7 @@ block.rotary-pump.description = An advanced pump which doubles up speed by using
|
||||
block.thermal-pump.description = The ultimate pump.
|
||||
block.conduit.description = Basic liquid transport block. Works like a conveyor, but with liquids. Best used with extractors, pumps or other conduits.
|
||||
block.pulse-conduit.description = 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 it for creating buffers when there is a 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.
|
||||
@@ -1106,6 +1187,7 @@ block.phase-conduit.description = Advanced liquid transport block. Uses power to
|
||||
block.power-node.description = Transmits power to connected nodes. Up to four power sources, sinks or nodes can be connected. The node will receive power from or supply power to any adjacent blocks.
|
||||
block.power-node-large.description = Has a larger radius than the power node and connects to up to six power sources, sinks or nodes.
|
||||
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 whenever there is an abundance and provides power whenever there is a shortage, as long as there is capacity left.
|
||||
block.battery-large.description = Stores much more power than a regular battery.
|
||||
block.combustion-generator.description = Generates power by burning oil or flammable materials.
|
||||
|
||||
@@ -12,13 +12,14 @@ 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
|
||||
link.feathub.description = Zaproponuj nowe funkcje
|
||||
linkfail = Nie udało się otworzyć linku!\nURL został skopiowany.
|
||||
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.
|
||||
copied = Skopiowano.
|
||||
|
||||
load.sound = Dźwięki
|
||||
load.map = Mapy
|
||||
@@ -26,6 +27,14 @@ load.image = Obrazy
|
||||
load.content = Treść
|
||||
load.system = System
|
||||
load.mod = Mody
|
||||
load.scripts = Skrypty
|
||||
|
||||
be.update = Nowa wersja Bleeding Edge jest dostępna:
|
||||
be.update.confirm = Pobrać i zainstalować teraz?
|
||||
be.updating = Aktualizowanie...
|
||||
be.ignore = Zignoruj
|
||||
be.noupdates = Nie znaleziono aktualizacji.
|
||||
be.check = Sprawdź aktualizacje
|
||||
|
||||
schematic = Schemat
|
||||
schematic.add = Zapisz schemat...
|
||||
@@ -80,7 +89,6 @@ continue = Kontynuuj
|
||||
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
|
||||
@@ -100,22 +108,28 @@ mod.enabled = [lightgray]Włączony
|
||||
mod.disabled = [scarlet]Wyłączony
|
||||
mod.disable = Wyłącz
|
||||
mod.delete.error = Nie udało się usunąć moda. Plik może być w użyciu.
|
||||
mod.requiresversion = [scarlet]Wymaga gry w wersji co najmniej: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Brakujące zależności: {0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Wystąpił błąd podczas ładowania treści.
|
||||
mod.noerrorplay = [scarlet]Twoje mody zawierają błędy.[] Wyłącz je lub napraw błędy przed rozpoczęciem gry.
|
||||
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]Wymagany restart
|
||||
mod.import = Importuj Mod
|
||||
mod.import.github = Importuj mod z GitHuba
|
||||
mod.item.remove = Ten przedmiot jest częścią moda[accent] '{0}'[]. Aby usunąć go, odinstaluj modyfikację.
|
||||
mod.remove.confirm = Ten mod zostanie usunięty.
|
||||
mod.author = [LIGHT_GRAY]Autor:[] {0}
|
||||
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.
|
||||
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ę lub załaduj ponownie mody.
|
||||
mod.scripts.unsupported = Twoje urządzenie nie wspiera skryptów. Niektóre mody mogą nie działać poprawnie.
|
||||
|
||||
about.button = O Grze
|
||||
name = Nazwa:
|
||||
noname = Najpierw wybierz[accent] nazwę gracza[]
|
||||
noname = Najpierw wybierz[accent] nazwę gracza[].
|
||||
filename = Nazwa Pliku:
|
||||
unlocked = Odblokowano nową zawartość!
|
||||
completed = [accent]Ukończony
|
||||
@@ -123,8 +137,8 @@ techtree = Drzewo Technologiczne
|
||||
research.list = [lightgray]Badania:
|
||||
research = Badaj
|
||||
researched = [lightgray]{0} zbadane.
|
||||
players = {0} graczy online
|
||||
players.single = {0} gracz online
|
||||
players = {0} graczy
|
||||
players.single = {0} gracz
|
||||
server.closing = [accent] Zamykanie serwera...
|
||||
server.kicked.kick = Zostałeś wyrzucony z serwera!
|
||||
server.kicked.whitelist = Nie ma cię tu na białej liście.
|
||||
@@ -141,6 +155,7 @@ server.kicked.nameEmpty = Wybrana przez Ciebie nazwa jest nieprawidłowa.
|
||||
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.kicked.serverRestarting = Restart serwera.
|
||||
server.versions = Twoja wersja gry:[accent] {0}[]\nWersja gry serwera:[accent] {1}[]
|
||||
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.
|
||||
@@ -240,7 +255,7 @@ 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ę.\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?
|
||||
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, aby móc używać ich w 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] Ustawienia->Gra->Ponów samouczek.[]
|
||||
loading = [accent]Ładowanie...
|
||||
@@ -248,7 +263,7 @@ reloading = [accent]Przeładowywanie Modów...
|
||||
saving = [accent]Zapisywanie...
|
||||
cancelbuilding = [accent][[{0}][] by wyczyścić plan
|
||||
selectschematic = [accent][[{0}][] by wybrać+skopiować
|
||||
pausebuilding = [accent][[{0}][] by wtrzymać budowę
|
||||
pausebuilding = [accent][[{0}][] by wstrzymać budowę
|
||||
resumebuilding = [scarlet][[{0}][] by kontynuować budowę
|
||||
wave = [accent]Fala {0}
|
||||
wave.waiting = Fala za {0}
|
||||
@@ -414,7 +429,6 @@ 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
|
||||
@@ -456,7 +470,7 @@ 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 poprawność wpisanego adresu!
|
||||
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!
|
||||
@@ -493,10 +507,12 @@ zone.nuclearComplex.description = Dawny zakład produkcji i przetwarzania toru,
|
||||
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
|
||||
settings.data = Dane Gry
|
||||
settings.reset = Przywróć Domyślne
|
||||
settings.rebind = Zmień
|
||||
settings.resetKey = Resetuj
|
||||
settings.controls = Sterowanie
|
||||
settings.game = Gra
|
||||
settings.sound = Dźwięk
|
||||
@@ -563,8 +579,8 @@ bar.heat = Ciepło
|
||||
bar.power = Prąd
|
||||
bar.progress = Postęp Budowy
|
||||
bar.spawned = Jednostki: {0}/{1}
|
||||
bar.input = Input
|
||||
bar.output = Output
|
||||
bar.input = Wejście
|
||||
bar.output = Wyjście
|
||||
|
||||
bullet.damage = [stat]{0}[lightgray] Obrażenia
|
||||
bullet.splashdamage = [stat]{0}[lightgray] Obrażenia obszarowe ~[stat] {1}[lightgray] kratki
|
||||
@@ -590,6 +606,8 @@ unit.persecond = /sekundę
|
||||
unit.timesspeed = x prędkość
|
||||
unit.percent = %
|
||||
unit.items = przedmioty
|
||||
unit.thousands = tys.
|
||||
unit.millions = mln
|
||||
category.general = Główne
|
||||
category.power = Prąd
|
||||
category.liquids = Płyny
|
||||
@@ -621,19 +639,20 @@ setting.difficulty.normal = Normalny
|
||||
setting.difficulty.hard = Trudny
|
||||
setting.difficulty.insane = Szalony
|
||||
setting.difficulty.name = Poziom trudności
|
||||
setting.screenshake.name = Wstrząsy ekranu
|
||||
setting.screenshake.name = Siła wstrząsów ekranu
|
||||
setting.effects.name = Wyświetlanie efektów
|
||||
setting.destroyedblocks.name = Wyświetl zniszczone bloki
|
||||
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
|
||||
setting.conveyorpathfinding.name = Ustalanie ścieżki przenośników
|
||||
setting.coreselect.name = Zezwalaj na schematyczne rdzenie
|
||||
setting.sensitivity.name = Czułość kontrolera
|
||||
setting.saveinterval.name = Interwał automatycznego zapisywania
|
||||
setting.seconds = {0} sekund
|
||||
setting.blockselecttimeout.name = Block Select Timeout
|
||||
setting.milliseconds = {0} millisekund
|
||||
setting.milliseconds = {0} milisekund
|
||||
setting.fullscreen.name = Pełny ekran
|
||||
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.blockselectkeys.name = Pokazuj skróty klawiszowe bloków
|
||||
setting.vsync.name = Synchronizacja pionowa
|
||||
setting.pixelate.name = Pikselacja [lightgray](wyłącza animacje)
|
||||
setting.minimap.name = Pokaż Minimapę
|
||||
@@ -653,7 +672,7 @@ public.confirm = Czy chcesz ustawić swoją grę jako publiczną?\n[accent]Każd
|
||||
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
|
||||
setting.bloom.name = Efekt Bloom
|
||||
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
|
||||
@@ -662,15 +681,15 @@ category.multiplayer.name = Wielu graczy
|
||||
command.attack = Atakuj
|
||||
command.rally = Zbierz
|
||||
command.retreat = Wycofaj
|
||||
placement.blockselectkeys = \n[lightgray]Key: [{0},
|
||||
placement.blockselectkeys = \n[lightgray]Klawisz: [{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.toggle_power_lines.name = Zmień widoczność linii energetycznych
|
||||
keybind.move_x.name = Poruszanie w poziomie
|
||||
keybind.move_y.name = Poruszanie w pionie
|
||||
keybind.mouse_move.name = Follow Mouse
|
||||
keybind.mouse_move.name = Podążaj Za Myszą
|
||||
keybind.dash.name = Dash
|
||||
keybind.schematic_select.name = Wybierz region
|
||||
keybind.schematic_menu.name = Menu schematów
|
||||
@@ -682,16 +701,16 @@ 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.block_select_01.name = Wybór bloku/kategorii 1
|
||||
keybind.block_select_02.name = Wybór bloku/kategorii 2
|
||||
keybind.block_select_03.name = Wybór bloku/kategorii 3
|
||||
keybind.block_select_04.name = Wybór bloku/kategorii 4
|
||||
keybind.block_select_05.name = Wybór bloku/kategorii 5
|
||||
keybind.block_select_06.name = Wybór bloku/kategorii 6
|
||||
keybind.block_select_07.name = Wybór bloku/kategorii 7
|
||||
keybind.block_select_08.name = Wybór bloku/kategorii 8
|
||||
keybind.block_select_09.name = Wybór bloku/kategorii 9
|
||||
keybind.block_select_10.name = Wybór bloku/kategorii 10
|
||||
keybind.fullscreen.name = Przełącz Pełny Ekran
|
||||
keybind.select.name = Zaznacz
|
||||
keybind.diagonal_placement.name = Budowa po skosie
|
||||
@@ -736,6 +755,7 @@ rules.enemyCheat = Nieskończone zasoby komputera-przeciwnika (czerwonego zespo
|
||||
rules.unitdrops = Surowce ze zniszczonych jednostek
|
||||
rules.unitbuildspeedmultiplier = Mnożnik prędkości tworzenia jednostek
|
||||
rules.unithealthmultiplier = Mnożnik życia jednostek
|
||||
rules.blockhealthmultiplier = Mnożnik życia bloków
|
||||
rules.playerhealthmultiplier = Mnożnik życia gracza
|
||||
rules.playerdamagemultiplier = Mnożnik obrażeń gracza
|
||||
rules.unitdamagemultiplier = Mnożnik obrażeń jednostek
|
||||
@@ -804,6 +824,7 @@ 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.corestorable = [lightgray]Przechowywalne w rdzeniu: {0}
|
||||
item.explosiveness = [lightgray]Wybuchowość: {0}
|
||||
item.flammability = [lightgray]Palność: {0}
|
||||
item.radioactivity = [lightgray]Promieniotwórczość: {0}
|
||||
@@ -957,6 +978,7 @@ block.mechanical-pump.name = Mechaniczna Pompa
|
||||
block.item-source.name = Źródło przedmiotów
|
||||
block.item-void.name = Próżnia przedmiotów
|
||||
block.liquid-source.name = Źródło płynów
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = Próżnia prądu
|
||||
block.power-source.name = Nieskończony Prąd
|
||||
block.unloader.name = Ekstraktor
|
||||
@@ -1120,12 +1142,13 @@ block.power-source.description = Wydziela prąd w nieskończoność. Dostępny t
|
||||
block.item-source.description = Wydziela przedmioty w nieskończoność. Dostępny tylko w trybie sandbox.
|
||||
block.item-void.description = Niszczy wszystkie przedmioty, które idą do tego bloku, który nie wymaga prądu. Dostępny tylko w trybie sandbox.
|
||||
block.liquid-source.description = Wydziela ciecz w nieskończoność. Dostępny tylko w trybie sandbox.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = Tani blok obronny.\nPrzydatny do ochrony rdzenia i wieżyczek w pierwszych kilku falach.
|
||||
block.copper-wall-large.description = Tani blok obronny.\nPrzydatny do ochrony rdzenia i wieżyczek w pierwszych kilku falach.\nObejmuje wiele kratek.
|
||||
block.titanium-wall.description = Umiarkowanie silny blok obronny.\nZapewnia umiarkowaną ochronę przed wrogami.
|
||||
block.titanium-wall-large.description = Umiarkowanie silny blok obronny.\nZapewnia umiarkowaną ochronę przed wrogami.\nObejmuje wiele kratek.
|
||||
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 = Specjajny typ ściany, który pochłania łuki elektryczne oraz blokuje automatyczne łączenie węzłów.
|
||||
block.plastanium-wall-large.description = Specjajny typ ściany, który pochłania łuki elektryczne oraz blokuje automatyczne łączenie węzłów.\nObejmuje wiele kratek.
|
||||
block.thorium-wall.description = Silny blok obronny.\nDobra ochrona przed wrogami.
|
||||
block.thorium-wall-large.description = Silny blok obronny.\nDobra ochrona przed wrogami.\nObejmuje wiele kratek.
|
||||
block.phase-wall.description = Ściana pokryta specjalną mieszanką opartą o Włókna Fazowe, która odbija większość pocisków.
|
||||
@@ -1164,7 +1187,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.diode.description = Energia może przepływać przez ten blok tylko w jednym kierunku, ale tylko kiedy inne strony mają zmagazynowane mniej energii.
|
||||
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.
|
||||
@@ -1205,7 +1228,7 @@ block.ripple.description = Duża wieża artyleryjska, która strzela jednocześn
|
||||
block.cyclone.description = Duża szybkostrzelna wieża.
|
||||
block.spectre.description = Duże działo dwulufowe, które strzela potężnymi pociskami przebijającymi pancerz w jednostki naziemne i powietrzne.
|
||||
block.meltdown.description = Duże działo laserowe, które strzela potężnymi wiązkami dalekiego zasięgu. Wymaga chłodzenia.
|
||||
block.command-center.description = Wydaje polecenia ruchu sojuszniczym jednostkom na całej mapie.\nPowoduje patrolowanie jednostek, atakowanie wrogiego rdzenia lub wycofanie się do rdzenia / fabryki. Gdy nie ma rdzenia wroga, jednostki będą domyślnie patrolować pod dowództwem ataku.
|
||||
block.command-center.description = Wydaje polecenia ruchu sojuszniczym jednostkom na całej mapie.\nPowoduje patrolowanie jednostek, atakowanie wrogiego rdzenia lub wycofanie się do rdzenia/fabryki. Gdy nie ma rdzenia wroga, jednostki będą domyślnie patrolować pod dowództwem ataku.
|
||||
block.draug-factory.description = Produkuje drony wydobywcze Draug.
|
||||
block.spirit-factory.description = Produkuje lekkie drony, które naprawiają bloki.
|
||||
block.phantom-factory.description = Produkuje zaawansowane drony które pomagają przy budowie.
|
||||
@@ -1217,7 +1240,7 @@ block.crawler-factory.description = Produkuje szybkie jednostki lądowe typu "ka
|
||||
block.titan-factory.description = Produkuje zaawansowane, opancerzone jednostki lądowe.
|
||||
block.fortress-factory.description = Produkuje naziemne jednostki ciężkiej artylerii.
|
||||
block.repair-point.description = Bez przerw ulecza najbliższą zniszczoną jednostkę w jego zasięgu.
|
||||
block.dart-mech-pad.description = Umożliwia transformacje w podstawowego mecha bojowego.\nUżyj klikając podczas stania na nim.
|
||||
block.dart-mech-pad.description = Umożliwia transformację w podstawowego mecha bojowego.\nUżyj klikając podczas stania na nim.
|
||||
block.delta-mech-pad.description = Opuść swój obecny statek i zamień go na szybki, lekko opancerzony mech stworzony do ataków typu uderz-uciekaj.\nUżyj, klikając dwukrotnie podczas stania na lądowisku.
|
||||
block.tau-mech-pad.description = Opuść swój obecny statek i zamień go na mech wsparcia który może leczyć sojusznicze struktury i jednostki.\nUżyj, klikając dwukrotnie podczas stania na lądowisku.
|
||||
block.omega-mech-pad.description = Opuść swój obecny statek i zamień go na masywny, dobrze opancerzony mech, przeznaczony do ataków na froncie.\nUżyj, klikając dwukrotnie podczas stania na lądowisku.
|
||||
|
||||
@@ -10,11 +10,12 @@ 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.f-droid.description = Listamento de catalogo do F-Droide
|
||||
link.wiki.description = Wiki oficial do Mindustry
|
||||
link.feathub.description = Suggest new features
|
||||
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 de tela.
|
||||
screenshot.invalid = Mapa grande demais, Voce pode estar 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!
|
||||
@@ -26,6 +27,14 @@ load.image = Imagens
|
||||
load.content = Conteúdo
|
||||
load.system = Sistema
|
||||
load.mod = Mods
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = Esquema
|
||||
schematic.add = Salvar Esquema...
|
||||
@@ -41,8 +50,8 @@ 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
|
||||
schematic.rename = Renomear esquema
|
||||
schematic.info = {0}x{1}, {2} blocos
|
||||
|
||||
stat.wave = Hordas derrotadas:[accent] {0}
|
||||
stat.enemiesDestroyed = Inimigos Destruídos:[accent] {0}
|
||||
@@ -99,19 +108,24 @@ 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.requiresversion = [scarlet]Requer no mínimo versão [accent]{0} [scarlet]do jogo.
|
||||
mod.missingdependencies = [scarlet]Dependências ausentes: {0}
|
||||
mod.erroredcontent = [scarlet]Erros no Conteúdo
|
||||
mod.errors = Erros ocorreram ao carregar o conteúdo.
|
||||
mod.noerrorplay = [scarlet]Você tem mods com erros.[] Desative os mods afetados ou conserte os erros antes de jogar.
|
||||
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.item.remove = Este item é parte do mod[accent] '{0}'[]. Para removê-lo, desinstale esse mod.
|
||||
mod.remove.confirm = Este mod será deletado.
|
||||
mod.author = [LIGHT_GRAY]Author:[] {0}
|
||||
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.missing = Esse jogo salvo foi criado antes de você atualizar ou desinstalar um mod. Pode ocorrer uma corrupção no salvamento. 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.
|
||||
mod.scripts.unsupported = Seu dispositivo não suporta scripts de mods. Alguns mods não funcionarão corretamente.
|
||||
|
||||
about.button = Sobre
|
||||
name = Nome:
|
||||
@@ -141,6 +155,7 @@ 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.kicked.serverRestarting = The server is restarting.
|
||||
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 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.
|
||||
@@ -189,9 +204,9 @@ disconnect.data = Falha ao abrir os dados do mundo!
|
||||
cantconnect = Impossível conectar ([accent]{0}[]).
|
||||
connecting = [accent]Conectando...
|
||||
connecting.data = [accent]Carregando dados do mundo...
|
||||
server.port = Porte:
|
||||
server.port = Port:
|
||||
server.addressinuse = Senha em uso!
|
||||
server.invalidport = Numero de porta invalido!
|
||||
server.invalidport = Numero de port inválido!
|
||||
server.error = [crimson]Erro ao hospedar o servidor: [accent]{0}
|
||||
save.new = Novo salvamento
|
||||
save.overwrite = Você tem certeza que quer sobrescrever este salvamento?
|
||||
@@ -273,11 +288,11 @@ 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 = Selecione oquê você gostaria de fazer com esse Item.
|
||||
workshop.info = Informação do Item
|
||||
changelog = Changelog (optional):
|
||||
changelog = Mudanças (opcional):
|
||||
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 = 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!
|
||||
missing = Este item foi deletado ou movido.\n[lightgray]O listamento da oficina foi automaticamente des-ligado.
|
||||
publishing = [accent]Publicando...
|
||||
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}
|
||||
|
||||
@@ -364,11 +379,11 @@ toolmode.replaceall = Substituir tudo
|
||||
toolmode.replaceall.description = Substituir todos os blocos no mapa
|
||||
toolmode.orthogonal = Linha reta
|
||||
toolmode.orthogonal.description = Desenha apenas linhas retas.
|
||||
toolmode.square = Square
|
||||
toolmode.square = Quadrado
|
||||
toolmode.square.description = Pincel quadrado.
|
||||
toolmode.eraseores = Apagar minérios
|
||||
toolmode.eraseores.description = Apaga apenas minérios.
|
||||
toolmode.fillteams = Encher times
|
||||
toolmode.fillteams = Preencher 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.
|
||||
@@ -490,8 +505,8 @@ zone.tarFields.description = Nos arredores de uma zona de produção de petróle
|
||||
zone.desolateRift.description = Uma zona extremamente perigosa. Recursos abundantes, porém pouco espaço. Alto risco de destruição. Saia o mais rápido possível. Não seja enganado pelo longo espaço de tempo entre os ataques inimigos.
|
||||
zone.nuclearComplex.description = Uma antiga instalação para produção e processamento de tório, reduzido a ruínas.\n[lightgray]Pesquise o tório e seus muitos usos.\n\nO inimigo está presente aqui em grandes números, constantemente à procura de atacantes.
|
||||
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>
|
||||
zone.impact0078.description = <insira descrição aqui>
|
||||
zone.crags.description = <Insira descrição aqui>
|
||||
|
||||
settings.language = Idioma
|
||||
settings.data = Dados do jogo
|
||||
@@ -506,7 +521,7 @@ 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 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
|
||||
clear = Limpo
|
||||
banned = [scarlet]Banido
|
||||
yes = Sim
|
||||
no = Não
|
||||
@@ -515,7 +530,7 @@ error.title = [crimson]Ocorreu um Erro.
|
||||
error.crashtitle = Ocorreu um Erro
|
||||
blocks.input = Entrada
|
||||
blocks.output = Saída
|
||||
blocks.booster = Booster
|
||||
blocks.booster = Apoio
|
||||
block.unknown = [LIGHT_GRAY]???
|
||||
blocks.powercapacity = Capacidade de Energia
|
||||
blocks.powershot = Energia/tiro
|
||||
@@ -591,12 +606,14 @@ unit.persecond = por segundo
|
||||
unit.timesspeed = x Velocidade
|
||||
unit.percent = %
|
||||
unit.items = itens
|
||||
unit.thousands = k
|
||||
unit.millions = m
|
||||
category.general = Geral
|
||||
category.power = Poder
|
||||
category.power = Energia
|
||||
category.liquids = Líquidos
|
||||
category.items = Itens
|
||||
category.crafting = Construindo
|
||||
category.shooting = Atirando
|
||||
category.crafting = Entrada/Saída
|
||||
category.shooting = Atiradores
|
||||
category.optional = Melhoras opcionais
|
||||
setting.landscape.name = Travar panorama
|
||||
setting.shadows.name = Sombras
|
||||
@@ -626,6 +643,7 @@ setting.screenshake.name = Balanço da Tela
|
||||
setting.effects.name = Efeitos
|
||||
setting.destroyedblocks.name = Mostrar Blocos Destruídos
|
||||
setting.conveyorpathfinding.name = Esteiras Encontram Caminho
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = Sensibilidade do Controle
|
||||
setting.saveinterval.name = Intervalo de Auto Salvamento
|
||||
setting.seconds = {0} segundos
|
||||
@@ -651,7 +669,7 @@ setting.chatopacity.name = Opacidade do chat
|
||||
setting.lasersopacity.name = Opacidade do laser
|
||||
setting.playerchat.name = Mostrar chat em jogo
|
||||
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.
|
||||
public.beta = Note que as versões beta do jogo não podem fazer salas publicas.
|
||||
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
|
||||
setting.bloom.name = Bloom
|
||||
@@ -719,10 +737,10 @@ keybind.zoom_minimap.name = Zoom do minimapa
|
||||
mode.help.title = Descrição dos modos
|
||||
mode.survival.name = Sobrevivência
|
||||
mode.survival.description = O modo normal. Recursos limitados e hordas automáticas.
|
||||
mode.sandbox.name = Sandbox
|
||||
mode.sandbox.name = Caixa de areia
|
||||
mode.sandbox.description = Recursos infinitos e sem tempo para ataques.
|
||||
mode.editor.name = Editor
|
||||
mode.pvp.name = JXJ
|
||||
mode.pvp.name = JxJ
|
||||
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.
|
||||
@@ -737,6 +755,7 @@ rules.enemyCheat = Recursos de IA Infinitos
|
||||
rules.unitdrops = Inimigos dropam itens
|
||||
rules.unitbuildspeedmultiplier = Multiplicador de velocidade de criação de unidade
|
||||
rules.unithealthmultiplier = Multiplicador de vida de unidade
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = Multiplicador da vida de jogador
|
||||
rules.playerdamagemultiplier = Multiplicador do dano de jogador
|
||||
rules.unitdamagemultiplier = Multiplicador de dano de Unidade
|
||||
@@ -805,6 +824,7 @@ mech.trident-ship.name = Tridente
|
||||
mech.trident-ship.weapon = Carga de bombas
|
||||
mech.glaive-ship.name = Glaive
|
||||
mech.glaive-ship.weapon = Repetidor de fogo
|
||||
item.corestorable = [lightgray]Armazenável no núcleo: {0}
|
||||
item.explosiveness = [LIGHT_GRAY]Explosibilidade: {0}
|
||||
item.flammability = [LIGHT_GRAY]Inflamabilidade: {0}
|
||||
item.radioactivity = [LIGHT_GRAY]Radioatividade: {0}
|
||||
@@ -958,6 +978,7 @@ block.mechanical-pump.name = Bomba Mecânica
|
||||
block.item-source.name = Criador de itens
|
||||
block.item-void.name = Destruidor de itens
|
||||
block.liquid-source.name = Criador de líquidos
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = Anulador de energia
|
||||
block.power-source.name = Criador de energia
|
||||
block.unloader.name = Descarregador
|
||||
@@ -980,9 +1001,9 @@ block.spirit-factory.name = Fábrica de drone de reparo Spirit
|
||||
block.phantom-factory.name = Fábrica de drone de construção Phantom
|
||||
block.wraith-factory.name = Fábrica de lutadores Wraith
|
||||
block.ghoul-factory.name = Fábrica de Bombardeiros Ghoul
|
||||
block.dagger-factory.name = Fábrica de mech Dagger
|
||||
block.crawler-factory.name = Fábrica de mech Crawler
|
||||
block.titan-factory.name = Fábrica de mech titan
|
||||
block.dagger-factory.name = Fábrica de Mecas Dagger
|
||||
block.crawler-factory.name = Fábrica de Mecas Crawler
|
||||
block.titan-factory.name = Fábrica de Mecas Titan
|
||||
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
|
||||
@@ -1039,15 +1060,15 @@ unit.eradicator.name = Erradicador
|
||||
unit.lich.name = Lich
|
||||
unit.reaper.name = Ceifador
|
||||
tutorial.next = [lightgray]<Toque para continuar>
|
||||
tutorial.intro = Você entrou no[scarlet] Tutorial do Mindustry.[]\nComeçe[accent] minerando cobre[]. Toque em um veio de minério de cobre para fazer isso.\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.intro = Você entrou no Tutorial do[scarlet] Mindustry.[]\nUse[accent] [[WASD][] para se mover.\n[accent]Roda do mouse[] para aumentar e diminuir o zoom.\nComece[accent] minerando cobre[]. Toque em um veio de minério de cobre para fazer isso.\n\n[accent]{0}/{1} Cobre
|
||||
tutorial.intro.mobile = Você entrou no Tutorial do[scarlet] Mindustry.[]\nPasse o dedo na tela para se mover.\n[accent]Use os dois dedos [] para alterar o zoom.\nComece[accent] minerando cobre[]. Se aproxime dele, e toque numa veia de cobre perto do seu núcleo.\n\n[accent]{0}/{1} Cobre
|
||||
tutorial.drill = Minerar manualmente é ineficiente.\n[accent]Brocas []podem minerar automaticamente.\nColoque uma num veio de cobre.
|
||||
tutorial.drill.mobile = Minerar manualmente é ineficiente.\n[accent]Brocas []podem minerar automaticamente.\nToque na aba de brocas no canto inferior direito.\nSelecione a[accent] broca mecânica[].\nToque em um veio de cobre para colocá-la, então pressione a[accent] marca de verificação[] abaixo para confirmar sua seleção.\nPressione o[accent] botão "X"[] para cancelar o posicionamento.
|
||||
tutorial.blockinfo = Cada bloco tem diferentes status. Cada broca pode extrair certos minérios.\nPara checar as informações e os status de um bloco,[accent] toque o botão "?" enquanto o seleciona no menu de construção.[]\n\n[accent]Acesse os status da broca mecânica agora.[]
|
||||
tutorial.conveyor = [accent]Esteiras[] São usadas para transportar itens até o núcleo.\nFaça uma linha de Esteiras da mineradora até o núcleo.
|
||||
tutorial.conveyor.mobile = [accent]Esteiras[] são usadas para transportar itens até o núcleo.\nFaça uma linha de esteiras da broca até o núcleo.\n[accent] Coloque uma linha segurando por alguns segundos[] e arrastando em uma direção.\n\n[accent]{0}/{1} esteiras colocadas em linha\n[accent]0/1 itens entregues
|
||||
tutorial.turret = Estruturas defensivas devem ser construidas para repelir[LIGHT_GRAY] o inimigo[].\nConstrua uma torre dupla perto de sua base.
|
||||
tutorial.drillturret = Torretas duplas precisam de[accent] cobre[] como munição para atirar.\nColoque uma broca próxima à torre para carregá-la com o cobre minerado.
|
||||
tutorial.drillturret = Torres duplas precisam de[accent] cobre[] como munição para atirar.\nColoque uma broca próxima à torre para carregá-la com o cobre minerado.
|
||||
tutorial.pause = Durante uma batalha, você pode[accent] pausar o jogo.[]\nVocê pode enfileirar construções enquanto o jogo está pausado.\n\n[accent]Pressione a barra de espaço para pausar.
|
||||
tutorial.pause.mobile = Durante uma batalha, você pode[accent] pausar o jogo.[]\nVocê pode enfileirar construções enquanto o jogo está pausado.\n\n[accent]Pressione este botão no canto superior direito para pausar.
|
||||
tutorial.unpause = Agora pressione novamente a barra de espaço para despausar.
|
||||
@@ -1102,7 +1123,7 @@ unit.revenant.description = Uma matriz de mísseis pesada e flutuante.
|
||||
block.message.description = Armazena uma mensagem. Usado para comunicação entre aliados.
|
||||
block.graphite-press.description = Comprime pedaços de carvão em lâminas de grafite puro.
|
||||
block.multi-press.description = Uma versão melhorada da prensa de grafite. Usa água e energia para processar carvão rápida e eficientemente.
|
||||
block.silicon-smelter.description = Reduz areia com carvão puro. Produz silício silicio.
|
||||
block.silicon-smelter.description = Reduz areia a silicio usando carvão puro. Produz silício.
|
||||
block.kiln.description = Derrete chumbo e areia no composto conhecido como metavidro. Requer pequenas quantidades de energia.
|
||||
block.plastanium-compressor.description = Produz plastânio usando petróleo e titânio.
|
||||
block.phase-weaver.description = Produz tecido de fase usando tório radioativo e areia. Requer massivas quantidades de energia para funcionar.
|
||||
@@ -1121,6 +1142,7 @@ block.power-source.description = Infinitivamente da energia. Apenas caixa de are
|
||||
block.item-source.description = Infinivamente da itens. Apenas caixa de areia.
|
||||
block.item-void.description = Destroi qualquer item que entre sem requerir energia. Apenas caixa de areia.
|
||||
block.liquid-source.description = Infinitivamente da Liquidos. Apenas caixa de areia.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = Um bloco defensivo e barato.\nUtil para proteger o núcleo e torretas no começo.
|
||||
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.
|
||||
@@ -1138,9 +1160,9 @@ block.door-large.description = Uma grande porta. Pode ser aberta e fechada ao to
|
||||
block.mender.description = Periodicamente repara blocos vizinhos. Mantem as defesas reparadas em e entre ondas.\nPode usar silício para aumentar o alcance e a eficiência.
|
||||
block.mend-projector.description = Uma versão melhorada do reparador. Repara blocos vizinhos.\nPode usar tecido de fase para aumentar o alcance e a eficiência.
|
||||
block.overdrive-projector.description = Aumenta a velocidade de construções vizinhas.\nPode usar tecido de fase para aumentar o alcance e a eficiência.
|
||||
block.force-projector.description = Cria um campo de forca hexagonal em volta de si mesmo, Protegendo construções e unidades dentro de dano por balas.
|
||||
block.force-projector.description = Cria um campo de força hexagonal ao redor de si, protegendo construções e unidades.\nSuperaquece se suportar muito dano. Pode usar líquidos para evitar superaquecimento. Pode-se usar tecido de fase para aumentar o tamanho do escudo.
|
||||
block.shock-mine.description = Danifica inimigos em cima da mina. Quase invisivel ao inimigo.
|
||||
block.conveyor.description = Bloco de transporte de item basico. Move os itens a frente e os deposita automaticamente em torretas ou construtores. Rotacionavel.
|
||||
block.conveyor.description = Bloco de transporte de item basico. Move os itens a frente e os deposita automaticamente em torretas ou construtores. Rotacionável.
|
||||
block.titanium-conveyor.description = Bloco de transporte de item avançado. Move itens mais rapidos que esteiras padrões.
|
||||
block.junction.description = Funciona como uma ponte Para duas esteiras que estejam se cruzando. Util em situações que tenha duas esteiras diferentes carregando materiais diferentes para lugares diferentes.
|
||||
block.bridge-conveyor.description = Bloco de transporte de itens avancado. Possibilita o transporte de itens acima de 3 blocos de construção ou paredes.
|
||||
@@ -1176,16 +1198,16 @@ block.rtg-generator.description = Um Gerador termoelétrico de radioisótopos qu
|
||||
block.solar-panel.description = Gera pequenas quantidades de energia do sol.
|
||||
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.impact-reactor.description = Um gerador avançado, capaz de criar quantidades enormes de energia em seu poder total. Requer uma entrada significativa de energia ao iniciar.
|
||||
block.mechanical-drill.description = Uma broca barata. Quando colocado em blocos apropriados, retira itens em um ritmo lento e indefinitavamente.
|
||||
block.pneumatic-drill.description = Uma broca improvisada que é mais rápida e capaz de processar materiais mais duros usando a pressão do ar
|
||||
block.laser-drill.description = Possibilita a mineração ainda mais rapida usando tecnologia a laser, Mas requer poder adcionalmente torio radioativo pode ser recuperado com essa mineradora
|
||||
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.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-shard.description = The first iteration of the core capsule. Once destroyed, all contact to the region is lost. Do not let this happen.
|
||||
block.core-foundation.description = The second version of the core. Better armored. Stores more resources.
|
||||
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.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
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á falamos inglês)
|
||||
@@ -10,7 +10,9 @@ link.dev-builds.description = Desenvolvimentos Instáveis
|
||||
link.trello.description = Trello Oficial para Atualizações Planejadas
|
||||
link.itch.io.description = Pagina da Itch.io com os Descarregamentos
|
||||
link.google-play.description = Listamento do google play store
|
||||
link.f-droid.description = F-Droid catalogue listing
|
||||
link.wiki.description = Wiki oficial do Mindustry
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = Falha ao abrir a ligação\nO Url foi copiado
|
||||
screenshot = Screenshot gravado para {0}
|
||||
screenshot.invalid = Mapa grande demais, Potencialmente sem memória suficiente para captura.
|
||||
@@ -18,28 +20,39 @@ gameover = O núcleo foi destruído.
|
||||
gameover.pvp = O time[accent] {0}[] ganhou!
|
||||
highscore = [YELLOW]Novo recorde!
|
||||
copied = Copiado.
|
||||
|
||||
load.sound = Sons
|
||||
load.map = Mapas
|
||||
load.image = Imagens
|
||||
load.content = Conteúdo
|
||||
load.system = Sistema
|
||||
load.mod = Mods
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = Esquema
|
||||
schematic.add = Gravar Esquema...
|
||||
schematics = Esquemas
|
||||
schematic.replace = A schematic by that name already exists. Replace it?
|
||||
schematic.replace = Um esquema com esse nome já existe. Deseja substituí-lo?
|
||||
schematic.import = Importar Esquema...
|
||||
schematic.exportfile = Exportar Ficheiro
|
||||
schematic.importfile = Importar Ficheiro
|
||||
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}][]: Tornar Esquema
|
||||
schematic.browseworkshop = Pesquisar no Workshop
|
||||
schematic.copy = Copiar para a área de transferência
|
||||
schematic.copy.import = Importar da área de transferência
|
||||
schematic.shareworkshop = Partilhar na Workshop
|
||||
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Rodar Esquema
|
||||
schematic.saved = Esquema gravado.
|
||||
schematic.delete.confirm = Este esquema irá ser completamente apagado.
|
||||
schematic.rename = Renomear Esquema
|
||||
schematic.info = {0}x{1}, {2} blocos
|
||||
|
||||
stat.wave = Hordas derrotadas:[accent] {0}
|
||||
stat.enemiesDestroyed = Inimigos Destruídos:[accent] {0}
|
||||
stat.built = Construções construídas:[accent] {0}
|
||||
@@ -47,6 +60,7 @@ 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}
|
||||
|
||||
launcheditems = [accent]Itens lançados
|
||||
launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue.
|
||||
map.delete = Certeza que quer deletar o mapa "[accent]{0}[]"?
|
||||
@@ -56,7 +70,7 @@ 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 do núcleo
|
||||
savegame = Gravar Jogo
|
||||
loadgame = Carregar Jogo
|
||||
joingame = Entrar no Jogo
|
||||
@@ -74,36 +88,45 @@ maps.browse = Pesquisar mapas
|
||||
continue = Continuar
|
||||
maps.none = [LIGHT_GRAY]Nenhum Mapa Encontrado!
|
||||
invalid = Inválido
|
||||
pickcolor = Pick Color
|
||||
preparingconfig = Preparando configuração
|
||||
preparingcontent = Preparando conteúdo
|
||||
uploadingcontent = Enviando conteúdo
|
||||
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.
|
||||
feature.unsupported = O teu dispositivos não suporta esta característica.
|
||||
|
||||
mods.alphainfo = Lembre-se de que os mods estão em alfa, e [scarlet] pode estar cheio de falhas[].\nReporta qualquer problema que encontres no the Mindustry GitHub ou 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]Mods não encontrados!
|
||||
mods.guide = Guia de mods
|
||||
mods.report = Reportar Bug
|
||||
mods.openfolder = Open Mod Folder
|
||||
mod.enabled = [lightgray]Ativado
|
||||
mod.disabled = [scarlet]Desativado
|
||||
mod.disable = Desativar
|
||||
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 = Incapaz de apagar o mod. Ficheiro já em uso.
|
||||
mod.requiresversion = [scarlet]Requires min game version: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Dependências ausentes: {0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Errors have occurred loading content.
|
||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||
mod.nowdisabled = [scarlet]Mod '{0}' está faltando dependências:[accent] {1}\n[lightgray]Esses mods precisam ser baixados primeiro. NEste mod será automaticamente desativado
|
||||
mod.enable = Ativar
|
||||
mod.requiresrestart = The game will now close to apply the mod changes.
|
||||
mod.requiresrestart = O jogo será fechado agora para aplicar as alterações no mod.
|
||||
mod.reloadrequired = [scarlet]Reload Required
|
||||
mod.import = Importar Mod
|
||||
mod.import.github = Importar Mod da GitHub
|
||||
mod.import.github = Importar Mod pelo GitHub
|
||||
mod.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that mod.
|
||||
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}
|
||||
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 = Este save contém mods que foram recentemente atualizados ou que não estão mais instalados. Ao guardar pode ocorreu corrupção. Tem certeza de que deseja carregá-lo?\n[lightgray]Mods:\n{0}
|
||||
mod.preview.missing = Antes de publicar este mod no workshop, você deve adicionar uma visualização da imagem.\nNome da imagem -> [accent] preview.png[] na pasta de mods e tenta outra vez.
|
||||
mod.folder.missing = Apenas mods na pasta podem ser publicados no Workshop.\nPara converter qualquer mod para uma pasta, simplesmentes descomprime os ficheiros para a pasta e apague o ficheiro zip antigo, e depois reinicia o jogo ou os teus mods.
|
||||
mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly.
|
||||
|
||||
about.button = Sobre
|
||||
name = Nome:
|
||||
noname = Escolha[accent] um nome[] primeiro.
|
||||
@@ -132,8 +155,9 @@ 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.kicked.serverRestarting = The server is restarting.
|
||||
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 = O [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
|
||||
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
|
||||
@@ -235,12 +259,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]Recarregar mods...
|
||||
saving = [accent]Gravando...
|
||||
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 apagar o plano
|
||||
selectschematic = [accent][[{0}][] para selecionar+copy
|
||||
pausebuilding = [accent][[{0}][] para pausar construção
|
||||
resumebuilding = [scarlet][[{0}][] para resumir construção
|
||||
wave = [accent]Horda {0}
|
||||
wave.waiting = Horda em {0}
|
||||
wave.waveInProgress = [LIGHT_GRAY]Horda Em Progresso
|
||||
@@ -262,15 +286,16 @@ map.invalid = Erro ao carregar o mapa: Ficheiro de mapa invalido ou corrupto.
|
||||
workshop.update = Atualizar Item
|
||||
workshop.error = Error fetching workshop details: {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.menu = Seleciona o que tu gostarias de fazer com este item.
|
||||
workshop.info = Item Info
|
||||
changelog = Changelog (optional):
|
||||
eula = EULA do 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}
|
||||
missing = Este item foi apagodo ou movido.\n[lightgray]A listagem da oficina foi automaticamente desassociada.
|
||||
publishing = [accent]A publicar...
|
||||
publish.confirm = Tens a certeza que queres publicar isto?\n\n[lightgray]Certifique-se de concordar com o EULA do workshpop primeiro, ou seus itens não aparecerão!
|
||||
publish.error = Erro ao publicao os items: {0}
|
||||
steam.error = Falha ao iniciar os serviços da Steam.\nError: {0}
|
||||
|
||||
editor.brush = Pincel
|
||||
editor.openin = Abrir no Editor
|
||||
editor.oregen = Geração de minério
|
||||
@@ -347,6 +372,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 +387,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,6 +419,7 @@ 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
|
||||
@@ -407,13 +435,14 @@ 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 = Ronda alcançada {0} / {1}
|
||||
requirement.core = Destruir Núcleo Inimigo em {0}
|
||||
requirement.unlock = Destrava {0}
|
||||
resume = Resumir Zona:\n[LIGHT_GRAY]{0}
|
||||
bestwave = [LIGHT_GRAY]Melhor: {0}
|
||||
launch = Lançar
|
||||
@@ -424,19 +453,20 @@ launch.confirm = Isto vai lançar todos os seus recursos no seu núcleo.\nVoce n
|
||||
launch.skip.confirm = Se você pular a horda agora, você não será capaz de lançar até hordas mais avançadas.
|
||||
uncover = Descobrir
|
||||
configure = Configurar carregamento
|
||||
bannedblocks = Banned Blocks
|
||||
addall = Add All
|
||||
bannedblocks = Blocos banidos
|
||||
addall = Adiciona tudo
|
||||
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 = Loadout destravada:[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
|
||||
|
||||
connectfail = [crimson]Falha ao entrar no servidor: [accent]{0}
|
||||
error.unreachable = Servidor inalcançável.
|
||||
error.invalidaddress = Endereço inválido.
|
||||
@@ -447,6 +477,7 @@ error.mapnotfound = Ficheiro 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 aparelho talvez não o suporte.
|
||||
|
||||
zone.groundZero.name = Marco zero
|
||||
zone.desertWastes.name = Ruínas do Deserto
|
||||
zone.craters.name = As crateras
|
||||
@@ -461,6 +492,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,10 +507,12 @@ 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.data = Dados do jogo
|
||||
settings.reset = Restaurar Padrões
|
||||
settings.rebind = Religar
|
||||
settings.resetKey = Reset
|
||||
settings.controls = Controles
|
||||
settings.game = Jogo
|
||||
settings.sound = Som
|
||||
@@ -487,8 +521,8 @@ 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.
|
||||
paused = Pausado
|
||||
clear = Clear
|
||||
banned = [scarlet]Banned
|
||||
clear = Limpar
|
||||
banned = [scarlet]Banido
|
||||
yes = Sim
|
||||
no = Não
|
||||
info.title = [accent]Informação
|
||||
@@ -529,6 +563,7 @@ 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
|
||||
@@ -544,6 +579,9 @@ bar.heat = Aquecimento
|
||||
bar.power = Poder
|
||||
bar.progress = Progresso da construção
|
||||
bar.spawned = Unidades: {0}/{1}
|
||||
bar.input = Input
|
||||
bar.output = Output
|
||||
|
||||
bullet.damage = [stat]{0}[lightgray] dano
|
||||
bullet.splashdamage = [stat]{0}[lightgray] Dano em área ~[stat] {1}[lightgray] Blocos
|
||||
bullet.incendiary = [stat]Incendiário
|
||||
@@ -555,6 +593,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
|
||||
@@ -567,6 +606,8 @@ unit.persecond = por segundo
|
||||
unit.timesspeed = x Velocidade
|
||||
unit.percent = %
|
||||
unit.items = itens
|
||||
unit.thousands = k
|
||||
unit.millions = mil
|
||||
category.general = Geral
|
||||
category.power = Poder
|
||||
category.liquids = Líquidos
|
||||
@@ -579,6 +620,7 @@ setting.shadows.name = Sombras
|
||||
setting.blockreplace.name = Automatic Block Suggestions
|
||||
setting.linear.name = Filtragem linear
|
||||
setting.hints.name = Hints
|
||||
setting.buildautopause.name = Auto-Pause Building
|
||||
setting.animatedwater.name = Água animada
|
||||
setting.animatedshields.name = Escudos animados
|
||||
setting.antialias.name = Filtro suavizante[LIGHT_GRAY] (reinicialização requerida)[]
|
||||
@@ -601,12 +643,16 @@ setting.screenshake.name = Balanço do Ecrã
|
||||
setting.effects.name = Efeitos
|
||||
setting.destroyedblocks.name = Display Destroyed Blocks
|
||||
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = Sensibilidade do Controle
|
||||
setting.saveinterval.name = Intervalo de autogravamento
|
||||
setting.seconds = {0} Segundos
|
||||
setting.blockselecttimeout.name = Block Select Timeout
|
||||
setting.milliseconds = {0} milliseconds
|
||||
setting.fullscreen.name = Ecrã inteiro
|
||||
setting.borderlesswindow.name = Janela sem borda[LIGHT_GRAY] (Pode precisar reiniciar)
|
||||
setting.fps.name = Mostrar FPS
|
||||
setting.blockselectkeys.name = Show Block Select Keys
|
||||
setting.vsync.name = VSync
|
||||
setting.pixelate.name = Pixelizado [LIGHT_GRAY](Pode diminuir a performace)
|
||||
setting.minimap.name = Mostrar minimapa
|
||||
@@ -620,10 +666,10 @@ setting.crashreport.name = Enviar denuncias de crash anonimas
|
||||
setting.savecreate.name = Criar gravamentos 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 Power 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.beta = Note that beta versions of the game cannot make public lobbies.
|
||||
public.confirm = Queres que o teu jogo fique publico?\n[accent]Qualquer jogador vai conseguir juntar-se ao teu jogo.\n[lightgray]Isto pode ser alterado mais tarde in Settings->Game->Public Game Visibility.
|
||||
public.beta = Observe que as versões beta do jogo não podem criar lobbies públicos.
|
||||
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
|
||||
setting.bloom.name = Bloom
|
||||
@@ -635,18 +681,38 @@ category.multiplayer.name = Multijogador
|
||||
command.attack = Atacar
|
||||
command.rally = Reunir
|
||||
command.retreat = Recuar
|
||||
placement.blockselectkeys = \n[lightgray]Key: [{0},
|
||||
keybind.clear_building.name = Limpar Edificio
|
||||
keybind.press = Pressione uma tecla...
|
||||
keybind.press.axis = Pressione uma Axis ou tecla...
|
||||
keybind.screenshot.name = Captura do mapa
|
||||
keybind.toggle_power_lines.name = Toggle Power Lasers
|
||||
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.mouse_move.name = Follow Mouse
|
||||
keybind.dash.name = Correr
|
||||
keybind.schematic_select.name = Selecionar região
|
||||
keybind.schematic_menu.name = Menu esquemático
|
||||
keybind.schematic_flip_x.name = Rodar esquema X
|
||||
keybind.schematic_flip_y.name = Rodar esquema 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 = Alterar ecrã inteiro
|
||||
keybind.select.name = selecionar
|
||||
keybind.select.name = Selecionar
|
||||
keybind.diagonal_placement.name = Colocação diagonal
|
||||
keybind.pick.name = Pegar bloco
|
||||
keybind.break_block.name = Quebrar bloco
|
||||
@@ -655,21 +721,20 @@ keybind.shoot.name = Atirar
|
||||
keybind.zoom.name = Zoom
|
||||
keybind.menu.name = Menu
|
||||
keybind.pause.name = Pausar
|
||||
keybind.pause_building.name = Pause/Resume Building
|
||||
keybind.pause_building.name = Pausar/Resumir 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.rotate.name = Girar
|
||||
keybind.rotateplaced.name = Rotate Existing (Hold)
|
||||
keybind.rotateplaced.name = Rodar existente (Hold)
|
||||
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_prev.name = Histórico do chat anterior
|
||||
keybind.chat_history_next.name = Histórico do proximo chat
|
||||
keybind.chat_scroll.name = Rolar chat
|
||||
keybind.drop_unit.name = Soltar unidade
|
||||
keybind.zoom_minimap.name = Zoom do minimapa
|
||||
mode.help.title = Descrição dos modos
|
||||
mode.help.title = Descrição dos mods
|
||||
mode.survival.name = Sobrevivência
|
||||
mode.survival.description = O modo normal. Recursos limitados e hordas automáticas.
|
||||
mode.sandbox.name = Sandbox
|
||||
@@ -680,7 +745,9 @@ 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 = Reactor Explosions
|
||||
rules.wavetimer = Tempo de horda
|
||||
rules.waves = Hordas
|
||||
rules.attack = Modo de ataque
|
||||
@@ -688,6 +755,7 @@ rules.enemyCheat = Recursos de IA Infinitos
|
||||
rules.unitdrops = Unidade solta
|
||||
rules.unitbuildspeedmultiplier = Multiplicador de velocidade de criação de unidade
|
||||
rules.unithealthmultiplier = Multiplicador de vida de unidade
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = Multiplicador da vida de jogador
|
||||
rules.playerdamagemultiplier = Multiplicador do dano de jogador
|
||||
rules.unitdamagemultiplier = Multiplicador de dano de Unidade
|
||||
@@ -706,6 +774,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 = Lighting
|
||||
rules.ambientlight = Ambient Light
|
||||
|
||||
content.item.name = Itens
|
||||
content.liquid.name = Liquidos
|
||||
content.unit.name = Unidades
|
||||
@@ -752,6 +824,7 @@ mech.trident-ship.name = Tridente
|
||||
mech.trident-ship.weapon = Carga de bombas
|
||||
mech.glaive-ship.name = Glaive
|
||||
mech.glaive-ship.weapon = Repetidor de fogo
|
||||
item.corestorable = [lightgray]Storable in Core: {0}
|
||||
item.explosiveness = [LIGHT_GRAY]Explosibilidade: {0}
|
||||
item.flammability = [LIGHT_GRAY]Inflamabilidade: {0}
|
||||
item.radioactivity = [LIGHT_GRAY]Radioatividade: {0}
|
||||
@@ -767,6 +840,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
|
||||
@@ -865,6 +939,8 @@ block.distributor.name = Distribuidor
|
||||
block.sorter.name = Ordenador
|
||||
block.inverted-sorter.name = Inverted Sorter
|
||||
block.message.name = Mensagem
|
||||
block.illuminator.name = Illuminator
|
||||
block.illuminator.description = A small, compact, configurable light source. Requires power to function.
|
||||
block.overflow-gate.name = Portão Sobrecarregado
|
||||
block.silicon-smelter.name = Fundidora de silicio
|
||||
block.phase-weaver.name = Palheta de fase
|
||||
@@ -878,6 +954,7 @@ 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.surge-tower.name = Torre de surto
|
||||
block.diode.name = Battery Diode
|
||||
block.battery.name = Bateria
|
||||
block.battery-large.name = Bateria Grande
|
||||
block.combustion-generator.name = Gerador a combustão
|
||||
@@ -901,6 +978,7 @@ block.mechanical-pump.name = Bomba Mecânica
|
||||
block.item-source.name = Criador de itens
|
||||
block.item-void.name = Destruidor de itens
|
||||
block.liquid-source.name = Criador de líquidos
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = Anulador de energia
|
||||
block.power-source.name = Criador de energia
|
||||
block.unloader.name = Descarregador
|
||||
@@ -930,6 +1008,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 = Plated Conduit
|
||||
block.phase-conduit.name = Cano de Fase
|
||||
block.liquid-router.name = Roteador de Líquido
|
||||
block.liquid-tank.name = Tanque de Líquido
|
||||
@@ -981,8 +1060,8 @@ unit.eradicator.name = Erradicador
|
||||
unit.lich.name = Lich
|
||||
unit.reaper.name = Ceifador
|
||||
tutorial.next = [lightgray]<Toque para continuar>
|
||||
tutorial.intro = Você entrou no[scarlet] Tutorial do Mindustry.[]\nComeçe[accent] minerando cobre[]. Toque em um veio de minério de cobre para fazer isso.\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.intro = Entraste no[scarlet] Tutorial do Mindustry.[]\nComeçe[accent] minerando cobre[]. Toque em um veio de minério de cobre para fazer isso.\n\n[accent]{0}/{1} copper
|
||||
tutorial.intro.mobile = Entraste no[scarlet] Mindustry Tutorial.[]\nPasse o dedo na tela para mover.\n[accent]Use 2 dedos [] para manipular o zoom.\nComeça por by[accent] minerar cobre[].Aproxime-se dele e toque uma veia de minério de cobre perto do seu núcleo para fazer isso.\n\n[accent]{0}/{1} copper
|
||||
tutorial.drill = Minerar manualmente é ineficiente.\n[accent]Brocas []podem minerar automaticamente.\nColoque uma num veio de cobre.
|
||||
tutorial.drill.mobile = Minerar manualmente é ineficiente.\n[accent]Brocas []podem minerar automaticamente.\nToque na aba de brocas no canto inferior direito.\nSelecione a[accent] broca mecânica[].\nToque em um veio de cobre para colocá-la, então pressione a[accent] marca de verificação[] abaixo para confirmar sua seleção.\nPressione o[accent] botão "X"[] para cancelar o posicionamento.
|
||||
tutorial.blockinfo = Cada bloco tem diferentes status. Cada broca pode extrair certos minérios.\nPara checar as informações e os status de um bloco,[accent] toque o botão "?" enquanto o seleciona no menu de construção.[]\n\n[accent]Acesse os status da broca mecânica agora.[]
|
||||
@@ -1001,6 +1080,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.
|
||||
@@ -1062,6 +1142,7 @@ block.power-source.description = Infinitivamente da energia. Apenas caixa de are
|
||||
block.item-source.description = Infinivamente da itens. Apenas caixa de areia.
|
||||
block.item-void.description = Destroi qualquer item que entre sem requerir energia. Apenas caixa de areia.
|
||||
block.liquid-source.description = Infinitivamente da Liquidos. Apenas caixa de areia.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = Um bloco defensivo e barato.\nUtil para proteger o núcleo e torretas no começo.
|
||||
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.
|
||||
@@ -1097,6 +1178,7 @@ 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.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 = 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.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.
|
||||
@@ -1105,6 +1187,7 @@ 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 = Battery power can flow through this block in only one direction, but only if the other side has less power stored.
|
||||
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.
|
||||
@@ -1247,4 +1247,4 @@ block.tau-mech-pad.description = Обеспечивает превращение
|
||||
block.omega-mech-pad.description = Обеспечивает превращение в тяжелобронированный ракетный мех.\nИспользуйте, нажав, стоя на нём.
|
||||
block.javelin-ship-pad.description = Обеспечивает превращение в быстрый перехватчик в лёгкой броне.\nИспользуйте, нажав, стоя на нём.
|
||||
block.trident-ship-pad.description = Обеспечивает превращение в тяжёлый бомбардировщик поддержки.\nИспользуйте, нажав, стоя на нём.
|
||||
block.glaive-ship-pad.description = Обеспечивает превращение в большой, хорошо бронированный боевой корабль.\nИспользуйте, нажав, стоя на нём.
|
||||
block.glaive-ship-pad.description = Обеспечивает превращение в большой, хорошо бронированный боевой корабль.\nИспользуйте, нажав, стоя на нём.
|
||||
@@ -10,7 +10,9 @@ link.dev-builds.description = Unstable development builds
|
||||
link.trello.description = Officiell Trello tavla för plannerade funktioner
|
||||
link.itch.io.description = itch.io sida med nedladdningar
|
||||
link.google-play.description = Mindustry på Google Play
|
||||
link.f-droid.description = F-Droid catalogue listing
|
||||
link.wiki.description = Officiell wiki-sida för Mindustry
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = Kunde inte öppna länken!\nURL:en har kopierats till ditt urklipp.
|
||||
screenshot = Skärmdump har sparats till {0}
|
||||
screenshot.invalid = Karta för stor, potentiellt inte tillräckligt minne för .
|
||||
@@ -18,12 +20,22 @@ gameover = Game Over
|
||||
gameover.pvp = The[accent] {0}[] team is victorious!
|
||||
highscore = [accent]Nytt rekord!
|
||||
copied = Kopierad.
|
||||
|
||||
load.sound = Ljud
|
||||
load.map = Kartor
|
||||
load.image = Bilder
|
||||
load.content = Innehåll
|
||||
load.system = System
|
||||
load.mod = Mods
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = Schematic
|
||||
schematic.add = Save Schematic...
|
||||
schematics = Schematics
|
||||
@@ -40,6 +52,7 @@ schematic.saved = Schematic saved.
|
||||
schematic.delete.confirm = This schematic will be utterly eradicated.
|
||||
schematic.rename = Rename Schematic
|
||||
schematic.info = {0}x{1}, {2} blocks
|
||||
|
||||
stat.wave = Besegrade vågor:[accent] {0}
|
||||
stat.enemiesDestroyed = Besegrade fiender:[accent] {0}
|
||||
stat.built = Buildings Built:[accent] {0}
|
||||
@@ -47,6 +60,7 @@ stat.destroyed = Buildings Destroyed:[accent] {0}
|
||||
stat.deconstructed = Buildings Deconstructed:[accent] {0}
|
||||
stat.delivered = Resources Launched:
|
||||
stat.rank = Final Rank: [accent]{0}
|
||||
|
||||
launcheditems = [accent]Launched Items
|
||||
launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue.
|
||||
map.delete = Are you sure you want to delete the map "[accent]{0}[]"?
|
||||
@@ -74,6 +88,7 @@ maps.browse = Bläddra bland kartor
|
||||
continue = Fortsätt
|
||||
maps.none = [lightgray]Inga kartor hittade!
|
||||
invalid = Ogiltig
|
||||
pickcolor = Pick Color
|
||||
preparingconfig = Förbereder konfiguration
|
||||
preparingcontent = Förbereder innehåll
|
||||
uploadingcontent = Laddar upp innehåll
|
||||
@@ -81,6 +96,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.alpha = [accent](Alpha)
|
||||
mods = Mods
|
||||
@@ -92,18 +108,25 @@ 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 min game version: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Missing dependencies: {0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Errors have occurred loading content.
|
||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||
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.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that 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.
|
||||
mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly.
|
||||
|
||||
about.button = Om
|
||||
name = Namn:
|
||||
noname = Välj ett[accent] namn[] först.
|
||||
@@ -132,6 +155,7 @@ server.kicked.nameEmpty = Ditt namn är ogiltigt.
|
||||
server.kicked.idInUse = Du är redan på den här servern! Det är inte tillåtet att koppla med två konton.
|
||||
server.kicked.customClient = This server does not support custom builds. Ladda ned en officiell verision.
|
||||
server.kicked.gameover = Game over!
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||
host.info = The [accent]host[] button hosts a server on port [scarlet]6567[]. \nAnybody on the same [lightgray]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[lightgray]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings. Note that public networks sometimes do not allow server discovery.
|
||||
join.info = Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[lightgray]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
|
||||
@@ -271,6 +295,7 @@ 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}
|
||||
|
||||
editor.brush = Pensel
|
||||
editor.openin = Open In Editor
|
||||
editor.oregen = Ore Generation
|
||||
@@ -347,6 +372,7 @@ editor.overwrite = [accent]Warning!\nThis overwrites an existing map.
|
||||
editor.overwrite.confirm = [scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
|
||||
editor.exists = A map with this name already exists.
|
||||
editor.selectmap = Select a map to load:
|
||||
|
||||
toolmode.replace = Byt ut
|
||||
toolmode.replace.description = Draws only on solid blocks.
|
||||
toolmode.replaceall = Byt ut alla
|
||||
@@ -361,6 +387,7 @@ toolmode.fillteams = Fyll Lag
|
||||
toolmode.fillteams.description = Fill teams instead of blocks.
|
||||
toolmode.drawteams = Rita Lag
|
||||
toolmode.drawteams.description = Draw teams instead of blocks.
|
||||
|
||||
filters.empty = [lightgray]No filters! Add one with the button below.
|
||||
filter.distort = Distort
|
||||
filter.noise = Brus
|
||||
@@ -392,6 +419,7 @@ filter.option.floor2 = Secondary Floor
|
||||
filter.option.threshold2 = Secondary Threshold
|
||||
filter.option.radius = Radie
|
||||
filter.option.percentile = Percentile
|
||||
|
||||
width = Bredd:
|
||||
height = Höjd:
|
||||
menu = Meny
|
||||
@@ -407,6 +435,7 @@ tutorial = Tutorial
|
||||
tutorial.retake = Ta Om Tutorial
|
||||
editor = Editor
|
||||
mapeditor = Map Editor
|
||||
|
||||
abandon = Ge upp
|
||||
abandon.text = Zonen och alla dess resurser förloras till fienden.
|
||||
locked = Låst
|
||||
@@ -437,6 +466,7 @@ zone.objective.survival = Survive
|
||||
zone.objective.attack = Destroy Enemy Core
|
||||
add = Lägg till...
|
||||
boss.health = Boss Health
|
||||
|
||||
connectfail = [crimson]Connection error:\n\n[accent]{0}
|
||||
error.unreachable = Server unreachable.\nIs the address spelled correctly?
|
||||
error.invalidaddress = Ogiltig adress.
|
||||
@@ -447,6 +477,7 @@ error.mapnotfound = Map file not found!
|
||||
error.io = Network I/O error.
|
||||
error.any = Okänt nätverksfel.
|
||||
error.bloom = Failed to initialize bloom.\nYour device may not support it.
|
||||
|
||||
zone.groundZero.name = Ground Zero
|
||||
zone.desertWastes.name = Desert Wastes
|
||||
zone.craters.name = Kratrar
|
||||
@@ -461,6 +492,7 @@ zone.saltFlats.name = Salt Flats
|
||||
zone.impact0078.name = Impact 0078
|
||||
zone.crags.name = Crags
|
||||
zone.fungalPass.name = Fungal Pass
|
||||
|
||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||
@@ -475,10 +507,12 @@ zone.nuclearComplex.description = A former facility for the production and proce
|
||||
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||
zone.impact0078.description = <insert description here>
|
||||
zone.crags.description = <insert description here>
|
||||
|
||||
settings.language = Språk
|
||||
settings.data = Game Data
|
||||
settings.reset = Återställ till Standardvärden
|
||||
settings.rebind = Byt
|
||||
settings.resetKey = Reset
|
||||
settings.controls = Kontroller
|
||||
settings.game = Spel
|
||||
settings.sound = Ljud
|
||||
@@ -529,6 +563,7 @@ blocks.inaccuracy = Inaccuracy
|
||||
blocks.shots = Skott
|
||||
blocks.reload = Shots/Second
|
||||
blocks.ammo = Ammunition
|
||||
|
||||
bar.drilltierreq = Bättre Borr Krävs
|
||||
bar.drillspeed = Drill Speed: {0}/s
|
||||
bar.pumpspeed = Pump Speed: {0}/s
|
||||
@@ -544,6 +579,9 @@ bar.heat = Hetta
|
||||
bar.power = Power
|
||||
bar.progress = Build Progress
|
||||
bar.spawned = Units: {0}/{1}
|
||||
bar.input = Input
|
||||
bar.output = Output
|
||||
|
||||
bullet.damage = [stat]{0}[lightgray] skada
|
||||
bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
|
||||
bullet.incendiary = [stat]incendiary
|
||||
@@ -555,6 +593,7 @@ bullet.freezing = [stat]freezing
|
||||
bullet.tarred = [stat]tarred
|
||||
bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier
|
||||
bullet.reload = [stat]{0}[lightgray]x fire rate
|
||||
|
||||
unit.blocks = block
|
||||
unit.powersecond = power units/second
|
||||
unit.liquidsecond = liquid units/second
|
||||
@@ -567,6 +606,8 @@ unit.persecond = /sek
|
||||
unit.timesspeed = x hastighet
|
||||
unit.percent = %
|
||||
unit.items = föremål
|
||||
unit.thousands = k
|
||||
unit.millions = mil
|
||||
category.general = Allmänt
|
||||
category.power = Energi
|
||||
category.liquids = Vätskor
|
||||
@@ -579,6 +620,7 @@ setting.shadows.name = Skuggor
|
||||
setting.blockreplace.name = Automatic Block Suggestions
|
||||
setting.linear.name = Linear Filtering
|
||||
setting.hints.name = Hints
|
||||
setting.buildautopause.name = Auto-Pause Building
|
||||
setting.animatedwater.name = Animerat Vatten
|
||||
setting.animatedshields.name = Animerade Sköldar
|
||||
setting.antialias.name = Antialias[lightgray] (requires restart)[]
|
||||
@@ -601,12 +643,16 @@ setting.screenshake.name = Skärmskak
|
||||
setting.effects.name = Visa Effekter
|
||||
setting.destroyedblocks.name = Display Destroyed Blocks
|
||||
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = Controller Sensitivity
|
||||
setting.saveinterval.name = Save Interval
|
||||
setting.seconds = {0} Sekunder
|
||||
setting.blockselecttimeout.name = Block Select Timeout
|
||||
setting.milliseconds = {0} milliseconds
|
||||
setting.fullscreen.name = Fullskärm
|
||||
setting.borderlesswindow.name = Borderless Window[lightgray] (may require restart)
|
||||
setting.fps.name = Show FPS
|
||||
setting.blockselectkeys.name = Show Block Select Keys
|
||||
setting.vsync.name = VSync
|
||||
setting.pixelate.name = Pixellera[lightgray] (disables animations)
|
||||
setting.minimap.name = Visa Minikarta
|
||||
@@ -635,16 +681,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.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
|
||||
@@ -657,7 +723,6 @@ 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.console.name = Console
|
||||
@@ -680,7 +745,9 @@ mode.pvp.description = Fight against other players locally.\n[gray]Requires at l
|
||||
mode.attack.name = Attack
|
||||
mode.attack.description = Destroy the enemy's base. No waves.\n[gray]Requires a red core in the map to play.
|
||||
mode.custom = Custom Rules
|
||||
|
||||
rules.infiniteresources = Infinite Resources
|
||||
rules.reactorexplosions = Reactor Explosions
|
||||
rules.wavetimer = Vågtimer
|
||||
rules.waves = Vågor
|
||||
rules.attack = Attack Mode
|
||||
@@ -688,6 +755,7 @@ rules.enemyCheat = Infinite AI (Red Team) Resources
|
||||
rules.unitdrops = Unit Drops
|
||||
rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier
|
||||
rules.unithealthmultiplier = Unit Health Multiplier
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = Player Health Multiplier
|
||||
rules.playerdamagemultiplier = Player Damage Multiplier
|
||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
||||
@@ -706,6 +774,10 @@ rules.title.resourcesbuilding = Resources & Building
|
||||
rules.title.player = Spelare
|
||||
rules.title.enemy = Fiender
|
||||
rules.title.unit = Units
|
||||
rules.title.experimental = Experimental
|
||||
rules.lighting = Lighting
|
||||
rules.ambientlight = Ambient Light
|
||||
|
||||
content.item.name = Föremål
|
||||
content.liquid.name = Vätskor
|
||||
content.unit.name = Units
|
||||
@@ -752,6 +824,7 @@ mech.trident-ship.name = Treudd
|
||||
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}%
|
||||
@@ -767,6 +840,7 @@ mech.buildspeed = [lightgray]Building Speed: {0}%
|
||||
liquid.heatcapacity = [lightgray]Heat Capacity: {0}
|
||||
liquid.viscosity = [lightgray]Viskositet: {0}
|
||||
liquid.temperature = [lightgray]Temperatur: {0}
|
||||
|
||||
block.sand-boulder.name = Sandbumling
|
||||
block.grass.name = Gräs
|
||||
block.salt.name = Salt
|
||||
@@ -865,6 +939,8 @@ block.distributor.name = Distributor
|
||||
block.sorter.name = Sorterare
|
||||
block.inverted-sorter.name = Inverted Sorter
|
||||
block.message.name = Meddelande
|
||||
block.illuminator.name = Illuminator
|
||||
block.illuminator.description = A small, compact, configurable light source. Requires power to function.
|
||||
block.overflow-gate.name = Överflödesgrind
|
||||
block.silicon-smelter.name = Kiselsmältare
|
||||
block.phase-weaver.name = Phase Weaver
|
||||
@@ -878,6 +954,7 @@ block.coal-centrifuge.name = Kolcentrifug
|
||||
block.power-node.name = Energinod
|
||||
block.power-node-large.name = Stor Energinod
|
||||
block.surge-tower.name = Surge Tower
|
||||
block.diode.name = Battery Diode
|
||||
block.battery.name = Batteri
|
||||
block.battery-large.name = Stort Batteri
|
||||
block.combustion-generator.name = Combustion Generator
|
||||
@@ -901,6 +978,7 @@ block.mechanical-pump.name = Mechanical Pump
|
||||
block.item-source.name = Föremålskälla
|
||||
block.item-void.name = Föremålsförstörare
|
||||
block.liquid-source.name = Vätskekälla
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = Energiätare
|
||||
block.power-source.name = Energikälla
|
||||
block.unloader.name = Urladdare
|
||||
@@ -930,6 +1008,7 @@ block.fortress-factory.name = Fortress Mech Factory
|
||||
block.revenant-factory.name = Revenant Fighter Factory
|
||||
block.repair-point.name = Repairationspunkt
|
||||
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 = Vätsketank
|
||||
@@ -1001,6 +1080,7 @@ tutorial.deposit = Deposit items into blocks by dragging from your ship to the d
|
||||
tutorial.waves = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves.[accent] Click[] to shoot.\nBuild more turrets and drills. Mine more copper.
|
||||
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||
|
||||
item.copper.description = The most basic structural material. Used extensively in all types of blocks.
|
||||
item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks.
|
||||
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
||||
@@ -1062,6 +1142,7 @@ block.power-source.description = Infinitely outputs power. Sandbox only.
|
||||
block.item-source.description = Infinitely outputs items. Sandbox only.
|
||||
block.item-void.description = Destroys any items. Sandbox only.
|
||||
block.liquid-source.description = Infinitely outputs liquids. Sandbox only.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.
|
||||
block.copper-wall-large.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.\nSpans multiple tiles.
|
||||
block.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies.
|
||||
@@ -1097,6 +1178,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.
|
||||
@@ -1105,6 +1187,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 and more connections.
|
||||
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.
|
||||
|
||||
@@ -10,7 +10,9 @@ link.dev-builds.description = เวอร์ชั่นระหว่าง
|
||||
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
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = ไม่สามารถเปิดลิ้งค์ได้\nคัดลอก URL ลงในคลิปบอร์ดแล้ว
|
||||
screenshot = Screenshot บันทึกที่ {0}
|
||||
screenshot.invalid = แมพใหญ่เกินไป, หน่วยความจำอาจจะไม่พอสำหรับ screenshot.
|
||||
@@ -25,11 +27,19 @@ load.image = รูป
|
||||
load.content = Content
|
||||
load.system = ระบบ
|
||||
load.mod = มอด
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = Schematic
|
||||
schematic.add = กำลังบันทึก Schematic...
|
||||
schematics = Schematics
|
||||
schematic.replace = มี schematic ที่ใช้ชื่อนี้แล้ว. แทนที่มัน?
|
||||
schematic.replace = มี schematic ที่ใช้ชื่อนี้แล้ว. แทนที่เลยไม?
|
||||
schematic.import = นำเข้า Schematic...
|
||||
schematic.exportfile = ส่งออก File
|
||||
schematic.importfile = นำเข้า File
|
||||
@@ -60,7 +70,7 @@ level.mode = เกมโหมด:
|
||||
showagain = ไม่แสดงอีกในครั้งต่อไป
|
||||
coreattack = < Core กำลังถูกโจมตี! >
|
||||
nearpoint = [[ [scarlet]ออกจากดรอปพอยท์ด่วน IMMEDIATELY[] ]\nการทำลายล้างกำลังใกล้เข้ามา
|
||||
database = Core Database
|
||||
database = ฐานข้อมูหลัง
|
||||
savegame = เซฟเกม
|
||||
loadgame = โหลดเกม
|
||||
joingame = เข้าร่วมเกม
|
||||
@@ -78,6 +88,7 @@ maps.browse = ค้นหาแมพ
|
||||
continue = ต่อ
|
||||
maps.none = [lightgray]ไม่มีแมพ!
|
||||
invalid = ไม่ถูกต้อง
|
||||
pickcolor = Pick Color
|
||||
preparingconfig = กำลังเตรียม Config
|
||||
preparingcontent = กำลังเตรียม Content
|
||||
uploadingcontent = กำลังอัปโหลด Content
|
||||
@@ -97,18 +108,24 @@ mod.enabled = [lightgray]เปิดใช้งาน
|
||||
mod.disabled = [scarlet]ปิดใช้งาน
|
||||
mod.disable = ปิดใช้งาน
|
||||
mod.delete.error = ไม่สามารถลบมอดได้. ไฟล์อาจอยู่ในระหว่างการใช้งาน.
|
||||
mod.requiresversion = [scarlet]Requires min game version: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]dependencies หาย: {0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Errors have occurred loading content.
|
||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||
mod.nowdisabled = [scarlet]มอด '{0}' ไม่มี dependencies:[accent] {1}\n[lightgray]จำเป็นต้องโหลดมอดพวกนี้ก่อน\nมอดนี้จะถูกปิดใช้งานโดยอัตโนมัติ
|
||||
mod.enable = เปิดใช้งาน
|
||||
mod.requiresrestart = เกมจะปิดลงเพื่อใส่มอด
|
||||
mod.reloadrequired = [scarlet]จำเป็นต้องรีโหลด
|
||||
mod.import = นำเข้ามอด
|
||||
mod.import.github = นำเข้ามอดจาก Github
|
||||
mod.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that mod.
|
||||
mod.remove.confirm = มอดนี้จะถูกลบ
|
||||
mod.author = [LIGHT_GRAY]ผู้สร้าง:[] {0}
|
||||
mod.missing = เซฟนี้มีมอดที่คุณอัปเดตหรือไม่ได้ติดตั้งแล้ว. อาจทำให้เซฟเสีย. คุณแน่จะหรือว่าจะโหลดเซฟนี้?\n[lightgray]Mods:\n{0}
|
||||
mod.preview.missing = ก่อนที่จะนำมอดไปลงใน workshop, คุณต้องใส่รูปพรีวิวก่อน\nใส่รูปชื่อ[accent] preview.png[] ลงในโฟลเดอร์ของมอดแล้วลองอีกครั้ง
|
||||
mod.folder.missing = มอดที่อยู่ในรูปแบบโฟลเดอร์เท่านั้นที่สามารถลงใน workshop ได้\nunzip ไฟล์แล้วลบไฟล์ zip เก่า แล้วรีสตาร์ทเกมหรือรีโหลดมอด
|
||||
mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly.
|
||||
|
||||
about.button = เกี่ยวกับ
|
||||
name = ชื่อ:
|
||||
@@ -116,7 +133,7 @@ noname = ใส่ชื่อ[accent] ผู้เล่น[] ก่อน.
|
||||
filename = ชื่อไฟล์:
|
||||
unlocked = content ใหม่ปลดล็อค!
|
||||
completed = [accent]สำเร็จ
|
||||
techtree = สายวิจัย
|
||||
techtree = ความคืบหน้าในการวิจัย
|
||||
research.list = [lightgray]วิจัย:
|
||||
research = วิจัย
|
||||
researched = [lightgray]{0} วิจัยแล้ว.
|
||||
@@ -126,9 +143,9 @@ server.closing = [accent]กำลังปิดเซิฟเวอร์...
|
||||
server.kicked.kick = คุณถูกเตะออกจากเซิฟเวอร์!
|
||||
server.kicked.whitelist = คุณไม่ได้อยู่ใน whitelisted
|
||||
server.kicked.serverClose = เซิฟเวอร์ถูกปิด.
|
||||
server.kicked.vote = คุณถูกโหวตเตะออก. บายบาย.
|
||||
server.kicked.clientOutdated = client ล่าสมัย! กรุณาอัปเดตเกมของคุณ!
|
||||
server.kicked.serverOutdated = server ล่าสมัย! โปรดถามเจ้าของเซิฟเพื่ออัปเดต!
|
||||
server.kicked.vote = คุณถูกโหวตเตะออก. บัยบาย.
|
||||
server.kicked.clientOutdated = client เก่า! กรุณาอัปเดตเกมของคุณ!
|
||||
server.kicked.serverOutdated = server เก่า! โปรดถามเจ้าของเซิฟเพื่ออัปเดต!
|
||||
server.kicked.banned = คุณถูกแบนในเซิฟเวอร์นี้
|
||||
server.kicked.typeMismatch = เซิฟเวอร์นี้ไม่เข้ากับ build type ของคุณ.
|
||||
server.kicked.playerLimit = เซิฟเวอร์เต็ม. กรุณารอให้เซิฟเวอร์ว่างก่อน.
|
||||
@@ -138,6 +155,7 @@ server.kicked.nameEmpty = ชื่อของคุณไม่สามาร
|
||||
server.kicked.idInUse = คุณเชื่อมต่อกับเซิฟเวอร์นี้อยู่แล้ว เราไม่อนุญาตให้เชื่อมต่อ 2 บัญชีในเซฟเวอร์เดียวกัน
|
||||
server.kicked.customClient = เซิฟเวอร์นี้ไม่รองรับ builds ปรับแต่ง. กรุณาโหลดของ official.
|
||||
server.kicked.gameover = Game over!
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = เวอร์ชั่นของคุณ:[accent] {0}[]\nเวอร์ชั่นของเซิฟเวอร์:[accent] {1}[]
|
||||
host.info = ปุ่ม [accent]โฮสต์[] นั้นโฮสต์เซฟเวอร์ที่พอร์ท [scarlet]6567[]. \nทุกคนที่อยู่ใน [lightgray]wifi หรือ local network[] เดียวกันจะสามารถเห็นเซิฟเวอร์ของคุณในลิสของเซิฟเวอร์ได้\n\nถ้าคุณต้องการให้ผู้เล่นอื่นๆสามารถเชื่อมต่อได้จากทุกที่โดยใช้ IP, จำเป็นจะต้องใช้การ [accent]port forwarding[] \n\n[lightgray]Note: ถ้าผู้เล่นคนใดมีปัญหาในการเชื่อมต่อ LAN ของคุณ เช็คให้แน่ใจว่าคุณได้อนุญาตให้ Mindustry เข้าถึง local network ของคุณในการตั้งค่า firewall. จำให้ว่า network สาธารณะบางครั้งไม่อนุญาตการค้นหาเซิฟเวอร์
|
||||
join.info = คุณสามารถใส่ [accent]IP ของเซิฟเวอร์[] เพื่อที่จะเชื่อมต่อหรือค้นหา เซิฟเวอร์ที่ใช้[accent]local network[] จะสามารถเชื่อมโดยใช้\n LAN หรือ WAN ก็ได้\n\n[lightgray]โน้ต: เกมนี้ไม่มีระบบค้นหาเซิฟเวอร์ global ให้อัตโนมัติserver list; ถ้าคุณต้องการเชื่อมต่อกับเซิฟเวอร์โดยใช้ IP, คุณจำเป็นต้องถาม IP ผู้เล่นที่โฮสต์เซิฟเวอร์นั้นๆ.
|
||||
@@ -170,7 +188,6 @@ server.outdated = [crimson]Server ล้าสมัย![]
|
||||
server.outdated.client = [crimson]Client ล้าสมัย![]
|
||||
server.version = [gray]เวอร์ชั่น{0} {1}
|
||||
server.custombuild = [accent]Build
|
||||
ที่กำหนดเอง
|
||||
confirmban = คุณแน่ใจหรือว่าจะแบนผู้เล่นนี้?
|
||||
confirmkick = คุณแน่ใจหรือว่าจะเตะผู้เล่นนี้ออก?
|
||||
confirmvotekick = คุณแน่ใจหรือว่าจะโหวตเตะผู้เล่นนี้ออก?
|
||||
@@ -202,9 +219,7 @@ save.delete = ลบ
|
||||
save.export = ส่งออกเซฟ
|
||||
save.import.invalid = [accent]เซฟนี้ไม่ถูกต้อง!
|
||||
save.import.fail = [crimson]ไม่สามารถนำเข้าเซฟ: [accent]{0}
|
||||
ได้
|
||||
save.export.fail = [crimson]ไม่สามารถส่งออกเซฟ: [accent]{0}
|
||||
ได้
|
||||
save.import = นำเข้าเซฟ
|
||||
save.newslot = ชื่อเซฟ:
|
||||
save.rename = เปลี่ยนชื่อ
|
||||
@@ -497,6 +512,7 @@ settings.language = ภาษา
|
||||
settings.data = ข้อมูลเกม
|
||||
settings.reset = รีเซ็ตเป็นค่าเริ่มต้น
|
||||
settings.rebind = Rebind
|
||||
settings.resetKey = Reset
|
||||
settings.controls = การควบคุม
|
||||
settings.game = เกม
|
||||
settings.sound = เสียง
|
||||
@@ -563,7 +579,6 @@ bar.heat = ความร้อน
|
||||
bar.power = พลังงาน
|
||||
bar.progress = ความคืบหน้าในการสร้าง
|
||||
bar.spawned = จำนวนยูนิตทั้งหมด: {0}/{1}
|
||||
ยูนิต
|
||||
bar.input = นำเข้า
|
||||
bar.output = ส่งออก
|
||||
|
||||
@@ -591,6 +606,8 @@ unit.persecond = /วินาที
|
||||
unit.timesspeed = เท่าเร็วขึ้น
|
||||
unit.percent = %
|
||||
unit.items = ไอเท็ม
|
||||
unit.thousands = k
|
||||
unit.millions = mil
|
||||
category.general = ทั่วไป
|
||||
category.power = พลังงาน
|
||||
category.liquids = ของเหลว
|
||||
@@ -598,7 +615,7 @@ category.items = ไอเท็ม
|
||||
category.crafting = นำเข้า/ส่งออก
|
||||
category.shooting = การยิง
|
||||
category.optional = การเพิ่มประสิทธิภาพทางเลือก
|
||||
setting.landscape.name = ล็อค Landscape
|
||||
setting.landscape.name = ล็อค Landscape แนวนอน
|
||||
setting.shadows.name = เงา
|
||||
setting.blockreplace.name = แนะนำบล็อคโดยอัตโนมัติ
|
||||
setting.linear.name = การกรองเชิงเส้น
|
||||
@@ -612,7 +629,6 @@ setting.autotarget.name = เล็งเป้าอัตโนมัติ
|
||||
setting.keyboard.name = การควบคุมแบบ เม้าส์+คีย์บอร์ด
|
||||
setting.touchscreen.name = การควบคุมแบบหน้าจอสัมผัส
|
||||
setting.fpscap.name = FPS
|
||||
สูงสุด
|
||||
setting.fpscap.none = ไม่มี
|
||||
setting.fpscap.text = {0} FPS
|
||||
setting.uiscale.name = ขนาด UI[lightgray] (จำเป็นต้องรีสตาร์ท)[]
|
||||
@@ -627,13 +643,16 @@ setting.screenshake.name = การสั่นของจอ
|
||||
setting.effects.name = แสดงเอฟเฟ็ค
|
||||
setting.destroyedblocks.name = แสดงบล็อคที่ถูกทำลาย
|
||||
setting.conveyorpathfinding.name = Pathfinding
|
||||
ของการวางสายพาน
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = ความไวของตัวควบคุม
|
||||
setting.saveinterval.name = ระยะห่าวระหว่างเซฟ
|
||||
setting.seconds = {0} วินาที
|
||||
setting.blockselecttimeout.name = Block Select Timeout
|
||||
setting.milliseconds = {0} milliseconds
|
||||
setting.fullscreen.name = เต็มจอ
|
||||
setting.borderlesswindow.name = วินโดว์แบบไร้ขอบ[lightgray] (อาจจะต้องรีตาร์ท)
|
||||
setting.fps.name = แสดง FPS และ Ping
|
||||
setting.blockselectkeys.name = Show Block Select Keys
|
||||
setting.vsync.name = VSync
|
||||
setting.pixelate.name = Pixelate[lightgray] (ปิดใช้งานแอนิเมชั่น)
|
||||
setting.minimap.name = แสดงมินิแมพ
|
||||
@@ -662,17 +681,36 @@ category.multiplayer.name = ผู้เล่นหลายคน
|
||||
command.attack = โจมตี
|
||||
command.rally = ชุมนุม
|
||||
command.retreat = ถอยกลับ
|
||||
placement.blockselectkeys = \n[lightgray]Key: [{0},
|
||||
keybind.clear_building.name = เคลียร์สิ่งก็สร้าง
|
||||
keybind.press = กดปุ่มใดก็ได้...
|
||||
keybind.press.axis = กดแกนหรือปุ่มใดก็ได้...
|
||||
keybind.screenshot.name = แมพ Screenshot
|
||||
keybind.toggle_power_lines.name = Toggle Power Lasers
|
||||
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 = เมนู Schematic
|
||||
keybind.schematic_flip_x.name = กลับ Schematic ในแกน X
|
||||
keybind.schematic_flip_y.name = กลับ 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 = เปิด/ปิด Fullscreen
|
||||
keybind.select.name = เลือก/ยิง
|
||||
keybind.diagonal_placement.name = วางเป็นแนวทแยง
|
||||
@@ -680,13 +718,11 @@ keybind.pick.name = เลือกบล็อค
|
||||
keybind.break_block.name = ทุบบล็อค
|
||||
keybind.deselect.name = ยกเลิกการเบือก
|
||||
keybind.shoot.name = ยิง
|
||||
keybind.zoom_hold.name = ซูม กดค้าง
|
||||
keybind.zoom.name = ซูม
|
||||
keybind.menu.name = เมนู
|
||||
keybind.pause.name = หยุดชั่วคราว
|
||||
keybind.pause_building.name = หยุด/สร้างต่อ
|
||||
keybind.minimap.name = มินิแมะ
|
||||
keybind.dash.name = พุ่ง
|
||||
keybind.chat.name = แชท
|
||||
keybind.player_list.name = รายชื่อผู้เล่น
|
||||
keybind.console.name = คอนโซล์
|
||||
@@ -711,6 +747,7 @@ mode.attack.description = ทำลายฐานของศัตรู ไ
|
||||
mode.custom = กฎแบบกำหนดเอง
|
||||
|
||||
rules.infiniteresources = ทรัพยากรไม่จำกัด
|
||||
rules.reactorexplosions = Reactor Explosions
|
||||
rules.wavetimer = ตัวตั้งเวลา Wave
|
||||
rules.waves = Waves
|
||||
rules.attack = โหมดการโจมตี
|
||||
@@ -718,6 +755,7 @@ rules.enemyCheat = AI (ทีมสีแดง) มีทรัพยากร
|
||||
rules.unitdrops = ยูนิตดรอป
|
||||
rules.unitbuildspeedmultiplier = ตัวคูณความเร็วในการสร้างยูนิต
|
||||
rules.unithealthmultiplier = ตัวคูณเลือดของยูนิต
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = ตัวคูณเลือดผู้เล่น
|
||||
rules.playerdamagemultiplier = ตัวคูณดาเมจผู้เล่น
|
||||
rules.unitdamagemultiplier = ตัวคูณดาเมจยูนิต
|
||||
@@ -736,6 +774,9 @@ rules.title.resourcesbuilding = ทรัพยากรและสิ่งก
|
||||
rules.title.player = ผู้เล่น
|
||||
rules.title.enemy = ศัตรู
|
||||
rules.title.unit = ยูนิต
|
||||
rules.title.experimental = Experimental
|
||||
rules.lighting = Lighting
|
||||
rules.ambientlight = Ambient Light
|
||||
|
||||
content.item.name = ไอเท็ม
|
||||
content.liquid.name = ของเหลว
|
||||
@@ -761,28 +802,29 @@ item.scrap.name = เศษเหล็ก
|
||||
liquid.water.name = น้ำ
|
||||
liquid.slag.name = กากแร่
|
||||
liquid.oil.name = น้ำมัน
|
||||
liquid.cryofluid.name = ไครโยฟลูอิด
|
||||
liquid.cryofluid.name = โครโรฟิวล์
|
||||
mech.alpha-mech.name = อัลฟ้า
|
||||
mech.alpha-mech.weapon = เฮฟวี้รีพีทเตอร์
|
||||
mech.alpha-mech.ability = รีเจเนเรชั่น
|
||||
mech.delta-mech.name = เดลต้า
|
||||
mech.delta-mech.weapon = เครื่องกำเนิดประกายไฟฟ้า
|
||||
mech.delta-mech.ability = ปล่อย
|
||||
mech.delta-mech.ability = ปล่อยสายฟ้า
|
||||
mech.tau-mech.name = เทา
|
||||
mech.tau-mech.weapon = รีสตัคเลเซอร์
|
||||
mech.tau-mech.ability = เบิสต์ซ่อมแซม
|
||||
mech.omega-mech.name = โอเมก้า
|
||||
mech.omega-mech.weapon = ฝูงขีปนาวุธ
|
||||
mech.omega-mech.weapon = ขีปนาวุธมหาปลัย
|
||||
mech.omega-mech.ability = ตัวเสริมเกราะ
|
||||
mech.dart-ship.name = ลูกดอก (Dart)
|
||||
mech.dart-ship.weapon = รีพีตเตอร์
|
||||
mech.javelin-ship.name = หอก (Javelin)
|
||||
mech.javelin-ship.name = จาวาลีน (Javelin)
|
||||
mech.javelin-ship.weapon = ขีปนาวุธเบิสต์
|
||||
mech.javelin-ship.ability = ดิสชาร์จบูสเตอร์
|
||||
mech.trident-ship.name = ตรีศูล (Trident)
|
||||
mech.trident-ship.weapon = ห้องเก็บระเบิด
|
||||
mech.trident-ship.weapon = ตัวปล่อยระเบิด
|
||||
mech.glaive-ship.name = เกลฟว์
|
||||
mech.glaive-ship.weapon = รีพีตเตอร์ไฟ
|
||||
item.corestorable = [lightgray]Storable in Core: {0}
|
||||
item.explosiveness = [lightgray]ค่าการระเบิด: {0}%
|
||||
item.flammability = [lightgray]ไวไฟ: {0}%
|
||||
item.radioactivity = [lightgray]ค่ากัมมันตภาพรังสี: {0}%
|
||||
@@ -809,8 +851,8 @@ block.sandrocks.name = หินทราย
|
||||
block.spore-pine.name = ต้นสนสปอร์
|
||||
block.sporerocks.name = หินสปอร์
|
||||
block.rock.name = หิน
|
||||
block.snowrock.name = หินหิมะ
|
||||
block.snow-pine.name = ต้นสนหิมะ
|
||||
block.snowrock.name = ก้อนหิมะ
|
||||
block.snow-pine.name = ต้นสนที่คลุมหิมะ
|
||||
block.shale.name = หินดินดาน
|
||||
block.shale-boulder.name = ก้อนหินดินดาน
|
||||
block.moss.name = ตะไคร่น้ำ
|
||||
@@ -897,6 +939,8 @@ block.distributor.name = เร้าเตอร์ขนาดใหญ่
|
||||
block.sorter.name = เครื่องแยก
|
||||
block.inverted-sorter.name = เครื่องแยกกลับด้าน
|
||||
block.message.name = ตัวเก็บข้อความ
|
||||
block.illuminator.name = Illuminator
|
||||
block.illuminator.description = A small, compact, configurable light source. Requires power to function.
|
||||
block.overflow-gate.name = ประตูล้น
|
||||
block.silicon-smelter.name = เตาเผาซิลิก้อน
|
||||
block.phase-weaver.name = เครื่องทอเฟสต์
|
||||
@@ -905,9 +949,8 @@ block.cryofluidmixer.name = เครื่องผสมไครโยฟล
|
||||
block.melter.name = เตาหลอม
|
||||
block.incinerator.name = เตาเผาขยะ
|
||||
block.spore-press.name = เครื่องอัดสปอร์
|
||||
block.separator.name =
|
||||
เครื่องแยก
|
||||
block.coal-centrifuge.name = เครื่องปั่นเหวี่งถ่านหิน
|
||||
block.separator.name = เครื่องแยก
|
||||
block.coal-centrifuge.name = เครื่องผลิตถ่านหิน
|
||||
block.power-node.name = โหนดพลังงาน
|
||||
block.power-node-large.name = โหนดพลังงานขนาดใหญ่
|
||||
block.surge-tower.name = เสาเสิร์จ
|
||||
@@ -916,7 +959,7 @@ block.battery.name = แบตเตอรี่
|
||||
block.battery-large.name = แบตเตอรี่ขนาดใหญ่
|
||||
block.combustion-generator.name = เครื่องกำเนิดไฟฟ้าเผาไหม้
|
||||
block.turbine-generator.name = เครื่องกำเนิดไฟฟ้าไอน้ำ
|
||||
block.differential-generator.name = เครื่องกำเนิดไฟฟ้าดิฟเฟอเร่นเชี่ยว
|
||||
block.differential-generator.name = เครื่องกำเนิดไฟฟ้าดิฟเฟอเร่นเตอร์
|
||||
block.impact-reactor.name = เตาปฏิกรณ์อิมแพ็ค
|
||||
block.mechanical-drill.name = เครื่องขุดเชิงกล
|
||||
block.pneumatic-drill.name = เครื่องขุดนิวมาติก
|
||||
@@ -930,11 +973,12 @@ block.trident-ship-pad.name = ฐานปล่อยยานตรีศู
|
||||
block.glaive-ship-pad.name = ฐานปล่อยยานเกลฟว์
|
||||
block.omega-mech-pad.name = ฐานปล่อยเม็คโอเมก้า
|
||||
block.tau-mech-pad.name = ฐานปล่อยเม็คเทา (Tau)
|
||||
block.conduit.name = รางน้ำ
|
||||
block.conduit.name = ท่อน้ำ
|
||||
block.mechanical-pump.name = ปั๊มเชิงกล
|
||||
block.item-source.name = จุดกำเนิดไอเท็ม
|
||||
block.item-void.name = จุดลบไอเท็ม
|
||||
block.liquid-source.name = จุดกำเนิดของเหลว
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = จุดลบพลังงาน
|
||||
block.power-source.name = พลังงานไม่จำกัด
|
||||
block.unloader.name = ตัวถ่ายของ
|
||||
@@ -943,8 +987,8 @@ block.wave.name = เวฟ
|
||||
block.swarmer.name = สวอร์มเมอร์
|
||||
block.salvo.name = ซาวโว
|
||||
block.ripple.name = ริปเปิ้ล
|
||||
block.phase-conveyor.name = สายพานเฟส
|
||||
block.bridge-conveyor.name = สะพานสายพาน
|
||||
block.phase-conveyor.name = สายพานความเร็วแสง
|
||||
block.bridge-conveyor.name = สะพาน
|
||||
block.plastanium-compressor.name = เครื่องอัดพลาสตาเนียม
|
||||
block.pyratite-mixer.name = เครื่องผสมไพราไทต์
|
||||
block.blast-mixer.name = เครื่องผสมสารประกอบระเบิด
|
||||
@@ -964,11 +1008,12 @@ block.fortress-factory.name = โรงงานผลิตฟอร์เท
|
||||
block.revenant-factory.name = โรงงานผลิตยานไฟต์เตอร์เรเวแนนท์
|
||||
block.repair-point.name = จุดซ่อมแซม
|
||||
block.pulse-conduit.name = รางน้ำโพวส์
|
||||
block.phase-conduit.name = รางน้ำเฟส
|
||||
block.plated-conduit.name = Plated Conduit
|
||||
block.phase-conduit.name = ท่อน้ำความเร็วแสง
|
||||
block.liquid-router.name = เร้าเตอร์ของเหลว
|
||||
block.liquid-tank.name = แทงค์เก็บของเหลว
|
||||
block.liquid-tank.name = แทงค์น้ำ
|
||||
block.liquid-junction.name = ทางแยกของเหลว
|
||||
block.bridge-conduit.name = สะพานรางน้ำ
|
||||
block.bridge-conduit.name = ท่อน้ำยกระดับ
|
||||
block.rotary-pump.name = ปั๊มโรตารี้
|
||||
block.thorium-reactor.name = เตาปฏิกรณ์ทอเรี่ยม
|
||||
block.mass-driver.name = แมสไดรฟ์เวอร์
|
||||
@@ -982,8 +1027,8 @@ block.surge-wall.name = กำแพงเสิร์จ
|
||||
block.surge-wall-large.name = กำแพงเสิร์จขนาดใหญ่
|
||||
block.cyclone.name = ไซโคลน
|
||||
block.fuse.name = ฟิวส์
|
||||
block.shock-mine.name = กับระเบิดไฟฟ้าซ็อต
|
||||
block.overdrive-projector.name = โอเวอร์ไดรฟ์โปรเจ็คเตอร์
|
||||
block.shock-mine.name = กับระเบิดไฟฟ้า
|
||||
block.overdrive-projector.name = เครื่องเร่งประสิทธิภาพ
|
||||
block.force-projector.name = ฟอร์สโปรเจ็คเตอร์
|
||||
block.arc.name = อาร์ค
|
||||
block.rtg-generator.name = เครื่องกำเนิดไฟฟ้า อาร์ทีจี
|
||||
@@ -1013,7 +1058,7 @@ unit.eruptor.name = อีรัฟเตอร์
|
||||
unit.chaos-array.name = เคออสอาเรย์
|
||||
unit.eradicator.name = อีเรดิเคเตอร์
|
||||
unit.lich.name = ลิช
|
||||
unit.reaper.name = รีฟเฟอร์
|
||||
unit.reaper.name = รีฟเปอร์
|
||||
tutorial.next = [lightgray]<กดเพื่อดำเนินการต่อ>
|
||||
tutorial.intro = คุณได้เข้าสู่[scarlet] การสอนเล่นของ Mindustry.[]\nใช้ [[WASD] เพื่อเคลื่อนที่.\n[accent]กด [[Ctrl] ค้างระหว่างกลิ้งลูกกลิ้งเม้าส์[] เพื่อซูมเข้าและออก.\nเริ่มด้วยการ[accent] ขุดทองแดง[]. เคลื่อนที่ไปใกล้มัน, แล้วกดที่สายแร่ทองแดงใกล้ๆกับ core ของคุณ\n\n[accent]ทองแดง {0}/{1} ชิ้น
|
||||
tutorial.intro.mobile = คุณได้เข้าสู่[scarlet] การสอนเล่นของ Mindustry.[]\nเลื่อนหน้าจอเพื่อเคลื่อนที่.\n[accent]ใส่สองนิ้ว []เพื่อซูมเข้าและออก.\nเริ่มด้วยการ[accent] ขุดทองแดง[]. เคลื่อนที่ไปใกล้มัน, แล้วกดที่สายแร่ทองแดงใกล้ๆกับ core ของคุณ\n\n[accent]ทองแดง {0}/{1} ชิ้น
|
||||
@@ -1097,6 +1142,7 @@ block.power-source.description = ส่งออกพลังงานไม
|
||||
block.item-source.description = ส่งออกไอเท็มไม่จำกัด. เฉพาะ Sandbox เท่านั้น.
|
||||
block.item-void.description = ทำลายทุกไอเท็ม . เฉพาะ Sandbox เท่านั้น.
|
||||
block.liquid-source.description = ส่งออกของเหลวไม่จำกัด. เฉพาะ Sandbox เท่านั้น.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = บล็อคป้องกันราคาถูก.\nมีประโยชน์สำหรับป้องกัน core และป้อมปืนใน wave แรกๆ.
|
||||
block.copper-wall-large.description = บล็อคป้องกันราคาถูก.\nมีประโยชน์สำหรับป้องกัน core และป้อมปืนใน wave แรกๆ.\nคลอบคลุมหลายข่อง.
|
||||
block.titanium-wall.description = บล็อคป้องกันแข็งแกร่งปานกลาง.\nป้องกันศัตรูได้ในระดับหนึ่ง.
|
||||
@@ -1110,7 +1156,7 @@ block.phase-wall-large.description = A wall coated with special phase-based refl
|
||||
block.surge-wall.description = บล็อคป้องกันที่มีทนทานสูง.\nสะสมพลังงานจากกระสุน, แล้วปล่อยออกมาแบบสุ่ม.
|
||||
block.surge-wall-large.description = บล็อคป้องกันที่มีทนทานสูง.\nสะสมพลังงานจากกระสุน, แล้วปล่อยออกมาแบบสุ่ม.\nคลอบคลุมหลายช่อง.
|
||||
block.door.description = ประตูขนาดเล็ก. สามารถเปิดได้โดยการกด.
|
||||
block.door-large.description = ประตูขนาดใหญ่. สามารถเปิดได้โดยการกด.\nคลอบคลุมหลายช่อง.
|
||||
block.door-large.description = ประตูขนาดใหญ่. สามารถเปิดและปิดได้โดยการกด.\nคลอบคลุมหลายช่อง.
|
||||
block.mender.description = ซ่อมแซมบล็อคในวงของมันเป็นระยะๆ. ช่วยซ่อมแซมแนวป้องกันระหว่าง wave.\nสามารถใช้ซิลิก้อนเพื่อเพิ่มรัศมีและประสิทธิภาพได้
|
||||
block.mend-projector.description = เมนเดอร์ที่ได้รับการอัปเกรด. ซ่อมแซมบล็อคในระยะของมัน.\nสามารถใช้ใยเฟสเพื่อเพิ่มระยะและประสิทธิภาพได้.
|
||||
block.overdrive-projector.description = เพิ่มความเร็วของสิ่งก่อสร้างรอบๆ.\nสามารถใช้ใยเฟสเพื่อเพิ่มระยะและประสิทธิภาพ.
|
||||
@@ -1123,7 +1169,7 @@ block.bridge-conveyor.description = บล็อคขนส่งไอเท
|
||||
block.phase-conveyor.description = บล็อคขนส่งไอเท็มขั้นสูง. ใช้พลังงานเพื่อส่งไอเท็มไปยังสายพานเฟสอีกอัน ข้ามได้หลายช่อง.
|
||||
block.sorter.description = แยกไอเท็ม. ถ้าไอเท็มตรงกับที่เลือกไว้, จะผ่านได้. แต่ถ้าไม่ตรง, ไอเท็มจะออกทางซ้ายหรือขวา (ใช้ทางที่ไอเท็มเข้าเป็นหลัก)
|
||||
block.inverted-sorter.description = แยกไอเท็มคล้ายเครื่องแยกธรรมดา, แต่ไอเท็มที่เลือกจะออกข้างแทน.
|
||||
block.router.description = รับไอเท็มแล้วส่งออก 3 ทางเท่ากัน. มีประโยชน์สำหรับแยกไอเท็มจากแหล่งเดียวไปหลายที่.\n\n[scarlet]อย่าวางไว้ติดกับทางส่งไอเท็มเข้าเพราะของออกจะไปอุดตันได้.[]
|
||||
block.router.description = รับไอเท็มแล้วส่งออก 3 ทางเท่าๆกัน. มีประโยชน์สำหรับแยกไอเท็มจากแหล่งเดียวไปหลายที่.\n\n[scarlet]อย่าวางไว้ติดกับทางส่งไอเท็มเข้าเพราะของออกจะไปอุดตันได้.[]
|
||||
block.distributor.description = เร้าเตอร์ขั้นสูง. แยกไอเท็มออก 7 ทางอย่างเท่าๆกัน.
|
||||
block.overflow-gate.description = ของจะออกจากข้างๆเมื่อทางข้างหน้ถูกบล็อคเท่านั้น.
|
||||
block.mass-driver.description = บล็อคขนส่งไอเท็มขั้นสุดยอด. รวบรวมไอเท็มจำนวนหนึ่งแล้วยิงไปหาแมสไดรเวอร์อีกอันที่อยู่ไกลออกไป. ต้องใช้พลังงานในการใช้งาน.
|
||||
@@ -1132,6 +1178,7 @@ block.rotary-pump.description = ปั๊มขั้นสูง. ปั๊ม
|
||||
block.thermal-pump.description = ปั๊มขั้นสุดยอด.
|
||||
block.conduit.description = บล็อคขนส่งของเหลวพื้นฐาน. เคลื่อนของเหลวไปข้างหน้า. ใช้ร่วมกับปั๊มและรางน้ำอื่นๆ.
|
||||
block.pulse-conduit.description = บล็อคขนส่งของเหลวขั้นสูง. เคลื่อนย้ายของเหลวเร็วขึ้นและเก็บเยอะกว่ารางน้ำธรรมดา.
|
||||
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 = รับของเหลวจากทางเดียวแล้วส่งออก 3 ทางเท่าๆกัน. สามารถเก็บของ้หลวได้จำนวนหนึ่ง. มีประโยชน์สำหรับการแยกของเหลวจากแหล่งเดียวไปหลายที่.
|
||||
block.liquid-tank.description = เก็บของเหลวจำนวนมาก. ใช่สำหรับสร้างบัฟเฟอร์ในเวลาที่ความต้องการของทรัพยากรไม่คงที่หรือเป็นตัวเซฟสำหรับบล็อคที่จำเป็นต้องใช้การหล่อเย็น.
|
||||
block.liquid-junction.description = ทำหน้าที่เป็นสะพานสำหรับรางน้ำ 2 รางที่ข้ามกันที่มีของเหลว 2 ชนิด ซึ่งต้องการจะไปคนละที่.
|
||||
@@ -1150,7 +1197,7 @@ block.differential-generator.description = ผลิตไฟฟ้าจำน
|
||||
block.rtg-generator.description = เครื่องกำเนิดไฟฟ้าที่ใช้ง่ายและไว้ใจได้. ใช้ความร้อนจากการสลายของสารกัมมัตภาพรังสีเพื่อใช้ผลิตพลังงานอย่างช้าๆ.
|
||||
block.solar-panel.description = ให้พลังงานจากแสงอาทิตย์จำนวนน้อย.
|
||||
block.solar-panel-large.description = เวอร์ชั่นของแผงโซล่าเซลล์ที่มีประสิทธิภาพมากขึ้นกว่าแผงโซล่าเซลล์ธรรมดา.
|
||||
block.thorium-reactor.description = ผลิตพลังงานจำนวนมากจากทอเรี่ยม. ตำเป็นต้องใช้สารหล่อเย็นตลอดเวลา. จะระเบิดอย่างรุนแรงหากไม่ได้รับสารหล่อเย็นในจำนวนที่ต้องการ. จำนวนพลังงานที่ผลิตขึ้นอยู่กับความเต็ม และผลิตพลังงานเริ่มต้นที่ความสามารถสูงสุด.
|
||||
block.thorium-reactor.description = ผลิตพลังงานจำนวนมากจากทอเรี่ยม. จำเป็นต้องใช้สารหล่อเย็นตลอดเวลา. จะระเบิดอย่างรุนแรงหากไม่ได้รับสารหล่อเย็นในจำนวนที่ต้องการ. จำนวนพลังงานที่ผลิตขึ้นอยู่กับความเต็ม และผลิตพลังงานเริ่มต้นที่ความสามารถสูงสุด.
|
||||
block.impact-reactor.description = เครื่องกำเนิดไฟฟ้าขั้นสูง, สามารถผลิตไฟฟ้าได้จำนวนมหาศาลที่ประสิทธิภาพสูงสุด. จำเป็นต้องใช้พลังงานจำนวนมากในการสตาร์ทเครื่อง.
|
||||
block.mechanical-drill.description = เครื่องขุดราคาถูก. เมื่อวางบนบล็อคที่ถูกต้อง, จะส่งไอเท็มของมันออกมาเรื่อยๆแบบไม่มีที่สิ้นสุด. ขุดได้แค่ทรัพยากรพื้นฐาน.
|
||||
block.pneumatic-drill.description = เครื่องขุดได้รับการปรับปรุง, สามารถขุดไทเทเนี่ยมได้. ขุดไวกว่าเครื่องขุดเชิงกล.
|
||||
@@ -1186,16 +1233,16 @@ block.draug-factory.description = ผลิตโดรนขุดเจาะ
|
||||
block.spirit-factory.description = ผลิตโดรนซ่อมแซมสปิริต.
|
||||
block.phantom-factory.description = ผลิตโดรนก่อสร้างขั้นสูง.
|
||||
block.wraith-factory.description = ผลิตยูนิตเร็ว โจมตีแบบ hit-and-run (จู่โจมแล้วหนี)
|
||||
block.ghoul-factory.description = ผลิตยานทิ้งระเบิดปูพรมหนัก (heavy carpet bomber)
|
||||
block.ghoul-factory.description = ผลิตยานทิ้งระเบิดแบบโหดๆ (heavy carpet bomber)
|
||||
block.revenant-factory.description = ผลิตยูนิตที่ใช้ขีปนาวุธเป็นหลัก.
|
||||
block.dagger-factory.description = ผลิตยูนิตภาคพื้นดินพื้นฐาน.
|
||||
block.crawler-factory.description = ผลิตยูนิตพลีชีพเร็ว.
|
||||
block.crawler-factory.description = ผลิตยูนิตที่ระเบิดตัวเอง.
|
||||
block.titan-factory.description = ผลิตยูนิตภาคพื้นดินเสริมเกราะขั้นสูง.
|
||||
block.fortress-factory.description = ผลิตยูนิตหนักติดปืนใหญ่.
|
||||
block.fortress-factory.description = ผลิตยูนิตที่ถึกและติดปืนใหญ่.
|
||||
block.repair-point.description = ซ่อมแซมยูนิตที่อยู่ในรัศมีอย่างต่อเนื่อง.
|
||||
block.dart-mech-pad.description = ใช้เปลี่ยนร่างเป็นเป็นเม็คโจมตีพื้นฐาน.\nใช้โดยการกดเมื่อยืนทับมัน.
|
||||
block.delta-mech-pad.description = ใช้เปลี่ยนร่างเป็นเป็นเม็คเกราะบางโจมตีแบบ hit-and-run (จู่โจมแล้วหนี).\nใช้โดยการกดเมื่อยืนทับมัน.
|
||||
block.tau-mech-pad.description = ใช้เปลี่ยนร่างเป็นเป็นเม็คสนับสนุนขั้นสูง.\nใช้โดยการกดเมื่อยืนทับมัน.
|
||||
block.delta-mech-pad.description = ใช้เปลี่ยนร่างเป็นเป็นเม็คเกราะบางโจมตีแบบ hit-and-run (จูค).\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ใช้โดยการกดเมื่อยืนทับมัน.
|
||||
|
||||
@@ -10,7 +10,9 @@ link.dev-builds.description = Bitirilmemis Yapim Surumu
|
||||
link.trello.description = Planlanmis Hersey icin Tablo
|
||||
link.itch.io.description = Bilgisayar ve Site versiyonunun bulundugu Site
|
||||
link.google-play.description = Google Play magaza sayfasi
|
||||
link.f-droid.description = F-Droid catalogue listing
|
||||
link.wiki.description = Orjinal Mindustry Bilgilendirme Sayfasi
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = Link Acilamadi!\nLink sizin icin kopyalandi.
|
||||
screenshot = Screenshot saved to {0}
|
||||
screenshot.invalid = Map too large, potentially not enough memory for screenshot.
|
||||
@@ -18,12 +20,22 @@ gameover = Cekirdegin yok edildi.
|
||||
gameover.pvp = The[accent] {0}[] team is victorious!
|
||||
highscore = [accent]Yeni Yuksek skor!
|
||||
copied = Copied.
|
||||
|
||||
load.sound = Sounds
|
||||
load.map = Maps
|
||||
load.image = Images
|
||||
load.content = Content
|
||||
load.system = System
|
||||
load.mod = Mods
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = Schematic
|
||||
schematic.add = Save Schematic...
|
||||
schematics = Schematics
|
||||
@@ -40,6 +52,7 @@ schematic.saved = Schematic saved.
|
||||
schematic.delete.confirm = This schematic will be utterly eradicated.
|
||||
schematic.rename = Rename Schematic
|
||||
schematic.info = {0}x{1}, {2} blocks
|
||||
|
||||
stat.wave = Waves Defeated:[accent] {0}
|
||||
stat.enemiesDestroyed = Enemies Destroyed:[accent] {0}
|
||||
stat.built = Buildings Built:[accent] {0}
|
||||
@@ -47,6 +60,7 @@ stat.destroyed = Buildings Destroyed:[accent] {0}
|
||||
stat.deconstructed = Buildings Deconstructed:[accent] {0}
|
||||
stat.delivered = Resources Launched:
|
||||
stat.rank = Final Rank: [accent]{0}
|
||||
|
||||
launcheditems = [accent]Launched Items
|
||||
launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue.
|
||||
map.delete = Su haritayi silmek istediginden emin misin? "[accent]{0}[]"?
|
||||
@@ -74,6 +88,7 @@ maps.browse = Browse Maps
|
||||
continue = Devam et
|
||||
maps.none = [LIGHT_GRAY]Harita bulunamadi!
|
||||
invalid = Invalid
|
||||
pickcolor = Pick Color
|
||||
preparingconfig = Preparing Config
|
||||
preparingcontent = Preparing Content
|
||||
uploadingcontent = Uploading Content
|
||||
@@ -81,6 +96,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.alpha = [accent](Alpha)
|
||||
mods = Mods
|
||||
@@ -92,18 +108,25 @@ 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 min game version: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Missing dependencies: {0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Errors have occurred loading content.
|
||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||
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.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that 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.
|
||||
mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly.
|
||||
|
||||
about.button = Hakkinda
|
||||
name = isim:
|
||||
noname = Pick a[accent] player name[] first.
|
||||
@@ -132,6 +155,7 @@ server.kicked.nameEmpty = ismin gecerli degil.
|
||||
server.kicked.idInUse = Zaten oyundasin! iki ayri hesapla oyuna katilamazsin!
|
||||
server.kicked.customClient = Bu oyun ayarlanmis vesiyonlara izin vermiyor. Orijinal bir versiyon dene!
|
||||
server.kicked.gameover = Game over!
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||
host.info = [accent]host[] su linkte bir oyun acti! [scarlet]6567[]. \nSeninle [LIGHT_GRAY]ayni internete[] sahip olan kisiler oyunu gorebilir.\n\neger baska yerlerden kisilerind de gelmesini istiyorsan, [accent]oyun acmak[]zorunludur.\n\n[LIGHT_GRAY]Not: eger baglanmakta gucluk cekiliyorsa, antivirusunun internetine baglanmasini izin vermesini sagla.
|
||||
join.info = Buradan,[accent]Oyunun linkini[] kullanarak katilabilir, yada, [accent]internetinle[] baglanacak oyun bulabilirsin\ninternetli ve Linkli oyunlar desteklenir.\n\n[LIGHT_GRAY]Not: Otomatik bir oyun listesi goruntulenemez. Yapimcidan linkini iste.
|
||||
@@ -271,6 +295,7 @@ 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}
|
||||
|
||||
editor.brush = Firca
|
||||
editor.openin = Editorde ac
|
||||
editor.oregen = Maden Yaratilma hizi
|
||||
@@ -347,6 +372,7 @@ editor.overwrite = [accent]Dikkat et!\nBu bir haritanin uzerinden cececek.
|
||||
editor.overwrite.confirm = [scarlet]uyari![] bu isimde bir harita zaten var. Uzerinden gececek misin?
|
||||
editor.exists = A map with this name already exists.
|
||||
editor.selectmap = Yukleyecek bir harita sec:
|
||||
|
||||
toolmode.replace = Replace
|
||||
toolmode.replace.description = Draws only on solid blocks.
|
||||
toolmode.replaceall = Replace All
|
||||
@@ -361,6 +387,7 @@ toolmode.fillteams = Fill Teams
|
||||
toolmode.fillteams.description = Fill teams instead of blocks.
|
||||
toolmode.drawteams = Draw Teams
|
||||
toolmode.drawteams.description = Draw teams instead of blocks.
|
||||
|
||||
filters.empty = [LIGHT_GRAY]No filters! Add one with the button below.
|
||||
filter.distort = Distort
|
||||
filter.noise = Noise
|
||||
@@ -392,6 +419,7 @@ filter.option.floor2 = Secondary Floor
|
||||
filter.option.threshold2 = Secondary Threshold
|
||||
filter.option.radius = Radius
|
||||
filter.option.percentile = Percentile
|
||||
|
||||
width = Genislik:
|
||||
height = Yukseklik:
|
||||
menu = Menu
|
||||
@@ -407,6 +435,7 @@ tutorial = Tutorial
|
||||
tutorial.retake = Re-Take Tutorial
|
||||
editor = Editor
|
||||
mapeditor = Harita yaraticisi
|
||||
|
||||
abandon = Abandon
|
||||
abandon.text = This zone and all its resources will be lost to the enemy.
|
||||
locked = Locked
|
||||
@@ -437,6 +466,7 @@ zone.objective.survival = Survive
|
||||
zone.objective.attack = Destroy Enemy Core
|
||||
add = Add...
|
||||
boss.health = Boss Health
|
||||
|
||||
connectfail = [crimson]Su Oyuna baglanilamadi: [accent]{0}
|
||||
error.unreachable = Server unreachable.
|
||||
error.invalidaddress = Invalid address.
|
||||
@@ -447,6 +477,7 @@ error.mapnotfound = Map file not found!
|
||||
error.io = Network I/O error.
|
||||
error.any = Unkown network error.
|
||||
error.bloom = Failed to initialize bloom.\nYour device may not support it.
|
||||
|
||||
zone.groundZero.name = Ground Zero
|
||||
zone.desertWastes.name = Desert Wastes
|
||||
zone.craters.name = The Craters
|
||||
@@ -461,6 +492,7 @@ zone.saltFlats.name = Salt Flats
|
||||
zone.impact0078.name = Impact 0078
|
||||
zone.crags.name = Crags
|
||||
zone.fungalPass.name = Fungal Pass
|
||||
|
||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||
@@ -475,10 +507,12 @@ zone.nuclearComplex.description = A former facility for the production and proce
|
||||
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||
zone.impact0078.description = <insert description here>
|
||||
zone.crags.description = <insert description here>
|
||||
|
||||
settings.language = Dil
|
||||
settings.data = Game Data
|
||||
settings.reset = ilk ayarlara geri al
|
||||
settings.rebind = Geri al
|
||||
settings.resetKey = Reset
|
||||
settings.controls = Kontroller
|
||||
settings.game = Oyun
|
||||
settings.sound = Ses
|
||||
@@ -529,6 +563,7 @@ blocks.inaccuracy = sekme
|
||||
blocks.shots = vuruslar
|
||||
blocks.reload = Yeniden doldurma
|
||||
blocks.ammo = Ammo
|
||||
|
||||
bar.drilltierreq = Better Drill Required
|
||||
bar.drillspeed = Drill Speed: {0}/s
|
||||
bar.pumpspeed = Pump Speed: {0}/s
|
||||
@@ -544,6 +579,9 @@ 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] dmg
|
||||
bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
|
||||
bullet.incendiary = [stat]incendiary
|
||||
@@ -555,6 +593,7 @@ bullet.freezing = [stat]freezing
|
||||
bullet.tarred = [stat]tarred
|
||||
bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier
|
||||
bullet.reload = [stat]{0}[lightgray]x reload
|
||||
|
||||
unit.blocks = Yapilar
|
||||
unit.powersecond = saniyede bir
|
||||
unit.liquidsecond = Saniyede bir
|
||||
@@ -567,6 +606,8 @@ unit.persecond = /sec
|
||||
unit.timesspeed = x speed
|
||||
unit.percent = %
|
||||
unit.items = esya
|
||||
unit.thousands = k
|
||||
unit.millions = mil
|
||||
category.general = General
|
||||
category.power = Guc
|
||||
category.liquids = sivilar
|
||||
@@ -579,6 +620,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.animatedwater.name = Animated Water
|
||||
setting.animatedshields.name = Animated Shields
|
||||
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
|
||||
@@ -601,12 +643,16 @@ setting.screenshake.name = Ekran sallanmasi
|
||||
setting.effects.name = Efekleri goster
|
||||
setting.destroyedblocks.name = Display Destroyed Blocks
|
||||
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = Kumanda hassasligi
|
||||
setting.saveinterval.name = Otomatik kaydetme suresi
|
||||
setting.seconds = {0} Saniye
|
||||
setting.blockselecttimeout.name = Block Select Timeout
|
||||
setting.milliseconds = {0} milliseconds
|
||||
setting.fullscreen.name = Tam ekran
|
||||
setting.borderlesswindow.name = Borderless Window[LIGHT_GRAY] (may require restart)
|
||||
setting.fps.name = FPS'i goster
|
||||
setting.blockselectkeys.name = Show Block Select Keys
|
||||
setting.vsync.name = VSync
|
||||
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
|
||||
setting.minimap.name = Haritayi goster
|
||||
@@ -635,16 +681,36 @@ category.multiplayer.name = Cok oyunculu
|
||||
command.attack = Attack
|
||||
command.rally = Rally
|
||||
command.retreat = Retreat
|
||||
placement.blockselectkeys = \n[lightgray]Key: [{0},
|
||||
keybind.clear_building.name = Clear Building
|
||||
keybind.press = Bir tusa bas...
|
||||
keybind.press.axis = Bir yone cevir yada tusa bas...
|
||||
keybind.screenshot.name = Map Screenshot
|
||||
keybind.toggle_power_lines.name = Toggle Power Lasers
|
||||
keybind.move_x.name = Sol/Sag hareket
|
||||
keybind.move_y.name = Yukari/asagi hareket
|
||||
keybind.mouse_move.name = Follow Mouse
|
||||
keybind.dash.name = Kos
|
||||
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 = Sec/silahi sik
|
||||
keybind.diagonal_placement.name = Diagonal Placement
|
||||
@@ -657,7 +723,6 @@ keybind.menu.name = Menu
|
||||
keybind.pause.name = Durdur
|
||||
keybind.pause_building.name = Pause/Resume Building
|
||||
keybind.minimap.name = Minimap
|
||||
keybind.dash.name = Kos
|
||||
keybind.chat.name = konus
|
||||
keybind.player_list.name = Oyuncu listesi
|
||||
keybind.console.name = Konsol
|
||||
@@ -680,7 +745,9 @@ mode.pvp.description = fight against other players locally.
|
||||
mode.attack.name = Attack
|
||||
mode.attack.description = No waves, with the goal to destroy the enemy base.
|
||||
mode.custom = Custom Rules
|
||||
|
||||
rules.infiniteresources = Infinite Resources
|
||||
rules.reactorexplosions = Reactor Explosions
|
||||
rules.wavetimer = Wave Timer
|
||||
rules.waves = Waves
|
||||
rules.attack = Attack Mode
|
||||
@@ -688,6 +755,7 @@ rules.enemyCheat = Infinite AI Resources
|
||||
rules.unitdrops = Unit Drops
|
||||
rules.unitbuildspeedmultiplier = Unit Creation Speed Multiplier
|
||||
rules.unithealthmultiplier = Unit Health Multiplier
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = Player Health Multiplier
|
||||
rules.playerdamagemultiplier = Player Damage Multiplier
|
||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
||||
@@ -706,6 +774,10 @@ 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 = Esyalar
|
||||
content.liquid.name = Sivilar
|
||||
content.unit.name = Units
|
||||
@@ -752,6 +824,7 @@ mech.trident-ship.name = Trident
|
||||
mech.trident-ship.weapon = mini atomlar
|
||||
mech.glaive-ship.name = Glaive
|
||||
mech.glaive-ship.weapon = Orman yakici
|
||||
item.corestorable = [lightgray]Storable in Core: {0}
|
||||
item.explosiveness = [LIGHT_GRAY]Patlayicilik: {0}
|
||||
item.flammability = [LIGHT_GRAY]Yanbilirlik: {0}
|
||||
item.radioactivity = [LIGHT_GRAY]Radyoaktivite: {0}
|
||||
@@ -767,6 +840,7 @@ mech.buildspeed = [LIGHT_GRAY]Building Speed: {0}%
|
||||
liquid.heatcapacity = [LIGHT_GRAY]isinma kapasitesi: {0}
|
||||
liquid.viscosity = [LIGHT_GRAY]Yari sivilik: {0}
|
||||
liquid.temperature = [LIGHT_GRAY]isi: {0}
|
||||
|
||||
block.sand-boulder.name = Sand Boulder
|
||||
block.grass.name = Grass
|
||||
block.salt.name = Salt
|
||||
@@ -865,6 +939,8 @@ block.distributor.name = yayici
|
||||
block.sorter.name = secici
|
||||
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 = Kapali dagatici
|
||||
block.silicon-smelter.name = Silikon eritici
|
||||
block.phase-weaver.name = Dokumaci
|
||||
@@ -878,6 +954,7 @@ block.coal-centrifuge.name = Coal Centrifuge
|
||||
block.power-node.name = Guc Dugumu
|
||||
block.power-node-large.name = buyuk Guc Dugumu
|
||||
block.surge-tower.name = Surge Tower
|
||||
block.diode.name = Battery Diode
|
||||
block.battery.name = batarya
|
||||
block.battery-large.name = buyuk batarya
|
||||
block.combustion-generator.name = sicaklik jenaratoru
|
||||
@@ -901,6 +978,7 @@ block.mechanical-pump.name = Mekanikal pompa
|
||||
block.item-source.name = esya kaynagi
|
||||
block.item-void.name = esya deligi
|
||||
block.liquid-source.name = sivi kaynagi
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = guc deligi
|
||||
block.power-source.name = sonsuz guc
|
||||
block.unloader.name = bekletici
|
||||
@@ -930,6 +1008,7 @@ block.fortress-factory.name = Fortress Mech Factory
|
||||
block.revenant-factory.name = Revenant Fighter Factory
|
||||
block.repair-point.name = tamirci
|
||||
block.pulse-conduit.name = Pulse borusu
|
||||
block.plated-conduit.name = Plated Conduit
|
||||
block.phase-conduit.name = Phase borusu
|
||||
block.liquid-router.name = sivi ayirici
|
||||
block.liquid-tank.name = sivi tanki
|
||||
@@ -1001,6 +1080,7 @@ tutorial.deposit = Deposit items into blocks by dragging from your ship to the d
|
||||
tutorial.waves = The[LIGHT_GRAY] enemy[] approaches.\n\nDefend your core for 2 waves. Build more turrets.
|
||||
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||
|
||||
item.copper.description = ise yayar bir materyal. Kazma makineleriyle yada tasimayla alinabilir.
|
||||
item.lead.description = Basit bir baslangic materyali. sivi tasimada kullanilabilir.
|
||||
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
||||
@@ -1062,6 +1142,7 @@ block.power-source.description = Infinitely outputs power. Sandbox only.
|
||||
block.item-source.description = Infinitely outputs items. Sandbox only.
|
||||
block.item-void.description = Destroys any items which go into it without using power. Sandbox only.
|
||||
block.liquid-source.description = Infinitely outputs liquids. Sandbox only.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.
|
||||
block.copper-wall-large.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.\nSpans multiple tiles.
|
||||
block.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies.
|
||||
@@ -1097,6 +1178,7 @@ block.rotary-pump.description = An advanced pump which doubles up speed by using
|
||||
block.thermal-pump.description = The ultimate pump. Three times as fast as a mechanical pump and the only pump which is able to retrieve lava.
|
||||
block.conduit.description = Basic liquid transport block. Works like a conveyor, but with liquids. Best used with extractors, pumps or other conduits.
|
||||
block.pulse-conduit.description = 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 it for creating buffers when there is a 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.
|
||||
@@ -1105,6 +1187,7 @@ block.phase-conduit.description = Advanced liquid transport block. Uses power to
|
||||
block.power-node.description = Transmits power to connected nodes. Up to four power sources, sinks or nodes can be connected. The node will receive power from or supply power to any adjacent blocks.
|
||||
block.power-node-large.description = Has a larger radius than the power node and connects to up to six power sources, sinks or nodes.
|
||||
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 whenever there is an abundance and provides power whenever there is a shortage, as long as there is capacity left.
|
||||
block.battery-large.description = Stores much more power than a regular battery.
|
||||
block.combustion-generator.description = Generates power by burning oil or flammable materials.
|
||||
|
||||
@@ -10,7 +10,9 @@ link.dev-builds.description = Dengesiz oyun sürümleri
|
||||
link.trello.description = Planlanan özellikler için resmi Trello Sayfası
|
||||
link.itch.io.description = Bilgisayar sürümleri için itch.io sayfası
|
||||
link.google-play.description = Google Play mağaza sayfası
|
||||
link.f-droid.description = F-Droid catalogue listing
|
||||
link.wiki.description = Resmi Mindustry wikisi
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = Link açılamadı!\nURL kopyalandı.
|
||||
screenshot = Ekran görüntüsü {0} 'na kaydedildi
|
||||
screenshot.invalid = Harita çok büyük, muhtemelen ekran görüntüsü için yeterli bellek yok.
|
||||
@@ -18,12 +20,22 @@ gameover = Kaybettin
|
||||
gameover.pvp = [accent] {0}[] Takımı kazandı!
|
||||
highscore = [accent]Yeni rekor!
|
||||
copied = Panoya Kopyalandı.
|
||||
|
||||
load.sound = Sesler
|
||||
load.map = Haritalar
|
||||
load.image = Resimler
|
||||
load.content = İçerik
|
||||
load.system = Sistem
|
||||
load.mod = Modlar
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = Şema
|
||||
schematic.add = Şemayı Kaydet...
|
||||
schematics = Şemalar
|
||||
@@ -40,6 +52,7 @@ schematic.saved = Şema Kaydedildi.
|
||||
schematic.delete.confirm = Bu şema tamamen yokedilecek.
|
||||
schematic.rename = Şemayı yeniden Adlandır
|
||||
schematic.info = {0}x{1}, {2} blok
|
||||
|
||||
stat.wave = Yenilen Dalgalar:[accent] {0}
|
||||
stat.enemiesDestroyed = Yok Edilen Düşmanlar:[accent] {0}
|
||||
stat.built = İnşa Edilen Yapılar:[accent] {0}
|
||||
@@ -47,6 +60,7 @@ stat.destroyed = Yok Edilen Yapılar:[accent] {0}
|
||||
stat.deconstructed = Yıkılan Yapılar:[accent] {0}
|
||||
stat.delivered = Gönderilen Kaynaklar:
|
||||
stat.rank = Rütbe: [accent]{0}
|
||||
|
||||
launcheditems = [accent]Gönderilen Kaynaklar
|
||||
launchinfo = Mavi ile belirtilen materyallerden edinmek için [unlaunched][[KALKIŞ] yapın.
|
||||
map.delete = "[accent]{0}[]" haritasını silmek istediğine emin misin?
|
||||
@@ -74,6 +88,7 @@ maps.browse = Haritaları gör
|
||||
continue = Devam et
|
||||
maps.none = [lightgray]Harita Bulunamadı!
|
||||
invalid = Geçersiz
|
||||
pickcolor = Pick Color
|
||||
preparingconfig = Yapılandırma Hazırlanıyor
|
||||
preparingcontent = İçerik Hazırlanıyor
|
||||
uploadingcontent = İçerik Yükleniyor
|
||||
@@ -81,6 +96,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.alpha = [accent](Alpha)
|
||||
mods = Modlar
|
||||
@@ -92,18 +108,25 @@ mod.enabled = [lightgray]Etkin
|
||||
mod.disabled = [scarlet]Devre Dışı
|
||||
mod.disable = Devre Dışı Bırak
|
||||
mod.delete.error = Unable to delete mod. File may be in use.
|
||||
mod.requiresversion = [scarlet]Requires min game version: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Missing dependencies: {0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Errors have occurred loading content.
|
||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||
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 = 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.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that mod.
|
||||
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}
|
||||
mod.preview.missing = Bu modu atölyede yayınlamadan önce bir resim önizlemesi eklemelisiniz.\nMod dosyasına [accent]preview.png[] adlı bir resim yerleştirin ve tekrar deneyin.
|
||||
mod.folder.missing = Atölyede sadece klasör halindeki modlar yayınlanabilir.Bir modu klasöre çevirmek için, sadece mod dosyalarını bir klasöre çıkarın ve eski sıkıştırılmış dosyayı silin, sonra da oyunu tekrar başlatın ya da modlarınızı tekrar yükleyin.
|
||||
mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly.
|
||||
|
||||
about.button = Hakkında
|
||||
name = İsim:
|
||||
noname = Bir[accent] kullanıcı adı[] seçmelisin.
|
||||
@@ -132,6 +155,7 @@ server.kicked.nameEmpty = Seçtiğin isim geçersiz.
|
||||
server.kicked.idInUse = Zaten bu sunucudasın! İki hesapla bir sunucuya bağlanamazsın.
|
||||
server.kicked.customClient = Bu sunucu özel sürümleri kabul etmiyor. Resmi bir sürüm indir.
|
||||
server.kicked.gameover = Oyun bitti!
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = Kullandığın surum:[accent] {0}[]\nSunucunun sürümü:[accent] {1}[]
|
||||
host.info = [accent]host[], [scarlet]6567[] portunda bir sunucuya ev sahipliği yapıyor. \nAynı [lightgray]wifi veya yerel ağdaki[] herkes sunucu listelerinde senin sunucunu görebiliyor olmalı.\n\nEğer diğerlerinin herhangi bir yerden IP ile bağlanabilmesini istiyorsan [accent]port yönlendirmesi[] gerekli.\n\n[lightgray]Not: Eğer birisi senin yerel ağ oyununa katılmakta sorun yaşıyorsa güvenlik duvarı ayarlarında Mindustry'ye yerel ağ bağlantısı izni verdiğinden emin olun. Halka açık ağların zaman zaman sunucu aramaya engel olduğunu unutmayın.
|
||||
join.info = Burada, bağlanmak istediğin sunucunun [accent]IP[] adresini girebilir veya [accent]yerel ağ[] sunucularını görebilirsin..\nHem yerel ağ hem de geniş alan ağı çoklu oyuncu için destekleniyor.\n\n[lightgray]Not: Otomatik bir global sunucu listesi yok; eğer birisine IP adresi kullanarak bağlanmak istiyorsan IP adresini istemelisin.
|
||||
@@ -271,6 +295,7 @@ publishing = [accent]Yayınlanıyor...
|
||||
publish.confirm = Bunu yayınlamak istediğinize emin misiniz?\n[lightgray]önce Atölye EULA'sına uyduğunuza emin olun, yoksa yapıtlarınız gözükmeyecektir!
|
||||
publish.error = Nesneyi yayınlarken hata oluştu: {0}
|
||||
steam.error = Failed to initialize Steam services.\nError: {0}
|
||||
|
||||
editor.brush = Fırça
|
||||
editor.openin = Düzenleyici'de Aç
|
||||
editor.oregen = Maden Oluşumu
|
||||
@@ -347,6 +372,7 @@ editor.overwrite = [accent]Uyarı!\nBu işlem var olan bir haritanın üstüne y
|
||||
editor.overwrite.confirm = [scarlet]Uyarı![] Bu ada sahip bir harita zaten var. Onun üstüne yazmak ister misiniz?
|
||||
editor.exists = Bu ada sahip bir harita zaten var.
|
||||
editor.selectmap = Yüklemek için bir harita seçin:
|
||||
|
||||
toolmode.replace = Değiştir
|
||||
toolmode.replace.description = Sadece katı blokların üzerinde çizer.
|
||||
toolmode.replaceall = Hepsini Değiştir
|
||||
@@ -361,6 +387,7 @@ toolmode.fillteams = Takımları Doldur
|
||||
toolmode.fillteams.description = Bloklar yerine takımları doldurur.
|
||||
toolmode.drawteams = Takım Çiz
|
||||
toolmode.drawteams.description = Bloklar yerine takımşarı çizer..
|
||||
|
||||
filters.empty = [lightgray]Hiç filtre yok! Aşağıdaki butonla bir adet ekleyin.
|
||||
filter.distort = Çarpıt
|
||||
filter.noise = Gürültü
|
||||
@@ -392,6 +419,7 @@ filter.option.floor2 = İkincil Duvar
|
||||
filter.option.threshold2 = İkincil Eşik
|
||||
filter.option.radius = Yarıçap
|
||||
filter.option.percentile = Yüzdelik
|
||||
|
||||
width = Eni:
|
||||
height = Boyu:
|
||||
menu = Menü
|
||||
@@ -407,6 +435,7 @@ tutorial = Öğretici
|
||||
tutorial.retake = Öğreticiyi Yeniden Al
|
||||
editor = Düzenleyici
|
||||
mapeditor = Harita Düzenleyicisi
|
||||
|
||||
abandon = Terk Et
|
||||
abandon.text = Burası ve bütün kaynaklar düşmana kaybedilecek.
|
||||
locked = Kilitli
|
||||
@@ -415,7 +444,7 @@ requirement.wave = Bölge {1}'de Dalga {0}
|
||||
requirement.core = {0}`da Düşman Çekirdeği Yok Et
|
||||
requirement.unlock = {0}'I Aç
|
||||
resume = Bölgeye Devam Et:\n[lightgray]{0}
|
||||
bestwave = [lightgrayEn İyi Dalga: {0}
|
||||
bestwave = [lightgray]En İyi Dalga: {0}
|
||||
launch = < KALKIŞ >
|
||||
launch.title = Kalkış Başarılı
|
||||
launch.next = [lightgray]Bir sonraki imkan {0}. dalgada olacak.
|
||||
@@ -437,6 +466,7 @@ zone.objective.survival = Hayatta Kal
|
||||
zone.objective.attack = Düşman Merkezini Yok Et
|
||||
add = Ekle...
|
||||
boss.health = Boss Canı
|
||||
|
||||
connectfail = [crimson]Bağlantı hatası:\n\n[accent]{0}
|
||||
error.unreachable = Sunucuya ulaşılamıyor.\nAdrwsin doğru yazıldığına emin misiniz?
|
||||
error.invalidaddress = Geçersiz adres.
|
||||
@@ -447,6 +477,7 @@ error.mapnotfound = Harita dosyası bulunamadı!
|
||||
error.io = Ağ I/O hatası.
|
||||
error.any = Bilinöeyen ağ hatası.
|
||||
error.bloom = Kamaşma başlatılamadı.\nCihazınız bu özelliği desteklemiyor olabilir.
|
||||
|
||||
zone.groundZero.name = Sıfır Noktası
|
||||
zone.desertWastes.name = Çöl Harabeleri
|
||||
zone.craters.name = Kraterler
|
||||
@@ -461,6 +492,7 @@ zone.saltFlats.name = Tuz Düzlükleri
|
||||
zone.impact0078.name = Çarpışma 0078
|
||||
zone.crags.name = Kayalıklar
|
||||
zone.fungalPass.name = Mantar Geçidi
|
||||
|
||||
zone.groundZero.description = Yeniden başlamak için ideal bölge. Düşük düşman tehlikesi ve az miktarda kaynak mevcut.\nMümkün oldukça çok bakır ve kurşun topla.\nİlerle.
|
||||
zone.frozenForest.description = Burada, dağlara yakın bölgelerde bile, sporlar etrafa yayıldı. Dondurucu soğuk onları sonsuza dek durduramaz.\n\nEnerji kullanmaya başla. Termik jeneratörler inşa et. Tamircileri kullanmayı öğren.
|
||||
zone.desertWastes.description = Bu harabeler gemiş, öngörülemez, ve sektör yapılarının kalıntılarıyla kesişmekte.\nBölgede kömür mevcut, onu enerji için yak veya ondan grafit üret.\n\n[lightgray]Burada iniş bölgesi garanti edilemez.
|
||||
@@ -475,10 +507,12 @@ zone.nuclearComplex.description = Önceleri toryum üretme ve işleme ile görev
|
||||
zone.fungalPass.description = Dağlar ve sporlarla dolu aşağı bölgeler arasında bir geçiş bölgesi. Burada küçük düşman keşif üssü bulundu.\nBu üssü yok et.\nDagger ve Crawler birimleei kullan ve bölgedeki iki çekirdeği yık.
|
||||
zone.impact0078.description = <insert description here>
|
||||
zone.crags.description = <insert description here>
|
||||
|
||||
settings.language = Dil
|
||||
settings.data = Oyun Verisi
|
||||
settings.reset = Varsayılana Sıfırla
|
||||
settings.rebind = Tuşları Yeniden Ata
|
||||
settings.resetKey = Reset
|
||||
settings.controls = Kontroller
|
||||
settings.game = Oyun
|
||||
settings.sound = Ses
|
||||
@@ -529,6 +563,7 @@ blocks.inaccuracy = İskalama Oranı
|
||||
blocks.shots = Atışlar
|
||||
blocks.reload = Atışlar/Sn
|
||||
blocks.ammo = Mermi
|
||||
|
||||
bar.drilltierreq = Daha İyi Matkap Gerekli
|
||||
bar.drillspeed = Matkap Hızı: {0}/s
|
||||
bar.pumpspeed = Pump Speed: {0}/s
|
||||
@@ -544,6 +579,9 @@ bar.heat = Isı
|
||||
bar.power = Enerji
|
||||
bar.progress = Build Progress
|
||||
bar.spawned = Birimler: {0}/{1}
|
||||
bar.input = Input
|
||||
bar.output = Output
|
||||
|
||||
bullet.damage = [stat]{0}[lightgray] hasar
|
||||
bullet.splashdamage = [stat]{0}[lightgray] alan hasarı ~[stat] {1}[lightgray] kare
|
||||
bullet.incendiary = [stat]yakıcı
|
||||
@@ -555,6 +593,7 @@ bullet.freezing = [stat]dondurucu
|
||||
bullet.tarred = [stat]katranlı
|
||||
bullet.multiplier = [stat]{0}[lightgray]x mermi çarpanı
|
||||
bullet.reload = [stat]{0}[lightgray]x atış hızı
|
||||
|
||||
unit.blocks = bloklar
|
||||
unit.powersecond = enerji birimi/saniye
|
||||
unit.liquidsecond = sıvı birimi/saniye
|
||||
@@ -567,6 +606,8 @@ unit.persecond = /sn
|
||||
unit.timesspeed = x hız
|
||||
unit.percent = %
|
||||
unit.items = eşya
|
||||
unit.thousands = k
|
||||
unit.millions = mil
|
||||
category.general = Genel
|
||||
category.power = Enerji
|
||||
category.liquids = Sıvılar
|
||||
@@ -579,6 +620,7 @@ setting.shadows.name = Gölgeler
|
||||
setting.blockreplace.name = Automatic Block Suggestions
|
||||
setting.linear.name = Lineer Filtreleme
|
||||
setting.hints.name = İpuçları
|
||||
setting.buildautopause.name = Auto-Pause Building
|
||||
setting.animatedwater.name = Animasyonlu Su
|
||||
setting.animatedshields.name = Animasyonlu Kalkanlar
|
||||
setting.antialias.name = Antialias[lightgray] (requires restart)[]
|
||||
@@ -601,12 +643,16 @@ setting.screenshake.name = Ekranı Salla
|
||||
setting.effects.name = Efektleri Görüntüle
|
||||
setting.destroyedblocks.name = Display Destroyed Blocks
|
||||
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = Kontrolcü Hassasiyeti
|
||||
setting.saveinterval.name = Kayıt Aralığı
|
||||
setting.seconds = {0} Saniye
|
||||
setting.blockselecttimeout.name = Block Select Timeout
|
||||
setting.milliseconds = {0} milliseconds
|
||||
setting.fullscreen.name = Tam Ekran
|
||||
setting.borderlesswindow.name = Kenarsız Pencere[lightgray] (yeniden açmak gerekebilir)
|
||||
setting.fps.name = FPS Göster
|
||||
setting.blockselectkeys.name = Show Block Select Keys
|
||||
setting.vsync.name = VSync
|
||||
setting.pixelate.name = Pixelleştir[lightgray] (animasyonları kapatır)
|
||||
setting.minimap.name = Haritayı Göster
|
||||
@@ -635,16 +681,36 @@ category.multiplayer.name = Çok Oyunculu
|
||||
command.attack = Saldır
|
||||
command.rally = Toplan
|
||||
command.retreat = Geri Çekil
|
||||
placement.blockselectkeys = \n[lightgray]Key: [{0},
|
||||
keybind.clear_building.name = Binayı Temizle
|
||||
keybind.press = Bir tuşa basın...
|
||||
keybind.press.axis = Bir tuşa ya da yöne basın...
|
||||
keybind.screenshot.name = Harita Ekran Görüntüsü
|
||||
keybind.toggle_power_lines.name = Toggle Power Lasers
|
||||
keybind.move_x.name = x Ekseninde Hareket
|
||||
keybind.move_y.name = y Ekseninde Hareket
|
||||
keybind.mouse_move.name = Follow Mouse
|
||||
keybind.dash.name = Sıçrama
|
||||
keybind.schematic_select.name = Bölge Seç
|
||||
keybind.schematic_menu.name = Şema Menüsü
|
||||
keybind.schematic_flip_x.name = Şemayı X ekseninde Döndür
|
||||
keybind.schematic_flip_y.name = Şemayı Y Ekseninde Döndür
|
||||
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 = Tam Ekran
|
||||
keybind.select.name = Seç/Ateş Et
|
||||
keybind.diagonal_placement.name = Çapraz Yerleştirme
|
||||
@@ -657,7 +723,6 @@ keybind.menu.name = Menü
|
||||
keybind.pause.name = Durdur
|
||||
keybind.pause_building.name = İnşaatı Duraklat/İnşaata Devam Et
|
||||
keybind.minimap.name = Mini Harita
|
||||
keybind.dash.name = Sıçrama
|
||||
keybind.chat.name = Konuş
|
||||
keybind.player_list.name = Oyuncu Listesi
|
||||
keybind.console.name = Konsol
|
||||
@@ -680,7 +745,9 @@ mode.pvp.description = Yerel olarak başkaları ile savaş.\n[gray]Oynamak için
|
||||
mode.attack.name = Saldırı
|
||||
mode.attack.description = Düşman üssünü yok et. Dalga yok.\n[gray]Oynamak için haritada kırmızı çekirdek olması gerekir.
|
||||
mode.custom = Özel Kurallar
|
||||
|
||||
rules.infiniteresources = Sınırsız Kaynaklar
|
||||
rules.reactorexplosions = Reactor Explosions
|
||||
rules.wavetimer = Dalga Zamanlayıcısı
|
||||
rules.waves = Dalgalar
|
||||
rules.attack = Saldırı Modu
|
||||
@@ -688,6 +755,7 @@ rules.enemyCheat = Sonsuz AI (Kırmızı Takım) Kaynakları
|
||||
rules.unitdrops = Unit Drops
|
||||
rules.unitbuildspeedmultiplier = Birim Üretim Hızı Çarpanı
|
||||
rules.unithealthmultiplier = Birim Canı Çarpanı
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = Oyuncu Canı Çarpanı
|
||||
rules.playerdamagemultiplier = Oyuncu Hasarı Çarpanı
|
||||
rules.unitdamagemultiplier = Birim Hasarı Çapanı
|
||||
@@ -706,6 +774,10 @@ rules.title.resourcesbuilding = Kaynaklar & İnşa
|
||||
rules.title.player = Oyuncular
|
||||
rules.title.enemy = Düşmanlar
|
||||
rules.title.unit = Unitler
|
||||
rules.title.experimental = Experimental
|
||||
rules.lighting = Lighting
|
||||
rules.ambientlight = Ambient Light
|
||||
|
||||
content.item.name = Eşyalar
|
||||
content.liquid.name = Sıvılar
|
||||
content.unit.name = Birimler
|
||||
@@ -752,6 +824,7 @@ mech.trident-ship.name = Trident
|
||||
mech.trident-ship.weapon = Bomba Bölmesi
|
||||
mech.glaive-ship.name = Glaive
|
||||
mech.glaive-ship.weapon = Alevli Makineli Tüfek
|
||||
item.corestorable = [lightgray]Storable in Core: {0}
|
||||
item.explosiveness = [lightgray]Patlama: {0}%
|
||||
item.flammability = [lightgray]Yanıcılık: {0}%
|
||||
item.radioactivity = [lightgray]Radyoaktivite: {0}%
|
||||
@@ -767,6 +840,7 @@ mech.buildspeed = [lightgray]İnşaat Hızı: {0}%
|
||||
liquid.heatcapacity = [lightgray]Isı Kapasitesi: {0}
|
||||
liquid.viscosity = [lightgray]Vizkosite: {0}
|
||||
liquid.temperature = [lightgray]Sıcaklık: {0}
|
||||
|
||||
block.sand-boulder.name = Kum Kaya Parçaları
|
||||
block.grass.name = Çimen
|
||||
block.salt.name = Tuz
|
||||
@@ -865,6 +939,8 @@ block.distributor.name = Dağıtıcı
|
||||
block.sorter.name = Ayıklayıcı
|
||||
block.inverted-sorter.name = Ters Ayıklayıcı
|
||||
block.message.name = Mesaj
|
||||
block.illuminator.name = Illuminator
|
||||
block.illuminator.description = A small, compact, configurable light source. Requires power to function.
|
||||
block.overflow-gate.name = Taşma Geçiti
|
||||
block.silicon-smelter.name = Silikon Fırını
|
||||
block.phase-weaver.name = Faz Örücü
|
||||
@@ -878,6 +954,7 @@ block.coal-centrifuge.name = Kömür Santrifüjü
|
||||
block.power-node.name = Enerji Noktası
|
||||
block.power-node-large.name = Büyük Enerji Noktası
|
||||
block.surge-tower.name = Akı Kulesi
|
||||
block.diode.name = Battery Diode
|
||||
block.battery.name = Batarya
|
||||
block.battery-large.name = Büyük Batarya
|
||||
block.combustion-generator.name = Termik Jeneratör
|
||||
@@ -901,6 +978,7 @@ block.mechanical-pump.name = Mekanik Pompa
|
||||
block.item-source.name = Sonsuz Eşya Kaynağı
|
||||
block.item-void.name = Eşya Yokedici
|
||||
block.liquid-source.name = Sonsuz Sıvı Kaynağı
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = Enerji Yokedici
|
||||
block.power-source.name = Sonsuz Enerji Kaynağı
|
||||
block.unloader.name = Boşaltıcı
|
||||
@@ -930,6 +1008,7 @@ block.fortress-factory.name = Fortress Robot Fabrikası
|
||||
block.revenant-factory.name = Revenant Savaşçı Fabrikası
|
||||
block.repair-point.name = Tamir Noktası
|
||||
block.pulse-conduit.name = Dalga Borusu
|
||||
block.plated-conduit.name = Plated Conduit
|
||||
block.phase-conduit.name = Faz Borusu
|
||||
block.liquid-router.name = Sıvı Yönlendiricisi
|
||||
block.liquid-tank.name = Sıvı Tankı
|
||||
@@ -1001,6 +1080,7 @@ tutorial.deposit = Malzemeleri geminizden hedef bloğa sürükleyerek malzemeler
|
||||
tutorial.waves = [lightgray]Düşman[] yaklaşıyor.\n\nÇekirdeği 2 dalga boyunca koruyun. Ateş etmek için [accent]tıklayın[].\nDaha fazla taret ve matkap inşa edin ve daha fazla bakır toplayın.
|
||||
tutorial.waves.mobile = [lightgray]Düşman[] yaklaşıyor.\n\nÇekirdeği 2 dalga boyunca koruyun. Geminiz düşmanlara otomatik olarak ateş edecektir.\nDaha fazla taret ve matkap inşa edin ve daha fazla bakır toplayın.
|
||||
tutorial.launch = Belirli bir dalgaya ulaşınca, çekirdeği bulunduğu bölgeden [accent]kaldırabilir[], bütün binalarınızı arkada bırakıp [accent]çekirdeğinizdeki bütün materyallere sahip olabilirsiniz.[]Bu materyaller daha sonra yeni teknolojiler geliştirmek için kullanılabilir.\n\n[accent]Kalkış butonuna basın.
|
||||
|
||||
item.copper.description = En basit materyal. Her türlü blokda kullanılır.
|
||||
item.lead.description = Basit bir materyal. Elektronikte ve sıvı taşımada kullanılır.
|
||||
item.metaglass.description = Süper sert camdan bir bileşim. Sıvı dağıtımı ve depolamak için yaygın olarak kullanılır.
|
||||
@@ -1062,6 +1142,7 @@ block.power-source.description = Sonsuz enerji verir. Sadece Yaratıcı Modda.
|
||||
block.item-source.description = Seçilen eşyadan sonsuz verir. Sadece Yaratıcı Modda.
|
||||
block.item-void.description = Verilen eşyaları yok eder. Sadece Yaratıcı Modda.
|
||||
block.liquid-source.description = Seçilen sıvıyı sonsuz verir. Sadece Yaratıcı Modda.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = Ucuz bir savunma bloğu.\nİlk birkaç dalgada merkezi ve silahları korumak için kullanışlıdır.
|
||||
block.copper-wall-large.description = Ucuz bir savunma bloğu.\nİlk birkaç dalgada merkezi ve taretleri korumak için kullanışlıdır.\nBirçok blok alan kaplar.
|
||||
block.titanium-wall.description = Orta derecede güçlü savunma bloğu.\nDüşmanlardan orta derecede koruma sağlar.
|
||||
@@ -1097,6 +1178,7 @@ block.rotary-pump.description = Daha gelişmiş bir pompa. Daha fazla sıvı dep
|
||||
block.thermal-pump.description = En iyi pompa.
|
||||
block.conduit.description = Temel sıvı taşıma bloğu. Sıvıları ileri taşır. Pompalar ve diğer borularla birlikte kullanılır.
|
||||
block.pulse-conduit.description = Gelişmiş bir sıvı taşıma bloğu. Sıvıları normal borulardan daha hızlı taşır ve onlardan daha fazla sıvı alır.
|
||||
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 = Sıvıları bir yönden alıp diğer üç yöne eşit olarak dağıtır. Ayrıca kendisi de bir miktar sıvı depolayabilir. Sıvıları bir kaynaktan birden fazla hedefe iletmek için kullanılır.
|
||||
block.liquid-tank.description = Çok miktarda sıvıyı depolar. İhtiyaçları devamlı olmayan sıvıları yedek olarak saklamakta ya da önemli blokların devamlı olarak soğutulmasında kullanılabilir.
|
||||
block.liquid-junction.description = Çakışan iki boru hattı arasında bir köprü görevi görür. İki farklı borunun farklı hedeflere farklı sıvıları taşıdığı durumlarda kullanışlıdır.
|
||||
@@ -1105,6 +1187,7 @@ block.phase-conduit.description = Gelişmiş sıvı taşıma bloğu. Sıvıları
|
||||
block.power-node.description = Bağlı düğümlere enerji sağlar. Ayrıca dibindeki bloklardan da enerji alıp onlara enerji verebilir.
|
||||
block.power-node-large.description = Daha fazla menzil ve bağlantıya sahip daha gelişmiş bir güç düğümü
|
||||
block.surge-tower.description = Daha az bağlantı sayısına sahip oldukça uzun menzilli bir güç düğümü.
|
||||
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 = Enerji fazlasını yedek olarak saklar. Enerji açığında sakladığı enerjiyi salar.
|
||||
block.battery-large.description = Sıradan bataryadan çok daha fazla enerji depolar.
|
||||
block.combustion-generator.description = Kömür gibi yanıcı materyalleri yakarak enerji üretir.
|
||||
|
||||
@@ -10,8 +10,9 @@ 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.f-droid.description = Завантажити для Android з F-Droid
|
||||
link.wiki.description = Офіційна Mindustry wiki
|
||||
link.feathub.description = Запропонувати нові функції
|
||||
linkfail = Не вдалося відкрити посилання!\nURL-адреса скопійована в буфер обміну.
|
||||
screenshot = Зняток мапи збережено в {0}
|
||||
screenshot.invalid = Мапа занадто велика, тому, мабуть, не вистачає пам’яті для знятку мапи.
|
||||
@@ -19,6 +20,7 @@ gameover = Гра завершена
|
||||
gameover.pvp = [accent] {0}[] команда перемогла!
|
||||
highscore = [YELLOW]Новий рекорд!
|
||||
copied = Скопійовано.
|
||||
|
||||
load.sound = Звуки
|
||||
load.map = Мапи
|
||||
load.image = Зображення
|
||||
@@ -27,6 +29,13 @@ load.system = Система
|
||||
load.mod = Модифікації
|
||||
load.scripts = Скрипти
|
||||
|
||||
be.update = Доступна нова збірка Bleeding Edge:
|
||||
be.update.confirm = Завантажити і перезавантажити зараз?
|
||||
be.updating = Оновлення…
|
||||
be.ignore = Ігнорувати
|
||||
be.noupdates = Оновлень не знайдено.
|
||||
be.check = Перевірити на наявність оновлень
|
||||
|
||||
schematic = Схема
|
||||
schematic.add = Зберегти схему…
|
||||
schematics = Схеми
|
||||
@@ -37,12 +46,13 @@ schematic.importfile = Імпортувати файл
|
||||
schematic.browseworkshop = Переглянути в Майстерні
|
||||
schematic.copy = Копіювати в буфер обміну
|
||||
schematic.copy.import = Імпортувати з клавіатури
|
||||
schematic.shareworkshop = Поширити в Майстерні
|
||||
schematic.shareworkshop = Поширити в Майстерню
|
||||
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Відобразити схему
|
||||
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}
|
||||
@@ -50,6 +60,7 @@ stat.destroyed = Будівель знищено:[accent] {0}
|
||||
stat.deconstructed = Будівель декоструйовано[accent] {0}
|
||||
stat.delivered = Ресурсів запущено:
|
||||
stat.rank = Фінальний рахунок: [accent]{0}
|
||||
|
||||
launcheditems = [accent]Запущені предмети
|
||||
launchinfo = [unlaunched]Натисніть на кнопку «[[ЗАПУСК]», щоб ваше ядро отримало предмети, які виділені синім кольором.
|
||||
map.delete = Ви впевнені, що хочете видалити мапу «[accent]{0}[]»?
|
||||
@@ -67,7 +78,7 @@ customgame = Користувацька гра
|
||||
newgame = Нова гра
|
||||
none = <нічого>
|
||||
minimap = Мінімапа
|
||||
position = Позиція
|
||||
position = Місцерозташування
|
||||
close = Закрити
|
||||
website = Веб-сайт
|
||||
quit = Вихід
|
||||
@@ -84,41 +95,38 @@ uploadingcontent = Вивантаження вмісту
|
||||
uploadingpreviewfile = Вивантаження файлу передперегляду
|
||||
committingchanges = Здійснення змін
|
||||
done = Зроблено
|
||||
mods = Модифікації
|
||||
feature.unsupported = Your device does not support this feature.
|
||||
|
||||
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.guide = Посібник з модифицій
|
||||
mods.report = Повідомити про ваду
|
||||
mods.openfolder = Відкрити теку модифікацій
|
||||
mod.enabled = [lightgray]Увімкнено
|
||||
mod.disabled = [scarlet]Вимкнено
|
||||
mod.disable = Вимкнути
|
||||
mod.disable = Вимкн.
|
||||
mod.delete.error = Неможливо видалити модифікацію. Файл, можливо, використовується.
|
||||
mod.requiresversion = [scarlet]Необхідна версія гри: [accent]{0}
|
||||
mod.requiresversion = [scarlet]Необхідна мінімальна версія гри: [accent]{0}
|
||||
mod.missingdependencies = [scarlet]Відсутні залежності: {0}
|
||||
mod.erroredcontent = [scarlet]Помилки при завантаженнні
|
||||
mod.errors = Сталася помилка при завантаження змісту.
|
||||
mod.noerrorplay = [scarlet]Ви маєте модифікації з помилками.[] Або вимкніть проблемні модифікації, або виправте їх.
|
||||
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.item.remove =Цей предмет є частиною модифікації [accent] '«{0}»[]. Щоб видалити його, видаліть цю модифікацію.
|
||||
mod.import.github = Завантажити мод з GitHub
|
||||
mod.item.remove = Цей предмет є частиною модифікації [accent] «{0}»[]. Щоб видалити його, видаліть цю модифікацію.
|
||||
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Щоб перетворити будь-яку модификацію у теку, просто розархівуйте цей файлу теку та видаліть старий архів, і потім перезапустіть гру або перезавантажте ваші модификації.
|
||||
mod.scripts.unsupported = Ваш пристрій не підтримує скрипти модифікацій. Деякі модифифікаціх не будуть працювати правильно.
|
||||
|
||||
about.button = Про гру
|
||||
name = Ім’я:
|
||||
noname = Спочатку придумайте[accent] собі ім’я[].
|
||||
@@ -133,7 +141,7 @@ players = Гравців: {0}
|
||||
players.single = {0} гравець на сервері
|
||||
server.closing = [accent]Закриття сервера…
|
||||
server.kicked.kick = Ви були вигнані з сервера!
|
||||
server.kicked.whitelist = Ви не в білому спискі сервері.
|
||||
server.kicked.whitelist = Ви не в білому спискі сервера!
|
||||
server.kicked.serverClose = Сервер закрито.
|
||||
server.kicked.vote = Вас було вигнано із сервера за допомогою голосування. Прощавайте.
|
||||
server.kicked.clientOutdated = Застарілий клієнт! Оновіть свою гру!
|
||||
@@ -147,6 +155,7 @@ server.kicked.nameEmpty = Ваше ім’я має містити принай
|
||||
server.kicked.idInUse = Ви вже на цьому сервері! Підключення двох облікових записів не дозволяється.
|
||||
server.kicked.customClient = Цей сервер не підтримує користувацькі збірки. Завантажте офіційну версію.
|
||||
server.kicked.gameover = Гра завершена!
|
||||
server.kicked.serverRestarting = Сервер перезавантажується
|
||||
server.versions = Ваша версія:[accent] {0}[]\nВерсія на сервері:[accent] {1}[]
|
||||
host.info = Кнопка [accent]Сервер[] розміщує сервер на порті [scarlet]6567[]. \nКористувачі, які знаходяться у тій же [lightgray]WiFi або локальній мережі[], повинні бачити ваш сервер у своєму списку серверів.\n\nЯкщо ви хочете, щоб люди могли приєднуватися з будь-якої точки через IP, то[accent] переадресація порту []обов’язкова.\n\n[lightgray]Примітка. Якщо у вас виникли проблеми з підключенням до вашої локальної гри, переконайтеся, що ви дозволили Mindustry доступ до вашої локальної мережі в налаштуваннях брандмауера. Зауважте, що публічні мережі іноді не дозволяють виявити сервер.
|
||||
join.info = Тут ви можете ввести [accent]IP сервера[] для підключення або знайти сервери у [accent]локальній мережі[] для підключення до них.\nПідтримується локальна мережа(LAN) і широкосмугова мережа(WAN).\n\n[lightgray] Примітка. Тут немає автоматичного глобального списку серверів; якщо ви хочете підключитися до когось через IP, вам доведеться попросити створювача сервера дати свій ip.
|
||||
@@ -209,8 +218,8 @@ save.delete.confirm = Ви дійсно хочете видалити це зб
|
||||
save.delete = Видалити
|
||||
save.export = Експортувати збереження
|
||||
save.import.invalid = [accent]Це збереження недійсне!
|
||||
save.import.fail = [crimson]Не вдалося імпортувати збереження: [accent]{0}
|
||||
save.export.fail = [crimson]Не вдалося експортувати збереження: [accent]{0}
|
||||
save.import.fail = [crimson]Не вдалося завантажити збереження: [accent]{0}
|
||||
save.export.fail = [crimson]Не вдалося вивантажити збереження: [accent]{0}
|
||||
save.import = Імпортувати збереження
|
||||
save.newslot = Ім’я збереження:
|
||||
save.rename = Перейменувати
|
||||
@@ -240,12 +249,12 @@ cancel = Скасувати
|
||||
openlink = Відкрити посилання
|
||||
copylink = Скопіювати посилання
|
||||
back = Назад
|
||||
data.export = Експортувати дані
|
||||
data.import = Импортувати дані
|
||||
data.exported = Дані імпортовано.
|
||||
data.export = Вивантажити дані
|
||||
data.import = Завантажити дані
|
||||
data.exported = Дані вивантажено.
|
||||
data.invalid = Це не дійсні ігрові дані.
|
||||
data.import.confirm = Імпорт зовнішніх даних перезапише[scarlet] ВСІ[] ваші поточні ігрові дані.\n[accent]Це неможливо скасувати![]\n\nЩойно дані імпортуються, гра негайно закриється.
|
||||
classic.export = Експортувати класичні дані
|
||||
data.import.confirm = Вивантаження зовнішніх даних перезапише[scarlet] ВСІ[] ваші поточні ігрові дані.\n[accent]Це неможливо скасувати![]\n\nЩойно дані імпортуються, гра негайно закриється.
|
||||
classic.export = Вивантажити класичні дані
|
||||
classic.export.text = Класичне (версія 3.5 збірка 40) збереження або мапа були знайдені. Ви хочете експортувати ці дані в домашню теку телефону, для використання у застосунку Mindustry Classic?
|
||||
quit.confirm = Ви впевнені, що хочете вийти?
|
||||
quit.confirm.tutorial = Ви впевнені, що хочете вийти з навчання?
|
||||
@@ -286,6 +295,7 @@ publishing = [accent]Публікація…
|
||||
publish.confirm = Ви дійсно хочете опублікувати це?\n\n[lightgray]Переконайтеся, що ви спочатку погоджуєтеся з EULA Майстерні, або ваші предмети не з’являться!
|
||||
publish.error = Сталася помилка при публікації предмета: {0}
|
||||
steam.error = Не вдалося ініціалізувати сервіси Steam.\nПомилка: {0}
|
||||
|
||||
editor.brush = Пензлик
|
||||
editor.openin = Відкрити в редакторі
|
||||
editor.oregen = Генерація руд
|
||||
@@ -317,7 +327,7 @@ waves.invalid = Недійсні хвилі у буфері обміну.
|
||||
waves.copied = Хвилі скопійовані.
|
||||
waves.none = Вороги не були встановлені.\nЗазначимо, що пусті хвилі будуть автоматично замінені звичайною хвилею.
|
||||
editor.default = [lightgray]<За замовчуванням>
|
||||
details = Деталі…
|
||||
details = Подробиці…
|
||||
edit = Редагувати…
|
||||
editor.name = Назва:
|
||||
editor.spawn = Створити бойову одиницю
|
||||
@@ -325,7 +335,7 @@ editor.removeunit = Видалити бойову одиницю
|
||||
editor.teams = Команди
|
||||
editor.errorload = Помилка завантаження зображення:\n[accent] {0}
|
||||
editor.errorsave = Помилка збереження зображення:\n[accent]{0}
|
||||
editor.errorimage = Це зображення, а не мапа. Не змінюйте розширення, очікуючи, що це запрацює.\n\nЯкщо Ви хочете імпортувати застарілку мапу, то використовуйте кнопку «Імпортувати застаріле зображення» у редакторі.
|
||||
editor.errorimage = Це зображення, а не мапа. Не змінюйте розширення, очікуючи, що це запрацює.\n\nЯкщо ви хочете імпортувати застарілку мапу, то використовуйте кнопку «Імпортувати застаріле зображення» у редакторі.
|
||||
editor.errorlegacy = Ця мапа занадто стара і використовує попередній формат мапи, який більше не підтримується.
|
||||
editor.errornot = Це не мапа.
|
||||
editor.errorheader = Цей файл мапи недійсний або пошкоджений.
|
||||
@@ -362,6 +372,7 @@ editor.overwrite = [accent]Попередження!\nЦе перезапису
|
||||
editor.overwrite.confirm = [scarlet]Попередження![] Мапа з такою назвою вже існує. Ви впевнені, що хочете переписати її?
|
||||
editor.exists = Мапа за такою назвою вже існує.
|
||||
editor.selectmap = Виберіть мапу для завантаження:
|
||||
|
||||
toolmode.replace = Замінити
|
||||
toolmode.replace.description = Малює тільки\nна суцільних блоках.
|
||||
toolmode.replaceall = Замінити все
|
||||
@@ -376,6 +387,7 @@ toolmode.fillteams = Змінити блок в команді
|
||||
toolmode.fillteams.description = Змінює належність\nблоків до команди.
|
||||
toolmode.drawteams = Змінити команду блока
|
||||
toolmode.drawteams.description = Змінює належність\nблока до команди.
|
||||
|
||||
filters.empty = [lightgray]Немає фільтрів! Додайте хоча б один за допомогою кнопки нижче.
|
||||
filter.distort = Спотворення
|
||||
filter.noise = Шум
|
||||
@@ -407,6 +419,7 @@ filter.option.floor2 = Друга поверхня
|
||||
filter.option.threshold2 = Вторинний граничний порог
|
||||
filter.option.radius = Радіус
|
||||
filter.option.percentile = Спад
|
||||
|
||||
width = Ширина:
|
||||
height = Висота:
|
||||
menu = Меню
|
||||
@@ -422,12 +435,13 @@ tutorial = Навчання
|
||||
tutorial.retake = Відкрити навчання
|
||||
editor = Редактор
|
||||
mapeditor = Редактор мап
|
||||
|
||||
abandon = Покинути
|
||||
abandon.text = Ця зона і всі її ресурси будуть втрачені.
|
||||
locked = Заблоковано
|
||||
complete = [lightgray]Досягнута:
|
||||
requirement.wave = Досягніть хвилі {0} у {1}
|
||||
requirement.core = Знишьте вороже ядро у {0}
|
||||
requirement.wave = Досягніть хвилі {0} у зоні «{1}»
|
||||
requirement.core = Знищьте вороже ядро у {0}
|
||||
requirement.unlock = Розблокуйте {0}
|
||||
resume = Відновити зону:\n[lightgray]{0}
|
||||
bestwave = [lightgray]Найкраща хвиля: {0}
|
||||
@@ -436,22 +450,23 @@ launch.title = Запуск вдалий
|
||||
launch.next = [lightgray]наступна можливість на {0}-тій хвилі
|
||||
launch.unable2 = [scarlet]ЗАПУСК неможливий.[]
|
||||
launch.confirm = Це видалить всі ресурси у Вашому ядрі.\nВи не зможете повернутися до цієї бази.
|
||||
launch.skip.confirm = Якщо Ви пропустите зараз, Ви не зможете не запускати до більш пізніх хвиль.
|
||||
launch.skip.confirm = Якщо ви пропустите зараз, Ви не зможете не запускати до більш пізніх хвиль.
|
||||
uncover = Розкрити
|
||||
configure = Вивантажити конфігурацію
|
||||
bannedblocks = Заборонені блоки
|
||||
addall = Додати все
|
||||
configure.locked = [lightgray]Можливість розблокувати вивантаження ресурсів буде доступна на {0}-тій хвилі.
|
||||
configure.locked = {0}[lightgray]Тільки після цього можливість розблокувати вивантаження ресурсів буде доступна.
|
||||
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}-тої хвилі. \nВимоги до зони «{1}» виконані.
|
||||
zone.config.unlocked = Вивантаження розблоковано:[lightgray]\n{0}
|
||||
zone.resources = Виявлені ресурси:
|
||||
zone.objective = [lightgray]Мета: [accent]{0}
|
||||
zone.objective.survival = Вижити
|
||||
zone.objective.attack = Знищити вороже ядро
|
||||
add = Додати…
|
||||
boss.health = Здоров’я босу
|
||||
|
||||
connectfail = [crimson]Помилка підключення: [accent]{0}
|
||||
error.unreachable = Сервер не доступний.
|
||||
error.invalidaddress = Некоректна адреса.
|
||||
@@ -462,7 +477,8 @@ error.mapnotfound = Файл мапи не знайдено
|
||||
error.io = Мережева помилка введення-виведення
|
||||
error.any = Невідома мережева помилка
|
||||
error.bloom = Не вдалося ініціалізувати цвітіння.\nВаш пристрій, мабуть, не підтримує це.
|
||||
zone.groundZero.name = Нульова земля
|
||||
|
||||
zone.groundZero.name = Відправний пункт
|
||||
zone.desertWastes.name = Пустельні відходи
|
||||
zone.craters.name = Кратери
|
||||
zone.frozenForest.name = Крижаний ліс
|
||||
@@ -476,6 +492,7 @@ zone.saltFlats.name = Соляні рівнини
|
||||
zone.impact0078.name = Імпульс 0078
|
||||
zone.crags.name = Скелі
|
||||
zone.fungalPass.name = Грибний перевал
|
||||
|
||||
zone.groundZero.description = Оптимальне місце для повторних ігор. Низька ворожа загроза. Мало ресурсів. \nЗбирайте якомога більше свинцю та міді. \nЙдіть далі.
|
||||
zone.frozenForest.description = Навіть тут, ближче до гір, спори поширилися. Холодна температура не може їх утримувати тут завжди.\nЗважтесь створити енергію. Побудуйте генератори внутрішнього згорання. Навчіться користуватися регенераторами.
|
||||
zone.desertWastes.description = Ці відходи є величезними, непередбачуваними і перетинаються з занедбаними секторальними структурами.\nВугілля присутнє в регіоні. Спаліть його для енергії або синтезуйте у графіт.\n\n[lightgray]Це місце посадки не можна гарантувати.
|
||||
@@ -490,10 +507,11 @@ zone.nuclearComplex.description = Колишній об’єкт для виро
|
||||
zone.fungalPass.description = Перехідна зона між високими і низькими горами, земля яких покрита спорами. Тут знаходиться невелика розвідувальна база ворога.\nЗнижте її.\nВикористовуйте одиниці Кинджал і Камікадзе.
|
||||
zone.impact0078.description = <вставити опис тут>
|
||||
zone.crags.description = <вставити опис тут>
|
||||
|
||||
settings.language = Мова
|
||||
settings.data = Ігрові дані
|
||||
settings.reset = Скинути за замовчуванням
|
||||
settings.rebind = Зміна
|
||||
settings.rebind = Змінити
|
||||
settings.resetKey = Скинути
|
||||
settings.controls = Керування
|
||||
settings.game = Гра
|
||||
@@ -515,7 +533,7 @@ blocks.output = Вихід
|
||||
blocks.booster = Прискорювач
|
||||
block.unknown = [lightgray]???
|
||||
blocks.powercapacity = Місткість енергії
|
||||
blocks.powershot = Енергія/постріл
|
||||
blocks.powershot = Енергія за постріл
|
||||
blocks.damage = Шкода
|
||||
blocks.targetsair = Повітряні мішені
|
||||
blocks.targetsground = Наземні мішені
|
||||
@@ -527,7 +545,7 @@ blocks.liquidcapacity = Місткість рідини
|
||||
blocks.powerrange = Діапазон передачі енергії
|
||||
blocks.powerconnections = Максимальна кількість з’єднань
|
||||
blocks.poweruse = Енергії використовує
|
||||
blocks.powerdamage = Енергія/урон
|
||||
blocks.powerdamage = Енергія/шкода
|
||||
blocks.itemcapacity = Місткість предметів
|
||||
blocks.basepowergeneration = Базова генерація енергії
|
||||
blocks.productiontime = Час виробництва
|
||||
@@ -545,6 +563,7 @@ blocks.inaccuracy = Розкид
|
||||
blocks.shots = Постріли
|
||||
blocks.reload = Постріли/секунду
|
||||
blocks.ammo = Боєприпаси
|
||||
|
||||
bar.drilltierreq = Потребується кращий бур
|
||||
bar.drillspeed = Швидкість буріння: {0} за с.
|
||||
bar.pumpspeed = Швидкість викачування: {0} за с.
|
||||
@@ -562,6 +581,7 @@ 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]запальний
|
||||
@@ -573,12 +593,11 @@ bullet.freezing = [stat]заморожування
|
||||
bullet.tarred = [stat]дьогтьовий
|
||||
bullet.multiplier = [stat]{0}[lightgray]x патронів
|
||||
bullet.reload = [stat]{0}[lightgray]x швидкість перезаряджання
|
||||
|
||||
unit.blocks = блоки
|
||||
unit.powersecond = одиниць енергії за секунду
|
||||
unit.liquidsecond = одиниць рідини за секунду
|
||||
unit.itemssecond = предметів за секунду
|
||||
unit.thousands = тис
|
||||
unit.millions = млн
|
||||
unit.liquidunits = одиниць рідини
|
||||
unit.powerunits = одиниць енергії
|
||||
unit.degrees = град.
|
||||
@@ -587,6 +606,8 @@ unit.persecond = за секунду
|
||||
unit.timesspeed = x швидкість
|
||||
unit.percent = %
|
||||
unit.items = предм.
|
||||
unit.thousands = тис
|
||||
unit.millions = млн
|
||||
category.general = Загальне
|
||||
category.power = Енергія
|
||||
category.liquids = Рідини
|
||||
@@ -622,6 +643,7 @@ setting.screenshake.name = Тряска екрану
|
||||
setting.effects.name = Ефекти
|
||||
setting.destroyedblocks.name = Показувати зруйновані блоки
|
||||
setting.conveyorpathfinding.name = Пошук шляху для встановлення конвейерів
|
||||
setting.coreselect.name = Дозволити схематичні ядра
|
||||
setting.sensitivity.name = Чутливість контролера
|
||||
setting.saveinterval.name = Інтервал збереження
|
||||
setting.seconds = {0} с
|
||||
@@ -723,6 +745,7 @@ mode.pvp.description = боріться проти інших гравців.\n[
|
||||
mode.attack.name = Атака
|
||||
mode.attack.description = Зруйнуйте ворожу базу.\n[gray]Потрібно червоне ядро на мапі для гри.
|
||||
mode.custom = Користувацькі правила
|
||||
|
||||
rules.infiniteresources = Нескінченні ресурси
|
||||
rules.reactorexplosions = Вибухи реактора
|
||||
rules.wavetimer = Таймер хвиль
|
||||
@@ -732,6 +755,7 @@ rules.enemyCheat = Нескінченні ресурси для ШІ
|
||||
rules.unitdrops = Ресурс бойових одиниць
|
||||
rules.unitbuildspeedmultiplier = Множник швидкості виробництва бойових одиниць
|
||||
rules.unithealthmultiplier = Множник здоров’я бойових одиниць
|
||||
rules.blockhealthmultiplier = Множник здоров’я блоків
|
||||
rules.playerhealthmultiplier = Множник здоров’я гравця
|
||||
rules.playerdamagemultiplier = Множник шкоди гравця
|
||||
rules.unitdamagemultiplier = Множник шкоди бойових одиниць
|
||||
@@ -753,6 +777,7 @@ rules.title.unit = Бойов. од.
|
||||
rules.title.experimental = Есперементальне!
|
||||
rules.lighting = Світлотінь
|
||||
rules.ambientlight = Навколишнє світло
|
||||
|
||||
content.item.name = Предмети
|
||||
content.liquid.name = Рідини
|
||||
content.unit.name = Бойові одиниці
|
||||
@@ -815,6 +840,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 = Сіль
|
||||
@@ -849,7 +875,7 @@ block.core-nucleus.name = Ядро «Атом»
|
||||
block.deepwater.name = Глибоководдя
|
||||
block.water.name = Вода
|
||||
block.tainted-water.name = Забруднена вода
|
||||
block.darksand-tainted-water.name = Темний пісок з забрудненою водою
|
||||
block.darksand-tainted-water.name = Темний пісок із забрудненою водою
|
||||
block.tar.name = Дьоготь
|
||||
block.stone.name = Камінь
|
||||
block.sand.name = Пісок
|
||||
@@ -952,6 +978,7 @@ block.mechanical-pump.name = Механічна помпа
|
||||
block.item-source.name = Нескінченне джерело предметів
|
||||
block.item-void.name = Предметний вакуум
|
||||
block.liquid-source.name = Нескінченне джерело рідин
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = Енергетичний вакуум
|
||||
block.power-source.name = Нескінченне джерело енергії
|
||||
block.unloader.name = Розвантажувач
|
||||
@@ -1033,30 +1060,31 @@ 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 = Ви розпочали[scarlet] навчання по Mindustry.[]\nРозпочніть з [accent]видобутку міді[]. Використовуйте [[WASD] для руху.\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][[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.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.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] Розмістить у лінію, утримуючи палець кілька секунд[] і тягніть у напрямку, який Ви вибрали.\nВикористовуйте колесо прокрутки, щоб обертати блоки перед їх розміщенням\n[accent]{0}/{1} конвеєрів, які розміщені в лінію\n[accent]0/1 предмет доставлено
|
||||
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 = Оборонні споруди повинні бути побудовані для відбиття[lightgray] ворогів[].\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 = Блоки часто повинні бути знищені.\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.withdraw = У деяких ситуаціях потрібно брати предмети безпосередньо з блоків.\nЩоб зробити це, [accent]натисність на блок[] з предметами, і потім [accent]натисніть на предмет[] в інвентарі.\nМожна вилучити кілька предметів [accent]натискаючи та утримуючи[].\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]Натисніть кнопку запуску.
|
||||
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.graphite.description = Мінералізований вуглець, що використовується для боєприпасів та як компонент.
|
||||
item.sand.description = Поширений матеріал, який широко використовується при виплавці, як при сплавленні, так і в якості відходів.
|
||||
item.coal.description = Окам’янілі рослинні речовини, що утворюються задовго до посіву. Широко використовується для виробництва пального та ресурсів.
|
||||
item.titanium.description = Рідкісний надлегкий метал, який широко використовується для транспортування рідини, бурів і літаків.
|
||||
@@ -1074,11 +1102,11 @@ liquid.slag.description = Різні види розплавленого мет
|
||||
liquid.oil.description = Рідина, яка використовується у виробництві сучасних матеріалів. Може бути перетворена в вугілля в якості палива або використана як куля.
|
||||
liquid.cryofluid.description = Інертна, не роз’їдаюча рідина, створена з води та титану. Володіє надзвичайно високою пропускною спроможністю. Широко використовується в якості охолоджуючої рідини.
|
||||
mech.alpha-mech.description = Стандартний керований мех. Заснований на бойовій одиниці «Кинджал», з оновленими бронею та можливостями будування. Наносить більше шкоди, ніж «Дротик».
|
||||
mech.delta-mech.description = Швидкий, легкоброньований мех, зроблений для тактики «атакуй і біжи». Наносить мало шкоди будівлям, але може дуже швидко вбити великі групи підрозділів противника своєю дуговою блискавкою.
|
||||
mech.delta-mech.description = Швидкий, легкоброньований мех, зроблений для тактики «атакуй і втікай». Наносить мало шкоди будівлям, але може дуже швидко вбити великі групи підрозділів противника своєю дуговою блискавкою.
|
||||
mech.tau-mech.description = Мех підтримки. Ремонтує союзні блоки, стріляючи по них. Може зцілювати союзників у радіусі його ремонтної здатності.
|
||||
mech.omega-mech.description = Об’ємний і добре броньований мех, зроблений для фронтових штурмів. Його броня може перекрити до 90% пошкоджень, що надходять.
|
||||
mech.dart-ship.description = Стандартний корабель управління. Швидко видобуває ресурси. Достатньо швидкий і легкий, але має мало наступальних можливостей.
|
||||
mech.javelin-ship.description = Корабель для стратегії атакуй та біжи». Хоча спочатку він повільний, потім вже може розганятися до великих швидкостей і літати над ворожими форпостами, завдаючи великої кількості шкоди своїми блискавками та ракетами.
|
||||
mech.javelin-ship.description = Корабель, який використовується для стратегії «атакуй та втікай». Хоча спочатку він повільний, потім вже може розганятися до великих швидкостей і літати над ворожими форпостами, завдаючи великої кількості шкоди своїми блискавками та ракетами.
|
||||
mech.trident-ship.description = Важкий бомбардувальник, побудований для будування та знищення ворожих укріплень. Дуже добре броньований.
|
||||
mech.glaive-ship.description = Великий, добре броньований бойовий корабель. Оснащений запальним ретранслятором. Високо маневрений.
|
||||
unit.draug.description = Примітивний дрон, який добуває ресурси. Дешевий для виробництва. Автоматично видобуває мідь і свинець поблизу. Доставляє видобуті ресурси до найближчого ядра.
|
||||
@@ -1089,7 +1117,7 @@ unit.crawler.description = Наземна одиниця, що складаєт
|
||||
unit.titan.description = Вдосконалений броньований наземний блок. Нападає як на наземні, так і повітряні цілі. Оснащений двома мініатюрними вогнеметами класу Випалювач.
|
||||
unit.fortress.description = Артилерійний мех. Оснащений двома модифікованими гарматами типу «Град» для дальнього нападу на ворожі структури та підрозділи.
|
||||
unit.eruptor.description = Важкий мех, призначеней для знесення конструкцій. Вистрілює потік шлаків у ворожі укріплення, розплавляючи їх і підпалюючи летючі речовини.
|
||||
unit.wraith.description = Швидкий перехоплювач, який використовується для тактики «атакуй і біжи». Пріоритет — енергетичні генератори.
|
||||
unit.wraith.description = Швидкий перехоплювач, який використовується для тактики «атакуй і втікай». Пріоритет — генератори енергії.
|
||||
unit.ghoul.description = Важкий килимовий бомбардувальник. Пробиває ворожі структури, орієнтуючись на віжливу інфраструктуру.
|
||||
unit.revenant.description = Важкий ракетний масив.
|
||||
block.message.description = Зберігає повідомлення. Використовується для комунікаціх між союзниками.
|
||||
@@ -1103,19 +1131,20 @@ 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.spore-press.description = Стискає спорові стручки під сильним тиском для синтезу нафти.
|
||||
block.pulverizer.description = Подрібнює брухт дрібного піску.
|
||||
block.coal-centrifuge.description = Нафта перетворюється у шматки вугілля.
|
||||
block.incinerator.description = Випаровує будь-який зайвий предмет або рідину, які він отримує.
|
||||
block.power-void.description = Знищує будь-яку енергію, до якої він під’єднаний. Тільки пісочниця
|
||||
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.power-source.description = Нескінченно виводить енергію.
|
||||
block.item-source.description = Нескінченно виводить предмети.
|
||||
block.item-void.description = Знищує будь-які предмети.
|
||||
block.liquid-source.description = Нескінченно виводить рідини.
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
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 = Особливий тип стіни, який поглинає електричні дуги і блокує автоматичні з'єднання енергетичних вузлів.
|
||||
@@ -1149,7 +1178,7 @@ block.rotary-pump.description = Удосконалений насос. Насо
|
||||
block.thermal-pump.description = Найкращий насос.
|
||||
block.conduit.description = Основний блок транспортування рідини. Пересуває рідини вперед. Застосовується спільно з насосами та іншими трубопроводами.
|
||||
block.pulse-conduit.description = Вдосконалений блок транспортування рідини. Транспортує рідини швидше і зберігає більше, ніж стандартні трубопроводи.
|
||||
block.plated-conduit.description =Переміщує рідини з тією ж швидкістю, як і імпульсні трубопроводи, але має більше міцності. Не приймає рідин з боків окрім інших трубопроводів.\nПротікає менше.
|
||||
block.plated-conduit.description = Переміщує рідини з тією ж швидкістю, як і імпульсні трубопроводи, але має більше міцності. Не приймає рідин з боків окрім інших трубопроводів.\nПротікає менше.
|
||||
block.liquid-router.description = Приймає рідини з одного напрямку та виводить їх до трьох інших напрямків порівну. Також можна зберігати певну кількість рідини. Корисно для розщеплення рідин від одного джерела до кількох мішеней.
|
||||
block.liquid-tank.description = Зберігає велику кількість рідини. Використовуйте для створення буферів у ситуаціях з непостійним попитом на матеріали або як гарантію охолодження життєво важливих блоків.
|
||||
block.liquid-junction.description = Діє як міст для двох каналів перетину. Корисно в ситуаціях, коли два різні трубопроводи перевозять різні рідини в різні місця.
|
||||
|
||||
@@ -12,6 +12,7 @@ link.itch.io.description = itch.io 上的 PC 版下载
|
||||
link.google-play.description = Google Play 页面
|
||||
link.f-droid.description = F-Droid 页面
|
||||
link.wiki.description = Mindustry 官方 Wiki
|
||||
link.feathub.description = Suggest new features
|
||||
linkfail = 打开链接失败!\n网址已复制到您的剪贴板。
|
||||
screenshot = 屏幕截图已保存到 {0}
|
||||
screenshot.invalid = 地图太大,可能没有足够的内存用于截图。
|
||||
@@ -26,6 +27,14 @@ load.image = 图片加载中
|
||||
load.content = 内容加载中
|
||||
load.system = 系统加载中
|
||||
load.mod = 模组加载中
|
||||
load.scripts = Scripts
|
||||
|
||||
be.update = A new Bleeding Edge build is available:
|
||||
be.update.confirm = Download it and restart now?
|
||||
be.updating = Updating...
|
||||
be.ignore = Ignore
|
||||
be.noupdates = No updates found.
|
||||
be.check = Check for updates
|
||||
|
||||
schematic = 蓝图
|
||||
schematic.add = 保存蓝图…
|
||||
@@ -101,17 +110,22 @@ mod.disable = 禁用
|
||||
mod.delete.error = 无法删除模组。可能文件被占用。
|
||||
mod.requiresversion = [scarlet]所需的游戏版本:[accent]{0}
|
||||
mod.missingdependencies = [scarlet]缺少依赖条件:{0}
|
||||
mod.erroredcontent = [scarlet]Content Errors
|
||||
mod.errors = Errors have occurred loading content.
|
||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||
mod.nowdisabled = [scarlet]“{0}”模组缺少依赖条件:[accent] {1}\n[lightgray]需要先下载上述模组。\n此模组现在将自动禁用。
|
||||
mod.enable = 启用
|
||||
mod.requiresrestart = 需要重启使模组生效。
|
||||
mod.reloadrequired = [scarlet]需要重启
|
||||
mod.import = 导入模组
|
||||
mod.import.github = 导入 GitHub 模组
|
||||
mod.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that mod.
|
||||
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若要将任何模组转换为文件夹,只需将其文件解压缩到文件夹中并删除旧压缩包,然后重新启动游戏或重新加载模组。
|
||||
mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly.
|
||||
|
||||
about.button = 关于
|
||||
name = 名字:
|
||||
@@ -141,6 +155,7 @@ server.kicked.nameEmpty = 无效的名字!
|
||||
server.kicked.idInUse = 你已在这个服务器上!不允许用两个账号连接。
|
||||
server.kicked.customClient = 这个服务器不支持自定义版本。请下载官方版本。
|
||||
server.kicked.gameover = 游戏结束!
|
||||
server.kicked.serverRestarting = The server is restarting.
|
||||
server.versions = 客户端版本:[accent] {0}[]\n服务器版本:[accent] {1}[]
|
||||
host.info = [accent]创建局域网游戏[]按钮会在[scarlet] 6567 []端口运行一个服务器。[]\n任何在同一个[lightgray] Wi-Fi 或本地网络[]下的人应该都可以在服务器列表中看到你的服务器。\n\n如果你想让别人在任何地方都能通过 IP 地址连接,你需要设定[accent]端口转发[]。\n\n[lightgray]注意:如果某人无法连接到你的局域网游戏,请确保你在防火墙设置里允许了 Mindustry 访问本地网络。
|
||||
join.info = 您可以输入[accent]服务器的 IP 地址[]来连接,或寻找[accent]本地网络[]中的服务器来连接。\n支持局域网或广域网的多人游戏。\n\n[lightgray]注意:没有全球服务器列表;如果你想通过 IP 地址连接某个服务器,你需要向房主询问 IP 地址。
|
||||
@@ -497,6 +512,7 @@ settings.language = 语言
|
||||
settings.data = 游戏数据
|
||||
settings.reset = 恢复默认设置
|
||||
settings.rebind = 重新绑定
|
||||
settings.resetKey = Reset
|
||||
settings.controls = 控制
|
||||
settings.game = 游戏
|
||||
settings.sound = 声音
|
||||
@@ -590,6 +606,8 @@ unit.persecond = /秒
|
||||
unit.timesspeed = 倍 速度
|
||||
unit.percent = %
|
||||
unit.items = 物品
|
||||
unit.thousands = k
|
||||
unit.millions = mil
|
||||
category.general = 普通
|
||||
category.power = 能量
|
||||
category.liquids = 液体
|
||||
@@ -625,6 +643,7 @@ setting.screenshake.name = 屏幕抖动
|
||||
setting.effects.name = 显示效果
|
||||
setting.destroyedblocks.name = 显示摧毁的块
|
||||
setting.conveyorpathfinding.name = 传送带放置寻路
|
||||
setting.coreselect.name = Allow Schematic Cores
|
||||
setting.sensitivity.name = 控制器灵敏度
|
||||
setting.saveinterval.name = 自动保存间隔
|
||||
setting.seconds = {0} 秒
|
||||
@@ -736,6 +755,7 @@ rules.enemyCheat = 敌人(红队)无限资源
|
||||
rules.unitdrops = 敌人出生点
|
||||
rules.unitbuildspeedmultiplier = 单位生产速度倍数
|
||||
rules.unithealthmultiplier = 单位生命倍数
|
||||
rules.blockhealthmultiplier = Block Health Multiplier
|
||||
rules.playerhealthmultiplier = 玩家生命倍数
|
||||
rules.playerdamagemultiplier = 玩家伤害倍数
|
||||
rules.unitdamagemultiplier = 单位伤害倍数
|
||||
@@ -804,6 +824,7 @@ mech.trident-ship.name = Trident
|
||||
mech.trident-ship.weapon = 炸弹
|
||||
mech.glaive-ship.name = Glaive
|
||||
mech.glaive-ship.weapon = 火焰机枪
|
||||
item.corestorable = [lightgray]Storable in Core: {0}
|
||||
item.explosiveness = [lightgray]爆炸性:{0}%
|
||||
item.flammability = [lightgray]易燃性:{0}%
|
||||
item.radioactivity = [lightgray]放射性:{0}%
|
||||
@@ -957,6 +978,7 @@ block.mechanical-pump.name = 机械泵
|
||||
block.item-source.name = 无限物品
|
||||
block.item-void.name = 物品黑洞
|
||||
block.liquid-source.name = 无限液体
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = 能源黑洞
|
||||
block.power-source.name = 无限能源
|
||||
block.unloader.name = 装卸器
|
||||
@@ -1120,6 +1142,7 @@ block.power-source.description = 无限输出能量。仅限沙盒。
|
||||
block.item-source.description = 无限输出物品。仅限沙盒。
|
||||
block.item-void.description = 销毁输入的所有物品。仅限沙盒。
|
||||
block.liquid-source.description = 无限输出液体。仅限沙盒。
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = 廉价的防御方块。\n适合在前几个波次中保护核心和炮塔。
|
||||
block.copper-wall-large.description = 廉价的防御方块。\n适合在前几个波次中保护核心和炮塔。\n占多个方格。
|
||||
block.titanium-wall.description = 中等强度的防御方块。\n提供中等强度的防御以抵御敌人。
|
||||
|
||||
@@ -12,6 +12,7 @@ link.itch.io.description = itch.io 電腦版下載網頁
|
||||
link.google-play.description = Google Play 商店頁面
|
||||
link.f-droid.description = F-Droid 目錄頁面
|
||||
link.wiki.description = 官方 Mindustry 維基
|
||||
link.feathub.description = 建議新功能
|
||||
linkfail = 無法打開連結!\n我們已將該網址複製到您的剪貼簿。
|
||||
screenshot = 截圖保存到{0}
|
||||
screenshot.invalid = 地圖太大了,可能沒有足夠的內存用於截圖。
|
||||
@@ -28,6 +29,13 @@ load.system = 系統載入中
|
||||
load.mod = 模組載入中
|
||||
load.scripts = 指令檔載入中
|
||||
|
||||
be.update = 有新的尖端版本可用:
|
||||
be.update.confirm = 下載並重啟遊戲?
|
||||
be.updating = 更新中
|
||||
be.ignore = 忽略
|
||||
be.noupdates = 沒有新的更新。
|
||||
be.check = 檢查是否有新的更新
|
||||
|
||||
schematic = 藍圖
|
||||
schematic.add = 儲存藍圖...
|
||||
schematics = 藍圖
|
||||
@@ -88,6 +96,7 @@ uploadingpreviewfile = 上傳預覽文件
|
||||
committingchanges = 提交變更
|
||||
done = 完成
|
||||
feature.unsupported = 您的設備不支持此功能。
|
||||
|
||||
mods.alphainfo = 請記住,模組仍處於Alpha狀態,[scarlet]可能會有很多BUG[].\n向Mindustry GitHub或Discord報告發現的任何問題。
|
||||
mods.alpha = [accent](Alpha)
|
||||
mods = 模組
|
||||
@@ -97,12 +106,15 @@ mods.report = 回報錯誤
|
||||
mods.openfolder = 開啟模組資料夾
|
||||
mod.enabled = [lightgray]已啟用
|
||||
mod.disabled = [scarlet]已禁用
|
||||
mod.enable = 啟用
|
||||
mod.disable = 禁用
|
||||
mod.delete.error = 無法刪除模組,檔案可能在使用中。
|
||||
mod.requiresversion = [scarlet]遊戲版本要求:[accent]{0}
|
||||
mod.missingdependencies = [scarlet]缺少依賴項目: {0}
|
||||
mod.requiresversion = [scarlet]最低遊戲版本要求:[accent]{0}
|
||||
mod.missingdependencies = [scarlet]缺少必須項目: {0}
|
||||
mod.erroredcontent = [scarlet]內容錯誤
|
||||
mod.errors = 載入內容時發生錯誤
|
||||
mod.noerrorplay = [scarlet]你使用了有錯誤的模組。[] 遊戲前請先禁用相關模組或修正錯誤。
|
||||
mod.nowdisabled = [scarlet]「{0}」模組缺少必須項目:[accent] {1}\n[lightgray]必須先下載這些模組。\n此模組將被自動禁用。
|
||||
mod.enable = 啟用
|
||||
mod.requiresrestart = 遊戲將立即關閉以套用模組變更。
|
||||
mod.reloadrequired = [scarlet]需要重新載入
|
||||
mod.import = 匯入模組
|
||||
@@ -113,6 +125,7 @@ mod.author = [lightgray]作者:[] {0}
|
||||
mod.missing = 此存檔含有您最近更新或不再安裝的模組。可能會發生存檔損毀。您確定要載入嗎?\n[lightgray]模組:\n{0}
|
||||
mod.preview.missing = 在工作坊發佈這個模組前,您必須添加預覽圖。\n在該模組的資料夾中放置一個名為[accent] preview.png[]的圖片並重試。
|
||||
mod.folder.missing = 只有資料夾形式的模組可以在工作坊上發布。\n要將模組轉換為資料夾,只需將其文件解壓縮到資料夾並刪除舊的.zip檔,然後重新啟動遊戲或重新載入模組。
|
||||
mod.scripts.unsupported = 你的裝置不支援模組指令檔。部分模組將無法正常運作。
|
||||
|
||||
about.button = 關於
|
||||
name = 名稱:
|
||||
@@ -133,15 +146,16 @@ server.kicked.serverClose = 伺服器已關閉。
|
||||
server.kicked.vote = 您已被投票踢出伺服器,再見。
|
||||
server.kicked.clientOutdated = 客戶端版本過舊!請更新遊戲!
|
||||
server.kicked.serverOutdated = 伺服器版本過舊!請聯絡伺服主更新伺服器!
|
||||
server.kicked.banned = 您已經從這個伺服器被封禁。
|
||||
server.kicked.banned = 您已經在這個伺服器中被封禁。
|
||||
server.kicked.typeMismatch = 該伺服器與您的版本不相容。
|
||||
server.kicked.playerLimit = 該伺服器已滿。請等待一個空位置。
|
||||
server.kicked.recentKick = 您最近曾被踢出伺服器。\n請稍後再進行連線。
|
||||
server.kicked.nameInUse = 伺服器中已經\n有人有相同的名稱了。
|
||||
server.kicked.nameEmpty = 你的名稱必須至少包含一個字母或數字。
|
||||
server.kicked.idInUse = 你已經在伺服器中!不允許用兩個帳號。
|
||||
server.kicked.idInUse = 你已經在伺服器中!不允許使用兩個帳號。
|
||||
server.kicked.customClient = 這個伺服器不支持自訂客戶端,請下載官方版本。
|
||||
server.kicked.gameover = 遊戲結束!
|
||||
server.kicked.serverRestarting = 伺服器正在重新啟動。
|
||||
server.versions = 您的遊戲版本:[accent] {0}[]\n伺服器遊戲版本:[accent] {1}[]
|
||||
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位址。
|
||||
@@ -178,7 +192,7 @@ confirmban = 您確定要封禁該玩家嗎?
|
||||
confirmkick = 您確定要踢出該玩家嗎?
|
||||
confirmvotekick = 您確定要投票剔除該名玩家嗎?
|
||||
confirmunban = 您確定要解除封禁該玩家嗎?
|
||||
confirmadmin = 您確定要提升這個玩家為管理員嗎?
|
||||
confirmadmin = 您確定要晉升這個玩家為管理員嗎?
|
||||
confirmunadmin = 您確定要解除這個玩家的管理員嗎?
|
||||
joingame.title = 加入遊戲
|
||||
joingame.ip = IP位址:
|
||||
@@ -253,7 +267,7 @@ pausebuilding = [accent][[{0}][]暫停建造
|
||||
resumebuilding = [scarlet][[{0}][]恢復建造
|
||||
wave = [accent]第{0}波
|
||||
wave.waiting = [lightgray]將於{0}秒後抵達
|
||||
wave.waveInProgress = 第[lightgray]波正在進行中
|
||||
wave.waveInProgress = [lightgray]波次進行中
|
||||
waiting = [lightgray]等待中...
|
||||
waiting.players = 等待玩家中...
|
||||
wave.enemies = [lightgray]剩下{0}個敵人
|
||||
@@ -265,9 +279,9 @@ custom = 自訂
|
||||
builtin = 内建
|
||||
map.delete.confirm = 確認要刪除地圖嗎?此操作無法撤回!
|
||||
map.random = [accent]隨機地圖
|
||||
map.nospawn = 這個地圖沒有核心!請在編輯器中添加一個[ROYAL]藍色[]的核心。
|
||||
map.nospawn.pvp = 這個地圖沒有核心讓敵人重生!請在編輯器中添加一個[SCARLET]紅色[]的核心。
|
||||
map.nospawn.attack = 這個地圖沒有敵人核心讓可以攻擊!請在編輯器中添加一個[SCARLET]紅色[]的核心。
|
||||
map.nospawn = 這個地圖沒有核心!請在編輯器中添加一個[accent]橘色[]的核心。
|
||||
map.nospawn.pvp = 這個地圖沒有敵對核心讓玩家重生!請在編輯器中添加一個[SCARLET]不是橘色[]的核心。
|
||||
map.nospawn.attack = 這個地圖沒有敵人核心可以攻擊!請在編輯器中添加一個[SCARLET]紅色[]的核心。
|
||||
map.invalid = 地圖載入錯誤:地圖可能已經損壞。
|
||||
workshop.update = 更新項目
|
||||
workshop.error = 提取工作坊詳細信息時出錯: {0}
|
||||
@@ -281,6 +295,7 @@ publishing = [accent]發佈中...
|
||||
publish.confirm = 您確定要發布嗎?\n\n[lightgray]首先確定您同意Workshop EULA,否則您的項目將不會顯示!
|
||||
publish.error = 發佈項目時出錯: {0}
|
||||
steam.error = Steam 服務初始化失敗.\n錯誤: {0}
|
||||
|
||||
editor.brush = 粉刷
|
||||
editor.openin = 在編輯器中開啟
|
||||
editor.oregen = 礦石生成
|
||||
@@ -298,7 +313,7 @@ editor.newmap = 新地圖
|
||||
workshop = 工作坊
|
||||
waves.title = 波次
|
||||
waves.remove = 移除
|
||||
waves.never = 〈從來沒有〉
|
||||
waves.never = 〈永遠〉
|
||||
waves.every = 每
|
||||
waves.waves = 波次
|
||||
waves.perspawn = 每次生成
|
||||
@@ -370,7 +385,7 @@ toolmode.eraseores = 清除礦物
|
||||
toolmode.eraseores.description = 僅清除礦物。
|
||||
toolmode.fillteams = 填充團隊
|
||||
toolmode.fillteams.description = 填充團隊而不是方塊。
|
||||
toolmode.drawteams = Draw Teams
|
||||
toolmode.drawteams = 繪製團隊
|
||||
toolmode.drawteams.description = 繪製團隊而不是方塊。
|
||||
|
||||
filters.empty = [lightgray]沒有過濾器!使用下面的按鈕添加一個。
|
||||
@@ -532,7 +547,7 @@ blocks.powerconnections = 最大連接數
|
||||
blocks.poweruse = 能量使用
|
||||
blocks.powerdamage = 能量/傷害
|
||||
blocks.itemcapacity = 物品容量
|
||||
blocks.basepowergeneration = 基本能量生產
|
||||
blocks.basepowergeneration = 基礎能量生產
|
||||
blocks.productiontime = 生產時間
|
||||
blocks.repairtime = 方塊完全修復時間
|
||||
blocks.speedincrease = 速度提升
|
||||
@@ -600,12 +615,12 @@ category.items = 物品
|
||||
category.crafting = 需求
|
||||
category.shooting = 射擊
|
||||
category.optional = 可選的強化
|
||||
|
||||
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 = 消除鋸齒[lightgray](需要重啟遊戲)[]
|
||||
@@ -628,14 +643,18 @@ setting.screenshake.name = 畫面抖動
|
||||
setting.effects.name = 顯示特效
|
||||
setting.destroyedblocks.name = 顯示被破壞的方塊
|
||||
setting.conveyorpathfinding.name = 自動輸送帶放置規劃
|
||||
setting.coreselect.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與Ping
|
||||
setting.blockselectkeys.name = 顯示方塊選擇快捷鍵
|
||||
setting.vsync.name = 垂直同步
|
||||
setting.pixelate.name = 像素化[lightgray](可能降低性能)
|
||||
setting.pixelate.name = 像素化[lightgray](會關閉動畫)
|
||||
setting.minimap.name = 顯示小地圖
|
||||
setting.position.name = 顯示玩家位置
|
||||
setting.musicvol.name = 音樂音量
|
||||
@@ -662,17 +681,36 @@ category.multiplayer.name = 多人
|
||||
command.attack = 攻擊
|
||||
command.rally = 集結
|
||||
command.retreat = 撤退
|
||||
keybind.clear_building.name = 清除建築物
|
||||
placement.blockselectkeys = \n[lightgray]按鍵:[{0},
|
||||
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.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 = 類別/方塊選取 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 = 對角線放置
|
||||
@@ -685,7 +723,6 @@ keybind.menu.name = 主選單
|
||||
keybind.pause.name = 暫停遊戲
|
||||
keybind.pause_building.name = 暫停/恢復建造
|
||||
keybind.minimap.name = 小地圖
|
||||
keybind.dash.name = 衝刺
|
||||
keybind.chat.name = 聊天
|
||||
keybind.player_list.name = 玩家列表
|
||||
keybind.console.name = 終端機
|
||||
@@ -699,14 +736,14 @@ keybind.drop_unit.name = 放下單位
|
||||
keybind.zoom_minimap.name = 縮放小地圖
|
||||
mode.help.title = 模式說明
|
||||
mode.survival.name = 生存
|
||||
mode.survival.description = 一般模式。有限的資源與自動來襲的波次。
|
||||
mode.survival.description = 一般模式。有限的資源與自動來襲的波次。\n[gray]地圖中需要敵人生成點。
|
||||
mode.sandbox.name = 沙盒
|
||||
mode.sandbox.description = 無限的資源,與不倒數計時的波次。
|
||||
mode.sandbox.description = 無限的資源與不倒數計時的波次。
|
||||
mode.editor.name = 編輯
|
||||
mode.pvp.name = 對戰
|
||||
mode.pvp.description = 和其他玩家競爭、戰鬥。
|
||||
mode.pvp.description = 和其他玩家競爭、戰鬥。\n[gray]地圖中需要至少兩個不同顏色的核心。
|
||||
mode.attack.name = 進攻
|
||||
mode.attack.description = 沒有波次,目標是摧毀敵人的基地。
|
||||
mode.attack.description = 目標是摧毀敵人的基地。\n[gray]地圖中需要有一個紅色核心。
|
||||
mode.custom = 自訂規則
|
||||
|
||||
rules.infiniteresources = 無限資源
|
||||
@@ -717,11 +754,12 @@ rules.attack = 攻擊模式
|
||||
rules.enemyCheat = 電腦無限資源
|
||||
rules.unitdrops = 單位掉落物
|
||||
rules.unitbuildspeedmultiplier = 單位建設速度倍數
|
||||
rules.unithealthmultiplier = 單位耐久度倍數
|
||||
rules.playerhealthmultiplier = 玩家耐久度倍數
|
||||
rules.unithealthmultiplier = 單位生命值倍數
|
||||
rules.blockhealthmultiplier = 建築物耐久度倍數
|
||||
rules.playerhealthmultiplier = 玩家生命值倍數
|
||||
rules.playerdamagemultiplier = 玩家傷害倍數
|
||||
rules.unitdamagemultiplier = 單位傷害倍數
|
||||
rules.enemycorebuildradius = 敵人核心無建設半徑︰[lightgray](格)
|
||||
rules.enemycorebuildradius = 敵人核心禁止建設半徑︰[lightgray](格)
|
||||
rules.respawntime = 重生時間︰[lightgray](秒)
|
||||
rules.wavespacing = 波次間距︰[lightgray](秒)
|
||||
rules.buildcostmultiplier = 建設成本倍數
|
||||
@@ -765,7 +803,6 @@ liquid.water.name = 水
|
||||
liquid.slag.name = 熔渣
|
||||
liquid.oil.name = 原油
|
||||
liquid.cryofluid.name = 冷凍液
|
||||
|
||||
mech.alpha-mech.name = 阿爾法
|
||||
mech.alpha-mech.weapon = 重型機關槍
|
||||
mech.alpha-mech.ability = 自修復
|
||||
@@ -788,21 +825,22 @@ 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}
|
||||
unit.health = [lightgray]耐久度:{0}
|
||||
item.explosiveness = [lightgray]爆炸性:{0}%
|
||||
item.flammability = [lightgray]易燃性:{0}%
|
||||
item.radioactivity = [lightgray]放射性:{0}%
|
||||
unit.health = [lightgray]生命值:{0}
|
||||
unit.speed = [lightgray]速度:{0}
|
||||
mech.weapon = [lightgray]武器:{0}
|
||||
mech.health = [lightgray]血量:{0}
|
||||
mech.itemcapacity = [lightgray]物品容量:{0}
|
||||
mech.minespeed = [lightgray]採礦速度:{0}
|
||||
mech.minespeed = [lightgray]採礦速度:{0}%
|
||||
mech.minepower = [lightgray]採礦能力:{0}
|
||||
mech.ability = [lightgray]能力:{0}
|
||||
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 = 鹽
|
||||
@@ -940,6 +978,7 @@ block.mechanical-pump.name = 機械泵
|
||||
block.item-source.name = 物品源
|
||||
block.item-void.name = 物品虛空
|
||||
block.liquid-source.name = 液體源
|
||||
block.liquid-void.name = Liquid Void
|
||||
block.power-void.name = 能量虛空
|
||||
block.power-source.name = 無限能量源
|
||||
block.unloader.name = 裝卸器
|
||||
@@ -1021,9 +1060,9 @@ unit.eradicator.name = 殲滅者
|
||||
unit.lich.name = 巫妖
|
||||
unit.reaper.name = 收掠者
|
||||
tutorial.next = [lightgray]<按下以繼續>
|
||||
tutorial.intro = 您已進入[scarlet] Mindustry 教學。[]\n使用[[WASD鍵]來移動.\n在滾動滾輪時[accent]按住 [[Ctrl][]來放大縮小畫面.\n從[accent]開採銅礦[]開始吧靠近它,然後在靠近核心的位置點擊銅礦。\n\n[accent]{0}/{1}銅礦
|
||||
tutorial.intro = 您已進入[scarlet] Mindustry 教學。[]\n使用[[WASD鍵]來移動.\n滾動滾輪來放大縮小畫面.\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在銅礦脈上放置一個鑽頭。\n不論在哪個選單,您也可以用快速按下按鍵[accent][[2][]然後[accent][[1][]來選擇鑽頭。\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製作一條從鑽頭開始到核心的輸送帶。
|
||||
@@ -1039,12 +1078,14 @@ tutorial.breaking.mobile = 方塊經常需要被拆除。\n[accent]選擇拆除
|
||||
tutorial.withdraw = 在某些情況下,直接從方塊中取出物品是必要的。\n[accent]點擊有物品的方塊[],然後[accent]點擊在方框中的物品[]以將其取出。\n可以通過[accent]點擊或長按[]來取出物品。\n\n[accent]從核心中取出一些銅。[]
|
||||
tutorial.deposit = 通過將物品從船上拖到目標方塊,將物品放入方塊中。\n\n[accent]將您的銅放到核心中。[]
|
||||
tutorial.waves = [lightgray]敵人[]來臨。\n\n保護核心抵抗兩波攻擊。\n建造更多的砲塔和鑽頭。開採更多的銅。
|
||||
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||
tutorial.launch = 一旦您達到特定的波數, 您就可以[accent] 發射核心[],放棄防禦並[accent]獲取核心中的所有資源。[]\n這些資源可以用於研究新科技。\n\n[accent]按下發射按鈕。
|
||||
|
||||
item.copper.description = 最基本的結構材料。在各種類型的方塊中廣泛使用。
|
||||
item.lead.description = 一種基本的起始材料。被廣泛用於電子設備和液體運輸方塊。
|
||||
item.metaglass.description = 一種超高強度的玻璃。廣泛用於液體分配和存儲。
|
||||
item.graphite.description = 礦化的碳,用於彈藥和電氣絕緣。
|
||||
item.sand.description = 一種常見的材料,廣泛用於冶煉,包括製作合金和助熔劑。
|
||||
item.graphite.description = 礦化的碳,用於彈藥和電氣元件。
|
||||
item.sand.description = 一種常見的材料,廣泛用於冶煉,包括製作合金和作為助熔劑。
|
||||
item.coal.description = 遠在「播種」事件前就形成的植物化石。一種常見並容易獲得的燃料。
|
||||
item.titanium.description = 一種罕見的超輕金屬,被廣泛運用於運輸液體、鑽頭和飛行載具。
|
||||
item.thorium.description = 一種高密度的放射性金屬,用作結構支撐和核燃料。
|
||||
@@ -1061,10 +1102,10 @@ liquid.slag.description = 各種不同類型的熔融金屬混合在一起的液
|
||||
liquid.oil.description = 用於進階材料製造的液體。可以轉化為煤炭作為燃料或噴灑向敵方單位後點燃作為武器。
|
||||
liquid.cryofluid.description = 一種安定,無腐蝕性的液體,用水及鈦混合成。具有很高的比熱。廣泛的用作冷卻劑。
|
||||
mech.alpha-mech.description = 標準的控制機甲。改良自匕首機甲,加強了裝甲及建造能力。
|
||||
mech.delta-mech.description = 一種快速、輕裝甲的機甲,用於打帶跑的攻擊。對結構造成的傷害很小,但可以用弧形閃電武器很快殺死大量敵方單位。
|
||||
mech.delta-mech.description = 一種快速、輕裝甲的機甲,用於打帶跑的攻擊。對結構體造成的傷害很小,但可以用弧形閃電武器很快殺死大量敵方單位。
|
||||
mech.tau-mech.description = 支援機甲。射擊友方方塊以修復它們。可以使用它的修復能力治療一定範圍內的友軍。
|
||||
mech.omega-mech.description = 一種笨重、重裝甲的機甲,用於前線突擊。它的裝甲能力可以阻擋高達90%的傷害。
|
||||
mech.dart-ship.description = 標準的控制飛船。快速、輕便,但攻擊能力低、採礦速度慢。
|
||||
mech.omega-mech.description = 一種笨重、重裝甲的機甲,用於前線突擊。
|
||||
mech.dart-ship.description = 標準的控制飛船。採礦速度快。相當快速、輕便,但攻擊能力低落。
|
||||
mech.javelin-ship.description = 一種打帶跑的突襲艇。雖然最初很慢,但它可以加速到很快的速度,並飛過敵人的前哨站,利用其閃電能力和導彈造成大量的傷害。
|
||||
mech.trident-ship.description = 一種重型轟炸機。用以摧毀敵方建築。有相當的裝甲。
|
||||
mech.glaive-ship.description = 一種大型、配有良好裝甲的砲艇。配備燃燒機關槍。高機動性。
|
||||
@@ -1101,6 +1142,7 @@ block.power-source.description = 無限輸出能量。僅限沙盒。
|
||||
block.item-source.description = 無限輸出物品。僅限沙盒。
|
||||
block.item-void.description = 不使用能量銷毀任何進入它的物品。僅限沙盒。
|
||||
block.liquid-source.description = 無限輸出液體。僅限沙盒。
|
||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
||||
block.copper-wall.description = 一種便宜的防禦方塊。\n用於前幾波防衛核心和砲塔。
|
||||
block.copper-wall-large.description = 一種便宜的防禦方塊。\n用於前幾波防禦核心和砲塔\n佔據多個方塊。
|
||||
block.titanium-wall.description = 一個中等強度的防禦方塊。\n提供對敵人的適度保護。
|
||||
@@ -1205,4 +1247,3 @@ block.omega-mech-pad.description = 改裝現在的船隻,換成龐大、具有
|
||||
block.javelin-ship-pad.description = 改裝現在的船隻,換成具有閃電武器、強大而快速的攔截機。\n站在上面雙擊機坪以使用它。
|
||||
block.trident-ship-pad.description = 改裝現在的船隻,換成具有相當不錯裝甲的重型轟炸機。\n站在上面雙擊機坪以使用它。
|
||||
block.glaive-ship-pad.description = 改裝現在的船隻,換成具有重裝甲的砲艇。\n站在上面雙擊機坪以使用它。
|
||||
|
||||
|
||||
@@ -83,3 +83,5 @@ amrsoll
|
||||
ねらひかだ
|
||||
Draco
|
||||
Quezler
|
||||
Alicila
|
||||
Daniel Dusek
|
||||
|
||||
@@ -16,4 +16,5 @@ const boolp = method => new Boolp(){get: method}
|
||||
const cons = method => new Cons(){get: method}
|
||||
const prov = method => new Prov(){get: method}
|
||||
const newEffect = (lifetime, renderer) => new Effects.Effect(lifetime, new Effects.EffectRenderer({render: renderer}))
|
||||
const Calls = Packages.io.anuke.mindustry.gen.Call
|
||||
Call = Packages.mindustry.gen.Call
|
||||
const Calls = Call //backwards compat
|
||||
@@ -18,61 +18,63 @@ const boolp = method => new Boolp(){get: method}
|
||||
const cons = method => new Cons(){get: method}
|
||||
const prov = method => new Prov(){get: method}
|
||||
const newEffect = (lifetime, renderer) => new Effects.Effect(lifetime, new Effects.EffectRenderer({render: renderer}))
|
||||
const Calls = Packages.io.anuke.mindustry.gen.Call
|
||||
importPackage(Packages.io.anuke.arc)
|
||||
importPackage(Packages.io.anuke.arc.collection)
|
||||
importPackage(Packages.io.anuke.arc.func)
|
||||
importPackage(Packages.io.anuke.arc.graphics)
|
||||
importPackage(Packages.io.anuke.arc.graphics.g2d)
|
||||
importPackage(Packages.io.anuke.arc.math)
|
||||
importPackage(Packages.io.anuke.arc.scene)
|
||||
importPackage(Packages.io.anuke.arc.scene.actions)
|
||||
importPackage(Packages.io.anuke.arc.scene.event)
|
||||
importPackage(Packages.io.anuke.arc.scene.style)
|
||||
importPackage(Packages.io.anuke.arc.scene.ui)
|
||||
importPackage(Packages.io.anuke.arc.scene.ui.layout)
|
||||
importPackage(Packages.io.anuke.arc.scene.utils)
|
||||
importPackage(Packages.io.anuke.arc.util)
|
||||
importPackage(Packages.io.anuke.mindustry)
|
||||
importPackage(Packages.io.anuke.mindustry.ai)
|
||||
importPackage(Packages.io.anuke.mindustry.content)
|
||||
importPackage(Packages.io.anuke.mindustry.core)
|
||||
importPackage(Packages.io.anuke.mindustry.ctype)
|
||||
importPackage(Packages.io.anuke.mindustry.editor)
|
||||
importPackage(Packages.io.anuke.mindustry.entities)
|
||||
importPackage(Packages.io.anuke.mindustry.entities.bullet)
|
||||
importPackage(Packages.io.anuke.mindustry.entities.effect)
|
||||
importPackage(Packages.io.anuke.mindustry.entities.traits)
|
||||
importPackage(Packages.io.anuke.mindustry.entities.type)
|
||||
importPackage(Packages.io.anuke.mindustry.entities.type.base)
|
||||
importPackage(Packages.io.anuke.mindustry.entities.units)
|
||||
importPackage(Packages.io.anuke.mindustry.game)
|
||||
importPackage(Packages.io.anuke.mindustry.gen)
|
||||
importPackage(Packages.io.anuke.mindustry.graphics)
|
||||
importPackage(Packages.io.anuke.mindustry.input)
|
||||
importPackage(Packages.io.anuke.mindustry.maps)
|
||||
importPackage(Packages.io.anuke.mindustry.maps.filters)
|
||||
importPackage(Packages.io.anuke.mindustry.maps.generators)
|
||||
importPackage(Packages.io.anuke.mindustry.maps.zonegen)
|
||||
importPackage(Packages.io.anuke.mindustry.type)
|
||||
importPackage(Packages.io.anuke.mindustry.ui)
|
||||
importPackage(Packages.io.anuke.mindustry.ui.dialogs)
|
||||
importPackage(Packages.io.anuke.mindustry.ui.fragments)
|
||||
importPackage(Packages.io.anuke.mindustry.ui.layout)
|
||||
importPackage(Packages.io.anuke.mindustry.world)
|
||||
importPackage(Packages.io.anuke.mindustry.world.blocks)
|
||||
importPackage(Packages.io.anuke.mindustry.world.blocks.defense)
|
||||
importPackage(Packages.io.anuke.mindustry.world.blocks.defense.turrets)
|
||||
importPackage(Packages.io.anuke.mindustry.world.blocks.distribution)
|
||||
importPackage(Packages.io.anuke.mindustry.world.blocks.liquid)
|
||||
importPackage(Packages.io.anuke.mindustry.world.blocks.logic)
|
||||
importPackage(Packages.io.anuke.mindustry.world.blocks.power)
|
||||
importPackage(Packages.io.anuke.mindustry.world.blocks.production)
|
||||
importPackage(Packages.io.anuke.mindustry.world.blocks.sandbox)
|
||||
importPackage(Packages.io.anuke.mindustry.world.blocks.storage)
|
||||
importPackage(Packages.io.anuke.mindustry.world.blocks.units)
|
||||
importPackage(Packages.io.anuke.mindustry.world.consumers)
|
||||
importPackage(Packages.io.anuke.mindustry.world.meta)
|
||||
importPackage(Packages.io.anuke.mindustry.world.meta.values)
|
||||
importPackage(Packages.io.anuke.mindustry.world.modules)
|
||||
importPackage(Packages.io.anuke.mindustry.world.producers)
|
||||
Call = Packages.mindustry.gen.Call
|
||||
const Calls = Call //backwards compat
|
||||
importPackage(Packages.arc)
|
||||
importPackage(Packages.arc.func)
|
||||
importPackage(Packages.arc.graphics)
|
||||
importPackage(Packages.arc.graphics.g2d)
|
||||
importPackage(Packages.arc.math)
|
||||
importPackage(Packages.arc.math.geom)
|
||||
importPackage(Packages.arc.scene)
|
||||
importPackage(Packages.arc.scene.actions)
|
||||
importPackage(Packages.arc.scene.event)
|
||||
importPackage(Packages.arc.scene.style)
|
||||
importPackage(Packages.arc.scene.ui)
|
||||
importPackage(Packages.arc.scene.ui.layout)
|
||||
importPackage(Packages.arc.scene.utils)
|
||||
importPackage(Packages.arc.struct)
|
||||
importPackage(Packages.arc.util)
|
||||
importPackage(Packages.mindustry)
|
||||
importPackage(Packages.mindustry.ai)
|
||||
importPackage(Packages.mindustry.content)
|
||||
importPackage(Packages.mindustry.core)
|
||||
importPackage(Packages.mindustry.ctype)
|
||||
importPackage(Packages.mindustry.editor)
|
||||
importPackage(Packages.mindustry.entities)
|
||||
importPackage(Packages.mindustry.entities.bullet)
|
||||
importPackage(Packages.mindustry.entities.effect)
|
||||
importPackage(Packages.mindustry.entities.traits)
|
||||
importPackage(Packages.mindustry.entities.type)
|
||||
importPackage(Packages.mindustry.entities.type.base)
|
||||
importPackage(Packages.mindustry.entities.units)
|
||||
importPackage(Packages.mindustry.game)
|
||||
importPackage(Packages.mindustry.gen)
|
||||
importPackage(Packages.mindustry.graphics)
|
||||
importPackage(Packages.mindustry.input)
|
||||
importPackage(Packages.mindustry.maps)
|
||||
importPackage(Packages.mindustry.maps.filters)
|
||||
importPackage(Packages.mindustry.maps.generators)
|
||||
importPackage(Packages.mindustry.maps.zonegen)
|
||||
importPackage(Packages.mindustry.type)
|
||||
importPackage(Packages.mindustry.ui)
|
||||
importPackage(Packages.mindustry.ui.dialogs)
|
||||
importPackage(Packages.mindustry.ui.fragments)
|
||||
importPackage(Packages.mindustry.ui.layout)
|
||||
importPackage(Packages.mindustry.world)
|
||||
importPackage(Packages.mindustry.world.blocks)
|
||||
importPackage(Packages.mindustry.world.blocks.defense)
|
||||
importPackage(Packages.mindustry.world.blocks.defense.turrets)
|
||||
importPackage(Packages.mindustry.world.blocks.distribution)
|
||||
importPackage(Packages.mindustry.world.blocks.liquid)
|
||||
importPackage(Packages.mindustry.world.blocks.logic)
|
||||
importPackage(Packages.mindustry.world.blocks.power)
|
||||
importPackage(Packages.mindustry.world.blocks.production)
|
||||
importPackage(Packages.mindustry.world.blocks.sandbox)
|
||||
importPackage(Packages.mindustry.world.blocks.storage)
|
||||
importPackage(Packages.mindustry.world.blocks.units)
|
||||
importPackage(Packages.mindustry.world.consumers)
|
||||
importPackage(Packages.mindustry.world.meta)
|
||||
importPackage(Packages.mindustry.world.meta.values)
|
||||
importPackage(Packages.mindustry.world.modules)
|
||||
importPackage(Packages.mindustry.world.producers)
|
||||
|
||||
|
Before Width: | Height: | Size: 745 B After Width: | Height: | Size: 749 B |
|
Before Width: | Height: | Size: 741 KiB After Width: | Height: | Size: 741 KiB |
|
Before Width: | Height: | Size: 261 KiB After Width: | Height: | Size: 261 KiB |
|
Before Width: | Height: | Size: 924 KiB After Width: | Height: | Size: 924 KiB |
@@ -1,26 +0,0 @@
|
||||
package io.anuke.mindustry.content;
|
||||
|
||||
import io.anuke.mindustry.ctype.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public class Loadouts implements ContentList{
|
||||
public static Schematic
|
||||
basicShard,
|
||||
advancedShard,
|
||||
basicFoundation,
|
||||
basicNucleus;
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
try{
|
||||
basicShard = Schematics.readBase64("bXNjaAB4nD2K2wqAIBiD5ymibnoRn6YnEP1BwUMoBL19FuJ2sbFvUFgYZDaJsLeQrkinN9UJHImsNzlYE7WrIUastuSbnlKx2VJJt+8IQGGKdfO/8J5yrGJSMegLg+YUIA==");
|
||||
advancedShard = Schematics.readBase64("bXNjaAB4nD2LjQqAIAyET7OMIOhFfJqeYMxBgSkYCL199gu33fFtB4tOwUTaBCP5QpHFzwtl32DahBeKK1NwPq8hoOcUixwpY+CUxe3XIwBbB/pa6tadVCUP02hgHvp5vZq/0b7pBHPYFOQ=");
|
||||
basicFoundation = Schematics.readBase64("bXNjaAB4nD1OSQ6DMBBzFhVu8BG+0X8MQyoiJTNSukj8nlCi2Adbtg/GA4OBF8oB00rvyE/9ykafqOIw58A7SWRKy1ZiShhZ5RcOLZhYS1hefQ1gRIeptH9jq/qW2lvc1d2tgWsOfVX/tOwE86AYBA==");
|
||||
basicNucleus = Schematics.readBase64("bXNjaAB4nD2MUQqAIBBEJy0s6qOLdJXuYNtCgikYBd2+LNmdj308hkGHtkId7M4YFns4mk/yfB4a48602eDI+mlNznu0FMPFd0wYKCaewl8F0EOueqM+yKSLVfJrNKWnSw/FZGzEGXFG9sy/px4gEBW1");
|
||||
}catch(IOException e){
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package io.anuke.mindustry.ctype;
|
||||
|
||||
/** Interface for a list of content to be loaded in {@link io.anuke.mindustry.core.ContentLoader}. */
|
||||
public interface ContentList{
|
||||
/** This method should create all the content. */
|
||||
void load();
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package io.anuke.mindustry.entities.traits;
|
||||
|
||||
import io.anuke.mindustry.game.Team;
|
||||
|
||||
public interface TeamTrait extends Entity{
|
||||
Team getTeam();
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
package io.anuke.mindustry.entities.type;
|
||||
|
||||
import io.anuke.arc.math.geom.Vector2;
|
||||
import io.anuke.mindustry.entities.traits.SolidTrait;
|
||||
|
||||
public abstract class SolidEntity extends BaseEntity implements SolidTrait{
|
||||
protected transient Vector2 velocity = new Vector2(0f, 0.0001f);
|
||||
private transient Vector2 lastPosition = new Vector2();
|
||||
|
||||
@Override
|
||||
public Vector2 lastPosition(){
|
||||
return lastPosition;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vector2 velocity(){
|
||||
return velocity;
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
package io.anuke.mindustry.game;
|
||||
|
||||
import io.anuke.arc.Core;
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
|
||||
public enum Team{
|
||||
derelict(Color.valueOf("4d4e58")),
|
||||
sharded(Pal.accent),
|
||||
crux(Color.valueOf("e82d2d")),
|
||||
green(Color.valueOf("4dd98b")),
|
||||
purple(Color.valueOf("9a4bdf")),
|
||||
blue(Color.royal.cpy());
|
||||
|
||||
public final static Team[] all = values();
|
||||
public final Color color;
|
||||
public final int intColor;
|
||||
|
||||
Team(Color color){
|
||||
this.color = color;
|
||||
intColor = Color.rgba8888(color);
|
||||
}
|
||||
|
||||
public String localized(){
|
||||
return Core.bundle.get("team." + name() + ".name");
|
||||
}
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
package io.anuke.mindustry.game;
|
||||
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.mindustry.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
|
||||
/** Class for various team-based utilities. */
|
||||
public class Teams{
|
||||
private TeamData[] map = new TeamData[Team.all.length];
|
||||
|
||||
/**
|
||||
* Register a team.
|
||||
* @param team The team type enum.
|
||||
* @param enemies The array of enemies of this team. Any team not in this array is considered neutral.
|
||||
*/
|
||||
public void add(Team team, Team... enemies){
|
||||
map[team.ordinal()] = new TeamData(team, EnumSet.of(enemies));
|
||||
}
|
||||
|
||||
/** Returns team data by type. */
|
||||
public TeamData get(Team team){
|
||||
if(map[team.ordinal()] == null){
|
||||
add(team, Array.with(Team.all).select(t -> t != team).toArray(Team.class));
|
||||
}
|
||||
return map[team.ordinal()];
|
||||
}
|
||||
|
||||
/** Returns whether a team is active, e.g. whether it has any cores remaining. */
|
||||
public boolean isActive(Team team){
|
||||
//the enemy wave team is always active
|
||||
return team == Vars.waveTeam || get(team).cores.size > 0;
|
||||
}
|
||||
|
||||
/** Returns a set of all teams that are enemies of this team. */
|
||||
public EnumSet<Team> enemiesOf(Team team){
|
||||
return get(team).enemies;
|
||||
}
|
||||
|
||||
/** Returns whether {@param other} is an enemy of {@param #team}. */
|
||||
public boolean areEnemies(Team team, Team other){
|
||||
return enemiesOf(team).contains(other);
|
||||
}
|
||||
|
||||
/** Allocates a new array with the active teams.
|
||||
* Never call in the main game loop.*/
|
||||
public Array<TeamData> getActive(){
|
||||
return Array.select(map, t -> t != null);
|
||||
}
|
||||
|
||||
public static class TeamData{
|
||||
public final ObjectSet<Tile> cores = new ObjectSet<>();
|
||||
public final EnumSet<Team> enemies;
|
||||
public final Team team;
|
||||
public Queue<BrokenBlock> brokenBlocks = new Queue<>();
|
||||
|
||||
public TeamData(Team team, EnumSet<Team> enemies){
|
||||
this.team = team;
|
||||
this.enemies = enemies;
|
||||
}
|
||||
}
|
||||
|
||||
/** Represents a block made by this team that was destroyed somewhere on the map.
|
||||
* This does not include deconstructed blocks.*/
|
||||
public static class BrokenBlock{
|
||||
public final short x, y, rotation, block;
|
||||
public final int config;
|
||||
|
||||
public BrokenBlock(short x, short y, short rotation, short block, int config){
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.rotation = rotation;
|
||||
this.block = block;
|
||||
this.config = config;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,214 +0,0 @@
|
||||
package io.anuke.mindustry.io;
|
||||
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.files.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.arc.util.serialization.*;
|
||||
import io.anuke.mindustry.content.*;
|
||||
import io.anuke.mindustry.ctype.ContentType;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.io.MapIO.*;
|
||||
import io.anuke.mindustry.maps.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import io.anuke.mindustry.world.LegacyColorMapper.*;
|
||||
import io.anuke.mindustry.world.blocks.*;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.zip.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
|
||||
/** Map IO for the "old" .mmap format.
|
||||
* Differentiate between legacy maps and new maps by checking the extension (or the header).*/
|
||||
public class LegacyMapIO{
|
||||
private static final ObjectMap<String, String> fallback = ObjectMap.of("alpha-dart-mech-pad", "dart-mech-pad");
|
||||
private static final Json json = new Json();
|
||||
|
||||
/* Convert a map from the old format to the new format. */
|
||||
public static void convertMap(Fi in, Fi out) throws IOException{
|
||||
Map map = readMap(in, true);
|
||||
|
||||
String waves = map.tags.get("waves", "[]");
|
||||
Array<SpawnGroup> groups = new Array<>(json.fromJson(SpawnGroup[].class, waves));
|
||||
|
||||
Tile[][] tiles = world.createTiles(map.width, map.height);
|
||||
for(int x = 0; x < map.width; x++){
|
||||
for(int y = 0; y < map.height; y++){
|
||||
tiles[x][y] = new CachedTile();
|
||||
tiles[x][y].x = (short)x;
|
||||
tiles[x][y].y = (short)y;
|
||||
}
|
||||
}
|
||||
state.rules.spawns = groups;
|
||||
readTiles(map, tiles);
|
||||
MapIO.writeMap(out, map);
|
||||
}
|
||||
|
||||
public static Map readMap(Fi file, boolean custom) throws IOException{
|
||||
try(DataInputStream stream = new DataInputStream(file.read(1024))){
|
||||
StringMap tags = new StringMap();
|
||||
|
||||
//meta is uncompressed
|
||||
int version = stream.readInt();
|
||||
if(version != 1){
|
||||
throw new IOException("Outdated legacy map format");
|
||||
}
|
||||
int build = stream.readInt();
|
||||
short width = stream.readShort(), height = stream.readShort();
|
||||
byte tagAmount = stream.readByte();
|
||||
|
||||
for(int i = 0; i < tagAmount; i++){
|
||||
String name = stream.readUTF();
|
||||
String value = stream.readUTF();
|
||||
tags.put(name, value);
|
||||
}
|
||||
|
||||
return new Map(file, width, height, tags, custom, version, build);
|
||||
}
|
||||
}
|
||||
|
||||
public static void readTiles(Map map, Tile[][] tiles) throws IOException{
|
||||
readTiles(map, (x, y) -> tiles[x][y]);
|
||||
}
|
||||
|
||||
public static void readTiles(Map map, TileProvider tiles) throws IOException{
|
||||
readTiles(map.file, map.width, map.height, tiles);
|
||||
}
|
||||
|
||||
private static void readTiles(Fi file, int width, int height, Tile[][] tiles) throws IOException{
|
||||
readTiles(file, width, height, (x, y) -> tiles[x][y]);
|
||||
}
|
||||
|
||||
private static void readTiles(Fi file, int width, int height, TileProvider tiles) throws IOException{
|
||||
try(BufferedInputStream input = file.read(bufferSize)){
|
||||
|
||||
//read map
|
||||
{
|
||||
DataInputStream stream = new DataInputStream(input);
|
||||
|
||||
stream.readInt(); //version
|
||||
stream.readInt(); //build
|
||||
stream.readInt(); //width + height
|
||||
byte tagAmount = stream.readByte();
|
||||
|
||||
for(int i = 0; i < tagAmount; i++){
|
||||
stream.readUTF(); //key
|
||||
stream.readUTF(); //val
|
||||
}
|
||||
}
|
||||
|
||||
try(DataInputStream stream = new DataInputStream(new InflaterInputStream(input))){
|
||||
|
||||
try{
|
||||
byte mapped = stream.readByte();
|
||||
IntMap<Block> idmap = new IntMap<>();
|
||||
IntMap<String> namemap = new IntMap<>();
|
||||
|
||||
for(int i = 0; i < mapped; i++){
|
||||
byte type = stream.readByte();
|
||||
short total = stream.readShort();
|
||||
|
||||
for(int j = 0; j < total; j++){
|
||||
String name = stream.readUTF();
|
||||
if(type == 1){
|
||||
Block res = content.getByName(ContentType.block, fallback.get(name, name));
|
||||
idmap.put(j, res == null ? Blocks.air : res);
|
||||
namemap.put(j, fallback.get(name, name));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//read floor and create tiles first
|
||||
for(int i = 0; i < width * height; i++){
|
||||
int x = i % width, y = i / width;
|
||||
int floorid = stream.readUnsignedByte();
|
||||
int oreid = stream.readUnsignedByte();
|
||||
int consecutives = stream.readUnsignedByte();
|
||||
|
||||
Tile tile = tiles.get(x, y);
|
||||
tile.setFloor((Floor)idmap.get(floorid));
|
||||
tile.setOverlay(idmap.get(oreid));
|
||||
|
||||
for(int j = i + 1; j < i + 1 + consecutives; j++){
|
||||
int newx = j % width, newy = j / width;
|
||||
Tile newTile = tiles.get(newx, newy);
|
||||
newTile.setFloor((Floor)idmap.get(floorid));
|
||||
newTile.setOverlay(idmap.get(oreid));
|
||||
}
|
||||
|
||||
i += consecutives;
|
||||
}
|
||||
|
||||
//read blocks
|
||||
for(int i = 0; i < width * height; i++){
|
||||
int x = i % width, y = i / width;
|
||||
int id = stream.readUnsignedByte();
|
||||
Block block = idmap.get(id);
|
||||
if(block == null) block = Blocks.air;
|
||||
|
||||
Tile tile = tiles.get(x, y);
|
||||
//the spawn block is saved in the block tile layer in older maps, shift it to the overlay
|
||||
if(block != Blocks.spawn){
|
||||
tile.setBlock(block);
|
||||
}else{
|
||||
tile.setOverlay(block);
|
||||
}
|
||||
|
||||
if(namemap.get(id, "").equals("part")){
|
||||
stream.readByte(); //link
|
||||
}else if(tile.entity != null){
|
||||
byte tr = stream.readByte();
|
||||
stream.readShort(); //read health (which is actually irrelevant)
|
||||
|
||||
byte team = Pack.leftByte(tr);
|
||||
byte rotation = Pack.rightByte(tr);
|
||||
|
||||
tile.setTeam(Team.all[team]);
|
||||
tile.entity.health = tile.block().health;
|
||||
tile.rotation(rotation);
|
||||
|
||||
if(tile.block() == Blocks.liquidSource || tile.block() == Blocks.unloader || tile.block() == Blocks.sorter){
|
||||
stream.readByte(); //these blocks have an extra config byte, read it
|
||||
}
|
||||
}else{ //no entity/part, read consecutives
|
||||
int consecutives = stream.readUnsignedByte();
|
||||
|
||||
for(int j = i + 1; j < i + 1 + consecutives; j++){
|
||||
int newx = j % width, newy = j / width;
|
||||
tiles.get(newx, newy).setBlock(block);
|
||||
}
|
||||
|
||||
i += consecutives;
|
||||
}
|
||||
}
|
||||
|
||||
}finally{
|
||||
content.setTemporaryMapper(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Reads a pixmap in the 3.5 pixmap format. */
|
||||
public static void readPixmap(Pixmap pixmap, Tile[][] tiles){
|
||||
for(int x = 0; x < pixmap.getWidth(); x++){
|
||||
for(int y = 0; y < pixmap.getHeight(); y++){
|
||||
int color = pixmap.getPixel(x, pixmap.getHeight() - 1 - y);
|
||||
LegacyBlock block = LegacyColorMapper.get(color);
|
||||
Tile tile = tiles[x][y];
|
||||
|
||||
tile.setFloor(block.floor);
|
||||
tile.setBlock(block.wall);
|
||||
if(block.ore != null) tile.setOverlay(block.ore);
|
||||
|
||||
//place core
|
||||
if(color == Color.rgba8888(Color.green)){
|
||||
//actual core parts
|
||||
tile.setBlock(Blocks.coreShard);
|
||||
tile.setTeam(Team.sharded);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,349 +0,0 @@
|
||||
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. */
|
||||
private ObjectMap<String, PlayerInfo> playerInfo = new ObjectMap<>();
|
||||
private Array<String> bannedIPs = new Array<>();
|
||||
private Array<String> whitelist = new Array<>();
|
||||
|
||||
public Administration(){
|
||||
Core.settings.defaults(
|
||||
"strict", true,
|
||||
"servername", "Server"
|
||||
);
|
||||
|
||||
load();
|
||||
}
|
||||
|
||||
public int getPlayerLimit(){
|
||||
return Core.settings.getInt("playerlimit", 0);
|
||||
}
|
||||
|
||||
public void setPlayerLimit(int limit){
|
||||
Core.settings.putSave("playerlimit", limit);
|
||||
}
|
||||
|
||||
public void setStrict(boolean on){
|
||||
Core.settings.putSave("strict", on);
|
||||
}
|
||||
|
||||
public boolean getStrict(){
|
||||
return Core.settings.getBool("strict");
|
||||
}
|
||||
|
||||
public boolean allowsCustomClients(){
|
||||
return Core.settings.getBool("allow-custom", !headless);
|
||||
}
|
||||
|
||||
public void setCustomClients(boolean allowed){
|
||||
Core.settings.put("allow-custom", allowed);
|
||||
Core.settings.save();
|
||||
}
|
||||
|
||||
/** Call when a player joins to update their information here. */
|
||||
public void updatePlayerJoined(String id, String ip, String name){
|
||||
PlayerInfo info = getCreateInfo(id);
|
||||
info.lastName = name;
|
||||
info.lastIP = ip;
|
||||
info.timesJoined++;
|
||||
if(!info.names.contains(name, false)) info.names.add(name);
|
||||
if(!info.ips.contains(ip, false)) info.ips.add(ip);
|
||||
}
|
||||
|
||||
public boolean banPlayer(String uuid){
|
||||
return banPlayerID(uuid) || banPlayerIP(getInfo(uuid).lastIP);
|
||||
}
|
||||
|
||||
/**
|
||||
* Bans a player by IP; returns whether this player was already banned.
|
||||
* If there are players who at any point had this IP, they will be UUID banned as well.
|
||||
*/
|
||||
public boolean banPlayerIP(String ip){
|
||||
if(bannedIPs.contains(ip, false))
|
||||
return false;
|
||||
|
||||
for(PlayerInfo info : playerInfo.values()){
|
||||
if(info.ips.contains(ip, false)){
|
||||
info.banned = true;
|
||||
}
|
||||
}
|
||||
|
||||
bannedIPs.add(ip);
|
||||
save();
|
||||
Events.fire(new PlayerIpBanEvent(ip));
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Bans a player by UUID; returns whether this player was already banned. */
|
||||
public boolean banPlayerID(String id){
|
||||
if(playerInfo.containsKey(id) && playerInfo.get(id).banned)
|
||||
return false;
|
||||
|
||||
getCreateInfo(id).banned = true;
|
||||
|
||||
save();
|
||||
Events.fire(new PlayerBanEvent(Vars.playerGroup.find(p -> id.equals(p.uuid))));
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Unbans a player by IP; returns whether this player was banned in the first place.
|
||||
* This method also unbans any player that was banned and had this IP.
|
||||
*/
|
||||
public boolean unbanPlayerIP(String ip){
|
||||
boolean found = bannedIPs.contains(ip, false);
|
||||
|
||||
for(PlayerInfo info : playerInfo.values()){
|
||||
if(info.ips.contains(ip, false)){
|
||||
info.banned = false;
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
|
||||
bannedIPs.removeValue(ip, false);
|
||||
|
||||
if(found){
|
||||
save();
|
||||
Events.fire(new PlayerIpUnbanEvent(ip));
|
||||
}
|
||||
return found;
|
||||
}
|
||||
|
||||
/**
|
||||
* Unbans a player by ID; returns whether this player was banned in the first place.
|
||||
* This also unbans all IPs the player used.
|
||||
*/
|
||||
public boolean unbanPlayerID(String id){
|
||||
PlayerInfo info = getCreateInfo(id);
|
||||
|
||||
if(!info.banned)
|
||||
return false;
|
||||
|
||||
info.banned = false;
|
||||
bannedIPs.removeAll(info.ips, false);
|
||||
save();
|
||||
Events.fire(new PlayerUnbanEvent(Vars.playerGroup.find(p -> id.equals(p.uuid))));
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns list of all players with admin status
|
||||
*/
|
||||
public Array<PlayerInfo> getAdmins(){
|
||||
Array<PlayerInfo> result = new Array<>();
|
||||
for(PlayerInfo info : playerInfo.values()){
|
||||
if(info.admin){
|
||||
result.add(info);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns list of all players with admin status
|
||||
*/
|
||||
public Array<PlayerInfo> getBanned(){
|
||||
Array<PlayerInfo> result = new Array<>();
|
||||
for(PlayerInfo info : playerInfo.values()){
|
||||
if(info.banned){
|
||||
result.add(info);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all banned IPs. This does not include the IPs of ID-banned players.
|
||||
*/
|
||||
public Array<String> getBannedIPs(){
|
||||
return bannedIPs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Makes a player an admin. Returns whether this player was already an admin.
|
||||
*/
|
||||
public boolean adminPlayer(String id, String usid){
|
||||
PlayerInfo info = getCreateInfo(id);
|
||||
|
||||
if(info.admin && info.adminUsid != null && info.adminUsid.equals(usid))
|
||||
return false;
|
||||
|
||||
info.adminUsid = usid;
|
||||
info.admin = true;
|
||||
save();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Makes a player no longer an admin. Returns whether this player was an admin in the first place.
|
||||
*/
|
||||
public boolean unAdminPlayer(String id){
|
||||
PlayerInfo info = getCreateInfo(id);
|
||||
|
||||
if(!info.admin)
|
||||
return false;
|
||||
|
||||
info.admin = false;
|
||||
save();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isWhitelistEnabled(){
|
||||
return Core.settings.getBool("whitelist", false);
|
||||
}
|
||||
|
||||
public void setWhitelist(boolean enabled){
|
||||
Core.settings.putSave("whitelist", enabled);
|
||||
}
|
||||
|
||||
public boolean isWhitelisted(String id, String usid){
|
||||
return !isWhitelistEnabled() || whitelist.contains(usid + id);
|
||||
}
|
||||
|
||||
public boolean whitelist(String id){
|
||||
PlayerInfo info = getCreateInfo(id);
|
||||
if(whitelist.contains(info.adminUsid + id)) return false;
|
||||
whitelist.add(info.adminUsid + id);
|
||||
save();
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean unwhitelist(String id){
|
||||
PlayerInfo info = getCreateInfo(id);
|
||||
if(whitelist.contains(info.adminUsid + id)){
|
||||
whitelist.remove(info.adminUsid + id);
|
||||
save();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isIPBanned(String ip){
|
||||
return bannedIPs.contains(ip, false) || (findByIP(ip) != null && findByIP(ip).banned);
|
||||
}
|
||||
|
||||
public boolean isIDBanned(String uuid){
|
||||
return getCreateInfo(uuid).banned;
|
||||
}
|
||||
|
||||
public boolean isAdmin(String id, String usid){
|
||||
PlayerInfo info = getCreateInfo(id);
|
||||
return info.admin && usid.equals(info.adminUsid);
|
||||
}
|
||||
|
||||
/** Finds player info by IP, UUID and name. */
|
||||
public ObjectSet<PlayerInfo> findByName(String name){
|
||||
ObjectSet<PlayerInfo> result = new ObjectSet<>();
|
||||
|
||||
for(PlayerInfo info : playerInfo.values()){
|
||||
if(info.lastName.toLowerCase().equals(name.toLowerCase()) || (info.names.contains(name, false))
|
||||
|| info.ips.contains(name, false) || info.id.equals(name)){
|
||||
result.add(info);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public Array<PlayerInfo> findByIPs(String ip){
|
||||
Array<PlayerInfo> result = new Array<>();
|
||||
|
||||
for(PlayerInfo info : playerInfo.values()){
|
||||
if(info.ips.contains(ip, false)){
|
||||
result.add(info);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public PlayerInfo getInfo(String id){
|
||||
return getCreateInfo(id);
|
||||
}
|
||||
|
||||
public PlayerInfo getInfoOptional(String id){
|
||||
return playerInfo.get(id);
|
||||
}
|
||||
|
||||
public PlayerInfo findByIP(String ip){
|
||||
for(PlayerInfo info : playerInfo.values()){
|
||||
if(info.ips.contains(ip, false)){
|
||||
return info;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public Array<PlayerInfo> getWhitelisted(){
|
||||
return playerInfo.values().toArray().select(p -> isWhitelisted(p.id, p.adminUsid));
|
||||
}
|
||||
|
||||
private PlayerInfo getCreateInfo(String id){
|
||||
if(playerInfo.containsKey(id)){
|
||||
return playerInfo.get(id);
|
||||
}else{
|
||||
PlayerInfo info = new PlayerInfo(id);
|
||||
playerInfo.put(id, info);
|
||||
save();
|
||||
return info;
|
||||
}
|
||||
}
|
||||
|
||||
public void save(){
|
||||
Core.settings.putObject("player-info", playerInfo);
|
||||
Core.settings.putObject("banned-ips", bannedIPs);
|
||||
Core.settings.putObject("whitelisted", whitelist);
|
||||
Core.settings.save();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private void load(){
|
||||
playerInfo = Core.settings.getObject("player-info", ObjectMap.class, ObjectMap::new);
|
||||
bannedIPs = Core.settings.getObject("banned-ips", Array.class, Array::new);
|
||||
whitelist = Core.settings.getObject("whitelisted", Array.class, Array::new);
|
||||
}
|
||||
|
||||
@Serialize
|
||||
public static class PlayerInfo{
|
||||
public String id;
|
||||
public String lastName = "<unknown>", lastIP = "<unknown>";
|
||||
public Array<String> ips = new Array<>();
|
||||
public Array<String> names = new Array<>();
|
||||
public String adminUsid;
|
||||
public int timesKicked;
|
||||
public int timesJoined;
|
||||
public boolean banned, admin;
|
||||
public long lastKicked; //last kicked timestamp
|
||||
|
||||
PlayerInfo(String id){
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public PlayerInfo(){
|
||||
}
|
||||
}
|
||||
|
||||
public static class TraceInfo{
|
||||
public String ip, uuid;
|
||||
public boolean modded, mobile;
|
||||
|
||||
public TraceInfo(String ip, String uuid, boolean modded, boolean mobile){
|
||||
this.ip = ip;
|
||||
this.uuid = uuid;
|
||||
this.modded = modded;
|
||||
this.mobile = mobile;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package io.anuke.mindustry.plugin;
|
||||
|
||||
import io.anuke.mindustry.mod.*;
|
||||
|
||||
public abstract class Plugin extends Mod{
|
||||
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
package io.anuke.mindustry.world.producers;
|
||||
|
||||
public class Produce{
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
package io.anuke.mindustry.world.producers;
|
||||
|
||||
public class ProduceItem{
|
||||
}
|
||||
@@ -1,26 +1,26 @@
|
||||
package io.anuke.mindustry;
|
||||
package mindustry;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.assets.*;
|
||||
import io.anuke.arc.assets.loaders.*;
|
||||
import io.anuke.arc.audio.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.graphics.g2d.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.scene.ui.layout.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.arc.util.async.*;
|
||||
import io.anuke.mindustry.core.*;
|
||||
import io.anuke.mindustry.ctype.Content;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
import io.anuke.mindustry.maps.*;
|
||||
import io.anuke.mindustry.mod.*;
|
||||
import io.anuke.mindustry.net.Net;
|
||||
import arc.*;
|
||||
import arc.assets.*;
|
||||
import arc.assets.loaders.*;
|
||||
import arc.audio.*;
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.math.*;
|
||||
import arc.scene.ui.layout.*;
|
||||
import arc.util.*;
|
||||
import arc.util.async.*;
|
||||
import mindustry.core.*;
|
||||
import mindustry.ctype.Content;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.maps.*;
|
||||
import mindustry.mod.*;
|
||||
import mindustry.net.Net;
|
||||
|
||||
import static io.anuke.arc.Core.*;
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static arc.Core.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public abstract class ClientLauncher extends ApplicationCore implements Platform{
|
||||
private static final int loadingFPS = 20;
|
||||
@@ -1,33 +1,34 @@
|
||||
package io.anuke.mindustry;
|
||||
package mindustry;
|
||||
|
||||
import io.anuke.arc.Application.*;
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.assets.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.files.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.scene.ui.layout.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.arc.util.io.*;
|
||||
import io.anuke.mindustry.ai.*;
|
||||
import io.anuke.mindustry.core.*;
|
||||
import io.anuke.mindustry.entities.*;
|
||||
import io.anuke.mindustry.entities.effect.*;
|
||||
import io.anuke.mindustry.entities.traits.*;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.input.*;
|
||||
import io.anuke.mindustry.maps.*;
|
||||
import io.anuke.mindustry.mod.*;
|
||||
import io.anuke.mindustry.net.Net;
|
||||
import io.anuke.mindustry.world.blocks.defense.ForceProjector.*;
|
||||
import arc.*;
|
||||
import arc.Application.*;
|
||||
import arc.assets.*;
|
||||
import arc.struct.*;
|
||||
import arc.files.*;
|
||||
import arc.graphics.*;
|
||||
import arc.scene.ui.layout.*;
|
||||
import arc.util.*;
|
||||
import arc.util.io.*;
|
||||
import mindustry.ai.*;
|
||||
import mindustry.core.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.entities.effect.*;
|
||||
import mindustry.entities.traits.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.input.*;
|
||||
import mindustry.maps.*;
|
||||
import mindustry.mod.*;
|
||||
import mindustry.net.*;
|
||||
import mindustry.net.Net;
|
||||
import mindustry.world.blocks.defense.ForceProjector.*;
|
||||
|
||||
import java.nio.charset.*;
|
||||
import java.util.*;
|
||||
|
||||
import static io.anuke.arc.Core.settings;
|
||||
import static arc.Core.settings;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public class Vars implements Loadable{
|
||||
@@ -53,18 +54,16 @@ public class Vars implements Loadable{
|
||||
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. */
|
||||
/** URL to the JSON file containing all the global, public servers. Not queried in BE. */
|
||||
public static final String serverJsonURL = "https://raw.githubusercontent.com/Anuken/Mindustry/master/servers.json";
|
||||
/** URL to the JSON file containing all the BE servers. Only queried in BE. */
|
||||
public static final String serverJsonBeURL = "https://raw.githubusercontent.com/Anuken/Mindustry/master/servers_be.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();
|
||||
/** maximum distance between mine and core that supports automatic transferring */
|
||||
public static final float mineTransferRange = 220f;
|
||||
/** team of the player by default */
|
||||
public static final Team defaultTeam = Team.sharded;
|
||||
/** team of the enemy in waves/sectors */
|
||||
public static final Team waveTeam = Team.crux;
|
||||
/** whether to enable editing of units in the editor */
|
||||
public static final boolean enableUnitEditing = false;
|
||||
/** max chat message length */
|
||||
@@ -124,13 +123,13 @@ public class Vars implements Loadable{
|
||||
public static boolean steam;
|
||||
/** whether typing into the console is enabled - developers only */
|
||||
public static boolean enableConsole = false;
|
||||
/** application data directory, equivalent to {@link io.anuke.arc.Settings#getDataDirectory()} */
|
||||
/** application data directory, equivalent to {@link Settings#getDataDirectory()} */
|
||||
public static Fi dataDirectory;
|
||||
/** data subdirectory used for screenshots */
|
||||
public static Fi screenshotDirectory;
|
||||
/** data subdirectory used for custom mmaps */
|
||||
/** data subdirectory used for custom maps */
|
||||
public static Fi customMapDirectory;
|
||||
/** data subdirectory used for custom mmaps */
|
||||
/** data subdirectory used for custom map previews */
|
||||
public static Fi mapPreviewDirectory;
|
||||
/** tmp subdirectory for map conversion */
|
||||
public static Fi tmpDirectory;
|
||||
@@ -140,6 +139,8 @@ public class Vars implements Loadable{
|
||||
public static Fi modDirectory;
|
||||
/** data subdirectory used for schematics */
|
||||
public static Fi schematicDirectory;
|
||||
/** data subdirectory used for bleeding edge build versions */
|
||||
public static Fi bebuildDirectory;
|
||||
/** map file extension */
|
||||
public static final String mapExtension = "msav";
|
||||
/** save file extension */
|
||||
@@ -161,6 +162,7 @@ public class Vars implements Loadable{
|
||||
public static Platform platform = new Platform(){};
|
||||
public static Mods mods;
|
||||
public static Schematics schematics = new Schematics();
|
||||
public static BeControl becontrol;
|
||||
|
||||
public static World world;
|
||||
public static Maps maps;
|
||||
@@ -184,7 +186,7 @@ public class Vars implements Loadable{
|
||||
public static EntityGroup<ShieldEntity> shieldGroup;
|
||||
public static EntityGroup<Puddle> puddleGroup;
|
||||
public static EntityGroup<Fire> fireGroup;
|
||||
public static EntityGroup<BaseUnit>[] unitGroups;
|
||||
public static EntityGroup<BaseUnit> unitGroup;
|
||||
|
||||
public static Player player;
|
||||
|
||||
@@ -196,7 +198,7 @@ public class Vars implements Loadable{
|
||||
|
||||
public static void init(){
|
||||
Serialization.init();
|
||||
DefaultSerializers.typeMappings.put("io.anuke.mindustry.type.ContentType", "io.anuke.mindustry.ctype.ContentType");
|
||||
DefaultSerializers.typeMappings.put("mindustry.type.ContentType", "mindustry.ctype.ContentType");
|
||||
|
||||
if(loadLocales){
|
||||
//load locales
|
||||
@@ -224,6 +226,7 @@ public class Vars implements Loadable{
|
||||
defaultWaves = new DefaultWaves();
|
||||
collisions = new EntityCollisions();
|
||||
world = new World();
|
||||
becontrol = new BeControl();
|
||||
|
||||
maps = new Maps();
|
||||
spawner = new WaveSpawner();
|
||||
@@ -239,11 +242,7 @@ public class Vars implements Loadable{
|
||||
puddleGroup = entities.add(Puddle.class).enableMapping();
|
||||
shieldGroup = entities.add(ShieldEntity.class, false);
|
||||
fireGroup = entities.add(Fire.class).enableMapping();
|
||||
unitGroups = new EntityGroup[Team.all.length];
|
||||
|
||||
for(Team team : Team.all){
|
||||
unitGroups[team.ordinal()] = entities.add(BaseUnit.class).enableMapping();
|
||||
}
|
||||
unitGroup = entities.add(BaseUnit.class).enableMapping();
|
||||
|
||||
for(EntityGroup<?> group : entities.all()){
|
||||
group.setRemoveListener(entity -> {
|
||||
@@ -268,6 +267,7 @@ public class Vars implements Loadable{
|
||||
tmpDirectory = dataDirectory.child("tmp/");
|
||||
modDirectory = dataDirectory.child("mods/");
|
||||
schematicDirectory = dataDirectory.child("schematics/");
|
||||
bebuildDirectory = dataDirectory.child("be_builds/");
|
||||
|
||||
modDirectory.mkdirs();
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
package io.anuke.mindustry.ai;
|
||||
package mindustry.ai;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.func.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.math.geom.*;
|
||||
import io.anuke.mindustry.content.*;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.game.Teams.*;
|
||||
import io.anuke.mindustry.type.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import io.anuke.mindustry.world.blocks.*;
|
||||
import io.anuke.mindustry.world.meta.*;
|
||||
import arc.*;
|
||||
import arc.func.*;
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.blocks.*;
|
||||
import mindustry.world.meta.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
/** Class used for indexing special target blocks for AI. */
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -28,15 +28,17 @@ public class BlockIndexer{
|
||||
private final ObjectSet<Item> itemSet = new ObjectSet<>();
|
||||
/** Stores all ore quadtrants on the map. */
|
||||
private ObjectMap<Item, ObjectSet<Tile>> ores = new ObjectMap<>();
|
||||
/** Tags all quadrants. */
|
||||
/** Maps each team ID to a quarant. A quadrant is a grid of bits, where each bit is set if and only if there is a block of that team in that quadrant. */
|
||||
private GridBits[] structQuadrants;
|
||||
/** Stores all damaged tile entities by team. */
|
||||
private ObjectSet<Tile>[] damagedTiles = new ObjectSet[Team.all.length];
|
||||
private ObjectSet<Tile>[] damagedTiles = new ObjectSet[Team.all().length];
|
||||
/**All ores available on this map.*/
|
||||
private ObjectSet<Item> allOres = new ObjectSet<>();
|
||||
/**Stores teams that are present here as tiles.*/
|
||||
private ObjectSet<Team> activeTeams = new ObjectSet<>();
|
||||
|
||||
/** Maps teams to a map of flagged tiles by type. */
|
||||
private ObjectSet<Tile>[][] flagMap = new ObjectSet[Team.all.length][BlockFlag.all.length];
|
||||
private ObjectSet<Tile>[][] flagMap = new ObjectSet[Team.all().length][BlockFlag.all.length];
|
||||
/** Maps tile positions to their last known tile index data. */
|
||||
private IntMap<TileIndex> typeMap = new IntMap<>();
|
||||
/** Empty set used for returning. */
|
||||
@@ -59,8 +61,8 @@ public class BlockIndexer{
|
||||
Events.on(WorldLoadEvent.class, event -> {
|
||||
scanOres.clear();
|
||||
scanOres.addAll(Item.getAllOres());
|
||||
damagedTiles = new ObjectSet[Team.all.length];
|
||||
flagMap = new ObjectSet[Team.all.length][BlockFlag.all.length];
|
||||
damagedTiles = new ObjectSet[Team.all().length];
|
||||
flagMap = new ObjectSet[Team.all().length][BlockFlag.all.length];
|
||||
|
||||
for(int i = 0; i < flagMap.length; i++){
|
||||
for(int j = 0; j < BlockFlag.all.length; j++){
|
||||
@@ -73,10 +75,7 @@ public class BlockIndexer{
|
||||
ores = null;
|
||||
|
||||
//create bitset for each team type that contains each quadrant
|
||||
structQuadrants = new GridBits[Team.all.length];
|
||||
for(int i = 0; i < Team.all.length; i++){
|
||||
structQuadrants[i] = new GridBits(Mathf.ceil(world.width() / (float)quadrantSize), Mathf.ceil(world.height() / (float)quadrantSize));
|
||||
}
|
||||
structQuadrants = new GridBits[Team.all().length];
|
||||
|
||||
for(int x = 0; x < world.width(); x++){
|
||||
for(int y = 0; y < world.height(); y++){
|
||||
@@ -103,7 +102,32 @@ public class BlockIndexer{
|
||||
}
|
||||
|
||||
private ObjectSet<Tile>[] getFlagged(Team team){
|
||||
return flagMap[team.ordinal()];
|
||||
return flagMap[team.id];
|
||||
}
|
||||
|
||||
private GridBits structQuadrant(Team t){
|
||||
int id = Pack.u(t.id);
|
||||
if(structQuadrants[id] == null){
|
||||
structQuadrants[id] = new GridBits(Mathf.ceil(world.width() / (float)quadrantSize), Mathf.ceil(world.height() / (float)quadrantSize));
|
||||
}
|
||||
return structQuadrants[id];
|
||||
}
|
||||
|
||||
/** Updates all the structure quadrants for a newly activated team. */
|
||||
public void updateTeamIndex(Team team){
|
||||
if(structQuadrants == null) return;
|
||||
|
||||
//go through every tile... ouch
|
||||
for(int x = 0; x < world.width(); x++){
|
||||
for(int y = 0; y < world.height(); y++){
|
||||
Tile tile = world.tile(x, y);
|
||||
if(tile.getTeam() == team){
|
||||
int quadrantX = tile.x / quadrantSize;
|
||||
int quadrantY = tile.y / quadrantSize;
|
||||
structQuadrant(team).set(quadrantX, quadrantY);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** @return whether this item is present on this map.*/
|
||||
@@ -115,11 +139,11 @@ public class BlockIndexer{
|
||||
public ObjectSet<Tile> getDamaged(Team team){
|
||||
returnArray.clear();
|
||||
|
||||
if(damagedTiles[team.ordinal()] == null){
|
||||
damagedTiles[team.ordinal()] = new ObjectSet<>();
|
||||
if(damagedTiles[team.id] == null){
|
||||
damagedTiles[team.id] = new ObjectSet<>();
|
||||
}
|
||||
|
||||
ObjectSet<Tile> set = damagedTiles[team.ordinal()];
|
||||
ObjectSet<Tile> set = damagedTiles[team.id];
|
||||
for(Tile tile : set){
|
||||
if((tile.entity == null || tile.entity.getTeam() != team || !tile.entity.damaged()) || tile.block() instanceof BuildBlock){
|
||||
returnArray.add(tile);
|
||||
@@ -135,13 +159,13 @@ public class BlockIndexer{
|
||||
|
||||
/** Get all allied blocks with a flag. */
|
||||
public ObjectSet<Tile> getAllied(Team team, BlockFlag type){
|
||||
return flagMap[team.ordinal()][type.ordinal()];
|
||||
return flagMap[team.id][type.ordinal()];
|
||||
}
|
||||
|
||||
/** Get all enemy blocks with a flag. */
|
||||
public Array<Tile> getEnemy(Team team, BlockFlag type){
|
||||
returnArray.clear();
|
||||
for(Team enemy : state.teams.enemiesOf(team)){
|
||||
for(Team enemy : team.enemies()){
|
||||
if(state.teams.isActive(enemy)){
|
||||
ObjectSet<Tile> set = getFlagged(enemy)[type.ordinal()];
|
||||
if(set != null){
|
||||
@@ -155,14 +179,27 @@ public class BlockIndexer{
|
||||
}
|
||||
|
||||
public void notifyTileDamaged(TileEntity entity){
|
||||
if(damagedTiles[entity.getTeam().ordinal()] == null){
|
||||
damagedTiles[entity.getTeam().ordinal()] = new ObjectSet<>();
|
||||
if(damagedTiles[(int)entity.getTeam().id] == null){
|
||||
damagedTiles[(int)entity.getTeam().id] = new ObjectSet<>();
|
||||
}
|
||||
|
||||
ObjectSet<Tile> set = damagedTiles[entity.getTeam().ordinal()];
|
||||
ObjectSet<Tile> set = damagedTiles[(int)entity.getTeam().id];
|
||||
set.add(entity.tile);
|
||||
}
|
||||
|
||||
public TileEntity findEnemyTile(Team team, float x, float y, float range, Boolf<Tile> pred){
|
||||
for(Team enemy : activeTeams){
|
||||
if(!team.isEnemy(enemy)) continue;
|
||||
|
||||
TileEntity entity = indexer.findTile(enemy, x, y, range, pred, true);
|
||||
if(entity != null){
|
||||
return entity;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public TileEntity findTile(Team team, float x, float y, float range, Boolf<Tile> pred){
|
||||
return findTile(team, x, y, range, pred, false);
|
||||
}
|
||||
@@ -188,7 +225,7 @@ public class BlockIndexer{
|
||||
TileEntity e = other.entity;
|
||||
|
||||
float ndst = Mathf.dst(x, y, e.x, e.y);
|
||||
if(ndst < range && (closest == null || ndst < dst || (usePriority && closest.block.priority.ordinal() < e.block.priority.ordinal()))){
|
||||
if(ndst < range && (closest == null || ndst < dst || (usePriority && closest.block.priority.ordinal() <= e.block.priority.ordinal()))){
|
||||
dst = ndst;
|
||||
closest = e;
|
||||
}
|
||||
@@ -242,6 +279,7 @@ public class BlockIndexer{
|
||||
}
|
||||
typeMap.put(tile.pos(), new TileIndex(tile.block().flags, tile.getTeam()));
|
||||
}
|
||||
activeTeams.add(tile.getTeam());
|
||||
|
||||
if(ores == null) return;
|
||||
|
||||
@@ -280,26 +318,25 @@ public class BlockIndexer{
|
||||
//this quadrant is now 'dirty', re-scan the whole thing
|
||||
int quadrantX = tile.x / quadrantSize;
|
||||
int quadrantY = tile.y / quadrantSize;
|
||||
int index = quadrantX + quadrantY * quadWidth();
|
||||
|
||||
for(Team team : Team.all){
|
||||
TeamData data = state.teams.get(team);
|
||||
for(Team team : activeTeams){
|
||||
GridBits bits = structQuadrant(team);
|
||||
|
||||
//fast-set this quadrant to 'occupied' if the tile just placed is already of this team
|
||||
if(tile.getTeam() == data.team && tile.entity != null && tile.block().targetable){
|
||||
structQuadrants[data.team.ordinal()].set(quadrantX, quadrantY);
|
||||
if(tile.getTeam() == team && tile.entity != null && tile.block().targetable){
|
||||
bits.set(quadrantX, quadrantY);
|
||||
continue; //no need to process futher
|
||||
}
|
||||
|
||||
structQuadrants[data.team.ordinal()].set(quadrantX, quadrantY, false);
|
||||
bits.set(quadrantX, quadrantY, false);
|
||||
|
||||
outer:
|
||||
for(int x = quadrantX * quadrantSize; x < world.width() && x < (quadrantX + 1) * quadrantSize; x++){
|
||||
for(int y = quadrantY * quadrantSize; y < world.height() && y < (quadrantY + 1) * quadrantSize; y++){
|
||||
Tile result = world.ltile(x, y);
|
||||
//when a targetable block is found, mark this quadrant as occupied and stop searching
|
||||
if(result.entity != null && result.getTeam() == data.team){
|
||||
structQuadrants[data.team.ordinal()].set(quadrantX, quadrantY);
|
||||
if(result.entity != null && result.getTeam() == team){
|
||||
bits.set(quadrantX, quadrantY);
|
||||
break outer;
|
||||
}
|
||||
}
|
||||
@@ -308,7 +345,7 @@ public class BlockIndexer{
|
||||
}
|
||||
|
||||
private boolean getQuad(Team team, int quadrantX, int quadrantY){
|
||||
return structQuadrants[team.ordinal()].get(quadrantX, quadrantY);
|
||||
return structQuadrant(team).get(quadrantX, quadrantY);
|
||||
}
|
||||
|
||||
private int quadWidth(){
|
||||
@@ -1,20 +1,20 @@
|
||||
package io.anuke.mindustry.ai;
|
||||
package mindustry.ai;
|
||||
|
||||
import io.anuke.annotations.Annotations.*;
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.func.*;
|
||||
import io.anuke.arc.math.geom.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.arc.util.ArcAnnotate.*;
|
||||
import io.anuke.arc.util.async.*;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import io.anuke.mindustry.world.meta.*;
|
||||
import arc.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import arc.struct.*;
|
||||
import arc.func.*;
|
||||
import arc.math.geom.*;
|
||||
import arc.util.*;
|
||||
import arc.util.ArcAnnotate.*;
|
||||
import arc.util.async.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.meta.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class Pathfinder implements Runnable{
|
||||
private static final long maxUpdate = Time.millisToNanos(4);
|
||||
@@ -27,9 +27,9 @@ public class Pathfinder implements Runnable{
|
||||
/** unordered array of path data for iteration only. DO NOT iterate ot access this in the main thread.*/
|
||||
private Array<PathData> list = new Array<>();
|
||||
/** Maps teams + flags to a valid path to get to that flag for that team. */
|
||||
private PathData[][] pathMap = new PathData[Team.all.length][PathTarget.all.length];
|
||||
private PathData[][] pathMap = new PathData[Team.all().length][PathTarget.all.length];
|
||||
/** Grid map of created path data that should not be queued again. */
|
||||
private GridBits created = new GridBits(Team.all.length, PathTarget.all.length);
|
||||
private GridBits created = new GridBits(Team.all().length, PathTarget.all.length);
|
||||
/** handles task scheduling on the update thread. */
|
||||
private TaskQueue queue = new TaskQueue();
|
||||
/** current pathfinding thread */
|
||||
@@ -42,8 +42,8 @@ public class Pathfinder implements Runnable{
|
||||
|
||||
//reset and update internal tile array
|
||||
tiles = new int[world.width()][world.height()];
|
||||
pathMap = new PathData[Team.all.length][PathTarget.all.length];
|
||||
created = new GridBits(Team.all.length, PathTarget.all.length);
|
||||
pathMap = new PathData[Team.all().length][PathTarget.all.length];
|
||||
created = new GridBits(Team.all().length, PathTarget.all.length);
|
||||
list = new Array<>();
|
||||
|
||||
for(int x = 0; x < world.width(); x++){
|
||||
@@ -53,7 +53,7 @@ public class Pathfinder implements Runnable{
|
||||
}
|
||||
|
||||
//special preset which may help speed things up; this is optional
|
||||
preloadPath(waveTeam, PathTarget.enemyCores);
|
||||
preloadPath(state.rules.waveTeam, PathTarget.enemyCores);
|
||||
|
||||
start();
|
||||
});
|
||||
@@ -84,8 +84,8 @@ public class Pathfinder implements Runnable{
|
||||
}
|
||||
|
||||
public int debugValue(Team team, int x, int y){
|
||||
if(pathMap[team.ordinal()][PathTarget.enemyCores.ordinal()] == null) return 0;
|
||||
return pathMap[team.ordinal()][PathTarget.enemyCores.ordinal()].weights[x][y];
|
||||
if(pathMap[team.id][PathTarget.enemyCores.ordinal()] == null) return 0;
|
||||
return pathMap[team.id][PathTarget.enemyCores.ordinal()].weights[x][y];
|
||||
}
|
||||
|
||||
/** Update a tile in the internal pathfinding grid. Causes a complete pathfinding reclaculation. */
|
||||
@@ -139,7 +139,7 @@ public class Pathfinder implements Runnable{
|
||||
//stop looping when interrupted externally
|
||||
return;
|
||||
}
|
||||
}catch(Exception e){
|
||||
}catch(Throwable e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
@@ -149,12 +149,12 @@ public class Pathfinder implements Runnable{
|
||||
public Tile getTargetTile(Tile tile, Team team, PathTarget target){
|
||||
if(tile == null) return null;
|
||||
|
||||
PathData data = pathMap[team.ordinal()][target.ordinal()];
|
||||
PathData data = pathMap[team.id][target.ordinal()];
|
||||
|
||||
if(data == null){
|
||||
//if this combination is not found, create it on request
|
||||
if(!created.get(team.ordinal(), target.ordinal())){
|
||||
created.set(team.ordinal(), target.ordinal());
|
||||
if(!created.get(team.id, target.ordinal())){
|
||||
created.set(team.id, target.ordinal());
|
||||
//grab targets since this is run on main thread
|
||||
IntArray targets = target.getTargets(team, new IntArray());
|
||||
queue.post(() -> createPath(team, target, targets));
|
||||
@@ -188,7 +188,7 @@ public class Pathfinder implements Runnable{
|
||||
/** @return whether a tile can be passed through by this team. Pathfinding thread only.*/
|
||||
private boolean passable(int x, int y, Team team){
|
||||
int tile = tiles[x][y];
|
||||
return PathTile.passable(tile) || (PathTile.team(tile) != team.ordinal() && PathTile.team(tile) != Team.derelict.ordinal());
|
||||
return PathTile.passable(tile) || (PathTile.team(tile) != team.id && PathTile.team(tile) != (int)Team.derelict.id);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -238,7 +238,7 @@ public class Pathfinder implements Runnable{
|
||||
PathData path = new PathData(team, target, world.width(), world.height());
|
||||
|
||||
list.add(path);
|
||||
pathMap[team.ordinal()][target.ordinal()] = path;
|
||||
pathMap[team.id][target.ordinal()] = path;
|
||||
|
||||
//grab targets from passed array
|
||||
synchronized(path.targets){
|
||||
@@ -303,7 +303,7 @@ public class Pathfinder implements Runnable{
|
||||
}
|
||||
|
||||
//spawn points are also enemies.
|
||||
if(state.rules.waves && team == defaultTeam){
|
||||
if(state.rules.waves && team == state.rules.defaultTeam){
|
||||
for(Tile other : spawner.getGroundSpawns()){
|
||||
out.add(other.pos());
|
||||
}
|
||||
@@ -1,22 +1,22 @@
|
||||
package io.anuke.mindustry.ai;
|
||||
package mindustry.ai;
|
||||
|
||||
import io.anuke.arc.Events;
|
||||
import io.anuke.arc.collection.Array;
|
||||
import io.anuke.arc.func.Floatc2;
|
||||
import io.anuke.arc.math.Angles;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.util.Time;
|
||||
import io.anuke.arc.util.Tmp;
|
||||
import io.anuke.mindustry.content.Blocks;
|
||||
import io.anuke.mindustry.content.Fx;
|
||||
import io.anuke.mindustry.entities.Damage;
|
||||
import io.anuke.mindustry.entities.Effects;
|
||||
import io.anuke.mindustry.entities.type.BaseUnit;
|
||||
import io.anuke.mindustry.game.EventType.WorldLoadEvent;
|
||||
import io.anuke.mindustry.game.SpawnGroup;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import arc.Events;
|
||||
import arc.struct.Array;
|
||||
import arc.func.Floatc2;
|
||||
import arc.math.Angles;
|
||||
import arc.math.Mathf;
|
||||
import arc.util.Time;
|
||||
import arc.util.Tmp;
|
||||
import mindustry.content.Blocks;
|
||||
import mindustry.content.Fx;
|
||||
import mindustry.entities.Damage;
|
||||
import mindustry.entities.Effects;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.game.EventType.WorldLoadEvent;
|
||||
import mindustry.game.SpawnGroup;
|
||||
import mindustry.world.Tile;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class WaveSpawner{
|
||||
private static final float margin = 40f, coreMargin = tilesize * 3; //how far away from the edge flying units spawn
|
||||
@@ -53,7 +53,7 @@ public class WaveSpawner{
|
||||
|
||||
eachFlyerSpawn((spawnX, spawnY) -> {
|
||||
for(int i = 0; i < spawned; i++){
|
||||
BaseUnit unit = group.createUnit(waveTeam);
|
||||
BaseUnit unit = group.createUnit(state.rules.waveTeam);
|
||||
unit.set(spawnX + Mathf.range(spread), spawnY + Mathf.range(spread));
|
||||
unit.add();
|
||||
}
|
||||
@@ -66,7 +66,7 @@ public class WaveSpawner{
|
||||
for(int i = 0; i < spawned; i++){
|
||||
Tmp.v1.rnd(spread);
|
||||
|
||||
BaseUnit unit = group.createUnit(waveTeam);
|
||||
BaseUnit unit = group.createUnit(state.rules.waveTeam);
|
||||
unit.set(spawnX + Tmp.v1.x, spawnY + Tmp.v1.y);
|
||||
|
||||
Time.run(Math.min(i * 5, 60 * 2), () -> spawnEffect(unit));
|
||||
@@ -78,7 +78,7 @@ public class WaveSpawner{
|
||||
eachGroundSpawn((spawnX, spawnY, doShockwave) -> {
|
||||
if(doShockwave){
|
||||
Time.run(20f, () -> Effects.effect(Fx.spawnShockwave, spawnX, spawnY, state.rules.dropZoneRadius));
|
||||
Time.run(40f, () -> Damage.damage(waveTeam, spawnX, spawnY, state.rules.dropZoneRadius, 99999999f, true));
|
||||
Time.run(40f, () -> Damage.damage(state.rules.waveTeam, spawnX, spawnY, state.rules.dropZoneRadius, 99999999f, true));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -90,11 +90,11 @@ public class WaveSpawner{
|
||||
cons.accept(spawn.worldx(), spawn.worldy(), true);
|
||||
}
|
||||
|
||||
if(state.rules.attackMode && state.teams.isActive(waveTeam) && !state.teams.get(defaultTeam).cores.isEmpty()){
|
||||
Tile firstCore = state.teams.get(defaultTeam).cores.first();
|
||||
for(Tile core : state.teams.get(waveTeam).cores){
|
||||
Tmp.v1.set(firstCore).sub(core.worldx(), core.worldy()).limit(coreMargin + core.block().size*tilesize);
|
||||
cons.accept(core.worldx() + Tmp.v1.x, core.worldy() + Tmp.v1.y, false);
|
||||
if(state.rules.attackMode && state.teams.isActive(state.rules.waveTeam) && !state.teams.playerCores().isEmpty()){
|
||||
TileEntity firstCore = state.teams.playerCores().first();
|
||||
for(TileEntity core : state.rules.waveTeam.cores()){
|
||||
Tmp.v1.set(firstCore).sub(core.x, core.y).limit(coreMargin + core.block.size*tilesize);
|
||||
cons.accept(core.x + Tmp.v1.x, core.y + Tmp.v1.y, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -107,9 +107,9 @@ public class WaveSpawner{
|
||||
cons.get(spawnX, spawnY);
|
||||
}
|
||||
|
||||
if(state.rules.attackMode && state.teams.isActive(waveTeam)){
|
||||
for(Tile core : state.teams.get(waveTeam).cores){
|
||||
cons.get(core.worldx(), core.worldy());
|
||||
if(state.rules.attackMode && state.teams.isActive(state.rules.waveTeam)){
|
||||
for(TileEntity core : state.teams.get(state.rules.waveTeam).cores){
|
||||
cons.get(core.x, core.y);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,34 +1,34 @@
|
||||
package io.anuke.mindustry.content;
|
||||
package mindustry.content;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.graphics.g2d.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.*;
|
||||
import io.anuke.mindustry.ctype.*;
|
||||
import io.anuke.mindustry.entities.*;
|
||||
import io.anuke.mindustry.entities.bullet.*;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
import io.anuke.mindustry.type.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
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.*;
|
||||
import io.anuke.mindustry.world.blocks.logic.*;
|
||||
import io.anuke.mindustry.world.blocks.power.*;
|
||||
import io.anuke.mindustry.world.blocks.production.*;
|
||||
import io.anuke.mindustry.world.blocks.sandbox.*;
|
||||
import io.anuke.mindustry.world.blocks.storage.*;
|
||||
import io.anuke.mindustry.world.blocks.units.*;
|
||||
import io.anuke.mindustry.world.consumers.*;
|
||||
import io.anuke.mindustry.world.meta.*;
|
||||
import io.anuke.mindustry.world.modules.*;
|
||||
import arc.*;
|
||||
import arc.struct.*;
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.math.*;
|
||||
import arc.util.*;
|
||||
import mindustry.*;
|
||||
import mindustry.ctype.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.entities.bullet.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.blocks.*;
|
||||
import mindustry.world.blocks.defense.*;
|
||||
import mindustry.world.blocks.defense.turrets.*;
|
||||
import mindustry.world.blocks.distribution.*;
|
||||
import mindustry.world.blocks.liquid.*;
|
||||
import mindustry.world.blocks.logic.*;
|
||||
import mindustry.world.blocks.power.*;
|
||||
import mindustry.world.blocks.production.*;
|
||||
import mindustry.world.blocks.sandbox.*;
|
||||
import mindustry.world.blocks.storage.*;
|
||||
import mindustry.world.blocks.units.*;
|
||||
import mindustry.world.consumers.*;
|
||||
import mindustry.world.meta.*;
|
||||
import mindustry.world.modules.*;
|
||||
|
||||
public class Blocks implements ContentList{
|
||||
public static Block
|
||||
@@ -49,7 +49,7 @@ public class Blocks implements ContentList{
|
||||
melter, separator, sporePress, pulverizer, incinerator, coalCentrifuge,
|
||||
|
||||
//sandbox
|
||||
powerSource, powerVoid, itemSource, itemVoid, liquidSource, message, illuminator,
|
||||
powerSource, powerVoid, itemSource, itemVoid, liquidSource, liquidVoid, message, illuminator,
|
||||
|
||||
//defense
|
||||
copperWall, copperWallLarge, titaniumWall, titaniumWallLarge, plastaniumWall, plastaniumWallLarge, thoriumWall, thoriumWallLarge, door, doorLarge,
|
||||
@@ -898,10 +898,11 @@ public class Blocks implements ContentList{
|
||||
}};
|
||||
|
||||
junction = new Junction("junction"){{
|
||||
requirements(Category.distribution, ItemStack.with(Items.copper, 1), true);
|
||||
requirements(Category.distribution, ItemStack.with(Items.copper, 2), true);
|
||||
speed = 26;
|
||||
capacity = 12;
|
||||
health = 30;
|
||||
buildCostMultiplier = 6f;
|
||||
}};
|
||||
|
||||
itemBridge = new BufferedItemBridge("bridge-conveyor"){{
|
||||
@@ -921,16 +922,18 @@ public class Blocks implements ContentList{
|
||||
|
||||
sorter = new Sorter("sorter"){{
|
||||
requirements(Category.distribution, ItemStack.with(Items.lead, 2, Items.copper, 2));
|
||||
buildCostMultiplier = 3f;
|
||||
}};
|
||||
|
||||
invertedSorter = new Sorter("inverted-sorter"){{
|
||||
requirements(Category.distribution, ItemStack.with(Items.lead, 2, Items.copper, 2));
|
||||
buildCostMultiplier = 3f;
|
||||
invert = true;
|
||||
}};
|
||||
|
||||
router = new Router("router"){{
|
||||
requirements(Category.distribution, ItemStack.with(Items.copper, 3));
|
||||
|
||||
buildCostMultiplier = 2f;
|
||||
}};
|
||||
|
||||
distributor = new Router("distributor"){{
|
||||
@@ -940,6 +943,7 @@ public class Blocks implements ContentList{
|
||||
|
||||
overflowGate = new OverflowGate("overflow-gate"){{
|
||||
requirements(Category.distribution, ItemStack.with(Items.lead, 2, Items.copper, 4));
|
||||
buildCostMultiplier = 3f;
|
||||
}};
|
||||
|
||||
massDriver = new MassDriver("mass-driver"){{
|
||||
@@ -1234,7 +1238,7 @@ public class Blocks implements ContentList{
|
||||
//region storage
|
||||
|
||||
coreShard = new CoreBlock("core-shard"){{
|
||||
requirements(Category.effect, BuildVisibility.debugOnly, ItemStack.with(Items.titanium, 4000));
|
||||
requirements(Category.effect, BuildVisibility.debugOnly, ItemStack.with());
|
||||
alwaysUnlocked = true;
|
||||
|
||||
health = 1100;
|
||||
@@ -1243,7 +1247,7 @@ public class Blocks implements ContentList{
|
||||
}};
|
||||
|
||||
coreFoundation = new CoreBlock("core-foundation"){{
|
||||
requirements(Category.effect, BuildVisibility.debugOnly, ItemStack.with(Items.titanium, 400, Items.silicon, 3000));
|
||||
requirements(Category.effect, BuildVisibility.debugOnly, ItemStack.with());
|
||||
|
||||
health = 2000;
|
||||
itemCapacity = 9000;
|
||||
@@ -1251,7 +1255,7 @@ public class Blocks implements ContentList{
|
||||
}};
|
||||
|
||||
coreNucleus = new CoreBlock("core-nucleus"){{
|
||||
requirements(Category.effect, BuildVisibility.debugOnly, ItemStack.with(Items.titanium, 4000, Items.silicon, 2000, Items.surgealloy, 3000));
|
||||
requirements(Category.effect, BuildVisibility.debugOnly, ItemStack.with());
|
||||
|
||||
health = 4000;
|
||||
itemCapacity = 13000;
|
||||
@@ -1388,15 +1392,6 @@ public class Blocks implements ContentList{
|
||||
range = 110f;
|
||||
health = 250 * size * size;
|
||||
shootSound = Sounds.splash;
|
||||
|
||||
drawer = (tile, entity) -> {
|
||||
Draw.rect(region, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90);
|
||||
|
||||
Draw.color(entity.liquids.current().color);
|
||||
Draw.alpha(entity.liquids.total() / liquidCapacity);
|
||||
Draw.rect(name + "-liquid", tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90);
|
||||
Draw.color();
|
||||
};
|
||||
}};
|
||||
|
||||
lancer = new ChargeTurret("lancer"){{
|
||||
@@ -1511,7 +1506,7 @@ public class Blocks implements ContentList{
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(io.anuke.mindustry.entities.type.Bullet b){
|
||||
public void init(mindustry.entities.type.Bullet b){
|
||||
for(int i = 0; i < rays; i++){
|
||||
Damage.collideLine(b, b.getTeam(), hitEffect, b.x, b.y, b.rot(), rayLength - Math.abs(i - (rays / 2)) * 20f);
|
||||
}
|
||||
@@ -1821,6 +1816,11 @@ public class Blocks implements ContentList{
|
||||
alwaysUnlocked = true;
|
||||
}};
|
||||
|
||||
liquidVoid = new LiquidVoid("liquid-void"){{
|
||||
requirements(Category.liquid, BuildVisibility.sandboxOnly, ItemStack.with());
|
||||
alwaysUnlocked = true;
|
||||
}};
|
||||
|
||||
message = new MessageBlock("message"){{
|
||||
requirements(Category.effect, ItemStack.with(Items.graphite, 5));
|
||||
}};
|
||||
@@ -1,18 +1,18 @@
|
||||
package io.anuke.mindustry.content;
|
||||
package mindustry.content;
|
||||
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.graphics.g2d.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.ctype.ContentList;
|
||||
import io.anuke.mindustry.entities.*;
|
||||
import io.anuke.mindustry.entities.bullet.*;
|
||||
import io.anuke.mindustry.entities.effect.*;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.math.*;
|
||||
import arc.util.*;
|
||||
import mindustry.ctype.ContentList;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.entities.bullet.*;
|
||||
import mindustry.entities.effect.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.world.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class Bullets implements ContentList{
|
||||
public static BulletType
|
||||
@@ -1,19 +1,19 @@
|
||||
package io.anuke.mindustry.content;
|
||||
package mindustry.content;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.graphics.g2d.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.ctype.ContentList;
|
||||
import io.anuke.mindustry.entities.Effects.*;
|
||||
import io.anuke.mindustry.entities.effect.GroundEffectEntity.*;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
import io.anuke.mindustry.type.*;
|
||||
import io.anuke.mindustry.ui.Cicon;
|
||||
import arc.*;
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.math.*;
|
||||
import arc.util.*;
|
||||
import mindustry.ctype.ContentList;
|
||||
import mindustry.entities.Effects.*;
|
||||
import mindustry.entities.effect.GroundEffectEntity.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.ui.Cicon;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class Fx implements ContentList{
|
||||
public static Effect
|
||||
@@ -1079,6 +1079,7 @@ public class Fx implements ContentList{
|
||||
healBlockFull = new Effect(20, e -> {
|
||||
Draw.color(e.color);
|
||||
Draw.alpha(e.fout());
|
||||
Fill.square(e.x, e.y, e.rotation * tilesize / 2f);
|
||||
});
|
||||
|
||||
overdriveBlockFull = new Effect(60, e -> {
|
||||
@@ -1,9 +1,9 @@
|
||||
package io.anuke.mindustry.content;
|
||||
package mindustry.content;
|
||||
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.mindustry.ctype.ContentList;
|
||||
import io.anuke.mindustry.type.Item;
|
||||
import io.anuke.mindustry.type.ItemType;
|
||||
import arc.graphics.Color;
|
||||
import mindustry.ctype.ContentList;
|
||||
import mindustry.type.Item;
|
||||
import mindustry.type.ItemType;
|
||||
|
||||
public class Items implements ContentList{
|
||||
public static Item scrap, copper, lead, graphite, coal, titanium, thorium, silicon, plastanium, phasefabric, surgealloy,
|
||||
@@ -1,8 +1,8 @@
|
||||
package io.anuke.mindustry.content;
|
||||
package mindustry.content;
|
||||
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.mindustry.ctype.ContentList;
|
||||
import io.anuke.mindustry.type.Liquid;
|
||||
import arc.graphics.Color;
|
||||
import mindustry.ctype.ContentList;
|
||||
import mindustry.type.Liquid;
|
||||
|
||||
public class Liquids implements ContentList{
|
||||
public static Liquid water, slag, oil, cryofluid;
|
||||
20
core/src/mindustry/content/Loadouts.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package mindustry.content;
|
||||
|
||||
import mindustry.ctype.*;
|
||||
import mindustry.game.*;
|
||||
|
||||
public class Loadouts implements ContentList{
|
||||
public static Schematic
|
||||
basicShard,
|
||||
advancedShard,
|
||||
basicFoundation,
|
||||
basicNucleus;
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
basicShard = Schematics.readBase64("bXNjaAB4nD2K2wqAIBiD5ymibnoRn6YnEP1BwUMoBL19FuJ2sbFvUFgYZDaJsLeQrkinN9UJHImsNzlYE7WrIUastuSbnlKx2VJJt+8IQGGKdfO/8J5yrGJSMegLg+YUIA==");
|
||||
advancedShard = Schematics.readBase64("bXNjaAB4nD2LjQqAIAyET7OMIOhFfJqeYMxBgSkYCL199gu33fFtB4tOwUTaBCP5QpHFzwtl32DahBeKK1NwPq8hoOcUixwpY+CUxe3XIwBbB/pa6tadVCUP02hgHvp5vZq/0b7pBHPYFOQ=");
|
||||
basicFoundation = Schematics.readBase64("bXNjaAB4nD1OSQ6DMBBzFhVu8BG+0X8MQyoiJTNSukj8nlCi2Adbtg/GA4OBF8oB00rvyE/9ykafqOIw58A7SWRKy1ZiShhZ5RcOLZhYS1hefQ1gRIeptH9jq/qW2lvc1d2tgWsOfVX/tOwE86AYBA==");
|
||||
basicNucleus = Schematics.readBase64("bXNjaAB4nD2MUQqAIBBEJy0s6qOLdJXuYNtCgikYBd2+LNmdj308hkGHtkId7M4YFns4mk/yfB4a48602eDI+mlNznu0FMPFd0wYKCaewl8F0EOueqM+yKSLVfJrNKWnSw/FZGzEGXFG9sy/px4gEBW1");
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,19 @@
|
||||
package io.anuke.mindustry.content;
|
||||
package mindustry.content;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.graphics.g2d.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.*;
|
||||
import io.anuke.mindustry.ctype.ContentList;
|
||||
import io.anuke.mindustry.entities.*;
|
||||
import io.anuke.mindustry.entities.bullet.*;
|
||||
import io.anuke.mindustry.entities.effect.*;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
import io.anuke.mindustry.type.*;
|
||||
import arc.*;
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.math.*;
|
||||
import arc.util.*;
|
||||
import mindustry.*;
|
||||
import mindustry.ctype.ContentList;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.entities.bullet.*;
|
||||
import mindustry.entities.effect.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.type.*;
|
||||
|
||||
public class Mechs implements ContentList{
|
||||
public static Mech alpha, delta, tau, omega, dart, javelin, trident, glaive;
|
||||
@@ -1,13 +1,12 @@
|
||||
package io.anuke.mindustry.content;
|
||||
package mindustry.content;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.mindustry.entities.Effects;
|
||||
import io.anuke.mindustry.ctype.ContentList;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.type.StatusEffect;
|
||||
|
||||
import static io.anuke.mindustry.Vars.waveTeam;
|
||||
import arc.*;
|
||||
import arc.math.Mathf;
|
||||
import mindustry.entities.Effects;
|
||||
import mindustry.ctype.ContentList;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.type.StatusEffect;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class StatusEffects implements ContentList{
|
||||
public static StatusEffect none, burning, freezing, wet, melting, tarred, overdrive, shielded, shocked, corroded, boss;
|
||||
@@ -48,7 +47,7 @@ public class StatusEffects implements ContentList{
|
||||
init(() -> {
|
||||
trans(shocked, ((unit, time, newTime, result) -> {
|
||||
unit.damage(20f);
|
||||
if(unit.getTeam() == waveTeam){
|
||||
if(unit.getTeam() == state.rules.waveTeam){
|
||||
Events.fire(Trigger.shock);
|
||||
}
|
||||
result.set(this, time);
|
||||
@@ -1,11 +1,12 @@
|
||||
package io.anuke.mindustry.content;
|
||||
package mindustry.content;
|
||||
|
||||
import io.anuke.arc.collection.Array;
|
||||
import io.anuke.mindustry.ctype.ContentList;
|
||||
import io.anuke.mindustry.type.ItemStack;
|
||||
import io.anuke.mindustry.world.Block;
|
||||
import arc.math.*;
|
||||
import arc.struct.*;
|
||||
import mindustry.ctype.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.world.*;
|
||||
|
||||
import static io.anuke.mindustry.content.Blocks.*;
|
||||
import static mindustry.content.Blocks.*;
|
||||
|
||||
public class TechTree implements ContentList{
|
||||
public static Array<TechNode> all;
|
||||
@@ -318,7 +319,7 @@ public class TechTree implements ContentList{
|
||||
private static TechNode node(Block block, Runnable children){
|
||||
ItemStack[] requirements = new ItemStack[block.requirements.length];
|
||||
for(int i = 0; i < requirements.length; i++){
|
||||
requirements[i] = new ItemStack(block.requirements[i].item, 30 + block.requirements[i].amount * 6);
|
||||
requirements[i] = new ItemStack(block.requirements[i].item, 40 + Mathf.round(Mathf.pow(block.requirements[i].amount, 1.25f) * 6, 10));
|
||||
}
|
||||
|
||||
return new TechNode(block, requirements, children);
|
||||
@@ -1,10 +1,10 @@
|
||||
package io.anuke.mindustry.content;
|
||||
package mindustry.content;
|
||||
|
||||
import io.anuke.mindustry.entities.effect.Fire;
|
||||
import io.anuke.mindustry.entities.effect.Puddle;
|
||||
import io.anuke.mindustry.entities.type.Player;
|
||||
import io.anuke.mindustry.ctype.ContentList;
|
||||
import io.anuke.mindustry.type.TypeID;
|
||||
import mindustry.entities.effect.Fire;
|
||||
import mindustry.entities.effect.Puddle;
|
||||
import mindustry.entities.type.Player;
|
||||
import mindustry.ctype.ContentList;
|
||||
import mindustry.type.TypeID;
|
||||
|
||||
public class TypeIDs implements ContentList{
|
||||
public static TypeID fire, puddle, player;
|
||||
@@ -1,13 +1,13 @@
|
||||
package io.anuke.mindustry.content;
|
||||
package mindustry.content;
|
||||
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.mindustry.ctype.ContentList;
|
||||
import io.anuke.mindustry.entities.bullet.*;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.entities.type.Bullet;
|
||||
import io.anuke.mindustry.entities.type.base.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.type.*;
|
||||
import arc.struct.*;
|
||||
import mindustry.ctype.ContentList;
|
||||
import mindustry.entities.bullet.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.entities.type.Bullet;
|
||||
import mindustry.entities.type.base.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.type.*;
|
||||
|
||||
public class UnitTypes implements ContentList{
|
||||
public static UnitType
|
||||
@@ -1,16 +1,16 @@
|
||||
package io.anuke.mindustry.content;
|
||||
package mindustry.content;
|
||||
|
||||
import io.anuke.mindustry.ctype.ContentList;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.game.Objectives.*;
|
||||
import io.anuke.mindustry.maps.generators.*;
|
||||
import io.anuke.mindustry.maps.generators.MapGenerator.*;
|
||||
import io.anuke.mindustry.maps.zonegen.*;
|
||||
import io.anuke.mindustry.type.*;
|
||||
import mindustry.ctype.ContentList;
|
||||
import mindustry.game.*;
|
||||
import mindustry.game.Objectives.*;
|
||||
import mindustry.maps.generators.*;
|
||||
import mindustry.maps.generators.MapGenerator.*;
|
||||
import mindustry.maps.zonegen.*;
|
||||
import mindustry.type.*;
|
||||
|
||||
import static io.anuke.arc.collection.Array.with;
|
||||
import static io.anuke.mindustry.content.Items.*;
|
||||
import static io.anuke.mindustry.type.ItemStack.list;
|
||||
import static arc.struct.Array.with;
|
||||
import static mindustry.content.Items.*;
|
||||
import static mindustry.type.ItemStack.list;
|
||||
|
||||
public class Zones implements ContentList{
|
||||
public static Zone
|
||||
@@ -1,20 +1,20 @@
|
||||
package io.anuke.mindustry.core;
|
||||
package mindustry.core;
|
||||
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.func.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.util.ArcAnnotate.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.content.*;
|
||||
import io.anuke.mindustry.ctype.*;
|
||||
import io.anuke.mindustry.ctype.ContentType;
|
||||
import io.anuke.mindustry.entities.bullet.*;
|
||||
import io.anuke.mindustry.mod.Mods.*;
|
||||
import io.anuke.mindustry.type.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import arc.struct.*;
|
||||
import arc.func.*;
|
||||
import arc.graphics.*;
|
||||
import arc.util.ArcAnnotate.*;
|
||||
import arc.util.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.ctype.*;
|
||||
import mindustry.ctype.ContentType;
|
||||
import mindustry.entities.bullet.*;
|
||||
import mindustry.mod.Mods.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.world.*;
|
||||
|
||||
import static io.anuke.arc.Core.files;
|
||||
import static io.anuke.mindustry.Vars.mods;
|
||||
import static arc.Core.files;
|
||||
import static mindustry.Vars.mods;
|
||||
|
||||
/**
|
||||
* Loads all game content.
|
||||
@@ -1,36 +1,36 @@
|
||||
package io.anuke.mindustry.core;
|
||||
package mindustry.core;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.assets.*;
|
||||
import io.anuke.arc.audio.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.graphics.g2d.*;
|
||||
import io.anuke.arc.input.*;
|
||||
import io.anuke.arc.math.geom.*;
|
||||
import io.anuke.arc.scene.ui.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.content.*;
|
||||
import io.anuke.mindustry.core.GameState.*;
|
||||
import io.anuke.mindustry.entities.*;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.input.*;
|
||||
import io.anuke.mindustry.maps.Map;
|
||||
import io.anuke.mindustry.type.*;
|
||||
import io.anuke.mindustry.ui.dialogs.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import io.anuke.mindustry.world.blocks.storage.*;
|
||||
import arc.*;
|
||||
import arc.assets.*;
|
||||
import arc.audio.*;
|
||||
import arc.struct.*;
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.input.*;
|
||||
import arc.math.geom.*;
|
||||
import arc.scene.ui.*;
|
||||
import arc.util.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.core.GameState.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.input.*;
|
||||
import mindustry.maps.Map;
|
||||
import mindustry.type.*;
|
||||
import mindustry.ui.dialogs.*;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.blocks.storage.*;
|
||||
|
||||
import java.io.*;
|
||||
import java.text.*;
|
||||
import java.util.*;
|
||||
|
||||
import static io.anuke.arc.Core.*;
|
||||
import static io.anuke.mindustry.Vars.net;
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static arc.Core.*;
|
||||
import static mindustry.Vars.net;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
/**
|
||||
* Control module.
|
||||
@@ -63,7 +63,7 @@ public class Control implements ApplicationListener, Loadable{
|
||||
});
|
||||
|
||||
Events.on(PlayEvent.class, event -> {
|
||||
player.setTeam(state.rules.pvp ? netServer.assignTeam(player, playerGroup.all()) : defaultTeam);
|
||||
player.setTeam(netServer.assignTeam(player, playerGroup.all()));
|
||||
player.setDead(true);
|
||||
player.add();
|
||||
|
||||
@@ -256,9 +256,9 @@ public class Control implements ApplicationListener, Loadable{
|
||||
world.loadGenerator(zone.generator);
|
||||
zone.rules.get(state.rules);
|
||||
state.rules.zone = zone;
|
||||
for(Tile core : state.teams.get(defaultTeam).cores){
|
||||
for(TileEntity core : state.teams.playerCores()){
|
||||
for(ItemStack stack : zone.getStartingItems()){
|
||||
core.entity.items.add(stack.item, stack.amount);
|
||||
core.items.add(stack.item, stack.amount);
|
||||
}
|
||||
}
|
||||
state.set(State.playing);
|
||||
@@ -294,8 +294,8 @@ public class Control implements ApplicationListener, Loadable{
|
||||
|
||||
Geometry.circle(coreb.x, coreb.y, 10, (cx, cy) -> {
|
||||
Tile tile = world.ltile(cx, cy);
|
||||
if(tile != null && tile.getTeam() == defaultTeam && !(tile.block() instanceof CoreBlock)){
|
||||
world.removeBlock(tile);
|
||||
if(tile != null && tile.getTeam() == state.rules.defaultTeam && !(tile.block() instanceof CoreBlock)){
|
||||
tile.remove();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -305,13 +305,13 @@ public class Control implements ApplicationListener, Loadable{
|
||||
|
||||
zone.rules.get(state.rules);
|
||||
state.rules.zone = zone;
|
||||
for(Tile core : state.teams.get(defaultTeam).cores){
|
||||
for(TileEntity core : state.teams.playerCores()){
|
||||
for(ItemStack stack : zone.getStartingItems()){
|
||||
core.entity.items.add(stack.item, stack.amount);
|
||||
core.items.add(stack.item, stack.amount);
|
||||
}
|
||||
}
|
||||
Tile core = state.teams.get(defaultTeam).cores.first();
|
||||
core.entity.items.clear();
|
||||
TileEntity core = state.teams.playerCores().first();
|
||||
core.items.clear();
|
||||
|
||||
logic.play();
|
||||
state.rules.waveTimer = false;
|
||||
@@ -434,9 +434,9 @@ public class Control implements ApplicationListener, Loadable{
|
||||
input.update();
|
||||
|
||||
if(world.isZone()){
|
||||
for(Tile tile : state.teams.get(player.getTeam()).cores){
|
||||
for(TileEntity tile : state.teams.cores(player.getTeam())){
|
||||
for(Item item : content.items()){
|
||||
if(tile.entity != null && tile.entity.items.has(item)){
|
||||
if(tile.items.has(item)){
|
||||
data.unlockContent(item);
|
||||
}
|
||||
}
|
||||
@@ -456,7 +456,7 @@ public class Control implements ApplicationListener, Loadable{
|
||||
state.set(state.is(State.playing) ? State.paused : State.playing);
|
||||
}
|
||||
|
||||
if(Core.input.keyTap(Binding.menu) && !ui.restart.isShown()){
|
||||
if(Core.input.keyTap(Binding.menu) && !ui.restart.isShown() && !ui.minimapfrag.shown()){
|
||||
if(ui.chatfrag.shown()){
|
||||
ui.chatfrag.hide();
|
||||
}else if(!ui.paused.isShown() && !scene.hasDialog()){
|
||||
@@ -1,9 +1,9 @@
|
||||
package io.anuke.mindustry.core;
|
||||
package mindustry.core;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.assets.loaders.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.files.*;
|
||||
import arc.*;
|
||||
import arc.assets.loaders.*;
|
||||
import arc.struct.*;
|
||||
import arc.files.*;
|
||||
|
||||
/** Handles files in a modded context. */
|
||||
public class FileTree implements FileHandleResolver{
|
||||
@@ -1,12 +1,11 @@
|
||||
package io.anuke.mindustry.core;
|
||||
package mindustry.core;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.entities.type.base.*;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import arc.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.game.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class GameState{
|
||||
/** Current wave number, can be anything in non-wave modes. */
|
||||
@@ -26,12 +25,8 @@ public class GameState{
|
||||
/** Current game state. */
|
||||
private State state = State.menu;
|
||||
|
||||
public int enemies(){
|
||||
return net.client() ? enemies : unitGroups[waveTeam.ordinal()].count(b -> !(b instanceof BaseDrone));
|
||||
}
|
||||
|
||||
public BaseUnit boss(){
|
||||
return unitGroups[waveTeam.ordinal()].find(BaseUnit::isBoss);
|
||||
return unitGroup.find(u -> u.isBoss() && u.getTeam() == rules.waveTeam);
|
||||
}
|
||||
|
||||
public void set(State astate){
|
||||
@@ -1,26 +1,26 @@
|
||||
package io.anuke.mindustry.core;
|
||||
package mindustry.core;
|
||||
|
||||
import io.anuke.annotations.Annotations.*;
|
||||
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.*;
|
||||
import io.anuke.mindustry.entities.*;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.game.Teams.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.type.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import io.anuke.mindustry.world.blocks.*;
|
||||
import io.anuke.mindustry.world.blocks.BuildBlock.*;
|
||||
import io.anuke.mindustry.world.blocks.power.*;
|
||||
import arc.*;
|
||||
import arc.util.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.core.GameState.*;
|
||||
import mindustry.ctype.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.game.Teams.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.blocks.*;
|
||||
import mindustry.world.blocks.BuildBlock.*;
|
||||
import mindustry.world.blocks.power.*;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
/**
|
||||
* Logic module.
|
||||
@@ -47,8 +47,8 @@ public class Logic implements ApplicationListener{
|
||||
//blocks that get broken are appended to the team's broken block queue
|
||||
Tile tile = event.tile;
|
||||
Block block = tile.block();
|
||||
//skip null entities or nukes, for obvious reasons
|
||||
if(tile.entity == null || tile.block() instanceof NuclearReactor) return;
|
||||
//skip null entities or un-rebuildables, for obvious reasons; also skip client since they can't modify these requests
|
||||
if(tile.entity == null || !tile.block().rebuildable || net.client()) return;
|
||||
|
||||
if(block instanceof BuildBlock){
|
||||
|
||||
@@ -107,9 +107,9 @@ public class Logic implements ApplicationListener{
|
||||
|
||||
//add starting items
|
||||
if(!world.isZone()){
|
||||
for(Team team : Team.all){
|
||||
if(!state.teams.get(team).cores.isEmpty()){
|
||||
TileEntity entity = state.teams.get(team).cores.first().entity;
|
||||
for(TeamData team : state.teams.getActive()){
|
||||
if(team.hasCore()){
|
||||
TileEntity entity = team.core();
|
||||
entity.items.clear();
|
||||
for(ItemStack stack : state.rules.loadout){
|
||||
entity.items.add(stack.item, stack.amount);
|
||||
@@ -143,23 +143,23 @@ public class Logic implements ApplicationListener{
|
||||
}
|
||||
|
||||
private void checkGameOver(){
|
||||
if(!state.rules.attackMode && state.teams.get(defaultTeam).cores.size == 0 && !state.gameOver){
|
||||
if(!state.rules.attackMode && state.teams.playerCores().size == 0 && !state.gameOver){
|
||||
state.gameOver = true;
|
||||
Events.fire(new GameOverEvent(waveTeam));
|
||||
Events.fire(new GameOverEvent(state.rules.waveTeam));
|
||||
}else if(state.rules.attackMode){
|
||||
Team alive = null;
|
||||
|
||||
for(Team team : Team.all){
|
||||
if(state.teams.get(team).cores.size > 0){
|
||||
for(TeamData team : state.teams.getActive()){
|
||||
if(team.hasCore()){
|
||||
if(alive != null){
|
||||
return;
|
||||
}
|
||||
alive = team;
|
||||
alive = team.team;
|
||||
}
|
||||
}
|
||||
|
||||
if(alive != null && !state.gameOver){
|
||||
if(world.isZone() && alive == defaultTeam){
|
||||
if(world.isZone() && alive == state.rules.defaultTeam){
|
||||
//in attack maps, a victorious game over is equivalent to a launch
|
||||
Call.launchZone();
|
||||
}else{
|
||||
@@ -176,7 +176,7 @@ public class Logic implements ApplicationListener{
|
||||
ui.hudfrag.showLaunch();
|
||||
}
|
||||
|
||||
for(Tile tile : state.teams.get(defaultTeam).cores){
|
||||
for(TileEntity tile : state.teams.playerCores()){
|
||||
Effects.effect(Fx.launch, tile);
|
||||
}
|
||||
|
||||
@@ -185,19 +185,18 @@ public class Logic implements ApplicationListener{
|
||||
}
|
||||
|
||||
Time.runTask(30f, () -> {
|
||||
for(Tile tile : state.teams.get(defaultTeam).cores){
|
||||
for(TileEntity entity : state.teams.playerCores()){
|
||||
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)));
|
||||
data.addItem(item, entity.items.get(item));
|
||||
Events.fire(new LaunchItemEvent(item, entity.items.get(item)));
|
||||
}
|
||||
world.removeBlock(tile);
|
||||
entity.tile.remove();
|
||||
}
|
||||
state.launched = true;
|
||||
state.gameOver = true;
|
||||
Events.fire(new LaunchEvent());
|
||||
//manually fire game over event now
|
||||
Events.fire(new GameOverEvent(defaultTeam));
|
||||
Events.fire(new GameOverEvent(state.rules.defaultTeam));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -210,14 +209,18 @@ public class Logic implements ApplicationListener{
|
||||
|
||||
@Override
|
||||
public void update(){
|
||||
Events.fire(Trigger.update);
|
||||
|
||||
if(!state.is(State.menu)){
|
||||
if(!net.client()){
|
||||
state.enemies = unitGroup.count(b -> b.getTeam() == state.rules.waveTeam && b.countsAsEnemy());
|
||||
}
|
||||
|
||||
if(!state.isPaused()){
|
||||
Time.update();
|
||||
|
||||
if(state.rules.waves && state.rules.waveTimer && !state.gameOver){
|
||||
if(!state.rules.waitForWaveToEnd || unitGroups[waveTeam.ordinal()].size() == 0){
|
||||
if(!state.rules.waitForWaveToEnd || state.enemies == 0){
|
||||
state.wavetime = Math.max(state.wavetime - Time.delta(), 0);
|
||||
}
|
||||
}
|
||||
@@ -232,20 +235,15 @@ public class Logic implements ApplicationListener{
|
||||
}
|
||||
|
||||
if(!state.isEditor()){
|
||||
for(EntityGroup group : unitGroups){
|
||||
group.update();
|
||||
}
|
||||
|
||||
unitGroup.update();
|
||||
puddleGroup.update();
|
||||
shieldGroup.update();
|
||||
bulletGroup.update();
|
||||
tileGroup.update();
|
||||
fireGroup.update();
|
||||
}else{
|
||||
for(EntityGroup<?> group : unitGroups){
|
||||
group.updateEvents();
|
||||
collisions.updatePhysics(group);
|
||||
}
|
||||
unitGroup.updateEvents();
|
||||
collisions.updatePhysics(unitGroup);
|
||||
}
|
||||
|
||||
|
||||
@@ -257,17 +255,13 @@ public class Logic implements ApplicationListener{
|
||||
}
|
||||
|
||||
if(!state.isEditor()){
|
||||
|
||||
for(EntityGroup group : unitGroups){
|
||||
if(group.isEmpty()) continue;
|
||||
collisions.collideGroups(bulletGroup, group);
|
||||
}
|
||||
|
||||
//bulletGroup
|
||||
collisions.collideGroups(bulletGroup, unitGroup);
|
||||
collisions.collideGroups(bulletGroup, playerGroup);
|
||||
}
|
||||
}
|
||||
|
||||
if(!net.client() && !world.isInvalidMap() && !state.isEditor()){
|
||||
if(!net.client() && !world.isInvalidMap() && !state.isEditor() && state.rules.canGameOver){
|
||||
checkGameOver();
|
||||
}
|
||||
}
|
||||
@@ -1,36 +1,36 @@
|
||||
package io.anuke.mindustry.core;
|
||||
package mindustry.core;
|
||||
|
||||
import io.anuke.annotations.Annotations.*;
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.util.CommandHandler.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.arc.util.io.*;
|
||||
import io.anuke.arc.util.serialization.*;
|
||||
import io.anuke.mindustry.*;
|
||||
import io.anuke.mindustry.core.GameState.*;
|
||||
import io.anuke.mindustry.ctype.ContentType;
|
||||
import io.anuke.mindustry.entities.*;
|
||||
import io.anuke.mindustry.entities.traits.BuilderTrait.*;
|
||||
import io.anuke.mindustry.entities.traits.*;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.net.Administration.*;
|
||||
import io.anuke.mindustry.net.Net.*;
|
||||
import io.anuke.mindustry.net.*;
|
||||
import io.anuke.mindustry.net.Packets.*;
|
||||
import io.anuke.mindustry.type.TypeID;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import io.anuke.mindustry.world.modules.*;
|
||||
import arc.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import arc.struct.*;
|
||||
import arc.graphics.*;
|
||||
import arc.math.*;
|
||||
import arc.util.CommandHandler.*;
|
||||
import arc.util.*;
|
||||
import arc.util.io.*;
|
||||
import arc.util.serialization.*;
|
||||
import mindustry.*;
|
||||
import mindustry.core.GameState.*;
|
||||
import mindustry.ctype.ContentType;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.entities.traits.BuilderTrait.*;
|
||||
import mindustry.entities.traits.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.net.Administration.*;
|
||||
import mindustry.net.Net.*;
|
||||
import mindustry.net.*;
|
||||
import mindustry.net.Packets.*;
|
||||
import mindustry.type.TypeID;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.modules.*;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.zip.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class NetClient implements ApplicationListener{
|
||||
private final static float dataTimeout = 60 * 18;
|
||||
@@ -160,9 +160,17 @@ public class NetClient implements ApplicationListener{
|
||||
throw new ValidateException(player, "Player has sent a message above the text limit.");
|
||||
}
|
||||
|
||||
Events.fire(new PlayerChatEvent(player, message));
|
||||
|
||||
//check if it's a command
|
||||
CommandResponse response = netServer.clientCommands.handleMessage(message, player);
|
||||
if(response.type == ResponseType.noCommand){ //no command to handle
|
||||
message = netServer.admins.filterMessage(player, message);
|
||||
//supress chat message if it's filtered out
|
||||
if(message == null){
|
||||
return;
|
||||
}
|
||||
|
||||
//server console logging
|
||||
Log.info("&y{0}: &lb{1}", player.name, message);
|
||||
|
||||
@@ -189,8 +197,6 @@ public class NetClient implements ApplicationListener{
|
||||
player.sendMessage(text);
|
||||
}
|
||||
}
|
||||
|
||||
Events.fire(new PlayerChatEvent(player, message));
|
||||
}
|
||||
|
||||
public static String colorizeName(int id, String name){
|
||||
@@ -507,7 +513,7 @@ public class NetClient implements ApplicationListener{
|
||||
return Core.settings.getString("usid-" + ip, null);
|
||||
}else{
|
||||
byte[] bytes = new byte[8];
|
||||
new RandomXS128().nextBytes(bytes);
|
||||
new Rand().nextBytes(bytes);
|
||||
String result = new String(Base64Coder.encode(bytes));
|
||||
Core.settings.put("usid-" + ip, result);
|
||||
Core.settings.save();
|
||||
@@ -1,44 +1,66 @@
|
||||
package io.anuke.mindustry.core;
|
||||
package mindustry.core;
|
||||
|
||||
import io.anuke.annotations.Annotations.*;
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.math.geom.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.arc.util.CommandHandler.*;
|
||||
import io.anuke.arc.util.io.*;
|
||||
import io.anuke.mindustry.content.*;
|
||||
import io.anuke.mindustry.core.GameState.*;
|
||||
import io.anuke.mindustry.entities.*;
|
||||
import io.anuke.mindustry.entities.traits.BuilderTrait.*;
|
||||
import io.anuke.mindustry.entities.traits.*;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.net.*;
|
||||
import io.anuke.mindustry.net.Administration.*;
|
||||
import io.anuke.mindustry.net.Packets.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import arc.*;
|
||||
import arc.graphics.*;
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import arc.util.CommandHandler.*;
|
||||
import arc.util.io.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.core.GameState.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.entities.traits.BuilderTrait.*;
|
||||
import mindustry.entities.traits.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.net.Administration;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.game.Teams.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.net.*;
|
||||
import mindustry.net.Administration.*;
|
||||
import mindustry.net.Packets.*;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.blocks.storage.CoreBlock.*;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.*;
|
||||
import java.nio.*;
|
||||
import java.util.zip.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static arc.util.Log.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class NetServer implements ApplicationListener{
|
||||
private final static int maxSnapshotSize = 430, timerBlockSync = 0;
|
||||
private final static float serverSyncTime = 12, kickDuration = 30 * 1000, blockSyncTime = 60 * 10;
|
||||
private final static Vector2 vector = new Vector2();
|
||||
private final static Rectangle viewport = new Rectangle();
|
||||
private final static float serverSyncTime = 12, blockSyncTime = 60 * 8;
|
||||
private final static Vec2 vector = new Vec2();
|
||||
private final static Rect viewport = new Rect();
|
||||
/** If a player goes away of their server-side coordinates by this distance, they get teleported back. */
|
||||
private final static float correctDist = 16f;
|
||||
|
||||
public final Administration admins = new Administration();
|
||||
public final CommandHandler clientCommands = new CommandHandler("/");
|
||||
public TeamAssigner assigner = (player, players) -> {
|
||||
if(state.rules.pvp){
|
||||
//find team with minimum amount of players and auto-assign player to that.
|
||||
TeamData re = state.teams.getActive().min(data -> {
|
||||
int count = 0;
|
||||
for(Player other : players){
|
||||
if(other.getTeam() == data.team && other != player){
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return count;
|
||||
});
|
||||
return re == null ? null : re.team;
|
||||
}
|
||||
|
||||
return state.rules.defaultTeam;
|
||||
};
|
||||
|
||||
private boolean closing = false;
|
||||
private Interval timer = new Interval();
|
||||
@@ -54,7 +76,7 @@ public class NetServer implements ApplicationListener{
|
||||
public NetServer(){
|
||||
|
||||
net.handleServer(Connect.class, (con, connect) -> {
|
||||
if(admins.isIPBanned(connect.addressTCP)){
|
||||
if(admins.isIPBanned(connect.addressTCP) || admins.isSubnetBanned(connect.addressTCP)){
|
||||
con.kick(KickReason.banned);
|
||||
}
|
||||
});
|
||||
@@ -72,7 +94,7 @@ public class NetServer implements ApplicationListener{
|
||||
|
||||
String uuid = packet.uuid;
|
||||
|
||||
if(admins.isIPBanned(con.address)) return;
|
||||
if(admins.isIPBanned(con.address) || admins.isSubnetBanned(con.address)) return;
|
||||
|
||||
if(con.hasBegunConnecting){
|
||||
con.kick(KickReason.idInUse);
|
||||
@@ -94,7 +116,7 @@ public class NetServer implements ApplicationListener{
|
||||
return;
|
||||
}
|
||||
|
||||
if(Time.millis() - info.lastKicked < kickDuration){
|
||||
if(Time.millis() < info.lastKicked){
|
||||
con.kick(KickReason.recentKick);
|
||||
return;
|
||||
}
|
||||
@@ -197,10 +219,7 @@ public class NetServer implements ApplicationListener{
|
||||
con.player = player;
|
||||
|
||||
//playing in pvp mode automatically assigns players to teams
|
||||
if(state.rules.pvp){
|
||||
player.setTeam(assignTeam(player, playerGroup.all()));
|
||||
Log.info("Auto-assigned player {0} to team {1}.", player.name, player.getTeam());
|
||||
}
|
||||
player.setTeam(assignTeam(player, playerGroup.all()));
|
||||
|
||||
sendWorldData(player);
|
||||
|
||||
@@ -303,6 +322,11 @@ public class NetServer implements ApplicationListener{
|
||||
VoteSession[] currentlyKicking = {null};
|
||||
|
||||
clientCommands.<Player>register("votekick", "[player...]", "Vote to kick a player, with a cooldown.", (args, player) -> {
|
||||
if(!Config.enableVotekick.bool()){
|
||||
player.sendMessage("[scarlet]Vote-kick is disabled on this server.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(playerGroup.size() < 3){
|
||||
player.sendMessage("[scarlet]At least 3 players are needed to start a votekick.");
|
||||
return;
|
||||
@@ -390,6 +414,12 @@ public class NetServer implements ApplicationListener{
|
||||
if(player.isLocal){
|
||||
player.sendMessage("[scarlet]Re-synchronizing as the host is pointless.");
|
||||
}else{
|
||||
if(Time.timeSinceMillis(player.getInfo().lastSyncTime) < 1000 * 5){
|
||||
player.sendMessage("[scarlet]You may only /sync every 5 seconds.");
|
||||
return;
|
||||
}
|
||||
|
||||
player.getInfo().lastSyncTime = Time.millis();
|
||||
Call.onWorldDataBegin(player.con);
|
||||
netServer.sendWorldData(player);
|
||||
}
|
||||
@@ -401,19 +431,7 @@ public class NetServer implements ApplicationListener{
|
||||
}
|
||||
|
||||
public Team assignTeam(Player current, Iterable<Player> players){
|
||||
//find team with minimum amount of players and auto-assign player to that.
|
||||
return Structs.findMin(Team.all, team -> {
|
||||
if(state.teams.isActive(team) && !state.teams.get(team).cores.isEmpty()){
|
||||
int count = 0;
|
||||
for(Player other : players){
|
||||
if(other.getTeam() == team && other != current){
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return count;
|
||||
}
|
||||
return Integer.MAX_VALUE;
|
||||
});
|
||||
return assigner.assign(current, players);
|
||||
}
|
||||
|
||||
public void sendWorldData(Player player){
|
||||
@@ -437,7 +455,7 @@ public class NetServer implements ApplicationListener{
|
||||
if(!player.con.hasDisconnected){
|
||||
if(player.con.hasConnected){
|
||||
Events.fire(new PlayerLeave(player));
|
||||
Call.sendMessage("[accent]" + player.name + "[accent] has disconnected.");
|
||||
if(Config.showConnectMessages.bool()) Call.sendMessage("[accent]" + player.name + "[accent] has disconnected.");
|
||||
Call.onPlayerDisconnect(player.id);
|
||||
}
|
||||
|
||||
@@ -575,17 +593,21 @@ public class NetServer implements ApplicationListener{
|
||||
|
||||
player.add();
|
||||
player.con.hasConnected = true;
|
||||
Call.sendMessage("[accent]" + player.name + "[accent] has connected.");
|
||||
if(Config.showConnectMessages.bool()) Call.sendMessage("[accent]" + player.name + "[accent] has connected.");
|
||||
Log.info("&lm[{1}] &y{0} has connected. ", player.name, player.uuid);
|
||||
|
||||
if(!Config.motd.string().equalsIgnoreCase("off")){
|
||||
player.sendMessage(Config.motd.string());
|
||||
}
|
||||
|
||||
Events.fire(new PlayerJoin(player));
|
||||
}
|
||||
|
||||
public boolean isWaitingForPlayers(){
|
||||
if(state.rules.pvp){
|
||||
int used = 0;
|
||||
for(Team t : Team.all){
|
||||
if(playerGroup.count(p -> p.getTeam() == t) > 0){
|
||||
for(TeamData t : state.teams.getActive()){
|
||||
if(playerGroup.count(p -> p.getTeam() == t.team) > 0){
|
||||
used++;
|
||||
}
|
||||
}
|
||||
@@ -594,6 +616,7 @@ public class NetServer implements ApplicationListener{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(){
|
||||
|
||||
if(!headless && !closing && net.server() && state.is(State.menu)){
|
||||
@@ -611,6 +634,20 @@ public class NetServer implements ApplicationListener{
|
||||
}
|
||||
}
|
||||
|
||||
/** Should only be used on the headless backend. */
|
||||
public void openServer(){
|
||||
try{
|
||||
net.host(Config.port.num());
|
||||
info("&lcOpened a server on port {0}.", Config.port.num());
|
||||
}catch(BindException e){
|
||||
Log.err("Unable to host: Port already in use! Make sure no other servers are running on the same port in your network.");
|
||||
state.set(State.menu);
|
||||
}catch(IOException e){
|
||||
err(e);
|
||||
state.set(State.menu);
|
||||
}
|
||||
}
|
||||
|
||||
public void kickAll(KickReason reason){
|
||||
for(NetConnection con : net.getConnections()){
|
||||
con.kick(reason);
|
||||
@@ -647,20 +684,20 @@ public class NetServer implements ApplicationListener{
|
||||
|
||||
public void writeEntitySnapshot(Player player) throws IOException{
|
||||
syncStream.reset();
|
||||
ObjectSet<Tile> cores = state.teams.get(player.getTeam()).cores;
|
||||
Array<CoreEntity> cores = state.teams.cores(player.getTeam());
|
||||
|
||||
dataStream.writeByte(cores.size);
|
||||
|
||||
for(Tile tile : cores){
|
||||
dataStream.writeInt(tile.pos());
|
||||
tile.entity.items.write(dataStream);
|
||||
for(CoreEntity entity : cores){
|
||||
dataStream.writeInt(entity.tile.pos());
|
||||
entity.items.write(dataStream);
|
||||
}
|
||||
|
||||
dataStream.close();
|
||||
byte[] stateBytes = syncStream.toByteArray();
|
||||
|
||||
//write basic state data.
|
||||
Call.onStateSnapshot(player.con, state.wavetime, state.wave, state.enemies(), (short)stateBytes.length, net.compressSnapshot(stateBytes));
|
||||
Call.onStateSnapshot(player.con, state.wavetime, state.wave, state.enemies, (short)stateBytes.length, net.compressSnapshot(stateBytes));
|
||||
|
||||
viewport.setSize(player.con.viewWidth, player.con.viewHeight).setCenter(player.con.viewX, player.con.viewY);
|
||||
|
||||
@@ -784,4 +821,8 @@ public class NetServer implements ApplicationListener{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public interface TeamAssigner{
|
||||
Team assign(Player player, Iterable<Player> players);
|
||||
}
|
||||
}
|
||||
@@ -1,21 +1,21 @@
|
||||
package io.anuke.mindustry.core;
|
||||
package mindustry.core;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.Input.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.files.*;
|
||||
import io.anuke.arc.func.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.scene.ui.*;
|
||||
import io.anuke.arc.util.serialization.*;
|
||||
import io.anuke.mindustry.mod.*;
|
||||
import io.anuke.mindustry.net.*;
|
||||
import io.anuke.mindustry.net.Net.*;
|
||||
import io.anuke.mindustry.type.*;
|
||||
import io.anuke.mindustry.ui.dialogs.*;
|
||||
import arc.*;
|
||||
import arc.Input.*;
|
||||
import arc.struct.*;
|
||||
import arc.files.*;
|
||||
import arc.func.*;
|
||||
import arc.math.*;
|
||||
import arc.scene.ui.*;
|
||||
import arc.util.serialization.*;
|
||||
import mindustry.mod.*;
|
||||
import mindustry.net.*;
|
||||
import mindustry.net.Net.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.ui.dialogs.*;
|
||||
import org.mozilla.javascript.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.mobile;
|
||||
import static mindustry.Vars.mobile;
|
||||
|
||||
public interface Platform{
|
||||
|
||||
@@ -90,7 +90,7 @@ public interface Platform{
|
||||
String uuid = Core.settings.getString("uuid", "");
|
||||
if(uuid.isEmpty()){
|
||||
byte[] result = new byte[8];
|
||||
new RandomXS128().nextBytes(result);
|
||||
new Rand().nextBytes(result);
|
||||
uuid = new String(Base64Coder.encode(result));
|
||||
Core.settings.put("uuid", uuid);
|
||||
Core.settings.save();
|
||||
@@ -1,32 +1,31 @@
|
||||
package io.anuke.mindustry.core;
|
||||
package mindustry.core;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.files.*;
|
||||
import io.anuke.arc.func.*;
|
||||
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.scene.ui.layout.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.arc.util.pooling.*;
|
||||
import io.anuke.mindustry.content.*;
|
||||
import io.anuke.mindustry.core.GameState.*;
|
||||
import io.anuke.mindustry.entities.*;
|
||||
import io.anuke.mindustry.entities.effect.*;
|
||||
import io.anuke.mindustry.entities.effect.GroundEffectEntity.*;
|
||||
import io.anuke.mindustry.entities.traits.*;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
import io.anuke.mindustry.input.*;
|
||||
import io.anuke.mindustry.ui.Cicon;
|
||||
import io.anuke.mindustry.world.blocks.defense.ForceProjector.*;
|
||||
import arc.*;
|
||||
import arc.files.*;
|
||||
import arc.func.*;
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.graphics.gl.*;
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
import arc.scene.ui.layout.*;
|
||||
import arc.util.*;
|
||||
import arc.util.pooling.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.core.GameState.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.entities.effect.*;
|
||||
import mindustry.entities.effect.GroundEffectEntity.*;
|
||||
import mindustry.entities.traits.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.input.*;
|
||||
import mindustry.ui.*;
|
||||
import mindustry.world.blocks.defense.ForceProjector.*;
|
||||
|
||||
import static io.anuke.arc.Core.*;
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static arc.Core.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class Renderer implements ApplicationListener{
|
||||
public final BlockRenderer blocks = new BlockRenderer();
|
||||
@@ -42,7 +41,7 @@ public class Renderer implements ApplicationListener{
|
||||
private float camerascale = targetscale;
|
||||
private float landscale = 0f, landTime;
|
||||
private float minZoomScl = Scl.scl(0.01f);
|
||||
private Rectangle rect = new Rectangle(), rect2 = new Rectangle();
|
||||
private Rect rect = new Rect(), rect2 = new Rect();
|
||||
private float shakeIntensity, shaketime;
|
||||
|
||||
public Renderer(){
|
||||
@@ -57,8 +56,8 @@ public class Renderer implements ApplicationListener{
|
||||
Effects.setEffectProvider((effect, color, x, y, rotation, data) -> {
|
||||
if(effect == Fx.none) return;
|
||||
if(Core.settings.getBool("effects")){
|
||||
Rectangle view = camera.bounds(rect);
|
||||
Rectangle pos = rect2.setSize(effect.size).setCenter(x, y);
|
||||
Rect view = camera.bounds(rect);
|
||||
Rect pos = rect2.setSize(effect.size).setCenter(x, y);
|
||||
|
||||
if(view.overlaps(pos)){
|
||||
|
||||
@@ -120,16 +119,18 @@ public class Renderer implements ApplicationListener{
|
||||
landTime = 0f;
|
||||
graphics.clear(Color.black);
|
||||
}else{
|
||||
Vector2 position = Tmp.v3.set(player);
|
||||
Vec2 position = Tmp.v3.set(player);
|
||||
|
||||
if(player.isDead()){
|
||||
TileEntity core = player.getClosestCore();
|
||||
if(core != null && player.spawner == null){
|
||||
camera.position.lerpDelta(core.x, core.y, 0.08f);
|
||||
}else{
|
||||
camera.position.lerpDelta(position, 0.08f);
|
||||
if(core != null){
|
||||
if(player.spawner == null){
|
||||
camera.position.lerpDelta(core.x, core.y, 0.08f);
|
||||
}else{
|
||||
camera.position.lerpDelta(position, 0.08f);
|
||||
}
|
||||
}
|
||||
}else if(control.input instanceof DesktopInput){
|
||||
}else if(control.input instanceof DesktopInput && !state.isPaused()){
|
||||
camera.position.lerpDelta(position, 0.08f);
|
||||
}
|
||||
|
||||
@@ -344,11 +345,7 @@ public class Renderer implements ApplicationListener{
|
||||
Draw.rect("circle-shadow", u.x, u.y, size * rad, size * rad);
|
||||
};
|
||||
|
||||
for(EntityGroup<? extends BaseUnit> group : unitGroups){
|
||||
if(!group.isEmpty()){
|
||||
group.draw(unit -> !unit.isDead(), draw::get);
|
||||
}
|
||||
}
|
||||
unitGroup.draw(unit -> !unit.isDead(), draw::get);
|
||||
|
||||
if(!playerGroup.isEmpty()){
|
||||
playerGroup.draw(unit -> !unit.isDead(), draw::get);
|
||||
@@ -361,34 +358,21 @@ public class Renderer implements ApplicationListener{
|
||||
float trnsX = -12, trnsY = -13;
|
||||
Draw.color(0, 0, 0, 0.22f);
|
||||
|
||||
for(EntityGroup<? extends BaseUnit> group : unitGroups){
|
||||
if(!group.isEmpty()){
|
||||
group.draw(unit -> unit.isFlying() && !unit.isDead(), baseUnit -> baseUnit.drawShadow(trnsX, trnsY));
|
||||
}
|
||||
}
|
||||
|
||||
if(!playerGroup.isEmpty()){
|
||||
playerGroup.draw(unit -> unit.isFlying() && !unit.isDead(), player -> player.drawShadow(trnsX, trnsY));
|
||||
}
|
||||
unitGroup.draw(unit -> unit.isFlying() && !unit.isDead(), baseUnit -> baseUnit.drawShadow(trnsX, trnsY));
|
||||
playerGroup.draw(unit -> unit.isFlying() && !unit.isDead(), player -> player.drawShadow(trnsX, trnsY));
|
||||
|
||||
Draw.color();
|
||||
}
|
||||
|
||||
private void drawAllTeams(boolean flying){
|
||||
for(Team team : Team.all){
|
||||
EntityGroup<BaseUnit> group = unitGroups[team.ordinal()];
|
||||
unitGroup.draw(u -> u.isFlying() == flying && !u.isDead(), Unit::drawUnder);
|
||||
playerGroup.draw(p -> p.isFlying() == flying && !p.isDead(), Unit::drawUnder);
|
||||
|
||||
if(group.count(p -> p.isFlying() == flying) + playerGroup.count(p -> p.isFlying() == flying && p.getTeam() == team) == 0 && flying) continue;
|
||||
unitGroup.draw(u -> u.isFlying() == flying && !u.isDead(), Unit::drawAll);
|
||||
playerGroup.draw(p -> p.isFlying() == flying, Unit::drawAll);
|
||||
|
||||
unitGroups[team.ordinal()].draw(u -> u.isFlying() == flying && !u.isDead(), Unit::drawUnder);
|
||||
playerGroup.draw(p -> p.isFlying() == flying && p.getTeam() == team && !p.isDead(), Unit::drawUnder);
|
||||
|
||||
unitGroups[team.ordinal()].draw(u -> u.isFlying() == flying && !u.isDead(), Unit::drawAll);
|
||||
playerGroup.draw(p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawAll);
|
||||
|
||||
unitGroups[team.ordinal()].draw(u -> u.isFlying() == flying && !u.isDead(), Unit::drawOver);
|
||||
playerGroup.draw(p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawOver);
|
||||
}
|
||||
unitGroup.draw(u -> u.isFlying() == flying && !u.isDead(), Unit::drawOver);
|
||||
playerGroup.draw(p -> p.isFlying() == flying, Unit::drawOver);
|
||||
}
|
||||
|
||||
public void scaleCamera(float amount){
|
||||
@@ -1,48 +1,49 @@
|
||||
package io.anuke.mindustry.core;
|
||||
package mindustry.core;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.Graphics.*;
|
||||
import io.anuke.arc.Graphics.Cursor.*;
|
||||
import io.anuke.arc.Input.*;
|
||||
import io.anuke.arc.assets.*;
|
||||
import io.anuke.arc.assets.loaders.*;
|
||||
import io.anuke.arc.assets.loaders.resolvers.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.files.*;
|
||||
import io.anuke.arc.freetype.*;
|
||||
import io.anuke.arc.freetype.FreeTypeFontGenerator.*;
|
||||
import io.anuke.arc.freetype.FreetypeFontLoader.*;
|
||||
import io.anuke.arc.func.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.graphics.Texture.*;
|
||||
import io.anuke.arc.graphics.g2d.*;
|
||||
import io.anuke.arc.input.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.scene.*;
|
||||
import io.anuke.arc.scene.actions.*;
|
||||
import io.anuke.arc.scene.event.*;
|
||||
import io.anuke.arc.scene.ui.*;
|
||||
import io.anuke.arc.scene.ui.TextField.*;
|
||||
import io.anuke.arc.scene.ui.Tooltip.*;
|
||||
import io.anuke.arc.scene.ui.layout.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.core.GameState.*;
|
||||
import io.anuke.mindustry.editor.*;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
import io.anuke.mindustry.ui.*;
|
||||
import io.anuke.mindustry.ui.dialogs.*;
|
||||
import io.anuke.mindustry.ui.fragments.*;
|
||||
import arc.*;
|
||||
import arc.Graphics.*;
|
||||
import arc.Graphics.Cursor.*;
|
||||
import arc.Input.*;
|
||||
import arc.assets.*;
|
||||
import arc.assets.loaders.*;
|
||||
import arc.assets.loaders.resolvers.*;
|
||||
import arc.struct.*;
|
||||
import arc.files.*;
|
||||
import arc.freetype.*;
|
||||
import arc.freetype.FreeTypeFontGenerator.*;
|
||||
import arc.freetype.FreetypeFontLoader.*;
|
||||
import arc.func.*;
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.Texture.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.input.*;
|
||||
import arc.math.*;
|
||||
import arc.scene.*;
|
||||
import arc.scene.actions.*;
|
||||
import arc.scene.event.*;
|
||||
import arc.scene.ui.*;
|
||||
import arc.scene.ui.TextField.*;
|
||||
import arc.scene.ui.Tooltip.*;
|
||||
import arc.scene.ui.layout.*;
|
||||
import arc.util.*;
|
||||
import mindustry.core.GameState.*;
|
||||
import mindustry.editor.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.ui.*;
|
||||
import mindustry.ui.dialogs.*;
|
||||
import mindustry.ui.fragments.*;
|
||||
|
||||
import static io.anuke.arc.scene.actions.Actions.*;
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static arc.scene.actions.Actions.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class UI implements ApplicationListener, Loadable{
|
||||
public MenuFragment menufrag;
|
||||
public HudFragment hudfrag;
|
||||
public ChatFragment chatfrag;
|
||||
public ScriptConsoleFragment scriptfrag;
|
||||
public MinimapFragment minimapfrag;
|
||||
public PlayerListFragment listfrag;
|
||||
public LoadingFragment loadfrag;
|
||||
|
||||
@@ -68,7 +69,7 @@ public class UI implements ApplicationListener, Loadable{
|
||||
public ContentInfoDialog content;
|
||||
public DeployDialog deploy;
|
||||
public TechTreeDialog tech;
|
||||
public MinimapDialog minimap;
|
||||
//public MinimapDialog minimap;
|
||||
public SchematicsDialog schematics;
|
||||
public ModsDialog mods;
|
||||
public ColorPicker picker;
|
||||
@@ -210,6 +211,7 @@ public class UI implements ApplicationListener, Loadable{
|
||||
menufrag = new MenuFragment();
|
||||
hudfrag = new HudFragment();
|
||||
chatfrag = new ChatFragment();
|
||||
minimapfrag = new MinimapFragment();
|
||||
listfrag = new PlayerListFragment();
|
||||
loadfrag = new LoadingFragment();
|
||||
scriptfrag = new ScriptConsoleFragment();
|
||||
@@ -235,7 +237,6 @@ public class UI implements ApplicationListener, Loadable{
|
||||
content = new ContentInfoDialog();
|
||||
deploy = new DeployDialog();
|
||||
tech = new TechTreeDialog();
|
||||
minimap = new MinimapDialog();
|
||||
mods = new ModsDialog();
|
||||
schematics = new SchematicsDialog();
|
||||
|
||||
@@ -254,6 +255,7 @@ public class UI implements ApplicationListener, Loadable{
|
||||
hudfrag.build(hudGroup);
|
||||
menufrag.build(menuGroup);
|
||||
chatfrag.container().build(hudGroup);
|
||||
minimapfrag.build(hudGroup);
|
||||
listfrag.build(hudGroup);
|
||||
scriptfrag.container().build(hudGroup);
|
||||
loadfrag.build(group);
|
||||
@@ -305,7 +307,19 @@ public class UI implements ApplicationListener, Loadable{
|
||||
hide();
|
||||
}).disabled(b -> field.getText().isEmpty());
|
||||
buttons.addButton("$cancel", this::hide);
|
||||
}}.show();
|
||||
keyDown(KeyCode.ENTER, () -> {
|
||||
String text = field.getText();
|
||||
if(!text.isEmpty()){
|
||||
confirmed.get(text);
|
||||
hide();
|
||||
}
|
||||
});
|
||||
keyDown(KeyCode.ESCAPE, this::hide);
|
||||
keyDown(KeyCode.BACK, this::hide);
|
||||
show();
|
||||
Core.scene.setKeyboardFocus(field);
|
||||
field.setCursorPosition(def.length());
|
||||
}};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
package io.anuke.mindustry.core;
|
||||
package mindustry.core;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.Files.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.files.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.arc.util.io.*;
|
||||
import arc.*;
|
||||
import arc.Files.*;
|
||||
import arc.struct.*;
|
||||
import arc.files.*;
|
||||
import arc.util.*;
|
||||
import arc.util.io.*;
|
||||
|
||||
public class Version{
|
||||
/** Build type. 'official' for official releases; 'custom' or 'bleeding edge' are also used. */
|
||||
public static String type;
|
||||
public static String type = "unknown";
|
||||
/** Build modifier, e.g. 'alpha' or 'release' */
|
||||
public static String modifier;
|
||||
public static String modifier = "unknown";
|
||||
/** Number specifying the major version, e.g. '4' */
|
||||
public static int number;
|
||||
/** Build number, e.g. '43'. set to '-1' for custom builds. */
|
||||
@@ -1,25 +1,25 @@
|
||||
package io.anuke.mindustry.core;
|
||||
package mindustry.core;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.math.geom.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.arc.util.ArcAnnotate.*;
|
||||
import io.anuke.mindustry.content.*;
|
||||
import io.anuke.mindustry.core.GameState.*;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.io.*;
|
||||
import io.anuke.mindustry.maps.*;
|
||||
import io.anuke.mindustry.maps.filters.*;
|
||||
import io.anuke.mindustry.maps.filters.GenerateFilter.*;
|
||||
import io.anuke.mindustry.maps.generators.*;
|
||||
import io.anuke.mindustry.type.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import io.anuke.mindustry.world.blocks.*;
|
||||
import arc.*;
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.ArcAnnotate.*;
|
||||
import arc.util.*;
|
||||
import mindustry.core.GameState.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.game.Teams.*;
|
||||
import mindustry.io.*;
|
||||
import mindustry.maps.*;
|
||||
import mindustry.maps.filters.*;
|
||||
import mindustry.maps.filters.GenerateFilter.*;
|
||||
import mindustry.maps.generators.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.blocks.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class World{
|
||||
public final Context context = new Context();
|
||||
@@ -217,7 +217,7 @@ public class World{
|
||||
public void loadMap(Map map, Rules checkRules){
|
||||
try{
|
||||
SaveIO.load(map.file, new FilterContext(map));
|
||||
}catch(Exception e){
|
||||
}catch(Throwable e){
|
||||
Log.err(e);
|
||||
if(!headless){
|
||||
ui.showErrorMessage("$map.invalid");
|
||||
@@ -233,33 +233,22 @@ public class World{
|
||||
invalidMap = false;
|
||||
|
||||
if(!headless){
|
||||
if(state.teams.get(defaultTeam).cores.size == 0 && !checkRules.pvp){
|
||||
if(state.teams.playerCores().size == 0 && !checkRules.pvp){
|
||||
ui.showErrorMessage("$map.nospawn");
|
||||
invalidMap = true;
|
||||
}else if(checkRules.pvp){ //pvp maps need two cores to be valid
|
||||
int teams = 0;
|
||||
for(Team team : Team.all){
|
||||
if(state.teams.get(team).cores.size != 0){
|
||||
teams ++;
|
||||
}
|
||||
}
|
||||
if(teams < 2){
|
||||
if(state.teams.getActive().count(TeamData::hasCore) < 2){
|
||||
invalidMap = true;
|
||||
ui.showErrorMessage("$map.nospawn.pvp");
|
||||
}
|
||||
}else if(checkRules.attackMode){ //attack maps need two cores to be valid
|
||||
invalidMap = state.teams.get(waveTeam).cores.isEmpty();
|
||||
invalidMap = state.teams.get(state.rules.waveTeam).noCores();
|
||||
if(invalidMap){
|
||||
ui.showErrorMessage("$map.nospawn.attack");
|
||||
}
|
||||
}
|
||||
}else{
|
||||
invalidMap = true;
|
||||
for(Team team : Team.all){
|
||||
if(state.teams.get(team).cores.size != 0){
|
||||
invalidMap = false;
|
||||
}
|
||||
}
|
||||
invalidMap = !state.teams.getActive().contains(TeamData::hasCore);
|
||||
|
||||
if(invalidMap){
|
||||
throw new MapException(map, "Map has no cores!");
|
||||
@@ -275,36 +264,6 @@ public class World{
|
||||
}
|
||||
}
|
||||
|
||||
public void removeBlock(Tile tile){
|
||||
if(tile == null) return;
|
||||
tile.link().getLinkedTiles(other -> other.setBlock(Blocks.air));
|
||||
}
|
||||
|
||||
public void setBlock(Tile tile, Block block, Team team){
|
||||
setBlock(tile, block, team, 0);
|
||||
}
|
||||
|
||||
public void setBlock(Tile tile, Block block, Team team, int rotation){
|
||||
tile.setBlock(block, team, rotation);
|
||||
if(block.isMultiblock()){
|
||||
int offsetx = -(block.size - 1) / 2;
|
||||
int offsety = -(block.size - 1) / 2;
|
||||
|
||||
for(int dx = 0; dx < block.size; dx++){
|
||||
for(int dy = 0; dy < block.size; dy++){
|
||||
int worldx = dx + offsetx + tile.x;
|
||||
int worldy = dy + offsety + tile.y;
|
||||
if(!(worldx == tile.x && worldy == tile.y)){
|
||||
Tile toplace = world.tile(worldx, worldy);
|
||||
if(toplace != null){
|
||||
toplace.setBlock(BlockPart.get(dx + offsetx, dy + offsety), team);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void raycastEachWorld(float x0, float y0, float x1, float y1, Raycaster cons){
|
||||
raycastEach(toTile(x0), toTile(y0), toTile(x1), toTile(y1), cons);
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
package io.anuke.mindustry.ctype;
|
||||
package mindustry.ctype;
|
||||
|
||||
import io.anuke.arc.files.*;
|
||||
import io.anuke.arc.util.ArcAnnotate.*;
|
||||
import io.anuke.mindustry.*;
|
||||
import io.anuke.mindustry.mod.Mods.*;
|
||||
import arc.files.*;
|
||||
import arc.util.ArcAnnotate.*;
|
||||
import mindustry.*;
|
||||
import mindustry.mod.Mods.*;
|
||||
|
||||
|
||||
/** Base class for a content type that is loaded in {@link io.anuke.mindustry.core.ContentLoader}. */
|
||||
/** Base class for a content type that is loaded in {@link mindustry.core.ContentLoader}. */
|
||||
public abstract class Content implements Comparable<Content>{
|
||||
public final short id;
|
||||
/** Info on which mod this content was loaded from. */
|
||||
@@ -14,7 +14,7 @@ public abstract class Content implements Comparable<Content>{
|
||||
|
||||
|
||||
public Content(){
|
||||
this.id = (short)Vars.content.getBy(getContentType()).size;
|
||||
this.id = (short) Vars.content.getBy(getContentType()).size;
|
||||
Vars.content.handleContent(this);
|
||||
}
|
||||
|
||||
7
core/src/mindustry/ctype/ContentList.java
Normal file
@@ -0,0 +1,7 @@
|
||||
package mindustry.ctype;
|
||||
|
||||
/** Interface for a list of content to be loaded in {@link mindustry.core.ContentLoader}. */
|
||||
public interface ContentList{
|
||||
/** This method should create all the content. */
|
||||
void load();
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.anuke.mindustry.ctype;
|
||||
package mindustry.ctype;
|
||||
|
||||
/** Do not rearrange, ever! */
|
||||
public enum ContentType{
|
||||
@@ -1,6 +1,6 @@
|
||||
package io.anuke.mindustry.ctype;
|
||||
package mindustry.ctype;
|
||||
|
||||
import io.anuke.mindustry.*;
|
||||
import mindustry.*;
|
||||
|
||||
public abstract class MappableContent extends Content{
|
||||
public final String name;
|
||||
@@ -1,12 +1,12 @@
|
||||
package io.anuke.mindustry.ctype;
|
||||
package mindustry.ctype;
|
||||
|
||||
import io.anuke.annotations.Annotations.*;
|
||||
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;
|
||||
import arc.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.scene.ui.layout.*;
|
||||
import mindustry.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.ui.Cicon;
|
||||
|
||||
/** Base interface for an unlockable content type. */
|
||||
public abstract class UnlockableContent extends MappableContent{
|
||||
@@ -15,7 +15,7 @@ public abstract class UnlockableContent extends MappableContent{
|
||||
/** Localized description. May be null. */
|
||||
public String description;
|
||||
/** Icons by Cicon ID.*/
|
||||
protected TextureRegion[] cicons = new TextureRegion[io.anuke.mindustry.ui.Cicon.all.length];
|
||||
protected TextureRegion[] cicons = new TextureRegion[mindustry.ui.Cicon.all.length];
|
||||
|
||||
public UnlockableContent(String name){
|
||||
super(name);
|
||||
@@ -1,14 +1,14 @@
|
||||
package io.anuke.mindustry.editor;
|
||||
package mindustry.editor;
|
||||
|
||||
import io.anuke.annotations.Annotations.Struct;
|
||||
import io.anuke.arc.collection.LongArray;
|
||||
import io.anuke.mindustry.game.Team;
|
||||
import io.anuke.mindustry.gen.TileOp;
|
||||
import io.anuke.mindustry.world.Block;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.blocks.Floor;
|
||||
import mindustry.annotations.Annotations.Struct;
|
||||
import arc.struct.LongArray;
|
||||
import mindustry.game.Team;
|
||||
import mindustry.gen.TileOp;
|
||||
import mindustry.world.Block;
|
||||
import mindustry.world.Tile;
|
||||
import mindustry.world.blocks.Floor;
|
||||
|
||||
import static io.anuke.mindustry.Vars.content;
|
||||
import static mindustry.Vars.content;
|
||||
|
||||
public class DrawOperation{
|
||||
private MapEditor editor;
|
||||
@@ -69,7 +69,7 @@ public class DrawOperation{
|
||||
}else if(type == OpType.rotation.ordinal()){
|
||||
tile.rotation(to);
|
||||
}else if(type == OpType.team.ordinal()){
|
||||
tile.setTeam(Team.all[to]);
|
||||
tile.setTeam(Team.get(to));
|
||||
}else if(type == OpType.overlay.ordinal()){
|
||||
tile.setOverlayID(to);
|
||||
}
|
||||
@@ -1,17 +1,17 @@
|
||||
package io.anuke.mindustry.editor;
|
||||
package mindustry.editor;
|
||||
|
||||
import io.anuke.mindustry.content.Blocks;
|
||||
import io.anuke.mindustry.core.GameState.State;
|
||||
import io.anuke.mindustry.editor.DrawOperation.OpType;
|
||||
import io.anuke.mindustry.game.Team;
|
||||
import io.anuke.mindustry.gen.TileOp;
|
||||
import io.anuke.mindustry.world.Block;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.blocks.*;
|
||||
import io.anuke.mindustry.world.modules.*;
|
||||
import mindustry.content.Blocks;
|
||||
import mindustry.core.GameState.State;
|
||||
import mindustry.editor.DrawOperation.OpType;
|
||||
import mindustry.game.Team;
|
||||
import mindustry.gen.TileOp;
|
||||
import mindustry.world.Block;
|
||||
import mindustry.world.Tile;
|
||||
import mindustry.world.blocks.*;
|
||||
import mindustry.world.modules.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.state;
|
||||
import static io.anuke.mindustry.Vars.ui;
|
||||
import static mindustry.Vars.state;
|
||||
import static mindustry.Vars.ui;
|
||||
|
||||
//TODO somehow remove or replace this class with a more flexible solution
|
||||
public class EditorTile extends Tile{
|
||||
@@ -74,7 +74,7 @@ public class EditorTile extends Tile{
|
||||
return;
|
||||
}
|
||||
|
||||
if(getTeamID() == team.ordinal()) return;
|
||||
if(getTeamID() == team.id) return;
|
||||
op(OpType.team, getTeamID());
|
||||
super.setTeam(team);
|
||||
}
|
||||
@@ -1,15 +1,14 @@
|
||||
package io.anuke.mindustry.editor;
|
||||
package mindustry.editor;
|
||||
|
||||
import io.anuke.arc.collection.IntArray;
|
||||
import io.anuke.arc.func.*;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.math.geom.Bresenham2;
|
||||
import io.anuke.arc.util.Structs;
|
||||
import io.anuke.mindustry.Vars;
|
||||
import io.anuke.mindustry.content.Blocks;
|
||||
import io.anuke.mindustry.game.Team;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import io.anuke.mindustry.world.blocks.BlockPart;
|
||||
import arc.func.*;
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.blocks.*;
|
||||
|
||||
public enum EditorTool{
|
||||
zoom,
|
||||
@@ -80,7 +79,7 @@ public enum EditorTool{
|
||||
editor.drawCircle(x, y, tile -> {
|
||||
if(mode == -1){
|
||||
//erase block
|
||||
Vars.world.removeBlock(tile);
|
||||
tile.remove();
|
||||
}else if(mode == 0){
|
||||
//erase ore
|
||||
tile.clearOverlay();
|
||||
@@ -119,7 +118,7 @@ public enum EditorTool{
|
||||
if(editor.drawBlock.isOverlay()){
|
||||
Block dest = tile.overlay();
|
||||
if(dest == editor.drawBlock) return;
|
||||
tester = t -> t.overlay() == dest;
|
||||
tester = t -> t.overlay() == dest && !t.floor().isLiquid;
|
||||
setter = t -> t.setOverlay(editor.drawBlock);
|
||||
}else if(editor.drawBlock.isFloor()){
|
||||
Block dest = tile.floor();
|
||||
@@ -141,7 +140,7 @@ public enum EditorTool{
|
||||
if(tile.link().synthetic()){
|
||||
Team dest = tile.getTeam();
|
||||
if(dest == editor.drawTeam) return;
|
||||
fill(editor, x, y, false, t -> t.getTeamID() == dest.ordinal() && t.link().synthetic(), t -> t.setTeam(editor.drawTeam));
|
||||
fill(editor, x, y, false, t -> t.getTeamID() == (int)dest.id && t.link().synthetic(), t -> t.setTeam(editor.drawTeam));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +1,21 @@
|
||||
package io.anuke.mindustry.editor;
|
||||
package mindustry.editor;
|
||||
|
||||
import io.anuke.arc.collection.StringMap;
|
||||
import io.anuke.arc.files.Fi;
|
||||
import io.anuke.arc.func.Cons;
|
||||
import io.anuke.arc.func.Boolf;
|
||||
import io.anuke.arc.graphics.Pixmap;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.util.Structs;
|
||||
import io.anuke.mindustry.content.Blocks;
|
||||
import io.anuke.mindustry.game.Team;
|
||||
import io.anuke.mindustry.gen.TileOp;
|
||||
import io.anuke.mindustry.io.LegacyMapIO;
|
||||
import io.anuke.mindustry.io.MapIO;
|
||||
import io.anuke.mindustry.maps.Map;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import io.anuke.mindustry.world.blocks.BlockPart;
|
||||
import arc.struct.StringMap;
|
||||
import arc.files.Fi;
|
||||
import arc.func.Cons;
|
||||
import arc.func.Boolf;
|
||||
import arc.graphics.Pixmap;
|
||||
import arc.math.Mathf;
|
||||
import arc.util.Structs;
|
||||
import mindustry.content.Blocks;
|
||||
import mindustry.game.Team;
|
||||
import mindustry.gen.TileOp;
|
||||
import mindustry.io.MapIO;
|
||||
import mindustry.maps.Map;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.blocks.BlockPart;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class MapEditor{
|
||||
public static final int[] brushSizes = {1, 2, 3, 4, 5, 9, 15, 20};
|
||||
@@ -65,7 +64,7 @@ public class MapEditor{
|
||||
reset();
|
||||
|
||||
createTiles(pixmap.getWidth(), pixmap.getHeight());
|
||||
load(() -> LegacyMapIO.readPixmap(pixmap, tiles()));
|
||||
load(() -> MapIO.readPixmap(pixmap, tiles()));
|
||||
renderer.resize(width(), height());
|
||||
}
|
||||
|
||||
@@ -86,7 +85,7 @@ public class MapEditor{
|
||||
for(int x = 0; x < width(); x++){
|
||||
for(int y = 0; y < height(); y++){
|
||||
if(tiles[x][y].block().isMultiblock()){
|
||||
world.setBlock(tiles[x][y], tiles[x][y].block(), tiles[x][y].getTeam());
|
||||
tiles[x][y].set(tiles[x][y].block(), tiles[x][y].getTeam());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -176,7 +175,7 @@ public class MapEditor{
|
||||
}
|
||||
}
|
||||
|
||||
world.setBlock(tile(x, y), drawBlock, drawTeam);
|
||||
tile(x, y).set(drawBlock, drawTeam);
|
||||
}else{
|
||||
boolean isFloor = drawBlock.isFloor() && drawBlock != Blocks.air;
|
||||
|
||||
@@ -185,7 +184,7 @@ public class MapEditor{
|
||||
|
||||
//remove linked tiles blocking the way
|
||||
if(!isFloor && (tile.isLinked() || tile.block().isMultiblock())){
|
||||
world.removeBlock(tile.link());
|
||||
tile.link().remove();
|
||||
}
|
||||
|
||||
if(isFloor){
|
||||
@@ -1,37 +1,37 @@
|
||||
package io.anuke.mindustry.editor;
|
||||
package mindustry.editor;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
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.g2d.*;
|
||||
import io.anuke.arc.input.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.math.geom.*;
|
||||
import io.anuke.arc.scene.actions.*;
|
||||
import io.anuke.arc.scene.event.*;
|
||||
import io.anuke.arc.scene.style.*;
|
||||
import io.anuke.arc.scene.ui.*;
|
||||
import io.anuke.arc.scene.ui.layout.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.arc.util.ArcAnnotate.*;
|
||||
import io.anuke.mindustry.*;
|
||||
import io.anuke.mindustry.content.*;
|
||||
import io.anuke.mindustry.core.GameState.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
import io.anuke.mindustry.io.*;
|
||||
import io.anuke.mindustry.maps.*;
|
||||
import io.anuke.mindustry.ui.*;
|
||||
import io.anuke.mindustry.ui.Cicon;
|
||||
import io.anuke.mindustry.ui.dialogs.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import io.anuke.mindustry.world.blocks.*;
|
||||
import io.anuke.mindustry.world.blocks.storage.*;
|
||||
import arc.*;
|
||||
import arc.struct.*;
|
||||
import arc.files.*;
|
||||
import arc.func.*;
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.input.*;
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
import arc.scene.actions.*;
|
||||
import arc.scene.event.*;
|
||||
import arc.scene.style.*;
|
||||
import arc.scene.ui.*;
|
||||
import arc.scene.ui.layout.*;
|
||||
import arc.util.*;
|
||||
import arc.util.ArcAnnotate.*;
|
||||
import mindustry.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.core.GameState.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.io.*;
|
||||
import mindustry.maps.*;
|
||||
import mindustry.ui.*;
|
||||
import mindustry.ui.Cicon;
|
||||
import mindustry.ui.dialogs.*;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.blocks.*;
|
||||
import mindustry.world.blocks.storage.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class MapEditorDialog extends Dialog implements Disposable{
|
||||
public final MapEditor editor;
|
||||
@@ -475,7 +475,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
||||
}
|
||||
|
||||
table.update(() -> {
|
||||
Vector2 v = button.localToStageCoordinates(Tmp.v1.setZero());
|
||||
Vec2 v = button.localToStageCoordinates(Tmp.v1.setZero());
|
||||
table.setPosition(v.x, v.y, Align.topLeft);
|
||||
if(!isShown()){
|
||||
table.remove();
|
||||
@@ -551,7 +551,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
||||
|
||||
int i = 0;
|
||||
|
||||
for(Team team : Team.all){
|
||||
for(Team team : Team.base()){
|
||||
ImageButton button = new ImageButton(Tex.whiteui, Styles.clearTogglePartiali);
|
||||
button.margin(4f);
|
||||
button.getImageCell().grow();
|
||||
@@ -1,29 +1,29 @@
|
||||
package io.anuke.mindustry.editor;
|
||||
package mindustry.editor;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.func.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.graphics.Pixmap.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.math.geom.*;
|
||||
import io.anuke.arc.scene.ui.*;
|
||||
import io.anuke.arc.scene.ui.ImageButton.*;
|
||||
import io.anuke.arc.scene.ui.layout.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.arc.util.async.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
import io.anuke.mindustry.io.*;
|
||||
import io.anuke.mindustry.maps.filters.*;
|
||||
import io.anuke.mindustry.maps.filters.GenerateFilter.*;
|
||||
import io.anuke.mindustry.ui.*;
|
||||
import io.anuke.mindustry.ui.dialogs.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import io.anuke.mindustry.world.blocks.*;
|
||||
import arc.*;
|
||||
import arc.struct.*;
|
||||
import arc.func.*;
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.Pixmap.*;
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
import arc.scene.ui.*;
|
||||
import arc.scene.ui.ImageButton.*;
|
||||
import arc.scene.ui.layout.*;
|
||||
import arc.util.*;
|
||||
import arc.util.async.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.io.*;
|
||||
import mindustry.maps.filters.*;
|
||||
import mindustry.maps.filters.GenerateFilter.*;
|
||||
import mindustry.ui.*;
|
||||
import mindustry.ui.dialogs.*;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.blocks.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public class MapGenerateDialog extends FloatingDialog{
|
||||
@@ -138,7 +138,7 @@ public class MapGenerateDialog extends FloatingDialog{
|
||||
tile.rotation(write.rotation);
|
||||
tile.setFloor((Floor)content.block(write.floor));
|
||||
tile.setBlock(content.block(write.block));
|
||||
tile.setTeam(Team.all[write.team]);
|
||||
tile.setTeam(Team.get(write.team));
|
||||
tile.setOverlay(content.block(write.ore));
|
||||
}
|
||||
}
|
||||
@@ -187,7 +187,7 @@ public class MapGenerateDialog extends FloatingDialog{
|
||||
return;
|
||||
}
|
||||
|
||||
Vector2 v = pane.stageToLocalCoordinates(Core.input.mouse());
|
||||
Vec2 v = pane.stageToLocalCoordinates(Core.input.mouse());
|
||||
|
||||
if(v.x >= 0 && v.y >= 0 && v.x <= pane.getWidth() && v.y <= pane.getHeight()){
|
||||
Core.scene.setScrollFocus(pane);
|
||||
@@ -367,7 +367,7 @@ public class MapGenerateDialog extends FloatingDialog{
|
||||
GenTile tile = buffer1[px][py];
|
||||
input.apply(x, y, content.block(tile.floor), content.block(tile.block), content.block(tile.ore));
|
||||
filter.apply(input);
|
||||
buffer2[px][py].set(input.floor, input.block, input.ore, Team.all[tile.team], tile.rotation);
|
||||
buffer2[px][py].set(input.floor, input.block, input.ore, Team.get(tile.team), tile.rotation);
|
||||
}
|
||||
}
|
||||
for(int px = 0; px < pixmap.getWidth(); px++){
|
||||
@@ -415,7 +415,7 @@ public class MapGenerateDialog extends FloatingDialog{
|
||||
this.floor = floor.id;
|
||||
this.block = wall.id;
|
||||
this.ore = ore.id;
|
||||
this.team = (byte)team.ordinal();
|
||||
this.team = (byte) team.id;
|
||||
this.rotation = (byte)rotation;
|
||||
}
|
||||
|
||||
@@ -437,7 +437,7 @@ public class MapGenerateDialog extends FloatingDialog{
|
||||
ctile.setBlock(content.block(block));
|
||||
ctile.setOverlay(content.block(ore));
|
||||
ctile.rotation(rotation);
|
||||
ctile.setTeam(Team.all[team]);
|
||||
ctile.setTeam(Team.get(team));
|
||||
return ctile;
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
package io.anuke.mindustry.editor;
|
||||
package mindustry.editor;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.scene.ui.*;
|
||||
import io.anuke.mindustry.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.io.*;
|
||||
import io.anuke.mindustry.ui.*;
|
||||
import io.anuke.mindustry.ui.dialogs.*;
|
||||
import arc.*;
|
||||
import arc.struct.*;
|
||||
import arc.scene.ui.*;
|
||||
import mindustry.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.io.*;
|
||||
import mindustry.ui.*;
|
||||
import mindustry.ui.dialogs.*;
|
||||
|
||||
public class MapInfoDialog extends FloatingDialog{
|
||||
private final MapEditor editor;
|
||||
@@ -1,14 +1,14 @@
|
||||
package io.anuke.mindustry.editor;
|
||||
package mindustry.editor;
|
||||
|
||||
import io.anuke.arc.func.*;
|
||||
import io.anuke.arc.scene.ui.*;
|
||||
import io.anuke.arc.scene.ui.layout.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.maps.*;
|
||||
import io.anuke.mindustry.ui.*;
|
||||
import io.anuke.mindustry.ui.dialogs.*;
|
||||
import arc.func.*;
|
||||
import arc.scene.ui.*;
|
||||
import arc.scene.ui.layout.*;
|
||||
import arc.util.*;
|
||||
import mindustry.maps.*;
|
||||
import mindustry.ui.*;
|
||||
import mindustry.ui.dialogs.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.maps;
|
||||
import static mindustry.Vars.maps;
|
||||
|
||||
public class MapLoadDialog extends FloatingDialog{
|
||||
private Map selected = null;
|
||||
@@ -1,23 +1,23 @@
|
||||
package io.anuke.mindustry.editor;
|
||||
package mindustry.editor;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.collection.IntSet;
|
||||
import io.anuke.arc.collection.IntSet.IntSetIterator;
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.arc.graphics.Texture;
|
||||
import io.anuke.arc.graphics.g2d.Draw;
|
||||
import io.anuke.arc.graphics.g2d.TextureRegion;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.content.Blocks;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.game.Team;
|
||||
import io.anuke.mindustry.graphics.IndexedRenderer;
|
||||
import io.anuke.mindustry.world.Block;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.blocks.BlockPart;
|
||||
import arc.*;
|
||||
import arc.struct.IntSet;
|
||||
import arc.struct.IntSet.IntSetIterator;
|
||||
import arc.graphics.Color;
|
||||
import arc.graphics.Texture;
|
||||
import arc.graphics.g2d.Draw;
|
||||
import arc.graphics.g2d.TextureRegion;
|
||||
import arc.math.Mathf;
|
||||
import arc.util.*;
|
||||
import mindustry.content.Blocks;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.game.Team;
|
||||
import mindustry.graphics.IndexedRenderer;
|
||||
import mindustry.world.Block;
|
||||
import mindustry.world.Tile;
|
||||
import mindustry.world.blocks.BlockPart;
|
||||
|
||||
import static io.anuke.mindustry.Vars.tilesize;
|
||||
import static mindustry.Vars.tilesize;
|
||||
|
||||
public class MapRenderer implements Disposable{
|
||||
private static final int chunkSize = 64;
|
||||
@@ -1,10 +1,10 @@
|
||||
package io.anuke.mindustry.editor;
|
||||
package mindustry.editor;
|
||||
|
||||
import io.anuke.arc.func.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.scene.ui.layout.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.ui.dialogs.*;
|
||||
import arc.func.*;
|
||||
import arc.math.*;
|
||||
import arc.scene.ui.layout.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.ui.dialogs.*;
|
||||
|
||||
public class MapResizeDialog extends FloatingDialog{
|
||||
private static final int minSize = 50, maxSize = 500, increment = 50;
|
||||
@@ -1,12 +1,12 @@
|
||||
package io.anuke.mindustry.editor;
|
||||
package mindustry.editor;
|
||||
|
||||
import io.anuke.arc.func.*;
|
||||
import io.anuke.arc.scene.ui.*;
|
||||
import io.anuke.mindustry.*;
|
||||
import io.anuke.mindustry.maps.*;
|
||||
import io.anuke.mindustry.ui.dialogs.*;
|
||||
import arc.func.*;
|
||||
import arc.scene.ui.*;
|
||||
import mindustry.*;
|
||||
import mindustry.maps.*;
|
||||
import mindustry.ui.dialogs.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.ui;
|
||||
import static mindustry.Vars.ui;
|
||||
|
||||
public class MapSaveDialog extends FloatingDialog{
|
||||
private TextField field;
|
||||
@@ -1,24 +1,24 @@
|
||||
package io.anuke.mindustry.editor;
|
||||
package mindustry.editor;
|
||||
|
||||
import io.anuke.arc.Core;
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.arc.graphics.g2d.*;
|
||||
import io.anuke.arc.input.GestureDetector;
|
||||
import io.anuke.arc.input.GestureDetector.GestureListener;
|
||||
import io.anuke.arc.input.KeyCode;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.math.geom.*;
|
||||
import io.anuke.arc.scene.Element;
|
||||
import io.anuke.arc.scene.event.*;
|
||||
import io.anuke.arc.scene.ui.TextField;
|
||||
import io.anuke.arc.scene.ui.layout.Scl;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.graphics.Pal;
|
||||
import io.anuke.mindustry.input.Binding;
|
||||
import io.anuke.mindustry.ui.GridImage;
|
||||
import arc.Core;
|
||||
import arc.graphics.Color;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.input.GestureDetector;
|
||||
import arc.input.GestureDetector.GestureListener;
|
||||
import arc.input.KeyCode;
|
||||
import arc.math.Mathf;
|
||||
import arc.math.geom.*;
|
||||
import arc.scene.Element;
|
||||
import arc.scene.event.*;
|
||||
import arc.scene.ui.TextField;
|
||||
import arc.scene.ui.layout.Scl;
|
||||
import arc.util.*;
|
||||
import mindustry.graphics.Pal;
|
||||
import mindustry.input.Binding;
|
||||
import mindustry.ui.GridImage;
|
||||
|
||||
import static io.anuke.mindustry.Vars.mobile;
|
||||
import static io.anuke.mindustry.Vars.ui;
|
||||
import static mindustry.Vars.mobile;
|
||||
import static mindustry.Vars.ui;
|
||||
|
||||
public class MapView extends Element implements GestureListener{
|
||||
private MapEditor editor;
|
||||
@@ -27,9 +27,9 @@ public class MapView extends Element implements GestureListener{
|
||||
private float zoom = 1f;
|
||||
private boolean grid = false;
|
||||
private GridImage image = new GridImage(0, 0);
|
||||
private Vector2 vec = new Vector2();
|
||||
private Rectangle rect = new Rectangle();
|
||||
private Vector2[][] brushPolygons = new Vector2[MapEditor.brushSizes.length][0];
|
||||
private Vec2 vec = new Vec2();
|
||||
private Rect rect = new Rect();
|
||||
private Vec2[][] brushPolygons = new Vec2[MapEditor.brushSizes.length][0];
|
||||
|
||||
private boolean drawing;
|
||||
private int lastx, lasty;
|
||||
@@ -214,7 +214,7 @@ public class MapView extends Element implements GestureListener{
|
||||
}
|
||||
}
|
||||
|
||||
private Vector2 unproject(int x, int y){
|
||||
private Vec2 unproject(int x, int y){
|
||||
float ratio = 1f / ((float)editor.width() / editor.height());
|
||||
float size = Math.min(width, height);
|
||||
float sclwidth = size * zoom;
|
||||
@@ -268,9 +268,9 @@ public class MapView extends Element implements GestureListener{
|
||||
|
||||
if((!editor.drawBlock.isMultiblock() || tool == EditorTool.eraser) && tool != EditorTool.fill){
|
||||
if(tool == EditorTool.line && drawing){
|
||||
Vector2 v1 = unproject(startx, starty).add(x, y);
|
||||
Vec2 v1 = unproject(startx, starty).add(x, y);
|
||||
float sx = v1.x, sy = v1.y;
|
||||
Vector2 v2 = unproject(lastx, lasty).add(x, y);
|
||||
Vec2 v2 = unproject(lastx, lasty).add(x, y);
|
||||
|
||||
Lines.poly(brushPolygons[index], sx, sy, scaling);
|
||||
Lines.poly(brushPolygons[index], v2.x, v2.y, scaling);
|
||||
@@ -278,7 +278,7 @@ public class MapView extends Element implements GestureListener{
|
||||
|
||||
if((tool.edit || (tool == EditorTool.line && !drawing)) && (!mobile || drawing)){
|
||||
Point2 p = project(mousex, mousey);
|
||||
Vector2 v = unproject(p.x, p.y).add(x, y);
|
||||
Vec2 v = unproject(p.x, p.y).add(x, y);
|
||||
|
||||
//pencil square outline
|
||||
if(tool == EditorTool.pencil && tool.mode == 1){
|
||||
@@ -290,7 +290,7 @@ public class MapView extends Element implements GestureListener{
|
||||
}else{
|
||||
if((tool.edit || tool == EditorTool.line) && (!mobile || drawing)){
|
||||
Point2 p = project(mousex, mousey);
|
||||
Vector2 v = unproject(p.x, p.y).add(x, y);
|
||||
Vec2 v = unproject(p.x, p.y).add(x, y);
|
||||
float offset = (editor.drawBlock.size % 2 == 0 ? scaling / 2f : 0f);
|
||||
Lines.square(
|
||||
v.x + scaling / 2f + offset,
|
||||
@@ -332,7 +332,7 @@ public class MapView extends Element implements GestureListener{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean pinch(Vector2 initialPointer1, Vector2 initialPointer2, Vector2 pointer1, Vector2 pointer2){
|
||||
public boolean pinch(Vec2 initialPointer1, Vec2 initialPointer2, Vec2 pointer1, Vec2 pointer2){
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package io.anuke.mindustry.editor;
|
||||
package mindustry.editor;
|
||||
|
||||
import io.anuke.arc.collection.Array;
|
||||
import arc.struct.Array;
|
||||
|
||||
public class OperationStack{
|
||||
private final static int maxSize = 10;
|
||||
@@ -1,28 +1,28 @@
|
||||
package io.anuke.mindustry.editor;
|
||||
package mindustry.editor;
|
||||
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.input.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.scene.event.*;
|
||||
import io.anuke.arc.scene.ui.*;
|
||||
import io.anuke.arc.scene.ui.TextField.*;
|
||||
import io.anuke.arc.scene.ui.layout.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.*;
|
||||
import io.anuke.mindustry.content.*;
|
||||
import io.anuke.mindustry.ctype.ContentType;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
import io.anuke.mindustry.io.*;
|
||||
import io.anuke.mindustry.type.*;
|
||||
import io.anuke.mindustry.ui.Cicon;
|
||||
import io.anuke.mindustry.ui.dialogs.*;
|
||||
import arc.*;
|
||||
import arc.struct.*;
|
||||
import arc.graphics.*;
|
||||
import arc.input.*;
|
||||
import arc.math.*;
|
||||
import arc.scene.event.*;
|
||||
import arc.scene.ui.*;
|
||||
import arc.scene.ui.TextField.*;
|
||||
import arc.scene.ui.layout.*;
|
||||
import arc.util.*;
|
||||
import mindustry.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.ctype.ContentType;
|
||||
import mindustry.game.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.io.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.ui.Cicon;
|
||||
import mindustry.ui.dialogs.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static io.anuke.mindustry.game.SpawnGroup.never;
|
||||
import static mindustry.Vars.*;
|
||||
import static mindustry.game.SpawnGroup.never;
|
||||
|
||||
public class WaveInfoDialog extends FloatingDialog{
|
||||
private final static int displayed = 20;
|
||||
@@ -142,7 +142,7 @@ public class WaveInfoDialog extends FloatingDialog{
|
||||
t.margin(0).defaults().pad(3).padLeft(5f).growX().left();
|
||||
t.addButton(b -> {
|
||||
b.left();
|
||||
b.addImage(group.type.icon(io.anuke.mindustry.ui.Cicon.medium)).size(32f).padRight(3);
|
||||
b.addImage(group.type.icon(mindustry.ui.Cicon.medium)).size(32f).padRight(3);
|
||||
b.add(group.type.localizedName).color(Pal.accent);
|
||||
}, () -> showUpdate(group)).pad(-6f).padBottom(0f);
|
||||
|
||||
@@ -224,7 +224,7 @@ public class WaveInfoDialog extends FloatingDialog{
|
||||
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.addImage(type.icon(mindustry.ui.Cicon.medium)).size(40f).padRight(2f);
|
||||
t.add(type.localizedName);
|
||||
}, () -> {
|
||||
lastType = type;
|
||||
@@ -1,30 +1,30 @@
|
||||
package io.anuke.mindustry.entities;
|
||||
package mindustry.entities;
|
||||
|
||||
import io.anuke.annotations.Annotations.*;
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.func.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.math.geom.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.content.*;
|
||||
import io.anuke.mindustry.entities.Effects.*;
|
||||
import io.anuke.mindustry.entities.effect.*;
|
||||
import io.anuke.mindustry.entities.type.*;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.game.*;
|
||||
import io.anuke.mindustry.gen.*;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import arc.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import arc.struct.*;
|
||||
import arc.func.*;
|
||||
import arc.graphics.*;
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
import arc.util.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.entities.Effects.*;
|
||||
import mindustry.entities.effect.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.world.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
/** Utility class for damaging in an area. */
|
||||
public class Damage{
|
||||
private static Rectangle rect = new Rectangle();
|
||||
private static Rectangle hitrect = new Rectangle();
|
||||
private static Vector2 tr = new Vector2();
|
||||
private static Rect rect = new Rect();
|
||||
private static Rect hitrect = new Rect();
|
||||
private static Vec2 tr = new Vec2();
|
||||
private static GridBits bits = new GridBits(30, 30);
|
||||
private static IntQueue propagation = new IntQueue();
|
||||
private static IntSet collidedBlocks = new IntSet();
|
||||
@@ -88,7 +88,7 @@ public class Damage{
|
||||
tr.trns(angle, length);
|
||||
Intc2 collider = (cx, cy) -> {
|
||||
Tile tile = world.ltile(cx, cy);
|
||||
if(tile != null && !collidedBlocks.contains(tile.pos()) && tile.entity != null && tile.getTeamID() != team.ordinal() && tile.entity.collide(hitter)){
|
||||
if(tile != null && !collidedBlocks.contains(tile.pos()) && tile.entity != null && tile.getTeamID() != team.id && tile.entity.collide(hitter)){
|
||||
tile.entity.collision(hitter);
|
||||
collidedBlocks.add(tile.pos());
|
||||
hitter.getBulletType().hit(hitter, tile.worldx(), tile.worldy());
|
||||
@@ -127,13 +127,13 @@ public class Damage{
|
||||
|
||||
Cons<Unit> cons = e -> {
|
||||
e.hitbox(hitrect);
|
||||
Rectangle other = hitrect;
|
||||
Rect other = hitrect;
|
||||
other.y -= expand;
|
||||
other.x -= expand;
|
||||
other.width += expand * 2;
|
||||
other.height += expand * 2;
|
||||
|
||||
Vector2 vec = Geometry.raycastRect(x, y, x2, y2, other);
|
||||
Vec2 vec = Geometry.raycastRect(x, y, x2, y2, other);
|
||||
|
||||
if(vec != null){
|
||||
Effects.effect(effect, vec.x, vec.y);
|
||||
@@ -259,7 +259,7 @@ public class Damage{
|
||||
for(int dx = -trad; dx <= trad; dx++){
|
||||
for(int dy = -trad; dy <= trad; dy++){
|
||||
Tile tile = world.tile(Math.round(x / tilesize) + dx, Math.round(y / tilesize) + dy);
|
||||
if(tile != null && tile.entity != null && (team == null || state.teams.areEnemies(team, tile.getTeam())) && Mathf.dst(dx, dy) <= trad){
|
||||
if(tile != null && tile.entity != null && (team == null ||team.isEnemy(tile.getTeam())) && Mathf.dst(dx, dy) <= trad){
|
||||
tile.entity.damage(damage);
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,15 @@
|
||||
package io.anuke.mindustry.entities;
|
||||
package mindustry.entities;
|
||||
|
||||
import io.anuke.arc.Core;
|
||||
import io.anuke.arc.collection.Array;
|
||||
import io.anuke.arc.func.Cons;
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.arc.graphics.g2d.*;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.math.geom.Position;
|
||||
import io.anuke.arc.util.pooling.Pools;
|
||||
import io.anuke.mindustry.entities.type.EffectEntity;
|
||||
import io.anuke.mindustry.entities.traits.ScaleTrait;
|
||||
import arc.Core;
|
||||
import arc.struct.Array;
|
||||
import arc.func.Cons;
|
||||
import arc.graphics.Color;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.math.Mathf;
|
||||
import arc.math.geom.Position;
|
||||
import arc.util.pooling.Pools;
|
||||
import mindustry.entities.type.EffectEntity;
|
||||
import mindustry.entities.traits.ScaleTrait;
|
||||
|
||||
public class Effects{
|
||||
private static final EffectContainer container = new EffectContainer();
|
||||