Merged with master

This commit is contained in:
Anuken
2020-02-09 12:27:44 -05:00
84 changed files with 488 additions and 413 deletions

View File

@@ -82,4 +82,4 @@
<option name="CONTINUATION_INDENT_SIZE" value="0" /> <option name="CONTINUATION_INDENT_SIZE" value="0" />
</indentOptions> </indentOptions>
</codeStyleSettings> </codeStyleSettings>
</code_scheme> </code_scheme>

1
.gitignore vendored
View File

@@ -18,6 +18,7 @@ logs/
/annotations/out/ /annotations/out/
/net/build/ /net/build/
/tools/build/ /tools/build/
/core/build/
/tests/build/ /tests/build/
/server/build/ /server/build/
changelog changelog

View File

@@ -162,4 +162,4 @@ task run(type: Exec){
def adb = path + "/platform-tools/adb" def adb = path + "/platform-tools/adb"
commandLine "$adb", 'shell', 'am', 'start', '-n', 'io.anuke.mindustry/mindustry.android.AndroidLauncher' commandLine "$adb", 'shell', 'am', 'start', '-n', 'io.anuke.mindustry/mindustry.android.AndroidLauncher'
} }

View File

@@ -2,4 +2,4 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@mipmap/ic_launcher_background"/> <background android:drawable="@mipmap/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/> <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon> </adaptive-icon>

View File

@@ -2,4 +2,4 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@mipmap/ic_launcher_background"/> <background android:drawable="@mipmap/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/> <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon> </adaptive-icon>

View File

@@ -8,4 +8,4 @@
<item name="android:windowContentOverlay">@null</item> <item name="android:windowContentOverlay">@null</item>
<item name="android:windowFullscreen">true</item> <item name="android:windowFullscreen">true</item>
</style> </style>
</resources> </resources>

View File

@@ -3,4 +3,4 @@
<string name="app_name">Mindustry</string> <string name="app_name">Mindustry</string>
</resources> </resources>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<full-backup-content> <full-backup-content>
</full-backup-content> </full-backup-content>

View File

