Merged with master

This commit is contained in:
Anuken
2018-05-06 01:43:12 -04:00
35 changed files with 1634 additions and 798 deletions

View File

@@ -42,6 +42,29 @@ allprojects {
getPackage = { getPackage = {
return project.ext.mainClassName.substring(0, project.ext.mainClassName.indexOf("desktop") - 1) return project.ext.mainClassName.substring(0, project.ext.mainClassName.indexOf("desktop") - 1)
} }
writeVersion = {
def pfile = new File('core/assets/version.properties')
def props = new Properties()
try{
pfile.createNewFile()
}catch (Exception e){}
if(pfile.exists()) {
props.load(new FileInputStream(pfile))
String code = getBuildVersion()
props["name"] = appName
props["version"] = versionType
props["code"] = versionNumber
props["build"] = code
props.store(pfile.newWriter(), "Autogenerated file. Do not modify.")
}
}
} }
repositories { repositories {

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

View File

@@ -1,4 +1,4 @@
text.about=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\nOriginally an entry in the [orange]GDL[] Metal Monstrosity Jam.\n\nCredits:\n- SFX made with [YELLOW]bfxr[]\n- Music made by [GREEN]a drop a day[]\n\nSpecial thanks to:\n- [coral]MitchellFJN[]: extensive playtesting and feedback\n- [sky]Luxray5474[]: wiki work, code contributions\n- [lime]Epowerj[]: code build system, icon\n- All the beta testers on itch.io and Google Play\n text.about=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\nOriginally an entry in the [orange]GDL[] Metal Monstrosity Jam.\n\nCredits:\n- SFX made with [YELLOW]bfxr[]\n- Music made by [GREEN]Roccow[]\n\nSpecial thanks to:\n- [coral]MitchellFJN[]: extensive playtesting and feedback\n- [sky]Luxray5474[]: wiki work, code contributions\n- [lime]Epowerj[]: code build system, icon\n- All the beta testers on itch.io and Google Play\n
text.credits=Credits text.credits=Credits
text.discord=Join the mindustry discord! text.discord=Join the mindustry discord!
text.changes=[SCARLET]Attention!\n[]Some important game mechanics have been changed.\n\n- [accent]Teleporters[] now use power.\n- [accent]Smelteries[] and [accent]crucibles[] now have a maximum item capacity.\n- [accent]Crucibles[] now require coal as fuel. text.changes=[SCARLET]Attention!\n[]Some important game mechanics have been changed.\n\n- [accent]Teleporters[] now use power.\n- [accent]Smelteries[] and [accent]crucibles[] now have a maximum item capacity.\n- [accent]Crucibles[] now require coal as fuel.
@@ -34,6 +34,7 @@ text.players.single={0} player online
text.server.mismatch=Packet error: possible client/server version mismatch.\nMake sure you and the host have the\nlatest version of Mindustry! text.server.mismatch=Packet error: possible client/server version mismatch.\nMake sure you and the host have the\nlatest version of Mindustry!
text.server.closing=[accent]Closing server... text.server.closing=[accent]Closing server...
text.server.kicked.kick=You have been kicked from the server! text.server.kicked.kick=You have been kicked from the server!
text.server.kicked.fastShoot=You are shooting too quickly.
text.server.kicked.invalidPassword=Invalid password! text.server.kicked.invalidPassword=Invalid password!
text.server.kicked.clientOutdated=Outdated client! Update your game! text.server.kicked.clientOutdated=Outdated client! Update your game!
text.server.kicked.serverOutdated=Outdated server! Ask the host to update! text.server.kicked.serverOutdated=Outdated server! Ask the host to update!

View File

@@ -0,0 +1,528 @@
text.about = Créé par [ROYAL]Anuken.[]\nA l'origine une entrée dans le [orange]GDL[] MM Jam.\n\nCrédits: \n- SFX réalisé avec [yellow]bfxr[] \n- Musique faite par [lime]RoccoW[] / trouvé sur [lime]FreeMusicArchive.org[] \n\nRemerciements particuliers à:\n- [coral]MitchellFJN[]: nombreux tests et retours d'expérience \n- [sky]Luxray5474[]: travail wiki, contributions de code \n- [lime]Epowerj[]: système de compilation de code, icône \n- Tous les beta testeurs sont sur itch.io et Google Play\n
text.discord = Rejoignez le discord de Mindustry
text.changes = [SCARLET]Attention![] \nCertains mécanismes importants du jeu ont ete modifies.\n-Les [accent]telporteurs[] utilisent maintenant de l'énergie.\n-Les [accent]fonderies[] et les[accent]crucibles[] ont maintenant une capacité maximale d'articles.\n-Les [accent]crucibles[] exigent maintenant du charbon comme combustible.
text.gameover = Le noyau a été détruit.
text.highscore = [YELLOW]Nouveau meilleur score!
text.lasted = Vous avez duré jusqu'à la vague
text.level.highscore = Meilleur score: [accent]{0}
text.level.delete.title = Confirmer
text.level.delete = Êtes-vous sûr de vouloir supprimer la carte \"[orange] \"?
text.level.select = Sélection de niveau
text.level.mode = Mode de jeu :
text.savegame = Sauvegarder la partie
text.loadgame = Charger la partie
text.joingame = Rejoindre la partie
text.quit = Quitter
text.about.button = À propos
text.name = Nom :
text.public = Publique
text.players = joueurs en ligne
text.server.player.host = Héberger
text.players.single = joueur en ligne
text.server.mismatch = Erreur de paquet: possible incompatibilité de version client/serveur. Assurez-vous que vous et l'hôte avez la dernière version de Mindustry!
text.server.closing = [accent]Fermeture du serveur ...
text.server.kicked.kick = Vous avez été expulsé du serveur!
text.server.kicked.invalidPassword = Mot de passe non valide !
text.server.kicked.clientOutdated = Client dépassé! Mettez à jour votre jeu!
text.server.kicked.serverOutdated = Serveur dépassé! Demandez à l'hôte de le mettre à jour!
text.server.kicked.banned = Vous êtes banni sur ce serveur.
text.server.connected = a rejoint le serveur
text.server.disconnected = {0} s'est déconnecté.
text.nohost = Impossible d'héberger le serveur sur une carte personnalisée!
text.hostserver = Héberger un serveur
text.host = Héberger
text.hosting = [accent]Ouverture du serveur ...
text.hosts.refresh = Actualiser
text.hosts.discovering = Recherche de parties LAN
text.server.refreshing = Actualisation du serveur
text.hosts.none = [lightgray]Aucun jeu LAN trouvé!
text.host.invalid = [scarlet]Impossible de se connecter à l'hôte.
text.server.friendlyfire = Tir allié
text.trace = suivre le joueur
text.trace.playername = Nom du joueur: [accent] {0}
text.trace.ip = IP: [accent] {0}
text.trace.id = ID unique: [accent] {0}
text.trace.android = Client Android: [accent] {0}
text.trace.modclient = Client personnalisé: [accent] {0}
text.trace.totalblocksbroken = Total des blocs détruits: [accent] {0}
text.trace.structureblocksbroken = Blocs de structure détruits: [accent] {0}
text.trace.lastblockbroken = Dernier bloc détruit: [accent] {0}
text.trace.totalblocksplaced = Nombre total de blocs placés: [accent] {0}
text.trace.lastblockplaced = Dernier bloc placé: [accent] {0}
text.invalidid = ID client invalide! Soumettre un rapport de bug
text.server.bans = Interdictions
text.server.bans.none = Aucun joueur banni trouvé!
text.server.admins = Administrateurs
text.server.admins.none = Aucun administrateur trouvé!
text.server.add = Ajouter un serveur
text.server.delete = Êtes-vous sûr de vouloir supprimer ce serveur?
text.server.hostname = Héberger
text.server.edit = éditer le serveur
text.server.outdated = [crimson]Serveur obsolète![]
text.server.outdated.client = [Crimson]Client obsolète![]
text.server.version = [lightgray]Version: {0}
text.server.custombuild = [jaune]Construction personnalisée
text.confirmban = Êtes-vous sûr de vouloir bannir ce joueur?
text.confirmunban = Êtes-vous sûr de vouloir annuler le ban de ce joueur?
text.confirmadmin = Êtes-vous sûr de vouloir faire de ce joueur un administrateur?
text.confirmunadmin = Êtes-vous sûr de vouloir supprimer le statut d'administrateur de ce joueur?
text.joingame.byip = Rejoindre par IP ...
text.joingame.title = Rejoindre une partie
text.joingame.ip = IP :
text.disconnect = Déconnecté
text.connecting = [accent]Connexion ...
text.connecting.data = [accent] Chargement des données de la partie ...
text.connectfail = [crimson] Échec de la connexion au serveur : [orange]
text.server.port = Port :
text.server.addressinuse = Adresse déjà utilisée!
text.server.invalidport = Numéro de port incorrect.
text.server.error = [crimson]Erreur lors de l'hébergement du serveur: [orange] {0}
text.tutorial.back = < Précédent\n
text.tutorial.next = Suivant>
text.save.new = Nouvelle sauvegarde
text.save.overwrite = Êtes-vous sûr de vouloir remplacer cette sauvegarde?
text.overwrite = Écraser
text.save.none = Aucune sauvegarde trouvée!
text.saveload = [accent]Sauvegarde ...
text.savefail = Échec de la sauvegarde du jeu !
text.save.delete.confirm = Êtes-vous sûr de vouloir supprimer cette sauvegarde?
text.save.delete = Supprimer
text.save.export = Exporter la sauvegarde
text.save.import.invalid = [orange]Cette sauvegarde est invalide!
text.save.import.fail = [crimson]Echec de l'importation de la sauvegarde: [orange] {0}
text.save.export.fail = [crimson]Échec de l'exportation de la sauvegarde: [orange] {0}
text.save.import = Importer la sauvegarde
text.save.newslot = Enregistrer le nom:
text.save.rename = Renommer
text.save.rename.text = Nouveau nom:
text.selectslot = Sélectionnez une sauvegarde.
text.slot = [accent]Emplacement {0}
text.save.corrupted = [orange]Le fichier enregistrer est corrompu ou invalide!
text.empty = <vide>
text.on = Allumer
text.off = Eteint
text.save.autosave = Sauvegarde automatique
text.save.map = Carte
text.save.wave = Vague :
text.save.difficulty = DIFFICULTÉ
text.save.date = Dernière sauvegarde: {0}
text.confirm = Confirmer
text.delete = Supprimer
text.ok = OK
text.open = Ouvrir
text.cancel = Annuler
text.openlink = Lien public
text.back = Retour
text.quit.confirm = Êtes-vous sûr de vouloir quitter?
text.changelog.title = Note de mise à jour
text.changelog.error = [Scarlet] Erreur lors de l'obtention du changement de serveur! Vérifiez votre connexion internet.
text.changelog.current = [jaune] [[Version actuelle]
text.changelog.latest = [orange][[Dernière version]
text.loading = [accent]Chargement ...
text.wave = [orange]Vague {0}
text.wave.waiting = Vague dans {0}
text.waiting = Attente...
text.enemies = ennemis
text.enemies.single = Ennemi
text.loadimage = Charger l'image
text.saveimage = Enregistrer l'image
text.oregen = Génération de minerais
text.editor.badsize = [orange]Dimensions de l'image non valides![] Dimensions de la carte valides: {0}
text.editor.errorimageload = Erreur lors du chargement du fichier image:[orange] {0}
text.editor.errorimagesave = Erreur lors de la sauvegarde du fichier image:[orange] {0}
text.editor.generate = Générer
text.editor.resize = Redimensionner
text.editor.loadmap = Charger la carte
text.editor.savemap = Enregistrer la carte
text.editor.loadimage = Charger l'image
text.editor.saveimage = Enregistrer l'image
text.editor.unsaved = [scarlet] Vous avez des changements non sauvegardés![] Êtes-vous sûr de vouloir quitter?
text.editor.brushsize = Taille de la brosse:
text.editor.noplayerspawn = Cette carte n'a pas de point d'apparition de joueur!
text.editor.manyplayerspawns = Les cartes ne peuvent pas avoir plus d'un point d'apparition de joueur!
text.editor.manyenemyspawns = Il ne peut pas avoir plus de {0} points d'apparition ennemis!
text.editor.resizemap = Redimensionner la carte
text.editor.resizebig = [scarlet]Attention![] Les cartes de plus de 256 unités peuvent laggés et être instables.
text.editor.mapname = Nom de la carte:
text.editor.overwrite = [accent]Attention! Cela écrasera la carte existante.
text.editor.failoverwrite = [Crimson]Impossible d'écraser la carte par défaut!
text.editor.selectmap = Sélectionnez une carte à charger:
text.width = Largeur:
text.height = Hauteur:
text.randomize = Rendre aléatoire
text.apply = Appliquer
text.update = Modifier
text.menu = Menu
text.play = Jouer
text.load = Charger
text.save = Sauvegarder
text.language.restart = Veuillez redémarrer votre jeu pour que les paramètres de langue soient appliqués.
text.settings.language = Langue
text.settings = Réglages
text.tutorial = Tutoriel
text.editor = Éditeur
text.mapeditor = Éditeur de carte
text.donate = Faire un don
text.settings.reset = Valeur par défaut.
text.settings.controls = Contrôles
text.settings.game = Jeu
text.settings.sound = Son
text.settings.graphics = Graphique
text.upgrades = Améliorations
text.purchased = [VERT]Créé!
text.weapons = Armes
text.paused = Pause
text.respawn = Réapparition dans
text.info.title = [accent]Info
text.error.title = [crimson]Une erreur est survenue
text.error.crashmessage = [SCARLET]Une erreur inattendue est survenue, et aurait provoqué un crash.[] Veuillez indiquer les circonstances exactes dans lesquelles cette erreur est survenue au développeur:[ORANGE] anukendev@gmail.com[]
text.error.crashtitle = Une erreur est survenue
text.mode.break = Mode de rupture: {0}
text.mode.place = Placez le mode: {0}
placemode.hold.name = Ligne
placemode.areadelete.name = surface
placemode.touchdelete.name = toucher
placemode.holddelete.name = tenir
placemode.none.name = aucun
placemode.touch.name = toucher
placemode.cursor.name = curseur
text.blocks.extrainfo = [accent] info supplémentaire du bloc:
text.blocks.blockinfo = Bloquer les infos
text.blocks.powercapacity = capacité d'énergie
text.blocks.powershot = Energie/Tir
text.blocks.powersecond = Energie/Seconde
text.blocks.powerdraindamage = Utilisation d'énergie/Dommage
text.blocks.shieldradius = rayon du bouclier
text.blocks.itemspeedsecond = Vitesse d'Article/Seconde
text.blocks.range = Portée
text.blocks.size = Taille
text.blocks.powerliquid = énergie/Liquide
text.blocks.maxliquidsecond = Max Liquide/Seconde
text.blocks.liquidcapacity = Capacité liquide
text.blocks.liquidsecond = Liquide/seconde
text.blocks.damageshot = Dégâts/tir
text.blocks.ammocapacity = Capacité de munitions
text.blocks.ammo = Munition
text.blocks.ammoitem = Munitions/Article
text.blocks.maxitemssecond = Max articles/seconde
text.blocks.powerrange = Gamme de puissance
text.blocks.lasertilerange = portée du laser
text.blocks.capacity = Capacité
text.blocks.itemcapacity = Capacité article
text.blocks.maxpowergenerationsecond = Génération max d'énergie/seconde
text.blocks.powergenerationsecond = Génération d'énergie/seconde
text.blocks.generationsecondsitem = Génération Secondes / item
text.blocks.input = entrée
text.blocks.inputliquid = Entrée de liquide
text.blocks.inputitem = entré d'article
text.blocks.output = Sortie
text.blocks.secondsitem = Secondes/article
text.blocks.maxpowertransfersecond = Transfert max d'énergie/seconde
text.blocks.explosive = Hautement explosif !
text.blocks.repairssecond = Réparation/seconde
text.blocks.health = Santé
text.blocks.inaccuracy = Inexactitude
text.blocks.shots = tirs
text.blocks.shotssecond = Tirs/seconde
text.blocks.fuel = Carburant
text.blocks.fuelduration = Durée du carburant
text.blocks.maxoutputsecond = Sortie max/seconde
text.blocks.inputcapacity = Capacité d'entrée
text.blocks.outputcapacity = Capacité de sortie
text.blocks.poweritem = Energie/Article
text.placemode = Mode Placement
text.breakmode = Mode destruction
text.health = santé
setting.difficulty.easy = facile
setting.difficulty.normal = normal
setting.difficulty.hard = difficile
setting.difficulty.insane = Extreme
setting.difficulty.purge = Purge
setting.difficulty.name = Difficulté:
setting.screenshake.name = Tremblement d'écran
setting.smoothcam.name = Caméra lisse
setting.indicators.name = Indicateurs ennemis
setting.effects.name = Effets d'affichage
setting.sensitivity.name = Sensibilité de la manette
setting.saveinterval.name = Intervalle des sauvegardes auto
setting.seconds = {0} secondes
setting.fullscreen.name = Plein écran
setting.multithread.name = Multithreading [scarlet] (instable!)
setting.fps.name = Afficher FPS
setting.vsync.name = VSync
setting.lasers.name = Afficher les rayons des lasers
setting.healthbars.name = Afficher les barres de santé des entités
setting.pixelate.name = Pixéliser l'écran
setting.musicvol.name = volume musique
setting.mutemusic.name = Musique muette
setting.sfxvol.name = Volume SFX
setting.mutesound.name = Son muet
map.maze.name = Labyrinthe
map.fortress.name = forteresse
map.sinkhole.name = gouffre
map.caves.name = cavernes
map.volcano.name = volcan
map.caldera.name = chaudron
map.scorch.name = brûlure
map.desert.name = désert
map.island.name = Île
map.grassland.name = prairie
map.tundra.name = toundra
map.spiral.name = spirale
map.tutorial.name = tutoriel
tutorial.intro.text = [yellow]Bienvenue dans le tutoriel[]. Pour commencer, appuyez sur \"suivant\".
tutorial.moveDesktop.text = Pour vous déplacer, utilisez les touches [orange][[WASD][]. Maintenez [orange]shift[] pour accélérer. Maintenez la touche [orange]CTRL[] enfoncée tout en utilisant la [orange]molette[] pour effectuer un zoom avant ou arrière.
tutorial.shoot.text = Utilisez votre souris pour viser, maintenez le [orange]bouton gauche de la souris[] pour tirer. Essayez de pratiquer sur la [yellow]cible[].
tutorial.moveAndroid.text = Pour déplacer votre vue, faites glisser un doigt sur l'écran. Pincez et faites glisser pour effectuer un zoom avant ou arrière.
tutorial.placeSelect.text = Essayez de sélectionner un [yellow]transporteur[] dans le menu des blocs en bas à droite.
tutorial.placeConveyorDesktop.text = Utilisez la [orange][[molette][] pour faire pivoter le transporteur [orange]vers l'avant[], puis placez-le dans l'emplacement [yellow]marqué[] en utilisant le [orange][[bouton gauche de la souris][].
tutorial.placeConveyorAndroid.text = Utilisez [orange][[bouton de rotation][] pour faire pivoter le transporteur [orange]vers l'avant[], faites-le glisser avec votre doigt, puis placez-le dans l'emplacement [yellow]marqué[] avec [orange][[coche][].
tutorial.placeConveyorAndroidInfo.text = Vous pouvez également appuyer sur l'icône du réticule en bas à gauche pour passer en [orange][[mode tactile][] et placer des blocs en appuyant sur l'écran. En mode tactile, les blocs peuvent être pivotés avec la flèche en bas à gauche. Appuyez sur [yellow]suivant[] pour essayer.
tutorial.placeDrill.text = Maintenant, sélectionnez et placez un [yellow]extracteur de pierre[] à l'endroit marqué.
tutorial.blockInfo.text = Si vous voulez en savoir plus sur un bloc, vous pouvez appuyer sur le [orange]point d'interrogation[] en haut à droite pour lire sa description.
tutorial.deselectDesktop.text = Vous pouvez désélectionner un bloc en utilisant le [orange][[bouton droit de la souris][].
tutorial.deselectAndroid.text = Vous pouvez désélectionner un bloc en appuyant sur le bouton [orange]X[].
tutorial.drillPlaced.text = L'extracteur produira maintenant de la [yellow]pierre[], qui sera placée sur le transporteur, puis sera emmenée dans le [yellow]noyau[].
tutorial.drillInfo.text = Différents minerais ont besoin de différents extracteurs. La pierre nécessite des extracteurs de pierre, le fer des extracteurs de fer,...etc...
tutorial.drillPlaced2.text = Le déplacement d'article dans le noyau le place dans votre[yellow]inventaire[], au milieu à droite. Le placement de blocs utilise les éléments de votre inventaire.
tutorial.moreDrills.text = Vous pouvez relier plusieurs extracteurs et transporteurs ensemble, comme ça.
tutorial.deleteBlock.text = Vous pouvez supprimer des blocs en cliquant sur le clique [orange]droit de la souris[] sur le bloc que vous voulez supprimer. Essayez de supprimer ce transporteur.
tutorial.deleteBlockAndroid.text = Vous pouvez supprimer des blocs en [orange]sélectionnant le réticule[] dans [orange] le menu du mode destruction[] en bas à gauche et en appuyant sur un bloc. Essayez de supprimer ce transporteur.
tutorial.placeTurret.text = Maintenant, sélectionnez et placez une [yellow]tourelle[] à l'[yellow]emplacement marqué[].
tutorial.placedTurretAmmo.text = Cette tourelle accepte maintenant les [yellow]munitions[] du transporteur. Vous pouvez voir combien de munitions elle a en la survolant et en vérifiant sa [green]barre verte[].
tutorial.turretExplanation.text = Les tourelles tirent automatiquement sur l'ennemi le plus proche, pourvu qu'elles aient suffisamment de munitions.
tutorial.waves.text = Toutes les [yellow]60 secondes[], une [coral]vague d'ennemis[] apparaîtra dans des endroits spécifiques et tentera de détruire votre noyau.
tutorial.coreDestruction.text = Votre objectif est de [yellow]défendre le noyau[]. Si le noyau est détruit, vous [coral]perdez le jeu[].
tutorial.pausingDesktop.text = Si vous avez besoin de faire une pause, appuyez sur le bouton [orange]pause[] en haut à gauche pour mettre le jeu en pause. Vous pouvez toujours casser et placer des blocs en pause, mais vous ne pouvez pas bouger ou tirer.
tutorial.pausingAndroid.text = Si vous avez besoin de faire une pause, appuyez sur le bouton [orange]pause[] en haut à gauche pour mettre le jeu en pause. Vous pouvez toujours casser et placer des blocs en pause.
tutorial.purchaseWeapons.text = Vous pouvez acheter de nouvelles [yellow]armes[] pour votre robot en ouvrant le menu de mise à niveau en bas à gauche.
tutorial.switchWeapons.text = Changez d'arme en cliquant sur l'icône en bas à droite, ou en utilisant les chiffres [orange][[1-9][].
tutorial.spawnWave.text = Une vague arrive. Détruisez-les.
tutorial.pumpDesc.text = Dans les vagues plus lointaines, vous devrez peut-être utiliser des [yellow]pompes[] pour distribuer du liquide pour les générateurs ou les extracteurs.
tutorial.pumpPlace.text = Les pompes fonctionnent de la même manière que les extracteurs, sauf qu'elles récoltent du liquides et non du minerai. Essayez de placer une pompe sur [yellow]pétrole[] désigné.
tutorial.conduitUse.text = Maintenant, placez un [orange]conduit[] qui s'éloigne de la pompe.
tutorial.conduitUse2.text = Et un autre ...
tutorial.conduitUse3.text = Et un autre ...
tutorial.generator.text = Maintenant, placez un bloc [orange]de générateur à combustion[] à l'extrémité du conduit.
tutorial.generatorExplain.text = Ce générateur va maintenant créer de l' [yellow]énergie[] à partir de pétrole.
tutorial.lasers.text = L'énergie est distribuée à l'aide de [yellow]lasers d'énergie[]. Tournez et placez-en un ici.
tutorial.laserExplain.text = Le générateur va maintenant déplacer la puissance dans le laser. Un faisceau [yellow]opaque[] signifie qu'il transmet actuellement de la puissance, et un faisceau [yellow]transparent[] signifie que ce n'est pas le cas.
tutorial.laserMore.text = Vous pouvez vérifier la puissance d'un bloc en survolant celui-ci et en vérifiant la [yellow]barre jaune[] en haut.
tutorial.healingTurret.text = Ce laser peut être utilisé pour alimenter une [lime]tourelle de réparation[]. Placez-en une ici.
tutorial.healingTurretExplain.text = Tant qu'elle a de la puissance, cette tourelle [lime]réparera les blocs voisins[].En jouant, assurez-vous d'en avoir une dans votre base le plus rapidement possible!
tutorial.smeltery.text = De nombreux blocs nécessitent de l' [orange]acier[] pour fabriquer, ce qui nécessite une [orange]fonderie[]. Placez-en une ici.
tutorial.smelterySetup.text = Cette fonderie produira maintenant de l' [orange]acier[] à partir du fer, utilisant le charbon comme combustible.
tutorial.tunnelExplain.text = Notez également que les objets traversent un [orange]tunnel[] et émergent de l'autre côté, traversant le bloc de pierre. Gardez à l'esprit que les tunnels ne peuvent traverser que 2 blocs.
tutorial.end.text = Et cela conclut le tutoriel! Bonne chance!
text.keybind.title = Relier le clés
keybind.move_x.name = mouvement x
keybind.move_y.name = mouvement y
keybind.select.name = sélectionner
keybind.break.name = Pause
keybind.shoot.name = tirer
keybind.zoom_hold.name = tenir le zoom
keybind.zoom.name = zoom
keybind.block_info.name = bloc_info
keybind.menu.name = menu
keybind.pause.name = Pause
keybind.dash.name = attaque frontal
keybind.chat.name = chat
keybind.player_list.name = Liste des joueurs
keybind.console.name = console
keybind.rotate_alt.name = tourner_alt
keybind.rotate.name = Tourner
keybind.weapon_1.name = Arme 1
keybind.weapon_2.name = Arme 2
keybind.weapon_3.name = Arme 3
keybind.weapon_4.name = Arme 4
keybind.weapon_5.name = Arme 5
keybind.weapon_6.name = Arme 6
mode.waves.name = Vagues
mode.sandbox.name = bac à sable
mode.freebuild.name = construction libre
upgrade.standard.name = La norme
upgrade.standard.description = Le robot standard.
upgrade.blaster.name = blaster
upgrade.blaster.description = Tire faiblement et lentetement.
upgrade.triblaster.name = Tri-blaster
upgrade.triblaster.description = Tire 3 balles se propageant en V.
upgrade.clustergun.name = clustergun
upgrade.clustergun.description = Tire une portée de grenades explosives.
upgrade.beam.name = beam cannon
upgrade.beam.description = Tire un rayon laser de perçage à longue portée.
upgrade.vulcan.name = Vulcain
upgrade.vulcan.description = Tire un barrage de balles rapides.
upgrade.shockgun.name = shockgun
upgrade.shockgun.description = Tire une charge de balles qui explosent en éclats.
item.stone.name = pierre
item.iron.name = fer
item.coal.name = charbon
item.steel.name = Acier
item.titanium.name = Titane
item.dirium.name = dirium
item.uranium.name = uranium
item.sand.name = sable
liquid.water.name = eau
liquid.plasma.name = plasma
liquid.lava.name = lave
liquid.oil.name = pétrole
block.weaponfactory.name = usine d'armes
block.weaponfactory.fulldescription = Utilisé pour créer des armes pour le joueur robot. Cliquez pour utiliser. Extrait automatiquement les ressources du noyau.
block.air.name = air
block.blockpart.name = partie de block
block.deepwater.name = eaux profondes
block.water.name = eau
block.lava.name = lave
block.oil.name = pétrole
block.stone.name = pierre
block.blackstone.name = pierre noire
block.iron.name = fer
block.coal.name = charbon
block.titanium.name = titane
block.uranium.name = uranium
block.dirt.name = terre
block.sand.name = sable
block.ice.name = glace
block.snow.name = neige
block.grass.name = herbe
block.sandblock.name = bloc de sable
block.snowblock.name = bloc de neige
block.stoneblock.name = bloc de pierre
block.blackstoneblock.name = bloc de roche noire
block.grassblock.name = bloc d'herbe
block.mossblock.name = bloc de mousse
block.shrub.name = arbuste
block.rock.name = roche
block.icerock.name = roche de glace
block.blackrock.name = roche noire
block.dirtblock.name = bloc de terre
block.stonewall.name = mur de pierres
block.stonewall.fulldescription = Un bloc défensif bon marché. Utile pour protéger le noyau et les tourelles durant les premières vagues.
block.ironwall.name = mur de fer
block.ironwall.fulldescription = Un bloc défensif de base. Fournit une protection contre les ennemis.
block.steelwall.name = mur en acier
block.steelwall.fulldescription = Un bloc défensif standard. une protection adéquate contre les ennemis.
block.titaniumwall.name = mur de titane
block.titaniumwall.fulldescription = Un bloc défensif très résistant. Fournit une protection contre les ennemis.
block.duriumwall.name = mur de dirium
block.duriumwall.fulldescription = Un bloc défensif extrêmement résistant. Fournit une protection contre les ennemis.
block.compositewall.name = mur composite
block.steelwall-large.name = grand mur d'acier
block.steelwall-large.fulldescription = Un bloc défensif standard, prend plusieurs blocs de largeurs.
block.titaniumwall-large.name = grand mur de titane
block.titaniumwall-large.fulldescription = Un bloc défensif très résistant, prend plusieurs blocs de largeurs.
block.duriumwall-large.name = grand mur de dirium
block.duriumwall-large.fulldescription = Un bloc défensif extrêmement résistant, prend plusieurs blocs de largeurs.
block.titaniumshieldwall.name = mur blindé
block.titaniumshieldwall.fulldescription = Un bloc défensif solide, avec un bouclier intégré. Nécessite de l'énergie. Utilise l'énergie pour absorber les balles ennemies. Il est recommandé d'utiliser un distributeur d'énergie pour fournir de l'énergie à ce bloc.
block.repairturret.name = tourelle de réparation
block.repairturret.fulldescription = Répare les blocs avoisinants endommagés dans un zone circulaire à un rythme lent. Utilise de l'énergie.
block.megarepairturret.name = tourelle de réparation II
block.megarepairturret.fulldescription = Répare les blocs avoisinants endommagés dans un zone circulaire à un rythme régulier. Utilise de l'énergie.
block.shieldgenerator.name = générateur de bouclier
block.shieldgenerator.fulldescription = Un bloc défensif avancé. Protège tous les blocs avoisinants dans une zone circulaire. Utilise l'énergie à un rythme lent, mais draine beaucoup d'énergie au contact d'un tir ennemi.
block.door.name = porte
block.door.fulldescription = Un bloc qui peut être ouvert et fermé en cliquant dessus.
block.door-large.name = grande porte
block.door-large.fulldescription = Un bloc qui peut être ouvert et fermé en cliquant dessus.
block.conduit.name = conduit
block.conduit.fulldescription = Bloc de transport de liquide basique. Fonctionne comme un transporteur, mais avec des liquides. A placé à coté de pompes. Peut être utilisé comme un pont sur les liquides pour les ennemis et les joueurs.
block.pulseconduit.name = conduit à impulsion
block.pulseconduit.fulldescription = Bloc de transport de liquide avancé. Transporte les liquides plus rapidement et stocke plus que les conduits standards.
block.liquidrouter.name = routeur de liquide
block.liquidrouter.fulldescription = Fonctionne de manière similaire à un routeur. Accepte l'entrée de liquide d'un côté et l'envoie vers 3 autres côtés. Utile pour répartir le liquide d'un conduit vers plusieurs autres conduits.
block.conveyor.name = transporteur
block.conveyor.fulldescription = Bloc de transport standard. Déplace les objets vers l'avant et les dépose automatiquement dans les tourelles ou des blocs d'artisanats. Rotatif. Peut être utilisé comme une plateforme sur les liquides, pour les ennemis et les joueurs.
block.steelconveyor.name = transporteur en acier
block.steelconveyor.fulldescription = transporteur d'articles avancé. Déplace les objets plus rapidement que les transporteurs standards.
block.poweredconveyor.name = transporteur à impulsions
block.poweredconveyor.fulldescription = Le transporteur d'articles ultime. Déplace les articles plus rapidement que les convoyeurs en acier.
block.router.name = Routeur
block.router.fulldescription = Accepte les éléments d'une direction et les distribue dans 3 autres directions. Peut également stocker une certaine quantité d'articles. Utile pour diviser cette quantité afin d'approvisionner plusieurs tourelles ou des blocs d'artisanat.
block.junction.name = jonction
block.junction.fulldescription = Agit comme un pont pour deux transporteurs qui se croisent et qui possèdent différents articles.
block.conveyortunnel.name = tunnel de transport
block.conveyortunnel.fulldescription = Transporte des articles sous les blocs. Pour l'utiliser, placez les entre des blocs, au maximum deux. Assurez-vous que les deux tunnels sont orientés dans des directions opposées.
block.liquidjunction.name = jonction à liquide
block.liquidjunction.fulldescription = Agit comme un pont pour deux conduits. Utile dans la situations ou deux conduits se croisent et transportent différents liquides.
block.liquiditemjunction.name = jonction de liquide-article
block.liquiditemjunction.fulldescription = Agit comme un pont pour croiser les conduits et les convoyeurs.
block.powerbooster.name = distributeur d'énergie
block.powerbooster.fulldescription = Distribue la puissance à tous les blocs avoisinants dans une zone circulaire.
block.powerlaser.name = laser d'énergie
block.powerlaser.fulldescription = Crée un laser qui transmet la puissance au bloc en face de lui. Ne génère pas d'énergie par lui-même. Idéal avec des générateurs ou d'autres lasers.
block.powerlaserrouter.name = routeur laser
block.powerlaserrouter.fulldescription = Laser qui distribue la puissance à trois directions à la fois. Utile pour séparer l'énergie afin d'alimenter plusieurs blocs
block.powerlasercorner.name = laser en angle droit
block.powerlasercorner.fulldescription = Laser qui distribue la puissance à deux directions en angle droit. Utile pour séparer l'énergie afin d'alimenter plusieurs blocs.
block.teleporter.name = téléporteur
block.teleporter.fulldescription = Bloc de transport avancé. Les téléporteurs saisissent des articles aux autres téléporteurs de la même couleur. Ne fait rien si aucun téléporteur de la même couleur n'existe. Si plusieurs téléporteurs existent de la même couleur, un téléporteur aléatoire est sélectionné. Utilise de l'énergie. Cliquez pour changer de couleur.
block.sorter.name = trieur
block.sorter.fulldescription = Trie l'article par type de matériau. Le matériau à accepter est indiqué par la couleur du bloc. Tous les éléments qui correspondent au matériau de tri sont sortis vers l'avant, tout le reste est sorti à gauche et à droite.
block.core.name = noyau
block.pump.name = pompe
block.pump.fulldescription = Pompe les liquides provenant d'un bloc source - généralement de l'eau, de la lave ou de l'huile. Transmet le liquide dans les conduits voisins.
block.fluxpump.name = pompe à flux
block.fluxpump.fulldescription = Une version avancée de la pompe. Stocke plus et pompe le liquide plus rapidement que la pompe ordinaire.
block.smelter.name = fonderie
block.smelter.fulldescription = Le bloc d'artisanat essentiel. Produit de l'acier lorsqu'il est approvisionné en fer et charbon. Il est conseillé d'introduire le fer et le charbon par différents transporteurs pour éviter les situations de débordement.
block.crucible.name = Crucible
block.crucible.fulldescription = Un bloc d'artisanat avancé. Produit du diridium lorsqu'il est approvisionné en fer, en titanium et en charbon . Il est conseillé d'introduire ces minerais par différents transporteurs.
block.coalpurifier.name = raffinerie de charbon
block.coalpurifier.fulldescription = Un bloc d'artisanat de base. Produit du charbon lorsqu'il est fourni avec de grandes quantités d'eau et de pierre.
block.titaniumpurifier.name = raffinerie de titane
block.titaniumpurifier.fulldescription = Un bloc d'artisanat avancé. Produit du titane lorsqu'il est fourni avec de grandes quantités d'eau et de fer.
block.oilrefinery.name = raffinerie de pétrole
block.oilrefinery.fulldescription = Un bloc d'artisanat standard. Affine de grandes quantités de pétrole grâce au charbon. Utile pour alimenter les tourelles à charbon lorsque les filons de charbon sont rares.
block.stoneformer.name = raffinerie de pierre
block.stoneformer.fulldescription = Un bloc d'artisanat standard. Il purifie la lave en pierre. Utile pour produire des quantités massives de pierre.
block.lavasmelter.name = fonderie d'acier
block.lavasmelter.fulldescription = Un bloc d'artisanat de base. Utilise la lave pour convertir le fer en acier. Une alternative aux fonderies. Utile dans les situations où le charbon est rare.
block.stonedrill.name = extracteur de pierre
block.stonedrill.fulldescription = L'extracteur essentiel. Lorsqu'il est placé sur de la pierre, il l'extrait à un rythme rapide.
block.irondrill.name = extracteur de fer
block.irondrill.fulldescription = Un extracteur de base. Lorsqu'ils il est placé sur un minerai de charbon, il l'extrait à un rythme régulier.
block.coaldrill.name = extracteur de charbon
block.coaldrill.fulldescription = Un extracteur de base. Lorsqu'il est placé sur un minerai de charbon, il l'extrait à un rythme régulier.
block.uraniumdrill.name = extracteur d'uranium
block.uraniumdrill.fulldescription = Un extracteur avancé .Lorsqu'il est placé sur un minerai d'uranium, il l'extrait lentement.
block.titaniumdrill.name = extracteur de titane
block.titaniumdrill.fulldescription = Un extracteur avancé. Lorsqu'il est placé sur un minerai de titane, il l'extrait lentement.
block.omnidrill.name = omni-extracteur
block.omnidrill.fulldescription = L'extracteur ultime .Minera n'importe quel minerai sur lequel il est placé à un rythme rapide.
block.coalgenerator.name = générateur à charbon
block.coalgenerator.fulldescription = Le générateur essentiel. Génère de l'énergie à partir du charbon. eparpille l'énergie de ses 4 cotés.
block.thermalgenerator.name = générateur thermique
block.thermalgenerator.fulldescription = Génère de l'énergie à partir de la lave. éparpille l'énergie de ses 4 cotés.
block.combustiongenerator.name = générateur à combustion
block.combustiongenerator.fulldescription = Génère de l'énergie à partir du pétrole. éparpille l'énergie de ses 4 cotés.
block.rtgenerator.name = Générateur RTG
block.rtgenerator.fulldescription = Génère de petites quantités d'énergie à partir d'uranium. éparpille l'énergie de ses 4 cotés
block.nuclearreactor.name = réacteur nucléaire
block.nuclearreactor.fulldescription = Une version avancée du générateur RTG ,et le générateur d'énergie ultime. Génère de l'énergie à partir de l'uranium. Nécessite un refroidissement à eau constant. Hautement inflammable; explosera violemment si des quantités insuffisantes de liquide de refroidissement sont fournies.
block.turret.name = tourelle
block.turret.fulldescription = Une tourelle basique et bon marché. Utilise la pierre pour munition. A légèrement plus de portée que la double-tourelle.
block.doubleturret.name = tourelle double
block.doubleturret.fulldescription = Une version légèrement plus puissante de la tourelle. Utilise la pierre comme munition. Fait beaucoup plus de dégâts, mais a une portée inférieure.
block.machineturret.name = tourelle gattling
block.machineturret.fulldescription = Une tourelle complète standard. Utilise le fer pour munition. A une vitesse de tir rapide avec des dégâts décents.
block.shotgunturret.name = tourelle fusil à pompe.
block.shotgunturret.fulldescription = Une tourelle standard. Utilise le fer pour munition. Tire une portée de 7 balles. Portée basse, mais plus de dégâts que la tourelle gattling.
block.flameturret.name = tourelle incendiaire
block.flameturret.fulldescription = Tourelle avancée à courte portée. Utilise du charbon pour munition. A une portée très faible, mais des dégâts très élevés. Bon pour les places étroites. Recommandé pour tirer à travers les murs.
block.sniperturret.name = Tourelle laser
block.sniperturret.fulldescription = Tourelle avancée à longue portée. Utilise l'acier pour munition. Dommages très élevés, mais faible vitesse de tir. Chère, mais peut être placé loin des lignes ennemies en raison de sa portée.
block.mortarturret.name = Tourelle Antiaérienne
block.mortarturret.fulldescription = Tourelle avancée à fragmentation de faible précision. Utilise du charbon pour munition. Tire un barrage de balles qui explose en éclats. Utile pour les grandes foules d'ennemis.
block.laserturret.name = Tourelle Laser
block.laserturret.fulldescription = Tourelle à cible unique avancée. Utilise de l'énergie. Bonne tourelle polyvalente de moyenne portée. Une seule cible seulement. Ne manque jamais.
block.waveturret.name = Tourelle Tesla
block.waveturret.fulldescription = Tourelle multi-cible avancée. Utilise de l'énergie. Portée moyenne. Ne manque jamais sa cible. Peu de dégâts, mais peut frapper plusieurs ennemis simultanément avec sa répétition d'éclair.
block.plasmaturret.name = Tourelle à plasma
block.plasmaturret.fulldescription = Version très avancée de la tourelle incendiaire. Utilise le charbon comme munition. Dommages très élevés, de faible à moyenne portée.
block.chainturret.name = Tourelle à répétition.
block.chainturret.fulldescription = La tourelle ultime à tir rapide. Utilise l'uranium comme munition. Tire de grosses salves à une vitesse de feu élevée. Portée moyenne. Traverse plusieurs carreaux. Extrêmement résistante.
block.titancannon.name = Cannon Titan
block.titancannon.fulldescription = La tourelle à longue portée ultime. Utilise l'uranium comme munition. Tire de gros obus à dégâts de zone à une cadence de tir moyenne. Longue portée. occupe plusieurs blocks. Extrêmement dur.
block.playerspawn.name = point d'apparition joueur
block.enemyspawn.name = Point d'apparition ennemie

View File

@@ -1,470 +0,0 @@
text.about=Créé par [ROYAL]Anuken.[]\nÀ l'origine une entrée dans le [orange]GDL[] MM Jam.\n\n Crédits:\n- Effets sonores réalisés avec [YELLOW]bfxr[]\n- Musique faite par [GREEN]RoccoW[] / trouvé sur [lime]FreeMusicArchive.org[]\n\n Un grand merci à:\n- [coral]MitchellFJN[]: test de jeu étendu et rétroaction\n- [sky]Luxray5474[]: wiki travail, contribution de code\n- Tous les bêta-testeurs sur itch.io et Google Play\n
text.discord=Rejoignez le discord de Mindustry!
text.gameover=Le Noyau a été détruit.
text.highscore=[YELLOW]Nouveau record
text.lasted=Vous avez survécu jusqu'à la vague
text.level.highscore=Meilleur Score : [accent] {0}
text.level.delete.title=Confirmation de la suppression
text.level.delete=Êtes-vous sûr de vouloir supprimer \nla carte "[orange]{0}" ?
text.level.select=Sélection de niveau
text.level.mode=Mode de jeu :
text.savegame=Sauvegarder la partie
text.loadgame=Chargement du jeu
text.quit=Quitter
text.tutorial.back=< Précédent
text.tutorial.next=Suivant >
text.save.new=Nouvelle Sauvegarde
text.save.overwrite=Êtes-vous sûr de vouloir remplacer \ncet emplacement de sauvegarde ?
text.overwrite=Écraser
text.save.none=Aucune sauvegarde trouvée !
text.saveload=[accent]Sauvegarde...
text.savefail=Échec de la sauvegarde du jeu !
text.save.delete.confirm=Êtes-vous sur de vouloir supprimer cette sauvegarde ?
text.save.delete=Supprimer
text.save.export=Exporter une sauvegarde
text.save.import.invalid=[orange]Cette sauvegarde est invalide !
text.save.import.fail=[crimson]Erreur pour exporter cette sauvegarde : [orange]{0}
text.save.export.fail=[crimson]Erreur pour exporter cette sauvegarde : [orange]{0}
text.save.import=Importer une sauvegarde
text.save.newslot=Nom de la sauvegarde :
text.save.rename=Renommer
text.save.rename.text=nouveau nom :
text.selectslot=Sélectionnez une sauvegarde.
text.selectslot=Sélectionnez un emplacement de sauvegarde.
text.slot=[accent]Emplacement {0}
text.save.corrupted=[orange]Ficher de sauvegarde invalide ou corrompu !
text.empty=<vide>
text.on=On
text.off=Off
text.save.autosave=Sauvegarde auto : {0}
text.save.map=Carte : {0}
text.save.wave=Vague {0}
text.save.date=Enregistré le {0}
text.confirm=Confirmer
text.delete=Effacer
text.ok=Ok
text.open=Ouvrir
text.cancel=Annuler
text.openlink=Ouvrir le lien
text.back=Retour
text.quit.confirm=Êtes-vous sûr de vouloir quitter ?
text.loading=[accent]Chargement...
text.wave=[orange]Vague {0}
text.wave.waiting=Vague dans {0}
text.waiting=Attendre...
text.countdown=Vague dans ... {0}
text.enemies={0} Ennemis restants
text.enemies.single={0} Ennemi restant
text.loadimage=Chargement de l'image
text.saveimage=Enregistrer l'image
text.editor.badsize=[orange]Dimensions de l'image incorrectes![]\n Dimensions de carte valides: {0}
text.editor.errorimageload=Erreur lors du chargement du fichier image:\n[orange]{0}
text.editor.errorimagesave=Erreur lors de l'enregistrement du fichier image:\n[orange]{0}
text.editor.generate=Générer
text.editor.resize=Redimensionner
text.editor.loadmap=Chargement de la carte
text.editor.savemap=Enregistrer la carte
text.editor.loadimage=Chargement de l'image
text.editor.saveimage=Enregistrer l'image
text.editor.unsaved=[scarlet]Vous avez des changements non enregistrés![]\n Êtes-vous sûr de vouloir quitter?
text.editor.brushsize=Taille du pinceau: {0}
text.editor.noplayerspawn=Cette carte n'a pas de point d'apparition de joueur!
text.editor.manyplayerspawns=Les cartes ne peuvent pas avoir plus \nd'un point d'apparition!
text.editor.manyenemyspawns=Ne peut pas avoir plus de \n{0} points de réapparition ennemis!
text.editor.resizemap=Redimensionner la carte
text.editor.resizebig=[scarlet]Attention! \n[]Les cartes de plus de 256 unités peuvent être décalées et instables!
text.editor.mapname=Nom de la carte:
text.editor.overwrite=[accent]Attention! \nCela écrase une carte existante
text.editor.failoverwrite=[crimson]Impossible d'écraser la carte par défaut!
text.editor.selectmap=Sélectionnez une carte à charger:
text.width=Largeur:
text.height=Hauteur:
text.randomize=Aléatoire
text.apply=Appliquer
text.update=Mettre à jour
text.menu=Menu
text.play=Jouer
text.load=Charger
text.save=Sauvegarder
text.settings=paramètres
text.tutorial=Tutoriel
text.editor=Editeur
text.mapeditor=Éditeur de carte
text.donate=Faire un don
text.settings.reset=Remettre les paramètres par défaut
text.settings.controls=Controles
text.settings.game=Jeu
text.settings.sound=Son
text.settings.graphics=Graphismes
text.upgrades=Mises à niveau
text.purchased=[LIME]Acheté!
text.weapons=Armes
text.paused=Pause
text.respawn=Réapparition dans
text.error.title=[crimson]Une erreur est survenue
text.error.crashmessage=[SCARLET]Une erreur inattendue s'est produite qui aurait causé un crash. []Veuillez indiquer les circonstances exactes dans lesquelles cette erreur s'est produite pour le développeur: \n[ORANGE]anukendev@gmail.com[]
text.error.crashtitle=Une erreur est survenue
text.blocks.extrainfo=[accent]Informations supplémentaires sur les blocs:
text.blocks.blockinfo=Bloquer les infos
text.blocks.powercapacity=Capacité Electrique
text.blocks.powershot=Puissance/Tir
text.blocks.powersecond=Puissance/Seconde
text.blocks.powerdraindamage=Drain de puissance/Dégats
text.blocks.shieldradius=Rayon de bouclier
text.blocks.itemspeedsecond=Vitesse/objet
text.blocks.range=Portée
text.blocks.size=Taille
text.blocks.powerliquid=Puissance/Liquide
text.blocks.maxliquidsecond=Max liquide/Seconde
text.blocks.liquidcapacity=Capacité Liquide
text.blocks.liquidsecond=Liquide/Seconde
text.blocks.damageshot=Dégats/Tirs
text.blocks.ammocapacity=Capacité de munitions
text.blocks.ammo=Munitions
text.blocks.ammoitem=Munitions/objet
text.blocks.maxitemssecond=Max d'objet/Seconde
text.blocks.powerrange=Portée de la Puissance
text.blocks.lasertilerange=Portée du carreau Laser
text.blocks.capacity=Capacité
text.blocks.itemcapacity=Capacité de l'objet
text.blocks.powergenerationsecond=Génération d'énergie/seconde
text.blocks.generationsecondsitem=Génération secondes/item
text.blocks.input=Carburant
text.blocks.inputliquid=Liquide d'entrée
text.blocks.inputitem=Élément d'entrée
text.blocks.output=Sortie
text.blocks.secondsitem=Secondes/Article
text.blocks.maxpowertransfersecond=Transfert de puissance maximum/seconde
text.blocks.explosive=Hautement explosif!
text.blocks.repairssecond=Réparations/seconde
text.blocks.health=Santé
text.blocks.inaccuracy=Présicion
text.blocks.shots=Tirs
text.blocks.shotssecond=Tirs/seconde
text.placemode=Mode Placement
text.breakmode=Mode Démolition
text.health=Santé
setting.saveinterval.name=Intervalle de la sauvegarde automatique
setting.seconds={0} Secondes
setting.difficulty.easy=Facile
setting.difficulty.normal=Normal
setting.difficulty.hard=Difficile
setting.difficulty.name=Difficulté
setting.screenshake.name=Vibration de l'écran
setting.smoothcam.name=Mouvements de la caméra lissés
setting.indicators.name=Indicateurs d'ennemis
setting.effects.name=Afficher les effets
setting.sensitivity.name=Sensibilité de la manette
setting.fps.name=Afficher FPS
setting.vsync.name=VSync
setting.lasers.name=Afficher les lasers d'énergie
setting.healthbars.name=Afficher les barres de santés d'une entitée
setting.pixelate.name=Écran Pixélisé
setting.musicvol.name=Volume de la musique
setting.mutemusic.name=Musique muette
setting.sfxvol.name=Volume des effets sonores
setting.mutesound.name=Son muet
map.maze.name=Labyrinthe
map.fortress.name=Forteresse
map.sinkhole.name=Gouffre
map.caves.name=Cavernes
map.volcano.name=Volcan
map.caldera.name=Caldera
map.scorch.name=Terres Brûlée
map.desert.name=Désert
map.island.name=île
map.grassland.name=Prairie
map.tundra.name=Toundra
map.spiral.name=Spirale
map.tutorial.name=Tutoriel
tutorial.intro.text=[yellow]Bienvenue dans le tutoriel.[] Pour commencer, appuyez sur "Suivant"
tutorial.moveDesktop.text=Pour vous déplacer, utilisez les touches [orange][[WASD (pour qwerty) ou ZQSD (pour azerty)][] . Maintenir [orange]MAJ[] active le Booster. Maintenir [orange]CTRL[] en utilisant la [orange]molette[] pour faire un zoom avant ou arrière.
tutorial.shootInternal.text=Utilisez votre souris pour viser, maintenez [orange]le clic gauche de la souris[] pour tirer. Essayez de vous entraîner sur la [yellow]cible[].
tutorial.moveAndroid.text=Pour déplacer la vue, faites glisser un doigt sur l'écran. Pincez et faites glisser pour effectuer un zoom avant ou arrière.
tutorial.placeSelect.text=Essayez de sélectionner un [yellow]tapis roulant[] du menu à bloc en bas à droite.
tutorial.placeConveyorDesktop.text=Utilisez la [orange]molette[] pour faire tourner le tapis roulant afin de l'orienter vers l'[orange]avant[], puis placez-le dans l'[yellow]emplacement marqué[] en utilisant le [orange]clic gauche de la souris[].
tutorial.placeConveyorAndroid.text=Utilisez le [orange]bouton de rotation[] pour faire tourner le tapis roulant afin de l'orienter vers l'[orange]avant[], faites-le glisser puis puis placez-le dans l'[yellow]emplacement marqué[].
tutorial.placeConveyorAndroidInfo.text=Vous pouvez également appuyer sur l'icône oeil en bas à gauche pour passer en [orange]mode tactile[]et placez des blocs en tapant sur l'écran. En mode tactile, les blocs peuvent être pivotés avec la flèche en bas à gauche. Pressez [yellow]prochain[] pour l'essayer
tutorial.placeDrill.text=Maintenant, sélectionnez et placez un [yellow]extracteur de pierre[] à l'endroit marqué
tutorial.blockInfo.text=Si vous voulez en savoir plus sur un bloc, vous pouvez appuyer sur le [orange]point d'intérrogation[] en haut à droite pour lire sa description.
tutorial.deselectDesktop.text=Vous pouvez désélectionner un bloc en appuyant sur le [orange]clic droit de la souris[].
tutorial.deselectAndroid.text=Vous pouvez désélectionner un bloc en appuyant sur le bouton [orange]X[].
tutorial.drillPlaced.text=L'extracteur va maintenant produire [yellow]de la pierre,[] la sortir sur le tapis roulant, et le déplacer dans le [Yellow]noyau[].
tutorial.drillInfo.text=Les différents minerais ont besoin d'extracteurs différents. La pierre nécessite des extracteurs de pierre, le fer nécessite des extracteurs de fer, etc.
tutorial.drillPlaced2.text=Le déplacement de minerais dans le noyau les placent dans votre [yellow]inventaire[], en haut à gauche. Le placement de blocs utilise des minerais de votre inventaire.
tutorial.moreDrills.text=Vous pouvez relier plusieurs extracteurs et tapis roulants ensemble, comme ça.
tutorial.deleteBlock.text=vous pouvez supprimer des blocs en utilisant le [orange]clic droit de la souris[] sur le bloc que vous voulez supprimer. Essayez de supprimer ce tapis roulant.
tutorial.deleteBlockAndroid.text=Vous pouvez supprimer des blocs en sélectionnant l'oeil[] dans le [orange]menu en mode pause[] en bas à gauche et en tapant un bloc. Essayez de supprimer ce tapis roulant.
tutorial.placeTurret.text=Maintenant, sélectionnez et placez une [yellow]tourelle[] [yellow]à l'endroit marqué[].
tutorial.placedTurretAmmo.text=La tourelle va maintenant accepter les [yellow]munitions[] venant du tapis roulant. vous pouvez voir combien de munitions il reste en la touchant et en regardant la [green]barre verte[].
tutorial.turretExplanation.text=Les tourelles tirent automatiquement sur l'ennemi le plus proche et à portée de tir si elles ont des munitions.
tutorial.waves.text=Toutes les [yellow]60[] secondes, une vague d'[coral]ennemis[] apparaîtra dans des endroits spécifiques et tentera de détruire le noyau.
tutorial.coreDestruction.text=Votre objectif est de [yellow]défendre le noyau[]. Si le noyau est détruit, vous [coral]perdez la partie[].
tutorial.pausingDesktop.text=Si vous avez besoin de mettre en pause, appuyer sur le [orange]boutton pause[] en haut à gauche ou sur [orange]la touche espace[]. Vous pourrez toujours sélectionner et placer des blocs mais vous ne pourrez bouger ou tirer.
tutorial.pausingAndroid.text=Si vous avez besoin de mettre en pause, appuyer sur le [orange]boutton pause[] en haut à gauche. Vous pourez toujours sélectionner et placer des blocs.
tutorial.purchaseWeapons.text=Vous pouvez acheter de nouvelles [yellow]armes[] pour votre mecha en ouvrant le menu des améliorations en bas à gauche.
tutorial.switchWeapons.text=Changez d'armes en cliquant sur leur icône en bas à gauche, ou en utilisant les chiffres [orange][[1-9][].
tutorial.spawnWave.text=Une vague est en train d'arriver. Détruisez-la.
tutorial.pumpDesc.text=Pour les vagues suivantes, Vous pourriez avoir besoin de la [yellow]pompe[] pour alimenter les générateurs avec certains liquides.
tutorial.pumpPlace.text=Les pompes fonctionnent comme les extracteurs à l'exception qu'elles produisent un liquide et non un minerai. Essayez de placer une pompe sur [yellow]la flaque d'huile désignée[].
tutorial.conduitUse.text=Maintenant, placez un [orange]conduit[] pour récupérer la production de la pompe.
tutorial.conduitUse2.text=Et un autre...
tutorial.conduitUse3.text=Et encore un autre...
tutorial.generator.text=Maintenant, placez un [orange]générateur à combustion[] à la fin des conduits.
tutorial.generatorExplain.text=Ce générateur va maintenant créer de l'[yellow]énergie[] à partir de l'huile.
tutorial.lasers.text=L'énergie peut-être redistribuée en utilisant les [yellow]lasers énergétiques[]. Placez-en un.
tutorial.laserExplain.text=Le générateur va maintenant distribuer de l'énergie à travers le laser. Un faisceau [yellow]opaque[] signifie une transmission d'énergie, et un faisceau [yellow]transparent[] signifie qu'il n'en transmet pas.
tutorial.laserMore.text=Vous pouvez vérifier le niveau énergétique d'un bloc en le sélectionnant et en regardant la [yellow]barre jaune[] au-dessus du bloc.
tutorial.healingTurret.text=Ce laser peut-être utilisé pour alimenter une [lime]tourelle réparatrice[]. Placez-en une ici.
tutorial.healingTurretExplain.text=Tant qu'elle sera alimentée, cette tourelle va [lime]réparer les blocs voisins.[] Lorsque vous jouez, assurez-vous d'en avoir le plus rapidement possible !
tutorial.smeltery.text=Beaucoup de blocs ont besoin d'[orange]acier[]. Pour en fabriquer, il faut une [orange]fonderie[]. Placez-en une ici.
tutorial.smelterySetup.text=La fonderie produit maintenant de l'[orange]acier[] avec le charbon et le fer.
tutorial.end.text=Vous avez fini le tutoriel! Bien joué!
keybind.move_x.name=déplacement_x
keybind.move_y.name=déplacement_y
keybind.select.name=sélectionner
keybind.break.name=casser
keybind.shootInternal.name=tirer
keybind.zoom_hold.name=maintenir_pour_zoomer
keybind.zoom.name=zoomer
keybind.menu.name=menu
keybind.pause.name=pause
keybind.dash.name=accélération
keybind.rotate_alt.name=tourner_alt
keybind.rotate.name=tourner
keybind.weapon_1.name=arme_1
keybind.weapon_2.name=arme_2
keybind.weapon_3.name=arme_3
keybind.weapon_4.name=arme_4
keybind.weapon_5.name=arme_5
keybind.weapon_6.name=arme_6
mode.waves.name=vagues
mode.sandbox.name=bac à sable
mode.freebuild.name=construction
weapon.blaster.name=Blaster
weapon.blaster.description=Tire une balle lente et faible.
weapon.triblaster.name=Triple blaster
weapon.triblaster.description=Tire 3 balles dans une propagation.
weapon.multigun.name=Mitrailleuse
weapon.multigun.description=Tire des balles imprécises mais avec une haute cadance de feu.
weapon.flamer.name=Lance-flamme
weapon.flamer.description=Tire une colonne de feu.
weapon.railgun.name=Fusil a énergie
weapon.railgun.description=Tire une balle à longue portée.
weapon.mortar.name=Mortier
weapon.mortar.description=Tire sur un obus lent mais explosif.
item.stone.name=pierre
item.iron.name=fer
item.coal.name=charbon
item.steel.name=acier
item.titanium.name=titane
item.dirium.name=dirium
item.thorium.name=thorium
liquid.water.name=eau
liquid.plasma.name=plasma
liquid.lava.name=lave
liquid.oil.name=pétrole
block.air.name=air
block.blockpart.name=blockpart
block.deepwater.name=eau profonde
block.water.name=eau
block.lava.name=lave
block.oil.name=pétrole
block.stone.name=pierre
block.blackstone.name=pierre noir
block.iron.name=fer
block.coal.name=charbon
block.titanium.name=titane
block.thorium.name=thorium
block.dirt.name=terre
block.sand.name=sable
block.ice.name=glace
block.snow.name=neige
block.grass.name=herbe
block.sandblock.name=bloc de sable
block.snowblock.name=bloc de neige
block.stoneblock.name=block de pierre
block.blackstoneblock.name=bloc de pierre noire
block.grassblock.name=block d'herbe
block.mossblock.name=bloc de mousse
block.shrub.name=arbuste
block.rock.name=rocher
block.icerock.name=rocher glacé
block.blackrock.name=rocher noir
block.dirtblock.name=bloc de pousière
block.stonewall.name=mur de pierre
block.stonewall.fulldescription=Un bloc défensif bon marché. Utile pour protéger le noyau et les tourelles dans les premières vagues.
block.ironwall.name=mur de fer
block.ironwall.fulldescription=Un bloc défensif de base. Fournit une protection contre les ennemis.
block.steelwall.name=mur d'acier
block.steelwall.fulldescription=Un bloc défensif standard. une protection adéquate contre les ennemis.
block.titaniumwall.name=mur de titane
block.titaniumwall.fulldescription=Un bloc défensif soldie. Fournit une protection contre les ennemis.
block.duriumwall.name=mur de dirium
block.duriumwall.fulldescription=Un bloc défensif très solide. Fournit une protection contre les ennemis.
block.compositewall.name=mur composite
block.steelwall-large.name=grand mur d'acier
block.steelwall-large.fulldescription=Un bloc défensif standard. Couvre plusieurs cases.
block.titaniumwall-large.name=grand mur de titane
block.titaniumwall-large.fulldescription=Un bloc défensif solide. Couvre plusieurs cases.
block.duriumwall-large.name=grand mur de dirium
block.duriumwall-large.fulldescription=Un bloc défensif très solide. Couvre plusieurs cases.
block.titaniumshieldwall.name=mur blindé
block.titaniumshieldwall.fulldescription=Un bloc défensif résistant, avec un bouclier intégré supplémentaire. Nécessite de l'énergie. Utilise l'énergie pour absorber les balles ennemies. Il est recommandé d'utiliser des boosters de puissance pour fournir de l'énergie à ce bloc.
block.repairturret.name=tourelle de réparation
block.repairturret.fulldescription=Répare les blocs endommagés à portée à un rythme lent. Utilise de petites quantités d'énergie.
block.repairturret.description=[powerinfo]Utilise de l'énergie[white]\nRépare les bloc à proximité.
block.megarepairturret.name=tourelle de réparation II
block.megarepairturret.fulldescription=Répare les blocs endommagés à porté à un rythme moyen. Utilise de l'énergie.
block.megarepairturret.description=[powerinfo]Utilise de l'énergie[white]\nRépare les bloc à proximité.
block.shieldgenerator.name=générateur de bouclier
block.shieldgenerator.fulldescription=Un bloc défensif avancé. Protège tous les blocs dans un rayon des attaques. Utilise l'énergie à un rythme lent, mais draine l'énergie rapidement au contact des balles.
block.door.name=Porte
block.door.fulldescription=Un bloc qui peut être ouvert et fermé en le tapant.
block.door.description=Ouvre et ferme. \ N [interact] Appuyez pour ouvrir
block.door-large.name=Grande Porte
block.door-large.fulldescription=Un bloc qui peut être ouvert et fermé en le tapant.
block.door-large.description=Ouvre et ferme. \ N [interact] Appuyez pour ouvrir
block.conduit.name=conduit
block.conduit.fulldescription=Bloc de transport de liquide. Fonctionne comme un tapis roulant, mais avec des liquides. Peut-être connecté avec des pompes ou d'autres conduits. Peut-être utilisé comme un pont au-dessus des liquides pour les ennemis et les joueurs.
block.pulseconduit.name=conduit à pulsation
block.pulseconduit.fulldescription=Bloc de transport de liquide avancé. Transporte les liquides plus rapidement et stocke plus que les conduits standards.
block.liquidrouter.name=routeur de liquide
block.liquidrouter.fulldescription=Fonctionne de manière similaire à un routeur. Accepte l'entrée de liquide d'un côté et l'envoie vers les autres côtés. Utile pour séparer le liquide d'un seul conduit en plusieurs autres conduits.
block.liquidrouter.description=Divise le liquide d'entrée dans 3 directions.
block.conveyor.name=tapis roulant
block.conveyor.fulldescription=Bloc de transport élémentaire. Déplace les objets vers l'avant et les dépose automatiquement dans les tourelles ou les crafters. Rotatif. Peut être utilisé comme un pont sur les liquides pour les ennemis et les joueurs.
block.steelconveyor.name=tapis roulant en acier
block.steelconveyor.fulldescription=Bloc de transport d'élément avancé. Déplace les objets plus rapidement que les tapis roulants standard.
block.poweredconveyor.name=tapis roulant à pulsation
block.poweredconveyor.fulldescription=Le bloc de transport d'élément ultime. Déplace les objets plus rapidement que les tapis roulants en acier.
block.router.name=routeur
block.router.fulldescription=Accepte les éléments d'une direction et les redistribue dans les 3 autres directions. Peut également stocker une certaine quantité d'objets. Utile pour dédoubler les matériaux d'un extracteur dans plusieurs tourelles.
block.router.description=Diviser les matériaux d'entrée dans 3 directions.
block.junction.name=jonction
block.junction.fulldescription=Agit comme un pont pour deux tapis roulants croisé. Utile dans les situations avec deux tapis roulants différents transportant des matériaux différents se coupant.
block.junction.description=Sert de jonction de tapis roulant.
block.conveyortunnel.name=tunnel de transport
block.conveyortunnel.fulldescription=Transporte l'objet sous les blocs. Pour l'utiliser, placez les côte à côte, les entrées de chaque côté avec maximum deux blocs d'écart.
block.conveyortunnel.description=Transporte les objets sous les blocs.
block.liquidjunction.name=jonction pour liquide
block.liquidjunction.fulldescription=Agit comme un pont pour deux conduits de passage. Utile dans les situations avec deux conduits différents transportant différents liquides se coupant.
block.liquiditemjunction.name=jonction de liquides-objets
block.liquiditemjunction.fulldescription=Agit comme un pont quand un conduit coupe un tapis roulant.
block.liquiditemjunction.description=Sert de jonction pour les articles et les liquides.
block.powerbooster.name=Disperseur d'énergie
block.powerbooster.fulldescription=Distribue l'énergie à tous les blocs se trouvant dans son rayon.
block.powerbooster.description=Distribue la puissance dans un rayon.
block.powerlaser.name=laser d'énergie
block.powerlaser.fulldescription=Crée un laser qui transmet l'énergie au bloc en face de lui. Ne génère pas d'énergie lui-même. Idéal avec des générateurs ou d'autres lasers.
block.powerlaser.description=Transmet l'énergie.
block.powerlaserrouter.name=routeur laser
block.powerlaserrouter.fulldescription=Laser qui distribue la puissance dans trois directions à la fois. Utile dans les situations où il est nécessaire d'alimenter plusieurs blocs avec un seul générateur.
block.powerlaserrouter.description=Divise l'énergie d'entrée en 3 lasers.
block.powerlasercorner.name=laser d'angle
block.powerlasercorner.fulldescription=Laser qui distribue la puissance dans deux directions à la fois. Utile dans les situations où il est nécessaire d'alimenter plusieurs blocs avec un seul générateur, et, où, un routeur est imprécis.
block.powerlasercorner.description=Divise l'énergie d'entrée en 2 lasers.
block.teleporter.name=téléporteur
block.teleporter.fulldescription=Bloc de transport de minerai avancé. Les téléporteurs transmettent des objets à d'autres téléporteurs de la même couleur. Ne fait rien si aucun téléporteur de la même couleur n'existe. Si plusieurs téléporteurs de la même couleur existent, un téléporteur aléatoire est sélectionné. Cliquez sur les flèches pour changer de couleur.
block.teleporter.description=[interact]Tapez sur le bloc pour le configurer[]
block.sorter.name=trieur
block.sorter.fulldescription=Trie les objets par type de matériau. Le matériel à accepter est indiqué par la couleur dans le bloc. Tous les éléments qui correspondent au matériau de tri sont sortis vers l'avant, tout le reste est sorti à gauche et à droite.
block.sorter.description=[interact]Tapez sur le bloc pour le configurer[]
block.core.name=noyau
block.pump.name=pompe
block.pump.fulldescription=Pompe les liquides provenant d'un bloc source - généralement de l'eau, de la lave ou de l'huile. distribut le liquide dans les conduits voisins.
block.pump.description=Pompe les liquides dans les conduits voisins.
block.fluxpump.name=pompe à flux élevé
block.fluxpump.fulldescription=Une version avancée de la pompe. Stocke plus de liquide et pompe le liquide plus rapidement.
block.fluxpump.description=Pompe les liquides dans les conduits voisins.
block.smelter.name=fonderie
block.smelter.fulldescription=Le bloc d'artisanat essentiel. Lorsqu'est entré 1 fer et 1 charbon, un acier est produit.
block.smelter.description=Convertit le charbon + le fer en acier.
block.crucible.name=creuset
block.crucible.fulldescription=Un bloc d'artisanat avancé. Lors de l'entrée d'un titane et d'un acier, un dirium en sort.
block.crucible.description=Convertit l'acier + le titane en dirium.
block.coalpurifier.name=convertisseur de charbon
block.coalpurifier.fulldescription=Un bloc de conversion de base. Produit du charbon lorsqu'on lui fourni de grandes quantités d'eau et de pierre.
block.coalpurifier.description=Convertit la pierre + l'eau en charbon.
block.titaniumpurifier.name=convertisseur de titane
block.titaniumpurifier.fulldescription=Un bloc de conversion standard. Produit du titane lorsqu'est fourni de grandes quantités d'eau et de fer.
block.titaniumpurifier.description=Convertit le fer + l'eau en titane.
block.oilrefinery.name=raffinerie de pétrole
block.oilrefinery.fulldescription=Raffine de grandes quantités de pétrole en charbon. Utile pour alimenter les tourelles à charbon lorsque les filons de charbon sont rares.
block.oilrefinery.description=Convertit l'huile en charbon.
block.stoneformer.name=fabrique de pierre
block.stoneformer.fulldescription=Il transforme la lave en pierre. Utile pour produire des quantités massives de pierre pour les convertisseurs de charbon.
block.stoneformer.description=Convertit la lave en pierre.
block.lavasmelter.name=fonderie de lave
block.lavasmelter.fulldescription=Utilise la lave pour convertir le fer en acier. Une alternative aux fonderies. Utile dans les situations où le charbon est rare.
block.lavasmelter.description=Convertit le fer + la lave en acier.
block.stonedrill.name=extracteur de pierre
block.stonedrill.fulldescription=L'extracteur essentiel. Lorsqu'il est placé sur des cases de pierre, les pierres sont produitent à un rythme lent, indéfiniment.
block.stonedrill.description=Mine 1 pierre toutes les 4 secondes.
block.irondrill.name=extracteur de fer
block.irondrill.fulldescription=Un extracteur de base. Lorsqu'il est placé sur des cases de minerai de fer, produit du fer à un rythme lent, indéfiniment.
block.irondrill.description=Mine 1 fer toutes les 5 secondes.
block.coaldrill.name=extracteur de charbon
block.coaldrill.fulldescription=Un extracteur de base. Lorsqu'il est placé sur des cases de minerai de charbon, produit du charbon à un rythme lent, indéfiniment.
block.coaldrill.description=Mine 1 charbon toutes les 5 secondes.
block.thoriumdrill.name=extracteur d'thorium
block.thoriumdrill.fulldescription=Un extracteur avancé. Lorsqu'il est placés sur des cases d'thorium, il produit de l'thorium à un rythme lent, indéfiniment.
block.thoriumdrill.description=Mine 1 thorium toutes les 7 secondes.
block.titaniumdrill.name=extracteur de titane
block.titaniumdrill.fulldescription=Un extracteur avancé. Lorsqu'il est placé sur des cases de minerai de titane, il produit du titane à un rythme lent, indéfiniment.
block.titaniumdrill.description=Mine 1 titane toutes les 5 secondes.
block.omnidrill.name=omni-extracteur
block.omnidrill.fulldescription=L'extracteur ultime. Exploitera n'importe quel minerai sur lequel il est placé à un rythme rapide.
block.omnidrill.description=Mine 1 de toute ressource toutes les 3 secondes.
block.coalgenerator.name=générateur à charbon
block.coalgenerator.fulldescription=Le générateur essentiel. Génère de l'énergie à partir du charbon. Des lasers d'énergies sortent des 4 côtés.
block.coalgenerator.description=Génère de la puissance depuis du charbon.
block.thermalgenerator.name=Générateur thermique
block.thermalgenerator.fulldescription=Génère de la puissance depuis la lave. Emet de la puissance depuis les 4 cotés.
block.thermalgenerator.description=Génère de la puissance depuis la lave.
block.combustiongenerator.name=Générateur a combustion
block.combustiongenerator.fulldescription=Génère de la puissance depuis du petrole. Emet de la puissance depuis les 4 cotés.
block.combustiongenerator.description=Génère de la puissance avec du pétrole.
block.rtgenerator.name=Générateur RTG
block.rtgenerator.fulldescription=Génère de petites partie de puissance avec de l'thorium. Emet de la puissance depuis les 4 cotés.
block.rtgenerator.description=Génère de la puissance depuis l'thorium
block.nuclearreactor.name=Réacteur nucléaire
block.nuclearreactor.fulldescription=Une version avancée du générateur RTG, et le générateur ultime de puissance. Génère de la puissance depuis l'thorium. Requiert un refoidissement par eau. Très instable; Explose violemment s'il n'est pas bien refroidit.
block.turret.name=tourelle
block.turret.fulldescription=Une tourrelle basique. Utilise de la pierre comme munition. A légèrement plus de distance que la tourelle double.
block.turret.description=[turretinfo]Munition: pierre
block.doubleturret.name=tourelle double
block.doubleturret.fulldescription=Une version légèrement plus puissante que la tourelle. Utilise de la pierre comme munition. Inflige plus de dégâts mais a une distance plus faible. Tire deux balles.
block.doubleturret.description=[turretinfo]Munition: pierre
block.machineturret.name=tourelle gatling
block.machineturret.fulldescription=Une tourelle rotative. Utilise du fer comme munition. A une cadence de tir avec des dégâts croissants.
block.machineturret.description=[turretinfo]Munition: fer
block.shotgunturret.name=tourelle à dispersion
block.shotgunturret.fulldescription=une tourelle basique. Utilise du fer comme munition. Tire 7 balles dispersées. Distance faible, mais inflige plus de dégâts que la tourelle gatling.
block.shotgunturret.description=[turretinfo]Munition: fer
block.flameturret.name=Tourelle lance-flamme
block.flameturret.fulldescription=Tourelle avancée à faible distance. Utilise le charbon comme munition. A une distance très faible, mais inflige beaucoup de dégâts. Fort au combat rapproché. Utilisation recommandé derrière les murs.
block.flameturret.description=[turretinfo]Munition: charbon
block.sniperturret.name=tourelle à énergie
block.sniperturret.fulldescription=Tourelle avancée à longue portée. Utilise l'acier pour les munitions. Dommages très élevés, mais faible cadence de tir. Cher à utiliser, mais peut-être placé loin des lignes ennemies en raison de sa portée.
block.sniperturret.description=[turretinfo]munition : acier
block.mortarturret.name=tourelle antiaérienne
block.mortarturret.fulldescription=Tourelle avancée pour les dégâts de zone. Utilise du charbon pour les munitions. Vitesse de tir et balles très lente mais de gros dégâts de cible et de zone. Utile pour les grandes foules d'ennemis.
block.mortarturret.description=[turretinfo]munition : charbon
block.laserturret.name=tourelle laser
block.laserturret.fulldescription=Tourelle avancée à cible unique. Utilise de l'énergie. Tourelle polyvalente de moyenne portée. Une seule cible seulement. Ne manque jamais.
block.laserturret.description=[turretinfo]Utilise de l'énergie.
block.waveturret.name=tourelle Tesla
block.waveturret.fulldescription=Tourelle multi-cible avancée utilisant de l'énergie. A une portée moyenne. Ne rate jamais sa cible. Elle provoque peu de dégâts mais peut frapper plusieurs ennemis simultanément avec une chaîne d'éclairs.
block.waveturret.description=[turretinfo]Utilise de l'énergie.
block.plasmaturret.name=tourelle à plasma
block.plasmaturret.fulldescription=Version très avancée de la tourelle lance-flamme. Utilise du charbon comme munition. Dommages très élevés, de faible à moyenne portée.
block.plasmaturret.description=[turretinfo]munition : charbon
block.chainturret.name=tourelle à mitrailleuse
block.chainturret.fulldescription=La tourelle ultime à tir rapide. Utilise de l'thorium comme munition. Tire de grosses salves à une fréquence élevée. Portée moyenne. Traverse plusieurs carreaux. Extrêmement puissant.
block.chainturret.description=[turretinfo]munition : Uranium
block.titancannon.name=Canon titan
block.titancannon.fulldescription=La tourelle à longue portée ultime. Utilise de l'thorium comme munition. Tire de gros obus provoquant des dégâts de zone à une cadence de tir moyenne. Traverse plusieurs carreaux. Extrêmement puissant.
block.titancannon.description=[turretinfo]munition : thorium
block.playerspawn.name=point d'apparition du joueur
block.enemyspawn.name=point d'apparition des ennemis

View File

@@ -1,7 +1,7 @@
text.about = Creato da [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\nOriginariamente era una voce nel [orange]GDL[] Metal Monstrosity Jam.\n\n Crediti:\n - SFX realizzato con [YELLOW]bfxr [] \n - Musica creata da [GREEN]RoccoW[] / trovata su [lime]FreeMusicArchive.org[]\n\n Un ringraziamento speciale a:\n - [coral]MitchellFJN []: esteso test del gioco e feedback\n - [cielo]Luxray5474 []: lavorazione della wiki, contributi col codice\n - [lime]Epowerj []: sistema di costruzione del codice, icone\n - Tutti i beta tester su itch.io e Google Play\n text.about = Creato da [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\nOriginariamente era una voce nel [orange]GDL[] Metal Monstrosity Jam.\n\n Crediti:\n - SFX realizzato con [YELLOW]bfxr [] \n - Musica creata da [GREEN]RoccoW[] / trovata su [lime]FreeMusicArchive.org[]\n\n Un ringraziamento speciale a:\n - [coral]MitchellFJN []: esteso test del gioco e feedback\n - [sky]Luxray5474 []: lavorazione della wiki, contributi col codice\n - [lime]Epowerj []: sistema di costruzione del codice, icone\n - Tutti i beta tester su itch.io e Google Play\n
text.credits = Crediti text.credits = Crediti
text.discord = Unisciti sul server discord di mindustry! text.discord = Unisciti sul server discord di mindustry!
text.changes = [SCARLET]Attenzione!\n[]Alcune importanti meccaniche di gioco sono state modificate.\n\n - [accent]I teletrasporti[] ora usano la corrente.\n - [accent]Le fonderie[] e [accent]i crogioli[] ora hanno una capacità massima di oggetti. \n- [accent]I crogioli[] ora richiedono il carbone come combustibile. text.changes = [SCARLET]Attenzione!\n[]Alcune importanti meccaniche di gioco sono state modificate.\n\n - [accent]I teletrasporti[] ora usano la corrente.\n - [accent]Le fornaci[] e [accent]i crogioli[] ora hanno una capacità massima di oggetti. \n- [accent]I crogioli[] ora richiedono il carbone come combustibile.
text.link.discord.description = la chatroom ufficiale del server discord di Mindustry text.link.discord.description = la chatroom ufficiale del server discord di Mindustry
text.link.github.description = Codice sorgente del gioco text.link.github.description = Codice sorgente del gioco
text.link.dev-builds.description = Build di sviluppo versioni instabili text.link.dev-builds.description = Build di sviluppo versioni instabili
@@ -15,14 +15,14 @@ text.multiplayer.web = Questa versione del gioco non supporta il multiplayer! Pe
text.gameover = Il nucleo è stato distrutto. text.gameover = Il nucleo è stato distrutto.
text.highscore = [YELLOW]Nuovo record! text.highscore = [YELLOW]Nuovo record!
text.lasted = Sei durato fino all'onda text.lasted = Sei durato fino all'onda
text.level.highscore = Miglior Punteggio: [accent]{0} text.level.highscore = Migliore: [accent]{0}
text.level.delete.title = Conferma Eliminazione text.level.delete.title = Conferma Eliminazione
text.level.delete = Sei sicuro di voler eliminare la mappa \"[arancione]{0}\"? text.level.delete = Sei sicuro di voler eliminare la mappa \"[arancione]{0}\"?
text.level.select = Selezione del livello text.level.select = Selezione del livello
text.level.mode = Modalità di gioco: text.level.mode = Modalità di gioco:
text.savegame = Salva text.savegame = Salva
text.loadgame = Carica Salvataggio text.loadgame = Carica
text.joingame = Unisciti alla Partita text.joingame = Gioca MP
text.newgame = Nuovo gioco text.newgame = Nuovo gioco
text.quit = Esci text.quit = Esci
text.about.button = Informazioni text.about.button = Informazioni
@@ -35,29 +35,29 @@ text.server.mismatch = Errore nel pacchetto: possibile discrepanza nella version
text.server.closing = [accent]Chiusura server ... text.server.closing = [accent]Chiusura server ...
text.server.kicked.kick = Sei stato cacciato dal server! text.server.kicked.kick = Sei stato cacciato dal server!
text.server.kicked.invalidPassword = 10468 = Password non valida. text.server.kicked.invalidPassword = 10468 = Password non valida.
text.server.kicked.clientOutdated = Cliente obsoleto! Aggiorna il tuo gioco! text.server.kicked.clientOutdated = Versione del client obsoleta! Aggiorna il tuo gioco!
text.server.kicked.serverOutdated = Server obsoleto! Chiedi all'host di aggiornare! text.server.kicked.serverOutdated = Server obsoleto! Chiedi all'host di aggiornare!
text.server.kicked.banned = Sei stato bannato su questo server. text.server.kicked.banned = Sei stato bannato su questo server.
text.server.kicked.recentKick = Sei stato cacciato di recente. Attendi prima di connetterti di nuovo. text.server.kicked.recentKick = Sei stato cacciato di recente. Attendi prima di connetterti di nuovo.
text.server.connected = partecipa text.server.connected = {0} si è connesso
text.server.disconnected = {0} si disconnette. text.server.disconnected = {0} si è disconnesso
text.nohost = Impossibile ospitare il server su una mappa personalizzata! text.nohost = Impossibile hostare il server con una mappa personalizzata!
text.host.info = Il pulsante [accent]hos [] ospita un server sulle porte [scarlet]6567[] e [scarlet]656.[] Chiunque sulla stessa [LIGHT_GRAY]wifi o rete locale[] dovrebbe essere in grado di vedere il proprio server nel proprio elenco server.\n\n Se vuoi che le persone siano in grado di connettersi ovunque tramite IP, è richiesto il [accent]port forwarding[]. \n\n[LIGHT_GRAY]Nota: se qualcuno sta riscontrando problemi durante la connessione al gioco LAN, assicurati di aver consentito a Mindustry di accedere alla rete locale nelle impostazioni del firewall. text.host.info = Il pulsante [accent]hos [] ospita un server sulle porte [scarlet]6567[] e [scarlet]656.[] Chiunque sulla stessa [LIGHT_GRAY]connessione wifi o rete locale[] dovrebbe essere in grado di vedere il proprio server nel proprio elenco server.\n\n Se vuoi che le persone siano in grado di connettersi ovunque tramite IP, è richiesto il [accent]port forwarding[]. \n\n[LIGHT_GRAY]Nota: se qualcuno sta riscontrando problemi durante la connessione al gioco LAN, assicurati di aver consentito a Mindustry di accedere alla rete locale nelle impostazioni del firewall.
text.join.info = Qui è possibile inserire un [accent]IP del server[] per connettersi a, o scoprire [accento]server sulla rete locale[] a cui connettersi.\n Sono supportati sia il multiplayer LAN che WAN. \n\n[LIGHT_GRAY]Nota: non esiste un elenco di server globali automatici; se si desidera connettersi a qualcuno tramite IP, è necessario chiedere all'host il proprio IP. text.join.info = Qui è possibile inserire un [accent]IP del server[] a cui connettersi, o scoprire [accento]un server sulla rete locale[] disponibile.\n Sono supportati sia il multiplayer LAN che WAN. \n\n[LIGHT_GRAY]Nota: non esiste un elenco di server globali automatici; se si desidera connettersi a qualcuno tramite IP, è necessario chiedere all'host il proprio IP.
text.hostserver = Server host text.hostserver = Server host
text.host = Ospite text.host = Host
text.hosting = [accento] Apertura del server ... text.hosting = [accento] Apertura del server ...
text.hosts.refresh = Aggiorna text.hosts.refresh = Aggiorna
text.hosts.discovering = Alla scoperta di giochi LAN text.hosts.discovering = Scoperta partite LAN
text.server.refreshing = Aggiornamento server text.server.refreshing = Aggiornamento server
text.hosts.none = [lightgray]Nessun gioco LAN trovato! text.hosts.none = [lightgray]Nessuna partita LAN trovata!
text.host.invalid = [scarlet]Impossibile connettersi all'host. text.host.invalid = [scarlet]Impossibile connettersi all'host.
text.server.friendlyfire = Fuoco amico text.server.friendlyfire = Fuoco amico
text.trace = Trace Player text.trace = Trace Player
text.trace.playername = Nome del giocatore: [accent]{0} text.trace.playername = Nome del giocatore: [accent]{0}
text.trace.ip = IP: [accent]{0} text.trace.ip = IP: [accent]{0}
text.trace.id = ID univoco: [accent]{0} text.trace.id = ID univoco: [accent]{0}
text.trace.android = Client Android: [accent {0} text.trace.android = Client Android: [accent] {0}
text.trace.modclient = Cliente personalizzato: [accent]{0} text.trace.modclient = Cliente personalizzato: [accent]{0}
text.trace.totalblocksbroken = Totale blocchi interrotti: [accent]{0} text.trace.totalblocksbroken = Totale blocchi interrotti: [accent]{0}
text.trace.structureblocksbroken = Blocchi strutturali distrutti: [accent]{0} text.trace.structureblocksbroken = Blocchi strutturali distrutti: [accent]{0}
@@ -85,18 +85,18 @@ text.joingame.byip = Unisciti a IP ...
text.joingame.title = Unisciti alla Partita text.joingame.title = Unisciti alla Partita
text.joingame.ip = IP: text.joingame.ip = IP:
text.disconnect = Disconnesso. text.disconnect = Disconnesso.
text.disconnect.data = Impossibile caricare i dati del mondo! text.disconnect.data = Errore nel caricamento i dati del mondo!
text.connecting = [Accent]Connessione in corso ... text.connecting = [accent]Connessione in corso ...
text.connecting.data = [accent]Caricamento dei dati del mondo ... text.connecting.data = [accent]Caricamento dei dati del mondo ...
text.connectfail = [crimson Impossibile connettersi al server: [orange] {0} text.connectfail = [crimson] Impossibile connettersi al server: [orange] {0}
text.server.port = Porta: text.server.port = Porta:
text.server.addressinuse = Indirizzo già in uso! text.server.addressinuse = Indirizzo già in uso!
text.server.invalidport = Numero di porta non valido! text.server.invalidport = Numero di porta non valido!
text.server.error = [crimson]Errore nell'hosting del server: [orange] {0} text.server.error = [crimson]Errore nell'hosting del server: [orange] {0}
text.tutorial.back = <Prec text.tutorial.back = < Prec
text.tutorial.next = Succ > text.tutorial.next = Succ >
text.save.new = Nuovo Salvataggio text.save.new = Nuovo Salvataggio
text.save.overwrite = Sei sicuro di voler sovrascrivere questo spazio di salvataggio? text.save.overwrite = Sei sicuro di voler sovrascrivere questo salvataggio?
text.overwrite = Sostituisci text.overwrite = Sostituisci
text.save.none = Nessun salvataggio trovato! text.save.none = Nessun salvataggio trovato!
text.saveload = [Accent]Salvataggio ... text.saveload = [Accent]Salvataggio ...
@@ -114,7 +114,7 @@ text.save.rename.text = Nuovo nome:
text.selectslot = Seleziona un salvataggio. text.selectslot = Seleziona un salvataggio.
text.slot = [accent]Slot {0} text.slot = [accent]Slot {0}
text.save.corrupted = [orang]File di salvataggio danneggiato o non valido! text.save.corrupted = [orang]File di salvataggio danneggiato o non valido!
text.empty = <Empty> text.empty = <Niente . . . >
text.on = Acceso text.on = Acceso
text.off = Spento text.off = Spento
text.save.autosave = Salvataggio automatico: {0} text.save.autosave = Salvataggio automatico: {0}
@@ -132,12 +132,12 @@ text.copylink = Copia link
text.back = Indietro text.back = Indietro
text.quit.confirm = Sei sicuro di voler uscire? text.quit.confirm = Sei sicuro di voler uscire?
text.changelog.title = Registro modifiche text.changelog.title = Registro modifiche
text.changelog.loading = Ottenere il log delle modifiche ... text.changelog.loading = Ottenere il registro delle modifiche ...
text.changelog.error.android = [orange]Nota che il log delle modifiche non funziona su Android 4.4 e versioni precedenti! Ciò è dovuto a un bug interno di Android. text.changelog.error.android = [orange]Nota che il log delle modifiche non funziona su Android 4.4 e versioni precedenti! Ciò è dovuto a un bug interno di Android.
text.changelog.error = [scarlet]Errore durante il recupero del changelog! Controlla la tua connessione Internet. text.changelog.error = [scarlet]Errore durante il recupero del changelog! Controlla la tua connessione Internet.
text.changelog.current = [yellow][[Versione corrente] text.changelog.current = [yellow][[Current version]
text.changelog.latest = [orange][[Ultima versione] text.changelog.latest = [orange][[Latest version]
text.loading = [Accent]Caricamento in corso ... text.loading = [accent]Caricamento in corso ...
text.wave = [orange]Onda {0} text.wave = [orange]Onda {0}
text.wave.waiting = Onda in {0} text.wave.waiting = Onda in {0}
text.waiting = In attesa... text.waiting = In attesa...
@@ -150,32 +150,32 @@ text.editor.badsize = [orange]Dimensioni dell'immagine non valide![]\n Dimension
text.editor.errorimageload = Errore durante il caricamento del file immagine:\n [orange]{0} text.editor.errorimageload = Errore durante il caricamento del file immagine:\n [orange]{0}
text.editor.errorimagesave = Errore durante il salvataggio del file immagine:\n [orange]{0} text.editor.errorimagesave = Errore durante il salvataggio del file immagine:\n [orange]{0}
text.editor.generate = Genera text.editor.generate = Genera
text.editor.resize = Ridimensiona text.editor.resize = Zomma o \nRiduci
text.editor.loadmap = Carica mappa text.editor.loadmap = Carica\nmappa
text.editor.savemap = Salva la mappa text.editor.savemap = Salva\nla mappa
text.editor.loadimage = Carica immagine text.editor.loadimage = Carica\nimmagine
text.editor.saveimage = Salva Immagine text.editor.saveimage = Salva\nImmagine
text.editor.unsaved = [scarlet]Hai modifiche non salvate![]\nSei sicuro di voler uscire? text.editor.unsaved = [scarlet]Hai modifiche non salvate![]\nSei sicuro di voler uscire?
text.editor.brushsize = Dimensione del pennello: {0} text.editor.brushsize = Dimensione del pennello: {0}
text.editor.noplayerspawn = Questa mappa non ha lo spawnpoint del giocatore! text.editor.noplayerspawn = Questa mappa non ha lo spawnpoint del giocatore!
text.editor.manyplayerspawns = Le mappe non possono avere più di un punto di spawn di un giocatore! text.editor.manyplayerspawns = Le mappe non possono avere più di un punto di spawn di un giocatore!
text.editor.manyenemyspawns = Non puoi avere più di {0} spawn nemici! text.editor.manyenemyspawns = Non puoi avere più di {0} spawn nemici!
text.editor.resizemap = Ridimensiona la mappa text.editor.resizemap = Ridimensiona la mappa
text.editor.resizebig = [Scarlatto]Attenzione!\n[]Le mappe più grandi di 256 unità potrebbero causare del lag oltre ad essere instabili. text.editor.resizebig = [Scarlet]Attenzione!\n[]Le mappe più grandi di 256 unità potrebbero causare del lag oltre ad essere instabili.
text.editor.mapname = Nome Mappa: text.editor.mapname = Nome Mappa:
text.editor.overwrite = [Accent]Attenzione!\nQuesto sovrascrive una mappa esistente. text.editor.overwrite = [Accent]Attenzione!\nQuesto sovrascrive una mappa esistente.
text.editor.failoverwrite = [crimson]Impossibile sovrascrivere la mappa di default! text.editor.failoverwrite = [crimson]Impossibile sovrascrivere la mappa di default!
text.editor.selectmap = Seleziona una mappa da caricare: text.editor.selectmap = Seleziona una mappa da caricare:
text.width = Larghezza: text.width = Larghezza:
text.height = Altezza: text.height = Altezza:
text.randomize = Rendi casuale text.randomize = Randomizza
text.apply = Applicare text.apply = Applicare
text.update = Aggiorna text.update = Aggiorna
text.menu = Menu text.menu = Menu
text.play = Gioca text.play = Gioca
text.load = Carica text.load = Carica
text.save = Salva text.save = Salva
text.language.restart = Riavvia il gioco affinché le impostazioni della lingua abbiano effetto. text.language.restart = Riavvia il gioco affinché il cambiamento della lingua abbia effetto.
text.settings.language = Lingua text.settings.language = Lingua
text.settings = Impostazioni text.settings = Impostazioni
text.tutorial = Lezioni text.tutorial = Lezioni
@@ -201,10 +201,10 @@ text.mode.place = Modalità luogo: {0}
placemode.hold.name = linea placemode.hold.name = linea
placemode.areadelete.name = area placemode.areadelete.name = area
placemode.touchdelete.name = toccare placemode.touchdelete.name = toccare
placemode.holddelete.name = trattieni la rotellina placemode.holddelete.name = trattieni
placemode.none.name = nessuno placemode.none.name = nessuno
placemode.touch.name = toccare placemode.touch.name = toccare
placemode.cursor.name = CURSORE placemode.cursor.name = cursore
text.blocks.extrainfo = [accent]informazioni extra sui blocchi: text.blocks.extrainfo = [accent]informazioni extra sui blocchi:
text.blocks.blockinfo = Informazioni sul blocco text.blocks.blockinfo = Informazioni sul blocco
text.blocks.powercapacity = Capacità energetica text.blocks.powercapacity = Capacità energetica
@@ -225,11 +225,11 @@ text.blocks.ammo = Munizioni
text.blocks.ammoitem = Munizioni/Oggetto text.blocks.ammoitem = Munizioni/Oggetto
text.blocks.maxitemssecond = Oggetti massimi/secondo text.blocks.maxitemssecond = Oggetti massimi/secondo
text.blocks.powerrange = Raggio Energia text.blocks.powerrange = Raggio Energia
text.blocks.lasertilerange = Gamma di piastrelle laser text.blocks.lasertilerange = Raggio piastrelle laser
text.blocks.capacity = Capacità text.blocks.capacity = Capacità
text.blocks.itemcapacity = Capacità degli oggetti text.blocks.itemcapacity = Capacità oggetto
text.blocks.maxpowergenerationsecond = Massima Energia Generata/secondo text.blocks.maxpowergenerationsecond = Massima Energia Generata/secondo
text.blocks.powergenerationsecond = Generazione di energia/secondo text.blocks.powergenerationsecond = Energia generata/secondo
text.blocks.generationsecondsitem = Generazione secondi/oggetto text.blocks.generationsecondsitem = Generazione secondi/oggetto
text.blocks.input = Ingresso text.blocks.input = Ingresso
text.blocks.inputliquid = Ingresso del liquido text.blocks.inputliquid = Ingresso del liquido
@@ -289,17 +289,17 @@ map.grassland.name = Prateria
map.tundra.name = Tundra map.tundra.name = Tundra
map.spiral.name = spirale map.spiral.name = spirale
map.tutorial.name = Tutorial map.tutorial.name = Tutorial
tutorial.intro.text = [yellow]Benvenuti nel tutorial.[] Per iniziare, premere 'next'. tutorial.intro.text = [yellow]Benvenuti nel tutorial.[] Per iniziare, premere 'succ'.
tutorial.moveDesktop.text = Per spostarsi, utilizza i tasti [orange][[WASD][]. Tenere premuto [orange]shift[]per correre. Tenere premuto [orange]CTRL[] mentre si utilizza la [orange]rotella di scorrimento[] per ingrandire o ridurre lo zoom. tutorial.moveDesktop.text = Per spostarsi, utilizza i tasti [orange][[WASD][] . Tenere premuto [orange]shift []per correre. Tenere premuto [orange]CTRL[] mentre si utilizza la [orange]rotella del mouse[] per ingrandire o ridurre lo zoom.
tutorial.shoot.text = Usa il mouse per mirare, tieni premuto [orange]tasto sinistro del mouse[] per sparare. Prova a praticare sull' [yellow]obiettivo[]. tutorial.shoot.text = Usa il mouse per mirare, tieni premuto [orange]tasto sinistro del mouse[] per sparare. Fai uun po' di pratica con quest' [yellow]obiettivo[].
tutorial.moveAndroid.text = Per spostare la vista, trascina un dito sullo schermo. Pizzica e trascina per ingrandire o ridurre. tutorial.moveAndroid.text = Per spostare la vista, trascina un dito sullo schermo. Pizzica e trascina per ingrandire o ridurre.
tutorial.placeSelect.text = Prova a selezionare un [yellow]nastro[] dal menu dei blocchi in basso a destra. tutorial.placeSelect.text = Prova a selezionare un [yellow]nastro trasportatore[] dal menu dei blocchi in basso a destra.
tutorial.placeConveyorDesktop.text = Utilizza la [orange][[rotellina di scorrimento][] per ruotare il trasportatore in modo che sia rivolto verso [orange]in avanti[], quindi posizionarlo nella [yellow]posizione contrassegnata[] utilizzando il [orange][[tasto sinistro del mouse][]. tutorial.placeConveyorDesktop.text = Utilizza la [orange]rotellina di scorrimento[] per ruotare il nastro trasportatore in modo che sia rivolto verso [orange]in avanti[], quindi posizionarlo nella [yellow]posizione contrassegnata[] utilizzando il [orange]tasto sinistro del mouse[].
tutorial.placeConveyorAndroid.text = Utilizzare il pulsante [orange][[tasto di rotazione][] per ruotare il trasportatore in modo che sia rivolto [orange]in avanti[], trascinalo in posizione con un dito, quindi posizionalo nella [yellow]posizione contrassegnata[] utilizzando [orange][[segno di spunta][] tutorial.placeConveyorAndroid.text = Utilizzare il pulsante [orange]tasto di rotazione[] per ruotare il trasportatore in modo che sia rivolto [orange]in avanti[], trascinalo in posizione con un dito, quindi posizionalo nella [yellow]posizione contrassegnata[] utilizzando [orange]segno di spunta[]
tutorial.placeConveyorAndroidInfo.text = In alternativa, puoi premere l'icona mirino in basso a sinistra per passare alla [orange] [[touch mode][] e posiziona i blocchi toccando sullo schermo. In modalità touch, i blocchi possono essere ruotati con la freccia in basso a sinistra. Premi [yellow]avanti[] per provarlo. tutorial.placeConveyorAndroidInfo.text = In alternativa, puoi premere l'icona mirino in basso a sinistra per passare alla [orange] touch mode[] e posiziona i blocchi toccando sullo schermo. In modalità touch, i blocchi possono essere ruotati con la freccia in basso a sinistra. Premi [yellow]avanti[] per provarlo.
tutorial.placeDrill.text = Ora, seleziona e posiziona un [yellow]trapano per pietra[] nella posizione contrassegnata. tutorial.placeDrill.text = Ora, seleziona e posiziona un [yellow]trapano per pietra[] nella posizione contrassegnata.
tutorial.blockInfo.text = Se vuoi saperne di più su un blocco, puoi toccare il [orange]punto interrogativo[] in alto a destra per leggere la sua descrizione. tutorial.blockInfo.text = Se vuoi saperne di più su un blocco, puoi toccare il [orange]punto interrogativo[] in alto a destra per leggere la sua descrizione.
tutorial.deselectDesktop.text = Puoi deselezionare un blocco usando [orange][[tasto destro del mouse][]. tutorial.deselectDesktop.text = Puoi deselezionare un blocco usando [orange]tasto destro del mouse[].
tutorial.deselectAndroid.text = È possibile deselezionare un blocco premendo il tasto [orange]X[]. tutorial.deselectAndroid.text = È possibile deselezionare un blocco premendo il tasto [orange]X[].
tutorial.drillPlaced.text = Il trapano ora produrrà [yellow]pietra,[] la manderà sul nastro trasportatore, quindi la sposterà nel [yellow]nucleo[]. tutorial.drillPlaced.text = Il trapano ora produrrà [yellow]pietra,[] la manderà sul nastro trasportatore, quindi la sposterà nel [yellow]nucleo[].
tutorial.drillInfo.text = I minerali differenti hanno bisogno di trapani diversi. La pietra richiede il trapano di pietra, il ferro richiede il trapano di ferro, ecc. tutorial.drillInfo.text = I minerali differenti hanno bisogno di trapani diversi. La pietra richiede il trapano di pietra, il ferro richiede il trapano di ferro, ecc.
@@ -318,12 +318,12 @@ tutorial.purchaseWeapons.text = Puoi acquistare nuove [yellow]armi[] per il tuo
tutorial.switchWeapons.text = Cambia le armi facendo clic sulla sua icona in basso a sinistra o usando i numeri [orange][[1-9][]. tutorial.switchWeapons.text = Cambia le armi facendo clic sulla sua icona in basso a sinistra o usando i numeri [orange][[1-9][].
tutorial.spawnWave.text = Ecco un'ondata ora. Distruggili. tutorial.spawnWave.text = Ecco un'ondata ora. Distruggili.
tutorial.pumpDesc.text = Nelle onde successive, potrebbe essere necessario utilizzare le [yellow]pompe[] per distribuire i liquidi per i generatori o gli estrattori. tutorial.pumpDesc.text = Nelle onde successive, potrebbe essere necessario utilizzare le [yellow]pompe[] per distribuire i liquidi per i generatori o gli estrattori.
tutorial.pumpPlace.text = Le pompe funzionano in modo simile ai trapani, tranne per il fatto che producono liquidi anziché oggetti. Prova a posizionare una pompa sull' [yellow]olio designato[]. tutorial.pumpPlace.text = Le pompe funzionano in modo simile ai trapani, tranne per il fatto che producono liquidi anziché oggetti. Prova a posizionare una pompa sull' [yellow]petrolio evidenziato[].
tutorial.conduitUse.text = Ora posiziona una [orange]conduttura[] tutorial.conduitUse.text = Ora posiziona una [orange]conduttura[]
tutorial.conduitUse2.text = E alcuni altri ... tutorial.conduitUse2.text = E alcuni altri ...
tutorial.conduitUse3.text = E alcuni altri ... tutorial.conduitUse3.text = E alcuni altri ...
tutorial.generator.text = Ora, posizionare un [orange]generatore a combustione[] all'estremità del condotto. tutorial.generator.text = Ora, posizionare un [orange]generatore a combustione[] all'estremità del condotto.
tutorial.generatorExplain.text = Questo generatore ora creerà [yellow]corrente[] dall'olio. tutorial.generatorExplain.text = Questo generatore ora creerà [yellow]corrente[] dall'petrolio.
tutorial.lasers.text = La potenza è distribuita usando i [yellow]laser energetici[]. Ruota e posizionane uno qui. tutorial.lasers.text = La potenza è distribuita usando i [yellow]laser energetici[]. Ruota e posizionane uno qui.
tutorial.laserExplain.text = Il generatore ora trasferirà l'energia nel blocco laser. Un raggio [yellow]opaco[] indica che sta trasmettendo corrente e un raggio [yellow]trasparente[] significa che non la sta strasmettendo. tutorial.laserExplain.text = Il generatore ora trasferirà l'energia nel blocco laser. Un raggio [yellow]opaco[] indica che sta trasmettendo corrente e un raggio [yellow]trasparente[] significa che non la sta strasmettendo.
tutorial.laserMore.text = Puoi controllare quanta energia ha un blocco passandoci sopra e controllando la barra [yellow]gialla[] in alto. tutorial.laserMore.text = Puoi controllare quanta energia ha un blocco passandoci sopra e controllando la barra [yellow]gialla[] in alto.
@@ -388,7 +388,7 @@ item.sand.name = sabbia
liquid.water.name = acqua liquid.water.name = acqua
liquid.plasma.name = Plasma liquid.plasma.name = Plasma
liquid.lava.name = lava liquid.lava.name = lava
liquid.oil.name = olio liquid.oil.name = petrolio
block.weaponfactory.name = fabbrica d'armi block.weaponfactory.name = fabbrica d'armi
block.weaponfactory.fulldescription = Utilizzata per creare armi per il giocatore mech. Clicca per usare. Prende automaticamente le risorse dal core. block.weaponfactory.fulldescription = Utilizzata per creare armi per il giocatore mech. Clicca per usare. Prende automaticamente le risorse dal core.
block.air.name = aria block.air.name = aria
@@ -396,7 +396,7 @@ block.blockpart.name = blockpart
block.deepwater.name = acque profonde block.deepwater.name = acque profonde
block.water.name = acqua block.water.name = acqua
block.lava.name = lava block.lava.name = lava
block.oil.name = olio block.oil.name = petrolio
block.stone.name = pietra block.stone.name = pietra
block.blackstone.name = pietra nera block.blackstone.name = pietra nera
block.iron.name = ferro block.iron.name = ferro
@@ -472,7 +472,7 @@ block.liquiditemjunction.name = giunzione di oggetti liquidi
block.liquiditemjunction.fulldescription = Funziona come un ponte per attraversare condutture e trasportatori. block.liquiditemjunction.fulldescription = Funziona come un ponte per attraversare condutture e trasportatori.
block.powerbooster.name = power booster block.powerbooster.name = power booster
block.powerbooster.fulldescription = Distribuisce l'energia a tutti i blocchi entro il suo raggio. block.powerbooster.fulldescription = Distribuisce l'energia a tutti i blocchi entro il suo raggio.
block.powerlaser.name = laser di energia block.powerlaser.name = laser energetico
block.powerlaser.fulldescription = Crea un laser che trasmette energia al blocco di fronte ad esso. Non genera alcuna energia. Ideale per generatori o altri laser. block.powerlaser.fulldescription = Crea un laser che trasmette energia al blocco di fronte ad esso. Non genera alcuna energia. Ideale per generatori o altri laser.
block.powerlaserrouter.name = router laser block.powerlaserrouter.name = router laser
block.powerlaserrouter.fulldescription = Laser che distribuisce la potenza in tre direzioni contemporaneamente. Utile in situazioni in cui è necessario alimentare più blocchi da un generatore. block.powerlaserrouter.fulldescription = Laser che distribuisce la potenza in tre direzioni contemporaneamente. Utile in situazioni in cui è necessario alimentare più blocchi da un generatore.
@@ -484,7 +484,7 @@ block.sorter.name = sorter
block.sorter.fulldescription = Ordina l'oggetto per tipo di materiale. Il materiale da accettare è indicato dal colore nel blocco. Tutti gli articoli che corrispondono al materiale di ordinamento vengono emessi in avanti, tutto il resto viene emesso a sinistra e a destra. block.sorter.fulldescription = Ordina l'oggetto per tipo di materiale. Il materiale da accettare è indicato dal colore nel blocco. Tutti gli articoli che corrispondono al materiale di ordinamento vengono emessi in avanti, tutto il resto viene emesso a sinistra e a destra.
block.core.name = Centro block.core.name = Centro
block.pump.name = pompa block.pump.name = pompa
block.pump.fulldescription = Pompa di liquidi da un blocco sorgente - di solito acqua, lava o olio. Emette liquido nei condotti nelle vicinanze. block.pump.fulldescription = Pompa di liquidi da un blocco sorgente - di solito acqua, lava o petrolio. Emette liquido nei condotti nelle vicinanze.
block.fluxpump.name = pompaflux block.fluxpump.name = pompaflux
block.fluxpump.fulldescription = Una versione avanzata della pompa. Memorizza più liquido e pompa il liquido più velocemente. block.fluxpump.fulldescription = Una versione avanzata della pompa. Memorizza più liquido e pompa il liquido più velocemente.
block.smelter.name = fonderia block.smelter.name = fonderia
@@ -495,7 +495,7 @@ block.coalpurifier.name = estrattore di carbone
block.coalpurifier.fulldescription = Un blocco estrattore di base. Emette carbone quando viene fornito con grandi quantità di acqua e pietra. block.coalpurifier.fulldescription = Un blocco estrattore di base. Emette carbone quando viene fornito con grandi quantità di acqua e pietra.
block.titaniumpurifier.name = estrattore di titanio block.titaniumpurifier.name = estrattore di titanio
block.titaniumpurifier.fulldescription = Un blocco estrattore standard. Produce il titanio quando viene fornito con grandi quantità di acqua e ferro. block.titaniumpurifier.fulldescription = Un blocco estrattore standard. Produce il titanio quando viene fornito con grandi quantità di acqua e ferro.
block.oilrefinery.name = raffineria d'olio block.oilrefinery.name = raffineria d'petrolio
block.oilrefinery.fulldescription = Affina grandi quantità di petrolio in oggetti di carbone. Utile per alimentare torrette a base di carbone quando le vene del carbone scarseggiano. block.oilrefinery.fulldescription = Affina grandi quantità di petrolio in oggetti di carbone. Utile per alimentare torrette a base di carbone quando le vene del carbone scarseggiano.
block.stoneformer.name = forma pietre block.stoneformer.name = forma pietre
block.stoneformer.fulldescription = Solidifica la lava producendo pietra. Utile per produrre enormi quantità di pietra per depuratori di carbone. block.stoneformer.fulldescription = Solidifica la lava producendo pietra. Utile per produrre enormi quantità di pietra per depuratori di carbone.
@@ -516,9 +516,9 @@ block.omnidrill.fulldescription = L'ultimo trapano. Trapanerà qualsiasi mineral
block.coalgenerator.name = generatore di carbone block.coalgenerator.name = generatore di carbone
block.coalgenerator.fulldescription = Il generatore essenziale. Genera potenza dal carbone. Emette potenza come laser sui suoi 4 lati. block.coalgenerator.fulldescription = Il generatore essenziale. Genera potenza dal carbone. Emette potenza come laser sui suoi 4 lati.
block.thermalgenerator.name = generatore termico block.thermalgenerator.name = generatore termico
block.thermalgenerator.fulldescription = Genera potenza dalla lava. Emette potenza come laser sui suoi 4 lati. block.thermalgenerator.fulldescription = Genera energia dalla lava. Emette energia come laser sui suoi 4 lati.
block.combustiongenerator.name = generatore a combustione block.combustiongenerator.name = generatore a combustione
block.combustiongenerator.fulldescription = Genera energia dall'olio. Emette energia come laser sui suoi 4 lati. block.combustiongenerator.fulldescription = Genera energia dall'petrolio. Emette energia come laser sui suoi 4 lati.
block.rtgenerator.name = Generatore RTG block.rtgenerator.name = Generatore RTG
block.rtgenerator.fulldescription = Genera piccole quantità di energia dal decadimento radioattivo dell'uranio. Emette potenza come laser sui suoi 4 lati. block.rtgenerator.fulldescription = Genera piccole quantità di energia dal decadimento radioattivo dell'uranio. Emette potenza come laser sui suoi 4 lati.
block.nuclearreactor.name = reattore nucleare block.nuclearreactor.name = reattore nucleare

View File

@@ -1,55 +1,102 @@
text.about = 제작자 [ROYAL]Anuken.[]\nOriginally an entry in the [orange]GDL[] MM Jam.\n\n크래딧:\n- SFX 제작자 [YELLOW]bfxr[]\n- BGM 제작자 [GREEN]RoccoW[] / 찾아낸곳 [lime]FreeMusicArchive.org[]\n\n제작에 도움을 준 사람들:\n- [coral]MitchellFJN[]: 광범위한 플레이 테스트 피드백\n- [sky]Luxray5474[]: wiki 작업, 소스 기여\n- itch.io 그리고 구글플레이의 모든 배타테스터\n text.about = 만든이 : [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n이 게임은 [orange]GDL[] Metal Monstrosity Jam 을 사용했습니다.\n\n크레딧\n- [YELLOW]bfxr[] 가 SFX 를 만듬\n- [GREEN]a drop a day[] 가 음악을 만듬\n\n특별히 감사한 분들\n- [coral]MitchellFJN[]: 테스트하고 피드백을 주신 분\n- [sky]Luxray5474[]: wiki 를 만들고 코드에 기여하신 분\n- [lime]Epowerj[]: 코드를 만들고 아이콘을 제작하신 분\n- itch.io 그리고 Google Play 에서의 모든 베타 테스터 분들\n
text.credits = 크레딧
text.discord = Mindustry 디스코드에 참여하세요! text.discord = Mindustry 디스코드에 참여하세요!
text.changes = [SCARLET]주의!\n[]몇몇 중요한 게임 메커니즘이 변경되었습니다.\n\n- [accent]텔레포터[]는 이제 전력을 사용합니다.\n- [accent]제련소[]와 [accent]도가니[] 는 이제 최대 자원저장 공간을 가집니다.\n- [accent]도가니[] 는 이제 석탄 연료를 필요로 합니다.
text.link.discord.description = 공식 Mindustry 디스코드 채팅방
text.link.github.description = 게임 소스코드
text.link.dev-builds.description = 개발중인 빌드 (불안정)
text.link.trello.description = 공식 trello 보드에서 현재 계획중인 기능을 찾을 수 있습니다.
text.link.itch.io.description = itch.io 사이트에서 PC 버전 다운로드 또는 웹 버전을 플레이 할 수 있습니다.
text.link.google-play.description = Google Play 스토어 목록
text.link.wiki.description = 공식 Mindustry 위키
text.linkfail = 링크를 열지 못했습니다!\nURL이 클립보드에 복사되었습니다.
text.editor.web = 웹버전은 맵 편집기를 지원하지 않습니다!\n게임을 다운로드 한 후에 사용하세요.
text.multiplayer.web = 이 버전의 게임은 멀티플레이를 지원하지 않습니다!\n멀티플레이를 브라우저에서 하고 싶다면 이 itch.io 페이지에서 \"Multiplayer web version\" 버튼을 눌러서 플레이 해 주세요.
text.gameover = 코어가 파괴되었습니다. text.gameover = 코어가 파괴되었습니다.
text.highscore = [YELLOW]하이스코어! text.highscore = [YELLOW]최고 점수 달성!
text.lasted = You lasted until wave text.lasted = 이번 맵에서 달성한 마지막 웨이브 :
text.level.highscore = 하이스코어: [accent]{0} text.level.highscore = 최고 점수: [accent]{0}
text.level.delete.title = 삭제 확인 text.level.delete.title = 삭제 확인
text.level.delete = \"[orange] {0}\" 지도를 삭제하실건가요? text.level.delete = 정말로 이 \"[orange]{0}\" 맵을 삭제하시겠습니까?
text.level.select = 레벨 선택 text.level.select = 선택
text.level.mode = 게임 모드: text.level.mode = 게임 모드:
text.savegame = 저장하기 text.savegame = 저장하기
text.loadgame = 불러오기 text.loadgame = 불러오기
text.joingame = 서버참가 text.joingame = 멀티플레이
text.newgame = 새 게임
text.quit = 나가기 text.quit = 나가기
text.about.button = 소개 text.about.button = 소개
text.name = 이름: text.name = 이름:
text.public = 공개 text.public = 공개
text.players = {0} 명 플레이어 온라인 text.players = {0} 온라인
text.players.single = {0} 명 플레이어 온라인 text.server.player.host = {0} 이 호스트함.
text.server.mismatch = 패킷 오류 : 클라이언트 / 서버 버전이 불일치합니다! 당신과 호스트가 최신 버전의 Mindustry 를 가지고 있는지 확인해주세요! text.players.single = {0}명 온라인.
.server.closing = [accent]서버 닫는중... text.server.mismatch = 패킷오류 : 현재 게임 버전과 서버 버전이 일치하지 않습니다.\n현재 게임 버전이 최신버전인지 확인 해 주세요!
text.server.kicked.kick = 당신은 서버에서 쫓겨났습니다! text.server.closing = [accent]서버 닫는중...
text.server.kicked.kick = 당신은 서버에서 강제 퇴장 되었습니다.
text.server.kicked.invalidPassword = 잘못된 비밀번호 입니다! text.server.kicked.invalidPassword = 잘못된 비밀번호 입니다!
text.server.connected = {0} 님이 채팅에 참여했습니다. text.server.kicked.clientOutdated = 현재 플레이중인 게임 버전이 낮습니다!\n게임을 업데이트 해 주세요.
text.server.disconnected = {0} 님에 연결이 끊어졌습니다. text.server.kicked.serverOutdated = 낮은 버전의 서버입니다! 서버장에게 업데이트를 요청하세요!
text.server.kicked.banned = 당신은 이 서버에서 차단되었습니다.
text.server.kicked.recentKick = 최근에 강제 퇴장되었습니다.\n잠시 후에 다시 입장 해 주세요.
text.server.connected = {0} 님이 서버에 입장했습니다.
text.server.disconnected = {0} 님이 서버에서 나갔습니다.
text.nohost = 커스텀 맵은 서버호스팅이 불가능합니다! text.nohost = 커스텀 맵은 서버호스팅이 불가능합니다!
text.host.info = [accent]호스트[] 버튼은 현재 네트워크의 [scarlet]6567[] 과 [scarlet]6568[] 포트를 사용합니다.\n[LIGHY_GRAY]같은 Wi-Fi 또는 로컬 네트워크[] 에서 서버 목록을 볼 수 있습니다.\n\n만약 플레이어들이 이 IP를 통해 어디에서나 연결할 수 있게 하고 싶다면, 공유기 설정에서 [accent]포트 포워딩[]을 해야 합니다.\n\n[LIGHT_GRAY]참고 : LAN 게임 연결에 문제가 있는 사람이 있다면, 방화벽 설정에서 Mindustry 가 로컬 네트워크에 액세스하도록 허용했는지 확인 해 주세요.
text.join.info = 여기서 [accent]서버 IP[]를 입력하여 다른 서버에 접속할 수 있습니다.\n또는 [accent]로컬 네트워크(LAN)[] 서버를 검색하여 접속할 수 있습니다.\nLAN 및 WAN 멀티 플레이어 모두 지원됩니다.\n\n[LIGHT_GRAY]참고 : 여기에서는 자동으로 글로벌 서버를 추가하지 않습니다. IP로 다른 사람의 서버에 접속할려면 서버장에게 IP를 요청해야 합니다.
text.hostserver = 서버 열기 text.hostserver = 서버 열기
text.host = 호스트 text.host = 호스트
text.hosting = [accent]서버여는중... text.hosting = [accent]서버여는중...
text.hosts.refresh = 새로고침 text.hosts.refresh = 새로고침
text.hosts.discovering = LAN 게임 찾기 text.hosts.discovering = LAN 게임 찾기
text.server.refreshing = 서버 새로고침 text.server.refreshing = 서버 새로고침
text.hosts.none = [lightgray] LAN 게임이 없습니다! text.hosts.none = [lightgray]LAN 게임이 없습니다!
text.host.invalid = [scarlet]호스트에 연결할 수 없습니다! text.host.invalid = [scarlet]호스트에 연결할 수 없습니다!
text.server.friendlyfire = 팀킬 허용
text.trace = 플레이어 추적
text.trace.playername = 플레이어 이름 : [accent] {0}
text.trace.ip = IP : [accent]{0}
text.trace.id = 고유 ID : [accent] {0}
text.trace.android = Android 클라이언트 : [accent] {0}
text.trace.modclient = 수정된 클라이언트 : [accent] {0}
text.trace.totalblocksbroken = 총 파괴한 블록 수 : [accent] {0}
text.trace.structureblocksbroken = 총 구조 블럭 파괴수 : [accent] {0}
text.trace.lastblockbroken = 마지막으로 파괴한 블록 : [accent] {0}
text.trace.totalblocksplaced = 총 설치한 블록 수 : [accent] {0}
text.trace.lastblockplaced = 마지막으로 설치한 블록 : [accent] {0}
text.invalidid = 잘못된 클라이언트 ID 입니다! 공식 Mindustry 으로 버그 보고서를 제출 해 주세요.
text.server.bans = 차단된 플레이어들
text.server.bans.none = 차단된 플레이어가 없습니다.
text.server.admins = 관리자
text.server.admins.none = 관리자가 없습니다.
text.server.add = 서버 추가 text.server.add = 서버 추가
text.server.delete = 이 서버를 삭제 하시겠습니까? text.server.delete = 이 서버를 삭제 하시겠습니까?
text.server.hostname = 호스트: {0} text.server.hostname = 호스트:
text.server.edit = 서버 수정 text.server.edit = 서버 수정
text.server.outdated = [crimson]서버 버전이 낮습니다![]
text.server.outdated.client = [Crimson]클라이언트 버전이 낮습니다![]
text.server.version = [lightgray] 버전 : {0}
text.server.custombuild = [노란색]수정된 빌드
text.confirmban = 이 플레이어를 차단하시겠습니까?
text.confirmunban = 이 플레이어를 차단 해제 하시겠습니까?
text.confirmadmin = 이 플레이어를 관리자로 설정 하시겠습니까?
text.confirmunadmin = 이 플레이어에서 관리자 상태를 삭제 하시겠습니까?
text.joingame.byip = IP로 참가하기... text.joingame.byip = IP로 참가하기...
text.joingame.title = 게임 참가 text.joingame.title = 게임 참가
text.joingame.ip = IP: text.joingame.ip = IP:
text.disconnect = 연결 끊김 text.disconnect = 서버와의 연결이 해제되었습니다.
text.disconnect.data = 맵 데이터를 불러오지 못했습니다!
text.connecting = [accent]연결중... text.connecting = [accent]연결중...
text.connecting.data = [accent]월드 데이터 로딩중... text.connecting.data = [accent] 데이터 로딩중...
text.connectfail = [crimson]서버에 연결하지 못했습니다: [orange]{0} text.connectfail = [crimson][orange]{0}[] 서버에 연결하지 못했습니다.[orange]
text.server.port = 포트: text.server.port = 포트:
text.server.addressinuse = 이 주소는 이미 사용중입니다!
text.server.invalidport = 포트 번호가 잘못되었습니다. text.server.invalidport = 포트 번호가 잘못되었습니다.
text.server.error = [crimson]호스팅 서버 오류: [orange] {0} text.server.error = [crimson][orange]{0}[] 서버를 호스팅 하는데 오류가 발생했습니다.
text.tutorial.back = < 이전 text.tutorial.back = < 이전
text.tutorial.next = 다음 > text.tutorial.next = 다음 >
text.save.new = 새로 저장 text.save.new = 새로 저장
text.save.overwrite = 이 저장 슬롯을 덮어 쓰시겠습니까? text.save.overwrite = 이 저장 슬롯을 덮어씌우겠습니까?
text.overwrite = 덮어쓰기 text.overwrite = 덮어쓰기
text.save.none = 저장 파일을 찾지 못했습니다! text.save.none = 저장 파일을 찾지 못했습니다!
text.saveload = [accent]저장중... text.saveload = [accent]저장중...
@@ -58,158 +105,174 @@ text.save.delete.confirm = 이 저장파일을 삭제 하시겠습니까?
text.save.delete = 삭제 text.save.delete = 삭제
text.save.export = 저장파일 내보내기 text.save.export = 저장파일 내보내기
text.save.import.invalid = [orange]저장파일이 유효하지 않습니다! text.save.import.invalid = [orange]저장파일이 유효하지 않습니다!
text.save.import.fail = [crimson]저장파일을 불러오지 못함: [orange]{0} text.save.import.fail = [crimson]저장파일을 불러오지 못함: {0}[orange]
text.save.export.fail = [crimson]저장파일을 내보내지 못함: [orange]{0} text.save.export.fail = [crimson]저장파일을 내보내지 못함: {0}[orange]
text.save.import = 저장파일 불러오기 text.save.import = 저장파일 불러오기
text.save.newslot = 저장 파일이름 : text.save.newslot = 저장 파일이름 :
text.save.rename = 이름 변경 text.save.rename = 이름 변경
text.save.rename.text = 새 이름 : text.save.rename.text = 새 이름 :
text.selectslot = 저장슬롯을 선택하십시오. text.selectslot = 저장슬롯을 선택하십시오.
text.slot = [accent]슬롯 {0} text.slot = [accent]{0}번째 슬롯
text.save.corrupted = [orange]저장파일이 손상되었습니다! text.save.corrupted = [orange]저장파일이 손상되었습니다!
text.empty = <비어있음> text.empty = <비어있음>
text.on = 켜기 text.on = 켜기
text.off = 끄기 text.off = 끄기
text.save.autosave = 자동저장: {0} text.save.autosave = 자동저장: {0}
text.save.map = 맵: {0} text.save.map = 맵: {0}
text.save.wave = 웨이브 {0} text.save.wave = {0} 단계
text.save.difficulty = 난이도 : {0}
text.save.date = 마지막 저장 날짜 : {0} text.save.date = 마지막 저장 날짜 : {0}
text.confirm = 확인 text.confirm = 확인
text.delete = 삭제 text.delete = 삭제
text.ok = 승인 text.ok = OK
text.open = 열기 text.open = 열기
text.cancel = 취소 text.cancel = 취소
text.openlink = 링크 열기 text.openlink = 링크 열기
text.copylink = 링크 복사
text.back = 뒤로 text.back = 뒤로
text.quit.confirm = 종료 하시겠습니까? text.quit.confirm = 종료 하시겠습니까?
text.loading = [accent]로딩 중 ... text.changelog.title = 변경사항
text.wave = [orange]웨이브 {0} text.changelog.loading = 업데이트 내역 가져오는중..
text.wave.waiting = 웨이브 대기중 {0} text.changelog.error.android = [orange]업데이트 내역은 가끔 Android 4.4 이하에서 작동하지 않습니다.\n이것은 Android 내부 버그입니다.
text.changelog.error.ios = [orange]현재 업데이트 내역은 iOS 에서 지원하지 않습니다.
text.changelog.error = [searlet]업데이트 내역을 가져오는데 오류가 발생했습니다!\n인터넷 연결을 확인 해 주세요.
text.changelog.current = [yellow][[현재 버전]
text.changelog.latest = [orange][[최신 버전]
text.loading = [accent]로딩중 ...
text.wave = [orange]{0} 단계
text.wave.waiting = 다음 레벨 {0} 시작 대기중
text.waiting = 대기 중... text.waiting = 대기 중...
text.enemies = {0} text.enemies = 남은 잡몹 수 : {0}
text.enemies.single = {0} text.enemies.single = {0} 마리 남음
text.loadimage = 이미지 로드 text.loadimage = 사진 불러오기
text.saveimage = 이미지 저장 text.saveimage = 사진 저장
text.editor.badsize = [orange]이미지 크기가 잘못되었습니다![]\n가능한 지도 크기: {0} text.oregen = 광물 생성
text.editor.errorimageload = 이미지 파일 로드중 오류 발생 : [orange]{0} text.editor.badsize = [orange]사진 크기가 잘못되었습니다![]\n유효한 맵 크기 : {0}
text.editor.errorimagesave = 이미지 파일 저장중 오류 발생 : [orange]{0} text.editor.errorimageload = [orange]{0} 사진을 불러오는데 오류가 발생했습니다.
text.editor.generate = 생성하기 text.editor.errorimagesave = [orange]{0} 사진을 저장하는데 오류가 발생했습니다.
text.editor.generate = 생성
text.editor.resize = 크기 조정 text.editor.resize = 크기 조정
text.editor.loadmap = 로드 text.editor.loadmap = 불러오기
text.editor.savemap = 맵 저장 text.editor.savemap = 맵 저장
text.editor.loadimage = 이미지 로드 text.editor.loadimage = 사진 불러오기
text.editor.saveimage = 이미지 저장 text.editor.saveimage = 사진 저장
text.editor.unsaved = [scarlet]변경사항을 저장하지 않았습니다![]\n종료하시겠습니까? text.editor.unsaved = [scarlet]변경사항을 저장하지 않았습니다![]\n종료하시겠습니까?
text.editor.brushsize = 브러쉬 크기 : {0} text.editor.brushsize = 브러쉬 크기 : {0}
text.editor.noplayerspawn = 이맵에는 플레이어의 스폰 지점이 없습니다! text.editor.noplayerspawn = 이맵에는 플레이어의 스폰 지점이 없습니다!
text.editor.manyplayerspawns = 맵에는 플레이어 스폰 지점이 둘 이상 있을 수 없습니다! text.editor.manyplayerspawns = 맵에는 플레이어 스폰 지점이 둘 이상 있을 수 없습니다!
text.editor.manyenemyspawns = {0} 개 이상에 적 스폰 지점이 있을 수 없습니다! text.editor.manyenemyspawns = 잡몹 스폰지점을 {0}개 이상으로 지정할 수 없습니다!
text.editor.resizemap = 지도 크기 조정 text.editor.resizemap = 크기 조정
text.editor.resizebig = [scarlet]경고!\n[]맵 크기가 256이상일경우 불안정 할 수 있습니다! text.editor.resizebig = [scarlet]경고!\n[]맵 크기가 256이상일경우 랙이 걸리거나 게임이 불안정할 수 있습니다.
text.editor.mapname = 지도 이름 : text.editor.mapname = 이름 :
text.editor.overwrite = [accent]경고!\n이렇게 하면 기존 맵을 덮어 쓰게 됩니다! text.editor.overwrite = [accent]경고!\n이 작업은 기존 맵을 덮어 쓰게 됩니다!
text.editor.failoverwrite = [crimson]기본지도에 덮어 쓸수 없습니다! text.editor.failoverwrite = [crimson]기본맵을 덮어 쓸수 없습니다!
text.editor.selectmap = 로드 할 지도 선택 : text.editor.selectmap = 불러올 맵 선택 :
text.width = : text.width = 넓이 :
text.height = 높이: text.height = 높이:
text.randomize = 무작위 text.randomize = 무작위
text.apply = 적용 text.apply = 적용
text.update = 업데이트 text.update = 업데이트
text.menu = 메뉴 text.menu = 메뉴
text.play = 플레이 text.play = 플레이
text.load = 로드 text.load = 불러오기
text.save = 저장 text.save = 저장
text.language.restart = 언어 설정을 적용하려면 게임을 다시 시작하십시오.
text.settings.language = 언어
text.settings = 설정 text.settings = 설정
text.tutorial = 튜토리얼 text.tutorial = 자습서
text.editor = 에디터 text.editor = 에디터
text.mapeditor = 에디터 text.mapeditor = 편집기
text.donate = 기부하기 text.donate = 기부하기
text.settings.reset = 기본값으로 재설정 text.settings.reset = 기본값으로 재설정
text.settings.controls = 컨트롤 text.settings.controls = 컨트롤
text.settings.game = 게임 설정 text.settings.game = 게임 설정
text.settings.sound = 사운드 설정 text.settings.sound = 소리 설정
text.settings.graphics = 그래픽 설정 text.settings.graphics = 그래픽 설정
text.upgrades = 업그레이드 text.upgrades = 업그레이드
text.purchased = [LIME]제작! text.purchased = [LIME]제작!
text.weapons = 무기 text.weapons = 무기
text.paused = 일시 중지 text.paused = 일시중지
text.respawn = 리스폰 타임 text.respawn = 남은 부활 시간 :
text.info.title = [accent]정보
text.error.title = [crimson]예기지 않은 오류가 발생했습니다! text.error.title = [crimson]예기지 않은 오류가 발생했습니다!
text.error.crashmessage = [SCARLET]예기치 못한 오류가 발생하여, 무언가 충돌을 일으켰습니다\n[]이 오류에 대한 정확한 내용을 개발자에게 전달해 주세요!\n[ORANGE]anukendev@gmail.com[] text.error.crashmessage = [SCARLET]예기치 못한 오류가 발생하여, 무언가 충돌을 일으켰습니다\n[]이 오류에 대한 정확한 내용을 개발자에게 전달해 주세요!\n[ORANGE]anukendev@gmail.com[] 또는 [orange]Mindustry 디스코드[orange]로 보내주세요!
text.error.crashtitle = 오류 발생! text.error.crashtitle = 오류 발생!
text.mode.break = 삭제 모드 : {0} text.mode.break = 삭제 모드 : {0}
text.mode.place = 설치 모드 : {0} text.mode.place = 설치 모드 : {0}
placemode.hold.name = 라인 placemode.hold.name = 라인
placemode.areadelete.name = 구역 삭제 placemode.areadelete.name = 구역 삭제
placemode.touchdelete.name = 클릭 삭제 placemode.touchdelete.name = 클릭하여 삭제
placemode.holddelete.name = 홀드 삭제 placemode.holddelete.name = 길게 눌러 삭제
placemode.none.name = 없음 placemode.none.name = 없음
placemode.touch.name = 클릭 placemode.touch.name = 클릭
placemode.cursor.name = 커서 placemode.cursor.name = 커서
text.blocks.extrainfo = [accent]추가 블록 정보: text.blocks.extrainfo = [accent]추가 블록 정보:
text.blocks.blockinfo = 블록 정보 text.blocks.blockinfo = 블록 정보
text.blocks.powercapacity = 전력 저장량 text.blocks.powercapacity = 전력 저장량
text.blocks.powershot = 전력량 / 초 text.blocks.powershot = 초당 전력량
text.blocks.powersecond = 발전량 / 초 text.blocks.powersecond = 초당 발전량
text.blocks.powerdraindamage = 에너지 소모량 / 데미지 text.blocks.powerdraindamage = 데미지당 에너지 소모량
text.blocks.shieldradius = 쉴드 반경 text.blocks.shieldradius = 보호막 범위
text.blocks.itemspeedsecond = 운반량 / 초 text.blocks.itemspeedsecond = 초당 운반량
text.blocks.range = 범위 text.blocks.range = 범위
text.blocks.size = 크기 text.blocks.size = 크기
text.blocks.powerliquid = 전력 / 액체량 text.blocks.powerliquid = 액체량당 전력
text.blocks.maxliquidsecond = 최대 액체 운반량 / 초 text.blocks.maxliquidsecond = 초당 최대 액체 운반량
text.blocks.liquidcapacity = 액체 저장량 text.blocks.liquidcapacity = 액체 저장량
text.blocks.liquidsecond = 액체 운반량 / 초 text.blocks.liquidsecond = 초당 액체 운반량
text.blocks.damageshot = 데미지 / 달 text.blocks.damageshot = 1발당 데미지
text.blocks.ammocapacity = 최대 저장량 text.blocks.ammocapacity = 최대 탄약 저장량
text.blocks.ammo = 탄약 text.blocks.ammo = 탄약
text.blocks.ammoitem = 탄약 /아이템 text.blocks.ammoitem = 아이템당 탄약
text.blocks.maxitemssecond = 최대 항목 / 초 text.blocks.maxitemssecond = 초당 최대 아이템수
text.blocks.powerrange = 력 범위 text.blocks.powerrange = 출력범위
text.blocks.lasertilerange = 파워 레이저 범위 text.blocks.lasertilerange = 전력 레이저 범위
text.blocks.capacity = 용량 text.blocks.capacity = 용량
text.blocks.itemcapacity = 아이템 저장용량 text.blocks.itemcapacity = 아이템 저장용량
text.blocks.maxpowergenerationsecond = 최대 발전량 / 초 text.blocks.maxpowergenerationsecond = 초당 최대 발전량
text.blocks.powergenerationsecond = 전력 생산량 / 초 text.blocks.powergenerationsecond = 초당 전력 생산량
text.blocks.generationsecondsitem = 초당 생산량 / 아이템 text.blocks.generationsecondsitem = 초당 생산량 / 아이템
text.blocks.input = 입력 text.blocks.input = 입력
text.blocks.inputliquid = 가능한 액체 text.blocks.inputliquid = 가능한 액체
text.blocks.inputitem = 가능한 아이템 text.blocks.inputitem = 가능한 아이템
text.blocks.output = 출력 text.blocks.output = 출력
text.blocks.secondsitem = / 아이템 text.blocks.secondsitem = 아이템
text.blocks.maxpowertransfersecond = 최대 전력 전송량 / 초 text.blocks.maxpowertransfersecond = 초당 최대 전력
text.blocks.explosive = 큰 폭발! text.blocks.explosive = 이게 파괴되면 매우 큰 폭발을 일으켜서 근처 블록에게 피해를 입힙니다!
text.blocks.repairssecond = 수리량 / 초 text.blocks.repairssecond = 초당 수리량
text.blocks.health = 체력 text.blocks.health = 체력
text.blocks.inaccuracy = 체력 text.blocks.inaccuracy = 명중하지 않을 확률
text.blocks.shots = text.blocks.shots =
text.blocks.shotssecond = 발 / text.blocks.shotssecond = 당 발사횟수
text.blocks.fuel = 연료 text.blocks.fuel = 연료
text.blocks.fuelduration = 연료 지속 시간 text.blocks.fuelduration = 연료 지속 시간
text.blocks.maxoutputsecond = 최대 출력 / 초 text.blocks.maxoutputsecond = 초당 최대 출력
text.blocks.inputcapacity = 최대 입력량 text.blocks.inputcapacity = 최대 입력량
text.blocks.outputcapacity = 최대 출력량 text.blocks.outputcapacity = 최대 출력량
text.blocks.poweritem = 전력 / 아이템 text.blocks.poweritem = 아이템당 전력량
text.placemode = 블럭 설치 모드 text.placemode = 설치 모드
text.breakmode = 블럭 삭제 모드 text.breakmode = 삭제 모드
text.health = 체력 text.health = 체력
setting.difficulty.easy = 쉬움 setting.difficulty.easy = 쉬움
setting.difficulty.normal = 보통 setting.difficulty.normal = 보통
setting.difficulty.hard = 어려움 setting.difficulty.hard = 어려움
setting.difficulty.insane = setting.difficulty.insane = 쳤음
setting.difficulty.purge = 극악 setting.difficulty.purge = 청소기
setting.difficulty.name = 난이도 setting.difficulty.name = 난이도:
setting.screenshake.name = 화면 흔들림 setting.screenshake.name = 화면 흔들림
setting.smoothcam.name = 부드러운 카메라 이동 setting.smoothcam.name = 부드러운 카메라 이동
setting.indicators.name = 적 표시 화살표 setting.indicators.name = 위치 표시 화살표
setting.effects.name = 화면 효과 setting.effects.name = 화면 효과
setting.sensitivity.name = 컨트롤러 감도 setting.sensitivity.name = 컨트롤러 감도
setting.saveinterval.name = 자동 저장 간격 setting.saveinterval.name = 자동 저장 간격
setting.seconds = {0} setting.seconds = {0}초
setting.fullscreen.name = 전체 화면
setting.multithread.name = 멀티 스레드 활성화
setting.fps.name = 초당 프레임 표시 setting.fps.name = 초당 프레임 표시
setting.vsync.name = 수직동기화 setting.vsync.name = 수직동기화
setting.lasers.name = 파워 레이저 표시 setting.lasers.name = 파워 레이저 표시
setting.healthbars.name = 체력 바 표시 setting.previewopacity.name = 블럭 배치 미리보기 표시
setting.healthbars.name = 체력 막대바 표시
setting.pixelate.name = 화면 픽셀화 setting.pixelate.name = 화면 픽셀화
setting.musicvol.name = 음악 볼륨 setting.musicvol.name = 음악 볼륨
setting.mutemusic.name = 음악 끄기 setting.mutemusic.name = 음악 끄기
@@ -227,36 +290,36 @@ map.island.name = 섬
map.grassland.name = 초원 map.grassland.name = 초원
map.tundra.name = 툰드라 map.tundra.name = 툰드라
map.spiral.name = 나선 map.spiral.name = 나선
map.tutorial.name = 튜토리얼 map.tutorial.name = 자습서
tutorial.intro.text = [yellow] 튜토리얼에 오신 것을 환영합니다.[] 시작하려면 '다음'을 누르세요. tutorial.intro.text = [yellow] 자습서에 오신 것을 환영합니다.[] 시작하려면 '다음'을 누르세요.
tutorial.moveDesktop.text = 이동하려면 [orange] [[WASD] [] 키를 사용하세요. 또한, [orange]Shift[]를 [orange] 누르고 있으면 빠르게 이동할 수 있습니다. [orange]CTRL[]을 누르고 있으면 [orange] 스크롤 휠 []을 사용하여 확대 또는 축소 할 수 있습니다. tutorial.moveDesktop.text = 이동하려면 [orange] [[WASD] [] 키를 사용하세요. 또한, [orange]Shift[]를 누르고 있으면 빠르게 이동할 수 있습니다. [orange]CTRL[]을 누른 상태에서 [orange] 마우스 스크롤 휠 []을 사용하여 확대 또는 축소 할 수 있습니다
tutorial.shoot.text = 마우스를 사용하여 조준하고 [orange]왼쪽 마우스 버튼[]을 눌러 쏘세요. 저기 노란색 [yellow]타겟[]앞에서 연습해보세요. tutorial.shoot.text = 마우스를 사용하여 조준하고 [orange]왼쪽 마우스 버튼[]을 눌러 쏘세요. 저기 노란색 [yellow]타겟[]앞에서 연습해보세요.
tutorial.moveAndroid.text = 화면을 이동하기 위해서 한손가락으로 스크롤을 하세요. 줌인 줌아웃은 두손가락으로 하면 됩니다. tutorial.moveAndroid.text = 화면을 이동하기 위해서 한손가락으로 드래그 해 보세요. 확대 및 축소는 두손가락으로 하면 됩니다.
tutorial.placeSelect.text = 오른쪽 하단에 블럭 메뉴에서[yellow]컨베이어[]를 선택하세요. tutorial.placeSelect.text = 오른쪽 하단에 있는 블럭 메뉴에서 [yellow]컨베이어[]를 선택하세요.
tutorial.placeConveyorDesktop.text = [orange][[scrollwheel][]을 사용하여 컨베이어를[orange]앞 방향[]으로 돌린다음 [yellow]표시된 위치[]에 [orange][[left mouse button][]을 이용해 설치 합니다. tutorial.placeConveyorDesktop.text = [orange][[마우스 스크롤 휠][]을 사용하여 컨베이어를[orange]앞 방향[]으로 돌린다음 [yellow]표시된 위치[]에 [orange][[왼쪽 마우스 버튼][]을 이용해 컨베이어를 설치 합니다.
tutorial.placeConveyorAndroid.text = 컨베이어를 회전 시키기 위해[orange][[rotate button][]를 터치하고 [orange]앞방향[]을 보게 한후, 한손가락으로 [yellow]표시된 위치[]에 [orange][[checkmark][]으로 설치하세요. tutorial.placeConveyorAndroid.text = 컨베이어를 회전 시키기 위해[orange][[회전 버튼][]를 누르고 [orange]앞방향[]을 보게 한후, 한손가락으로 [yellow]표시된 위치[]에 [orange][[확인][] 버튼으로 설치하세요.
tutorial.placeConveyorAndroidInfo.text = 아니면 왼쪽 하단에 [orange][[touch mode][]를 눌러 터치모드로 전환하고 터치를 이용해 블럭을 배치 할수 있습니다 방향을 바꾸려면 왼쪽하단 화살표로 바꾸시면 됩니다[yellow]다음[]을 눌러 시도해 보세요 tutorial.placeConveyorAndroidInfo.text = 아니면 왼쪽 하단에 [orange][[설치 모드][]를 눌러 클릭모드로 전환하고 클릭만으로 블럭을 배치 할수 있습니다.\n방향을 바꾸려면 왼쪽하단 5번째 칸에 있는 화살표로 바꾸시면 됩니다.\n[yellow]다음[]을 눌러 한번 해 보세요.
tutorial.placeDrill.text = 이제, 표시된 위치에 [yellow]돌 드릴[]을 선택하여 배치하세요. tutorial.placeDrill.text = 이제, 표시된 위치에 [yellow]돌 드릴[]을 선택하여 배치하세요.
tutorial.blockInfo.text = 블록에 대해 더 자세히 알고 싶다면, 오른쪽 상단에있는 [orange]물음표[]를 눌러 설명을 읽으세요. tutorial.blockInfo.text = 블록에 대해 더 자세히 알고 싶다면, 오른쪽 상단에있는 [orange]물음표[]를 눌러 설명을 읽으세요.
tutorial.deselectDesktop.text = [orange][[마우스 오른쪽 버튼][]을 사용하여 블록을 선택 해제할 수 있습니다. tutorial.deselectDesktop.text = [orange][[마우스 오른쪽 버튼][]을 사용하여 블록을 선택 해제할 수 있습니다.
tutorial.deselectAndroid.text = [orange]X[] 버튼을 눌러 블록을 선택 해제할 수 있습니다. tutorial.deselectAndroid.text = [orange]X[] 버튼을 눌러 블록을 선택 해제할 수 있습니다.
tutorial.drillPlaced.text = 드릴은 이제 [yellow] 돌[]을 생산할 것이고, 컨베이어로 출력 한 다음 [yellow] 코어 []로 옮길 것입니다. tutorial.drillPlaced.text = 드릴은 이제 [yellow] 돌[]을 생산할 것이고, 컨베이어로 내보낸 다음 [yellow]코어[]로 옮길 것입니다.
tutorial.drillInfo.text = 각 광석은 그에 맞는 드릴이 필요합니다. 돌은 돌 드릴이 필요하고, 철은 철 드릴이 필요합니다. tutorial.drillInfo.text = 각 광석은 그에 맞는 드릴이 필요합니다. 돌은 돌 드릴이 필요하고, 철은 철 드릴이 필요합니다.
tutorial.drillPlaced2.text = 아이템을 코어로 이동하면 왼쪽 상단의 [orange]아이템 인벤토리[]에 표시됩니다. 인벤토리의 아이템은 블록을 배치할때 사용됩니다. tutorial.drillPlaced2.text = 아이템을 코어로 이동하면 왼쪽 상단의 [orange]아이템 인벤토리[]에 표시됩니다.\n인벤토리의 아이템은 블록을 배치할때 사용됩니다.
tutorial.moreDrills.text = 드릴과 컨베이어는 많이 연결할 수 있습니다. 이것처럼요. tutorial.moreDrills.text = 드릴과 컨베이어는 많이 연결할 수 있습니다. 이것처럼요.
tutorial.deleteBlock.text = 블록을 삭제하고 싶으면 [orange]마우스 오른쪽 버튼[]을 클릭하여 블록을 삭제할 수 있습니다. 이 컨베이어를 삭제 해보십시오. tutorial.deleteBlock.text = 블록을 삭제하고 싶으면 [orange]마우스 오른쪽 버튼[]을 클릭하여 블록을 삭제할 수 있습니다.\n이 컨베이어를 삭제 해 보세요.
tutorial.deleteBlockAndroid.text = 왼쪽 하단에 [orange]블록삭제모드[]안에 [orange]십자선[] 선택한 다음 블록을 눌러 삭제할 수 있습니다. 이 컨베이어를 삭제해 보세요. tutorial.deleteBlockAndroid.text = 왼쪽 하단에 있는 [orange]블록 삭제모드[]안에 [orange]십자선[] 아이콘을 선택한 다음 블록을 눌러 삭제할 수 있습니다. 이 컨베이어를 삭제해 보세요.
tutorial.placeTurret.text = 이제[yellow] 표시된 위치 []에 [yellow]포탑[]을 선택하여 배치하세요. tutorial.placeTurret.text = 이제[yellow] 표시된 위치 []에 [yellow]포탑[]을 선택하여 배치하세요.
tutorial.placedTurretAmmo.text = 이 포탑은 컨베이어에서 [yellow]탄약[]을 받습니다 커서를 가져 가묜[green]녹색 막대[]를 통해 얼마나 많은 탄약이 있는지 확인 할수 있습니다. tutorial.placedTurretAmmo.text = 이 포탑은 컨베이어에서 [yellow]탄약[]을 받습니다.\n포탑에 커서를 가리키면 [green]녹색 막대[]를 통해 얼마나 많은 탄약이 포탑 안에있는지 확인 할수 있습니다.
tutorial.turretExplanation.text = 포탑은 충분한 탄약을 보유하고 있는 한 범위 내에서 가장 가까운 적에게 자동으로 총알을 쏩니다. tutorial.turretExplanation.text = 포탑은 충분한 탄약을 보유하고있는 한, 범위 내 가장 가까운 적을 향해 자동으로 공격합니다.
tutorial.waves.text = [yellow]60[] 초 마다, 웨이브가 시작되고[coral]적[]들이 특정 위치에 스폰되어 코어를 파괴하기위해 올 것 입니다. tutorial.waves.text = [yellow]60[]초 마다, 웨이브가 시작되고[coral]적[]들이 특정 위치에 스폰되어 코어를 파괴하기위해 올 것 입니다.
tutorial.coreDestruction.text = 당신의 목표는 [yellow]코어를 방어하는 것[]입니다. 코어가 파괴되면 [coral]게임에서 패배합니다[]. tutorial.coreDestruction.text = 당신의 목표는 [yellow]코어를 최대한 오래동안 방어하는 것[]입니다. 코어가 파괴되면 [coral]게임에서 패배합니다[].
tutorial.pausingDesktop.text = 일시정지를 하고 싶은 경우 왼쪽 상단 [orange]스페이스[]를 눌러 게임을 일시정지하세요. 일시 중지 된 상태에서 블록을 선택하고 배치할수는 있지만 이동하거나 쏠수는 없습니다. tutorial.pausingDesktop.text = 휴식을 취해야 하는 경우, 왼쪽 상단에 있는 [orange]일시정지 버튼[] 을 누르거나 [orange]스페이스[] 를 눌러 게임을 일시정지 시킬 수 있습니다.\n일시정지된 상태에서 블록을 선택하고 배치할 수는 있지만, 움직이거나 공격할 수는 없습니다.
tutorial.pausingAndroid.text = 일시정지를 하고 싶은 경우 왼쪽 상단 [orange]일시 정지 버튼[]을 눌러 게임을 일시정지하세요. 일시 중지 된 상태에서도 선택 및 블록 배치를 할 수 있습니다. tutorial.pausingAndroid.text = 휴식을 취해야 하는 경우, 왼쪽 상단에 있는 [orange]일시정지 버튼[] 을 눌러 게임을 일시정지 시킬 수 있습니다.\n일시정지된 상태에서 블록을 선택하고 배치할 수는 있지만, 움직이거나 공격할 수는 없습니다.
tutorial.purchaseWeapons.text = 왼쪽 하단에 있는 업그레이드 메뉴를 열어 새로운 [yellow]무기[]를 구입할 수 있습니다. tutorial.purchaseWeapons.text = 왼쪽 하단에 있는 업그레이드 메뉴를 열어 새로운 [yellow]무기[]를 구입할 수 있습니다.
tutorial.switchWeapons.text = 왼쪽 하단의 아이콘을 클릭하거나 숫자 [orange][[1-9][] 버튼을 사용하여 무기를 전환하세요 tutorial.switchWeapons.text = 왼쪽 하단의 아이콘을 클릭하거나 숫자 [orange][[1-9][] 버튼을 사용하여 무기를 바꿀 수 있습니다.
tutorial.spawnWave.text = 웨이브가 시작되었습니다. 적들을 파괴하세요! tutorial.spawnWave.text = 웨이브가 시작되었습니다. 적들을 파괴하세요!
tutorial.pumpDesc.text = 이후 웨이브에선 발전기 또는 추출기 용 액체를 분배하기 위해 [yellow]펌프[] 를 사용해야 할 수도 있습니다 tutorial.pumpDesc.text = 이후 웨이브에선 발전기 또는 추출기용 액체를 사용하기 위해 [yellow]펌프[] 를 사용해야 할 수도 있습니다
tutorial.pumpPlace.text = 펌프는 드릴과 유사하게 작동하지만, 아이템 대신 액체를 생산합니다. [yellow]지정된 위치[]에 펌프를 놓으세요. tutorial.pumpPlace.text = 펌프는 드릴과 유사하게 작동하지만, 아이템 대신 액체를 생산합니다. [yellow]지정된 위치[]에 펌프를 놓으세요.
tutorial.conduitUse.text = 이제 [orange]파이프[] 를 펌프에서 멀리 떨어트려 두세요 tutorial.conduitUse.text = 이제 [orange]파이프[] 를 펌프에서 멀리 떨어트려 두세요
tutorial.conduitUse2.text = 하나 더... tutorial.conduitUse2.text = 하나 더...
@@ -264,63 +327,74 @@ tutorial.conduitUse3.text = 하나 더...
tutorial.generator.text = 이제 파이프 끝 부분에 [orange]석유 발전기[] 블록을 놓으세요. tutorial.generator.text = 이제 파이프 끝 부분에 [orange]석유 발전기[] 블록을 놓으세요.
tutorial.generatorExplain.text = 이제 이 발전기는 석유에서 [yellow]전력[]을 생성합니다. tutorial.generatorExplain.text = 이제 이 발전기는 석유에서 [yellow]전력[]을 생성합니다.
tutorial.lasers.text = 전력은 [yellow]파워 레이저[]를 통해 전송됩니다. 회전한 후 이곳에 배치하세요. tutorial.lasers.text = 전력은 [yellow]파워 레이저[]를 통해 전송됩니다. 회전한 후 이곳에 배치하세요.
tutorial.laserExplain.text = 발전기가 이제 레이저 블록으로 전력을 보냅니다. [yellow]불명[] 광선은 현재 전력을 전송 중임을 의미하고 [yellow]투명[] 광선은 전송하지 않음을 의미합니다. tutorial.laserExplain.text = 발전기가 이제 레이저 블록으로 전력을 보냅니다.\n[yellow]불명[] 광선은 현재 전력을 전송 중임을 의미하고 [yellow]투명[] 광선은 전송하지 않음을 의미합니다.
tutorial.laserMore.text = 블록 위로 마우스를 올리고 상단의 [yellow]노란 막대[]를 확인하여 블록의 전력을 볼 수 있습니다 tutorial.laserMore.text = 블록 위로 마우스를 올리고 상단의 [yellow]노란 막대[]를 확인하여 블록의 전력을 볼 수 있습니다
tutorial.healingTurret.text = 이 레이저는 [lime]수리터렛[] 에 전력을 공급하는데 사용합니다. 여기에 하나 놓으세요 tutorial.healingTurret.text = 이 레이저는 [lime]수리포탑[] 에 전력을 공급하는데 사용합니다. 여기에 하나 놓으세요
tutorial.healingTurretExplain.text = 전력이 있는 한 이 포탑은 [lime]주변 블록을 수리[] 합니다 시간이 있을 때 가능한 빨리 기지에 하나가 있는지 확인하세요! tutorial.healingTurretExplain.text = 전력이 있는 한 이 포탑은 [lime]주변 블록을 수리[] 합니다.\n시간이 있을 때 가능한 빨리 기지에 하나가 있는지 확인하세요!
tutorial.smeltery.text = 많은 블록들은[orange]강철[]을 필요로 합니다. [orange]제련소[]를 선택해 여기에 놓으세요. tutorial.smeltery.text = 많은 블록들은[orange]강철[]을 필요로 합니다.\n[orange]제련소[]를 선택해 여기에 놓으세요.
tutorial.smelterySetup.text = 이 제련소는 석탄을 연료로 사용하며 철을 넣으면 [orange]강철[] 을 생산할 것입니다. tutorial.smelterySetup.text = 이 제련소는 석탄을 연료로 사용하며 철을 넣으면 [orange]강철[] 을 생산할 것입니다.
tutorial.end.text = 이것으로 튜토리얼을 마칩니다! 행운을 빕니다! tutorial.tunnelExplain.text = 또한 아이템이 [orange]터널 블록[]을 통해 지나가고 다른 쪽에서 돌 블록을 통과하여 나옵니다.\n터널은 최대 2블록까지만 통과할 수 있습니다.
tutorial.end.text = 이것으로 자습서를 마칩니다! 행운을 빕니다!
text.keybind.title = 키 지정
keybind.move_x.name = x축 이동 keybind.move_x.name = x축 이동
keybind.move_y.name = y축 이동 keybind.move_y.name = y축 이동
keybind.select.name = 선택 keybind.select.name = 선택
keybind.break.name = 블럭 삭제 keybind.break.name = 파괴
keybind.shootInternal.name = 발사 keybind.shoot.name = 발사
keybind.zoom_hold.name = 확대 할때 누를 버튼 keybind.zoom_hold.name = 확대 할때 누를 버튼
keybind.zoom.name = 확대 keybind.zoom.name = 확대
keybind.block_info.name = 블록 정보
keybind.menu.name = 메뉴 keybind.menu.name = 메뉴
keybind.pause.name = 일시정지 keybind.pause.name = 일시정지
keybind.dash.name = 대시 keybind.dash.name = 달리기
keybind.chat.name = 대화창
keybind.player_list.name = 플레이어 목록
keybind.console.name = 콘솔
keybind.rotate_alt.name = 반대로 돌기 keybind.rotate_alt.name = 반대로 돌기
keybind.rotate.name = 돌기 keybind.rotate.name = 회전
keybind.weapon_1.name = 무기 단축키_1 keybind.weapon_1.name = 무기 단축키_1
keybind.weapon_2.name = 무기 단축키_2 keybind.weapon_2.name = 무기 단축키_2
keybind.weapon_3.name = 무기 단축키_3 keybind.weapon_3.name = 무기 단축키_3
keybind.weapon_4.name = 무기 단축키_4 keybind.weapon_4.name = 무기 단축키_4
keybind.weapon_5.name = 무기 단축키_5 keybind.weapon_5.name = 무기 단축키_5
keybind.weapon_6.name = 무기 단축키_6 keybind.weapon_6.name = 무기 단축키_6
mode.waves.name = 웨이브 mode.text.help.title = 모드 설명
mode.sandbox.name = 무제한 건설 mode.waves.name = 단계
mode.waves.description = 이것은 일반 모드입니다. 제한된 자원과 자동으로 웨이브가 시작됩니다.
mode.sandbox.name = 샌드박스
mode.sandbox.description = 무한한 자원과 웨이브를 시작하는 타이머가 없습니다.
mode.freebuild.name = 자유 건설 mode.freebuild.name = 자유 건설
mode.freebuild.description = 제한된 자원을 가지고 있으며, 웨이브를 시작하기 위한 타이머가 없습니다.
upgrade.standard.name = 기본 upgrade.standard.name = 기본
upgrade.standard.description = 기본 기계 upgrade.standard.description = 그냥 기본 총.
upgrade.blaster.name = 블래스터 upgrade.blaster.name = 블래스터
upgrade.blaster.description = 그냥 평범한 총 upgrade.blaster.description = 그냥 느리고 약한 총알.
upgrade.triblaster.name = 트리블래스터 upgrade.triblaster.name = 3단 블래스터
upgrade.triblaster.description = 3발을 동시에 쏘는 총 upgrade.triblaster.description = 3발을 동시에 쏘는 총.
upgrade.clustergun.name = 클러스터 upgrade.clustergun.name = 유탄발사기
upgrade.clustergun.description = 유탄 발사기, 적에 맞으면 터지거나 일정시간 후 터다. upgrade.clustergun.description = 적에 맞으면 폭발하거나, 일정시간 후 터집니다.
upgrade.beam.name = 레이저 캐논 upgrade.beam.name = 레이저 캐논
upgrade.beam.description = 적을 통과하는 장거리 레이저 빔을 쏩니다 upgrade.beam.description = 적을 통과하는 장거리 레이저 빔을 쏩니다
upgrade.vulcan.name = 벌칸 upgrade.vulcan.name = 벌칸
upgrade.vulcan.description = 빠른 속도로 탄환을 쏩니다 upgrade.vulcan.description = 빠른 속도로 을 쏩니다
upgrade.shockgun.name = 쇼크 upgrade.shockgun.name =
upgrade.shockgun.description = 충전된 총알을 산탄처럼 쏘는 총 upgrade.shockgun.description = 충전된 총알을 산탄처럼 쏘는 총
item.stone.name = item.stone.name =
item.iron.name = item.iron.name =
item.coal.name = 석탄 item.coal.name = 석탄
item.steel.name = 강철 item.steel.name = 강철
item.titanium.name = 티타늄 item.titanium.name = 티타늄
item.dirium.name = 디리늄 item.dirium.name = 합금
item.thorium.name = 우라늄 item.uranium.name = 우라늄
item.sand.name = 모래 item.sand.name = 모래
liquid.water.name = liquid.water.name =
liquid.plasma.name = 플라즈마 liquid.plasma.name = 플라즈마
liquid.lava.name = 용암 liquid.lava.name = 용암
liquid.oil.name = 석유 liquid.oil.name = 석유
block.weaponfactory.name = 무기 공장 block.weaponfactory.name = 무기 공장
block.weaponfactory.fulldescription = 플레이어용 무기를 만드는 데 사용됩니다.\n클릭하여 사용하십시오.\n코어에 있는 자원을 사용합니다.
block.air.name = 공기 block.air.name = 공기
block.blockpart.name = 파트 block.blockpart.name = 파트
block.deepwater.name = 깊은 물 block.deepwater.name = 깊은 물
block.water.name = block.water.name =
block.lava.name = 용암 block.lava.name = 용암
@@ -330,13 +404,13 @@ block.blackstone.name = 검은 돌
block.iron.name = block.iron.name =
block.coal.name = 석탄 block.coal.name = 석탄
block.titanium.name = 티타늄 block.titanium.name = 티타늄
block.thorium.name = 우라늄 block.uranium.name = 우라늄
block.dirt.name = block.dirt.name =
block.sand.name = 모래 block.sand.name = 모래
block.ice.name = 얼음 block.ice.name = 얼음
block.snow.name = block.snow.name =
block.grass.name = 잔디 block.grass.name = 잔디
block.sandblock.name = 사암 block.sandblock.name = 모래 블럭
block.snowblock.name = 얼음 블럭 block.snowblock.name = 얼음 블럭
block.stoneblock.name = 돌 블럭 block.stoneblock.name = 돌 블럭
block.blackstoneblock.name = 검은 돌 블럭 block.blackstoneblock.name = 검은 돌 블럭
@@ -348,95 +422,95 @@ block.icerock.name = 얼음 덩어리
block.blackrock.name = 검은 바위 block.blackrock.name = 검은 바위
block.dirtblock.name = 흙 블럭 block.dirtblock.name = 흙 블럭
block.stonewall.name = 돌 벽 block.stonewall.name = 돌 벽
block.stonewall.fulldescription = 제일 좋은 벽. 초반 웨이브에서 코어와 포탑을 보호할 때 유용합니다. block.stonewall.fulldescription = 가장 안좋은 그냥 돌벽. 초반 코어와 포탑을 보호하는데 사용 할 수 있습니다.
block.ironwall.name = 철 벽 block.ironwall.name = 철 벽
block.ironwall.fulldescription = 기본적인 벽 블럭. 적으로부터 보호해 줍니다. block.ironwall.fulldescription = 기본적인 벽 블럭. 적으로부터 보호해 줍니다.
block.steelwall.name = 강철 벽 block.steelwall.name = 강철 벽
block.steelwall.fulldescription = 좋은 벽 블럭. 적으로부터의 공격을 대부분 보호해 줍니다. block.steelwall.fulldescription = 나름 좋은 벽 블럭. 적으로부터의 공격을 대부분 보호해 줍니다.
block.titaniumwall.name = 티타늄 벽 block.titaniumwall.name = 티타늄 벽
block.titaniumwall.fulldescription = 강력한 벽 블럭. 적으로부터의 공격을 거의 보호해 줍니다 block.titaniumwall.fulldescription = 강력한 벽 블럭. 적으로부터의 공격을 거의 보호해 줍니다
block.duriumwall.name = 디리듐 block.duriumwall.name = 합금
block.duriumwall.fulldescription = 매우 강력한 벽 블록. 게임내에서 가장 강력한 벽 입니다. block.duriumwall.fulldescription = 매우 강력한 벽 블록. 게임내에서 가장 강력한 벽 입니다.
block.compositewall.name = 복합 벽 block.compositewall.name = 복합 벽
block.steelwall-large.name = 대형 강철 벽 block.steelwall-large.name = 대형 강철 벽
block.steelwall-large.fulldescription = 좋은 벽 블럭. 2x2 크기에 큰 벽입니다. block.steelwall-large.fulldescription = 좋은 벽 블럭. 2x2 크기에 큰 벽입니다.
block.titaniumwall-large.name = 대형 티타늄 벽 block.titaniumwall-large.name = 대형 티타늄 벽
block.titaniumwall-large.fulldescription = 강력한 벽 블럭. 2x2 크기에 큰 벽입니다. block.titaniumwall-large.fulldescription = 강력한 벽 블럭. 2x2 크기에 큰 벽입니다.
block.duriumwall-large.name = 대형 디리듐 block.duriumwall-large.name = 대형 합금
block.duriumwall-large.fulldescription = 매우 강력한 벽 블록. 2x2 크기에 큰 벽입니다. block.duriumwall-large.fulldescription = 매우 강력한 벽 블록. 2x2 크기에 큰 벽입니다.
block.titaniumshieldwall.name = 쉴드 block.titaniumshieldwall.name = 보호막
block.titaniumshieldwall.fulldescription = 쉴드가 내장 된 강력한 벽 블럭입니다. 적의 총알을 흡수할 때 에너지를 사용합니다. 따라서 전력이 필요합니다. 전력을 공급할때 무선 공급기를 사용하면 편리합니다 block.titaniumshieldwall.fulldescription = 보호막이 내장 된 강력한 벽 블럭입니다.\n적의 총알을 흡수할 때 에너지를 사용하기 때문에 전력이 필요합니다.\n전력을 공급할때 무선 공급기를 사용하면 편리합니다 .
block.repairturret.name = 수리 포탑 block.repairturret.name = 수리포탑
block.repairturret.fulldescription = 범위 안에 있는 손상된 블록을 느린 속도로 수리합니다. 소량의 전력을 사용합니다. block.repairturret.fulldescription = 범위 안에 있는 손상된 블록을 느린 속도로 수리합니다. 소량의 전력을 사용합니다.
block.megarepairturret.name = 수리 포탑 II block.megarepairturret.name = 수리포탑 II
block.megarepairturret.fulldescription = 범위 안에 있는 손상된 블록을 수리합니다. 전력을 사용합니다. block.megarepairturret.fulldescription = 범위 안에 있는 손상된 블록을 수리합니다. 전력을 사용합니다.
block.shieldgenerator.name = 쉴드 발전기 block.shieldgenerator.name = 보호막 발전기
block.shieldgenerator.fulldescription = 고급 보호 블록. 반경 내의 모든 블록을 공격으로부터 보호합니다. 작동 중일 때는 느린 속도로 전력을 사용하지만 공격을 받았을 시 그만큼의 전력을 소모하게 됩니다. block.shieldgenerator.fulldescription = 고급 보호 블록. 반경 내의 모든 블록을 공격으로부터 보호합니다.\n작동 중일 때는 느린 속도로 전력을 사용하지만 공격을 받았을 시 그만큼의 전력을 소모하게 됩니다.
block.door.name = block.door.name =
block.door.fulldescription = 블록을 탭하여 열거 나 닫을 수 있습니다. block.door.fulldescription = 블록을 탭하여 열거나 닫을 수 있습니다.
block.door-large.name = 대형 문 block.door-large.name = 대형 문
block.door-large.fulldescription = 블록을 탭하여 열거 나 닫을 수 있습니다. 2x2 크기 입니다. block.door-large.fulldescription = 블록을 탭하여 열거나 닫을 수 있습니다. 2x2 크기 입니다.
block.conduit.name = 파이프 block.conduit.name = 파이프
block.conduit.fulldescription = 기본 액체 이송 블록. 컨베이어처럼 작동하지만 액체를 운반하는데 쓰입니다. 펌프 또는 다른 파이프와 함께 사용하는 것이 가장 좋습니다. 적과 플레이어가 액체를 건널때 쓰일수도 있습니다. block.conduit.fulldescription = 기본 액체 이송 블록. 컨베이어처럼 작동하지만 액체를 운반하는데 쓰입니다.\n펌프 또는 다른 파이프와 함께 사용하는 것이 가장 좋습니다.\n적과 플레이어가 액체를 건널때 쓰일수도 있습니다.
block.pulseconduit.name = 펄스 파이프 block.pulseconduit.name = 펄스 파이프
block.pulseconduit.fulldescription = 파이프에 상위호환, 액체를 더 빨리 운반하고 파이프보다 더 많이 저장합니다. block.pulseconduit.fulldescription = 파이프에 상위호환, 액체를 더 빨리 운반하고 파이프보다 더 많이 저장합니다.
block.liquidrouter.name = 액체 분배기 block.liquidrouter.name = 액체 분배기
block.liquidrouter.fulldescription = 분배기와 유사하게 작동합니다. 한 방향으로 액체를 입력받아 다른 방향으로 출력합니다. 하나의 파이프에서 다른 파이프들로 액체를 분배할 때 유용합니다. block.liquidrouter.fulldescription = 분배기와 유사하게 작동합니다.\n한 방향으로 액체를 입력받아 다른 방향으로 출력합니다. 하나의 파이프에서 다른 파이프들로 액체를 분배할 때 유용합니다.
block.conveyor.name = 컨베이어 block.conveyor.name = 컨베이어
block.conveyor.fulldescription = 기본 컨베이어. 아이템을 앞으로 운반시켜 자동으로 포탑이나 제작기에 넣어 줍니다. 회전이 가능합니다. 적과 플레이어의 다리가 될수 도 있습니다. block.conveyor.fulldescription = 기본 컨베이어.\n아이템을 앞으로 운반시켜 자동으로 포탑이나 제작기에 넣어 줍니다.\n회전이 가능하고 적과 플레이어의 다리가 될 수도 있습니다.
block.steelconveyor.name = 강철 컨베이어 block.steelconveyor.name = 강철 컨베이어
block.steelconveyor.fulldescription = 빠른 컨베이어, 표준 컨베이어보다 빠르게 아이템을 운반합니다. block.steelconveyor.fulldescription = 빠른 컨베이어, 표준 컨베이어보다 빠르게 아이템을 운반합니다.
block.poweredconveyor.name = 펄스 컨베이어 block.poweredconveyor.name = 펄스 컨베이어
block.poweredconveyor.fulldescription = 가장 빠른 컨베이어. 강철 컨베이어보다 빠르게 항목을 이동합니다. block.poweredconveyor.fulldescription = 가장 빠른 컨베이어. 강철 컨베이어보다 매우 항목을 이동합니다.
block.router.name = 분배기 block.router.name = 분배기
block.router.fulldescription = 한 방향으로 아이템을 받아 다른 방향으로 출력합니다. 하나의 컨베이어에서 다른 컨베이어들로 아이템을 분배할 때 유용합니다 block.router.fulldescription = 한 방향으로 아이템을 받아 다른 방향으로 출력합니다.\n하나의 컨베이어에서 다른 컨베이어들로 아이템을 분배할 때 유용합니다
block.junction.name = 교차기 block.junction.name = 교차기
block.junction.fulldescription = 두 개의 컨베이어를 교차시키는 역할을합니다. 교차된 위치의 다른 재료를 담고있는 2개의 컨베이어가 있는 상황에서 유용합니다. block.junction.fulldescription = 두 개의 컨베이어를 교차시키는 역할을합니다.\n교차된 위치의 다른 재료를 담고있는 2개의 컨베이어가 있는 상황에서 유용합니다.
block.conveyortunnel.name = 컨베이어 터널 block.conveyortunnel.name = 컨베이어 터널
block.conveyortunnel.fulldescription = 한블럭 단위로 아이템을 전송 합니다. 사용하려면 두 터널이 한블럭을 사이로 서로 반대 방향을 향하게하세요. block.conveyortunnel.fulldescription = 한블럭 단위로 아이템을 전송 합니다.\n이 블럭을 사용하려면 두 터널이 한블럭을 사이로 서로 반대 방향을 향하게하세요.
block.liquidjunction.name = 액체 교차기 block.liquidjunction.name = 액체 교차기
block.liquidjunction.fulldescription = 교차기와 유사합니다, 두 개 파이프를 교차시키는 역할을합니다. 교차된 위치의 다른 액체를 담고있는 2개의 파이프가 있는 상황에서 유용합니다. block.liquidjunction.fulldescription = 교차기와 유사하며 두 개 파이프를 교차시키는 역할을합니다.\n교차된 위치의 다른 액체를 담고있는 2개의 파이프가 있는 상황에서 유용합니다.
block.liquiditemjunction.name = 액체 아이템 교차기 block.liquiditemjunction.name = 액체 아이템 교차기
block.liquiditemjunction.fulldescription = 파이프와 컨베이어를 교차 시키는 역할을합니다. block.liquiditemjunction.fulldescription = 파이프와 컨베이어를 교차시키는 역할을합니다.
block.powerbooster.name = 무선 전력 공급기 block.powerbooster.name = 무선 전력 공급기
block.powerbooster.fulldescription = 반경 내에 무선으로 전력을 공급합니다. block.powerbooster.fulldescription = 반경 내에 무선으로 전력을 공급합니다.
block.powerlaser.name = 파워 레이저 block.powerlaser.name = 파워 레이저
block.powerlaser.fulldescription = 반경 내에 바라보는 블록에 전력을 전송하는 레이저를 쏩니다. 전력을 생성하지는 않습니다. 발전기 또는 다른 레이저와 함께 사용하는 것이 가장 좋습니다. block.powerlaser.fulldescription = 반경 내에 바라보는 블록에 전력을 전송하는 레이저를 쏩니다.\n전력을 생성하지는 않 발전기 또는 다른 레이저와 함께 사용하는 것이 가장 좋습니다.
block.powerlaserrouter.name = 레이저 분배기 block.powerlaserrouter.name = 레이저 분배기
block.powerlaserrouter.fulldescription = 한 번에 세 방향으로 전력을 전송하는 레이저를 쏩니다. 하나의 발전기에서 여러 개의 블록에 전원을 공급해야하는 경우에 유용합니다. block.powerlaserrouter.fulldescription = 한 번에 세 방향으로 전력을 전송하는 레이저를 쏩니다.\n하나의 발전기에서 여러 개의 블록에 전원을 공급해야하는 경우에 유용합니다.
block.powerlasercorner.name = 코너 레이저 block.powerlasercorner.name = 코너 레이저
block.powerlasercorner.fulldescription = 한 번에 두 방향으로 전력을 전송하는 레이저를 쏩니다. 하나의 발전기에서 여러 개의 블록에 전원을 공급해야하는 상황에서 유용합니다 block.powerlasercorner.fulldescription = 한 번에 두 방향으로 전력을 전송하는 레이저를 쏩니다.\n하나의 발전기에서 여러 개의 블록에 전원을 공급해야하는 상황에서 유용합니다
block.teleporter.name = 텔레포터 block.teleporter.name = 텔레포터
block.teleporter.fulldescription = 고급 아이템 전송 블록. 텔레포터는 동일한 색깔의 다른 텔레포터에게 아이템을 전송합니다. 같은 색의 텔레포터가 없다면 아무 것도 하지 않습니다. 동일한 색상의 여러 텔레포터가 있는 경우 임의의 하나에게 전송됩니다. 전원을 사용하고, 눌러서 색깔을 바꿀수 있습니다. block.teleporter.fulldescription = 고급 아이템 전송 블록.\n텔레포터는 동일한 색깔의 다른 텔레포터에게 아이템을 전송합니다.\n같은 색의 텔레포터가 없다면 아무것도 하지 않습니다.\n동일한 색상의 여러 텔레포터가 있는 경우 임의의 하나에게 전송됩니다.\n전원을 사용하고, 눌러서 색깔을 바꿀수 있습니다.
block.sorter.name = 필터 block.sorter.name = 필터
block.sorter.fulldescription = 유형별로 아이템을 정렬합니다. 통과할 아이템은 블록의 색상으로 표시됩니다. 통과된 아이템은 앞으로 출력 되고 나머지는 왼쪽과 오른쪽으로 출력됩니다. block.sorter.fulldescription = 유형별로 아이템을 정렬합니다.\n통과할 아이템은 블록의 색상으로 표시됩니다.\n통과된 아이템은 앞으로 출력 되고 나머지는 왼쪽과 오른쪽으로 출력됩니다.
block.core.name = 코어 block.core.name = 코어
block.pump.name = 펌프 block.pump.name = 펌프
block.pump.fulldescription = 물, 용암 또는 기름과 같은 액체를 퍼올립니다 붙어있는 파이프에게 액체를 배출합니다. block.pump.fulldescription = 물, 용암 또는 기름과 같은 액체를 퍼올립니다.\n붙어있는 파이프에게 액체를 배출합니다.
block.fluxpump.name = 플럭스 펌프 block.fluxpump.name = 플럭스 펌프
block.fluxpump.fulldescription = 빠른 펌프. 더 많은 액체를 저장하고 액체를 더 빠르게 퍼올립니다. block.fluxpump.fulldescription = 빠른 펌프. 더 많은 액체를 저장하고 액체를 더 빠르게 퍼올립니다.
block.smelter.name = 제련소 block.smelter.name = 제련소
block.smelter.fulldescription = 필수적인 제작 블록. 철 1개 석탄 1개를 넣으면 강철 1개를 생산합니다. block.smelter.fulldescription = 필수적인 제작 블록.\n1개의 1개 석탄을 연료로 넣으면 하나의 강철을 생성합니다.\n막힘을 방지하기 위해 철과 석탄을 다른 컨베이어에 넣는 것이 좋습니다.
block.crucible.name = 도가니 block.crucible.name = 도가니
block.crucible.fulldescription = 고급 제작 블록. 티타늄 1개 스틸 1개 석탄 1개를 넣으면 하나의 디리듐을 생산합니다. block.crucible.fulldescription = 고급 제작 블록.\n티타늄 1개, 강철 1개, 석탄 1개를 연료로 넣으면 하나의 합금을 출력합니다.\n막힘을 방지하기 위해 석탄, 강철 및 티타늄을 다른 컨베이어에 입력하는 것이 좋습니다.
block.coalpurifier.name = 석탄 추출기 block.coalpurifier.name = 석탄 추출기
block.coalpurifier.fulldescription = 간단한 추출기. 다량의 물과 돌이 공급되면 석탄을 생산합니다. block.coalpurifier.fulldescription = 간단한 추출기. 다량의 물과 돌이 공급되면 석탄을 생산합니다.
block.titaniumpurifier.name = 티타늄 추출기 block.titaniumpurifier.name = 티타늄 추출기
block.titaniumpurifier.fulldescription = 기본 추출기 블록. 다량의 물과 철이 공급되면 티타늄을 생산합니다. block.titaniumpurifier.fulldescription = 기본 추출기 블록. 다량의 물과 철이 공급되면 티타늄을 생산합니다.
block.oilrefinery.name = 정유소 block.oilrefinery.name = 정유소
block.oilrefinery.fulldescription = 다량의 기름을 석탄으로 정제합니다. 석탄이 부족할 때 석탄 기반 포탑에 연료를 공급하는 데 유용합니다. block.oilrefinery.fulldescription = 다량의 기름을 석탄으로 정제합니다.\n석탄이 부족할 때 석탄 기반 포탑에 연료를 공급하는 데 유용합니다.
block.stoneformer.name = 돌 생산기 block.stoneformer.name = 돌 생산기
block.stoneformer.fulldescription = 용암을 돌로 바꿉니다. 석탄 추출기용 돌을 대량 생산할 때 유용합니다. block.stoneformer.fulldescription = 용암을 돌로 바꿉니다. 석탄 추출기용 돌을 대량 생산할 때 유용합니다.
block.lavasmelter.name = 용암 제련소 block.lavasmelter.name = 용암 제련소
block.lavasmelter.fulldescription = 용암을 사용하여 철을 강철로 전환합니다. 제련소의 대안으로 쓸수 있습니다. 석탄이 부족한 상황에서 유용합니다. block.lavasmelter.fulldescription = 용암을 사용하여 철을 강철로 전환합니다. 제련소의 대안으로 쓸수 있습니다.\n석탄이 부족한 상황에서 유용합니다.
block.stonedrill.name = 돌 드릴 block.stonedrill.name = 돌 드릴
block.stonedrill.fulldescription = 필수 적인 드릴. 돌 타일 위에 놓으면 느린속도로 채굴합니다. block.stonedrill.fulldescription = 필수 적인 드릴. 돌 타일 위에 놓을 때 느린속도로 채굴합니다.
block.irondrill.name = 철 드릴 block.irondrill.name = 철 드릴
block.irondrill.fulldescription = 기본 드릴. 철 광석 타일에 놓으면 느린속도로 철을 채굴합니다. block.irondrill.fulldescription = 기본 드릴. 철 광석 타일에 놓으면 느린속도로 철을 채굴합니다.
block.coaldrill.name = 석탄 드릴 block.coaldrill.name = 석탄 드릴
block.coaldrill.fulldescription = 기본 드릴. 석탄 광석 타일 위에 놓으면 느린속도로 석탄을 채굴 합니다. block.coaldrill.fulldescription = 기본 드릴. 석탄 광석 타일 위에 놓으면 느린속도로 석탄을 채굴 합니다.
block.thoriumdrill.name = 우라늄 드릴 block.uraniumdrill.name = 우라늄 드릴
block.thoriumdrill.fulldescription = 고급 드릴. 우라늄 광석 타일 위에 놓으면 느린 속도로 우라늄을 채굴합니다. block.uraniumdrill.fulldescription = 고급 드릴. 우라늄 광석 타일 위에 놓으면, 느린 속도로 우라늄을 채굴합니다.
block.titaniumdrill.name = 티타늄 드릴 block.titaniumdrill.name = 티타늄 드릴
block.titaniumdrill.fulldescription = 고급 드릴. 티타늄 광석 타일 위에 놓으면 느린속도로 티타늄을 채굴합니다. block.titaniumdrill.fulldescription = 고급 드릴. 티타늄 광석 타일 위에 놓으면 느린속도로 티타늄을 채굴합니다.
block.omnidrill.name = 옴니 드릴 block.omnidrill.name = 옴니 드릴
@@ -450,30 +524,30 @@ block.combustiongenerator.fulldescription = 기름에서 전력을 생산합니
block.rtgenerator.name = 우라늄 발전기 block.rtgenerator.name = 우라늄 발전기
block.rtgenerator.fulldescription = 우라늄의 방사성 붕괴로부터 적은 양의 전력을 생성합니다. 4면에 레이저로 전력을 출력합니다. block.rtgenerator.fulldescription = 우라늄의 방사성 붕괴로부터 적은 양의 전력을 생성합니다. 4면에 레이저로 전력을 출력합니다.
block.nuclearreactor.name = 원자로 block.nuclearreactor.name = 원자로
block.nuclearreactor.fulldescription = 우라늄 발전기의 고급 버전. 우라늄으로부터 전력을 생산합니다. 냉각수가 필요하며 높은 휘발성을 가지고 있습니다. 부족한 양의 냉각수가 공급되면 크게 폭발 합니다. block.nuclearreactor.fulldescription = 우라늄 발전기의 고급 버전. 우라늄으로부터 전력을 생산합니다.\n냉각수가 필요하며 높은 휘발성을 가지고 있습니다.\n물 공급량이 부족할 경우 매우 크게 폭발 하여 다른 블록에게 큰 피해를 줍니다.
block.turret.name = 포탑 block.turret.name = 포탑
block.turret.fulldescription = 간단한 포탑. 탄약으로 돌을 사용합니다. 이중 포탑보다 약간 넓은 범위를가집니다. block.turret.fulldescription = 간단한 포탑. 탄약으로 돌을 사용합니다. 이중 포탑보다 약간 넓은 범위를가집니다.
block.doubleturret.name = 이중 포탑 block.doubleturret.name = 2단 포탑
block.doubleturret.fulldescription = 포탑의 상위 버전입니다. 탄약으로 돌을 사용합니다. 더 많은 데미지를 주지만 범위는 낮습니다. 두발에 총알을 쏩니다 block.doubleturret.fulldescription = 포탑의 상위 버전입니다. 탄약으로 돌을 사용합니다. 더 많은 데미지를 주지만 범위는 낮습니다. 총알 2발을 동시에 발사합니다.
block.machineturret.name = 게틀링 터렛 block.machineturret.name = 게틀링 포탑
block.machineturret.fulldescription = 표준적인 포탑. 탄약으로 철을 사용합니다. 적당한 데미지에 빠른 발사 속도를 가지고 있습니다. block.machineturret.fulldescription = 표준적인 포탑. 탄약으로 철을 사용합니다. 적당한 데미지에 빠른 발사 속도를 가지고 있습니다.
block.shotgunturret.name = 스플리터 터렛 block.shotgunturret.name = 스플리터 포탑
block.shotgunturret.fulldescription = 표준적인 포탑. 탄약으로 철을 사용합니다. 7발에 총알을 쏩니다. 범위가 낮지만 게틀링 포탑보다 높은 데미지를 가지고 있습니다. block.shotgunturret.fulldescription = 표준적인 포탑. 탄약으로 철을 사용합니다. 7발에 총알을 쏩니다. 범위가 낮지만 게틀링 포탑보다 높은 데미지를 가지고 있습니다.
block.flameturret.name = 화염 터렛 block.flameturret.name = 화염 포탑
block.flameturret.fulldescription = 고급 근거리 포탑. 탄약으로 석탄을 사용합니다. 범위는 낮지만 높은 데미지를 가지고 있습니다, 벽 뒤에 두는것이 좋습니다. block.flameturret.fulldescription = 고급 근거리 포탑. 탄약으로 석탄을 사용합니다. 범위는 낮지만 높은 데미지를 가지고 있습니다, 벽 뒤에 두는것이 좋습니다.
block.sniperturret.name = 레일 터렛 block.sniperturret.name = 레일건 포탑
block.sniperturret.fulldescription = 고급 장거리 포탑. 탄약으로 강철을 사용합니다. 매우 높은 데미지를 입지만 발사 속도는 낮습니다. 비싸지 만 사용 범위에 따라 적의 선과 멀리 떨어질 수 있습니다. block.sniperturret.fulldescription = 고급 장거리 포탑. 탄약 강철을 사용합니다. 매우 높은 데미지를 입힐 수 있지만 발사 속도는 낮습니다.\n사용 범위에 따라 적의 공격 범위 밖에서 공격할 스 있습니다.
block.mortarturret.name = 플랭크 터렛 block.mortarturret.name = 플랭크 포탑
block.mortarturret.fulldescription = 고급 범위공격 터렛. 탄약으로 석탄을 사용합니다. 매우 느린 발사 속도와 총알을 가지고 있지만, 단일 타겟 데미지와 스플래쉬 데미지는 매우 높습니다. 뭉쳐있는 적군에게 유용합니다. block.mortarturret.fulldescription = 고급 저 정확도 스플래쉬 데미지 포탑. 탄약 석탄을 사용합니다. 파편으로 폭발하는 총알을 사용하고. 많은 적군에게 유용합니다.
block.laserturret.name = 레이저 포탑 block.laserturret.name = 레이저 포탑
block.laserturret.fulldescription = 고급 싱글 타겟 터렛. 전력을 사용합니다. 좋은 중거리 포위 터렛. 단일 타겟 만. 절대 놓치지 마십시오. block.laserturret.fulldescription = 고급 단일 대상 공격 포탑. 전력을 사용합니다. 중간 크기의 사거리를 가지고 있고 절대 빗나가지 않습니다.
block.waveturret.name = 테슬라 포탑 block.waveturret.name = 테슬라 포탑
block.waveturret.fulldescription = 고급 다중 타겟 포탑. 전력을 사용합니다. 중간 범위를 가지고 있으며. 타겟을 놓칠 염려가 없습니다. 데미지는 거의 없지만 연속공격으로 여러 명의 적들을 동시에 때릴 수 있습니다. block.waveturret.fulldescription = 고급 다중 타겟 포탑. 전력을 사용합니다. 중간크기의 사거리를 가지고 있으며. 절대 빗나가지 않으므로 걱정할 염려가 없습니다.\n데미지는 거의 없지만 연속공격으로 여러 명의 적들을 동시에 공격 할 수 있습니다.
block.plasmaturret.name = 플라즈마 포탑 block.plasmaturret.name = 플라즈마 포탑
block.plasmaturret.fulldescription = 포탑의 최고급 버전. 석탄을 탄약으로 사용합니다. 매우 높은 데미지를 가지고 있고, 근거리와 중거리의 걸쳐있습니다. block.plasmaturret.fulldescription = 포탑의 최고급 버전. 석탄을 탄약으로 사용합니다.\n엄청나게 높은 데미지와 근거리와 중거리 사이 정도의 사거리를 가지고 있습니다.
block.chainturret.name = 체인 포탑 block.chainturret.name = 체인 포탑
block.chainturret.fulldescription = 궁극에 고속 포탑. 우라늄을 탄약으로 사용합니다. 높은 발사속도에 적당한 사정거리를 가지고 있고 대형 슬러그를 쏩니다. 여러 타일에 걸쳐 있으며. 매우 아픕니다. block.chainturret.fulldescription = 궁극에 고속 포탑. 우라늄을 탄약으로 사용합니다. 높은 발사속도에 적당한 사정거리를 가지고 있고 대형 알을 발사합니다.\n2x2 크기이고, 매우 아픕니다.
block.titancannon.name = 타이탄 캐논 block.titancannon.name = 타이탄 캐논
block.titancannon.fulldescription = 궁극의 장거리 포탑. 우라늄을 탄약으로 사용합니다. 적당한 발사속도에 긴 사정거리를 가지고 있고 여러 타일에 걸쳐 있으며. 매우 아픕니다 block.titancannon.fulldescription = 궁극의 장거리 포탑. 우라늄을 탄약으로 사용합니다. 적당한 발사속도에 긴 사정거리를 가지고 있고 3x3 크기이며, 매우 아픕니다
block.playerspawn.name = 플레이어 스폰 지점 block.playerspawn.name = 플레이어 스폰 지점
block.enemyspawn.name = 적 스폰 지점 block.enemyspawn.name = 적 스폰 지점

View File

@@ -0,0 +1,551 @@
text.about = [ROYAL] Anuken tarafından oluşturuldu [] - [SKY] anukendev@gmail.com [] Aslen [turuncu] GDL [] Metal Monstrosity Jam. Kredi: - [SARI] ile yapılan SFX bfxr [] - [YEŞİL] RoccoW tarafından yapılan müzik [] / [kireç] bulunan FreeMusicArchive.org [] Özel teşekkürler: - [mercan] MitchellFJN []: Kapsamlı oyun testi ve geri bildirim - [sky] Luxray5474 []: wiki çalışması, kod katkıları - [kireç] Epowerj []: kod sistemi yapılandırması, icon - itch.io ve Google Play'deki tüm beta test kullanıcıları\n
text.credits = Yapımcılar
text.discord = Mindustry Discord'una katılın!
text.changes = [SCARLET] Dikkat! [] Bazı önemli oyun mekanikleri değişti. - [Aksanın] teletaşıyıcı [] şimdi artık gücü kullanıyor. - [accent] dökümcü [] ve [accent] pota [] artık bir maksimum ürün kapasitesine sahip. - [Aksan] pota [] artık yakıt olarak kömür gerektiriyor.
text.link.discord.description = Resmi Mindustry Discord iletişim kanalı
text.link.github.description = Oyunun kaynak kodu
text.link.dev-builds.description = Geliştirme altında olan sürüm
text.link.trello.description = Planlanan özellikler için resmi Trello Bülteni
text.link.itch.io.description = PC yüklemeleri ve web sürümü ile itch.io sayfası
text.link.google-play.description = Google Play mağaza sayfası
text.link.wiki.description = Resmi Mindustry Wikipedi'si
text.linkfail = Bağlantıılamadı! URL, yazı tahtanıza kopyalandı.
text.editor.web = Web sürümü editörü desteklemiyor! Editörü kullanmak için oyunu indirin.
text.multiplayer.web = Oyunun bu sürümü çok oyunculuyu desteklemiyor! Tarayıcınızdan çok oyunculu oynamak için, itch.io sayfasındaki \"çok oyunculu web sürümü\" bağlantısını kullanın.
text.gameover = Çekirdek yok edildi.
text.highscore = [SARI] Yeni yüksek puan!
text.lasted = Dalgaya kadar sürdün
text.level.highscore = Yüksek Puan: [accent] {0}
text.level.delete.title = Silmeyi onaylayın
text.level.delete = \"[Orange] {0} \" Haritayı silmek istediğinizden emin misiniz?
text.level.select = Seviye Seç
text.level.mode = Oyun Modu
text.savegame = Oyunu Kaydet
text.loadgame = Oyunu yükle
text.joingame = Oyuna katıl
text.newgame = Yeni Oyun
text.quit = Çık
text.about.button = Hakkında
text.name = Adı:
text.public = Herkese açık
text.players = 1090 oyuncu çevrimiçi
text.server.player.host = Sunucu
text.players.single = {0} Oyuncu Çevrimiçi
text.server.mismatch = Paket hatası: olası istemci / sunucu sürümü uyuşmazlığı. Siz ve ev sahibi Mindustry'nin en son sürümüne sahip olduğunuzdan emin olun!
text.server.closing = [accent] Sunucu kapatılıyor ...
text.server.kicked.kick = Sunucudan kovuldun!
text.server.kicked.invalidPassword = Geçersiz şifre!
text.server.kicked.clientOutdated = Oyun sürümünüz geçerli değil. Oyununu güncelleyin!
text.server.kicked.serverOutdated = Eski sunucu! Ev sahibinden güncellemesini isteyin!
text.server.kicked.banned = Bu sunucudan yasaklandınız.
text.server.kicked.recentKick = Son zamanlarda tekmelendin. Tekrar bağlanmadan önce bekleyin.
text.server.connected = {0} katıldı.
text.server.disconnected = {0} bağlantısı kesildi.
text.nohost = Özel bir haritada sunucuyu barındıramıyor!
text.host.info = [Vurgu] ana bilgisayarı [] düğmesi, [657] [65] [65] ve [65] [6568] bağlantı noktalarında bir sunucuyu barındırır. [] Aynı [LIGHT_GRAY] wifi veya yerel ağ [] üzerindeki herkes sunucunuzu sunucularında görebilir. liste. Kişilerin IP tarafından herhangi bir yerden bağlanabilmesini istiyorsanız [vurgu] bağlantı noktası iletme [] gereklidir. [LIGHT_GRAY] Not: Birisi LAN oyununuza bağlanırken sorun yaşıyorsa, güvenlik duvarı ayarlarınızda Mindustry'e yerel ağınıza erişebildiğinizden emin olun.
text.join.info = Burada, bağlanmak için yerel ağ [] sunucularına bağlanmak ya da [aksan] sunucularını bulmak için bir [vurgu] sunucunun IP [] girebilirsiniz. Hem LAN hem de WAN çok oyunculu desteklenir. [LIGHT_GRAY] Not: Otomatik bir global sunucu listesi yoktur; Birisine IP ile bağlanmak isterseniz, ana bilgisayardan kendi IP adreslerini sormanız gerekir.
text.hostserver = Oyunu Sun
text.host = evsahibi
text.hosting = [accent] Sunucu açılıyor ...
text.hosts.refresh = Yenile
text.hosts.discovering = LAN oyunlarını keşfetme
text.server.refreshing = Canlandırıcı sunucu
text.hosts.none = [lightgray] Hayır LAN oyunları bulundu!
text.host.invalid = [scarlet] Ana bilgisayara bağlanılamıyor.
text.server.friendlyfire = Dost ateşi
text.trace = Oyuncuyu Takip Et
text.trace.playername = Oyuncu adı: [accent] {0}
text.trace.ip = IP: [vurgu] {0}
text.trace.id = Benzersiz kimlik: [accent] {0}
text.trace.android = Android : [accent] {0}
text.trace.modclient = Özel Alıcı: [accent] {0}
text.trace.totalblocksbroken = Toplam kırık blok: [accent] {0}
text.trace.structureblocksbroken = Kırılan yapı blokları: [accent] {0}
text.trace.lastblockbroken = Kırılan son blok: [accent] {0}
text.trace.totalblocksplaced = Toplam blok yerleştirildi: [accent] {0}
text.trace.lastblockplaced = Konulan son blok: [accent] {0}
text.invalidid = Geçersiz alıcı kimliği! Bir hata raporu gönderin.
text.server.bans = yasaklar
text.server.bans.none = Yasaklanmış oyuncu bulunamadı!
text.server.admins = Yöneticiler
text.server.admins.none = Yönetici bulunamadı!
text.server.add = Sunucu ekle
text.server.delete = Bu sunucuyu silmek istediğinizden emin misiniz?
text.server.hostname = Sun
text.server.edit = Sunucuyu Düzenle
text.server.outdated = [crimson] Eski Sunucu!
text.server.outdated.client = [crimson] Eski Alıcı!
text.server.version = [lightgray] Sürüm: {0}
text.server.custombuild = [sarı] Özel Yapım
text.confirmban = Bu oyuncuyu yasaklamak istediğinizden emin misiniz?
text.confirmunban = Bu oyuncunun yasağını kaldırmak istediğinden emin misin?
text.confirmadmin = Bu oyuncunun yönetici yapmak istediğinden emin misin?
text.confirmunadmin = Bu oyuncudan yönetici durumunu kaldırmak istediğinizden emin misiniz?
text.joingame.byip = IP ile Katılın ...
text.joingame.title = Oyuna katılmak
text.joingame.ip = IP:
text.disconnect = Bağlantı Kesildi
text.disconnect.data = Dünya verileri yüklenemedi!
text.connecting = [Vurgu] bağlanıyor ...
text.connecting.data = [accent] Dünya verileri yükleniyor ...
text.connectfail = [crimson] Sunucuya bağlanılamadı: [orange] {0}
text.server.port = Liman
text.server.addressinuse = Adres çoktan kullanımda!
text.server.invalidport = Bağlantı noktası numarası geçersiz.
text.server.error = [crimson] Sunucu barındırma hatası: [orange] {0}
text.tutorial.back = <Önceki
text.tutorial.next = İleri >
text.save.new = 6349,Yeni Kayıt
text.save.overwrite = Bu kayıt yuvasının üzerine yazmak istediğinizden emin misiniz?
text.overwrite = Üzerine Yaz
text.save.none = Hiçbir kayıt bulunamadı!
text.saveload = [Vurgu] Kaydediliyor ...
text.savefail = Oyun kaydedilemedi!
text.save.delete.confirm = Bu kaydı silmek istediğinizden emin misiniz?
text.save.delete = Sil
text.save.export = Dışa Aktar
text.save.import.invalid = [turuncu] Bu kayıt geçersiz!
text.save.import.fail = [crimson] Kayıt oyuna aktarılamadı : [orange] {0}
text.save.export.fail = [crimson] Kayıt dışa aktarılamadı: [orange] {0}
text.save.import = İçe Aktar
text.save.newslot = İsmi kaydet:
text.save.rename = Yeniden Adlandır
text.save.rename.text = Yeni İsim:
text.selectslot = Bir kayıt seçin.
text.slot = [accent] Yuva {0}
text.save.corrupted = [orange] Kayıt dosyası bozuk veya geçersiz!
text.empty = <Boş>
text.on = ık
text.off = Kapalı
text.save.autosave = Otomatik kaydetme: {0}
text.save.map = harita
text.save.wave = Dalga
text.save.difficulty = zorluk
text.save.date = Son Kaydedilen: {0}
text.confirm = Onayla
text.delete = Sil
text.ok = Tamam
text.open = ık
text.cancel = İptal
text.openlink = Linki aç
text.copylink = Bağlantıyı kopyala
text.back = Geri
text.quit.confirm = Çıkmak istediğinden emin misin?
text.changelog.title = Değişiklik listesi
text.changelog.loading = Değişiklik listesi yükleniyor
text.changelog.error.android = [turuncu] Android'da olan hata nedeniyle değişiklik listesi görüntülenemiyor.
text.changelog.error = [scarlet] Değişiklik listesi alma hatası! İnternet bağlantınızı kontrol edin.
text.changelog.current = [sarı] [[Güncel versiyon]
text.changelog.latest = [turuncu] [[Son sürüm]
text.loading = [Vurgu] Yükleniyor ...
text.wave = [turuncu] Dalga {0}
text.wave.waiting = {0} içinde dalga
text.waiting = Bekleniyor
text.enemies = {0} Düşmanlar
text.enemies.single = {0} Düşman
text.loadimage = Resmi yükle
text.saveimage = Resmi Kaydet
text.oregen = Maden Üretimi
text.editor.badsize = [orange] Resim boyutları geçersiz! [] Geçerli harita boyutları: {0}
text.editor.errorimageload = Resim dosyası yüklenirken hata oluştu: [orange] {0}
text.editor.errorimagesave = Resim dosyası kaydedilirken hata oluştu: [orange] {0}
text.editor.generate = Üretmek
text.editor.resize = Yeniden Boyutlandırma
text.editor.loadmap = Harita Yükle
text.editor.savemap = Harita Kaydet
text.editor.loadimage = Resmi yükle
text.editor.saveimage = Resmi Kaydet
text.editor.unsaved = [scarlet] Kaydedilmemiş değişiklikleriniz var! [] Çıkmak istediğinizden emin misiniz?
text.editor.brushsize = Fırça boyutu: {0}
text.editor.noplayerspawn = Bu haritanın oyuncu spawnpoint'i yok!
text.editor.manyplayerspawns = Haritalar, birden fazla oyuncu spawnpoint'e sahip olamaz!
text.editor.manyenemyspawns = {0} düşman spawnpoint {0}'den daha fazlası olamaz!
text.editor.resizemap = Haritayı Yeniden Boyutlandır
text.editor.resizebig = [Kızıl] Uyarı! [] 256'dan büyük haritalar yavaş ve dengesiz olabilir.
text.editor.mapname = Harita Adı
text.editor.overwrite = [Vurgu] Uyarı! Bu mevcut bir haritanın üzerine yazar.
text.editor.failoverwrite = [crimson] Varsayılan haritanın üzerine yazılamıyor!
text.editor.selectmap = Yüklenecek bir harita seçin:
text.width = Genişliği:
text.height = Boy:
text.randomize = Rasgele seçmek
text.apply = Uygula
text.update = Güncelle
text.menu = Menü
text.play = Oyna
text.load = Yükle
text.save = Kaydet
text.language.restart = Lütfen dil ayarlarının etkili olması için oyununuzu yeniden başlatın.
text.settings.language = Dil
text.settings = Ayarlar
text.tutorial = Eğitim
text.editor = Editör
text.mapeditor = Harita Editörü
text.donate = Bağışlamak
text.settings.reset = Varsayılanlara Dön
text.settings.controls = kontroller
text.settings.game = Oyun
text.settings.sound = Ses
text.settings.graphics = Grafik
text.upgrades = Geliştirmeler
text.purchased = [KİREÇ] Yap၊ld၊
text.weapons = Silahlar
text.paused = Duraklatıldı
text.respawn = Saniye içinde yeniden doğacaksınız.
text.info.title = [Vurgu] Bilgi
text.error.title = [crimson] Bir hata oluştu
text.error.crashmessage = [SCARLET] Bir kilitlenme meydana getiren beklenmeyen bir hata oluştu. [] Lütfen geliştiriciye bu hatanın gerçekleştiği koşulları bildirin: [ORANGE] anukendev@gmail.com []
text.error.crashtitle = Bir hata oluştu
text.mode.break = Ara verme modu: {0}
text.mode.place = Döşeme modu: {0}
placemode.hold.name = hat
placemode.areadelete.name = alan
placemode.touchdelete.name = dokun
placemode.holddelete.name = tut
placemode.none.name = Yok
placemode.touch.name = dokun
placemode.cursor.name = İmleç
text.blocks.extrainfo = [accent] fazladan blok bilgisi:
text.blocks.blockinfo = Blok Bilgisi
text.blocks.powercapacity = Güç kapasitesi
text.blocks.powershot = Güç / atış
text.blocks.powersecond = Güç / saniye
text.blocks.powerdraindamage = Güç tahliye / hasar
text.blocks.shieldradius = Kalkan Yarıçapı
text.blocks.itemspeedsecond = Ürün Hız / saniye
text.blocks.range = Menzil
text.blocks.size = Boyut
text.blocks.powerliquid = Güç / Sıvı
text.blocks.maxliquidsecond = Maksimum sıvı / saniye
text.blocks.liquidcapacity = Sıvı kapasitesi
text.blocks.liquidsecond = Sıvı / saniye
text.blocks.damageshot = Zarar / atış
text.blocks.ammocapacity = Mermi kapasitesi
text.blocks.ammo = Cephane:
text.blocks.ammoitem = Cephane / öğe
text.blocks.maxitemssecond = Maksimum öğe / saniye
text.blocks.powerrange = Güç aralığı
text.blocks.lasertilerange = Lazer karo aralığı
text.blocks.capacity = Kapasite
text.blocks.itemcapacity = Ürün kapasitesi
text.blocks.maxpowergenerationsecond = Maksimum Güç Üretimi / saniye
text.blocks.powergenerationsecond = Güç Üretimi / saniye
text.blocks.generationsecondsitem = Nesil Saniye / öğe
text.blocks.input = giriş
text.blocks.inputliquid = Giriş sıvı
text.blocks.inputitem = Giriş öğesi
text.blocks.output = Çıktı
text.blocks.secondsitem = Saniye / öğe
text.blocks.maxpowertransfersecond = Maksimum güç aktarımı / saniye
text.blocks.explosive = Çok patlayıcı!
text.blocks.repairssecond = Tamir / saniye
text.blocks.health = Can
text.blocks.inaccuracy = yanlışlık
text.blocks.shots = atışlar
text.blocks.shotssecond = Çekim / saniye
text.blocks.fuel = Yakıt
text.blocks.fuelduration = Yakıt Süresi
text.blocks.maxoutputsecond = Maksimum çıkış / saniye
text.blocks.inputcapacity = Giriş kapasitesi
text.blocks.outputcapacity = Çıkış kapasitesi
text.blocks.poweritem = Güç / Ürün
text.placemode = Yer Modu
text.breakmode = Mola modu
text.health = sağlık
setting.difficulty.easy = kolay
setting.difficulty.normal = orta
setting.difficulty.hard = zor
setting.difficulty.insane = deli
setting.difficulty.purge = tasfiye
setting.difficulty.name = Zorluk:
setting.screenshake.name = Ekran Sallamak
setting.smoothcam.name = Pürüzsüz kamera
setting.indicators.name = Düşman Göstergeleri
setting.effects.name = Görüntü Efektleri
setting.sensitivity.name = Denetleyici hassasiyeti
setting.saveinterval.name = Otomatik Kaydetme Aralığı
setting.seconds = saniye
setting.fullscreen.name = Tam ekran
setting.multithread.name = Çok iş parçacığı
setting.fps.name = Saniyede ... Kare göstermek
setting.vsync.name = VSync
setting.lasers.name = Güç Lazerleri Göster
setting.healthbars.name = Varlık Sağlık çubuklarını göster
setting.pixelate.name = Piksel Ekran
setting.musicvol.name = Müzik sesi
setting.mutemusic.name = Müziği Kapat
setting.sfxvol.name = SFX Hacmi
setting.mutesound.name = Sesi kapat
map.maze.name = Labirent
map.fortress.name = Kale
map.sinkhole.name = düden
map.caves.name = mağaralar
map.volcano.name = volkan
map.caldera.name = kaldera
map.scorch.name = alazlamak
map.desert.name = çöl
map.island.name = ada
map.grassland.name = Çayır
map.tundra.name = tundra
map.spiral.name = sarmal
map.tutorial.name = Eğitim
tutorial.intro.text = [sarı] Eğiticiye hoşgeldiniz. [] Başlamak için 'ileri' ye basın.
tutorial.moveDesktop.text = Taşımak için [turuncu] [[WASD] [] tuşlarını kullanın. Destek için [turuncu] shift [] tuşunu basılı tutun. Yakınlaştırmak veya uzaklaştırmak için [turuncu] kaydırma tekerini [] kullanırken [turuncu] CTRL [] tuşunu basılı tutun.
tutorial.shoot.text = Hedeflemek için farenizi kullanın, [turuncu] sol fare tuşunu [] vurun. [Sarı] hedef [] üzerinde çalışmayı deneyin.
tutorial.moveAndroid.text = Görünümü kaydırmak için, bir parmağınızı ekran boyunca sürükleyin. Yakınlaştırmak veya uzaklaştırmak için sıkıştırın ve sürükleyin.
tutorial.placeSelect.text = Sağ alttaki blok menüsünden [sarı] bir konveyör [] seçmeyi deneyin.
tutorial.placeConveyorDesktop.text = [Turuncu] [[scrollwheel] [] tuşunu kullanarak konveyörü [turuncu] ileriye [] getirin ve [turuncu] [[sol fare tuşu] [] düğmesini kullanarak [sarı] işaretli konuma [] yerleştirin.
tutorial.placeConveyorAndroid.text = [Turuncu] [[döndürme düğmesi] [] düğmesini kullanarak konveyörü [turuncu] ileriye [] doğru döndürün, bir parmağınızla konumuna sürükleyin, ardından [turuncu] kullanarak [sarı] işaretli konuma [] yerleştirin [[onay işareti][].
tutorial.placeConveyorAndroidInfo.text = Alternatif olarak, [turuncu] [[dokunma modu] [] moduna geçmek için sol alt taraftaki artı simgesini ve ekrana dokunarak blokları yerleştirebilirsiniz. Dokunmatik modda, bloklar soldaki ok ile döndürülebilir. Denemek için [sarı] sonraki [] tuşuna basın.
tutorial.placeDrill.text = Şimdi, işaretlenmiş konuma bir [sarı] taş matkap [] seçin ve yerleştirin.
tutorial.blockInfo.text = Bir blok hakkında daha fazla bilgi edinmek isterseniz, açıklamayı okumak için sağ üstteki [turuncu] soru işaretine [] dokunabilirsiniz.
tutorial.deselectDesktop.text = [Turuncu] [[sağ fare tuşu] [] kullanarak bir bloğu kaldırabilirsiniz.
tutorial.deselectAndroid.text = [Turuncu] X [] düğmesine basarak bir bloğun seçimini kaldırabilirsiniz.
tutorial.drillPlaced.text = Matkap şimdi [sarı] taş üretecek, [] konveyör üzerine çıkacak, daha sonra [sarı] çekirdeğe [] hareket ettirilecektir.
tutorial.drillInfo.text = Farklı cevherlerin farklı matkaplara ihtiyacı vardır. Taş taş matkaplar gerektirir, demir demir matkaplar gerektirir, vb.
tutorial.drillPlaced2.text = Öğeleri çekirdeğe taşımak, onları sol üstteki [sarı] öğe envanterinize [] yerleştirir. Yerleştirme blokları, envanterinizdeki öğeleri kullanır.
tutorial.moreDrills.text = Birçok matkap ve konveyörü birbirine bağlayabilirsiniz.
tutorial.deleteBlock.text = Silmek istediğiniz blokta [turuncu] sağ fare düğmesine [] tıklayarak blokları silebilirsiniz. Bu konveyörü silmeyi deneyin.
tutorial.deleteBlockAndroid.text = Alt soldaki [turuncu] kesme modu menüsünde [] artı işaretini [] seçerek ve bir bloka dokunarak blokları [turuncu] ile silebilirsiniz. Bu konveyörü silmeyi deneyin.
tutorial.placeTurret.text = Şimdi, [sarı] işaretli konuma [] [sarı] bir taret [] seçin ve yerleştirin.
tutorial.placedTurretAmmo.text = Bu taret artık konveyör [sarı] mermiyi [] kabul edecektir. Üzerinde gezdirerek ne kadar cephane olduğunu ve yeşil renkli [[yeşil] çubuğunu [] kontrol ederek görebilirsiniz.
tutorial.turretExplanation.text = Taretler, yeterli mermiye sahip oldukları sürece otomatik olarak en yakın düşmana ateş ederler.
tutorial.waves.text = Her [sarı] 60 [] saniyede, [mercan] düşmanlardan oluşan bir dalga [] belirli yerlerde doğacak ve çekirdeği yok etmeye çalışacaktır.
tutorial.coreDestruction.text = Hedefiniz [sarı] çekirdeği [] savunmaktır. Çekirdek yok edilirse, [mercan] oyunu kaybedersiniz [].
tutorial.pausingDesktop.text = Bir ara vermeniz gerekiyorsa, oyunu duraklatmak için sol üstteki [turuncu] duraklat [] düğmesine veya [turuncu] boşluk [] tuşuna basın. Duraklatılırken blokları seçebilir ve yerleştirebilirsiniz, ancak hareket edemez veya ateş edemezsiniz.
tutorial.pausingAndroid.text = Bir ara vermeniz gerekirse, oyunu duraklatmak için sol üstteki [turuncu] duraklatma düğmesine [] basın. Duraklatılırken hala blokları kırıp yerleştirebilirsiniz.
tutorial.purchaseWeapons.text = Alt soldaki yükseltme menüsünü açarak, makineniz için yeni [sarı] silahlar [] satın alabilirsiniz.
tutorial.switchWeapons.text = Silahları, sol alt taraftaki simgesini tıklayarak veya sayıları [turuncu] [[1-9] [] kullanarak değiştirebilirsiniz.
tutorial.spawnWave.text = İşte şimdi bir dalga geliyor. Onları yok et.
tutorial.pumpDesc.text = Daha sonraki dalgalarda, jeneratörler veya aspiratörler için sıvı dağıtmak için [sarı] pompaları [] kullanmanız gerekebilir.
tutorial.pumpPlace.text = Pompalar, matkaplar yerine benzer şekilde çalışırlar; [Sarı] belirlenmiş yağa [] bir pompa yerleştirmeyi deneyin.
tutorial.conduitUse.text = Şimdi pompadan önde giden bir [turuncu] kablo kanalı [] yerleştirin.
tutorial.conduitUse2.text = Ve birkaç tane daha ...
tutorial.conduitUse3.text = Ve birkaç tane daha ...
tutorial.generator.text = Şimdi, kanalın ucunda bir [turuncu] yanma jeneratörü [] bloğu yerleştirin.
tutorial.generatorExplain.text = Bu jeneratör şimdi yağdan [sarı] güç [] oluşturacaktır.
tutorial.lasers.text = Güç [sarı] güç lazerleri [] kullanılarak dağıtılır. Döndür ve buraya bir tane yerleştir.
tutorial.laserExplain.text = Jeneratör şimdi gücü lazer bloğuna taşıyacaktır. Bir [sarı] opak [] ışını, şu anda gücü iletmekte olduğu anlamına gelir ve [sarı] saydam [] ışını, bunun olmadığı anlamına gelir.
tutorial.laserMore.text = Bir bloğun üzerine geldiğinde ne kadar gç olduğunu ve üst taraftaki [sarı] sarı çubuğu [] kontrol ederek kontrol edebilirsiniz.
tutorial.healingTurret.text = Bu lazer bir [kireç] onarım tareti [] için kullanılabilir. Bir tane buraya yerleştirin.
tutorial.healingTurretExplain.text = Gücü olduğu sürece, bu taret yakındaki blokları tamir eder. [] en yakın zamanda bu bloku temin edin!
tutorial.smeltery.text = Pek çok blok, [turuncu] yapılabilmesi için çelik gerektirir ve bu da [turuncu] bir dökümcünün [] yapılmasını gerektirir. Bir tane buraya yerleştirin.
tutorial.smelterySetup.text = Bu dökümcü kömürü yakıt olarak kullanarak, demirden [turuncu] çelik [] üretecek.
tutorial.tunnelExplain.text = Ayrıca, eşyaların bir [turuncu] tünel bloğundan [] geçtiğini ve taş bloktan geçerek diğer tarafta ortaya çıktığını unutmayın. Tünellerin yalnızca 2 bloğa kadar gidebileceğini unutmayın.
tutorial.end.text = Ve bu dersi bitirir! İyi şanslar!
text.keybind.title = Tuşları yeniden ayarla
keybind.move_x.name = sağ / sol
keybind.move_y.name = yukarı / aşağı
keybind.select.name = seçmek
keybind.break.name = kırmak
keybind.shoot.name = ateş etme
keybind.zoom_hold.name = tut ve büyüt
keybind.zoom.name = Yakınlaştır
keybind.block_info.name = blok bilgisi
keybind.menu.name = menü
keybind.pause.name = duraklatma
keybind.dash.name = tire
keybind.chat.name = Sohbet
keybind.player_list.name = oyuncu listesi
keybind.console.name = KONTROL MASASI
keybind.rotate_alt.name = rotate_alt
keybind.rotate.name = Döndür
keybind.weapon_1.name = weapon_1
keybind.weapon_2.name = weapon_2
keybind.weapon_3.name = weapon_3
keybind.weapon_4.name = weapon_4
keybind.weapon_5.name = weapon_5
keybind.weapon_6.name = weapon_6
mode.text.help.title = Modların açıklaması
mode.waves.name = dalgalar
mode.waves.description = normal mod. sınırlı kaynaklar ve otomatik gelen dalgalar.
mode.sandbox.name = Limitsiz Oynama
mode.sandbox.description = sonsuz kaynaklar ve dalgalar için zamanlayıcı yok.
mode.freebuild.name = Özgür Oynama
mode.freebuild.description = sınırlı kaynaklar ve dalgalar için zamanlayıcı yok.
upgrade.standard.name = standart
upgrade.standard.description = Standart mech.
upgrade.blaster.name = blaster
upgrade.blaster.description = Yavaş, zayıf bir mermi ateş eder.
upgrade.triblaster.name = triblaster
upgrade.triblaster.description = Bir yayında 3 mermi ateş eder.
upgrade.clustergun.name = clustergun
upgrade.clustergun.description = Yayılan bombalar ateş eder.
upgrade.beam.name = lazer
upgrade.beam.description = Uzun menzilli bir delici lazer ışını atar.
upgrade.vulcan.name = Vulkan
upgrade.vulcan.description = Hızlı mermiler ateş eder.
upgrade.shockgun.name = shockgun
upgrade.shockgun.description = Yıkıcı ve patlayıcı mermiler savurarak ateş eder.
item.stone.name = taş
item.iron.name = Demir
item.coal.name = kömür
item.steel.name = çelik
item.titanium.name = titanyum
item.dirium.name = dirium
item.uranium.name = uranyum
item.sand.name = kum
liquid.water.name = su
liquid.plasma.name = plazma
liquid.lava.name = lav
liquid.oil.name = petrol
block.weaponfactory.name = silah fabrikası
block.weaponfactory.fulldescription = Oyuncu mech için silah oluşturmak için kullanılır. Kullanmak için tıklayın. Kaynaklarını otomatik olarak çekirdekten alır.
block.air.name = hava
block.blockpart.name = blokparçası
block.deepwater.name = derin su
block.water.name = su
block.lava.name = lav
block.oil.name = petrol
block.stone.name = taş
block.blackstone.name = siyah taş
block.iron.name = Demir
block.coal.name = kömür
block.titanium.name = titanyum
block.uranium.name = uranyum
block.dirt.name = toprak
block.sand.name = kum
block.ice.name = buz
block.snow.name = kar
block.grass.name = Otlar
block.sandblock.name = kumbloku
block.snowblock.name = karbloku
block.stoneblock.name = taşbloku
block.blackstoneblock.name = blackstoneblock
block.grassblock.name = grassblock
block.mossblock.name = mossblock
block.shrub.name = çalı
block.rock.name = Kaya
block.icerock.name = ICEROCK
block.blackrock.name = Siyah Kaya
block.dirtblock.name = dirtblock
block.stonewall.name = taş duvar
block.stonewall.fulldescription = Ucuz bir savunma bloğu. İlk birkaç dalgada çekirdeği ve tareti korumak için kullanışlıdır.
block.ironwall.name = Demir duvar
block.ironwall.fulldescription = Temel bir savunma bloğu. Düşmanlardan korunma sağlar. Taş duvardan daha korunaklıdır.
block.steelwall.name = Çelik duvar
block.steelwall.fulldescription = Standart bir savunma bloğu. düşmanlardan korunma sağlar
block.titaniumwall.name = titanyum duvar
block.titaniumwall.fulldescription = Güçlü bir savunma bloğu. Düşmanlardan korunma sağlar.
block.duriumwall.name = dirium duvar
block.duriumwall.fulldescription = Çok güçlü bir savunma bloğu. Düşmanlardan korunma sağlar.
block.compositewall.name = kompozit duvar
block.steelwall-large.name = büyük çelik duvar
block.steelwall-large.fulldescription = Standart bir savunma bloğu. Birden fazla fayansa yayılır.
block.titaniumwall-large.name = büyük titanyum duvar
block.titaniumwall-large.fulldescription = Güçlü bir savunma bloğu. Birden fazla fayans yayılır.
block.duriumwall-large.name = büyük dirsek duvarı
block.duriumwall-large.fulldescription = Çok güçlü bir savunma bloğu. Birden fazla fayans yayılır.
block.titaniumshieldwall.name = korumalı duvar
block.titaniumshieldwall.fulldescription = Ekstra yerleşik bir kalkan ile güçlü bir savunma bloğu. Düşman mermilerini emmek için enerji kullanır. Bu bloğa enerji sağlamak için güç arttırıcıların kullanılması tavsiye edilir.
block.repairturret.name = onarım tareti
block.repairturret.fulldescription = Yakındaki hasarlı blokları yavaş bir hızda tamir eder. Küçük menzili vardır. Az miktarlarda güç kullanır.
block.megarepairturret.name = onarım tareti II
block.megarepairturret.fulldescription = Yakındaki hasarlı blokları tamir eder. Uygun menzillidir. Gücü kullanır.
block.shieldgenerator.name = kalkan üreteci
block.shieldgenerator.fulldescription = Gelişmiş bir savunma bloğu. Bir yarıçaptaki tüm blokları saldırıya karşı korur. Boştayken gücü yavaş bir hızda kullanır, ancak mermi temasında enerjiyi hızla boşaltır.
block.door.name = kapı
block.door.fulldescription = Dokunarak açılıp kapatılabilen bir blok.
block.door-large.name = büyük kapı
block.door-large.fulldescription = Dokunarak açılıp kapatılabilen bir blok.
block.conduit.name = sıvı borusu
block.conduit.fulldescription = Temel sıvı taşıma bloğu. Bir konveyör gibi çalışır, ancak sıvılar ile. pompa veya diğer borular ile kullanılır. Düşmanlar ve oyuncular için sıvılar üzerinde bir köprü olarak kullanılabilir.
block.pulseconduit.name = hızlı sıvı borusu
block.pulseconduit.fulldescription = Gelişmiş sıvı taşıma bloku. Sıvıları daha hızlı taşır ve standart sıvı taşıma borularından daha fazla sıvı depolar.
block.liquidrouter.name = sıvı yönlendirici
block.liquidrouter.fulldescription = Bir yönlendiriciye benzer şekilde çalışır. Bir taraftan sıvı girişi kabul eder ve diğer tarafa gönderir. Tek bir borudan diğer birçok boruyla sıvı paylaşmak için kullanışlıdır.
block.conveyor.name = konveyör
block.conveyor.fulldescription = En temel madde taşıma bloğu. Öğeleri konulduğu yöne göre maddeleri ileriye taşır ve bunları otomatik olarak taretlere ya da üretici bloklara getirir. konulmadan önce Döndürülebilirler, ancak konulduktan sonra Döndürülemezler. Düşmanlar ve oyuncular için sıvılar üzerinde bir köprü olarak kullanılabilir.
block.steelconveyor.name = çelik konveyör
block.steelconveyor.fulldescription = Gelişmiş madde taşıma bloğu. Öğeleri standart konveyörlerden daha hızlı taşır.
block.poweredconveyor.name = hızlı konveyör
block.poweredconveyor.fulldescription = Nihai ürün taşıma bloğu. Öğeleri çelik konveyörlerden daha hızlı taşır.
block.router.name = yönlendirici
block.router.fulldescription = Öğeleri bir yönden kabul eder ve 3 farklı yöne gönderir. Malzemelerin belirli bir miktarını da depolayabilir. Malzemelerin bir matkaptan çoklu taretlere ayrılması için uygundur.
block.junction.name = Kavşak noktası
block.junction.fulldescription = İki çapraz şekilde geçmeye çalışan konveyör bandı için köprü görevi görür. Farklı yerlere farklı malzemeler taşıyan konveyör olduğu durumlarda kullanışlıdır.
block.conveyortunnel.name = konveyör tüneli
block.conveyortunnel.fulldescription = Maddeleri blokların altından geçirmek için kullanılır. Kullanmak için, altına tünel yapılacak bloğun bir tarafta giriş tüneli ve diğer tarafa çıkış tüneli yerleştirin. Her iki tünelin de giriş veya çıkış yapan bloklara doğru zıt yönlere baktığından emin olun.
block.liquidjunction.name = sıvı bağlantı
block.liquidjunction.fulldescription = İki çaprazdan geçen boru için köprü görevi görür. Farklı yerlere farklı sıvılar taşıyan kanalların olduğu durumlarda kullanışlıdır.
block.liquiditemjunction.name = sıvı madde kavşağı
block.liquiditemjunction.fulldescription = Kanalları ve konveyörleri yan yana geçirmek için bir köprü görevi görür.
block.powerbooster.name = güç yükseltici
block.powerbooster.fulldescription = Gücü kendi yarıçapı içindeki tüm bloklara dağıtır.
block.powerlaser.name = güç lazeri
block.powerlaser.fulldescription = Önündeki bloğa güç ileten bir lazer oluşturur. Herhangi bir güç üretmez. En iyi jeneratörler veya diğer lazerler ile kullanılır.
block.powerlaserrouter.name = lazer yönlendirici
block.powerlaserrouter.fulldescription = Bir kerede gücü üç yöne dağıtan lazer. Bir jeneratörden birçok bloka güç verilmesi gereken durumlarda kullanışlıdır.
block.powerlasercorner.name = lazer köşesi
block.powerlasercorner.fulldescription = Bir kerede gücü iki yöne dağıtan lazer. Bir jeneratörden birçok bloka güç verilmesi gereken durumlarda ve bir yönlendiricinin kesin olmadığı durumlarda kullanışlıdır.
block.teleporter.name = teletaşıyıcı
block.teleporter.fulldescription = Gelişmiş madde taşıma bloğu. tele-taşıyıcı, öğeleri aynı renkte olan bir teletaşıyıcıya yönlendirir. Aynı renkte teletaşıyıcı yoksa, hiçbir şey yapmaz. Aynı renkten birden çok tele-yazıcı varsa, rastgele biri seçilir. Gücü kullanır. Rengi değiştirmek için dokunun. Not: Sadece madde ileten teletaşıyıcılar gücü kullanır.
block.sorter.name = ayrıştırıcı
block.sorter.fulldescription = Malzemeleri türüne göre ayrıştırır. Kabul edilecek malzeme bloktaki renkle gösterilir. Doğru materyal ile eşleşen tüm öğeler ileriye doğru çıkar, diğer her şey sol ve sağ taraflardan çıkar.
block.core.name = çekirdek
block.pump.name = pompa
block.pump.fulldescription = Kaynak bloğundan su, lav veya yağ gibi sıvıları pompalar. Yakındaki kanallara sıvıyı aktarır.
block.fluxpump.name = fluxpump
block.fluxpump.fulldescription = Pompanın gelişmiş bir versiyonu. Sıvıyı daha hızlı pompalar ve daha fazla sıvı depolar.
block.smelter.name = dökümcü
block.smelter.fulldescription = Temel üretim bloğu. 1 demir ve 1 kömür yakıt olarak verildiğinde, demir çıkarır. Tıkanmayı önlemek için farklı konveyörlerden demir ve kömürün kullanılması tavsiye edilir.
block.crucible.name = pota
block.crucible.fulldescription = Gelişmiş bir üretim bloğu. 1 titanyum, 1 çelik ve 1 kömür yakıt olarak girildiğinde, dirium çıkarır. Tıkanmayı önlemek için farklı konveyörlerden kömür, çelik ve titanyum kullanılması tavsiye edilir.
block.coalpurifier.name = kömür çıkarıcı
block.coalpurifier.fulldescription = Temel bir ekstraktör bloğu. Çok miktarda su ve taş ile birlikte tedarik edildiğinde kömür çıkarır.
block.titaniumpurifier.name = titanyum çıkarıcı
block.titaniumpurifier.fulldescription = Standart bir ekstraktör bloğu. Çok miktarda su ve demir ile birlikte verildiğinde titanyum çıkarır.
block.oilrefinery.name = yağ rafinerisi
block.oilrefinery.fulldescription = Büyük miktarda yağı kömür parçalarına ayırır. Kömür damarları kıt olduğunda kömür bazlı taretlerin yakıtı için kullanışlıdır.
block.stoneformer.name = taş biçimlendiricisi
block.stoneformer.fulldescription = Lavı taş haline getirir. Muazzam miktarda taş üretmek için kullanışlıdır.
block.lavasmelter.name = lav dökümcüsü
block.lavasmelter.fulldescription = Demiri çeliğe dönüştürmek için lav kullanır. Dökümcüler için bir alternatif. Kömürün az olduğu durumlarda kullanışlıdır
block.stonedrill.name = taş matkap
block.stonedrill.fulldescription = Temel bir matkap. Taş karolara yerleştirildiğinde, süresiz olarak yavaş bir hızda taş çıkarı
block.irondrill.name = demir matkap
block.irondrill.fulldescription = Temel bir matkap. Demir cevheri çinileri üzerine yerleştirildiğinde, süresiz olarak yavaş bir şekilde demir çıkarıTemel bir matkap. Demir cevheri çinileri üzerine yerleştirildiğinde, süresiz olarak yavaş bir şekilde demir çıkarır.\n.
block.coaldrill.name = kömür matkap
block.coaldrill.fulldescription = Temel bir matkap. Kömür madeninin üzerine yerleştirildiğinde, süresiz olarak yavaş bir şekilde kömür çıkarır.
block.uraniumdrill.name = uranyum matkap
block.uraniumdrill.fulldescription = Gelişmiş bir matkap. Uranyum cevheri üzerine yerleştirildiğinde, uranyumu süresiz olarak yavaş bir hızda çıkarır.
block.titaniumdrill.name = titanyum matkap
block.titaniumdrill.fulldescription = Gelişmiş bir matkap. Titanyum cevherinin üzerine yerleştirildiğinde, sonsuza yavaş bir tempoda titanyum çıkar.
block.omnidrill.name = omnidrill
block.omnidrill.fulldescription = En büyük matkap. Herhangi bir cevherin uzerine yerlestitldiginde hızlı bir hızda cevher çıkarır
block.coalgenerator.name = kömür jeneratörü
block.coalgenerator.fulldescription = Gerekli jeneratör. Kömürden güç üretir. 4 tarafına lazer olarak güç verir.
block.thermalgenerator.name = termik jeneratör
block.thermalgenerator.fulldescription = Lavdan güç üretir. 4 tarafına lazer olarak güç verir.
block.combustiongenerator.name = yanma jeneratörü
block.combustiongenerator.fulldescription = Yağdan güç üretir. 4 tarafına lazer olarak güç verir.
block.rtgenerator.name = RTG jeneratörü
block.rtgenerator.fulldescription = Uranyumun radyoaktif bozunmasından az miktarda güç üretir. 4 tarafına lazer olarak güç verir.
block.nuclearreactor.name = nükleer reaktör
block.nuclearreactor.fulldescription = RTG Jeneratörünün gelişmiş bir versiyonu ve en iyi güç jeneratörüdür. Uranyumdan güç üretir. Su ile soğutulması gerekir. Son derece tehlikelidir; yetersiz miktarda su ile beslenmediğinde şiddetli patlayabilir.
block.turret.name = taret
block.turret.fulldescription = Basit, ucuz bir kule. Cephane için taş kullanır. Çift taretten biraz daha büyük menzillidir.
block.doubleturret.name = çift taret
block.doubleturret.fulldescription = Taretin biraz daha güçlü bir versiyonu. Cephane için taş kullanır. standart tarete nazaran daha fazla hasar verir, ancak daha düşük bir menzile sahiptir. İki mermi ile ateş eder.
block.machineturret.name = gattling tareti
block.machineturret.fulldescription = Demir atan bir taret. Cephane için demir kullanır. İyi bir hasar ile ateş oranına sahiptir.
block.shotgunturret.name = splitter tareti
block.shotgunturret.fulldescription = Standart bir kule. Cephane için demir kullanır. tek atışta 7 mermi yayılır. Düşük menzillidir, ancak Gatling taretinden daha yüksek hasar verir.
block.flameturret.name = alev tareti
block.flameturret.fulldescription = Gelişmiş yakın menzilli taret. Cephane için kömür kullanır. Çok düşük bir menzile sahiptir, ancak çok yüksek hasar verir. Duvarların arkasında kullanılması tavsiye edilir.
block.sniperturret.name = çelik tareti
block.sniperturret.fulldescription = Gelişmiş uzun menzilli taret. Cephane için çelik kullanır. Yüksek hasar verir, ancak düşük ateş hızı vardır. Kullanımı pahalı, ancak yüksek menzili nedeniyle düşmanı uzak mesafelerden vurabilir.
block.mortarturret.name = flak tareti
block.mortarturret.fulldescription = Gelişmiş sıçrama hasarlı tareti. Cephane için kömür kullanır. Patlayan mermi şarapnel saysinde birden fazla düşman vurabilir. büyük düşman topluluklarını yok etmek için kullanışlıdır.
block.laserturret.name = lazer tareti
block.laserturret.fulldescription = Gelişmiş tek hedefli taret. Gücü kullanır. orta menzilli taret. Sadece tek hedefli. Asla ıskalamaz.
block.waveturret.name = tesla tareti
block.waveturret.fulldescription = Gelişmiş birçok hedefli taret. Gücü kullanır. Orta menzilli. Asla ıskalamaz. Düşük ile orta seviyede hasar verir, ancak aynı anda birden fazla düşmana vurabilir.
block.plasmaturret.name = plazma tareti
block.plasmaturret.fulldescription = Alev taretinin gelişmiş versiyonu. kömürü cephane olarak kullanır. Çok yüksek hasar, düşük ila orta menzil.
block.chainturret.name = zincir tareti
block.chainturret.fulldescription = En iyi hızlı ateş tareti. Uranyumu cephane olarak kullanır. Yüksek ateş hızı vardır. Orta menzillidir. Birden fazla blok boyunca yayılır. Son derece dayanıklıdır.
block.titancannon.name = titan topu
block.titancannon.fulldescription = En iyi uzak menzilli taret. Uranyumu cephane olarak kullanır. Orta ateş hızındadır ve top ateşinin sıçrama hasarı büyüktür. Uzun mesafe. Birden fazla blok boyunca yayılır. Son derece dayanıklıdır.
block.playerspawn.name = oyuncudoğuşu
block.enemyspawn.name = dϋşmandoğuşu

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -102,7 +102,7 @@ public class Vars{
public static final int tilesize = 8; public static final int tilesize = 8;
public static final Locale[] locales = {new Locale("en"), new Locale("fr", "FR"), new Locale("ru"), new Locale("uk", "UA"), new Locale("pl", "PL"), public static final Locale[] locales = {new Locale("en"), new Locale("fr"), new Locale("ru"), new Locale("uk", "UA"), new Locale("pl", "PL"),
new Locale("de"), new Locale("pt", "BR"), new Locale("ko"), new Locale("in", "ID"), new Locale("ita"), new Locale("es")}; new Locale("de"), new Locale("pt", "BR"), new Locale("ko"), new Locale("in", "ID"), new Locale("ita"), new Locale("es")};
public static final Color[] playerColors = { public static final Color[] playerColors = {

View File

@@ -103,7 +103,7 @@ public class Control extends Module{
Sounds.setFalloff(9000f); Sounds.setFalloff(9000f);
Musics.load("1.mp3", "2.mp3", "3.mp3", "4.mp3", "5.mp3", "6.mp3"); Musics.load("1.mp3", "2.mp3", "3.mp3", "4.mp3");
DefaultKeybinds.load(); DefaultKeybinds.load();
@@ -188,6 +188,11 @@ public class Control extends Module{
}); });
} }
//FIXME figure out what's causing this problem in the first place
public void triggerInputUpdate(){
Gdx.input = proxy;
}
public void setError(Throwable error){ public void setError(Throwable error){
this.error = error; this.error = error;
} }
@@ -266,9 +271,7 @@ public class Control extends Module{
throw new RuntimeException(error); throw new RuntimeException(error);
} }
if(Gdx.input != proxy){ Gdx.input = proxy;
Gdx.input = proxy;
}
if(Inputs.keyTap("console")){ if(Inputs.keyTap("console")){
console = !console; console = !console;
@@ -292,16 +295,21 @@ public class Control extends Module{
controly -= ya*baseControllerSpeed*scl; controly -= ya*baseControllerSpeed*scl;
controlling = true; controlling = true;
Gdx.input.setCursorCatched(true);
Inputs.getProcessor().touchDragged(Gdx.input.getX(), Gdx.input.getY(), 0); Inputs.getProcessor().touchDragged(Gdx.input.getX(), Gdx.input.getY(), 0);
} }
controlx = Mathf.clamp(controlx, 0, Gdx.graphics.getWidth()); controlx = Mathf.clamp(controlx, 0, Gdx.graphics.getWidth());
controly = Mathf.clamp(controly, 0, Gdx.graphics.getHeight()); controly = Mathf.clamp(controly, 0, Gdx.graphics.getHeight());
if(Gdx.input.getDeltaX() > 1 || Gdx.input.getDeltaY() > 1) if(Gdx.input.getDeltaX() > 1 || Gdx.input.getDeltaY() > 1) {
controlling = false; controlling = false;
Gdx.input.setCursorCatched(false);
}
}else{ }else{
controlling = false; controlling = false;
Gdx.input.setCursorCatched(false);
} }
if(!controlling){ if(!controlling){

View File

@@ -83,6 +83,8 @@ public class Logic extends Module {
if(!state.is(State.menu)){ if(!state.is(State.menu)){
if(control != null) control.triggerInputUpdate();
if(!state.is(State.paused) || Net.active()){ if(!state.is(State.paused) || Net.active()){
Timers.update(); Timers.update();
} }

View File

@@ -35,6 +35,7 @@ import static io.anuke.mindustry.Vars.*;
public class NetClient extends Module { public class NetClient extends Module {
private final static float dataTimeout = 60*18; private final static float dataTimeout = 60*18;
private final static float playerSyncTime = 2; private final static float playerSyncTime = 2;
private final static int maxRequests = 50;
private Timer timer = new Timer(5); private Timer timer = new Timer(5);
/**Whether the client is currently conencting.*/ /**Whether the client is currently conencting.*/
@@ -47,6 +48,7 @@ public class NetClient extends Module {
private IntMap<SyncEntity> recent = new IntMap<>(); private IntMap<SyncEntity> recent = new IntMap<>();
/**Counter for data timeout.*/ /**Counter for data timeout.*/
private float timeoutTime = 0f; private float timeoutTime = 0f;
private int requests = 0;
public NetClient(){ public NetClient(){
@@ -125,11 +127,12 @@ public class NetClient extends Module {
if(entity instanceof BaseUnit) enemies ++; if(entity instanceof BaseUnit) enemies ++;
if (entity == null || id == player.id) { if (entity == null || id == player.id) {
if (id != player.id) { if (id != player.id && requests < maxRequests) {
EntityRequestPacket req = new EntityRequestPacket(); EntityRequestPacket req = new EntityRequestPacket();
req.id = id; req.id = id;
req.group = groupid; req.group = groupid;
Net.send(req, SendMode.udp); Net.send(req, SendMode.udp);
requests ++;
} }
data.position(data.position() + writesize); data.position(data.position() + writesize);
} else { } else {
@@ -322,6 +325,7 @@ public class NetClient extends Module {
} }
void sync(){ void sync(){
requests = 0;
if(timer.get(0, playerSyncTime)){ if(timer.get(0, playerSyncTime)){
PositionPacket packet = new PositionPacket(); PositionPacket packet = new PositionPacket();

View File

@@ -179,8 +179,8 @@ public class NetServer extends Module{
if(!Timers.get("fastshoot-" + id + "-" + weapon.id, wtrc)){ if(!Timers.get("fastshoot-" + id + "-" + weapon.id, wtrc)){
info.fastShots.getAndIncrement(weapon.id, 0, 1); info.fastShots.getAndIncrement(weapon.id, 0, 1);
if(info.fastShots.get(weapon.id, 0) > (int)(wtrc / (weapon.getReload() / 2f)) + 8){ if(info.fastShots.get(weapon.id, 0) > (int)(wtrc / (weapon.getReload() / 2f)) + 30){
kick(id, KickReason.kick); kick(id, KickReason.fastShoot);
} }
}else{ }else{
info.fastShots.put(weapon.id, 0); info.fastShots.put(weapon.id, 0);
@@ -202,6 +202,14 @@ public class NetServer extends Module{
if(recipe == null || recipe.debugOnly != debug) return; if(recipe == null || recipe.debugOnly != debug) return;
Tile tile = world.tile(packet.x, packet.y);
if(tile.synthetic() && admins.isValidateReplace() && !admins.validateBreak(admins.getTrace(Net.getConnection(id).address).uuid, Net.getConnection(id).address)){
if(Timers.get("break-message-" + id, 120)){
sendMessageTo(id, "[scarlet]Anti-grief: you are replacing blocks too quickly. wait until replacing again.");
}
return;
}
state.inventory.removeItems(recipe.requirements); state.inventory.removeItems(recipe.requirements);
Placement.placeBlock(placer.team, packet.x, packet.y, block, packet.rotation, true, false); Placement.placeBlock(placer.team, packet.x, packet.y, block, packet.rotation, true, false);
@@ -221,6 +229,15 @@ public class NetServer extends Module{
if(!Placement.validBreak(placer.team, packet.x, packet.y)) return; if(!Placement.validBreak(placer.team, packet.x, packet.y)) return;
Tile tile = world.tile(packet.x, packet.y);
if(tile.synthetic() && !admins.validateBreak(admins.getTrace(Net.getConnection(id).address).uuid, Net.getConnection(id).address)){
if(Timers.get("break-message-" + id, 120)){
sendMessageTo(id, "[scarlet]Anti-grief: you are breaking blocks too quickly. wait until breaking again.");
}
return;
}
Block block = Placement.breakBlock(placer.team, packet.x, packet.y, true, false); Block block = Placement.breakBlock(placer.team, packet.x, packet.y, true, false);
if(block != null) { if(block != null) {
@@ -282,6 +299,7 @@ public class NetServer extends Module{
}); });
Net.handleServer(EntityRequestPacket.class, (cid, packet) -> { Net.handleServer(EntityRequestPacket.class, (cid, packet) -> {
int id = packet.id; int id = packet.id;
int dest = cid; int dest = cid;
EntityGroup group = Entities.getGroup(packet.group); EntityGroup group = Entities.getGroup(packet.group);
@@ -382,6 +400,12 @@ public class NetServer extends Module{
return connections.get(connectionID).uuid; return connections.get(connectionID).uuid;
} }
void sendMessageTo(int id, String message){
ChatPacket packet = new ChatPacket();
packet.text = message;
Net.sendTo(id, packet, SendMode.tcp);
}
void sync(){ void sync(){
if(timer.get(timerEntitySync, serverSyncTime)){ if(timer.get(timerEntitySync, serverSyncTime)){

View File

@@ -332,15 +332,15 @@ public class Renderer extends RendererModule{
if(!player.isLocal && !player.isDead()){ if(!player.isLocal && !player.isDead()){
layout.setText(Core.font, player.name); layout.setText(Core.font, player.name);
Draw.color(0f, 0f, 0f, 0.3f); Draw.color(0f, 0f, 0f, 0.3f);
Draw.rect("blank", player.x, player.y + 8 - layout.height/2, layout.width + 2, layout.height + 2); Draw.rect("blank", player.getDrawPosition().x, player.getDrawPosition().y + 8 - layout.height/2, layout.width + 2, layout.height + 2);
Draw.color(); Draw.color();
Draw.tcolor(player.getColor()); Draw.tcolor(player.getColor());
Draw.text(player.name, player.x, player.y + 8); Draw.text(player.name, player.getDrawPosition().x, player.getDrawPosition().y + 8);
if(player.isAdmin){ if(player.isAdmin){
Draw.color(player.getColor()); Draw.color(player.getColor());
float s = 3f; float s = 3f;
Draw.rect("icon-admin-small", player.x + layout.width/2f + 2 + 1, player.y + 7f, s, s); Draw.rect("icon-admin-small", player.getDrawPosition().x + layout.width/2f + 2 + 1, player.getDrawPosition().y + 7f, s, s);
} }
Draw.reset(); Draw.reset();
} }

View File

@@ -119,6 +119,8 @@ public abstract class SyncEntity extends DestructibleEntity{
time += 1f / spacing * Math.min(Timers.delta(), 1f); time += 1f / spacing * Math.min(Timers.delta(), 1f);
time = Mathf.clamp(time, 0, 2f);
Mathf.lerp2(pos.set(last), target, time); Mathf.lerp2(pos.set(last), target, time);
rotation = Mathf.slerpDelta(rotation, targetrot, 0.6f); rotation = Mathf.slerpDelta(rotation, targetrot, 0.6f);

View File

@@ -24,13 +24,14 @@ public class DefaultKeybinds {
"dash", Input.SHIFT_LEFT, "dash", Input.SHIFT_LEFT,
"rotate_alt", new Axis(Input.R, Input.E), "rotate_alt", new Axis(Input.R, Input.E),
"rotate", new Axis(Input.SCROLL), "rotate", new Axis(Input.SCROLL),
"toggle_menus", Input.C,
"block_info", Input.CONTROL_LEFT, "block_info", Input.CONTROL_LEFT,
"player_list", Input.TAB, "player_list", Input.TAB,
"item_withdraw", Input.SHIFT_LEFT,
"chat", Input.ENTER, "chat", Input.ENTER,
"chat_history_prev", Input.UP, "chat_history_prev", Input.UP,
"chat_history_next", Input.DOWN, "chat_history_next", Input.DOWN,
"chat_scroll", new Axis(Input.SCROLL), "chat_scroll", new Axis(Input.SCROLL),
"item_withdraw", Input.SHIFT_LEFT,
"console", Input.GRAVE, "console", Input.GRAVE,
"weapon_1", Input.NUM_1, "weapon_1", Input.NUM_1,
"weapon_2", Input.NUM_2, "weapon_2", Input.NUM_2,
@@ -41,7 +42,7 @@ public class DefaultKeybinds {
); );
KeyBinds.defaults( KeyBinds.defaults(
DeviceType.controller, DeviceType.controller,
"move_x", new Axis(Input.CONTROLLER_L_STICK_HORIZONTAL_AXIS), "move_x", new Axis(Input.CONTROLLER_L_STICK_HORIZONTAL_AXIS),
"move_y", new Axis(Input.CONTROLLER_L_STICK_VERTICAL_AXIS), "move_y", new Axis(Input.CONTROLLER_L_STICK_VERTICAL_AXIS),
"cursor_x", new Axis(Input.CONTROLLER_R_STICK_HORIZONTAL_AXIS), "cursor_x", new Axis(Input.CONTROLLER_R_STICK_HORIZONTAL_AXIS),

View File

@@ -3,9 +3,13 @@ package io.anuke.mindustry.net;
import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Json; import com.badlogic.gdx.utils.Json;
import com.badlogic.gdx.utils.ObjectMap; import com.badlogic.gdx.utils.ObjectMap;
import com.badlogic.gdx.utils.TimeUtils;
import io.anuke.ucore.core.Settings; import io.anuke.ucore.core.Settings;
public class Administration { public class Administration {
public static final int defaultMaxBrokenBlocks = 15;
public static final int defaultBreakCooldown = 1000*15;
private Json json = new Json(); private Json json = new Json();
/**All player info. Maps UUIDs to info. This persists throughout restarts.*/ /**All player info. Maps UUIDs to info. This persists throughout restarts.*/
private ObjectMap<String, PlayerInfo> playerInfo = new ObjectMap<>(); private ObjectMap<String, PlayerInfo> playerInfo = new ObjectMap<>();
@@ -14,12 +18,72 @@ public class Administration {
private Array<String> bannedIPs = new Array<>(); private Array<String> bannedIPs = new Array<>();
public Administration(){ public Administration(){
Settings.defaults("playerInfo", "{}"); Settings.defaultList(
Settings.defaults("bannedIPs", "{}"); "playerInfo", "{}",
"bannedIPs", "{}",
"antigrief", false,
"antigrief-max", defaultMaxBrokenBlocks,
"antigrief-cooldown", defaultBreakCooldown
);
load(); load();
} }
public boolean isAntiGrief(){
return Settings.getBool("antigrief");
}
public boolean isValidateReplace(){
return false;
}
public void setAntiGrief(boolean antiGrief){
Settings.putBool("antigrief", antiGrief);
Settings.save();
}
public void setAntiGriefParams(int maxBreak, int cooldown){
Settings.putInt("antigrief-max", maxBreak);
Settings.putInt("antigrief-cooldown", cooldown);
Settings.save();
}
public boolean validateBreak(String id, String ip){
if(!isAntiGrief() || isAdmin(id, ip)) return true;
PlayerInfo info = getCreateInfo(id);
if(info.lastBroken == null || info.lastBroken.length != Settings.getInt("antigrief-max")){
info.lastBroken = new long[Settings.getInt("antigrief-max")];
}
long[] breaks = info.lastBroken;
int shiftBy = 0;
for(int i = 0; i < breaks.length && breaks[i] != 0; i ++){
if(TimeUtils.timeSinceMillis(breaks[i]) >= Settings.getInt("antigrief-cooldown")){
shiftBy = i;
}
}
for (int i = 0; i < breaks.length; i++) {
breaks[i] = (i + shiftBy >= breaks.length) ? 0 : breaks[i + shiftBy];
}
int remaining = 0;
for(int i = 0; i < breaks.length; i ++){
if(breaks[i] == 0){
remaining = breaks.length - i;
break;
}
}
if(remaining == 0) return false;
breaks[breaks.length - remaining] = TimeUtils.millis();
return true;
}
/**Call when a player joins to update their information here.*/ /**Call when a player joins to update their information here.*/
public void updatePlayerJoined(String id, String ip, String name){ public void updatePlayerJoined(String id, String ip, String name){
PlayerInfo info = getCreateInfo(id); PlayerInfo info = getCreateInfo(id);
@@ -248,6 +312,8 @@ public class Administration {
public boolean banned, admin; public boolean banned, admin;
public long lastKicked; //last kicked timestamp public long lastKicked; //last kicked timestamp
public long[] lastBroken;
PlayerInfo(String id){ PlayerInfo(String id){
this.id = id; this.id = id;
} }

View File

@@ -158,7 +158,7 @@ public class Packets {
} }
} }
public static class EntityShootPacket implements Packet{ public static class EntityShootPacket implements Packet, UnimportantPacket{
public float x, y, rotation; public float x, y, rotation;
public short bulletid; public short bulletid;
public byte groupid; public byte groupid;
@@ -350,7 +350,7 @@ public class Packets {
} }
public enum KickReason{ public enum KickReason{
kick, invalidPassword, clientOutdated, serverOutdated, banned, gameover(true), recentKick, nameInUse, idInUse; kick, invalidPassword, clientOutdated, serverOutdated, banned, gameover(true), recentKick, nameInUse, idInUse, fastShoot;
public final boolean quiet; public final boolean quiet;
KickReason(){ quiet = false; } KickReason(){ quiet = false; }

View File

@@ -1,6 +1,7 @@
package io.anuke.mindustry.ui; package io.anuke.mindustry.ui;
import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.utils.Align;
import io.anuke.ucore.function.Listenable; import io.anuke.ucore.function.Listenable;
import io.anuke.ucore.scene.ui.TextButton; import io.anuke.ucore.scene.ui.TextButton;
@@ -27,7 +28,7 @@ public class MenuButton extends TextButton{
table(t -> { table(t -> {
t.add(text); t.add(text).wrap().growX().get().setAlignment(Align.center, Align.left);
if(description != null){ if(description != null){
t.row(); t.row();
t.add(description).color(Color.LIGHT_GRAY); t.add(description).color(Color.LIGHT_GRAY);

View File

@@ -8,6 +8,7 @@ import com.badlogic.gdx.math.Interpolation;
import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.Net;
import io.anuke.ucore.core.Core; import io.anuke.ucore.core.Core;
import io.anuke.ucore.core.Inputs;
import io.anuke.ucore.core.Settings; import io.anuke.ucore.core.Settings;
import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.scene.actions.Actions; import io.anuke.ucore.scene.actions.Actions;
@@ -26,11 +27,14 @@ import static io.anuke.mindustry.Vars.*;
public class HudFragment implements Fragment{ public class HudFragment implements Fragment{
public final BlocksFragment blockfrag = new BlocksFragment(); public final BlocksFragment blockfrag = new BlocksFragment();
private ImageButton menu, flip; private ImageButton menu, flip;
private Table respawntable; private Table respawntable;
private Table wavetable; private Table wavetable;
private Label infolabel; private Label infolabel;
private boolean shown = true; private boolean shown = true;
private float dsize = 58;
private float isize = 40;
public void build(){ public void build(){
@@ -43,42 +47,25 @@ public class HudFragment implements Fragment{
new table() {{ new table() {{
left(); left();
float dsize = 58;
defaults().size(dsize).left(); defaults().size(dsize).left();
float isize = 40;
menu = new imagebutton("icon-menu", isize, ui.paused::show).get(); menu = new imagebutton("icon-menu", isize, ui.paused::show).get();
flip = new imagebutton("icon-arrow-up", isize, () -> toggleMenus()).get();
flip = new imagebutton("icon-arrow-up", isize, () -> { update(t -> {
if (wavetable.getActions().size != 0) return; if(Inputs.keyTap("toggle_menus") && !ui.chatfrag.chatOpen()){
toggleMenus();
float dur = 0.3f;
Interpolation in = Interpolation.pow3Out;
flip.getStyle().imageUp = Core.skin.getDrawable(shown ? "icon-arrow-down" : "icon-arrow-up");
if (shown) {
blockfrag.toggle(false, dur, in);
wavetable.actions(Actions.translateBy(0, wavetable.getHeight() + dsize, dur, in), Actions.call(() -> shown = false));
infolabel.actions(Actions.translateBy(0, wavetable.getHeight(), dur, in), Actions.call(() -> shown = false));
} else {
shown = true;
blockfrag.toggle(true, dur, in);
wavetable.actions(Actions.translateBy(0, -wavetable.getTranslation().y, dur, in));
infolabel.actions(Actions.translateBy(0, -infolabel.getTranslation().y, dur, in));
} }
});
}).get();
new imagebutton("icon-pause", isize, () -> { new imagebutton("icon-pause", isize, () -> {
if(mobile) DebugFragment.printDebugInfo(); if (Net.active()) {
if (Net.active() && mobile) {
ui.listfrag.visible = !ui.listfrag.visible; ui.listfrag.visible = !ui.listfrag.visible;
} else { } else {
state.set(state.is(State.paused) ? State.playing : State.paused); state.set(state.is(State.paused) ? State.playing : State.paused);
} }
}).update(i -> { }).update(i -> {
if (Net.active() && mobile) { if (Net.active()) {
i.getStyle().imageUp = Core.skin.getDrawable("icon-players"); i.getStyle().imageUp = Core.skin.getDrawable("icon-players");
} else { } else {
i.setDisabled(Net.active()); i.setDisabled(Net.active());
@@ -209,6 +196,26 @@ public class HudFragment implements Fragment{
blockfrag.build(); blockfrag.build();
} }
private void toggleMenus(){
if (wavetable.getActions().size != 0) return;
float dur = 0.3f;
Interpolation in = Interpolation.pow3Out;
flip.getStyle().imageUp = Core.skin.getDrawable(shown ? "icon-arrow-down" : "icon-arrow-up");
if (shown) {
blockfrag.toggle(false, dur, in);
wavetable.actions(Actions.translateBy(0, wavetable.getHeight() + dsize, dur, in), Actions.call(() -> shown = false));
infolabel.actions(Actions.translateBy(0, wavetable.getHeight(), dur, in), Actions.call(() -> shown = false));
} else {
shown = true;
blockfrag.toggle(true, dur, in);
wavetable.actions(Actions.translateBy(0, -wavetable.getTranslation().y, dur, in));
infolabel.actions(Actions.translateBy(0, -infolabel.getTranslation().y, dur, in));
}
}
private String getEnemiesRemaining() { private String getEnemiesRemaining() {
if(state.enemies == 1) { if(state.enemies == 1) {
return Bundles.format("text.enemies.single", state.enemies); return Bundles.format("text.enemies.single", state.enemies);

View File

@@ -64,7 +64,9 @@ public class PlayerListFragment implements Fragment{
update(t -> { update(t -> {
if(!mobile){ if(!mobile){
visible = Inputs.keyDown("player_list"); if(Inputs.keyTap("player_list")){
visible = !visible;
}
} }
if(!(Net.active() && !state.is(State.menu))){ if(!(Net.active() && !state.is(State.menu))){
visible = false; visible = false;

View File

@@ -181,6 +181,11 @@ public class Tile implements Position{
Block floor = floor(); Block floor = floor();
return isLinked() || !((floor.solid && (block == Blocks.air || block.solidifes)) || (block.solid && (!block.destructible && !block.update))); return isLinked() || !((floor.solid && (block == Blocks.air || block.solidifes)) || (block.solid && (!block.destructible && !block.update)));
} }
public boolean synthetic(){
Block block = block();
return block.update || block.destructible;
}
public boolean solid(){ public boolean solid(){
Block block = block(); Block block = block();

View File

@@ -4,7 +4,6 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion;
import io.anuke.mindustry.resource.Liquid; import io.anuke.mindustry.resource.Liquid;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.blocks.types.LiquidBlock; import io.anuke.mindustry.world.blocks.types.LiquidBlock;
import io.anuke.ucore.core.Timers;
import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Draw;
public class LiquidJunction extends LiquidBlock{ public class LiquidJunction extends LiquidBlock{
@@ -30,10 +29,8 @@ public class LiquidJunction extends LiquidBlock{
dir = (dir+4)%4; dir = (dir+4)%4;
Tile to = tile.getNearby(dir); Tile to = tile.getNearby(dir);
Timers.run(20f, () -> { if(to.block().hasLiquids && to.block().acceptLiquid(to, tile, liquid, amount))
if(to.block().hasLiquids && to.block().acceptLiquid(to, tile, liquid, amount)) to.block().handleLiquid(to, tile, liquid, amount);
to.block().handleLiquid(to, tile, liquid, amount);
});
} }
@Override @Override

View File

@@ -9,29 +9,6 @@ project.ext.assetsDir = new File("../core/assets")
def PACKR_DIR = "$System.env.PACKR_DIR" def PACKR_DIR = "$System.env.PACKR_DIR"
def ICON_DIR = new File("core/assets/sprites/icon.icns") def ICON_DIR = new File("core/assets/sprites/icon.icns")
ext.writeVersion = {
def pfile = new File('core/assets/version.properties')
def props = new Properties()
try{
pfile.createNewFile()
}catch (Exception e){}
if(pfile.exists()) {
props.load(new FileInputStream(pfile))
String code = getBuildVersion()
props["name"] = appName
props["version"] = versionType
props["code"] = versionNumber
props["build"] = code
props.store(pfile.newWriter(), "Autogenerated file. Do not modify.")
}
}
ext.getPlatform = { ext.getPlatform = {
if (project.hasProperty("platform")) { if (project.hasProperty("platform")) {
def lc = platform.toLowerCase() def lc = platform.toLowerCase()
@@ -107,7 +84,7 @@ task packrCmd() {
exec { exec {
commandLine "java", "-jar", PACKR_DIR + "packr.jar", commandLine("java", "-jar", PACKR_DIR + "packr.jar",
"--verbose", "--verbose",
"--bundle", getPackage(), "--bundle", getPackage(),
"--platform", getPlatform(), "--platform", getPlatform(),
@@ -116,7 +93,8 @@ task packrCmd() {
"--mainclass", project.ext.mainClassName, "--mainclass", project.ext.mainClassName,
"--jdk", PACKR_DIR + "jdk-" + getPlatform() + ".zip", "--jdk", PACKR_DIR + "jdk-" + getPlatform() + ".zip",
"--icon", ICON_DIR.getAbsolutePath(), "--icon", ICON_DIR.getAbsolutePath(),
"--classpath", "--", PACKR_DIR + "config.json" "--vmargs", (getPlatform().equals("mac") ? "XstartOnFirstThread" : "Xms256m"),
"--classpath", "--", PACKR_DIR + "config.json")
} }
} }
} }

View File

@@ -25,7 +25,7 @@ public class IOSLauncher extends IOSApplication.Delegate {
Net.setClientProvider(new KryoClient()); Net.setClientProvider(new KryoClient());
Net.setServerProvider(new KryoServer()); Net.setServerProvider(new KryoServer());
Unit.dp.addition -= 0.25f; Unit.dp.addition -= 0.2f;
Platform.instance = new Platform() { Platform.instance = new Platform() {
DateFormat format = SimpleDateFormat.getDateTimeInstance(); DateFormat format = SimpleDateFormat.getDateTimeInstance();

View File

@@ -6,6 +6,7 @@ import com.badlogic.gdx.utils.ObjectMap;
import com.badlogic.gdx.utils.ObjectSet; import com.badlogic.gdx.utils.ObjectSet;
import com.esotericsoftware.kryonet.*; import com.esotericsoftware.kryonet.*;
import com.esotericsoftware.kryonet.Listener.LagListener; import com.esotericsoftware.kryonet.Listener.LagListener;
import com.esotericsoftware.minlog.Log;
import io.anuke.mindustry.net.Host; import io.anuke.mindustry.net.Host;
import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.net.Net.ClientProvider; import io.anuke.mindustry.net.Net.ClientProvider;
@@ -70,6 +71,7 @@ public class KryoClient implements ClientProvider{
Disconnect c = new Disconnect(); Disconnect c = new Disconnect();
Gdx.app.postRunnable(() -> Net.handleClientReceived(c)); Gdx.app.postRunnable(() -> Net.handleClientReceived(c));
if(connection.getLastProtocolError() != null) Log.error("\n\n\n\nProtocol error: " + connection.getLastProtocolError() + "\n\n\n\n");
} }
@Override @Override
@@ -80,6 +82,7 @@ public class KryoClient implements ClientProvider{
try{ try{
Net.handleClientReceived(object); Net.handleClientReceived(object);
}catch (Exception e){ }catch (Exception e){
e.printStackTrace();
if(e instanceof KryoNetException && e.getMessage() != null && e.getMessage().toLowerCase().contains("incorrect")) { if(e instanceof KryoNetException && e.getMessage() != null && e.getMessage().toLowerCase().contains("incorrect")) {
Net.showError("$text.server.mismatch"); Net.showError("$text.server.mismatch");
netClient.disconnectQuietly(); netClient.disconnectQuietly();
@@ -159,11 +162,7 @@ public class KryoClient implements ClientProvider{
ByteBuffer buffer = ByteBuffer.wrap(packet.getData()); ByteBuffer buffer = ByteBuffer.wrap(packet.getData());
Host host = NetworkIO.readServerData(packet.getAddress().getHostAddress(), buffer); Host host = NetworkIO.readServerData(packet.getAddress().getHostAddress(), buffer);
if (host != null) { Gdx.app.postRunnable(() -> valid.accept(host));
Gdx.app.postRunnable(() -> valid.accept(host));
} else {
Gdx.app.postRunnable(() -> invalid.accept(new IOException("Outdated server.")));
}
} catch (Exception e) { } catch (Exception e) {
Gdx.app.postRunnable(() -> invalid.accept(e)); Gdx.app.postRunnable(() -> invalid.accept(e));
} }

View File

@@ -1,3 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
./gradlew server:dist if [[ $# -eq 0 ]] ; then
echo 'A build version must be supplied as the first argument.'
exit 1
fi
./gradlew server:dist -Pbuildversion=$1
java -jar server/build/libs/server-release.jar java -jar server/build/libs/server-release.jar

View File

@@ -31,6 +31,8 @@ task dist(type: Jar) {
from files(sourceSets.main.output.resourcesDir) from files(sourceSets.main.output.resourcesDir)
from {configurations.compile.collect {zipTree(it)}} from {configurations.compile.collect {zipTree(it)}}
from files(project.assetsDir); from files(project.assetsDir);
writeVersion()
manifest { manifest {
attributes 'Main-Class': project.mainClassName attributes 'Main-Class': project.mainClassName

View File

@@ -11,13 +11,10 @@ import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.io.Map; import io.anuke.mindustry.io.Map;
import io.anuke.mindustry.io.SaveIO; import io.anuke.mindustry.io.SaveIO;
import io.anuke.mindustry.io.Version; import io.anuke.mindustry.io.Version;
import io.anuke.mindustry.net.*;
import io.anuke.mindustry.net.Administration.PlayerInfo; import io.anuke.mindustry.net.Administration.PlayerInfo;
import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.net.NetConnection;
import io.anuke.mindustry.net.NetEvents;
import io.anuke.mindustry.net.Packets.ChatPacket; import io.anuke.mindustry.net.Packets.ChatPacket;
import io.anuke.mindustry.net.Packets.KickReason; import io.anuke.mindustry.net.Packets.KickReason;
import io.anuke.mindustry.net.TraceInfo;
import io.anuke.mindustry.ui.fragments.DebugFragment; import io.anuke.mindustry.ui.fragments.DebugFragment;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
import io.anuke.ucore.core.*; import io.anuke.ucore.core.*;
@@ -251,7 +248,7 @@ public class ServerControl extends Module {
} }
}); });
handler.register("friendlyfire", "<on/off>", "Enable or disable friendly fire", arg -> { handler.register("friendlyfire", "<on/off>", "Enable or disable friendly fire.", arg -> {
String s = arg[0]; String s = arg[0];
if(s.equalsIgnoreCase("on")){ if(s.equalsIgnoreCase("on")){
NetEvents.handleFriendlyFireChange(true); NetEvents.handleFriendlyFireChange(true);
@@ -266,6 +263,35 @@ public class ServerControl extends Module {
} }
}); });
handler.register("antigrief", "[on/off] [max-break] [cooldown-in-ms]", "Enable or disable anti-grief.", arg -> {
if(arg.length == 0){
info("Anti-grief is currently &lc{0}.", netServer.admins.isAntiGrief() ? "on" : "off");
return;
}
String s = arg[0];
if(s.equalsIgnoreCase("on")){
netServer.admins.setAntiGrief(true);
info("Anti-grief enabled.");
}else if(s.equalsIgnoreCase("off")){
netServer.admins.setAntiGrief(false);
info("Anti-grief disabled.");
}else{
err("Incorrect command usage.");
}
if(arg.length >= 2) {
try {
int maxbreak = Integer.parseInt(arg[1]);
int cooldown = (arg.length >= 3 ? Integer.parseInt(arg[2]) : Administration.defaultBreakCooldown);
netServer.admins.setAntiGriefParams(maxbreak, cooldown);
info("Anti-grief parameters set.");
} catch (NumberFormatException e) {
err("Invalid number format.");
}
}
});
handler.register("shuffle", "<normal/custom/both/off>", "Set map shuffling.", arg -> { handler.register("shuffle", "<normal/custom/both/off>", "Set map shuffling.", arg -> {
try{ try{