@@ -81,7 +81,7 @@ public class AndroidLauncher extends AndroidApplication{
if(VERSION.SDK_INT >= VERSION_CODES.Q){ if(VERSION.SDK_INT >= VERSION_CODES.Q){
Intent intent = new Intent(open ? Intent.ACTION_OPEN_DOCUMENT : Intent.ACTION_CREATE_DOCUMENT); Intent intent = new Intent(open ? Intent.ACTION_OPEN_DOCUMENT : Intent.ACTION_CREATE_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE); intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType(extension.equals("zip") ? "application/zip" : "*/*"); intent.setType(extension.equals("zip") && !open ? "application/zip" : "*/*");
addResultListener(i -> startActivityForResult(intent, i), (code, in) -> { addResultListener(i -> startActivityForResult(intent, i), (code, in) -> {
if(code == Activity.RESULT_OK && in != null && in.getData() != null){ if(code == Activity.RESULT_OK && in != null && in.getData() != null){
Uri uri = in.getData(); Uri uri = in.getData();

View File

@@ -921,4 +921,4 @@
"src": "fontawesome" "src": "fontawesome"
} }
] ]
} }

View File

@@ -172,6 +172,11 @@ hosts.discovering.any = Discovering games
server.refreshing = Refreshing server server.refreshing = Refreshing server
hosts.none = [lightgray]No local games found! hosts.none = [lightgray]No local games found!
host.invalid = [scarlet]Can't connect to host. host.invalid = [scarlet]Can't connect to host.
servers.local = Local Servers
servers.remote = Remote Servers
servers.global = Global Servers
trace = Trace Player trace = Trace Player
trace.playername = Player name: [accent]{0} trace.playername = Player name: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}

View File

@@ -1254,4 +1254,4 @@ block.omega-mech-pad.description = Umožňuje přeměnu Tvého vozidla na těžc
block.javelin-ship-pad.description = Umožňuje přeměnu Tvého vozidla na rychlou, lehce obrněnou stíhačku.\nAktivuj kliknutím nebo ťupnutím, když se nacházíš nad plošinou. block.javelin-ship-pad.description = Umožňuje přeměnu Tvého vozidla na rychlou, lehce obrněnou stíhačku.\nAktivuj kliknutím nebo ťupnutím, když se nacházíš nad plošinou.
block.trident-ship-pad.description = Umožňuje přeměnu Tvého vozidla na těžkého podpůrného bombardéra.\nAktivuj kliknutím nebo ťupnutím, když se nacházíš nad plošinou. block.trident-ship-pad.description = Umožňuje přeměnu Tvého vozidla na těžkého podpůrného bombardéra.\nAktivuj kliknutím nebo ťupnutím, když se nacházíš nad plošinou.
block.glaive-ship-pad.description = Umožňuje přeměnu Tvého vozidla na velkou, dobře obrněnou střeleckou loď.\nAktivuj kliknutím nebo ťupnutím, když se nacházíš nad plošinou. block.glaive-ship-pad.description = Umožňuje přeměnu Tvého vozidla na velkou, dobře obrněnou střeleckou loď.\nAktivuj kliknutím nebo ťupnutím, když se nacházíš nad plošinou.

View File

@@ -1,27 +1,27 @@
credits.text = Entwickelt von [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY] credits.text = Entwickelt von [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY]
credits = Danksagungen credits = Danksagungen
contributors = Übersetzer und Mitwirkende contributors = Übersetzer und Mitwirkende
discord = Tritt dem Mindustry Discord bei! discord = Tritt dem Mindustry-Discord bei!
link.discord.description = Der offizielle Mindustry Discord-Server link.discord.description = Der offizielle Mindustry Discord-Chatroom
link.reddit.description = Der Mindustry Subreddit link.reddit.description = Der Mindustry Subreddit
link.github.description = Quellcode des Spiels link.github.description = Quellcode des Spiels
link.changelog.description = Liste der Änderungen link.changelog.description = Liste der Änderungen
link.dev-builds.description = Entwicklungs-Builds (instabil) link.dev-builds.description = Entwicklungs-Builds (instabil)
link.trello.description = Offizielles Trello Board für geplante Features 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.itch.io.description = itch.io-Seite mit Downloads und der Web-Version des Spiels
link.google-play.description = Google Play Store Seite link.google-play.description = Google Play Store-Seite
link.f-droid.description = F-Droid catalogue listing link.f-droid.description = F-Droid catalogue listing
link.wiki.description = Offizelles Mindustry Wiki link.wiki.description = Offizelles Mindustry-Wiki
link.feathub.description = Suggest new features link.feathub.description = Suggest new features
linkfail = Fehler beim Öffnen des Links!\nDie URL wurde in die Zwischenablage kopiert. linkfail = Fehler beim Öffnen des Links!\nDie URL wurde in die Zwischenablage kopiert.
screenshot = Screenshot gespeichert nach {0} screenshot = Screenshot gespeichert unter {0}.
screenshot.invalid = Karte zu groß! Eventuell nicht ausreichend Arbeitsspeicher für Screenshot. screenshot.invalid = Karte zu groß! Eventuell nicht ausreichend Arbeitsspeicher für Screenshot.
gameover = Der Kern wurde zerstört. gameover = Der Kern wurde zerstört.
gameover.pvp = Das[accent] {0}[] Team ist siegreich! gameover.pvp = Das[accent] {0}[] Team ist siegreich!
highscore = [YELLOW] Neuer Highscore! highscore = [YELLOW] Neuer Highscore!
copied = Kopiert. copied = Kopiert.
load.sound = Sounds load.sound = Audio
load.map = Karten load.map = Karten
load.image = Bilder load.image = Bilder
load.content = Inhalt load.content = Inhalt
@@ -39,17 +39,17 @@ be.check = Check for updates
schematic = Entwürfe schematic = Entwürfe
schematic.add = Entwurf speichern... schematic.add = Entwurf speichern...
schematics = Entwürfe schematics = Entwürfe
schematic.replace = Ein anderer Entwurf hat bereits diesen Namen. Diesen Ersetzen? schematic.replace = Ein anderer Entwurf hat bereits diesen Namen. Diesen ersetzen?
schematic.import = Entwurf importieren... schematic.import = Entwurf importieren...
schematic.exportfile = Entwurf exportieren schematic.exportfile = Datei exportieren
schematic.importfile = Detei importieren schematic.importfile = Datei importieren
schematic.browseworkshop = Workshop erkunden schematic.browseworkshop = Workshop durchsuchen
schematic.copy = In Zwischenablage speichern schematic.copy = In Zwischenablage kopieren
schematic.copy.import = Aus Zwischenablage ziehen schematic.copy.import = Aus Zwischenablage importieren
schematic.shareworkshop = Im Workshop teilen schematic.shareworkshop = Im Workshop teilen
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Entwurf umkehren schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Entwurf umkehren
schematic.saved = Entwurf gespeichert. schematic.saved = Entwurf gespeichert.
schematic.delete.confirm = Dieser Entwurf wird absolut ausgelöscht. schematic.delete.confirm = Dieser Entwurf wird vollständig vernichtet.
schematic.rename = Entwurf umbenennen schematic.rename = Entwurf umbenennen
schematic.info = {0}x{1}, {2} Blöcke schematic.info = {0}x{1}, {2} Blöcke
@@ -82,43 +82,43 @@ position = Position
close = Schließen close = Schließen
website = Website website = Website
quit = Verlassen quit = Verlassen
save.quit = Speichern & Beenden save.quit = Speichern & Verlassen
maps = Karten maps = Karten
maps.browse = Karten durschsuchen maps.browse = Karten durchsuchen
continue = Weiter continue = Weiter
maps.none = [LIGHT_GRAY]Keine Karten gefunden! maps.none = [LIGHT_GRAY]Keine Karten gefunden!
invalid = ungültig invalid = Ungültig
pickcolor = Pick Color pickcolor = Pick Color
preparingconfig = Konfiguration vorbereiten preparingconfig = Konfiguration vorbereiten
preparingcontent = Inhalte vorbereiten preparingcontent = Inhalt vorbereiten
uploadingcontent = Inhalte hochladen uploadingcontent = Inhalt hochladen
uploadingpreviewfile = Vorschau hochladen uploadingpreviewfile = Vorschaudatei hochladen
committingchanges = Veränderungen bestätigen committingchanges = Veränderungen übernehmen
done = Fertig done = Fertig
feature.unsupported = Dein System unsterstützt dieses Feature nicht. 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.alphainfo = Vergiss nicht, dass Mods in der Alpha sind, und[scarlet] sehr fehlerhaft sein können[].\nMelde alle Probleme an den Mindustry GitHub oder Discord.
mods.alpha = [accent](Alpha) mods.alpha = [accent](Alpha)
mods = Mods mods = Mods
mods.none = [LIGHT_GRAY]Keine Mods gefunden! mods.none = [LIGHT_GRAY]Keine Mods gefunden!
mods.guide = Modding Anleitung mods.guide = Modding Anleitung
mods.report = Problem senden mods.report = Problem melden
mods.openfolder = Mod Verzeichnis öffnen mods.openfolder = Mod-Verzeichnis öffnen
mod.enabled = [lightgray]Aktiviert mod.enabled = [lightgray]Aktiviert
mod.disabled = [scarlet]Deaktiviert mod.disabled = [scarlet]Deaktiviert
mod.disable = Deaktivieren mod.disable = Deaktivieren
mod.delete.error = Unfähig Mod zu löschen; Datei könnte in Benutzung sein. 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.requiresversion = [scarlet]Requires min game version: [accent]{0}
mod.missingdependencies = [scarlet]Fehldene Abhängigkeiten: {0} mod.missingdependencies = [scarlet]Fehlende Abhängigkeiten: {0}
mod.erroredcontent = [scarlet]Content Errors mod.erroredcontent = [scarlet]Content Errors
mod.errors = Errors have occurred loading content. 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.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.nowdisabled = [scarlet]Mod '{0}' fehlen Abhängigkeiten:[accent] {1}\n[lightgray]Diese Mods müssen erst installiert werden.\nDieser Mod wird automatisch deaktiviert.
mod.enable = Aktivieren mod.enable = Aktivieren
mod.requiresrestart = Das Spiel schließt nun, um Modänderungen wirksam zu machen. mod.requiresrestart = Das Spiel wird jetzt beendet, um die Modnderungen anzuwenden.
mod.reloadrequired = [scarlet]Neuladen benötigt mod.reloadrequired = [scarlet]Neuladen benötigt
mod.import = Mod importieren mod.import = Mod importieren
mod.import.github = GitHub Mod importieren mod.import.github = GitHub-Mod importieren
mod.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that mod. 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.remove.confirm = Dieser Mod wird gelöscht.
mod.author = [LIGHT_GRAY]Author:[] {0} mod.author = [LIGHT_GRAY]Author:[] {0}
@@ -140,14 +140,14 @@ researched = [LIGHT_GRAY]{0} erforscht.
players = {0} Spieler online players = {0} Spieler online
players.single = {0} Spieler online players.single = {0} Spieler online
server.closing = [accent]Schließe den Server ... server.closing = [accent]Schließe den Server ...
server.kicked.kick = Du wurdest vom Server gekickt! server.kicked.kick = Du wurdest vom Server geworfen!
server.kicked.whitelist = Du bist hier nicht auf der Whitelist. server.kicked.whitelist = Du befindest dich nicht auf der Whitelist des Servers.
server.kicked.serverClose = Server geschlossen. server.kicked.serverClose = Server geschlossen.
server.kicked.vote = Es wurde abgestimmt, dich zu kicken. Tschüss. server.kicked.vote = Es wurde abgestimmt, dich rauszuwerfen. Tschüss.
server.kicked.clientOutdated = Veralteter Client! Aktualisiere dein Spiel! server.kicked.clientOutdated = Veralteter Client! Aktualisiere dein Spiel!
server.kicked.serverOutdated = Veralteter Server! Bitte den Host um ein Update! server.kicked.serverOutdated = Veralteter Server! Bitte den Host um ein Update!
server.kicked.banned = Du wurdest vom Server verbannt. server.kicked.banned = Du wurdest vom Server verbannt.
server.kicked.typeMismatch = Der Server ist nicht mit deinem Versionstyp kompatibel. server.kicked.typeMismatch = Dieser Server ist nicht mit deinem Buildtyp kompatibel.
server.kicked.playerLimit = Dieser Server ist voll. Warte auf einen freien Platz. server.kicked.playerLimit = Dieser Server ist voll. Warte auf einen freien Platz.
server.kicked.recentKick = Du wurdest gerade gekickt.\nWarte bevor du dich wieder verbindest. 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.nameInUse = Es ist bereits ein Spieler \nmit diesem Namen auf dem Server.
@@ -157,8 +157,8 @@ server.kicked.customClient = Der Server akzeptiert keine Custom Builds von Mindu
server.kicked.gameover = Game Over! server.kicked.gameover = Game Over!
server.kicked.serverRestarting = The server is restarting. server.kicked.serverRestarting = The server is restarting.
server.versions = Deine Version:[accent] {0}[]\nServerversion:[accent] {1}[] 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. 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 Serverliste sehen können.\n\nWenn du anderen die Verbindung über deine IP-Adresse 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. 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 Serverliste; wenn du dich mit jemandem per IP-Adresse verbinden willst, musst du den Host nach seiner IP-Adresse fragen.
hostserver = Server hosten hostserver = Server hosten
invitefriends = Freunde einladen invitefriends = Freunde einladen
hostserver.mobile = Host\nSpiel hostserver.mobile = Host\nSpiel
@@ -177,10 +177,10 @@ trace.id = Eindeutige ID: [accent]{0}
trace.mobile = Mobiler Client: [accent]{0} trace.mobile = Mobiler Client: [accent]{0}
trace.modclient = Gemoddeter Client: [accent]{0} trace.modclient = Gemoddeter Client: [accent]{0}
invalidid = Ungültige Client-ID! Berichte den Fehler. invalidid = Ungültige Client-ID! Berichte den Fehler.
server.bans = Bans server.bans = Verbannungen
server.bans.none = Keine gebannten Spieler gefunden! server.bans.none = Keine verbannten Spieler gefunden!
server.admins = Admins server.admins = Administratoren
server.admins.none = Keine Admins gefunden! server.admins.none = Keine Administratoren gefunden!
server.add = Server hinzufügen server.add = Server hinzufügen
server.delete = Bist du dir sicher, dass du diesen Server löschen möchtest? server.delete = Bist du dir sicher, dass du diesen Server löschen möchtest?
server.edit = Server bearbeiten server.edit = Server bearbeiten
@@ -189,17 +189,17 @@ server.outdated.client = [crimson]Veralteter Client![]
server.version = [lightgray]Version: {0} server.version = [lightgray]Version: {0}
server.custombuild = [yellow]Benutzerdefinierter Build server.custombuild = [yellow]Benutzerdefinierter Build
confirmban = Bist du sicher, dass du diesen Spieler verbannen möchtest? confirmban = Bist du sicher, dass du diesen Spieler verbannen möchtest?
confirmkick = Bist du sicher, dass du diesen Spieler kicken willst? confirmkick = Bist du sicher, dass du diesen Spieler rauswerfen willst?
confirmvotekick = Bist du sicher diesen Spieler mit einer Abstimmung rauszuwerfen? confirmvotekick = Bist du sicher, dass du darüber abstimmen willst, diesen Spieler rauszuwerfen?
confirmunban = Bist du sicher, dass du die Verbannung des Spielers rückgängig machen willst? 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? confirmadmin = Bist du sicher, dass du diesen Spieler zu einem Administrator machen möchtest?
confirmunadmin = Bis du sicher, dass dieser Spieler kein Admin mehr sein soll? confirmunadmin = Bis du sicher, dass dieser Spieler kein Administrator mehr sein soll?
joingame.title = Spiel beitreten joingame.title = Spiel beitreten
joingame.ip = IP: joingame.ip = IP:
disconnect = Verbindung unterbrochen. disconnect = Verbindung unterbrochen.
disconnect.error = Verbindungsfehler. disconnect.error = Verbindungsfehler.
disconnect.closed = Verbindung geschlossen. disconnect.closed = Verbindung geschlossen.
disconnect.timeout = Zeit Überschreitung. disconnect.timeout = Zeitüberschreitung.
disconnect.data = Fehler beim Laden der Welt! disconnect.data = Fehler beim Laden der Welt!
cantconnect = Nicht möglich beizutreten ([accent]{0}[]). cantconnect = Nicht möglich beizutreten ([accent]{0}[]).
connecting = [accent] Verbinde... connecting = [accent] Verbinde...
@@ -212,7 +212,7 @@ save.new = Neuer Spielstand
save.overwrite = Möchtest du diesen Spielstand wirklich überschreiben? save.overwrite = Möchtest du diesen Spielstand wirklich überschreiben?
overwrite = Überschreiben overwrite = Überschreiben
save.none = Keine Spielstände gefunden! save.none = Keine Spielstände gefunden!
saveload = [accent] Speichern ... saveload = [accent] Speichern...
savefail = Fehler beim Speichern des Spiels! savefail = Fehler beim Speichern des Spiels!
save.delete.confirm = Möchtest du diesen Spielstand wirklich löschen? save.delete.confirm = Möchtest du diesen Spielstand wirklich löschen?
save.delete = Löschen save.delete = Löschen
@@ -221,7 +221,7 @@ save.import.invalid = [accent] Dieser Spielstand ist ungültig!
save.import.fail = [crimson] Spielstand konnte nicht importiert werden: [accent] {0} save.import.fail = [crimson] Spielstand konnte nicht importiert werden: [accent] {0}
save.export.fail = [crimson] Spielstand konnte nicht exportiert werden: [accent] {0} save.export.fail = [crimson] Spielstand konnte nicht exportiert werden: [accent] {0}
save.import = Spielstand importieren save.import = Spielstand importieren
save.newslot = Name speichern: save.newslot = Name:
save.rename = Umbenennen save.rename = Umbenennen
save.rename.text = Neuer Name save.rename.text = Neuer Name
selectslot = Wähle einen Spielstand selectslot = Wähle einen Spielstand
@@ -234,36 +234,36 @@ off = Aus
save.autosave = Automatisches Speichern: {0} save.autosave = Automatisches Speichern: {0}
save.map = Karte: {0} save.map = Karte: {0}
save.wave = Welle: {0} save.wave = Welle: {0}
save.mode = Gamemode: {0} save.mode = Spielmodus: {0}
save.date = Zuletzt gespeichert: {0} save.date = Zuletzt gespeichert: {0}
save.playtime = Spielzeit: {0} save.playtime = Spielzeit: {0}
warning = Warnung. warning = Warnung
confirm = Bestätigen confirm = Bestätigen
delete = Löschen delete = Löschen
view.workshop = Im Workshop betrachten view.workshop = Im Workshop ansehen
workshop.listing = Workshop Auflistung bearbeiten workshop.listing = Workshop-Auflistung bearbeiten
ok = OK ok = OK
open = Öffnen open = Öffnen
customize = Anpassen customize = Anpassen
cancel = Abbruch cancel = Abbruch
openlink = Link öffnen openlink = Link öffnen
copylink = Kopiere Link copylink = Link kopieren
back = Zurück back = Zurück
data.export = Daten exportieren data.export = Daten exportieren
data.import = Daten importieren data.import = Daten importieren
data.exported = Daten exportiert. data.exported = Daten exportiert.
data.invalid = Das sind ungültige Spieldateien. data.invalid = Dies sind keine gültigen Spieldaten.
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. data.import.confirm = Der Import von externen Daten wird [scarlet] alle[] deine gegenwärtigen Spieldaten löschen.\n[accent]Dies kann nicht rückgängig gemacht werden![]Sobald der Import abeschlossen ist, wird dein Spiel sofort beendet.
classic.export = Klassische Dateien exportieren 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? classic.export.text = [accent]Mindustry[] hat ein großes Update bekommen.\nEin Classic (v3.5 build 40) -Speicherstand oder eine -Karte wurde gefunden. Möchtest du diese Daten in den home-Ordner deines Smartphones exportieren, um sie in der Mindustry Classic-App zu verwenden?
quit.confirm = Willst du wirklich aufhören? 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. quit.confirm.tutorial = Weißt du, was du tust?\nDu kannst das Tutorial unter[accent] Einstellungen->Spiel->Tutorial wiederholen[] erneut spielen.
loading = [accent]Wird geladen... loading = [accent]Wird geladen...
reloading = [accent]Mods neuladen... reloading = [accent]Lade Mods neu...
saving = [accent]Speichere... saving = [accent]Speichere...
cancelbuilding = [accent][[{0}][] um Plan zu löschen cancelbuilding = [accent][[{0}][] um den Plan zu leeren
selectschematic = [accent][[{0}][] zum Auswählen+Kopieren selectschematic = [accent][[{0}][] zum Auswählen+Kopieren
pausebuilding = [accent][[{0}][] zum Pausieren des Bauens pausebuilding = [accent][[{0}][] um das Bauen zu pausieren
resumebuilding = [scarlet][[{0}][] um das Bauen fortzusetzen resumebuilding = [scarlet][[{0}][] um das Bauen fortzusetzen
wave = [accent]Welle {0} wave = [accent]Welle {0}
wave.waiting = Welle in {0} wave.waiting = Welle in {0}
@@ -277,33 +277,33 @@ saveimage = Bild speichern
unknown = Unbekannt unknown = Unbekannt
custom = Benutzerdefiniert custom = Benutzerdefiniert
builtin = Enthalten builtin = Enthalten
map.delete.confirm = Bist du sicher, dass du diese Karte löschen willst? Die Aktion kann nicht rückgänig gemacht werden! map.delete.confirm = Bist du sicher, dass du diese Karte löschen willst? Dies kann nicht rückgänig gemacht werden!
map.random = [accent]Zufällige Karte map.random = [accent]Zufällige Karte
map.nospawn = Diese Karte hat keine Kerne in denen die Spieler beginnen können! Füge einen [ROYAL]blue[] Kern zu dieser Karte im Editor hinzu. map.nospawn = Diese Karte hat keine Kerne in denen die Spieler beginnen können! Füge einen [ROYAL]blue[] Kern zu dieser Karte im Editor hinzu.
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.pvp = Diese Karte hat keine gegnerischen Kerne in denen Gegner starten können! 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.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. map.invalid = Fehler beim Laden der Karte: Beschädigte oder ungültige Kartendatei.
workshop.update = Item aktualisieren workshop.update = Objekt aktualisieren
workshop.error = Fehler beim laden von Workshop-Daten: {0} workshop.error = Fehler beim Laden von Workshop-Details: {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! map.publish.confirm = Willst du diese Karte wirklich veröffentlichen?\n\n[lightgray]Vergewissere dich, dass du der Workshop-EULA zugestimmt hast, sonst tauchen deine Karten nicht auf!
workshop.menu = Wähle aus, was du mit diesem Item machen willst. workshop.menu = Wähle aus, was du mit diesem Objekt tun willst.
workshop.info = Item Info workshop.info = Objekt-Info
changelog = Changelog (optional): changelog = Changelog (optional):
eula = Steam EULA eula = Steam EULA
missing = Dieses Item wurde verschoben oder gelöscht.\n[lightgray]Die Workshop-Auflistung wird nun automatisch ungekoppelt. missing = Dieses Objekt wurde gelöscht oder verschoben.\n[lightgray]Die Workshop-Auflistung ist nun automatisch getrennt worden.
publishing = [accent]Veröffentlichen... 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.confirm = Willst du das wirklich veröffentlichen?\n\n[lightgray]Vergewissere dich, dass du der Workshop-EULA zugestimmt hast, sonst tauchen deine Objekte nicht auf!
publish.error = Fehler beim veröffentlichen des Items: {0} publish.error = Fehler beim Veröffentlichen des Objekts: {0}
steam.error = Fehler beim laden der Steam-Dienste.\nError: {0} steam.error = Fehler beim laden der Steam-Dienste.\nError: {0}
editor.brush = Pinsel editor.brush = Pinsel
editor.openin = Öffne im Editor editor.openin = Öffne im Editor
editor.oregen = Erze generieren editor.oregen = Erze generieren
editor.oregen.info = Erze generiert: editor.oregen.info = Erze generiert:
editor.mapinfo = Karten Info editor.mapinfo = Karten-Info
editor.author = Autor: editor.author = Autor:
editor.description = Beschreibung: editor.description = Beschreibung:
editor.nodescription = Eine Karte benötigt mindestens 4 Buchstaben in der Beschreibung, bevor sie veröffentlich werden kann. editor.nodescription = Eine Karte benötigt eine Beschreibung mit mindestens 4 Buchstaben, bevor sie veröffentlich werden kann.
editor.waves = Wellen: editor.waves = Wellen:
editor.rules = Regeln: editor.rules = Regeln:
editor.generation = Generator: editor.generation = Generator:
@@ -325,23 +325,23 @@ waves.copy = Aus der Zwischenablage kopieren
waves.load = Aus der Zwischenablage laden waves.load = Aus der Zwischenablage laden
waves.invalid = Ungültige Wellen in der Zwischenablage. waves.invalid = Ungültige Wellen in der Zwischenablage.
waves.copied = Wellen kopiert. waves.copied = Wellen kopiert.
waves.none = Keine Gegner definiert.\nInfo: Leere Wellen Entwürfe werden automatisch mit dem Standard-Entwurf ersetzt. waves.none = Keine Gegner definiert.\nInfo: Leere Wellenentwürfe werden automatisch mit dem Standard-Entwurf ersetzt.
editor.default = [LIGHT_GRAY]<Standard> editor.default = [LIGHT_GRAY]<Standard>
details = Details... details = Details
edit = Bearbeiten... edit = Bearbeiten
editor.name = Name: editor.name = Name:
editor.spawn = Spawn Bereich editor.spawn = Spawnbereich
editor.removeunit = Entferne Bereich editor.removeunit = Bereich entfernen
editor.teams = Teams editor.teams = Teams
editor.errorload = Fehler beim Laden der Datei:\n[accent]{0} editor.errorload = Fehler beim Laden der Datei:\n[accent]{0}
editor.errorsave = Fehler beim Speichern 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.errorimage = Das ist ein Bild, keine Karte. Wechsle nicht den Dateityp und erwarte, dass es funktioniert.\n\nWenn du eine 3.5/build 40-Karte importieren möchtest, benutze den 'Importiere Terrainbild' Knopf im Editor.
editor.errorlegacy = Diese Karte ist zu alt und benutzt ein veraltetes Karten Format, das nicht mehr unterstützt wird. editor.errorlegacy = Diese Karte ist zu alt und benutzt ein veraltetes Kartenformat, das nicht mehr unterstützt wird.
editor.errornot = Dies ist keine Kartendatei editor.errornot = Dies ist keine Kartendatei.
editor.errorheader = Diese Karte ist entweder nicht gültig oder beschädigt. editor.errorheader = Diese Karte ist entweder nicht gültig oder beschädigt.
editor.errorname = Karte hat keinen Namen. editor.errorname = Karte hat keinen Namen.
editor.update = Aktualisieren editor.update = Aktualisieren
editor.randomize = Zufällig Anordnen editor.randomize = Zufällig anordnen
editor.apply = Anwenden editor.apply = Anwenden
editor.generate = Generieren editor.generate = Generieren
editor.resize = Größe\nanpassen editor.resize = Größe\nanpassen
@@ -355,22 +355,22 @@ editor.import = Importieren...
editor.importmap = Importiere Karte editor.importmap = Importiere Karte
editor.importmap.description = Importiere von einer bestehenden Karte editor.importmap.description = Importiere von einer bestehenden Karte
editor.importfile = Importiere Datei editor.importfile = Importiere Datei
editor.importfile.description = Importiere aus einer Karten Datei editor.importfile.description = Importiere aus einer Kartendatei
editor.importimage = Importiere Terrain Bild editor.importimage = Importiere Terrainbild
editor.importimage.description = Importiere aus einer Terrain Bild Datei editor.importimage.description = Importiere aus einer Terrainbild-Datei
editor.export = Exportieren... editor.export = Exportiere...
editor.exportfile = Export in Datei editor.exportfile = Export in Datei
editor.exportfile.description = Exportiere in eine Karten Datei editor.exportfile.description = Exportiere in eine Karten-Datei
editor.exportimage = Export in Terrain Bild Datei editor.exportimage = Export in Terrainbild-Datei
editor.exportimage.description = Exportiere in eine Karten Bild Datei editor.exportimage.description = Exportiere in ein Kartenbild
editor.loadimage = Bild\nladen editor.loadimage = Bild\nladen
editor.saveimage = Bild\nspeichern editor.saveimage = Bild\nspeichern
editor.unsaved = [crimson] Du hast Änderungen nicht gespeichert [] Möchtest du wirklich aufhören? editor.unsaved = [crimson] Einige Änderungen wurden noch nicht gespeichert! [] Möchtest du den Editor wirklich verlassen?
editor.resizemap = Größe der Karte ändern editor.resizemap = Größe der Karte ändern
editor.mapname = Karten Name editor.mapname = Kartenname
editor.overwrite = [accent] Warnung! Dies überschreibt eine vorhandene Karte. 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.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.exists = Eine Karte mit diesem Namen existiert bereits.
editor.selectmap = Wähle eine Karte zum Laden: editor.selectmap = Wähle eine Karte zum Laden:
toolmode.replace = Ersetzen toolmode.replace = Ersetzen
@@ -380,23 +380,23 @@ toolmode.replaceall.description = Alle Blöcke auf der Karte ersetzen.
toolmode.orthogonal = Rechtwinkelig toolmode.orthogonal = Rechtwinkelig
toolmode.orthogonal.description = Zeichnet nur rechtwinkelige Linien. toolmode.orthogonal.description = Zeichnet nur rechtwinkelige Linien.
toolmode.square = Quadrat toolmode.square = Quadrat
toolmode.square.description = Quadrat Pinsel. toolmode.square.description = Quadratpinsel.
toolmode.eraseores = Erze löschen toolmode.eraseores = Erze löschen
toolmode.eraseores.description = Löscht nur Erze. toolmode.eraseores.description = Löscht nur Erze.
toolmode.fillteams = Teams Ausfüllen toolmode.fillteams = Teams ausfüllen
toolmode.fillteams.description = Füllt Teams aus anstatt Blöcke. toolmode.fillteams.description = Füllt Teams aus statt Blöcke.
toolmode.drawteams = Teams Zeichnen toolmode.drawteams = Teams Zeichnen
toolmode.drawteams.description = Zeichnet Teams anstatt Blöcke. toolmode.drawteams.description = Zeichnet Teams statt Blöcke.
filters.empty = [LIGHT_GRAY]Keine Filter! Füge einen mit dem unteren Knopf hinzu. filters.empty = [LIGHT_GRAY]Keine Filter! Füge einen mit dem unteren Knopf hinzu.
filter.distort = Verzerren filter.distort = Verzerren
filter.noise = Rauschen filter.noise = Rauschen
filter.median = Mittelwert filter.median = Median
filter.oremedian =Erz Median filter.oremedian = Erzmedian
filter.blend = Mischen filter.blend = Mischen
filter.defaultores = Standard Erze filter.defaultores = Standarderze
filter.ore = Erz filter.ore = Erz
filter.rivernoise = Fluss Rauschen filter.rivernoise = Flussrauschen
filter.mirror = Spiegel filter.mirror = Spiegel
filter.clear = Löschen filter.clear = Löschen
filter.option.ignore = Ignorieren filter.option.ignore = Ignorieren
@@ -406,7 +406,7 @@ filter.option.scale = Skalierung
filter.option.chance = Wahrscheinlichkeit filter.option.chance = Wahrscheinlichkeit
filter.option.mag = Größe filter.option.mag = Größe
filter.option.threshold = Grenzwert filter.option.threshold = Grenzwert
filter.option.circle-scale = Kreis Skalierung filter.option.circle-scale = Kreisskalierung
filter.option.octaves = Oktaven filter.option.octaves = Oktaven
filter.option.falloff = Rückgang filter.option.falloff = Rückgang
filter.option.angle = Winkel filter.option.angle = Winkel
@@ -434,29 +434,29 @@ settings = Einstellungen
tutorial = Tutorial tutorial = Tutorial
tutorial.retake = Tutorial wiederholen tutorial.retake = Tutorial wiederholen
editor = Editor editor = Editor
mapeditor = Karten Editor mapeditor = Karteneditor
abandon = Aufgeben abandon = Aufgeben
abandon.text = Diese Zone sowie alle Ressourcen werden dem Gegner überlassen. abandon.text = Diese Zone sowie alle Ressourcen werden dem Gegner überlassen.
locked = Gesperrt locked = Gesperrt
complete = [LIGHT_GRAY]Abschließen: complete = [LIGHT_GRAY]Abschließen:
requirement.wave = Erreiche {0} in {1} requirement.wave = Erreiche Welle {0} in {1}
requirement.core = Zerstöre Gegnerbasis in {0} requirement.core = Zerstöre den feindlichen Kern in {0}
requirement.unlock = Schalte {0} freo requirement.unlock = Schalte {0} frei
resume = Zu Zone zurückkehren:\n[LIGHT_GRAY]{0} resume = Zu Zone zurückkehren:\n[LIGHT_GRAY]{0}
bestwave = [LIGHT_GRAY]Beste Welle: {0} bestwave = [LIGHT_GRAY]Beste Welle: {0}
launch = Abschluss launch = Starten
launch.title = Abschluss erfolgreich launch.title = Start erfolgreich
launch.next = [LIGHT_GRAY]Nächste Möglichkeit bei Welle {0} launch.next = [LIGHT_GRAY]Nächste Möglichkeit bei Welle {0}
launch.unable2 = [scarlet]Unfähig abzuschließen.[] launch.unable2 = [scarlet]START nicht möglich.[]
launch.confirm = Dies wird alle Ressourcen in deinen Kern übertragen.\nDu kannst nicht wieder zu dieser Karte zurückkehren. launch.confirm = Dies wird alle Ressourcen in deinen Kern übertragen.\nDu kannst nicht wieder zu dieser Karte zurückkehren.
launch.skip.confirm = Wenn du jetzt überspringst, kannst du nicht vor späteren Wellen abschließen. launch.skip.confirm = Wenn du die Wartezeit überspringst, kannst du den Kern bis zu einer späteren Welle nicht mehr starten.
uncover = Freischalten uncover = Freischalten
configure = Startitems festlegen configure = Startitems festlegen
bannedblocks = Gesperrte Blöcke bannedblocks = Gesperrte Blöcke
addall = Alle hinzufügen addall = Alle hinzufügen
configure.locked = [LIGHT_GRAY]Erreiche Welle {0}\n, um Startitems festlegen zu können. configure.locked = [lightgray]Festlegen von Startitems freischalten: {0}.
configure.invalid = Anzahl muss zwischen 0 und {0} sein. configure.invalid = Anzahl muss eine Zahl zwischen 0 und {0} sein.
zone.unlocked = [LIGHT_GRAY]{0} freigeschaltet. zone.unlocked = [LIGHT_GRAY]{0} freigeschaltet.
zone.requirement.complete = Welle {0} erreicht:\n{1} Anforderungen der Zone erfüllt. zone.requirement.complete = Welle {0} erreicht:\n{1} Anforderungen der Zone erfüllt.
zone.config.unlocked = Konfiguration:[lightgray]\n{0} zone.config.unlocked = Konfiguration:[lightgray]\n{0}
@@ -465,7 +465,7 @@ zone.objective = [lightgray]Ziel: [accent]{0}
zone.objective.survival = Überlebe zone.objective.survival = Überlebe
zone.objective.attack = Zerstöre den feindlichen Kern zone.objective.attack = Zerstöre den feindlichen Kern
add = Hinzufügen... add = Hinzufügen...
boss.health = Boss Lebenskraft boss.health = Boss-Lebenskraft
connectfail = [crimson] Verbindung zum Server konnte nicht hergestellt werden: [accent]{0} connectfail = [crimson] Verbindung zum Server konnte nicht hergestellt werden: [accent]{0}
error.unreachable = Server nicht erreichbar. error.unreachable = Server nicht erreichbar.
@@ -487,14 +487,14 @@ zone.stainedMountains.name = Gefleckte Berge
zone.desolateRift.name = Trostloser Riss zone.desolateRift.name = Trostloser Riss
zone.nuclearComplex.name = Kernkraftwerk zone.nuclearComplex.name = Kernkraftwerk
zone.overgrowth.name = Überwucherung zone.overgrowth.name = Überwucherung
zone.tarFields.name = Ölfelder zone.tarFields.name = Teerfelder
zone.saltFlats.name = Salztiefen zone.saltFlats.name = Salzebenen
zone.impact0078.name = Auswirkung 0078 zone.impact0078.name = Einschlag 0078
zone.crags.name = Felsen zone.crags.name = Felsen
zone.fungalPass.name = Sporenpass 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.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.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 Reparateure 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. 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.
zone.saltFlats.description = Am Rande der Wüste liegen die Salzebenen. In dieser Gegend können wenige Ressourcen gefunden werden.\n\nDer Feind hat hier einen Ressourcenspeicherkomplex errichtet. Zerstöre ihren Kern. Lass nichts stehen. zone.saltFlats.description = Am Rande der Wüste liegen die Salzebenen. In dieser Gegend können wenige Ressourcen gefunden werden.\n\nDer Feind hat hier einen Ressourcenspeicherkomplex errichtet. Zerstöre ihren Kern. Lass nichts stehen.
zone.craters.description = Wasser hat sich in diesem Krater angesammelt, ein Relikt von den alten Kriegen. Gewinne dieses Gebiet zurück. Sammle Sand. Schmelze Metaglass. Pumpe Wasser, um Geschütztürme und Bohrer zu kühlen. zone.craters.description = Wasser hat sich in diesem Krater angesammelt, ein Relikt von den alten Kriegen. Gewinne dieses Gebiet zurück. Sammle Sand. Schmelze Metaglass. Pumpe Wasser, um Geschütztürme und Bohrer zu kühlen.
@@ -504,7 +504,7 @@ 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.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.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.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 = 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.fungalPass.description = Ein Übergangsgebiet zwischen hohen Bergen und niedrigeren, sporenverseuchten Landschaften. Ein kleiner feindlicher Außenposten wurde hier entdeckt.\nZerstöre ihn.\nNutze Dagger und Crawler-Einheiten. Zerstöre die zwei Kerne.
zone.impact0078.description = <Beschreibung hier einfügen> zone.impact0078.description = <Beschreibung hier einfügen>
zone.crags.description = <Beschreibung hier einfügen> zone.crags.description = <Beschreibung hier einfügen>
@@ -519,7 +519,7 @@ settings.sound = Audio
settings.graphics = Grafik settings.graphics = Grafik
settings.cleardata = Spieldaten zurücksetzen... settings.cleardata = Spieldaten zurücksetzen...
settings.clear.confirm = Bist du sicher, dass du die Spieldaten zurücksetzen willst?\n Diese Aktion kann nicht rückgängig gemacht werden! settings.clear.confirm = Bist du sicher, dass du die Spieldaten zurücksetzen willst?\n Diese Aktion kann nicht rückgängig gemacht werden!
settings.clearall.confirm = [scarlet]Warnung![]\nDas wird jegliche Spieldaten zurücksetzen inklusive Speicherstände, Karten, Freischaltungen und Tastenbelegungen.\n Nachdem du 'OK' drückst wird alles zurückgesetzt und das Spiel schließt sich automatisch. settings.clearall.confirm = [scarlet]Warnung![]\nDas wird jegliche Spieldaten zurücksetzen, inklusive Speicherstände, Karten, Freischaltungen und Tastenbelegungen.\n Nachdem du 'OK' drückst wird alles zurückgesetzt und das Spiel schließt sich automatisch.
paused = Pausiert paused = Pausiert
clear = Leeren clear = Leeren
banned = [scarlet]Banned banned = [scarlet]Banned
@@ -535,8 +535,8 @@ block.unknown = [LIGHT_GRAY]???
blocks.powercapacity = Kapazität blocks.powercapacity = Kapazität
blocks.powershot = Stromverbrauch/Schuss blocks.powershot = Stromverbrauch/Schuss
blocks.damage = Schaden blocks.damage = Schaden
blocks.targetsair = Visiert Luft Einheiten an blocks.targetsair = Visiert Lufteinheiten an
blocks.targetsground = Visiert Boden Einheiten an blocks.targetsground = Visiert Bodeneinheiten an
blocks.itemsmoved = Bewegungsgeschwindigkeit blocks.itemsmoved = Bewegungsgeschwindigkeit
blocks.launchtime = Zeit zwischen Starts blocks.launchtime = Zeit zwischen Starts
blocks.shootrange = Reichweite blocks.shootrange = Reichweite
@@ -549,13 +549,13 @@ blocks.powerdamage = Stromverbrauch/Schadenspunkt
blocks.itemcapacity = Materialkapazität blocks.itemcapacity = Materialkapazität
blocks.basepowergeneration = Basis-Stromerzeugung blocks.basepowergeneration = Basis-Stromerzeugung
blocks.productiontime = Produktionszeit blocks.productiontime = Produktionszeit
blocks.repairtime = Zeit zur vollständigen Heilung blocks.repairtime = Zeit zur vollständigen Reparatur
blocks.speedincrease = Geschwindigkeitserhöhung blocks.speedincrease = Geschwindigkeitserhöhung
blocks.range = Reichweite blocks.range = Reichweite
blocks.drilltier = Abbaubare Erze blocks.drilltier = Abbaubare Erze
blocks.drillspeed = Bohrgeschwindigkeit blocks.drillspeed = Bohrgeschwindigkeit
blocks.boosteffect = Verstärkungseffekt blocks.boosteffect = Verstärkungseffekt
blocks.maxunits = Max aktive Einheiten blocks.maxunits = Max. aktive Einheiten
blocks.health = Lebenspunkte blocks.health = Lebenspunkte
blocks.buildtime = Baudauer blocks.buildtime = Baudauer
blocks.buildcost = Baukosten blocks.buildcost = Baukosten
@@ -564,14 +564,14 @@ blocks.shots = Schüsse
blocks.reload = Schüsse/Sekunde blocks.reload = Schüsse/Sekunde
blocks.ammo = Munition blocks.ammo = Munition
bar.drilltierreq = Besserer Bohrer benötigt bar.drilltierreq = Besserer Bohrer Benötigt
bar.drillspeed = Bohrgeschwindigkeit: {0}/s bar.drillspeed = Bohrgeschwindigkeit: {0}/s
bar.pumpspeed = Pump Speed: {0}/s bar.pumpspeed = Pump Speed: {0}/s
bar.efficiency = Effizienz: {0}% bar.efficiency = Effizienz: {0}%
bar.powerbalance = Strom: {0} bar.powerbalance = Strom: {0}
bar.powerstored = Gespeichert: {0}/{1} bar.powerstored = Gespeichert: {0}/{1}
bar.poweramount = Strom: {0} bar.poweramount = Strom: {0}
bar.poweroutput = Stromgeneration: {0} bar.poweroutput = Stromgenerierung: {0}
bar.items = Items: {0} bar.items = Items: {0}
bar.capacity = Kapazität: {0} bar.capacity = Kapazität: {0}
bar.liquid = Flüssigkeit bar.liquid = Flüssigkeit
@@ -586,7 +586,7 @@ bullet.damage = [stat]{0}[lightgray] Schaden
bullet.splashdamage = [stat]{0}[lightgray] Flächenschaden ~[stat] {1}[lightgray] Kacheln bullet.splashdamage = [stat]{0}[lightgray] Flächenschaden ~[stat] {1}[lightgray] Kacheln
bullet.incendiary = [stat]entzündend bullet.incendiary = [stat]entzündend
bullet.homing = [stat]zielsuchend bullet.homing = [stat]zielsuchend
bullet.shock = [stat]schock bullet.shock = [stat]schockend
bullet.frag = [stat]explosiv bullet.frag = [stat]explosiv
bullet.knockback = [stat]{0}[lightgray] zurückstoßend bullet.knockback = [stat]{0}[lightgray] zurückstoßend
bullet.freezing = [stat]frierend bullet.freezing = [stat]frierend
@@ -602,7 +602,7 @@ unit.liquidunits = Flüssigkeitseinheiten
unit.powerunits = Stromeinheiten unit.powerunits = Stromeinheiten
unit.degrees = Grad unit.degrees = Grad
unit.seconds = Sekunden unit.seconds = Sekunden
unit.persecond = /s unit.persecond = /sek
unit.timesspeed = x Geschwindigkeit unit.timesspeed = x Geschwindigkeit
unit.percent = % unit.percent = %
unit.items = Materialeinheiten unit.items = Materialeinheiten
@@ -627,8 +627,8 @@ setting.antialias.name = Antialias[LIGHT_GRAY] (Neustart erforderlich)[]
setting.indicators.name = Verbündeten-Indikatoren setting.indicators.name = Verbündeten-Indikatoren
setting.autotarget.name = Auto-Zielauswahl setting.autotarget.name = Auto-Zielauswahl
setting.keyboard.name = Maus+Tastatur Steuerung setting.keyboard.name = Maus+Tastatur Steuerung
setting.touchscreen.name = Touchscreen Controls setting.touchscreen.name = Touchscreen-Steuerung
setting.fpscap.name = Max FPS setting.fpscap.name = Max. FPS
setting.fpscap.none = kein setting.fpscap.none = kein
setting.fpscap.text = {0} FPS setting.fpscap.text = {0} FPS
setting.uiscale.name = UI-Skalierung[lightgray] (Neustart erforderlich)[] setting.uiscale.name = UI-Skalierung[lightgray] (Neustart erforderlich)[]
@@ -645,12 +645,12 @@ setting.destroyedblocks.name = Zerstörte Blöcke anzeigen
setting.conveyorpathfinding.name = Automatische Wegfindung beim Bau von Förderbändern setting.conveyorpathfinding.name = Automatische Wegfindung beim Bau von Förderbändern
setting.coreselect.name = Allow Schematic Cores setting.coreselect.name = Allow Schematic Cores
setting.sensitivity.name = Controller-Empfindlichkeit setting.sensitivity.name = Controller-Empfindlichkeit
setting.saveinterval.name = Autosave Häufigkeit setting.saveinterval.name = Autosave-Häufigkeit
setting.seconds = {0} Sekunden setting.seconds = {0} Sekunden
setting.blockselecttimeout.name = Block Auswahl Timeout setting.blockselecttimeout.name = Block Auswahl Timeout
setting.milliseconds = {0} Millisekunden setting.milliseconds = {0} Millisekunden
setting.fullscreen.name = Vollbild setting.fullscreen.name = Vollbild
setting.borderlesswindow.name = Randloses Fenster[LIGHT_GRAY] (Neustart teilweise erforderlich) setting.borderlesswindow.name = Randloses Fenster[LIGHT_GRAY] (Neustart vielleicht erforderlich)
setting.fps.name = Zeige FPS setting.fps.name = Zeige FPS
setting.blockselectkeys.name = Block Shortcuts anzeigen setting.blockselectkeys.name = Block Shortcuts anzeigen
setting.vsync.name = VSync setting.vsync.name = VSync
@@ -663,10 +663,10 @@ setting.mutemusic.name = Musik stummschalten
setting.sfxvol.name = Audioeffekt-Lautstärke setting.sfxvol.name = Audioeffekt-Lautstärke
setting.mutesound.name = Audioeffekte stummschalten setting.mutesound.name = Audioeffekte stummschalten
setting.crashreport.name = Anonyme Absturzberichte senden setting.crashreport.name = Anonyme Absturzberichte senden
setting.savecreate.name = Automatisch Speicherstände anlegen setting.savecreate.name = Automatisch speichern
setting.publichost.name = Public Game Visibility setting.publichost.name = Öffentliche Sichtbarkeit des Spiels
setting.chatopacity.name = Chat Deckkraft setting.chatopacity.name = Chat-Deckkraft
setting.lasersopacity.name = Power Laser Opacity setting.lasersopacity.name = Power-Laser-Deckkraft
setting.playerchat.name = Chat im Spiel anzeigen setting.playerchat.name = Chat im Spiel anzeigen
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.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. public.beta = Bemerke: Beta-Versionen des Spiels können keine öffentlichen Spiele machen.
@@ -679,7 +679,7 @@ category.general.name = Allgemein
category.view.name = Ansicht category.view.name = Ansicht
category.multiplayer.name = Mehrspieler category.multiplayer.name = Mehrspieler
command.attack = Angreifen command.attack = Angreifen
command.rally = Rally command.rally = Patrouillieren
command.retreat = Rückzug command.retreat = Rückzug
placement.blockselectkeys = \n[lightgray]Shortcut: [{0}, placement.blockselectkeys = \n[lightgray]Shortcut: [{0},
keybind.clear_building.name = Clear Building keybind.clear_building.name = Clear Building
@@ -690,11 +690,11 @@ keybind.toggle_power_lines.name = Toggle Power Lasers
keybind.move_x.name = X-Achse keybind.move_x.name = X-Achse
keybind.move_y.name = Y-Achse keybind.move_y.name = Y-Achse
keybind.mouse_move.name = Follow Mouse keybind.mouse_move.name = Follow Mouse
keybind.dash.name = Bindestrich keybind.dash.name = Sprinten
keybind.schematic_select.name = Bereich auswählen keybind.schematic_select.name = Bereich auswählen
keybind.schematic_menu.name = Schematic Menu keybind.schematic_menu.name = Entwurfsmenü
keybind.schematic_flip_x.name = Entwurf umdrehen X keybind.schematic_flip_x.name = Entwurf umdrehen X
keybind.schematic_flip_y.name = Entwurf umdrehn Y keybind.schematic_flip_y.name = Entwurf umdrehen Y
keybind.category_prev.name = Vorige Kategorie keybind.category_prev.name = Vorige Kategorie
keybind.category_next.name = Nächste Kategorie keybind.category_next.name = Nächste Kategorie
keybind.block_select_left.name = Block-Auswahl nach links keybind.block_select_left.name = Block-Auswahl nach links
@@ -711,10 +711,10 @@ keybind.block_select_07.name = Kategorie/Block 7 auswählen
keybind.block_select_08.name = Kategorie/Block 8 auswählen keybind.block_select_08.name = Kategorie/Block 8 auswählen
keybind.block_select_09.name = Kategorie/Block 9 auswählen keybind.block_select_09.name = Kategorie/Block 9 auswählen
keybind.block_select_10.name = Kategorie/Block 10 auswählen keybind.block_select_10.name = Kategorie/Block 10 auswählen
keybind.fullscreen.name = Vollbild umschalten keybind.fullscreen.name = Vollbildmodus umschalten
keybind.select.name = Auswählen/Schießen keybind.select.name = Auswählen/Schießen
keybind.diagonal_placement.name = Diagonal platzieren keybind.diagonal_placement.name = Diagonal platzieren
keybind.pick.name = Block Auswählen keybind.pick.name = Block auswählen
keybind.break_block.name = Block zerstören keybind.break_block.name = Block zerstören
keybind.deselect.name = Auswahl aufheben keybind.deselect.name = Auswahl aufheben
keybind.shoot.name = Schießen keybind.shoot.name = Schießen
@@ -741,14 +741,14 @@ mode.sandbox.name = Sandkasten
mode.sandbox.description = Unendliche Ressourcen und kein Timer für Wellen. mode.sandbox.description = Unendliche Ressourcen und kein Timer für Wellen.
mode.editor.name = Editor mode.editor.name = Editor
mode.pvp.name = PvP mode.pvp.name = PvP
mode.pvp.description = Kämpfe gegen andere Spieler lokal. mode.pvp.description = Kämpfe lokal gegen andere Spieler.
mode.attack.name = Angriff mode.attack.name = Angriff
mode.attack.description = Keine Wellen, das Ziel ist es die gegnerische Basis zu zerstören. mode.attack.description = Keine Wellen, das Ziel ist es, die gegnerische Basis zu zerstören.
mode.custom = Angepasste Regeln mode.custom = Angepasste Regeln
rules.infiniteresources = Unbegrenzte Ressourcen rules.infiniteresources = Unbegrenzte Ressourcen
rules.reactorexplosions = Reactor Explosions rules.reactorexplosions = Reactor Explosions
rules.wavetimer = Wellen Timer rules.wavetimer = Wellen-Timer
rules.waves = Wellen rules.waves = Wellen
rules.attack = Angriff-Modus rules.attack = Angriff-Modus
rules.enemyCheat = Unbegrenzte Ressourcen für KI rules.enemyCheat = Unbegrenzte Ressourcen für KI
@@ -760,16 +760,16 @@ rules.playerhealthmultiplier = Spieler-Lebenspunkte Multiplikator
rules.playerdamagemultiplier = Spieler-Schaden Multiplikator rules.playerdamagemultiplier = Spieler-Schaden Multiplikator
rules.unitdamagemultiplier = Schaden-Einheit Multiplikator rules.unitdamagemultiplier = Schaden-Einheit Multiplikator
rules.enemycorebuildradius = Bauverbot Radius druch feindlichen Kern:[LIGHT_GRAY] (Kacheln) rules.enemycorebuildradius = Bauverbot Radius druch feindlichen Kern:[LIGHT_GRAY] (Kacheln)
rules.respawntime = Respawn Zeit:[LIGHT_GRAY] (Sek) rules.respawntime = Respawn-Zeit:[LIGHT_GRAY] (Sek)
rules.wavespacing = Wellen Abstand:[LIGHT_GRAY] (Sek) rules.wavespacing = Wellen-Abstand:[LIGHT_GRAY] (Sek)
rules.buildcostmultiplier = Bau-Kosten Multiplikator rules.buildcostmultiplier = Bau-Kosten Multiplikator
rules.buildspeedmultiplier = Bau-Schnelligkeit Multiplikator rules.buildspeedmultiplier = Bau-Schnelligkeit Multiplikator
rules.waitForWaveToEnd = Warten bis Welle endet rules.waitForWaveToEnd = Warten bis Welle endet
rules.dropzoneradius = Drop Zonen Radius:[LIGHT_GRAY] (Kacheln) rules.dropzoneradius = Drop-Zonen-Radius:[LIGHT_GRAY] (Kacheln)
rules.respawns = Max Respawns pro Welle rules.respawns = Max. Wiederbelebungen pro Welle
rules.limitedRespawns = Respawn-Limit rules.limitedRespawns = Wiederbelebungslimit
rules.title.waves = Wellen rules.title.waves = Wellen
rules.title.respawns = Respawns rules.title.respawns = Wiederbelebungen
rules.title.resourcesbuilding = Ressourcen & Gebäude rules.title.resourcesbuilding = Ressourcen & Gebäude
rules.title.player = Spieler rules.title.player = Spieler
rules.title.enemy = Gegner rules.title.enemy = Gegner
@@ -792,7 +792,7 @@ item.thorium.name = Thorium
item.silicon.name = Silizium item.silicon.name = Silizium
item.plastanium.name = Plastanium item.plastanium.name = Plastanium
item.phase-fabric.name = Phasengewebe item.phase-fabric.name = Phasengewebe
item.surge-alloy.name = Spannungsstoß-Legierung item.surge-alloy.name = Spannungslegierung
item.spore-pod.name = Sporen-Pod item.spore-pod.name = Sporen-Pod
item.sand.name = Sand item.sand.name = Sand
item.blast-compound.name = Explosive Mischung item.blast-compound.name = Explosive Mischung
@@ -802,7 +802,7 @@ item.scrap.name = Schrott
liquid.water.name = Wasser liquid.water.name = Wasser
liquid.slag.name = Lava liquid.slag.name = Lava
liquid.oil.name = Öl liquid.oil.name = Öl
liquid.cryofluid.name = Kryoflüssigkeit liquid.cryofluid.name = Kühlflüssigkeit
mech.alpha-mech.name = Alpha mech.alpha-mech.name = Alpha
mech.alpha-mech.weapon = Schwerer Mehrlader mech.alpha-mech.weapon = Schwerer Mehrlader
mech.alpha-mech.ability = Drohnenschwarm mech.alpha-mech.ability = Drohnenschwarm
@@ -896,7 +896,7 @@ block.pine.name = Kiefer
block.white-tree-dead.name = Weißer toter Baum block.white-tree-dead.name = Weißer toter Baum
block.white-tree.name = Weißer Baum block.white-tree.name = Weißer Baum
block.spore-cluster.name = Sporen-Cluster block.spore-cluster.name = Sporen-Cluster
block.metal-floor.name = Metallboden block.metal-floor.name = Metallboden 1
block.metal-floor-2.name = Metallboden 2 block.metal-floor-2.name = Metallboden 2
block.metal-floor-3.name = Metallboden 3 block.metal-floor-3.name = Metallboden 3
block.metal-floor-5.name = Metallboden 5 block.metal-floor-5.name = Metallboden 5
@@ -931,8 +931,8 @@ block.hail.name = Streuer
block.lancer.name = Lanzer block.lancer.name = Lanzer
block.conveyor.name = Förderband block.conveyor.name = Förderband
block.titanium-conveyor.name = Titan-Förderband block.titanium-conveyor.name = Titan-Förderband
block.armored-conveyor.name = Gepanzertes-Förderband block.armored-conveyor.name = Gepanzertes Förderband
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 conveyors. block.armored-conveyor.description = Bewegt Gegenstände genauso schnell wie das Titan-Förderband, ist aber besser gepanzert. Akzeptiert nur Verbindungen mit anderen Förderbändern.
block.junction.name = Kreuzung block.junction.name = Kreuzung
block.router.name = Verteiler block.router.name = Verteiler
block.distributor.name = Großer Verteiler block.distributor.name = Großer Verteiler
@@ -966,13 +966,13 @@ block.pneumatic-drill.name = Pneumatischer Bohrer
block.laser-drill.name = Laser-Bohrer block.laser-drill.name = Laser-Bohrer
block.water-extractor.name = Wasser-Extraktor block.water-extractor.name = Wasser-Extraktor
block.cultivator.name = Kultivierer block.cultivator.name = Kultivierer
block.dart-mech-pad.name = Dart Mech-Pad block.dart-mech-pad.name = Dart-Mech-Pad
block.delta-mech-pad.name = Delta Mech-Pad block.delta-mech-pad.name = Delta-Mech-Pad
block.javelin-ship-pad.name = Javelin Luftschiff-Pad block.javelin-ship-pad.name = Javelin-Luftschiff-Pad
block.trident-ship-pad.name = Dreizack Luftschiff-Pad block.trident-ship-pad.name = Dreizack-Luftschiff-Pad
block.glaive-ship-pad.name = Glaive Luftschiff-Pad block.glaive-ship-pad.name = Glaive-Luftschiff-Pad
block.omega-mech-pad.name = Omega Mech-Pad block.omega-mech-pad.name = Omega-Mech-Pad
block.tau-mech-pad.name = Tau Mech-Pad block.tau-mech-pad.name = Tau-Mech-Pad
block.conduit.name = Leitungsrohr block.conduit.name = Leitungsrohr
block.mechanical-pump.name = Mechanische Pumpe block.mechanical-pump.name = Mechanische Pumpe
block.item-source.name = Materialquelle block.item-source.name = Materialquelle
@@ -987,25 +987,25 @@ block.wave.name = Welle
block.swarmer.name = Schwärmer block.swarmer.name = Schwärmer
block.salvo.name = Salve block.salvo.name = Salve
block.ripple.name = Zerstörer block.ripple.name = Zerstörer
block.phase-conveyor.name = Phasen-Transportband block.phase-conveyor.name = Phasen-Förderband
block.bridge-conveyor.name = Brücken-Transportband block.bridge-conveyor.name = Brücken-Förderband
block.plastanium-compressor.name = Plastanium-Verdichter block.plastanium-compressor.name = Plastanium-Verdichter
block.pyratite-mixer.name = Pyratit-Mixer block.pyratite-mixer.name = Pyratit-Mixer
block.blast-mixer.name = Sprengmixer block.blast-mixer.name = Sprengmixer
block.solar-panel.name = Solarpanel block.solar-panel.name = Solarpanel
block.solar-panel-large.name = Großes Solarpanel block.solar-panel-large.name = Großes Solarpanel
block.oil-extractor.name = Öl-Extraktor block.oil-extractor.name = Öl-Extraktor
block.command-center.name = Kommandozentrum block.command-center.name = Kommandozentrale
block.draug-factory.name = Draug Miner-Drohnenfactory block.draug-factory.name = Draug-Miner-Dronenfabrik
block.spirit-factory.name = Spirit-Drohnenfabrik block.spirit-factory.name = Spirit-Drohnenfabrik
block.phantom-factory.name = Phantom-Drohnenfabrik block.phantom-factory.name = Phantom-Drohnenfabrik
block.wraith-factory.name = Wraith Fighter-Fabrik block.wraith-factory.name = Wraith-Fighter-Fabrik
block.ghoul-factory.name = Ghoul Bomber-Fabrik block.ghoul-factory.name = Ghoul-Bomber-Fabrik
block.dagger-factory.name = Dagger Mech-Fabrik block.dagger-factory.name = Dagger-Mech-Fabrik
block.crawler-factory.name = Crawler Mech-Fabrik block.crawler-factory.name = Crawler-Mech-Fabrik
block.titan-factory.name = Titan Mech-Fabrik block.titan-factory.name = Titan-Mech-Fabrik
block.fortress-factory.name = Fortress Mech-Fabrik block.fortress-factory.name = Fortress-Mech-Fabrik
block.revenant-factory.name = Revenant Fighter-Fabrik block.revenant-factory.name = Revenant-Fighter-Fabrik
block.repair-point.name = Reparaturpunkt block.repair-point.name = Reparaturpunkt
block.pulse-conduit.name = Impulskanal block.pulse-conduit.name = Impulskanal
block.plated-conduit.name = Plated Conduit block.plated-conduit.name = Plated Conduit
@@ -1023,8 +1023,8 @@ block.thermal-generator.name = Thermischer Generator
block.alloy-smelter.name = Legierungsschmelze block.alloy-smelter.name = Legierungsschmelze
block.mender.name = Reparateur block.mender.name = Reparateur
block.mend-projector.name = Reparaturprojektor block.mend-projector.name = Reparaturprojektor
block.surge-wall.name = Spannungsstoß-Mauer block.surge-wall.name = Spannungsmauer
block.surge-wall-large.name = Große Spannungsstoß-Mauer block.surge-wall-large.name = Große Spannungsmauer
block.cyclone.name = Zyklon block.cyclone.name = Zyklon
block.fuse.name = Zünder block.fuse.name = Zünder
block.shock-mine.name = Schock-Mine block.shock-mine.name = Schock-Mine
@@ -1041,11 +1041,11 @@ team.blue.name = Blau
team.crux.name = red team.crux.name = red
team.sharded.name = orange team.sharded.name = orange
team.orange.name = Orange team.orange.name = Orange
team.derelict.name = derelict team.derelict.name = Derelict
team.green.name = Grün team.green.name = Grün
team.purple.name = Lila team.purple.name = Lila
unit.spirit.name = Spirit-Drohne unit.spirit.name = Spirit-Drohne
unit.draug.name = Draug Miner-Drone unit.draug.name = Draug-Miner-Drone
unit.phantom.name = Phantom-Drohne unit.phantom.name = Phantom-Drohne
unit.dagger.name = Dagger unit.dagger.name = Dagger
unit.crawler.name = Crawler unit.crawler.name = Crawler
@@ -1120,7 +1120,7 @@ unit.eruptor.description = Ein schwerer Mech, der Strukturen abbaut. Feuert eine
unit.wraith.description = Eine schneller Abfangjäger. unit.wraith.description = Eine schneller Abfangjäger.
unit.ghoul.description = Ein schwerer Flächenbomber. unit.ghoul.description = Ein schwerer Flächenbomber.
unit.revenant.description = Eine schwere, schwebende Raketengruppe. unit.revenant.description = Eine schwere, schwebende Raketengruppe.
block.message.description = Benutzt um Nachrichten mit Verbündeten auszutauschen. block.message.description = Speichert eine Nachricht. Wird genutzt, um mit Verbündeten zu kommunizieren.
block.graphite-press.description = Komprimiert Kohlestücke zu reinen Graphitplatten. block.graphite-press.description = Komprimiert Kohlestücke zu reinen Graphitplatten.
block.multi-press.description = Eine aktualisierte Version der Graphitpresse. Setzt Wasser und Strom ein, um Kohle schnell und effizient zu verarbeiten. block.multi-press.description = Eine aktualisierte Version der Graphitpresse. Setzt Wasser und Strom ein, um Kohle schnell und effizient zu verarbeiten.
block.silicon-smelter.description = Reduziert Sand mit hochreinem Kohlenstoff, um Silizium zu produzieren. block.silicon-smelter.description = Reduziert Sand mit hochreinem Kohlenstoff, um Silizium zu produzieren.
@@ -1129,12 +1129,12 @@ block.plastanium-compressor.description = Produziert Plastanium aus Öl und Tita
block.phase-weaver.description = Produziert Phasengewebe aus radioaktivem Thorium und großen Mengen an Sand. block.phase-weaver.description = Produziert Phasengewebe aus radioaktivem Thorium und großen Mengen an Sand.
block.alloy-smelter.description = Verarbeitet Titan, Blei, Silizium und Kupfer zu einer Stromstoßlegierung. block.alloy-smelter.description = Verarbeitet Titan, Blei, Silizium und Kupfer zu einer Stromstoßlegierung.
block.cryofluidmixer.description = Verarbeitet Wasser mit Titan zu einer Kryoflüssigkeit, die viel effizienter kühlt. block.cryofluidmixer.description = Verarbeitet Wasser mit Titan zu einer Kryoflüssigkeit, die viel effizienter kühlt.
block.blast-mixer.description = Verwendet Öl, um Pyratit in eine weniger enzündliche aber explosive Mischung umzuwandeln. block.blast-mixer.description = Verwendet Sporen, um Pyratit in eine weniger enzündliche aber explosive Mischung umzuwandeln.
block.pyratite-mixer.description = Vermischt Kohle, Blei und Sand zu hochentzündlichem Pyratit. block.pyratite-mixer.description = Vermischt Kohle, Blei und Sand zu hochentzündlichem Pyratit.
block.melter.description = Erhitzt Stein auf extrem hohe Temperaturen, um Lava zu erhalten. block.melter.description = Erhitzt Schrott auf extrem hohe Temperaturen, um Lava zu erhalten.
block.separator.description = Setzt Stein Wasserdruck aus, um verschiedene Mineralien im Stein freizulegen. block.separator.description = Setzt Lava Wasserdruck aus, um verschiedene Mineralien freizulegen.
block.spore-press.description = Komprimiert Sporenhülsen zu Öl. block.spore-press.description = Komprimiert Sporenhülsen zu Öl.
block.pulverizer.description = Zertrümmert Stein zu Sand. Nützlich, wenn kein natürlicher Sand verfügbar ist. block.pulverizer.description = Zertrümmert Schrott zu Sand. Nützlich, wenn kein natürlicher Sand verfügbar ist.
block.coal-centrifuge.description = Verfestigt Öl zu Kohlenstücken. block.coal-centrifuge.description = Verfestigt Öl zu Kohlenstücken.
block.incinerator.description = Vernichtet beliebige überschüssige Materialien oder Flüssigkeiten. block.incinerator.description = Vernichtet beliebige überschüssige Materialien oder Flüssigkeiten.
block.power-void.description = Verschlingt den kompletten übrigen Strom. Nur im Sandkasten-Modus verfügbar. block.power-void.description = Verschlingt den kompletten übrigen Strom. Nur im Sandkasten-Modus verfügbar.
@@ -1157,8 +1157,8 @@ block.surge-wall.description = Der stärkste Verteidigungsblock.\nHat eine klein
block.surge-wall-large.description = Der stärkste Verteidigungsblock.\nHat eine kleine Chance, bei einem Schuss einen Lichtbogen in Richtung Angreifer auszulösen.\nBenötigt mehrere Kacheln. block.surge-wall-large.description = Der stärkste Verteidigungsblock.\nHat eine kleine Chance, bei einem Schuss einen Lichtbogen in Richtung Angreifer auszulösen.\nBenötigt mehrere Kacheln.
block.door.description = Eine kleine Tür, die durch Tippen geöffnet und geschlossen werden kann.\nGegner können durch geöffnete Türen schießen und laufen. block.door.description = Eine kleine Tür, die durch Tippen geöffnet und geschlossen werden kann.\nGegner können durch geöffnete Türen schießen und laufen.
block.door-large.description = Eine kleine Tür, die durch Tippen geöffnet und geschlossen werden kann.\nGegner können durch geöffnete Türen schießen und laufen.\nBenötigt mehrere Kacheln. block.door-large.description = Eine kleine Tür, die durch Tippen geöffnet und geschlossen werden kann.\nGegner können durch geöffnete Türen schießen und laufen.\nBenötigt mehrere Kacheln.
block.mender.description = Repariert regelmäßig Blöcke in der Nähe. Hält die Abwehrkräfte zwischen den Wellen instand.\nVerwendet optional Silizium, um Reichweite und Effizienz zu steigern. block.mender.description = Repariert regelmäßig Blöcke in seiner Umgebung. Hält die Abwehrkräfte zwischen den Wellen instand.\nVerwendet optional Silizium, um Reichweite und Effizienz zu steigern.
block.mend-projector.description = Heilt zyklisch Blöcke in seiner Umgebung. block.mend-projector.description = Eine verbesserte Version des Reparateurs. Repariert regelmäßig Blöcke in seiner Umgebung.\nVerwendet optional Phasengewebe, um Reichweite und Effizienz zu steigern.
block.overdrive-projector.description = Erhöht die Geschwindigkeit von nahegelegenen Blöcken, wie Bohrer und Förderbänder. block.overdrive-projector.description = Erhöht die Geschwindigkeit von nahegelegenen Blöcken, wie Bohrer und Förderbänder.
block.force-projector.description = Erzeugt ein sechseckiges Kraftfeld um sich herum, das Blöcke und Einheiten vor Schaden schützt. block.force-projector.description = Erzeugt ein sechseckiges Kraftfeld um sich herum, das Blöcke und Einheiten vor Schaden schützt.
block.shock-mine.description = Beschädigt Gegner, die auf die Mine laufen. Für Gegener schwer zu sehen. block.shock-mine.description = Beschädigt Gegner, die auf die Mine laufen. Für Gegener schwer zu sehen.
@@ -1228,13 +1228,13 @@ block.ripple.description = Ein großer Artillerie-Geschützturm, der mehrere Sch
block.cyclone.description = Ein großer Schnellfeuer-Geschützturm. block.cyclone.description = Ein großer Schnellfeuer-Geschützturm.
block.spectre.description = Ein großer Geschützturm, der zwei starke Schüsse gleichzeitig abfeuert. block.spectre.description = Ein großer Geschützturm, der zwei starke Schüsse gleichzeitig abfeuert.
block.meltdown.description = Ein großer Geschützturm, der starke Strahlen mit großer Reichweite abfeuert. block.meltdown.description = Ein großer Geschützturm, der starke Strahlen mit großer Reichweite abfeuert.
block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to patrol, 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.command-center.description = Erteilt allen verbündeten Einheiten auf der Karte Bewegungsbefehle. \nBringt Einheiten zum Patrouillieren, Angreifen eines feindlichen Kerns oder Rückzug zur Fabrik/ zum Kern. Wenn es keinen feindlichen Kern gibt, patrouillieren die Einheiten bei einem Angriffsbefehl.
block.draug-factory.description = Produziert Draug-Mining-Drohnen. block.draug-factory.description = Produziert Draug-Mining-Drohnen.
block.spirit-factory.description = Produziert leichte Drohnen, die Erz abbauen und Blöcke reparieren können. block.spirit-factory.description = Produziert leichte Drohnen, die Erz abbauen und Blöcke reparieren können.
block.phantom-factory.description = Produziert erweiterte Drohnen, die deutlich effizienter sind als Spirit-Drohnen. block.phantom-factory.description = Produziert erweiterte Drohnen, die deutlich effizienter sind als Spirit-Drohnen.
block.wraith-factory.description = Produziert schnelle Abfangjäger. block.wraith-factory.description = Produziert schnelle Abfangjäger.
block.ghoul-factory.description = Produziert schwere Flächenbomber. block.ghoul-factory.description = Produziert schwere Flächenbomber.
block.revenant-factory.description = Produziert schwere Raketen basierte Flugeinheiten. block.revenant-factory.description = Produziert schwere Raketen-basierte Flugeinheiten.
block.dagger-factory.description = Produziert Standard-Bodeneinheiten. block.dagger-factory.description = Produziert Standard-Bodeneinheiten.
block.crawler-factory.description = Produziert schnelle, selbstzerstörende Schwarmeinheiten. block.crawler-factory.description = Produziert schnelle, selbstzerstörende Schwarmeinheiten.
block.titan-factory.description = Produziert fortgeschrittene, gepanzerte Bodeneinheiten. block.titan-factory.description = Produziert fortgeschrittene, gepanzerte Bodeneinheiten.

View File

@@ -3,7 +3,7 @@ credits = Tekijät
contributors = Kääntäjät ja avustajat contributors = Kääntäjät ja avustajat
discord = Liity Mindustryn Discordiin! discord = Liity Mindustryn Discordiin!
link.discord.description = Mindustryn virallinen Discord-keskusteluhuone link.discord.description = Mindustryn virallinen Discord-keskusteluhuone
link.reddit.description = Mindustry subreddit link.reddit.description = Mindustryn alireddit
link.github.description = Pelin lähdekoodi link.github.description = Pelin lähdekoodi
link.changelog.description = Lista päivityksien muutoksista link.changelog.description = Lista päivityksien muutoksista
link.dev-builds.description = Epävakaat kehitysversiot link.dev-builds.description = Epävakaat kehitysversiot
@@ -21,15 +21,15 @@ gameover.pvp = [accent] {0}[] joukkue voittaa!
highscore = [accent]Uusi ennätys! highscore = [accent]Uusi ennätys!
copied = Kopioitu. copied = Kopioitu.
load.sound = Ääni load.sound = Ääniä
load.map = Kartat load.map = Karttoja
load.image = Kuvat load.image = Kuvia
load.content = Sisältö load.content = Sisältöä
load.system = Systeemi load.system = Järjestelmää
load.mod = Modit load.mod = Modeja
load.scripts = Skriptit load.scripts = Skriptejä
be.update = A new Bleeding Edge build is available: be.update = Uusi kehitysversio on saatavilla:
be.update.confirm = Lataa se ja käynnistä peli uudelleen? be.update.confirm = Lataa se ja käynnistä peli uudelleen?
be.updating = Päivitetään... be.updating = Päivitetään...
be.ignore = Sivuuta be.ignore = Sivuuta
@@ -37,20 +37,20 @@ be.noupdates = Ei päivityksiä saatavilla.
be.check = Tarkista päivityksiä be.check = Tarkista päivityksiä
schematic = Kaavio schematic = Kaavio
schematic.add = Tallenna Kaavio... schematic.add = Tallenna kaavio...
schematics = Kaaviot schematics = Kaaviot
schematic.replace = Kaavio tällä nimellä on jo olemassa. Haluatko korvata sen? schematic.replace = Kaavio tällä nimellä on jo olemassa. Haluatko korvata sen?
schematic.import = Tuo Kaavio... schematic.import = Tuo kaavio...
schematic.exportfile = Luo Tiedosto schematic.exportfile = Vie tiedosto
schematic.importfile = Tuo Tiedosto schematic.importfile = Tuo tiedosto
schematic.browseworkshop = Selaa Työpajaa schematic.browseworkshop = Selaa Workshoppia
schematic.copy = Kopioi Leikepöydälle schematic.copy = Kopioi leikepöydälle
schematic.copy.import = Tou Leikepöydälle schematic.copy.import = Tuo leikepöydäl
schematic.shareworkshop = Jaa työpajaan schematic.shareworkshop = Jaa Workshoppiin
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Käännä Kaavio schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Käännä Kaavio
schematic.saved = Kaavio tallennettu. schematic.saved = Kaavio tallennettu.
schematic.delete.confirm = Tämä kaavio poistetaan. schematic.delete.confirm = Tämä kaavio poistetaan.
schematic.rename = Uudelleennimeä Kaavio schematic.rename = Nimeä kaavio uudelleen
schematic.info = {0}x{1}, {2} palikkaa schematic.info = {0}x{1}, {2} palikkaa
stat.wave = Tasoja voitettu:[accent] {0} stat.wave = Tasoja voitettu:[accent] {0}
@@ -62,7 +62,7 @@ stat.delivered = Resursseja laukaistu:
stat.rank = Lopullinen arvosana: [accent]{0} stat.rank = Lopullinen arvosana: [accent]{0}
launcheditems = [accent]Laukaistut tavarat launcheditems = [accent]Laukaistut tavarat
launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue. launchinfo = [unlaunched][[LAUKAISE] ytimesi saadaksesi sinisellä merkityt tavarat.
map.delete = Oletko varma että haluat poistaa kartan "[accent]{0}[]"? map.delete = Oletko varma että haluat poistaa kartan "[accent]{0}[]"?
level.highscore = Ennätys: [accent]{0} level.highscore = Ennätys: [accent]{0}
level.select = Tason valinta level.select = Tason valinta
@@ -82,12 +82,12 @@ position = Sijainti
close = Sulje close = Sulje
website = Verkkosivu website = Verkkosivu
quit = Poistu quit = Poistu
save.quit = Tallenna ja Poistu save.quit = Tallenna ja poistu
maps = Kartat maps = Kartat
maps.browse = Selaa Karttoja maps.browse = Selaa karttoja
continue = Jatka continue = Jatka
maps.none = [lightgray]Karttoja ei löytynyt! maps.none = [lightgray]Karttoja ei löytynyt!
invalid = Invalidi invalid = Virheellinen
pickcolor = Valitse väri pickcolor = Valitse väri
preparingconfig = Preparing Config preparingconfig = Preparing Config
preparingcontent = Preparing Content preparingcontent = Preparing Content
@@ -95,29 +95,29 @@ uploadingcontent = Uploading Content
uploadingpreviewfile = Uploading Preview File uploadingpreviewfile = Uploading Preview File
committingchanges = Comitting Changes committingchanges = Comitting Changes
done = Valmis done = Valmis
feature.unsupported = Sinun laitteesi ei tue tätä toimintoa. feature.unsupported = Laitteesi ei tue tätä toimintoa.
mods.alphainfo = Pidä mielessä että modit ovat alpha-tilassa, ja[scarlet] ne voivat olla virheellisiä[].\nRaportoi kaikki virheet Mindustry GitHub-sivuille tai Discordiin. mods.alphainfo = Pidä mielessä että modit ovat alpha-tilassa, ja[scarlet] ne voivat olla virheellisiä[].\nRaportoi kaikki virheet Mindustry GitHub-sivuille tai Discordiin.
mods.alpha = [accent](Alpha) mods.alpha = [accent](Alpha)
mods = Modit mods = Modit
mods.none = [LIGHT_GRAY]Modeja ei löytynyt! mods.none = [LIGHT_GRAY]Modeja ei löytynyt!
mods.guide = Modaamisen opas mods.guide = Modaamisopas
mods.report = Raportoi ohjelmistovirhe mods.report = Raportoi ohjelmistovirhe
mods.openfolder = Avaa Modikansio mods.openfolder = Avaa modikansio
mod.enabled = [lightgray]Käytössä mod.enabled = [lightgray]Käytössä
mod.disabled = [scarlet]Epäkäytössä mod.disabled = [scarlet]Pois käytöstä
mod.disable = Laita pois päältä mod.disable = Poista käytössä
mod.delete.error = Modia ei pystynyt poistamaan. Tiedosto voi olla käytössä. mod.delete.error = Modia ei pystytty poistamaan. Tiedosto voi olla käytössä.
mod.requiresversion = [scarlet]Tarvitsee vähintää pelin version: [accent]{0} mod.requiresversion = [scarlet]Tarvitsee vähintään pelin version: [accent]{0}
mod.missingdependencies = [scarlet]Tarvitsee nämä modit: {0} mod.missingdependencies = [scarlet]Tarvitsee nämä modit: {0}
mod.erroredcontent = [scarlet]Sisältö Virheet mod.erroredcontent = [scarlet]Sisältövirheet
mod.errors = Virheitä on tapahtunut pelin ladatessa. mod.errors = Virheitä on tapahtunut pelin ladatessa.
mod.noerrorplay = [scarlet]Sinulla on virheellisiä modeja.[] Joko poista ne käytöstä tai korjaa virheet. mod.noerrorplay = [scarlet]Sinulla on virheellisiä modeja.[] Joko poista ne käytöstä tai korjaa virheet.
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.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 = Käytä mod.enable = Käytä
mod.requiresrestart = Peli suljetaan jotta muutokset voisivat toteutua. mod.requiresrestart = Peli suljetaan jotta muutokset voisivat toteutua.
mod.reloadrequired = [scarlet]Vaatii Uudelleenkäynnistystä mod.reloadrequired = [scarlet]Vaatii Uudelleenkäynnistystä
mod.import = Tuo Modi mod.import = Tuo modi
mod.import.github = Import GitHub 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.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that mod.
mod.remove.confirm = Tämä modi poistetaan. mod.remove.confirm = Tämä modi poistetaan.
@@ -170,7 +170,7 @@ hosts.discovering.any = Etsitään Pelejä
server.refreshing = Päivitetään palvelimen tietoja server.refreshing = Päivitetään palvelimen tietoja
hosts.none = [lightgray]Paikallisia pelejä ei löytynyt! hosts.none = [lightgray]Paikallisia pelejä ei löytynyt!
host.invalid = [scarlet]Isäntään ei voitu yhdistää. host.invalid = [scarlet]Isäntään ei voitu yhdistää.
trace = Seuraa Pelaajaa trace = Seuraa pelaajaa
trace.playername = Pelaajanimi: [accent]{0} trace.playername = Pelaajanimi: [accent]{0}
trace.ip = IP-osoite: [accent]{0} trace.ip = IP-osoite: [accent]{0}
trace.id = Uniikki tunniste: [accent]{0} trace.id = Uniikki tunniste: [accent]{0}
@@ -188,8 +188,8 @@ server.outdated = [crimson]Vanhentunut palvelin![]
server.outdated.client = [crimson]Vanhentunut asiakasohjelma![] server.outdated.client = [crimson]Vanhentunut asiakasohjelma![]
server.version = [gray]v{0} {1} server.version = [gray]v{0} {1}
server.custombuild = [yellow]Custom Build server.custombuild = [yellow]Custom Build
confirmban = Oletko varma että haluat potkia tämän pelaajan? confirmban = Oletko varma että haluat antaa porttikiellon tälle pelaajalle?
confirmkick = Oletko varma että haluat poistaa tämän pelaajan? confirmkick = Oletko varma että haluat potkia tämän pelaajan?
confirmvotekick = Oletko varma että haluat äänestää tämän pelaajan potkituksi? confirmvotekick = Oletko varma että haluat äänestää tämän pelaajan potkituksi?
confirmunban = Oletko varma että haluat päästää tämän pelaajan takaisin? confirmunban = Oletko varma että haluat päästää tämän pelaajan takaisin?
confirmadmin = Oletko varma että haluat antaa pelaajalle hallinto-oikeuksia? confirmadmin = Oletko varma että haluat antaa pelaajalle hallinto-oikeuksia?
@@ -208,32 +208,32 @@ server.port = Portti:
server.addressinuse = Address already in use! server.addressinuse = Address already in use!
server.invalidport = Invalid port number! server.invalidport = Invalid port number!
server.error = [crimson]Error hosting server: [accent]{0} server.error = [crimson]Error hosting server: [accent]{0}
save.new = New Save save.new = Uusi tallennus
save.overwrite = Are you sure you want to overwrite\nthis save slot? save.overwrite = Are you sure you want to overwrite\nthis save slot?
overwrite = Overwrite overwrite = Overwrite
save.none = No saves found! save.none = No saves found!
saveload = Tallennetaan... saveload = Tallennetaan...
savefail = Failed to save game! savefail = Pelin tallentaminen epäonnistui!
save.delete.confirm = Are you sure you want to delete this save? save.delete.confirm = Are you sure you want to delete this save?
save.delete = Delete save.delete = Delete
save.export = Export Save save.export = Export Save
save.import.invalid = [accent]This save is invalid! save.import.invalid = [accent]This save is invalid!
save.import.fail = [crimson]Failed to import save: [accent]{0} save.import.fail = [crimson]Failed to import save: [accent]{0}
save.export.fail = [crimson]Failed to export save: [accent]{0} save.export.fail = [crimson]Failed to export save: [accent]{0}
save.import = Tuo Tallennus save.import = Tuo tallennus
save.newslot = Tallennuksen nimi: save.newslot = Tallennuksen nimi:
save.rename = Nimeä uudelleen save.rename = Nimeä uudelleen
save.rename.text = Uusi nimi: save.rename.text = Uusi nimi:
selectslot = Valitse tallennus. selectslot = Valitse tallennus.
slot = [accent]Paikka {0} slot = [accent]Paikka {0}
editmessage = Edit Message editmessage = Muokkaa viestiä
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. 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ä> empty = <tyhjä>
on = Päällä on = Päällä
off = Pois off = Pois
save.autosave = Automaattitallennus: {0} save.autosave = Automaattitallennus: {0}
save.map = Kartta: {0} save.map = Kartta: {0}
save.wave = Aalto {0} save.wave = Taso {0}
save.mode = Gamemode: {0} save.mode = Gamemode: {0}
save.date = Viimeksi tallennettu: {0} save.date = Viimeksi tallennettu: {0}
save.playtime = Peliaika: {0} save.playtime = Peliaika: {0}
@@ -308,15 +308,15 @@ editor.waves = Tasot:
editor.rules = Säännöt: editor.rules = Säännöt:
editor.generation = Generaatio: editor.generation = Generaatio:
editor.ingame = Muokka pelin sisällä editor.ingame = Muokka pelin sisällä
editor.publish.workshop = Julkaise työpajaan editor.publish.workshop = Julkaise Workshoppiin
editor.newmap = Uusi kartta editor.newmap = Uusi kartta
workshop = Työpaja workshop = Workshop
waves.title = Tasot waves.title = Tasot
waves.remove = Poista waves.remove = Poista
waves.never = <ei koskaan> waves.never = <ei koskaan>
waves.every = every waves.every = every
waves.waves = wave(s) waves.waves = wave(s)
waves.perspawn = per spawni waves.perspawn = per syntymispiste
waves.to = to waves.to = to
waves.boss = Pomo waves.boss = Pomo
waves.preview = Esikatselu waves.preview = Esikatselu
@@ -324,13 +324,13 @@ waves.edit = Muokkaa...
waves.copy = Kopioi leikepöydälle waves.copy = Kopioi leikepöydälle
waves.load = Lataa leikepöydältä waves.load = Lataa leikepöydältä
waves.invalid = Invalid waves in clipboard. waves.invalid = Invalid waves in clipboard.
waves.copied = Aallot kopioitu. waves.copied = Tasot kopioitu.
waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout. waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout.
editor.default = [lightgray]<Default> editor.default = [lightgray]<Default>
details = Yksityiskohdat... details = Yksityiskohdat...
edit = Muokkaa... edit = Muokkaa...
editor.name = Nimi: editor.name = Nimi:
editor.spawn = Spawni yksikkö editor.spawn = Luo yksikkö
editor.removeunit = Poista yksikkö editor.removeunit = Poista yksikkö
editor.teams = Joukkueet editor.teams = Joukkueet
editor.errorload = Virhe ladattaessa tiedostoa:\n[accent]{0} editor.errorload = Virhe ladattaessa tiedostoa:\n[accent]{0}
@@ -431,8 +431,8 @@ fps = FPS: {0}
ping = Ping: {0}ms ping = Ping: {0}ms
language.restart = Please restart your game for the language settings to take effect. language.restart = Please restart your game for the language settings to take effect.
settings = Asetukset settings = Asetukset
tutorial = Tutoriaali tutorial = Perehdytys
tutorial.retake = Uusita Tutoriaali tutorial.retake = Pelaa perehdytys uudelleen
editor = Editori editor = Editori
mapeditor = Kartan Editori mapeditor = Kartan Editori
@@ -449,8 +449,8 @@ launch = < LAUNCH >
launch.title = Onnistunut laukaisu launch.title = Onnistunut laukaisu
launch.next = [lightgray]next opportunity at wave {0} launch.next = [lightgray]next opportunity at wave {0}
launch.unable2 = [scarlet]Unable to LAUNCH.[] launch.unable2 = [scarlet]Unable to LAUNCH.[]
launch.confirm = Tämä laukaisee kaikki resourssit ytimestäsi.\nEt voi enää palata takaisin. launch.confirm = Tämä laukaisee kaikki resurssit ytimestäsi.\nEt voi enää palata takaisin.
launch.skip.confirm = Jos ohitat nyt, voit laukaista vasta myöhemmissä tasoissa. launch.skip.confirm = Jos ohitat nyt, voit laukaista vasta myöhemmillä tasoilla.
uncover = Paljasta uncover = Paljasta
configure = Configure Loadout configure = Configure Loadout
bannedblocks = Kielletyt Palikat bannedblocks = Kielletyt Palikat
@@ -530,60 +530,60 @@ error.title = [crimson]An error has occured
error.crashtitle = An error has occured error.crashtitle = An error has occured
blocks.input = Sisääntulo blocks.input = Sisääntulo
blocks.output = Ulostulo blocks.output = Ulostulo
blocks.booster = Boostaa blocks.booster = Tehostaja
block.unknown = [lightgray]??? block.unknown = [lightgray]???
blocks.powercapacity = Energiakapasiteetti blocks.powercapacity = Energiakapasiteetti
blocks.powershot = Energiaa/Ammus blocks.powershot = Energiaa/Ammus
blocks.damage = Vahinko blocks.damage = Vahinko
blocks.targetsair = Hyökkää Ilmaan blocks.targetsair = Hyökkää ilmaan
blocks.targetsground = Hyökkää Maahan blocks.targetsground = Hyökkää maahan
blocks.itemsmoved = Liikkumisnopeus blocks.itemsmoved = Liikkumisnopeus
blocks.launchtime = Aika Laukaisujen Välillä blocks.launchtime = Aika laukaisujen välillä
blocks.shootrange = Kantama blocks.shootrange = Kantama
blocks.size = Koko blocks.size = Koko
blocks.liquidcapacity = Neste Kapasiteetti blocks.liquidcapacity = Nestekapasiteetti
blocks.powerrange = Energia Kantama blocks.powerrange = Energiakantama
blocks.powerconnections = Maksimi konnektio määrä blocks.powerconnections = Maksimimäärä yhdistyksiä
blocks.poweruse = Energian Käyttö blocks.poweruse = Energian käyttö
blocks.powerdamage = Energia/Vahinko blocks.powerdamage = Energia/Vahinko
blocks.itemcapacity = Tavara Kapasiteetti blocks.itemcapacity = Tavarakapasiteetti
blocks.basepowergeneration = Kanta Enegian Generointi blocks.basepowergeneration = Perus energiantuotto
blocks.productiontime = Produktion Aika blocks.productiontime = Tuotantoaika
blocks.repairtime = Kokonaisen Palikan Korjaus Aika blocks.repairtime = Kokonaisen palikan korjausaika
blocks.speedincrease = Nopeuden Kasvu blocks.speedincrease = Nopeuden kasvu
blocks.range = Etäisyys blocks.range = Etäisyys
blocks.drilltier = Porattavat blocks.drilltier = Porattavat
blocks.drillspeed = Kanta Poran Nopeus blocks.drillspeed = Kanta Poran Nopeus
blocks.boosteffect = Boostaamisen Vaikutus blocks.boosteffect = Tehostamisem vaikutus
blocks.maxunits = Maksimi Määrä Yksikköjä blocks.maxunits = Maksimimäärä yksikköjä
blocks.health = Elämäpisteet blocks.health = Elämäpisteet
blocks.buildtime = Rakentamisen Aika blocks.buildtime = Rakentamisaika
blocks.buildcost = Rakentamisen Hinta blocks.buildcost = Rakentamishinta
blocks.inaccuracy = Epätarkkuus blocks.inaccuracy = Epätarkkuus
blocks.shots = Ammusta blocks.shots = Ammusta
blocks.reload = Ammusta/Sekunnissa blocks.reload = Ammusta/sekunnissa
blocks.ammo = Ammus blocks.ammo = Ammus
bar.drilltierreq = Parempi Pora Vaadittu bar.drilltierreq = Parempi pora vaadittu
bar.drillspeed = Poran Nopeus: {0}/s bar.drillspeed = Poran nopeus: {0}/s
bar.pumpspeed = Pumpun Nopeus: {0}/s bar.pumpspeed = Pumpun nopeus: {0}/s
bar.efficiency = Tehokkuus: {0}% bar.efficiency = Tehokkuus: {0}%
bar.powerbalance = Energia: {0}/s bar.powerbalance = Energia: {0}/s
bar.powerstored = Säilöttynä: {0}/{1} bar.powerstored = Säilöttynä: {0}/{1}
bar.poweramount = Energia: {0} bar.poweramount = Energia: {0}
bar.poweroutput = Energian Ulostulo: {0} bar.poweroutput = Energiantuotto: {0}
bar.items = Tavaroita: {0} bar.items = Tavaroita: {0}
bar.capacity = Kapasiteetti: {0} bar.capacity = Kapasiteetti: {0}
bar.liquid = Neste bar.liquid = Neste
bar.heat = Lämpö bar.heat = Lämpö
bar.power = Energia bar.power = Energia
bar.progress = Rakennuksen Edistys bar.progress = Rakennuksen edistys
bar.spawned = Yksikköjä: {0}/{1} bar.spawned = Yksikköjä: {0}/{1}
bar.input = Sisääntulo bar.input = Sisääntulo
bar.output = Ulostulo bar.output = Ulostulo
bullet.damage = [stat]{0}[lightgray] Vahinko bullet.damage = [stat]{0}[lightgray] Vahinko
bullet.splashdamage = [stat]{0}[lightgray] Alue vahinko ~[stat] {1}[lightgray] palikkaa bullet.splashdamage = [stat]{0}[lightgray] Aluevahinko ~[stat] {1}[lightgray] palikkaa
bullet.incendiary = [stat]sytyttävä bullet.incendiary = [stat]sytyttävä
bullet.homing = [stat]itseohjautuva bullet.homing = [stat]itseohjautuva
bullet.shock = [stat]shokki bullet.shock = [stat]shokki
@@ -591,15 +591,15 @@ bullet.frag = [stat]sirpaloituva
bullet.knockback = [stat]{0}[lightgray] knockback bullet.knockback = [stat]{0}[lightgray] knockback
bullet.freezing = [stat]jäädyttävä bullet.freezing = [stat]jäädyttävä
bullet.tarred = [stat]tervattu bullet.tarred = [stat]tervattu
bullet.multiplier = [stat]{0}[lightgray]x ammusten multiplikaatio bullet.multiplier = [stat]{0}[lightgray]x ammusten kerroin
bullet.reload = [stat]{0}[lightgray]x ammunta nopeus bullet.reload = [stat]{0}[lightgray]x ampumisnopeus
unit.blocks = palikat unit.blocks = palikat
unit.powersecond = energia yksikköä/sekunti unit.powersecond = energiayksikköä/sekunti
unit.liquidsecond = neste yksikköä/sekunti unit.liquidsecond = nesteyksikköä/sekunti
unit.itemssecond = esinettä/sekunti unit.itemssecond = esinettä/sekunti
unit.liquidunits = neste yksikköä unit.liquidunits = nesteyksikköä
unit.powerunits = energia yksikköä unit.powerunits = energiayksikköä
unit.degrees = astetta unit.degrees = astetta
unit.seconds = sekunttia unit.seconds = sekunttia
unit.persecond = /s unit.persecond = /s
@@ -614,25 +614,25 @@ category.liquids = Neste
category.items = Tavarat category.items = Tavarat
category.crafting = Ulos/Sisääntulo category.crafting = Ulos/Sisääntulo
category.shooting = Ammunta category.shooting = Ammunta
category.optional = Mahdolliset Lumoukset category.optional = Mahdolliset parannukset
setting.landscape.name = Lukitse tasavaakaan setting.landscape.name = Lukitse tasavaakaan
setting.shadows.name = Varjot setting.shadows.name = Varjot
setting.blockreplace.name = Automaattisia Palikka Suosituksia setting.blockreplace.name = Automaattisia Palikka Suosituksia
setting.linear.name = Lineararien Filteeraus setting.linear.name = Lineaarinen suodatus
setting.hints.name = Vihjeet setting.hints.name = Vihjeet
setting.buildautopause.name = Automaattisest Pysäytä Rakentaessa setting.buildautopause.name = Automaattisest Pysäytä Rakentaessa
setting.animatedwater.name = Animoitu Vesi setting.animatedwater.name = Animoitu vesi
setting.animatedshields.name = Animoitu Kilpi setting.animatedshields.name = Animoidut kilvet
setting.antialias.name = Antialiaasi[lightgray] (vaatii uudelleenkäynnistyksen)[] setting.antialias.name = Antialiaasi[lightgray] (vaatii uudelleenkäynnistyksen)[]
setting.indicators.name = Vihollis/Puolulais Indikaattorit setting.indicators.name = Vihollis/Puolulais Indikaattorit
setting.autotarget.name = Automaatinen Tähtäys setting.autotarget.name = Automaatinen Tähtäys
setting.keyboard.name = Hiiri+Näppäimistö Kontrollit setting.keyboard.name = Hiiri+Näppäimistö -ohjaus
setting.touchscreen.name = Kosketusnäyttö kontrollit setting.touchscreen.name = Kosketusnäyttöohjaus
setting.fpscap.name = Maksimi FPS setting.fpscap.name = Maksimi FPS
setting.fpscap.none = Ei Mitään setting.fpscap.none = Ei Mitään
setting.fpscap.text = {0} FPS setting.fpscap.text = {0} FPS
setting.uiscale.name = UI Koko[lightgray] (vaatii uudelleenkäynnistyksen)[] setting.uiscale.name = UI Koko[lightgray] (vaatii uudelleenkäynnistyksen)[]
setting.swapdiagonal.name = Aina Vino Korvaus setting.swapdiagonal.name = Aina vino korvaus
setting.difficulty.training = Treeni setting.difficulty.training = Treeni
setting.difficulty.easy = Helppo setting.difficulty.easy = Helppo
setting.difficulty.normal = Keskivaikea setting.difficulty.normal = Keskivaikea
@@ -641,10 +641,10 @@ setting.difficulty.insane = Järjetön
setting.difficulty.name = Vaikeustaso: setting.difficulty.name = Vaikeustaso:
setting.screenshake.name = Näytön keikkuminen setting.screenshake.name = Näytön keikkuminen
setting.effects.name = Naytön Efektit setting.effects.name = Naytön Efektit
setting.destroyedblocks.name = Näytä Tuhoutuneet Palikat setting.destroyedblocks.name = Näytä tuhoutuneet palikat
setting.conveyorpathfinding.name = Conveyor Placement Pathfinding setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
setting.coreselect.name = Allow Schematic Cores setting.coreselect.name = Allow Schematic Cores
setting.sensitivity.name = Kontrollin Herkkyys setting.sensitivity.name = Ohjauksen herkkyys
setting.saveinterval.name = Tallennuksen Aikaväli setting.saveinterval.name = Tallennuksen Aikaväli
setting.seconds = {0} Sekunttia setting.seconds = {0} Sekunttia
setting.blockselecttimeout.name = Block Select Timeout setting.blockselecttimeout.name = Block Select Timeout
@@ -652,35 +652,35 @@ setting.milliseconds = {0} millisekunttia
setting.fullscreen.name = Fullscreen setting.fullscreen.name = Fullscreen
setting.borderlesswindow.name = Borderless Window[lightgray] (vaatii uudelleenkäynnistyksen) setting.borderlesswindow.name = Borderless Window[lightgray] (vaatii uudelleenkäynnistyksen)
setting.fps.name = Näytä FPS setting.fps.name = Näytä FPS
setting.blockselectkeys.name = Bäytä Palikan Selektio Kontrollit setting.blockselectkeys.name = Näytä palikan valintaohjaimet
setting.vsync.name = VSync setting.vsync.name = VSync
setting.pixelate.name = Pixeloi[lightgray] (poistaa animaation käytöstä) setting.pixelate.name = Pixeloi[lightgray] (poistaa animaation käytöstä)
setting.minimap.name = Näytä Minimappi setting.minimap.name = Näytä pienoiskartta
setting.position.name = Näytä pelaajan sijainti setting.position.name = Näytä pelaajan sijainti
setting.musicvol.name = Musiikin Äänenvoimakkuus setting.musicvol.name = Musiikin äänenvoimakkuus
setting.ambientvol.name = Tausta Äänet setting.ambientvol.name = Taustaäänet
setting.mutemusic.name = Sulje Musiikki setting.mutemusic.name = Mykistä musiikki
setting.sfxvol.name = SFX Volyymi setting.sfxvol.name = SFX-voimakkuus
setting.mutesound.name = Sulje Äänet setting.mutesound.name = Mykistä äänet
setting.crashreport.name = Send Anonymous Crash Reports setting.crashreport.name = Send Anonymous Crash Reports
setting.savecreate.name = Luo Automaattisesti Tallennukset setting.savecreate.name = Luo tallenuksia automaattisesti
setting.publichost.name = Public Game Visibility setting.publichost.name = Public Game Visibility
setting.chatopacity.name = Chatin Läpinäkymättömyys setting.chatopacity.name = Keskustelun läpinäkymättömyys
setting.lasersopacity.name = Energia Laaserin Läpinäkymattämyys setting.lasersopacity.name = Energia laserin läpinäkymättömyys
setting.playerchat.name = Näytä Pelinsisäinen Keskustelu setting.playerchat.name = Näytä pelinsisäinen keskustelu
public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. public.confirm = 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.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.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds...
uiscale.cancel = Peruuta ja Poistu uiscale.cancel = Peruuta ja poistu
setting.bloom.name = Bloom setting.bloom.name = Bloom
keybind.title = Rebind Keys keybind.title = Rebind Keys
keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported. keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported.
category.general.name = General category.general.name = General
category.view.name = View category.view.name = View
category.multiplayer.name = Multiplayer category.multiplayer.name = Moninpeli
command.attack = Hyökkää command.attack = Hyökkäys
command.rally = Kutsu Koolle command.rally = Kokoontuminen
command.retreat = Palaa command.retreat = Perääntyminen
placement.blockselectkeys = \n[lightgray]Key: [{0}, placement.blockselectkeys = \n[lightgray]Key: [{0},
keybind.clear_building.name = Clear Building keybind.clear_building.name = Clear Building
keybind.press = Press a key... keybind.press = Press a key...
@@ -711,7 +711,7 @@ keybind.block_select_07.name = Category/Block Select 7
keybind.block_select_08.name = Category/Block Select 8 keybind.block_select_08.name = Category/Block Select 8
keybind.block_select_09.name = Category/Block Select 9 keybind.block_select_09.name = Category/Block Select 9
keybind.block_select_10.name = Category/Block Select 10 keybind.block_select_10.name = Category/Block Select 10
keybind.fullscreen.name = Vaihda Fullscreen keybind.fullscreen.name = Vaihda kokonäyttötilaan
keybind.select.name = Select/Shoot keybind.select.name = Select/Shoot
keybind.diagonal_placement.name = Diagonal Placement keybind.diagonal_placement.name = Diagonal Placement
keybind.pick.name = Pick Block keybind.pick.name = Pick Block
@@ -722,8 +722,8 @@ keybind.zoom.name = Zoom
keybind.menu.name = Menu keybind.menu.name = Menu
keybind.pause.name = Pause keybind.pause.name = Pause
keybind.pause_building.name = Pause/Resume Building keybind.pause_building.name = Pause/Resume Building
keybind.minimap.name = Minimappi keybind.minimap.name = Pienoiskartta
keybind.chat.name = Chatti keybind.chat.name = Keskustelu
keybind.player_list.name = Player list keybind.player_list.name = Player list
keybind.console.name = Console keybind.console.name = Console
keybind.rotate.name = Rotate keybind.rotate.name = Rotate
@@ -736,9 +736,9 @@ keybind.drop_unit.name = Drop Unit
keybind.zoom_minimap.name = Zoom minimap keybind.zoom_minimap.name = Zoom minimap
mode.help.title = Description of modes mode.help.title = Description of modes
mode.survival.name = Survival mode.survival.name = Survival
mode.survival.description = Normaali moodi. Rajoitettu määrä resursseja ja tasoilla on aika.\n[gray]Vaatii vihollis spawneja kartassa. mode.survival.description = Normaali tila. Rajoitettu määrä resursseja ja tasoilla on aika.\n[gray]Vaatii vihollisten syntymispisteen kartassa.
mode.sandbox.name = Hiekkalaatikko mode.sandbox.name = Hiekkalaatikko
mode.sandbox.description = Ikuisesti resursseja ja tasoilla ei ole aikaa. mode.sandbox.description = Ikuisesti resursseja ja tasoja ei ole ajastettu.
mode.editor.name = Editori mode.editor.name = Editori
mode.pvp.name = PvP 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.pvp.description = Fight against other players locally.\n[gray]Requires at least 2 differently-colored cores in the map to play.
@@ -746,9 +746,9 @@ 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.attack.description = Destroy the enemy's base. No waves.\n[gray]Requires a red core in the map to play.
mode.custom = Custom Rules mode.custom = Custom Rules
rules.infiniteresources = Ikuisesti Resursseja rules.infiniteresources = Ikuiset resurssit
rules.reactorexplosions = Reaktori Räjähdykset rules.reactorexplosions = Reaktorien räjähtäminen
rules.wavetimer = Tasojen Aikaraja rules.wavetimer = Tasojen aikaraja
rules.waves = Tasot rules.waves = Tasot
rules.attack = Attack Mode rules.attack = Attack Mode
rules.enemyCheat = Infinite AI (Red Team) Resources rules.enemyCheat = Infinite AI (Red Team) Resources
@@ -791,11 +791,11 @@ item.titanium.name = Titaani
item.thorium.name = Torium item.thorium.name = Torium
item.silicon.name = Pii item.silicon.name = Pii
item.plastanium.name = Plastaniumi item.plastanium.name = Plastaniumi
item.phase-fabric.name = Kiihde Kuitu item.phase-fabric.name = Kiihdekuitu
item.surge-alloy.name = Taite Seos item.surge-alloy.name = Taiteseos
item.spore-pod.name = Itiö Palko item.spore-pod.name = Itiöpalko
item.sand.name = Hiekka item.sand.name = Hiekka
item.blast-compound.name = Räjähde Yhdiste item.blast-compound.name = Räjähdeyhdiste
item.pyratite.name = Pyratiitti item.pyratite.name = Pyratiitti
item.metaglass.name = Metallilasi item.metaglass.name = Metallilasi
item.scrap.name = Romu item.scrap.name = Romu
@@ -824,7 +824,7 @@ mech.trident-ship.name = Trident
mech.trident-ship.weapon = Bomb Bay mech.trident-ship.weapon = Bomb Bay
mech.glaive-ship.name = Glaive mech.glaive-ship.name = Glaive
mech.glaive-ship.weapon = Flame Repeater mech.glaive-ship.weapon = Flame Repeater
item.corestorable = [lightgray]Säilöttävissä Ytimeen: {0} item.corestorable = [lightgray]Säilöttävissä ytimeen: {0}
item.explosiveness = [lightgray]Räjädysmäisyys: {0}% item.explosiveness = [lightgray]Räjädysmäisyys: {0}%
item.flammability = [lightgray]Flammability: {0}% item.flammability = [lightgray]Flammability: {0}%
item.radioactivity = [lightgray]Radioactivity: {0}% item.radioactivity = [lightgray]Radioactivity: {0}%
@@ -832,12 +832,12 @@ unit.health = [lightgray]Elämäpisteet: {0}
unit.speed = [lightgray]Nopeus: {0} unit.speed = [lightgray]Nopeus: {0}
mech.weapon = [lightgray]Ase: {0} mech.weapon = [lightgray]Ase: {0}
mech.health = [lightgray]Elämäpisteet: {0} mech.health = [lightgray]Elämäpisteet: {0}
mech.itemcapacity = [lightgray]Tavara Kapasiteetti: {0} mech.itemcapacity = [lightgray]Tavarakapasiteetti: {0}
mech.minespeed = [lightgray]Louhimis Nopeus: {0}% mech.minespeed = [lightgray]Louhimisnopeus: {0}%
mech.minepower = [lightgray]Louhimis Voima: {0} mech.minepower = [lightgray]Louhimisvoima: {0}
mech.ability = [lightgray]Spesiaalikyky: {0} mech.ability = [lightgray]Erityiskyky: {0}
mech.buildspeed = [lightgray]Rakennus Nopeus: {0}% mech.buildspeed = [lightgray]Rakentamisnopeus: {0}%
liquid.heatcapacity = [lightgray]Lämpö Kapasiteetti: {0} liquid.heatcapacity = [lightgray]Lämpökapasiteetti: {0}
liquid.viscosity = [lightgray]Tahmeus: {0} liquid.viscosity = [lightgray]Tahmeus: {0}
liquid.temperature = [lightgray]Lämpö: {0} liquid.temperature = [lightgray]Lämpö: {0}
@@ -865,21 +865,21 @@ block.scrap-wall-huge.name = Huge Scrap Wall
block.scrap-wall-gigantic.name = Gigantic Scrap Wall block.scrap-wall-gigantic.name = Gigantic Scrap Wall
block.thruster.name = Thruster block.thruster.name = Thruster
block.kiln.name = Kiln block.kiln.name = Kiln
block.graphite-press.name = Grafiitti Puristin block.graphite-press.name = Grafiittipuristin
block.multi-press.name = Multi-Puristin block.multi-press.name = Monipuristin
block.constructing = {0} [lightgray](Rakentamassa) block.constructing = {0} [lightgray](Rakentamassa)
block.spawn.name = Vihollis Spawni block.spawn.name = Vihollisten syntymispiste
block.core-shard.name = Ydin: Siru block.core-shard.name = Ydin: Siru
block.core-foundation.name = Ydin: Pohjaus block.core-foundation.name = Ydin: Pohjaus
block.core-nucleus.name = Ydin: Tuma block.core-nucleus.name = Ydin: Tuma
block.deepwater.name = Syvä Vesi block.deepwater.name = Syvä vesi
block.water.name = Vesi block.water.name = Vesi
block.tainted-water.name = Pilattu Vesi block.tainted-water.name = Pilaantunut vesi
block.darksand-tainted-water.name = Dark Sand Tainted Water block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Terva block.tar.name = Terva
block.stone.name = Kivi block.stone.name = Kivi
block.sand.name = Hiekka block.sand.name = Hiekka
block.darksand.name = Tumma Hiekka block.darksand.name = Tumma hiekka
block.ice.name = Jää block.ice.name = Jää
block.snow.name = Lumi block.snow.name = Lumi
block.craters.name = Kraatterit block.craters.name = Kraatterit

View File

@@ -17,4 +17,4 @@ const cons = method => new Cons(){get: method}
const prov = method => new Prov(){get: method} const prov = method => new Prov(){get: method}
const newEffect = (lifetime, renderer) => new Effects.Effect(lifetime, new Effects.EffectRenderer({render: renderer})) const newEffect = (lifetime, renderer) => new Effects.Effect(lifetime, new Effects.EffectRenderer({render: renderer}))
Call = Packages.mindustry.gen.Call Call = Packages.mindustry.gen.Call
const Calls = Call //backwards compat const Calls = Call //backwards compat

View File

@@ -1,4 +1,4 @@
apply plugin: "java" apply plugin: "java"
sourceCompatibility = 1.8 sourceCompatibility = 1.8
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8' [compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
sourceSets.main.java.srcDirs = ["src/", "$buildDir/generated/sources/annotationProcessor/java/main"] sourceSets.main.java.srcDirs = ["src/", "$buildDir/generated/sources/annotationProcessor/java/main"]

View File

@@ -58,7 +58,7 @@ public class Blocks implements ContentList{
//transport //transport
conveyor, titaniumConveyor, armoredConveyor, distributor, junction, itemBridge, phaseConveyor, sorter, invertedSorter, router, overflowGate, underflowGate, massDriver, conveyor, titaniumConveyor, armoredConveyor, distributor, junction, itemBridge, phaseConveyor, sorter, invertedSorter, router, overflowGate, underflowGate, massDriver,
//liquids //liquid
mechanicalPump, rotaryPump, thermalPump, conduit, pulseConduit, platedConduit, liquidRouter, liquidTank, liquidJunction, bridgeConduit, phaseConduit, mechanicalPump, rotaryPump, thermalPump, conduit, pulseConduit, platedConduit, liquidRouter, liquidTank, liquidJunction, bridgeConduit, phaseConduit,
//power //power

View File

@@ -130,4 +130,4 @@ public interface Platform{
/** Stops forcing the app into landscape orientation.*/ /** Stops forcing the app into landscape orientation.*/
default void endForceLandscape(){ default void endForceLandscape(){
} }
} }

View File

@@ -337,4 +337,4 @@ public class MapEditor{
world.endMapLoad(); world.endMapLoad();
} }
} }
} }

View File

@@ -15,4 +15,4 @@ public enum UnitCommand{
public String localized(){ public String localized(){
return localized; return localized;
} }
} }

View File

@@ -100,6 +100,8 @@ public class MusicControl{
/** Plays and fades in a music track. This must be called every frame. /** Plays and fades in a music track. This must be called every frame.
* If something is already playing, fades out that track and fades in this new music.*/ * If something is already playing, fades out that track and fades in this new music.*/
private void play(@Nullable Music music){ private void play(@Nullable Music music){
if(!shouldPlay()) return;
//update volume of current track //update volume of current track
if(current != null){ if(current != null){
current.setVolume(fade * Core.settings.getInt("musicvol") / 100f); current.setVolume(fade * Core.settings.getInt("musicvol") / 100f);
@@ -143,7 +145,7 @@ public class MusicControl{
/** Plays a music track once and only once. If something is already playing, does nothing.*/ /** Plays a music track once and only once. If something is already playing, does nothing.*/
private void playOnce(Music music){ private void playOnce(Music music){
if(current != null || music == null) return; //do not interrupt already-playing tracks if(current != null || music == null || !shouldPlay()) return; //do not interrupt already-playing tracks
//save last random track played to prevent duplicates //save last random track played to prevent duplicates
lastRandomPlayed = music; lastRandomPlayed = music;
@@ -162,6 +164,10 @@ public class MusicControl{
current.play(); current.play();
} }
private boolean shouldPlay(){
return Core.settings.getInt("musicvol") > 0;
}
/** Fades out the current track, unless it has already been silenced. */ /** Fades out the current track, unless it has already been silenced. */
private void silence(){ private void silence(){
play(null); play(null);

View File

@@ -375,7 +375,7 @@ public class Schematics implements Loadable{
/** Loads a schematic from base64. May throw an exception. */ /** Loads a schematic from base64. May throw an exception. */
public static Schematic readBase64(String schematic){ public static Schematic readBase64(String schematic){
try{ try{
return read(new ByteArrayInputStream(Base64Coder.decode(schematic))); return read(new ByteArrayInputStream(Base64Coder.decode(schematic.trim())));
}catch(IOException e){ }catch(IOException e){
throw new RuntimeException(e); throw new RuntimeException(e);
} }

View File

@@ -175,4 +175,4 @@ public class MapIO{
interface TileProvider{ interface TileProvider{
Tile get(int x, int y); Tile get(int x, int y);
} }
} }

View File

@@ -501,4 +501,4 @@ public class Maps{
return provider.next(previous); return provider.next(previous);
} }
} }
} }

View File

@@ -41,4 +41,4 @@ public class TerrainFilter extends GenerateFilter{
in.block = Blocks.air; in.block = Blocks.air;
} }
} }
} }

View File

@@ -611,7 +611,7 @@ public class Mods implements Loadable{
Fi metaf = zip.child("mod.json").exists() ? zip.child("mod.json") : zip.child("mod.hjson").exists() ? zip.child("mod.hjson") : zip.child("plugin.json"); Fi metaf = zip.child("mod.json").exists() ? zip.child("mod.json") : zip.child("mod.hjson").exists() ? zip.child("mod.hjson") : zip.child("plugin.json");
if(!metaf.exists()){ if(!metaf.exists()){
Log.warn("Mod {0} doesn't have a 'mod.json'/'plugin.json'/'mod.js' file, skipping.", sourceFile); Log.warn("Mod {0} doesn't have a 'mod.json'/'mod.hjson'/'plugin.json' file, skipping.", sourceFile);
throw new IllegalArgumentException("No mod.json found."); throw new IllegalArgumentException("No mod.json found.");
} }

View File

@@ -418,4 +418,4 @@ public class ArcNetProvider implements NetProvider{
} }
} }
} }

View File

@@ -65,4 +65,4 @@ public class Interpolator{
} }
} }
} }

View File

@@ -44,7 +44,7 @@ public class ItemsDisplay extends Table{
t.setText(state.is(State.menu) ? "$launcheditems" : "$launchinfo"); t.setText(state.is(State.menu) ? "$launcheditems" : "$launchinfo");
t.setChecked(col.isCollapsed()); t.setChecked(col.isCollapsed());
((Image)t.getChildren().get(1)).setDrawable(col.isCollapsed() ? Icon.upOpen : Icon.downOpen); ((Image)t.getChildren().get(1)).setDrawable(col.isCollapsed() ? Icon.upOpen : Icon.downOpen);
}).padBottom(4).left().fillX().margin(12f); }).padBottom(4).left().fillX().margin(12f).minWidth(200f);
c.row(); c.row();
c.add(col); c.add(col);
}); });

View File

@@ -91,4 +91,4 @@ public class CustomGameDialog extends FloatingDialog{
cont.add(pane).uniformX(); cont.add(pane).uniformX();
} }
} }

View File

@@ -13,6 +13,7 @@ import arc.util.serialization.*;
import mindustry.*; import mindustry.*;
import mindustry.core.*; import mindustry.core.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.net.*; import mindustry.net.*;
import mindustry.net.Packets.*; import mindustry.net.Packets.*;
import mindustry.ui.*; import mindustry.ui.*;
@@ -25,6 +26,7 @@ public class JoinDialog extends FloatingDialog{
Server renaming; Server renaming;
Table local = new Table(); Table local = new Table();
Table remote = new Table(); Table remote = new Table();
Table global = new Table();
Table hosts = new Table(); Table hosts = new Table();
int totalHosts; int totalHosts;
@@ -80,15 +82,11 @@ public class JoinDialog extends FloatingDialog{
} }
}); });
keyDown(KeyCode.F5, () -> { keyDown(KeyCode.F5, this::refreshAll);
refreshLocal();
refreshRemote();
});
shown(() -> { shown(() -> {
setup(); setup();
refreshLocal(); refreshAll();
refreshRemote();
if(!steam){ if(!steam){
Core.app.post(() -> Core.settings.getBoolOnce("joininfo", () -> ui.showInfo("$join.info"))); Core.app.post(() -> Core.settings.getBoolOnce("joininfo", () -> ui.showInfo("$join.info")));
@@ -97,11 +95,16 @@ public class JoinDialog extends FloatingDialog{
onResize(() -> { onResize(() -> {
setup(); setup();
refreshLocal(); refreshAll();
refreshRemote();
}); });
} }
void refreshAll(){
refreshLocal();
refreshRemote();
refreshGlobal();
}
void setupRemote(){ void setupRemote(){
remote.clear(); remote.clear();
@@ -128,21 +131,12 @@ public class JoinDialog extends FloatingDialog{
inner.add(button.getLabel()).growX(); inner.add(button.getLabel()).growX();
inner.addImageButton(Icon.upOpen, Styles.emptyi, () -> { inner.addImageButton(Icon.upOpen, Styles.emptyi, () -> {
int index = servers.indexOf(server); moveRemote(server, -1);
if(index > 0){
servers.remove(index);
servers.insert(0, server);
saveServers(); }).margin(3f).padTop(6f).top().right();
setupRemote();
for(Server other : servers){ inner.addImageButton(Icon.downOpen, Styles.emptyi, () -> {
if(other.lastHost != null){ moveRemote(server, +1);
setupServer(other, other.lastHost);
}else{
refreshServer(other);
}
}
}
}).margin(3f).pad(2).padTop(6f).top().right(); }).margin(3f).pad(2).padTop(6f).top().right();
@@ -172,6 +166,26 @@ public class JoinDialog extends FloatingDialog{
} }
} }
void moveRemote(Server server, int sign){
int index = servers.indexOf(server);
if(index + sign < 0) return;
if(index + sign > servers.size - 1) return;
servers.remove(index);
servers.insert(index + sign, server);
saveServers();
setupRemote();
for(Server other : servers){
if(other.lastHost != null){
setupServer(other, other.lastHost);
}else{
refreshServer(other);
}
}
}
void refreshRemote(){ void refreshRemote(){
for(Server server : servers){ for(Server server : servers){
refreshServer(server); refreshServer(server);
@@ -232,9 +246,9 @@ public class JoinDialog extends FloatingDialog{
hosts.clear(); hosts.clear();
hosts.add(remote).growX(); section("$servers.local", local);
hosts.row(); section("$servers.remote", remote);
hosts.add(local).width(w); section("$servers.global", global);
ScrollPane pane = new ScrollPane(hosts); ScrollPane pane = new ScrollPane(hosts);
pane.setFadeScrollBars(false); pane.setFadeScrollBars(false);
@@ -289,6 +303,24 @@ public class JoinDialog extends FloatingDialog{
}); });
} }
void section(String label, Table servers){
Collapser coll = new Collapser(servers, Core.settings.getBool("collapsed-" + label, false));
coll.setDuration(0.1f);
hosts.table(name -> {
name.add(label).pad(10).growX().left().color(Pal.accent);
name.addImageButton(Icon.downOpen, Styles.emptyi, () -> {
coll.toggle(false);
Core.settings.putSave("collapsed-" + label, coll.isCollapsed());
}).update(i -> i.getStyle().imageUp = (!coll.isCollapsed() ? Icon.upOpen : Icon.downOpen)).size(40f).right().padRight(10f);
}).growX();
hosts.row();
hosts.addImage().growX().pad(5).padLeft(10).padRight(10).height(3).color(Pal.accent);
hosts.row();
hosts.add(coll).width(targetWidth());
hosts.row();
}
void refreshLocal(){ void refreshLocal(){
totalHosts = 0; totalHosts = 0;
@@ -296,12 +328,17 @@ public class JoinDialog extends FloatingDialog{
local.background(null); local.background(null);
local.table(Tex.button, t -> t.label(() -> "[accent]" + Core.bundle.get("hosts.discovering.any") + Strings.animated(Time.time(), 4, 10f, ".")).pad(10f)).growX(); local.table(Tex.button, t -> t.label(() -> "[accent]" + Core.bundle.get("hosts.discovering.any") + Strings.animated(Time.time(), 4, 10f, ".")).pad(10f)).growX();
net.discoverServers(this::addLocalHost, this::finishLocalHosts); net.discoverServers(this::addLocalHost, this::finishLocalHosts);
}
void refreshGlobal(){
global.clear();
global.background(null);
for(String host : defaultServers){ for(String host : defaultServers){
String resaddress = host.contains(":") ? host.split(":")[0] : host; String resaddress = host.contains(":") ? host.split(":")[0] : host;
int resport = host.contains(":") ? Strings.parseInt(host.split(":")[1]) : port; int resport = host.contains(":") ? Strings.parseInt(host.split(":")[1]) : port;
net.pingHost(resaddress, resport, res -> { net.pingHost(resaddress, resport, res -> {
res.port = resport; res.port = resport;
addLocalHost(res); addGlobalHost(res);
}, e -> {}); }, e -> {});
} }
} }
@@ -334,6 +371,18 @@ public class JoinDialog extends FloatingDialog{
buildServer(host, button); buildServer(host, button);
} }
void addGlobalHost(Host host){
global.background(null);
float w = targetWidth();
global.row();
TextButton button = global.addButton("", Styles.cleart, () -> safeConnect(host.address, host.port, host.version))
.width(w).pad(5f).get();
button.clearChildren();
buildServer(host, button);
}
public void connect(String ip, int port){ public void connect(String ip, int port){
if(player.name().trim().isEmpty()){ if(player.name().trim().isEmpty()){
ui.showInfo("$noname"); ui.showInfo("$noname");
@@ -428,4 +477,4 @@ public class JoinDialog extends FloatingDialog{
public Server(){ public Server(){
} }
} }
} }

View File

@@ -288,4 +288,4 @@ public class BranchTreeLayout implements TreeLayout{
public enum TreeAlignment{ public enum TreeAlignment{
center, towardsRoot, awayFromRoot center, towardsRoot, awayFromRoot
} }
} }

View File

@@ -222,4 +222,4 @@ public class Floor extends Block{
return block.edges()[x][2 - y]; return block.edges()[x][2 - y];
} }
} }

View File

@@ -378,4 +378,4 @@ public class Conveyor extends Block implements Autotiler{
} }
} }
} }
} }

View File

@@ -23,7 +23,6 @@ public class Junction extends Block{
super(name); super(name);
update = true; update = true;
solid = true; solid = true;
instantTransfer = true;
group = BlockGroup.transportation; group = BlockGroup.transportation;
unloadable = false; unloadable = false;
entityType = JunctionEntity::new; entityType = JunctionEntity::new;

View File

@@ -39,7 +39,6 @@ public class LiquidExtendingBridge extends ExtendingItemBridge{
} }
if(entity.uptime >= 0.5f){ if(entity.uptime >= 0.5f){
if(tryMoveLiquid(tile, other, false, entity.liquids().current()) > 0.1f){ if(tryMoveLiquid(tile, other, false, entity.liquids().current()) > 0.1f){
entity.cycleSpeed = Mathf.lerpDelta(entity.cycleSpeed, 4f, 0.05f); entity.cycleSpeed = Mathf.lerpDelta(entity.cycleSpeed, 4f, 0.05f);
}else{ }else{

View File

@@ -137,7 +137,7 @@ public class GenericCrafter extends Block{
if(outputItem != null && tile.entity.items().get(outputItem.item) >= itemCapacity){ if(outputItem != null && tile.entity.items().get(outputItem.item) >= itemCapacity){
return false; return false;
} }
return outputLiquid == null || !(tile.entity.liquids().get(outputLiquid.liquid) >= liquidCapacity); return outputLiquid == null || !(tile.entity.liquids().get(outputLiquid.liquid) >= liquidCapacity - 0.001f);
} }
@Override @Override

View File

@@ -18,4 +18,4 @@ public class FloorValue implements StatValue{
table.add(new Image(floor.icon(Cicon.small))).padRight(3); table.add(new Image(floor.icon(Cicon.small))).padRight(3);
table.add(floor.localizedName).padRight(3); table.add(floor.localizedName).padRight(3);
} }
} }

View File

@@ -1 +1 @@
Mindustry Mindustry

View File

@@ -1,3 +1,3 @@
- Fixed incorrect attribution in credits; music was made by "A Drop A Day" - Fixed incorrect attribution in credits; music was made by "A Drop A Day"
- Removed unneeded 3.5 upgrade dialog that sometimes showed up in main menu - Removed unneeded 3.5 upgrade dialog that sometimes showed up in main menu
- Added information dialog regarding v4 beta - Added information dialog regarding v4 beta

View File

@@ -1,4 +1,4 @@
- Fixed incorrect attribution in credits; music was made by "A Drop A Day" - Fixed incorrect attribution in credits; music was made by "A Drop A Day"
- Removed unneeded 3.5 upgrade dialog that sometimes showed up in main menu - Removed unneeded 3.5 upgrade dialog that sometimes showed up in main menu
- Added information dialog regarding v4 beta - Added information dialog regarding v4 beta
- Fixed Discord link - Fixed Discord link

View File

@@ -1 +1 @@
sound. sound.

View File

@@ -1 +1 @@
everything everything

View File

@@ -1 +1 @@
Fixed some minor sound/multiplayer issues Fixed some minor sound/multiplayer issues

View File

@@ -1 +1 @@
Bugfixes Bugfixes

View File

@@ -1 +1 @@
Added ambient sounds for machines. Added ambient sounds for machines.

View File

@@ -1,2 +1,2 @@
The first release of version 4.0; an update that has been in the works for over a year. The first release of version 4.0; an update that has been in the works for over a year.
Extensive changes, including new gamemodes, customizable rules, a new editor, new graphics, new enemies, unit production, new progression, a campaign, and more. See the in-game changelog link for specific details of what has been added and removed over the past year. Extensive changes, including new gamemodes, customizable rules, a new editor, new graphics, new enemies, unit production, new progression, a campaign, and more. See the in-game changelog link for specific details of what has been added and removed over the past year.

View File

@@ -1,2 +1,2 @@
Fixed multiplayer not syncing positions and shots correctly on certain networks or situations. Fixed multiplayer not syncing positions and shots correctly on certain networks or situations.
Various other bugfixes. Various other bugfixes.

View File

@@ -2,4 +2,4 @@
- Fixed wave timer being extremely slow at high TPS with multithreading enabled - Fixed wave timer being extremely slow at high TPS with multithreading enabled
- Fixed scrolling on player menu causing the whole screen to pan - Fixed scrolling on player menu causing the whole screen to pan
- Updated Polish translation - Updated Polish translation
- Updated Russian translation with new text (Thanks to @Prosta4okua) - Updated Russian translation with new text (Thanks to @Prosta4okua)

View File

@@ -11,4 +11,4 @@ Feature include:
- Cross-platform multiplayer via local networks or dedicated servers - Cross-platform multiplayer via local networks or dedicated servers
- Custom game rules: Change block costs, enemy stats, starting items, wave timing and more - Custom game rules: Change block costs, enemy stats, starting items, wave timing and more
- A powerful editor, with tools to randomly generate ores, terrain, decoration and apply symmetry to maps - A powerful editor, with tools to randomly generate ores, terrain, decoration and apply symmetry to maps
- Customizable map wave layouts - Customizable map wave layouts

View File

@@ -1 +1 @@
A factory-based sandbox tower defense game. A factory-based sandbox tower defense game.

View File

@@ -1 +1 @@
A factory-based sandbox tower defense game. A factory-based sandbox tower defense game.

View File

@@ -1 +1 @@
Mindustry Mindustry

View File

@@ -1 +1 @@
Mindustry Mindustry

View File

@@ -0,0 +1 @@

View File

@@ -2,4 +2,4 @@
- Aggiunta regola della salute dei blocchi - Aggiunta regola della salute dei blocchi
- Aggiunte ulteriori squadre interne per modalità di gioco alternative - Aggiunte ulteriori squadre interne per modalità di gioco alternative
- Aggiunte funzionalità per migliorare il server modding - Aggiunte funzionalità per migliorare il server modding
- Cambiamenti interni: il package ora è "mindustry" invece di "io.anuke.mindustry" (i plugin non funzioneranno) - Cambiamenti interni: il package ora è "mindustry" invece di "io.anuke.mindustry" (i plugin non funzioneranno)

View File

@@ -11,4 +11,4 @@ Funzionalità:
- Modalità multigiocatore cross-platform attraverso la rete locale o i server dedicati - Modalità multigiocatore cross-platform attraverso la rete locale o i server dedicati
- Regole di gioco personalizzate: modifica i costi dei blocchi, le statistiche nemiche, gli oggetti di partenza, i tempi tra le ondate e molto altro - Regole di gioco personalizzate: modifica i costi dei blocchi, le statistiche nemiche, gli oggetti di partenza, i tempi tra le ondate e molto altro
- Un editor potente, con strumenti che permettono di generare i minerali in modo casuale, il terreno, le decorazioni e applicare simmetria alle mappe - Un editor potente, con strumenti che permettono di generare i minerali in modo casuale, il terreno, le decorazioni e applicare simmetria alle mappe
- Ondate delle mappe completamente personalizzabili - Ondate delle mappe completamente personalizzabili

View File

@@ -1 +1 @@
Un gioco sandbox basato sulla produzione e sulla difesa. Un gioco sandbox basato sulla produzione e sulla difesa.

View File

@@ -1 +1 @@
Un gioco sandbox basato sulla produzione e sulla difesa. Un gioco sandbox basato sulla produzione e sulla difesa.

View File

@@ -1 +1 @@
Mindustry Mindustry

View File

@@ -0,0 +1 @@

View File

@@ -11,4 +11,4 @@ Mindustryの特徴:
- ローカルネットワークや専用サーバーで、クロスプラットフォームのマルチプレイが可能 - ローカルネットワークや専用サーバーで、クロスプラットフォームのマルチプレイが可能
- カスタマイズ可能なゲーム: ブロックのコスト変更、敵のステータス、初期アイテム、ウェーブのタイミング など… - カスタマイズ可能なゲーム: ブロックのコスト変更、敵のステータス、初期アイテム、ウェーブのタイミング など…
- 強力なエディター、鉱石をランダムに生成したり、地形、デコレーション、左右対称なマップも制作可能 - 強力なエディター、鉱石をランダムに生成したり、地形、デコレーション、左右対称なマップも制作可能
- マップごとにウェーブの構成もカスタマイズ可能 - マップごとにウェーブの構成もカスタマイズ可能

View File

@@ -1 +1 @@
工場ベースのサンドボックスタワーディフェンスゲーム。 工場ベースのサンドボックスタワーディフェンスゲーム。

View File

@@ -1 +1 @@
Mindustry Mindustry

View File

@@ -1 +1 @@
Bazująca na przetrwaniu i zarządzaniu fabryką sandboxowa gra typu obrony wieży. Bazująca na przetrwaniu i zarządzaniu fabryką sandboxowa gra typu obrony wieży.

View File

@@ -1 +1 @@
Bazująca na przetrwaniu i zarządzaniu fabryką sandboxowa gra typu obrony wieży. Bazująca na przetrwaniu i zarządzaniu fabryką sandboxowa gra typu obrony wieży.

View File

@@ -1 +1 @@
Mindustry Mindustry

View File

@@ -2,4 +2,4 @@
- Foi adicionada regra de integridade do bloco - Foi adicionada regra de integridade do bloco
- Adicionado mais equipes internas para modos de jogo alternativos - Adicionado mais equipes internas para modos de jogo alternativos
- Adicionado recursos para melhorar a modificação do servidor - Adicionado recursos para melhorar a modificação do servidor
-Grande mudança interna: o pacote agora é "mindustry" em vez de "io.anuke.mindustry" (irá quebrar os plugins) -Grande mudança interna: o pacote agora é "mindustry" em vez de "io.anuke.mindustry" (irá quebrar os plugins)

View File

@@ -11,4 +11,4 @@ Recursos incluidos:
- Multijogador multiplataforma através de redes locais ou servidores dedicados - Multijogador multiplataforma através de redes locais ou servidores dedicados
- Regras personalizadas do jogo: altere os custos de bloqueio, estatísticas do inimigo, itens iniciais, tempo das ondas e muito mais - Regras personalizadas do jogo: altere os custos de bloqueio, estatísticas do inimigo, itens iniciais, tempo das ondas e muito mais
- Um editor poderoso, com ferramentas para gerar aleatoriamente minérios, terrenos, decoração e aplicar simetria a mapas - Um editor poderoso, com ferramentas para gerar aleatoriamente minérios, terrenos, decoração e aplicar simetria a mapas
- Layouts de rondas de mapa personalizáveis - Layouts de rondas de mapa personalizáveis

View File

@@ -1 +1 @@
Um jogo de defesa de torre de sandbox baseado em construção. Um jogo de defesa de torre de sandbox baseado em construção.

View File

@@ -1 +1 @@
Mindustry Mindustry

View File

@@ -12,4 +12,4 @@
- Кроссплатформенный мультиплеер с поддержкой как и локальных сетей, так и серверов - Кроссплатформенный мультиплеер с поддержкой как и локальных сетей, так и серверов
- Пользовательские настройки игры — изменяйте цену блоков, силу врагов, количество стартовых ресурсов, интервал между волнами и т.д. - Пользовательские настройки игры — изменяйте цену блоков, силу врагов, количество стартовых ресурсов, интервал между волнами и т.д.
- Редактор карт с бесчисленными возможностями, инструментами для случайной генерации руд, рельефа, декораций, а также для симметрии карт - Редактор карт с бесчисленными возможностями, инструментами для случайной генерации руд, рельефа, декораций, а также для симметрии карт
- Настраиваемые раскладки волн для карт - Настраиваемые раскладки волн для карт

View File

@@ -1 +1 @@
Mindustry Mindustry

View File

@@ -1 +1 @@
Mindustry Mindustry

View File

@@ -1 +1 @@
Mindustry Mindustry

View File

@@ -113,4 +113,4 @@
"version": 1, "version": 1,
"author": "xcode" "author": "xcode"
} }
} }

View File

@@ -3,4 +3,4 @@
"version": 1, "version": 1,
"author": "xcode" "author": "xcode"
} }
} }

View File

@@ -1 +1 @@
java -jar server.jar java -jar server.jar

View File

@@ -1 +1 @@
java -jar server.jar java -jar server.jar

View File

@@ -82,4 +82,4 @@ public class ServerLauncher implements ApplicationListener{
Events.fire(new ServerLoadEvent()); Events.fire(new ServerLoadEvent());
} }
} }

View File

@@ -2,4 +2,4 @@
{ {
"address": "mindustry.us.to:6568" "address": "mindustry.us.to:6568"
} }
] ]

View File

@@ -8,4 +8,4 @@ sourceSets{
srcDir "src/test/resources" srcDir "src/test/resources"
} }
} }
} }

View File

@@ -442,4 +442,4 @@ public class ApplicationTests{
tile.block().handleStack(item, 1, tile, unit); tile.block().handleStack(item, 1, tile, unit);
assertEquals(capacity, tile.entity.items().get(item)); assertEquals(capacity, tile.entity.items().get(item));
} }
} }

14
tools/run-newline Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# add newlines to all files
git ls-files -z | while IFS= read -rd '' f; do tail -c1 < "$f" | read -r _ || echo >> "$f"; done
# undo the changes in these
git checkout -- "*.png"
git checkout -- "*.msav"
git checkout -- "*.jar"
git checkout -- "*.ogg"
git checkout -- "*.ico"
git checkout -- "*.icns"
git checkout -- "*.ttf"
git checkout -- "*.glsl"