Merge branch 'master' into pr-readwrite

This commit is contained in:
WayZer
2024-02-14 15:13:31 +08:00
committed by GitHub
378 changed files with 11894 additions and 6855 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -347,12 +347,23 @@ open = Open
customize = Customize Rules
cancel = Cancel
command = Command
command.queue = Queue
command.mine = Mine
command.repair = Repair
command.rebuild = Rebuild
command.assist = Assist Player
command.move = Move
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Open Link
copylink = Copy Link
back = Back
@@ -433,6 +444,7 @@ editor.waves = Waves
editor.rules = Rules
editor.generation = Generation
editor.objectives = Objectives
editor.locales = Locale Bundles
editor.ingame = Edit In-Game
editor.playtest = Playtest
editor.publish.workshop = Publish On Workshop
@@ -489,6 +501,7 @@ editor.default = [lightgray]<Default>
details = Details...
edit = Edit
variables = Vars
logic.globals = Built-in Variables
editor.name = Name:
editor.spawn = Spawn Unit
editor.removeunit = Remove Unit
@@ -500,6 +513,7 @@ editor.errorlegacy = This map is too old, and uses a legacy map format that is n
editor.errornot = This is not a map file.
editor.errorheader = This map file is either not valid or corrupt.
editor.errorname = Map has no name defined. Are you trying to load a save file?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Update
editor.randomize = Randomize
editor.moveup = Move Up
@@ -511,6 +525,7 @@ editor.sectorgenerate = Sector Generate
editor.resize = Resize
editor.loadmap = Load Map
editor.savemap = Save Map
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Saved!
editor.save.noname = Your map does not have a name! Set one in the 'map info' menu.
editor.save.overwrite = Your map overwrites a built-in map! Pick a different name in the 'map info' menu.
@@ -599,6 +614,24 @@ filter.option.threshold2 = Secondary Threshold
filter.option.radius = Radius
filter.option.percentile = Percentile
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Width:
height = Height:
menu = Menu
@@ -650,9 +683,11 @@ objective.commandmode.name = Command Mode
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Minimap
marker.point.name = Point
marker.shape.name = Shape
marker.text.name = Text
marker.line.name = Line
marker.quad.name = Quad
marker.background = Background
marker.outline = Outline
@@ -681,7 +716,6 @@ resources.max = Max
bannedblocks = Banned Blocks
objectives = Objectives
bannedunits = Banned Units
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Add All
@@ -742,7 +776,7 @@ sector.missingresources = [scarlet]Insufficient Core Resources
sector.attacked = Sector [accent]{0}[white] under attack!
sector.lost = Sector [accent]{0}[white] lost!
#note: the missing space in the line below is intentional
sector.captured = Sector [accent]{0}[white]captured!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Change Icon
sector.noswitch.title = Unable to Switch Sectors
sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[]
@@ -1014,6 +1048,7 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~ [stat]{1}[lightgray] tiles
bullet.incendiary = [stat]incendiary
bullet.homing = [stat]homing
bullet.armorpierce = [stat]armor piercing
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0}[lightgray] seconds of repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
@@ -1069,6 +1104,7 @@ setting.backgroundpause.name = Pause In Background
setting.buildautopause.name = Auto-Pause Building
setting.doubletapmine.name = Double-Tap to Mine
setting.commandmodehold.name = Hold For Command Mode
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Disable Mods On Startup Crash
setting.animatedwater.name = Animated Surfaces
setting.animatedshields.name = Animated Shields
@@ -1122,7 +1158,7 @@ setting.sfxvol.name = SFX Volume
setting.mutesound.name = Mute Sound
setting.crashreport.name = Send Anonymous Crash Reports
setting.savecreate.name = Auto-Create Saves
setting.publichost.name = Public Game Visibility
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Player Limit
setting.chatopacity.name = Chat Opacity
setting.lasersopacity.name = Power Laser Opacity
@@ -1142,6 +1178,7 @@ keybind.title = Rebind Keys
keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported.
category.general.name = General
category.view.name = View
category.command.name = Unit Command
category.multiplayer.name = Multiplayer
category.blocks.name = Block Select
placement.blockselectkeys = \n[lightgray]Key: [{0},
@@ -1159,6 +1196,26 @@ keybind.mouse_move.name = Follow Mouse
keybind.pan.name = Pan View
keybind.boost.name = Boost
keybind.command_mode.name = Command Mode
keybind.command_queue.name = Queue Unit Command
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Select Region
keybind.schematic_menu.name = Schematic Menu
@@ -1223,8 +1280,11 @@ mode.attack.name = Attack
mode.attack.description = Destroy the enemy's base. \n[gray]Requires a red core in the map to play.
mode.custom = Custom Rules
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Infinite Resources
rules.onlydepositcore = Only Allow Core Depositing
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reactor Explosions
rules.coreincinerates = Core Incinerates Overflow
rules.disableworldprocessors = Disable World Processors
@@ -1748,7 +1808,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricator
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1801,14 +1860,14 @@ hint.desktopPause = Press [accent][[Space][] to pause and unpause the game.
hint.breaking = [accent]Right-click[] and drag to break blocks.
hint.breaking.mobile = Activate the \uE817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection.
hint.blockInfo = View information of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right.
hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources.
hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources, or repaired.
hint.research = Use the \uE875 [accent]Research[] button to research new technology.
hint.research.mobile = Use the \uE875 [accent]Research[] button in the \uE88C [accent]Menu[] to research new technology.
hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to manually control friendly units or turrets.
hint.unitControl.mobile = [accent][[Double-tap][] to manually control friendly units or turrets.
hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there.
hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there.
hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \uE827 [accent]Map[] in the bottom right.
hint.launch = Once enough resources are collected, you can [accent]Launch[] to the next sector by opening the \uE827 [accent]Map[] in the bottom right, and panning over to the new location.
hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \uE827 [accent]Map[] in the \uE88C [accent]Menu[].
hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type.
hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically.
@@ -1869,6 +1928,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium[] as ammo, using ducts.
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uF6EE [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uF725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2074,7 +2134,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
#Erekir
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
@@ -2112,7 +2171,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge between two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2233,6 +2291,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Read a number from a linked memory cell.
lst.write = Write a number to a linked memory cell.
lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used.
lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example"
lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used.
lst.drawflush = Flush queued [accent]Draw[] operations to a display.
lst.printflush = Flush queued [accent]Print[] operations to a message block.
@@ -2268,6 +2327,52 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nLimited to 20 times a second per variable.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.\n[accent]null []values are ignored.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Unit building logic is not allowed here.
@@ -2311,6 +2416,7 @@ graphicstype.poly = Fill a regular polygon.
graphicstype.linepoly = Draw a regular polygon outline.
graphicstype.triangle = Fill a triangle.
graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nOnly ASCII characters are allowed.\nClears the print buffer.
lenum.always = Always true.
lenum.idiv = Integer division.
@@ -2419,3 +2525,11 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building, floor and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -336,12 +336,23 @@ open = Адкрыць
customize = наладзіць правілы
cancel = адмена
command = Камандаваць
command.queue = [lightgray][Queuing]
command.mine = Дабываць
command.repair = Рамантаваць
command.rebuild = Перабудоўваць
command.assist = Следаваць За Гульцом
command.move = Рухацца
command.boost = Узляцець
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = адкрыць спасылку
copylink = скапіяваць спасылку
back = Назад
@@ -422,6 +433,7 @@ editor.waves = Хвалі:
editor.rules = Правілы:
editor.generation = Генерацыя:
editor.objectives = Мэты
editor.locales = Locale Bundles
editor.ingame = Рэдагаваць ў гульні
editor.playtest = Тэставаць
editor.publish.workshop = Апублікаваць у майстэрні
@@ -477,6 +489,7 @@ editor.default = [lightgray]<Па змаўчанні>
details = Падрабязнасці...
edit = Рэдагаваць...
variables = Пераменныя
logic.globals = Built-in Variables
editor.name = Назва:
editor.spawn = Стварыць баявую адзінку
editor.removeunit = Выдаліць баявую адзінку
@@ -488,6 +501,7 @@ editor.errorlegacy = Гэтая карта занадта старая і вык
editor.errornot = Гэта не файл карты.
editor.errorheader = Гэты файл карты ня дзейнічае або пашкоджаны.
editor.errorname = Карта не мае імя. Можа быць, Вы спрабуеце загрузіць захаванне?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Абнавіць
editor.randomize = Выпадкова
editor.moveup = Рухацца Уверх
@@ -499,6 +513,7 @@ editor.sectorgenerate = Згенераваць Сектар
editor.resize = Змяніць \nразмер
editor.loadmap = Загрузіць \nкарту
editor.savemap = Захаваць \nкарту
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Захавана!
editor.save.noname = У Вашай карты няма імя! Назавіце яе ў меню «Інфармацыя аб карце».
editor.save.overwrite = Ваша карта не можа быць запісана па-над убудаванай карты! Калі ласка, увядзіце іншую назву ў меню «Інфармацыя аб карце»
@@ -583,6 +598,23 @@ filter.option.floor2 = Другая паверхню
filter.option.threshold2 = Другасны гранічны парог
filter.option.radius = Радыус
filter.option.percentile = Процентль
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Шырыня:
height = Вышыня:
@@ -633,9 +665,11 @@ objective.destroycore.name = Знішчыць Ядро
objective.commandmode.name = Рэжым Загадаў
objective.flag.name = Сцяг
marker.shapetext.name = Форма Тэксту
marker.minimap.name = Міні-Мапа
marker.point.name = Point
marker.shape.name = Форма
marker.text.name = Тэкст
marker.line.name = Line
marker.quad.name = Quad
marker.background = Задні Фон
marker.outline = Контур
objective.research = [accent]Даследаваць:\n[]{0}[lightgray]{1}
@@ -660,7 +694,6 @@ resources.max = Максімум Рэсурсаў
bannedblocks = Забароненыя блокі
objectives = Мэты
bannedunits = Забароненыя Адзінкі
rules.hidebannedblocks = Схаваць Забароненыя Блокі
bannedunits.whitelist = Забароненыя Адзінкі Ў Белым Спісе
bannedblocks.whitelist = Забароненыя Блокі Ў Белым Спісе
addall = Дадаць всё
@@ -719,7 +752,7 @@ sector.curlost = Сектар Згублены
sector.missingresources = [scarlet]Insufficient Core Resources
sector.attacked = Сектар [accent]{0}[white] атакуецца!
sector.lost = Сектар [accent]{0}[white] згублены!
sector.captured = Сектар [accent]{0}[white]захоплены!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Змяніць Іконку
sector.noswitch.title = Немагчыма Пераключыцца на Сектар
sector.noswitch = Вы не можаце пераключацца на сектары калі гэты сектар атакуецца.\n\nСектар: [accent]{0}[] у [accent]{1}[]
@@ -987,6 +1020,7 @@ bullet.splashdamage = [stat] {0} [lightgray]страты ў радыусе ~ [st
bullet.incendiary = [stat] запальны
bullet.homing = [stat] саманаводных
bullet.armorpierce = [stat]armor piercing
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
@@ -1042,6 +1076,7 @@ setting.backgroundpause.name = Паўза Калі Ў Фоне
setting.buildautopause.name = Аўтаматычная прыпыненне будаўніцтва
setting.doubletapmine.name = Двайныая Пстрычка каб дабываць
setting.commandmodehold.name = Утрымаць Для Рэжыму Загадаў
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Адключыць Мадыфікацыі Пры Памылковым Запуску
setting.animatedwater.name = Аніміраваныя вада
setting.animatedshields.name = Аніміраваныя шчыты
@@ -1095,7 +1130,7 @@ setting.sfxvol.name = Гучнасць эфектаў
setting.mutesound.name = Заглушыць гук
setting.crashreport.name = Адпраўляць ананімныя справаздачы аб вылетах
setting.savecreate.name = Аўтаматычнае стварэнне захаванняў
setting.publichost.name = Агульная даступнасць гульні
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Абмежаванне гульцоў
setting.chatopacity.name = Непразрыстасць чата
setting.lasersopacity.name = Непразрыстасць лазераў энергазабеспячэння
@@ -1115,6 +1150,7 @@ keybind.title = Кіраванне
keybinds.mobile = [scarlet] Большасць камбінацый клавіш тут не працуюць на мабільных прыладах. Падтрымліваецца толькі базавы рух.
category.general.name = Асноўнае
category.view.name = Прагляд
category.command.name = Unit Command
category.multiplayer.name = Сеткавая гульня
category.blocks.name = Выбар Блока
placement.blockselectkeys = \n[lightgray]Клавіша: [{0},
@@ -1132,6 +1168,23 @@ keybind.mouse_move.name = Следаваць За Еурсорам
keybind.pan.name = Панарамны Прагляд
keybind.boost.name = Узляцець
keybind.command_mode.name = Рэжым Загадаў
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Перабудаваць Рэгіён
keybind.schematic_select.name = Абраць Вобласць
keybind.schematic_menu.name = Меню Схем
@@ -1195,9 +1248,12 @@ mode.pvp.description = Змагайцеся супраць іншых гульц
mode.attack.name = Атака
mode.attack.description = Знішчыце варожую базу. \n[gray]Для гульні патрабуецца чырвонае ядро ​​на карце.
mode.custom = Карыстальніцкія правілы
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Схаваць Забароненыя Блокі
rules.infiniteresources = Бясконцыя рэсурсы (Гулец)
rules.onlydepositcore = Дазволіць Толькі Дэплананне Ядра
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Выбухі рэактараў
rules.coreincinerates = Ядро Спальвае Рэсурсы
rules.disableworldprocessors = Адключыць Працэсары Свету
@@ -1715,7 +1771,6 @@ block.disperse.name = Разыход
block.afflict.name = Пакута
block.lustre.name = Блеск
block.scathe.name = Паражэнне
block.fabricator.name = Фабрыкатар
block.tank-refabricator.name = Рэфабрыкатар Танкаў
block.mech-refabricator.name = Рэфабрыкатар Мяхоў
block.ship-refabricator.name = Рэфабрыкатар Суднаў
@@ -1833,6 +1888,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2032,7 +2088,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2068,7 +2123,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2185,6 +2239,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Read a number from a linked memory cell.
lst.write = Write a number to a linked memory cell.
lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used.
lst.drawflush = Flush queued [accent]Draw[] operations to a display.
lst.printflush = Flush queued [accent]Print[] operations to a message block.
@@ -2220,6 +2275,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position.
@@ -2258,6 +2352,7 @@ graphicstype.poly = Fill a regular polygon.
graphicstype.linepoly = Draw a regular polygon outline.
graphicstype.triangle = Fill a triangle.
graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Always true.
lenum.idiv = Integer division.
lenum.div = Division.\nReturns [accent]null[] on divide-by-zero.
@@ -2351,3 +2446,10 @@ lenum.build = Пабудаваць структуру.
lenum.getblock = Атрымаць будынак і яго тып у каардынатах.\nАдзінка павінна быць у дыяпазоне ад каардынат.\nЦвердыя не будынкі павінны мець тып [accent]@solid[].
lenum.within = Правярае калі адзінка знаходзіцца каля каардынат.
lenum.boost = Пачаць/перастаць узлятаць.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -341,12 +341,23 @@ open = Отвори
customize = Персонализирай правилата
cancel = Отказ
command = Command
command.queue = [lightgray][Queuing]
command.mine = Mine
command.repair = Repair
command.rebuild = Rebuild
command.assist = Assist Player
command.move = Move
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Отвори Линк
copylink = Копирай Линк
back = Назад
@@ -427,6 +438,7 @@ editor.waves = Вълни:
editor.rules = Правила:
editor.generation = Генериране:
editor.objectives = Objectives
editor.locales = Locale Bundles
editor.ingame = Редактирай в игра
editor.playtest = Playtest
editor.publish.workshop = Публикувай в Работилницата
@@ -483,6 +495,7 @@ editor.default = [lightgray]<Стандартно>
details = Детайли...
edit = Редактирай...
variables = Vars
logic.globals = Built-in Variables
editor.name = Име:
editor.spawn = Създай Единица
editor.removeunit = Премахни Единица
@@ -494,6 +507,7 @@ editor.errorlegacy = Тази карта е твърде стара, играт
editor.errornot = Този файл не е карта.
editor.errorheader = Този файл с карта е повреден или невалиден.
editor.errorname = Картата няма зададено име. Да не се опитвате да заредите игра?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Обнови
editor.randomize = Случайно
editor.moveup = Move Up
@@ -505,6 +519,7 @@ editor.sectorgenerate = Sector Generate
editor.resize = Смени размера
editor.loadmap = Зареди Карта
editor.savemap = Запиши Карта
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Записано!
editor.save.noname = Картата няма име! Задайте такова в 'Информация за картата' от менюто.
editor.save.overwrite = Съществува стандартна карта с такова име! Изберете различно име от 'Информация за картата' от менюто.
@@ -589,6 +604,23 @@ filter.option.floor2 = Втори под
filter.option.threshold2 = Втори праг
filter.option.radius = Радиус
filter.option.percentile = Перцентил
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Дължина:
height = Височина:
@@ -639,9 +671,11 @@ objective.destroycore.name = Destroy Core
objective.commandmode.name = Command Mode
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Minimap
marker.point.name = Point
marker.shape.name = Shape
marker.text.name = Text
marker.line.name = Line
marker.quad.name = Quad
marker.background = Background
marker.outline = Outline
objective.research = [accent]Research:\n[]{0}[lightgray]{1}
@@ -667,7 +701,6 @@ resources.max = Max
bannedblocks = Забранени блокове
objectives = Objectives
bannedunits = Banned Units
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Добави Всички
@@ -726,8 +759,7 @@ sector.curlost = Зоната загубена
sector.missingresources = [scarlet]Недостатъчни ресурси в ядрото
sector.attacked = Зона [accent]{0}[white] е под атака!
sector.lost = Зона [accent]{0}[white] беше загубена!
#note: the missing space in the line below is intentional
sector.captured = Зона [accent]{0}[white]беше превзета!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Change Icon
sector.noswitch.title = Unable to Switch Sectors
sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[]
@@ -999,6 +1031,7 @@ bullet.splashdamage = [stat]{0}[lightgray] щети на площ ~[stat] {1}[li
bullet.incendiary = [stat]Подпалване
bullet.homing = [stat]Самонасочване
bullet.armorpierce = [stat]armor piercing
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
@@ -1054,6 +1087,7 @@ setting.backgroundpause.name = Пауза при загуба на фокус
setting.buildautopause.name = Автоматична Пауза на Изграждането
setting.doubletapmine.name = Двоен Клик за Добив на Ресурс
setting.commandmodehold.name = Hold For Command Mode
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Забрани Модовете При Стартиране След Срив
setting.animatedwater.name = Анимирани Повърхности
setting.animatedshields.name = Анимирани Щитове
@@ -1107,7 +1141,7 @@ setting.sfxvol.name = Сила на Звуковите Ефекти
setting.mutesound.name = Заглуши Звука
setting.crashreport.name = ИЗпращай Анонимни Отчети за Сривове
setting.savecreate.name = Автоматични Записи
setting.publichost.name = Видимост на Публичните Игри
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Лимит на Играчи
setting.chatopacity.name = Плътност на Чата
setting.lasersopacity.name = Плътност на Енергийните Лазери
@@ -1127,6 +1161,7 @@ keybind.title = Промени Клавишите
keybinds.mobile = [scarlet]Повечето клавиши тук не са използваеми за мобилната версия. Само основните движения се поддържат.
category.general.name = Основни настройки
category.view.name = Изглед
category.command.name = Unit Command
category.multiplayer.name = Мрежова игра
category.blocks.name = Избор на блок
placement.blockselectkeys = \n[lightgray]Клавиш: [{0},
@@ -1144,6 +1179,23 @@ keybind.mouse_move.name = Следвай Мишката
keybind.pan.name = Панорамен Изглед
keybind.boost.name = Ускорение
keybind.command_mode.name = Command Mode
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Избери Регион
keybind.schematic_menu.name = Меню със Схеми
@@ -1207,9 +1259,12 @@ mode.pvp.description = Играйте срещу други играчи в ло
mode.attack.name = Нападение
mode.attack.description = Унищожете вражеската база. \n[gray]Картата трябва да съдържа червено ядро.
mode.custom = Персонализирани Правила
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Безкрайни Ресурси
rules.onlydepositcore = Only Allow Core Depositing
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Експлозиращи Реактори
rules.coreincinerates = Унищожаване на Ресурси при Преливане
rules.disableworldprocessors = Disable World Processors
@@ -1727,7 +1782,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricator
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1846,6 +1900,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2045,7 +2100,6 @@ block.logic-display.description = Позволява изобразяванет
block.large-logic-display.description = Позволява изобразяването на графика чрез процесор.
block.interplanetary-accelerator.description = Масивна електромагнитна релсова кула. Ускорява ядрата до необходимата скорост за междупланетно изстрелване.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2081,7 +2135,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2200,6 +2253,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Прочети число от свързано хранилище за памет.
lst.write = Запиши число в свързано хранилище за памет.
lst.print = Добави текст в буфера за изписване.\nНе визуализира нищо докато не използвате [accent]Print Flush[].
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Добавя операция в буфера за изображение.\nНе показва нищо докато не използвате [accent]Draw Flush[].
lst.drawflush = Изпълнява операции, поискани с команда [accent]Draw[] върху посочен дисплей.
lst.printflush = Извежда текст натрупан с [accent]Print[] върху посочен блок за съобщение.
@@ -2235,6 +2289,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Действия за строене на единици не са позволени тук.
@@ -2277,6 +2370,7 @@ graphicstype.poly = Запълва правилен многоъгълник.
graphicstype.linepoly = Очертава правилен многоъгълник.
graphicstype.triangle = Запълва триъгълник.
graphicstype.image = Рисува изображение.\nНапример: [accent]@router[] или [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Винаги вярно
lenum.idiv = Деление с цели числа.
@@ -2382,3 +2476,10 @@ lenum.build = Построй структура.
lenum.getblock = Преверете типът на постройката на дадени координати.\nПозицията трябва да е в обхвата на единицата.\nСолидни не-сгради ще имат типа [accent]@solid[].
lenum.within = Проверете дали дадена позиция е в обхват на единицата.
lenum.boost = Започни/Спри ускорението.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -341,12 +341,23 @@ open = Obre
customize = Personalitza les regles
cancel = Cancel·la
command = Ordre
command.queue = [lightgray][Queuing]
command.mine = Extreu recursos
command.repair = Repara
command.rebuild = Reconstrueix
command.assist = Assisteix al jugador
command.move = Mou
command.boost = Sobrevola
command.enterPayload = Enter Payload Block
command.loadUnits = Carrega unitats
command.loadBlocks = Carrega blocs
command.unloadPayload = Descarrega
stance.stop = Cancel·la les ordres
stance.shoot = Comportament: Dispara
stance.holdfire = Comportament: Mantén el foc
stance.pursuetarget = Comportament: Persegueix lobjectiu
stance.patrol = Comportament: Patrulla el camí
stance.ram = Comportament: Senzill\n[lightgray]Mou-te en línia recta, sense encaminador
openlink = Obre lenllaç
copylink = Copia lenllaç
back = Enrere
@@ -427,6 +438,7 @@ editor.waves = Onades
editor.rules = Regles
editor.generation = Generació
editor.objectives = Objectius
editor.locales = Locale Bundles
editor.ingame = Edita des de la partida
editor.playtest = Prova el mapa
editor.publish.workshop = Publica al Workshop
@@ -483,6 +495,7 @@ editor.default = [lightgray]<Per defecte>
details = Detalls
edit = Edita
variables = Variables
logic.globals = Built-in Variables
editor.name = Nom:
editor.spawn = Genera una unitat
editor.removeunit = Treu una unitat
@@ -494,6 +507,7 @@ editor.errorlegacy = Aquest mapa és massa antic i fa servir un format obsolet.
editor.errornot = No és un fitxer de mapa.
editor.errorheader = Aquest fitxer de mapa no és vàlid o està corromput.
editor.errorname = No sha definit el nom del mapa. Esteu intentant carregar una partida desada?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Actualitza
editor.randomize = Assigna a latzar
editor.moveup = Mou amunt
@@ -505,6 +519,7 @@ editor.sectorgenerate = Generació del sector
editor.resize = Canvia la mida
editor.loadmap = Carrega un mapa
editor.savemap = Desa el mapa
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Sha desat.
editor.save.noname = El mapa no té nom! Trieu-ne un des del menú «Informació del mapa».
editor.save.overwrite = El vostre mapa sobreescriu un mapa incorporat al joc! Trieu un nom diferent des del menú «Informació del mapa».
@@ -592,6 +607,23 @@ filter.option.floor2 = Terra secundari
filter.option.threshold2 = Llindar secundari
filter.option.radius = Radi
filter.option.percentile = Percentil
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Amplada:
height = Alçada:
@@ -642,9 +674,11 @@ objective.destroycore.name = Destrueix el nucli
objective.commandmode.name = Mode de comandament
objective.flag.name = Bandera
marker.shapetext.name = Forma del text
marker.minimap.name = Minimapa
marker.point.name = Point
marker.shape.name = Forma
marker.text.name = Text
marker.line.name = Línia
marker.quad.name = Quad
marker.background = Fons
marker.outline = Contorn
@@ -671,7 +705,6 @@ resources.max = Màx.
bannedblocks = Blocs no permesos
objectives = Objectius
bannedunits = Unitats no permeses
rules.hidebannedblocks = Amaga els blocs no permesos
bannedunits.whitelist = Unitats no permeses com a llista blanca
bannedblocks.whitelist = Blocs no permesos com a llista blanca
addall = Afegeix-ho tot
@@ -730,8 +763,7 @@ sector.curlost = Sector perdut
sector.missingresources = [scarlet]Recursos insuficients al nucli
sector.attacked = Ataquen el sector [accent]{0}[white]!
sector.lost = Heu perdut el sector [accent]{0}[white]!
#note: the missing space in the line below is intentional
sector.captured = Sha capturat el sector [accent]{0}[white]!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Canvia la icona
sector.noswitch.title = Els sectors no es poden canviar.
sector.noswitch = Potser no podeu canviar de sector perquè nataquen un altre.\n\nSector: [accent]{0}[] de [accent]{1}[]
@@ -960,9 +992,9 @@ ability.movelightning = Moviment llampec
ability.shieldarc = Escut de descàrregues
ability.suppressionfield = Regen Suppression Field
ability.energyfield = Camp de força
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
ability.energyfield.sametypehealmultiplier = [lightgray]Mateix tipus de guarició: [white]{0} %
ability.energyfield.maxtargets = [lightgray]Objectius màx.: [white]{0}
ability.regen = Regeneració
bar.onlycoredeposit = Només es permet depositar al nucli.
bar.drilltierreq = Cal una perforadora millor.
@@ -1002,6 +1034,7 @@ bullet.splashdamage = [stat]{0}[lightgray] de dany a làrea ~[stat] {1}[light
bullet.incendiary = [stat]incendiari
bullet.homing = [stat]munició guiada
bullet.armorpierce = [stat]perforador darmadures
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]Supressió de reparacions cada {0} s[lightgray] ~ [stat]{1}[lightgray] caselles
bullet.interval = [stat]Interval de bales de {0}/s[lightgray]:
bullet.frags = [stat]{0}[lightgray]× de bales de fragmentació:
@@ -1057,6 +1090,7 @@ setting.backgroundpause.name = Pausa automàtica quan sestigui en segon pla
setting.buildautopause.name = Pausa automàtica quan es construeixi
setting.doubletapmine.name = Dos tocs/clics per a extreure recursos
setting.commandmodehold.name = Mantén per al mode de comandament
setting.distinctcontrolgroups.name = Limita a un grup de control per unitat
setting.modcrashdisable.name = Desactiva els mods quan no es pugui iniciar el joc
setting.animatedwater.name = Animacions del terreny
setting.animatedshields.name = Animacions dels escuts
@@ -1103,14 +1137,14 @@ setting.position.name = Mostra la posició del jugador
setting.mouseposition.name = Mostra la posició del ratolí
setting.musicvol.name = Volum de la música
setting.atmosphere.name = Mostra latmosfera del planeta
setting.drawlight.name = Draw Darkness/Lighting
setting.drawlight.name = Dibuixa la foscor/llum
setting.ambientvol.name = Volum del so ambiental
setting.mutemusic.name = Silencia la música
setting.sfxvol.name = Volums dels efectes de so
setting.mutesound.name = Silencia el so
setting.crashreport.name = Envia informes derror anònims
setting.savecreate.name = Desa automàticament la partida
setting.publichost.name = Visibilitat de la partida pública
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Límit de jugadors
setting.chatopacity.name = Opacitat del xat
setting.lasersopacity.name = Opacitat dels làsers denergia
@@ -1130,6 +1164,7 @@ keybind.title = Personalització dels controls
keybinds.mobile = [scarlet]La majoria de dreceres no estan disponibles en les versions per a pantalles tàctils. Només està inclòs el moviment bàsic.
category.general.name = General
category.view.name = Control de la vista i altres
category.command.name = Ordre dunitat
category.multiplayer.name = Multijugador
category.blocks.name = Selecció destructures per construir
placement.blockselectkeys = \n[lightgray]Tecles: [{0},
@@ -1147,6 +1182,23 @@ keybind.mouse_move.name = Segueix el ratolí
keybind.pan.name = Desplaça la vista
keybind.boost.name = Sobrevola
keybind.command_mode.name = Mode de comandament
keybind.command_queue.name = Cua dordres dunitat
keybind.create_control_group.name = Crea un grup de control
keybind.cancel_orders.name = Cancel·la les ordres
keybind.unit_stance_shoot.name = Comportament: Dispara
keybind.unit_stance_hold_fire.name = Comportament: Mantén el foc
keybind.unit_stance_pursue_target.name = Comportament: Persegueix lobjectiu
keybind.unit_stance_patrol.name = Comportament: Patrulla
keybind.unit_stance_ram.name = Comportament: Senzill
keybind.unit_command_move = Comportament: Mou
keybind.unit_command_repair = Comportament: Repara
keybind.unit_command_rebuild = Comportament: Reconstrueix
keybind.unit_command_assist = Comportament: Assisteix
keybind.unit_command_mine = Comportament: Extrau
keybind.unit_command_boost = Comportament: Sobrevola
keybind.unit_command_load_units = Comportament: Carrega unitats
keybind.unit_command_load_blocks = Comportament: Carrega blocs
keybind.unit_command_unload_payload = Comportament: Descarrega
keybind.rebuild_select.name = Reconstrueix la regió
keybind.schematic_select.name = Selecciona una regió
keybind.schematic_menu.name = Menú de plànols
@@ -1210,9 +1262,12 @@ mode.pvp.description = Lluiteu contra altres jugadors localment.\n[gray]Cal que
mode.attack.name = Atac
mode.attack.description = Destruïu la base enemiga. \n[gray]Cal que al mapa hi hagi un nucli vermell.
mode.custom = Regles personalitzades
rules.invaliddata = Dades del porta-retalls no vàlides.
rules.hidebannedblocks = Amaga els blocs no permesos
rules.infiniteresources = Recursos infinits
rules.onlydepositcore = Al nucli només es poden dipositar recursos
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Explosions als reactors
rules.coreincinerates = El nucli incinera els excedents
rules.disableworldprocessors = Desactiva els processadors integrats
@@ -1736,7 +1791,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricadora
block.tank-refabricator.name = Milloradora de tancs
block.mech-refabricator.name = Milloradora de meques
block.ship-refabricator.name = Milloradora de naus
@@ -1855,6 +1909,7 @@ onset.turrets = Les unitats són efectives, però les [accent]torretes[] proporc
onset.turretammo = Subministreu [accent]munició de beril·li[] a la torreta.
onset.walls = Els [accent]murs[] poden evitar que el dany arribi a les estructures importants.\nConstruïu alguns \uf6ee [accent]murs de beril·li[] al voltant de la torreta.
onset.enemies = Sapropa un enemic. Prepareu la defensa.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = Lenemic és vulnerable. Contraataqueu.
onset.cores = Els nuclis nous es poden construir en [accent]caselles de nucli[].\nEls nuclis nous funcionen com a bases i comparteixen un inventari de recursos amb altres nuclis.\nConstruïu un \uf725 nucli.
onset.detect = Lenemic us detectarà daquí 2 minuts.\nEstabliu les defenses i les explotacions mineres i de producció.
@@ -2055,7 +2110,6 @@ block.logic-display.description = Mostra un gràfic des dun processador lògi
block.large-logic-display.description = Mostra un gràfic des dun processador lògic.
block.interplanetary-accelerator.description = Una torreta amb un canó electromagnètic enorme. Accelera els nuclis fins aconseguir la velocitat descapament per a fer llançaments interplanetaris.
block.repair-turret.description = Repara contínuament la unitat danyada que tingui més a prop al seu voltant. També se li pot subministrar refrigerant perquè funcioni més ràpid.
block.payload-propulsion-tower.description = Estructura de transport de recursos a distància. Dispara paquets de càrrega a altres torres de transport a distància enllaçades.
block.core-bastion.description = Nucli de la base. Blindat. Quan es destrueix, es perd el sector.
block.core-citadel.description = Nucli de la base. Molt ben blindat. Emmagatzema més recursos que un nucli Bastió.
block.core-acropolis.description = Nucli de la base. Excepcionalment ben blindat. Emmagatzema més recursos que un nucli Ciutadella.
@@ -2091,7 +2145,6 @@ block.impact-drill.description = Quan es posa a sobre de minerals, nextrau in
block.eruption-drill.description = Una perforadora dimpacte millorada. Pot extraure tori. Necessita hidrogen.
block.reinforced-conduit.description = Impulsa i fa circular els fluids. No accepta entrades des dels laterals si no és a través de conductes.
block.reinforced-liquid-router.description = Distribueix fluids a tots els seus costats.
block.reinforced-junction.description = Actua com a dues canonades independents que es creuen.
block.reinforced-liquid-tank.description = Emmagatzema una gran quantitat de fluid.
block.reinforced-liquid-container.description = Emmagatzema fluids.
block.reinforced-bridge-conduit.description = Transporta fluids per sota de les estructures i del terreny.
@@ -2210,6 +2263,7 @@ unit.emanate.description = Construeix estructures per defensar el nucli Acròpol
lst.read = Llegeix un nombre des duna cel·la de memòria connectada.
lst.write = Escriu un nombre en una cel·la de memòria connectada.
lst.print = Afegeix un text a la cua dimpressió.\nEl text no es mostrarà fins que sapliqui «[accent]Print Flush[]».
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Afegeix una instrucció de dibuix a la cua corresponent.\nEl resultat no es mostrarà fins que sapliqui «[accent]Draw Flush[]».
lst.drawflush = Executa les operacions de la cua de dibuix al monitor lògic.
lst.printflush = Executa les operacions de la cua dimpressió al monitor lògic.
@@ -2243,8 +2297,47 @@ lst.cutscene = Manipula la càmera del jugador.
lst.setflag = Estableix un senyal global que es podrà llegir en tots els processadors.
lst.getflag = Obtén un senyal global.
lst.setprop = Estableix una propietat duna unitat o estructura.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.effect = Crea un efecte de particula.
lst.sync = Sincronitza una variable a través de la xarxa.\nSinvoca com a molt 10 vegades per segon.
lst.makemarker = Crea una marca lògica al món.\nSha de donar un ID per a identificar-la.\nEs poden establir fins a 20.000 marcadors per món.
lst.setmarker = Estableix una propietat per a la marca.\nLID que es faci servir ha de ser el mateix que el de la instrucció de crear la marca.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Aquí no es permet construir blocs de tipus lògic.
@@ -2287,6 +2380,7 @@ graphicstype.poly = Omple un polígon regular.
graphicstype.linepoly = Dibuixa els costats dun polígon regular.
graphicstype.triangle = Omple un triangle.
graphicstype.image = Dibuixa una imatge dalgun element del joc.\nPer exemple: [accent]@router[] o [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Sempre cert.
lenum.idiv = Divisió entera.
@@ -2395,3 +2489,10 @@ lenum.build = Construeix una estructura.
lenum.getblock = Obté un bloc i el seu tipus a les coordenades indicades.\nLa posició escollida ha destar a labast de la unitat.\nEls blocs que no són construccions tindran el tipus [accent]@solid[].
lenum.within = Comprova si la unitat està a prop duna posició.
lenum.boost = Inicia/Detén el vol.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -341,12 +341,23 @@ open = Otevřít
customize = Přizpůsobit pravidla
cancel = Zrušit
command = Command
command.queue = [lightgray][Queuing]
command.mine = Mine
command.repair = Repair
command.rebuild = Rebuild
command.assist = Assist Player
command.move = Move
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Otevřít odkaz
copylink = Zkopírovat odkaz
back = Zpět
@@ -427,6 +438,7 @@ editor.waves = Vln:
editor.rules = Pravidla:
editor.generation = Generace:
editor.objectives = Úkoly:
editor.locales = Locale Bundles
editor.ingame = Upravit ve hře
editor.playtest = Playtest
editor.publish.workshop = Publikovat do Workshopu na Steamu
@@ -483,6 +495,7 @@ editor.default = [lightgray]<Výchozí>[]
details = Podrobnosti...
edit = Upravit...
variables = Hodnoty
logic.globals = Built-in Variables
editor.name = Jméno:
editor.spawn = Zrodit jednotku
editor.removeunit = Odstranit jednotku
@@ -494,6 +507,7 @@ editor.errorlegacy = Tato mapa je příliš stará a používá formát mapy, kt
editor.errornot = Toto není soubor mapy.
editor.errorheader = Tento soubor mapy je buď neplatný nebo poškozen.
editor.errorname = Mapa nemá definované jméno. Nesnažíš se náhodou nahrát soubor s uložením hry?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Aktualizovat
editor.randomize = Náhodně vygenerovat
editor.moveup = Pohyb Nahoru
@@ -505,6 +519,7 @@ editor.sectorgenerate = Generovat Sektor
editor.resize = Změnit velikost
editor.loadmap = Načíst mapu
editor.savemap = Uložit mapu
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Uloženo!
editor.save.noname = Tvoje mapa nemá jméno! Jméno nastavíš v položce nabídky "Informace o mapě".
editor.save.overwrite = Tvoje mapa přepisuje vestavěnou mapu! Nastav jí radši jiné jméno v položce nabídky "Informace o mapě".
@@ -590,6 +605,23 @@ filter.option.floor2 = Druhotný povrch
filter.option.threshold2 = Druhotný práh
filter.option.radius = Poloměr
filter.option.percentile = Percentil
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Šířka:
height = Výška:
@@ -640,9 +672,11 @@ objective.destroycore.name = Zničit Jádro
objective.commandmode.name = Příkazovy Režim
objective.flag.name = Vlajka
marker.shapetext.name = Shape Text
marker.minimap.name = Minimapa
marker.point.name = Point
marker.shape.name = Tvar
marker.text.name = Text
marker.line.name = Line
marker.quad.name = Quad
marker.background = Pozadí
marker.outline = Outline
objective.research = [accent]Research:\n[]{0}[lightgray]{1}
@@ -668,7 +702,6 @@ resources.max = Max
bannedblocks = Zakázané bloky
objectives = Úkoly
bannedunits = Zakázané jednotky
rules.hidebannedblocks = Schovat Zakázané Kostky
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Přidat vše
@@ -727,8 +760,7 @@ sector.curlost = Sektor ztracen
sector.missingresources = [scarlet]Nedostatečné zdroje v jádře
sector.attacked = Sektor [accent]{0}[white] pod útokem!
sector.lost = Sektor [accent]{0}[white] ztracen! :(
#note: chybějící mezera v řádce níže je záměrná :)
sector.captured = Sektor [accent]{0}[white]polapen! :)
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Změnit Ikonu
sector.noswitch.title = Nelze Vyměnit Sektor
sector.noswitch = Sektory nelze přepnut, pokud je stávající sektor pod útokem.\n\nSektor: [accent]{0}[] na [accent]{1}[]
@@ -1000,6 +1032,7 @@ bullet.splashdamage = [stat]{0}[lightgray] plošného poškození ~[stat] {1}[li
bullet.incendiary = [stat]zápalný
bullet.homing = [stat]samonaváděcí
bullet.armorpierce = [stat]armor piercing
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] kostek
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag střel:
@@ -1055,6 +1088,7 @@ setting.backgroundpause.name = Pozastavit v pozadí
setting.buildautopause.name = Automaticky pozastavit stavění
setting.doubletapmine.name = Dvojklik pro Těžbu
setting.commandmodehold.name = Držet pro Příkazový Režim
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Vypnout Modifikace Při Pádovém Spuštění
setting.animatedwater.name = Animované povrchy
setting.animatedshields.name = Animované štíty
@@ -1108,7 +1142,7 @@ setting.sfxvol.name = Hlasitost efektů
setting.mutesound.name = Ztišit zvuk
setting.crashreport.name = Poslat anonymní hlášení o spadnutí Mindustry
setting.savecreate.name = Automaticky ukládat hru
setting.publichost.name = Veřejná viditelnost hry
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Nejvyšší počet hráčů
setting.chatopacity.name = Průsvitnost kanálu zpráv
setting.lasersopacity.name = Průsvitnost energetického laseru
@@ -1128,6 +1162,7 @@ keybind.title = Změnit klávesy
keybinds.mobile = [scarlet]Většina kláves nefunguje v mobilní verzi hry. Je podporován jen základní pohyb.[]
category.general.name = Všeobecné
category.view.name = Pohled
category.command.name = Unit Command
category.multiplayer.name = Hra více hráčů
category.blocks.name = Výběr bloků
placement.blockselectkeys = \n[lightgray]Klávesa:[] [{0},
@@ -1145,6 +1180,23 @@ keybind.mouse_move.name = Následovat myš
keybind.pan.name = Následovat kameru
keybind.boost.name = Posílení
keybind.command_mode.name = Příkazový Režim
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Přestavět Region
keybind.schematic_select.name = Vybrat oblast
keybind.schematic_menu.name = Nabídka šablon
@@ -1208,9 +1260,12 @@ mode.pvp.description = Bojuj proti ostatním hráčům v lokální síti.\n[gray
mode.attack.name = Útok
mode.attack.description = Znič nepřátelskou základnu.\n[gray]Vyžaduje přítomnost červeného jádra na mapě.[]
mode.custom = Vlastní pravidla
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Schovat Zakázané Kostky
rules.infiniteresources = Neomezeně surovin
rules.onlydepositcore = Only Allow Core Depositing
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Výbuch reaktoru
rules.coreincinerates = Jádro Spaluje Nadbytečné Suroviny
rules.disableworldprocessors = Zakázat Světové Procesory
@@ -1730,7 +1785,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabrikátor
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1849,6 +1903,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2049,7 +2104,6 @@ block.logic-display.description = Zobrazuje libovolnou grafiku z logického proc
block.large-logic-display.description = Zobrazuje libovolnou grafiku z logického procesoru.
block.interplanetary-accelerator.description = Masivní elektromagnetická věž. Urychlí jádro na únikovou rychlost pro meziplanetární vyslání.
block.repair-turret.description = Nepřetržitě opravuje nejblížší poškozenou jednotku v jeho blízkosti. Lze volitelně dodávat chlazení pro jeho posílení.
block.payload-propulsion-tower.description = Dálková nákladní transportní věž. Střílí náklad do dalších propojených nákladních transportních věží.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2085,7 +2139,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2204,6 +2257,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Přečte číslo z připojené paměti.
lst.write = Zapíše číslo do připojené paměti.
lst.print = Přídá text do vypisovacího buferu.\nNezobrazí nic dokud [accent]Print Flush[] je použít.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Přídá operaci do vykreslovacího buferu.\nNezobrazí nic dokud [accent]Draw Flush[] je použít.
lst.drawflush = Provede všechny [accent]Draw[] operace na zobrazovač logiky. Pak vyčistí vykreslovací bufer.
lst.printflush = Provede všechny [accent]Print[] operace do zprávy. Pak vyčistí vypisovací bufer.
@@ -2239,6 +2293,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Stavba budov pomoci jednotek kontrolované procesorem neni povolené.
@@ -2281,6 +2374,7 @@ graphicstype.poly = Vyplní pravidelný mnohoúhelník.
graphicstype.linepoly = Nakreslí obrys pravidelného mnohoúhelníku.
graphicstype.triangle = Vyplní trojúhelník.
graphicstype.image = Vykreslí obrázek nějakého obsahu.\nnapř.: [accent]@router[] nebo [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Vždy pravda.
lenum.idiv = Číselné dělení.
@@ -2389,3 +2483,10 @@ lenum.build = Postavit strukturu.
lenum.getblock = Získat budovu a typ na dané pozici.\nJednotka musí být v dosahu dané pozice.\nSolidní non-budovy budou mít typ [accent]@solid[].
lenum.within = Zkontrolovat, jestli jednotka je blízko dané pozice.
lenum.boost = Začít/Přestat posilovat.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -337,12 +337,23 @@ open = Åben
customize = Customize Rules
cancel = Afblæs
command = Command
command.queue = [lightgray][Queuing]
command.mine = Mine
command.repair = Repair
command.rebuild = Rebuild
command.assist = Assist Player
command.move = Move
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Åben Link
copylink = Kopier Link
back = Tilbage
@@ -423,6 +434,7 @@ editor.waves = Bølge:
editor.rules = Regler:
editor.generation = Generering:
editor.objectives = Objectives
editor.locales = Locale Bundles
editor.ingame = Ændr i spil
editor.playtest = Playtest
editor.publish.workshop = Publicer på Workshop
@@ -478,6 +490,7 @@ editor.default = [lightgray]<standard>
details = Detaljer...
edit = Rediger...
variables = Vars
logic.globals = Built-in Variables
editor.name = Navn:
editor.spawn = Påkald enhed
editor.removeunit = Fjern enhed
@@ -489,6 +502,7 @@ editor.errorlegacy = Denne bane er forældet, og bruger et eftermægle-format, d
editor.errornot = Dette er ikke en bane-fil.
editor.errorheader = Denne bane er enten ugyldig eller i stykker.
editor.errorname = Banen har ikke noget navn. Forsøger du at gemme filen?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Opdater
editor.randomize = Tilfældiggør
editor.moveup = Move Up
@@ -500,6 +514,7 @@ editor.sectorgenerate = Sector Generate
editor.resize = Omskaler
editor.loadmap = Indlæs bane
editor.savemap = Gem bane
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Gemt!
editor.save.noname = Din bane har intet navn! Giv den et navn under 'bane-information'-menuen.
editor.save.overwrite = Din bane overskriver en indbygget bane! Vælge et andet navn under 'bane-information'-menuen.
@@ -584,6 +599,23 @@ filter.option.floor2 = Sekundært gulv
filter.option.threshold2 = Sekundær terskel
filter.option.radius = Radius
filter.option.percentile = Percentil
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Bredde:
height = Højde:
@@ -634,9 +666,11 @@ objective.destroycore.name = Destroy Core
objective.commandmode.name = Command Mode
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Minimap
marker.point.name = Point
marker.shape.name = Shape
marker.text.name = Text
marker.line.name = Line
marker.quad.name = Quad
marker.background = Background
marker.outline = Outline
objective.research = [accent]Research:\n[]{0}[lightgray]{1}
@@ -661,7 +695,6 @@ resources.max = Max
bannedblocks = Banlyste blokke
objectives = Objectives
bannedunits = Banned Units
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Tilføj alle
@@ -720,7 +753,7 @@ sector.curlost = Sector Lost
sector.missingresources = [scarlet]Ikke nok resurser i kernen.
sector.attacked = Sector [accent]{0}[white] under attack!
sector.lost = Sector [accent]{0}[white] lost!
sector.captured = Sector [accent]{0}[white]captured!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Change Icon
sector.noswitch.title = Unable to Switch Sectors
sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[]
@@ -989,6 +1022,7 @@ bullet.splashdamage = [stat]{0}[lightgray] områdeskade ~[stat] {1}[lightgray] f
bullet.incendiary = [stat]brændfarlig
bullet.homing = [stat]målsøgende
bullet.armorpierce = [stat]armor piercing
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
@@ -1044,6 +1078,7 @@ setting.backgroundpause.name = Pause In Background
setting.buildautopause.name = Auto-pause af bygning
setting.doubletapmine.name = Double-Tap to Mine
setting.commandmodehold.name = Hold For Command Mode
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Disable Mods On Startup Crash
setting.animatedwater.name = Animeret vand
setting.animatedshields.name = Animeret skjold
@@ -1097,7 +1132,7 @@ setting.sfxvol.name = SFX-volumen
setting.mutesound.name = Forstum lyde
setting.crashreport.name = Send anonyme fejlrapporter
setting.savecreate.name = Gem automatisk
setting.publichost.name = Synlighed af offentlige spil
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Spiller-grænse
setting.chatopacity.name = Chat-gennemsigtighed
setting.lasersopacity.name = Strøm-laser-gennemsigtighed
@@ -1117,6 +1152,7 @@ keybind.title = Rekonfigurer taster
keybinds.mobile = [scarlet]De fleste taster er ikke relevante for mobil. Kun basal bevægelse er understøttet.
category.general.name = Generel
category.view.name = Billede
category.command.name = Unit Command
category.multiplayer.name = Spil med andre
category.blocks.name = Blokvalg
placement.blockselectkeys = \n[lightgray]Tast: [{0},
@@ -1134,6 +1170,23 @@ keybind.mouse_move.name = Følg musen
keybind.pan.name = Panorer billede
keybind.boost.name = Forstærk
keybind.command_mode.name = Command Mode
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Vælg region
keybind.schematic_menu.name = Skabelon-visning
@@ -1197,9 +1250,12 @@ mode.pvp.description = Spil mod andre spillere lokalt.\n[gray]Kræver mindst to
mode.attack.name = Angrib
mode.attack.description = Destruer fjendens base. \n[gray]Kræver en rød kerne i banen, for at spille.
mode.custom = Brugerdefinerede regler
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Uendelig resurser
rules.onlydepositcore = Only Allow Core Depositing
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reaktor-eksplosioner
rules.coreincinerates = Core Incinerates Overflow
rules.disableworldprocessors = Disable World Processors
@@ -1717,7 +1773,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricator
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1835,6 +1890,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2032,7 +2088,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2068,7 +2123,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2185,6 +2239,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Read a number from a linked memory cell.
lst.write = Write a number to a linked memory cell.
lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used.
lst.drawflush = Flush queued [accent]Draw[] operations to a display.
lst.printflush = Flush queued [accent]Print[] operations to a message block.
@@ -2220,6 +2275,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position.
@@ -2258,6 +2352,7 @@ graphicstype.poly = Fill a regular polygon.
graphicstype.linepoly = Draw a regular polygon outline.
graphicstype.triangle = Fill a triangle.
graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Always true.
lenum.idiv = Integer division.
lenum.div = Division.\nReturns [accent]null[] on divide-by-zero.
@@ -2351,3 +2446,10 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -344,12 +344,23 @@ open = Öffnen
customize = Anpassen
cancel = Abbruch
command = Befehl
command.queue = [lightgray][Queuing]
command.mine = Abbauen
command.repair = Reparieren
command.rebuild = Wiederaufbauen
command.assist = Spieler unterstützen
command.move = Bewegen
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Link öffnen
copylink = Link kopieren
back = Zurück
@@ -430,6 +441,7 @@ editor.waves = Wellen
editor.rules = Regeln
editor.generation = Generator
editor.objectives = Ziele
editor.locales = Locale Bundles
editor.ingame = Im Spiel bearbeiten
editor.playtest = Playtest
editor.publish.workshop = Im Workshop veröffentlichen
@@ -486,6 +498,7 @@ editor.default = [lightgray]<Standard>
details = Details
edit = Bearbeiten
variables = Variablen
logic.globals = Built-in Variables
editor.name = Name:
editor.spawn = Spawnbereich
editor.removeunit = Bereich entfernen
@@ -497,6 +510,7 @@ editor.errorlegacy = Diese Karte ist zu alt und benutzt ein veraltetes Kartenfor
editor.errornot = Dies ist keine Kartendatei.
editor.errorheader = Diese Karte ist entweder nicht gültig oder beschädigt.
editor.errorname = Karte hat keinen Namen.
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Aktualisieren
editor.randomize = Zufällig anordnen
editor.moveup = Hochschieben
@@ -508,6 +522,7 @@ editor.sectorgenerate = Sektor generieren
editor.resize = Größe\nanpassen
editor.loadmap = Karte\nladen
editor.savemap = Karte\nspeichern
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Gespeichert!
editor.save.noname = Deine Karte hat keinen Namen! Setze einen Namen im [accent]Karten-Info[]-Menü.
editor.save.overwrite = Deine Karte überschreibt eine Standardkarte! Wähle einen anderen Karten Namen im [accent]Karten-Info[]-Menü.
@@ -595,6 +610,23 @@ filter.option.floor2 = Sekundärer Boden
filter.option.threshold2 = Sekundärer Grenzwert
filter.option.radius = Radius
filter.option.percentile = Perzentil
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Breite:
height = Höhe:
@@ -647,9 +679,11 @@ objective.commandmode.name = Steuerungsmodus
objective.flag.name = Flag
marker.shapetext.name = Geformter Text
marker.minimap.name = Minimap
marker.point.name = Point
marker.shape.name = Form
marker.text.name = Text
marker.line.name = Line
marker.quad.name = Quad
marker.background = Hintergrund
marker.outline = Umriss
@@ -678,7 +712,6 @@ resources.max = Max
bannedblocks = Gesperrte Blöcke
objectives = Ziele
bannedunits = Gesperrte Einheiten
rules.hidebannedblocks = Gesperrte Blöcke verstecken
bannedunits.whitelist = Gesperrte Einheiten als Whitelist
bannedblocks.whitelist = Gesperrte Blöcke als Whitelist
addall = Alle hinzufügen
@@ -738,8 +771,7 @@ sector.curlost = Sektor verloren
sector.missingresources = [scarlet]Fehlende Kernressourcen
sector.attacked = Sektor [accent]{0}[white] wird angegriffen!
sector.lost = Sektor [accent]{0}[white] verloren!
#note: the missing space in the line below is intentional
sector.captured = Sektor [accent]{0}[white]erobert!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Bild ändern
sector.noswitch.title = Kann Sektoren nicht wechseln
sector.noswitch = Du kannst nicht zwischen Sektoren wechseln, wenn ein anderer angegriffen wird.\n\nSektor: [accent]{0}[] auf [accent]{1}[]
@@ -1012,6 +1044,7 @@ bullet.splashdamage = [stat]{0}[lightgray] Flächenschaden ~[stat] {1}[lightgray
bullet.incendiary = [stat]entzündend
bullet.homing = [stat]zielsuchend
bullet.armorpierce = [stat]panzerbrechend
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] Heilungsunterdrückung ~ [stat]{1}[lightgray] Kacheln
bullet.interval = [stat]{0}/sec[lightgray] Intervallgeschosse:
bullet.frags = [stat]{0}[lightgray]x Splittergeschosse:
@@ -1067,6 +1100,7 @@ setting.backgroundpause.name = Im Hintergrund pausieren
setting.buildautopause.name = Bauen automatisch pausieren
setting.doubletapmine.name = Doppeltippen zum Abbauen
setting.commandmodehold.name = Halten für Steuerungsmodus
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Mods bei Absturz deaktivieren
setting.animatedwater.name = Animierte Oberflächen
setting.animatedshields.name = Animierte Schilde
@@ -1120,7 +1154,7 @@ setting.sfxvol.name = Audioeffekt-Lautstärke
setting.mutesound.name = Audioeffekte stummschalten
setting.crashreport.name = Anonyme Absturzberichte senden
setting.savecreate.name = Automatisch speichern
setting.publichost.name = Öffentliche Sichtbarkeit des Spiels
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Spielerbegrenzung
setting.chatopacity.name = Chat-Deckkraft
setting.lasersopacity.name = Power-Laser-Deckkraft
@@ -1140,6 +1174,7 @@ keybind.title = Tasten zuweisen
keybinds.mobile = [scarlet]Die meisten Tastenzuweisungen hier funktionieren auf mobilen Geräten nicht. Nur grundlegende Bewegung wird unterstützt.
category.general.name = Allgemein
category.view.name = Ansicht
category.command.name = Unit Command
category.multiplayer.name = Mehrspieler
category.blocks.name = Blockauswahl
placement.blockselectkeys = \n[lightgray]Taste: [{0},
@@ -1157,6 +1192,23 @@ keybind.mouse_move.name = Der Maus folgen
keybind.pan.name = Kamera alleine bewegen
keybind.boost.name = Boost
keybind.command_mode.name = Steuerungsmodus
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Region wiederaufbauen
keybind.schematic_select.name = Bereich auswählen
keybind.schematic_menu.name = Entwurfsmenü
@@ -1220,9 +1272,12 @@ mode.pvp.description = Kämpfe lokal gegen andere Spieler.\n[gray]Benötigt mind
mode.attack.name = Angriff
mode.attack.description = Keine Wellen, das Ziel ist es, die gegnerische Basis zu zerstören.\n[gray]Benötigt einen roten Kern auf der Karte.
mode.custom = Angepasste Regeln
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Gesperrte Blöcke verstecken
rules.infiniteresources = Unbegrenzte Ressourcen
rules.onlydepositcore = Nur in den Kern ablegen
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reaktor-Explosionen
rules.coreincinerates = Kern verbrennt überflüssige Materialien
rules.disableworldprocessors = Deaktiviere Weltprozessoren
@@ -1746,7 +1801,6 @@ block.disperse.name = Streu
block.afflict.name = Afflikt
block.lustre.name = Lustre
block.scathe.name = Skate
block.fabricator.name = Hersteller
block.tank-refabricator.name = Panzerverbesserer
block.mech-refabricator.name = Mechverbesserer
block.ship-refabricator.name = Schiffverbesserer
@@ -1869,6 +1923,7 @@ onset.turrets = Einheiten sind effektiv, aber [accent]Geschütze[] sind beim Ver
onset.turretammo = Versorge das Geschütz mit [accent]Berylliummunition[].
onset.walls = [accent]Mauern[] können andere Blöcke vor Schaden schützen.\nBaue \uf6ee [accent]Berylliummauern[] um die Geschütze.
onset.enemies = Feinde kommen bald, bereite dich vor.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = Der Feid ist verwundbar. Greife ihn an.
onset.cores = Neue Kerne können auf [accent]Kernzonen[] platziert werden.\nNeue Kerne funktionieren als Außenposten und haben alle Zugriff auf dasselbe Kerninventar.\nBaue einen \uf725 Kern.
onset.detect = Der Feind wird dich in zwei Minuten entdecken.\nStelle Verteidigung, Bergbau und Produktion auf.
@@ -2076,7 +2131,6 @@ block.logic-display.description = Zeigt mithilfe eines Prozessors Beliebiges an.
block.large-logic-display.description = Zeigt mithilfe eines Prozessors Beliebiges an.
block.interplanetary-accelerator.description = Ein Riesen-Railgun-Turm, der mithilfe des Elektromagnetismus Kerne auf die nötige Geschwindigkeit bringt, um interplanetarisches Reisen zu ermöglichen.
block.repair-turret.description = Heilt durchgehend die nächste befreundete, beschädigte Einheit in der Umgebung. Verwendet optional Kühlung.
block.payload-propulsion-tower.description = Frachttransportationsturm mit hoher Reichweite. Schießt Fracht zu verbundenen Türmen.
#Erekir
block.core-bastion.description = Kern der Basis. Gepanzert. Einmal zerstört, ist jeglicher Kontakt zum Sektor verloren.
@@ -2114,7 +2168,6 @@ block.impact-drill.description = Baut unbefristet Erze in Schüben aus dem Boden
block.eruption-drill.description = Ein verbesserter Schlagbohrer. Kann Thorium abbauen. Benötigt Wasserstoff.
block.reinforced-conduit.description = Transportiert Flüssigkeiten. Nimmt von nicht-Kanälen nur von hinten an.
block.reinforced-liquid-router.description = Verteilt Flüssigkeiten gleichmäßig auf bis zu drei Richtungen.
block.reinforced-junction.description = Kann als Brücke für zwei sich kreuzende Kanäle verwendet werden.
block.reinforced-liquid-tank.description = Lagert eine große Menge an Flüssigkeiten.
block.reinforced-liquid-container.description = Lagert eine beträchtliche Menge an Flüssigkeiten.
block.reinforced-bridge-conduit.description = Transportiert Flüssigkeiten über Blöcke und Terrain.
@@ -2235,6 +2288,7 @@ unit.emanate.description = Baut Blöcke, um den Akropolis-Kern zu beschützen. H
lst.read = Liest einen Wert aus einer verbundenen Speicherzelle.
lst.write = Schreibt eine Zahl in einer verbundene Speicherzelle.
lst.print = Fügt Text zum Textspeicher hinzu.\nZeigt nichts an, bis [accent]Print Flush[] verwendet wird.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Fügt eine [accent]Draw[]-Aufgabe zum Bildspeicher hinzu.\nZeigt nichts an, bis [accent]Draw Flush[] verwendet wird.
lst.drawflush = Druckt [accent]Draw[]-Aufgaben aus dem Bildspeicher auf einen Bildschirm.
lst.printflush = Druckt [accent]Print[]-Aufgaben aus dem Textspeicher auf einen Nachrichtenblock.
@@ -2270,6 +2324,45 @@ lst.getflag = Überprüfe, ob eine Flag gesetzt ist.
lst.setprop = Setzt eine Eigenschaft einer Einheit oder eines Blockes.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Logik, die Blöcke baut, ist hier nicht erlaubt.
@@ -2313,6 +2406,7 @@ graphicstype.poly = Füllt ein gleichmäßiges Polygon.
graphicstype.linepoly = Zeichnet den Umriss eines gleichmäßigen Polygons.
graphicstype.triangle = Zeichnet ein Dreieck.
graphicstype.image = Zeichnet ein Bild von einem englischen Namen.\nz.B. [accent]@router[] oder [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Immer.
lenum.idiv = Division mit ganzen Zahlen.
@@ -2421,3 +2515,10 @@ lenum.build = Einen Block bauen.
lenum.getblock = Gibt den Boden- und Blocktyp an den Koordinaten zurück.\nEinheiten müssen nah genug dran sein.\nFeste nicht-Blöcke sind [accent]@solid[].
lenum.within = Prüft, ob eine Einheit in einem Radius um einen Punkt ist.
lenum.boost = Aktiviert / deaktiviert den Boost.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -79,7 +79,7 @@ schematic.addtag = Añadir etiqueta
schematic.texttag = Texto de etiqueta
schematic.icontag = Icono de etiqueta
schematic.renametag = Renombrar etiqueta
schematic.tagged = {0} tagged
schematic.tagged = {0} etiquetado
schematic.tagdelconfirm = ¿Eliminar completamente esta etiqueta?
schematic.tagexists = Esa etiqueta ya existe.
@@ -158,8 +158,8 @@ mod.outdatedv7.details = Este mod no es compatible con la última versión del j
mod.blacklisted.details = Este mod ha sido bloqueado manualmente por causar cierres inesperados, errores u otros problemas en esta versión del juego. Será mejor no usarlo.
mod.missingdependencies.details = A este mod le faltan dependencias: {0}
mod.erroredcontent.details = La partida causó errores al cargar. Puedes pedir al autor del mod que los arregle.
mod.circulardependencies.details = This mod has dependencies that depends on each other.
mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}.
mod.circulardependencies.details = Este mod tiene dependencias que dependen unas de otras.
mod.incompletedependencies.details = Este mod no se puede cargar debido a dependencias no válidas o faltantes: {0}.
mod.requiresversion = Requiere la versión del juego: [red]{0}
mod.errors = Ha ocurrido un fallo al cargar el contenido.
mod.noerrorplay = [scarlet]Se están ejecutando algunos mods con fallos.[]Debes deshabilitarlos o arreglar los errores antes de jugar.
@@ -264,10 +264,10 @@ trace.ips = IPs:
trace.names = Names:
invalidid = ¡ID de cliente no válida! Puedes enviar un informe reportando el error.
player.ban = Ban
player.kick = Kick
player.kick = Expulsar
player.trace = Trace
player.admin = Toggle Admin
player.team = Change Team
player.team = Cambiar equipo
server.bans = Vetos
server.bans.none = ¡No se ha vetado a ningún usuario!
server.admins = Administradores
@@ -284,7 +284,7 @@ confirmkick = ¿Quieres expulsar a "{0}[white]"?
confirmunban = ¿Quieres quitar el veto a este jugador?
confirmadmin = ¿Quieres hacer administrador a "{0}[white]"?
confirmunadmin = ¿Quieres quitarle los permisos de administrador a "{0}[white]"?
votekick.reason = Vote-Kick Reason
votekick.reason = Razón del Voto de Expulsión
votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason:
joingame.title = Unirse a una Partida
joingame.ip = Dirección IP:
@@ -303,7 +303,7 @@ server.invalidport = ¡El número de puerto no es valido!
server.error = [scarlet]Error alojando el servidor.
save.new = Nuevo archivo de guardado
save.overwrite = ¿Quieres sobrescribir\neste guardado?
save.nocampaign = Individual save files from the campaign cannot be imported.
save.nocampaign = Los archivos individuales guardados de la campaña no se pueden importar.
overwrite = Sobrescribir
save.none = ¡No se ha encontrado ningún archivo de guardado!
savefail = ¡No se ha podido guardar la partida!
@@ -341,12 +341,23 @@ open = Abrir
customize = Personalizar reglas
cancel = Cancelar
command = Comandar
command.queue = [lightgray][Queuing]
command.mine = Minar
command.repair = Reparar
command.rebuild = Reconstruir
command.assist = Asistir al jugador
command.move = Moverse
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Abrir enlace
copylink = Copiar enlace
back = Atrás
@@ -427,6 +438,7 @@ editor.waves = Oleadas:
editor.rules = Normas:
editor.generation = Generación:
editor.objectives = Objetivos
editor.locales = Locale Bundles
editor.ingame = Editar desde la nave
editor.playtest = Probar mapa
editor.publish.workshop = Publicar en Steam Workshop
@@ -483,6 +495,7 @@ editor.default = [lightgray]<Por defecto>
details = Detalles...
edit = Editar...
variables = Variables
logic.globals = Built-in Variables
editor.name = Nombre:
editor.spawn = Generar unidad
editor.removeunit = Eliminar unidad
@@ -494,6 +507,7 @@ editor.errorlegacy = Este mapa es demasiado antiguo y usa un formato obsoleto.
editor.errornot = Esto no es un fichero de mapa.
editor.errorheader = Este mapa no es válido o está corrupto.
editor.errorname = El mapa no tiene un nombre definido. ¿Estás intentando cargar un fichero de guardado?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Actualizar
editor.randomize = Aleatorizar
editor.moveup = Subir
@@ -505,6 +519,7 @@ editor.sectorgenerate = Generación de sector
editor.resize = Redimensionar
editor.loadmap = Cargar mapa
editor.savemap = Guardar mapa
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = ¡Guardado!
editor.save.noname = ¡Tu mapa no tiene un nombre! Ponle uno en el menú "Info del Mapa".
editor.save.overwrite = ¡Tu mapa sobrescribe uno ya incorporado! Elige un nombre diferente en el menú 'Info del Mapa'.
@@ -535,8 +550,8 @@ toolmode.replace = Reemplazar
toolmode.replace.description = Dibuja en bloques sólidos.
toolmode.replaceall = Reemplazar todo
toolmode.replaceall.description = Sustituye todos los bloques del mapa.
toolmode.orthogonal = Perpendicular
toolmode.orthogonal.description = Dibuja líneas perpendiculares.
toolmode.orthogonal = Ortogonal
toolmode.orthogonal.description = Dibuja líneas ortogonales.
toolmode.square = Cuadrado
toolmode.square.description = Puntero cuadrado.
toolmode.eraseores = Borrar minerales
@@ -592,6 +607,23 @@ filter.option.floor2 = Terreno secundario
filter.option.threshold2 = Umbral secundario
filter.option.radius = Radio
filter.option.percentile = Percentil
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Ancho:
height = Alto:
@@ -644,9 +676,11 @@ objective.commandmode.name = Modo comando
objective.flag.name = Bandera
marker.shapetext.name = Forma del texto
marker.minimap.name = Minimapa
marker.point.name = Point
marker.shape.name = Forma
marker.text.name = Texto
marker.line.name = Line
marker.quad.name = Quad
marker.background = Fondo
marker.outline = Bordes
@@ -675,7 +709,6 @@ resources.max = Max
bannedblocks = Bloques prohibidos
objectives = Objetivos
bannedunits = Unidades prohibidas
rules.hidebannedblocks = Ocultar bloques prohibidos
bannedunits.whitelist = Sólo permitir unidades seleccionadas
bannedblocks.whitelist = Sólo permitir bloques seleccionados
addall = Añadir todo
@@ -734,8 +767,7 @@ sector.curlost = Sector perdido
sector.missingresources = [scarlet]Recursos insuficientes en el núcleo
sector.attacked = ¡Sector [accent]{0}[white] bajo ataque!
sector.lost = ¡Sector [accent]{0}[white] perdido!
#nota: El espacio que falta en la línea inferior (antes de "capturado") es intencional:
sector.captured = ¡Sector [accent]{0}[white]capturado!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Cambiar icono
sector.noswitch.title = No se pueden cambiar los sectores
sector.noswitch = Tal vez no puedas cambiar de sector mientras se encuentre bajo ataque.\n\nSector: [accent]{0}[] en [accent]{1}[]
@@ -1008,6 +1040,7 @@ bullet.splashdamage = [stat]{0}[lightgray] daño en área ~[stat] {1}[lightgray]
bullet.incendiary = [stat]incendiaria
bullet.homing = [stat]rastreadora
bullet.armorpierce = [stat]perforación de armadura
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x proyectiles fragmentados:
@@ -1063,6 +1096,7 @@ setting.backgroundpause.name = Pausar en segundo plano
setting.buildautopause.name = Auto-pausar construcción
setting.doubletapmine.name = Doble clic para extraer minerales
setting.commandmodehold.name = Mantener para comandar unidades
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Desactivar mods si el juego no puede iniciarse
setting.animatedwater.name = Animaciones de terreno
setting.animatedshields.name = Animación de escudos
@@ -1116,7 +1150,7 @@ setting.sfxvol.name = Volumen del sonido
setting.mutesound.name = Silenciar sonido
setting.crashreport.name = Enviar registros de errores anónimos
setting.savecreate.name = Guardado automático
setting.publichost.name = Visibilidad pública de la partida
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Limite de jugadores
setting.chatopacity.name = Opacidad del chat
setting.lasersopacity.name = Opacidad de láseres energía
@@ -1136,6 +1170,7 @@ keybind.title = Reasignar controles
keybinds.mobile = [scarlet]La mayoría de los controles no están disponibles en versiones móviles. Sólo es compatible con el movimiento básico.
category.general.name = General
category.view.name = Ver
category.command.name = Unit Command
category.multiplayer.name = Multijugador
category.blocks.name = Seleccionar bloque
placement.blockselectkeys = \n[lightgray]Teclas: [{0},
@@ -1153,6 +1188,23 @@ keybind.mouse_move.name = Seguir al cursor
keybind.pan.name = Desplazar la cámara
keybind.boost.name = Sobrevolar
keybind.command_mode.name = Modo Comando
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Reconstruir región
keybind.schematic_select.name = Seleccionar región
keybind.schematic_menu.name = Menú de esquemas
@@ -1216,9 +1268,12 @@ mode.pvp.description = Combate contra otros jugadores localmente.\n[gray]Requier
mode.attack.name = Ataque
mode.attack.description = Destruye la base enemiga. \n[gray]Requiere un núcleo rojo en el mapa.
mode.custom = Normas personalizadas
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Ocultar bloques prohibidos
rules.infiniteresources = Recursos infinitos
rules.onlydepositcore = Sólo permitir depositar recursos en el núcleo
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Explosiones de reactores
rules.coreincinerates = Incinerar exceso de recursos en el núcleo
rules.disableworldprocessors = Desactivar procesadores estáticos
@@ -1742,7 +1797,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricador
block.tank-refabricator.name = Refabricador de tanques
block.mech-refabricator.name = Refabricador de mechs
block.ship-refabricator.name = Refabricador de aeronaves
@@ -1848,10 +1902,10 @@ onset.mine = Haz clic para minar \uf748 [accent]berilio[] de las paredes.\n\nUsa
onset.mine.mobile = Toca para minar \uf748 [accent]berilio[] de las paredes.
onset.research = Abre el \ue875 menú de investigaciones.\nInvestiga y construye una \uf73e [accent]turbina condensadora[] en la grieta.\nEsto generará [accent]energía[].
onset.bore = Investiga y construye un \uf741 [accent]perforador de plasma[].\nEste minará recursos de las paredes automáticamente.
onset.power = Para [accent]encender[] el perforador de plasma, investiga y coloca un \uf73d [accent]nodo de energía perpendicular[].\nConecta la turbina condensadora al perforador de plasma.
onset.power = Para [accent]encender[] el perforador de plasma, investiga y coloca un \uf73d [accent]nodo de energía ortogonal[].\nConecta la turbina condensadora al perforador de plasma.
onset.ducts = Investiga y construye \uf799 [accent]conductos[] para mover los recursos minados desde el perforador de plasma hasta el núcleo.\nArrastra para formar una cadena de transporte con múltiples bloques de conducto.\nUsa la [accent]rueda del ratón[] para cambiar la dirección.
onset.ducts.mobile = Investiga y construye \uf799 [accent]conductos[] para mover los recursos minados desde el perforador de plasma hasta el núcleo.\n\nPresiona por un segundo y arrastra para crear múltiples bloques de conducto.
onset.moremine = Expande la operación minera.\nConstruye más perforadores de plasma y usa nodos perpendiculares y conductos para complementarlos.\nExtrae 200 de berilio.
onset.moremine = Expande la operación minera.\nConstruye más perforadores de plasma y usa nodos de energía ortogonales y conductos para complementarlos.\nExtrae 200 de berilio.
onset.graphite = Otros bloques más complejos requieren \uf835 [accent]grafito[].\nConstruye perforadores de plasma para extraer grafito.
onset.research2 = Empieza a investigar las [accent]fábricas[].\nDesbloquea el \uf74d [accent]triturador de paredes[] y el \uf779 [accent]horno de arco de silicio[].
onset.arcfurnace = El horno de arco necesita \uf834 [accent]arena[] y \uf835 [accent]grafito[] para producir \uf82f [accent]silicio[].\nTambién requiere [accent]energía[] para funcionar.
@@ -1862,6 +1916,7 @@ onset.turrets = Las unidades son efectivas, pero las [accent]torretas[] pueden o
onset.turretammo = Suministra [accent]munición de berilio[] a la torreta.
onset.walls = Los [accent]muros[] pueden evitar que las estructuras reciban daño.\nColoca unos \uf6ee [accent]muros de berilio[] alrededor de la torreta.
onset.enemies = Se aproxima un enemigo, prepárate para defenderte.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = El enemigo es ahora vulnerable. Contraataca.
onset.cores = Se pueden colocar nuevos núcleos sobre las [accent]zonas de núcleo[].\nLos núcleos adicionales funcionan como bases avanzadas y comparten el inventario de recursos con otros núcleos.\nColoca un \uf725 núcleo.
onset.detect = El enemigo te detectará en 2 minutos.\nEstablece sistemas de defensa, minería, y producción.
@@ -2068,7 +2123,6 @@ block.logic-display.description = Muestra gráficos arbitrarios dibujados desde
block.large-logic-display.description = Muestra gráficos arbitrarios dibujados desde un procesador lógico.
block.interplanetary-accelerator.description = Una torre de proyección electromagnética masiva. Acelera núcleos hasta la velocidad necesaria para escapar del campo gravitatorio del planeta, habilitando el despliegue interplanetario.
block.repair-turret.description = Repara continuamente la unidad dañada más cercana dentro de su alcance. Opcionalmente acepta refrigerante.
block.payload-propulsion-tower.description = Estructura que permite transportar otras estructuras a largo alcance. Dispara cargas, tales como unidades o bloques hasta otras torres de propulsión elazadas.
# Erekir
block.core-bastion.description = Núcleo de la base. Blindado. Una vez destruido, se pierde toda comunicación con el sector.
@@ -2106,7 +2160,6 @@ block.impact-drill.description = Si se coloca sobre un mineral, extraerá ráfag
block.eruption-drill.description = Un taladro de impacto mejorado, capaz de extraer torio. Requiere hidrógeno.
block.reinforced-conduit.description = Mueve fluidos en una dirección. Sus lados no se conectarán con otros tipos de bloques, salvo que también sean tuberías.
block.reinforced-liquid-router.description = Distribuye fluidos equitativamente en todas direcciones.
block.reinforced-junction.description = Funciona como un puente para dos tuberías que se cruzan.
block.reinforced-liquid-tank.description = Almacena una gran cantidad de fluidos.
block.reinforced-liquid-container.description = Almacena una cantidad considerable de fluidos.
block.reinforced-bridge-conduit.description = Transporta fluidos sobre el terreno o estructuras.
@@ -2133,8 +2186,8 @@ block.surge-conveyor.description = Mueve objetos agrupados en lotes. Se puede ac
block.surge-router.description = Extrae objetos de las cintas transportadoras eléctricas, distribuyéndolos en hasta tres direcciones. Se puede acelerar suministrándole energía. Conduce la energía.
block.unit-cargo-loader.description = Construye drones de carga. Estos drones distribuyen los objetos automáticamente en los "puntos de descarga" con el mismo filtro.
block.unit-cargo-unload-point.description = Puntos de descarga para los drones de carga. Aceptan objetos que coincidan con el filtro seleccionado.
block.beam-node.description = Transmite energía a otros bloques perpendicularmente. Almacena una pequeña cantidad de energía.
block.beam-tower.description = Transmite energía a otros bloques perpendicularmente. Almacena grandes cantidades de energía. Tiene un mayor alcance.
block.beam-node.description = Transmite energía a otros bloques ortogonalmente. Almacena una pequeña cantidad de energía.
block.beam-tower.description = Transmite energía a otros bloques ortogonalmente. Almacena grandes cantidades de energía. Tiene un mayor alcance.
block.turbine-condenser.description = Genera energía si se coloca sobre grietas de gases en el terreno. Produce pequeñas cantidades de agua.
block.chemical-combustion-chamber.description = Genera energía mediante arquicita y ozono.
block.pyrolysis-generator.description = Genera grandes cantidades de energía mediante arquicita y magma. También produce agua.
@@ -2228,6 +2281,7 @@ unit.emanate.description = Construye estructuras para defender el núcleo Acropo
lst.read = Lee un número desde una unidad de memoria conectada.
lst.write = Escribe un número en una unidad de memoria conectada.
lst.print = Añade texto a la cola para imprimir texto.\nNo mostrará nada hasta que se use [accent]Print Flush[].
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Añade una operación a la cola para dibujar.\nNo mostrará nada hasta que se use [accent]Draw Flush[].
lst.drawflush = Muestra los datos en cola de operaciones [accent]Draw[] en un monitor gráfico.
lst.printflush = Muestra los datos en cola de operaciones de [accent]Print[] en un bloque de mensaje.
@@ -2263,6 +2317,45 @@ lst.getflag = Comprueba si se ha establecido una etiqueta global.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]No se permite construir bloques de categoría lógica.
@@ -2306,6 +2399,7 @@ graphicstype.poly = Rellena un polígono regular.
graphicstype.linepoly = Dibuja las aristas de un polígono regular.
graphicstype.triangle = Rellena un triángulo.
graphicstype.image = Dibuja una imagen de algún contenido.\nEjemplo: [accent]@router[] o [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Siempre "true".
lenum.idiv = División de un número entero.
@@ -2414,3 +2508,10 @@ lenum.build = Construye una estructura.
lenum.getblock = Obtiene la estructura y su categoría en unas coordenadas específicas.\nLa unidad debe estar en el rango de su posición.\nLos bloques no-construcciones tendrán el tipo [accent]@solid[].
lenum.within = Comprueba si una unidad se encuentra cerca de una posición.
lenum.boost = Iniciar/Detener vuelo.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -337,12 +337,23 @@ open = Ava
customize = Kohanda reegleid
cancel = Tühista
command = Command
command.queue = [lightgray][Queuing]
command.mine = Mine
command.repair = Repair
command.rebuild = Rebuild
command.assist = Assist Player
command.move = Move
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Ava link
copylink = Kopeeri link
back = Tagasi
@@ -423,6 +434,7 @@ editor.waves = Lahingulained:
editor.rules = Reeglid:
editor.generation = Genereerimine:
editor.objectives = Objectives
editor.locales = Locale Bundles
editor.ingame = Redigeeri mängus
editor.playtest = Playtest
editor.publish.workshop = Avalda Workshop'is
@@ -478,6 +490,7 @@ editor.default = [lightgray]<Vaikimisi>
details = Üksikasjad...
edit = Muuda...
variables = Vars
logic.globals = Built-in Variables
editor.name = Nimi:
editor.spawn = Tekita väeüksus
editor.removeunit = Eemalda väeüksus
@@ -489,6 +502,7 @@ editor.errorlegacy = See maailmafail on liiga vana ja kasutab iganenud formaati,
editor.errornot = See ei ole maailmafail.
editor.errorheader = See maailmafail on ebasobiv või riknenud.
editor.errorname = Maailma nime pole täpsustatud.
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Uuenda
editor.randomize = Juhuslikusta
editor.moveup = Move Up
@@ -500,6 +514,7 @@ editor.sectorgenerate = Sector Generate
editor.resize = Suurus
editor.loadmap = Lae maailm
editor.savemap = Salvesta
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Salvestatud!
editor.save.noname = Su maailmal ei ole nime! Anna maailmale nimi, vajutades menüüs nupule "Üldinfo".
editor.save.overwrite = Sinu maailm kirjutaks üle sisse-ehitatud maailma! Anna maailmale teistsugune nimi, vajutades menüüs nupule "Üldinfo".
@@ -584,6 +599,23 @@ filter.option.floor2 = Teine põrand
filter.option.threshold2 = Teine lävi
filter.option.radius = Raadius
filter.option.percentile = Protsentiil
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Laius:
height = Kõrgus:
@@ -634,9 +666,11 @@ objective.destroycore.name = Destroy Core
objective.commandmode.name = Command Mode
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Minimap
marker.point.name = Point
marker.shape.name = Shape
marker.text.name = Text
marker.line.name = Line
marker.quad.name = Quad
marker.background = Background
marker.outline = Outline
objective.research = [accent]Research:\n[]{0}[lightgray]{1}
@@ -661,7 +695,6 @@ resources.max = Max
bannedblocks = Banned Blocks
objectives = Objectives
bannedunits = Banned Units
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Add All
@@ -720,7 +753,7 @@ sector.curlost = Sector Lost
sector.missingresources = [scarlet]Insufficient Core Resources
sector.attacked = Sector [accent]{0}[white] under attack!
sector.lost = Sector [accent]{0}[white] lost!
sector.captured = Sector [accent]{0}[white]captured!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Change Icon
sector.noswitch.title = Unable to Switch Sectors
sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[]
@@ -989,6 +1022,7 @@ bullet.splashdamage = [stat]{0}[lightgray] hävituspunkti ~[stat] {1}[lightgray]
bullet.incendiary = [stat]süttiv
bullet.homing = [stat]isesihtiv
bullet.armorpierce = [stat]armor piercing
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
@@ -1044,6 +1078,7 @@ setting.backgroundpause.name = Pause In Background
setting.buildautopause.name = Auto-Pause Building
setting.doubletapmine.name = Double-Tap to Mine
setting.commandmodehold.name = Hold For Command Mode
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Disable Mods On Startup Crash
setting.animatedwater.name = Animeeritud vesi
setting.animatedshields.name = Animeeritud kilbid
@@ -1097,7 +1132,7 @@ setting.sfxvol.name = Heliefektide tugevus
setting.mutesound.name = Vaigista heli
setting.crashreport.name = Saada automaatseid veateateid
setting.savecreate.name = Loo automaatseid salvestisi
setting.publichost.name = Avaliku mängu nähtavus
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Player Limit
setting.chatopacity.name = Vestlusakna läbipaistmatus
setting.lasersopacity.name = Power Laser Opacity
@@ -1117,6 +1152,7 @@ keybind.title = Muuda juhtnuppe
keybinds.mobile = [scarlet]Enamik kuvatud juhtnuppudest ei ole kasutusel mobiilsetel seadmetel. Toetatakse vaid lihtsaid liikumisega seotud juhtnuppe.
category.general.name = Mäng
category.view.name = Kaamera ja kasutajaliides
category.command.name = Unit Command
category.multiplayer.name = Mitmikmäng
category.blocks.name = Block Select
placement.blockselectkeys = \n[lightgray]Key: [{0},
@@ -1134,6 +1170,23 @@ keybind.mouse_move.name = Follow Mouse
keybind.pan.name = Pan View
keybind.boost.name = Boost
keybind.command_mode.name = Command Mode
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Select Region
keybind.schematic_menu.name = Schematic Menu
@@ -1197,9 +1250,12 @@ mode.pvp.description = Võitle teiste mängijate vastu.
mode.attack.name = Rünnak
mode.attack.description = Hävita vaenlaste baas. Lahingulaineid ei ole.
mode.custom = Reeglid
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Lõputult ressursse
rules.onlydepositcore = Only Allow Core Depositing
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reactor Explosions
rules.coreincinerates = Core Incinerates Overflow
rules.disableworldprocessors = Disable World Processors
@@ -1717,7 +1773,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricator
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1835,6 +1890,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2034,7 +2090,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2070,7 +2125,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2187,6 +2241,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Read a number from a linked memory cell.
lst.write = Write a number to a linked memory cell.
lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used.
lst.drawflush = Flush queued [accent]Draw[] operations to a display.
lst.printflush = Flush queued [accent]Print[] operations to a message block.
@@ -2222,6 +2277,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position.
@@ -2260,6 +2354,7 @@ graphicstype.poly = Fill a regular polygon.
graphicstype.linepoly = Draw a regular polygon outline.
graphicstype.triangle = Fill a triangle.
graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Always true.
lenum.idiv = Integer division.
lenum.div = Division.\nReturns [accent]null[] on divide-by-zero.
@@ -2353,3 +2448,10 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -339,12 +339,23 @@ open = Ireki
customize = Aldatu arauak
cancel = Utzi
command = Command
command.queue = [lightgray][Queuing]
command.mine = Mine
command.repair = Repair
command.rebuild = Rebuild
command.assist = Assist Player
command.move = Move
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Ireki esteka
copylink = Kopiatu esteka
back = Atzera
@@ -425,6 +436,7 @@ editor.waves = Boladak:
editor.rules = Arauak:
editor.generation = Sorrarazi:
editor.objectives = Objectives
editor.locales = Locale Bundles
editor.ingame = Editatu jolasean
editor.playtest = Playtest
editor.publish.workshop = Argitaratu lantegian
@@ -480,6 +492,7 @@ editor.default = [lightgray]<Lehenetsia>
details = Xehetasunak...
edit = Editatu...
variables = Vars
logic.globals = Built-in Variables
editor.name = Izena:
editor.spawn = Sortu unitatea
editor.removeunit = Kendu unitatea
@@ -491,6 +504,7 @@ editor.errorlegacy = Mapa hau zaharregia da, eta jada onartzen ez den formatu za
editor.errornot = Hau ez da mapa-fitxategi bat.
editor.errorheader = Mapa hau hondatuta dago edo baliogabea da.
editor.errorname = Mapak ez du zehaztutako izenik. Gordetako partida bat kargatzen saiatu zara?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Eguneratu
editor.randomize = Ausazkoa
editor.moveup = Move Up
@@ -502,6 +516,7 @@ editor.sectorgenerate = Sector Generate
editor.resize = Aldatu neurria
editor.loadmap = Kargatu mapa
editor.savemap = Gorde mapa
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Gordeta!
editor.save.noname = Zure mapak ez du izenik" Jarri baten bat 'Mapa info' menuan.
editor.save.overwrite = Zure mapak jolas barneko mapa bat gainidatziko luke! Hautatu beste izen bat 'Mapa info' menuan.
@@ -586,6 +601,23 @@ filter.option.floor2 = Bigarren zorua
filter.option.threshold2 = Bigarren atalasea
filter.option.radius = Erradioa
filter.option.percentile = Pertzentila
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Zabalera:
height = Altuera:
@@ -636,9 +668,11 @@ objective.destroycore.name = Destroy Core
objective.commandmode.name = Command Mode
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Minimap
marker.point.name = Point
marker.shape.name = Shape
marker.text.name = Text
marker.line.name = Line
marker.quad.name = Quad
marker.background = Background
marker.outline = Outline
objective.research = [accent]Research:\n[]{0}[lightgray]{1}
@@ -663,7 +697,6 @@ resources.max = Max
bannedblocks = Debekatutako blokeak
objectives = Objectives
bannedunits = Banned Units
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Gehitu denak
@@ -722,7 +755,7 @@ sector.curlost = Sector Lost
sector.missingresources = [scarlet]Insufficient Core Resources
sector.attacked = Sector [accent]{0}[white] under attack!
sector.lost = Sector [accent]{0}[white] lost!
sector.captured = Sector [accent]{0}[white]captured!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Change Icon
sector.noswitch.title = Unable to Switch Sectors
sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[]
@@ -991,6 +1024,7 @@ bullet.splashdamage = [stat]{0}[lightgray] ingurune-kaltea ~[stat] {1}[lightgray
bullet.incendiary = [stat]su-eragilea
bullet.homing = [stat]gidatua
bullet.armorpierce = [stat]armor piercing
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
@@ -1046,6 +1080,7 @@ setting.backgroundpause.name = Pause In Background
setting.buildautopause.name = Auto-Pause Building
setting.doubletapmine.name = Double-Tap to Mine
setting.commandmodehold.name = Hold For Command Mode
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Disable Mods On Startup Crash
setting.animatedwater.name = Animatutako ura
setting.animatedshields.name = Animatutako ezkutuak
@@ -1099,7 +1134,7 @@ setting.sfxvol.name = Efektuen bolumena
setting.mutesound.name = Isilarazi soinua
setting.crashreport.name = Bidali kraskatze txosten automatikoak
setting.savecreate.name = Gorde automatikoki
setting.publichost.name = Partidaren ikusgaitasun publikoa
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Player Limit
setting.chatopacity.name = Txataren opakotasuna
setting.lasersopacity.name = Energia laserraren opakutasuna
@@ -1119,6 +1154,7 @@ keybind.title = Aldatu teklak
keybinds.mobile = [scarlet]Tekla konfigurazio gehienak ez dabiltza mugikorrean. Oinarrizko mugimendua onartzen da soilik.
category.general.name = Orokorra
category.view.name = Bistaratzea
category.command.name = Unit Command
category.multiplayer.name = Hainbat jokalari
category.blocks.name = Block Select
placement.blockselectkeys = \n[lightgray]Key: [{0},
@@ -1136,6 +1172,23 @@ keybind.mouse_move.name = Follow Mouse
keybind.pan.name = Pan View
keybind.boost.name = Boost
keybind.command_mode.name = Command Mode
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Hautatu eskualdea
keybind.schematic_menu.name = Eskema menua
@@ -1199,9 +1252,12 @@ mode.pvp.description = Borrokatu beste jokalari batzuk lokalean.\n[gray]Gutxiene
mode.attack.name = Erasoa
mode.attack.description = Suntsitu etsaiaren basea. Boladarik ez.\n[gray]Kono gorria behar da mapan jolasteko.
mode.custom = Arau pertsonalizatuak
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Baliabide amaigabeak
rules.onlydepositcore = Only Allow Core Depositing
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reactor Explosions
rules.coreincinerates = Core Incinerates Overflow
rules.disableworldprocessors = Disable World Processors
@@ -1719,7 +1775,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricator
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1837,6 +1892,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2036,7 +2092,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2072,7 +2127,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2189,6 +2243,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Read a number from a linked memory cell.
lst.write = Write a number to a linked memory cell.
lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used.
lst.drawflush = Flush queued [accent]Draw[] operations to a display.
lst.printflush = Flush queued [accent]Print[] operations to a message block.
@@ -2224,6 +2279,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position.
@@ -2262,6 +2356,7 @@ graphicstype.poly = Fill a regular polygon.
graphicstype.linepoly = Draw a regular polygon outline.
graphicstype.triangle = Fill a triangle.
graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Always true.
lenum.idiv = Integer division.
lenum.div = Division.\nReturns [accent]null[] on divide-by-zero.
@@ -2355,3 +2450,10 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -337,12 +337,23 @@ open = Avaa
customize = Muokkaa sääntöjä
cancel = Peruuta
command = Komento
command.queue = [lightgray][Queuing]
command.mine = Mine
command.repair = Repair
command.rebuild = Rebuild
command.assist = Assist Player
command.move = Move
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Avaa linkki
copylink = Kopioi linkki
back = Takaisin
@@ -423,6 +434,7 @@ editor.waves = Tasot:
editor.rules = Säännöt:
editor.generation = Generaatio:
editor.objectives = Tehtävät
editor.locales = Locale Bundles
editor.ingame = Muokka pelin sisällä
editor.playtest = Testaa pelin sisällä
editor.publish.workshop = Julkaise Workshoppiin
@@ -478,6 +490,7 @@ editor.default = [lightgray]<Oletus>
details = Yksityiskohdat...
edit = Muokkaa...
variables = Muuttujat
logic.globals = Built-in Variables
editor.name = Nimi:
editor.spawn = Luo yksikkö
editor.removeunit = Poista yksikkö
@@ -489,6 +502,7 @@ editor.errorlegacy = Tämä kartta on liian vanha, ja se käyttää vanhentunutt
editor.errornot = Tämä ei ole karttatiedosto.
editor.errorheader = Tämä karttatiedosto on joko kelvoton tai turmeltunut.
editor.errorname = Kartalla ei ole määritettyä nimeä. Yritätkö ladata tallennusta?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Päivitä
editor.randomize = Satunnaista
editor.moveup = Liiku yläkansioon
@@ -500,6 +514,7 @@ editor.sectorgenerate = Sektorigeneraatio
editor.resize = Säädä kokoa
editor.loadmap = Lataa kartta
editor.savemap = Tallenna kartta
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Tallennettu!
editor.save.noname = Kartallasi ei ole nimeä! Aseta sellainen 'Kartan tiedot' valikossa.
editor.save.overwrite = Karttasi on ylikirjoittamassa sisäänrakennettua karttaa! Valitse toinen nimi 'Kartan tiedot' -valikossa.
@@ -584,6 +599,23 @@ filter.option.floor2 = Toinen lattia
filter.option.threshold2 = Toissijainen raja-arvo
filter.option.radius = Säde
filter.option.percentile = Prosentti
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Leveys:
height = Korkeus:
@@ -634,9 +666,11 @@ objective.destroycore.name = Destroy Core
objective.commandmode.name = Command Mode
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Pikkukartta
marker.point.name = Point
marker.shape.name = Shape
marker.text.name = Teksti
marker.line.name = Line
marker.quad.name = Quad
marker.background = Background
marker.outline = Outline
objective.research = [accent]Tutki:\n[]{0}[lightgray]{1}
@@ -661,7 +695,6 @@ resources.max = Max
bannedblocks = Kielletyt Palikat
objectives = Tehtävät
bannedunits = Kielletyt yksiköt
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Lisää kaikki
@@ -720,7 +753,7 @@ sector.curlost = Sektori menetetty
sector.missingresources = [scarlet]Sinulla ei ole tarpeeksi resursseja.
sector.attacked = Sektori [accent]{0}[white] on hyökkäyksen kohteena!
sector.lost = Sektori [accent]{0}[white] menetetty!
sector.captured = Sektori [accent]{0}[white]vallattu!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Vaihda kuvaketta
sector.noswitch.title = Sektoria ei voida vaihtaa
sector.noswitch = Et voi vaihtaa sektoria, kun olemassaoleva sektori on hyökkäyksen kohteena.\n\nSektori: [accent]{0}[] planeetalla [accent]{1}[]
@@ -988,6 +1021,7 @@ bullet.splashdamage = [stat]{0}[lightgray] Aluevahinko ~[stat] {1}[lightgray] pa
bullet.incendiary = [stat]sytyttävä
bullet.homing = [stat]itseohjautuva
bullet.armorpierce = [stat]haarniskan läpäisevä
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x sirpaleammuksia:
@@ -1043,6 +1077,7 @@ setting.backgroundpause.name = Pysäytä taustalla
setting.buildautopause.name = Automaattisest Pysäytä Rakentaessa
setting.doubletapmine.name = Kaksoisklikkaa kaivaaksesi
setting.commandmodehold.name = Pidä pohjassa komentotilaa varten
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Poista lisäosat käytöstä käynnistyskaatumisissa
setting.animatedwater.name = Animoitu vesi
setting.animatedshields.name = Animoidut kilvet
@@ -1096,7 +1131,7 @@ setting.sfxvol.name = SFX-voimakkuus
setting.mutesound.name = Mykistä äänet
setting.crashreport.name = Lähetä anonyymejä kaatumisilmoituksia
setting.savecreate.name = Luo tallenuksia automaattisesti
setting.publichost.name = Julkisen pelin näkyvyys
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Pelaajaraja
setting.chatopacity.name = Keskustelun läpinäkymättömyys
setting.lasersopacity.name = Energia laserin läpinäkymättömyys
@@ -1116,6 +1151,7 @@ keybind.title = Kontrollit
keybinds.mobile = [scarlet]Useimmat näppäinkontrollit eivät toimi mobiililaitteilla. Vain yksinkertaista liikettä tuetaan.
category.general.name = Yleinen
category.view.name = Näytä
category.command.name = Unit Command
category.multiplayer.name = Moninpeli
category.blocks.name = Palikan Valinta
placement.blockselectkeys = \n[lightgray]Näppäin: [{0},
@@ -1133,6 +1169,23 @@ keybind.mouse_move.name = Seuraa Hiirtä
keybind.pan.name = Kelaa näkymää
keybind.boost.name = Tehosta
keybind.command_mode.name = Komentotila
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Valitse alue
keybind.schematic_menu.name = Kaavio Valikko
@@ -1196,9 +1249,12 @@ mode.pvp.description = Taistele toisia pelaajia vastaan paikallisesti.\n[gray]Pe
mode.attack.name = Hyökkäys
mode.attack.description = Tuhoa vihollisen tukikohta. Ei tasoja.\n[gray]Pelaaminen vaatii punaisen ytimen kartassa.
mode.custom = Muokkaa sääntöjä
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Loputtomat resurssit
rules.onlydepositcore = Salli sijoittaminen vain ytimeen
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reaktorien räjähtäminen
rules.coreincinerates = Ydin höyrystää ylivuodon
rules.disableworldprocessors = Poista maailmaprosessorit käytöstä
@@ -1719,7 +1775,6 @@ block.disperse.name = Hälvennys
block.afflict.name = Aiheuttaja
block.lustre.name = Kiilto
block.scathe.name = Vahinko
block.fabricator.name = Valmistaja
block.tank-refabricator.name = Tankkijälleenrakentaja
block.mech-refabricator.name = Robottijälleenrakentaja
block.ship-refabricator.name = Ilma-alusjälleenrakentaja
@@ -1837,6 +1892,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2037,7 +2093,6 @@ block.logic-display.description = Näyttää mielivaltaista ggrafiikkaa prosesso
block.large-logic-display.description = Näyttää mielivaltaista ggrafiikkaa prosessorista.
block.interplanetary-accelerator.description = Massiivinen sähkömagneettinen raidetykkitorni. Kiihdyttää ytimiä pakonopeuteen interplanetaarista leviämistä varten.
block.repair-turret.description = Korjaa jatkuvasti lähintä vahingoittunutta yksikköä lähellään. Käyttää vaihtoehtoisesti jäähdytysnestettä.
block.payload-propulsion-tower.description = Pitkän kantaman lastinsiirtorakennus. Ampuu lastia muihin yhdistettyihin massakiihdytystorneihin.
block.core-bastion.description = Tukikohdan ydin. Panssaroitu. Mikäli tuhottu, sektori on menetetty.
block.core-citadel.description = Tukikohdan ydin. Tosi hyvin panssaroitu. Varastoi enemmän tavaraa kuin Linnaydin.
block.core-acropolis.description = Tukikohdan ydin. Hemmetin hyvin panssaroitu. Varastoi enemmän tavaraa kuin Sitadelliydin.
@@ -2073,7 +2128,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2190,6 +2244,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Lue numero yhdistetystä muistisolusta.
lst.write = Kirjoita numero yhdistettyyn muistisoluun.
lst.print = Lisää tekstiä tekstipuskuriin.\nEi näytä mitään, kunnes [accent]Painosyötettä[] käytetään.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Lisää operaation piirtopuskuriin.\nEi näytä mitään, kunnes [accent]Piirtosyötettä[] käytetään.
lst.drawflush = Syöttää jonottavat [accent]Piirto[]-operaatiot näyttöön.
lst.printflush = Syöttää jonottavat [accent]Paino[]-operaatiot viestipalikkaan.
@@ -2225,6 +2280,45 @@ lst.getflag = Tarkista, onko globaali tunniste asetettu.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Logiikan käyttö ei täällä ole sallittu yksikköjen tuottamisessa.
lenum.type = Rakennuksen/Yksikön tyyppi.\nEsim. jokaisesta reitittimestä tämä palauttaa [accent]@router[].\nEi ole merkkijono.
lenum.shoot = Ammu tiettyä sijaintia.
@@ -2263,6 +2357,7 @@ graphicstype.poly = Piirrä säännöllinen monikulmio.
graphicstype.linepoly = Piirrä säännöllisen monikulmion ääriviivat.
graphicstype.triangle = Piirrä täytetty kolmio.
graphicstype.image = Piirrä kuva jostain sisällöstä.\nEsim: [accent]@router[] tai [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Aina tosi.
lenum.idiv = Kokonaislukujen osamäärä.
lenum.div = Osamäärä.\nPalauttaa arvon [accent]null[] jaettaessa nollalla.
@@ -2356,3 +2451,10 @@ lenum.build = Rakenna tietty rakennus.
lenum.getblock = Selvitä rakennus ja sen tyyppi tietyissä koordinaateissa.\nSijainnin täytyy olla yksikön kantamalla.\nKiinteillä ei-rakennuksilla on tyyppi [accent]@solid[].
lenum.within = Tarkista, onko joukko tietyn sijainnin lähellä.
lenum.boost = Aloita tai lopeta tehostus.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -337,12 +337,23 @@ open = Open
customize = I-customize ang Mga Panuntunan
cancel = Cancel
command = Command
command.queue = [lightgray][Queuing]
command.mine = Mine
command.repair = Repair
command.rebuild = Rebuild
command.assist = Assist Player
command.move = Move
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Open Link
copylink = Copy Link
back = Back
@@ -423,6 +434,7 @@ editor.waves = Waves:
editor.rules = Rules:
editor.generation = Generation:
editor.objectives = Objectives
editor.locales = Locale Bundles
editor.ingame = Edit In-Game
editor.playtest = Playtest
editor.publish.workshop = I-Publish Sa Workshop
@@ -478,6 +490,7 @@ editor.default = [lightgray]<Default>
details = Details...
edit = Edit...
variables = Vars
logic.globals = Built-in Variables
editor.name = Name:
editor.spawn = Spawn Unit
editor.removeunit = Remove Unit
@@ -489,6 +502,7 @@ editor.errorlegacy = Masyadong luma ang mapang ito, at gumagamit ng legacy na fo
editor.errornot = Ito ay hindi isang file ng mapa.
editor.errorheader = Ang file ng mapa na ito ay maaaring hindi wasto o sira.
editor.errorname = Walang tinukoy na pangalan ang mapa. Sinusubukan mo bang mag-load ng save file?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Update
editor.randomize = Randomize
editor.moveup = Move Up
@@ -500,6 +514,7 @@ editor.sectorgenerate = Sector Generate
editor.resize = Resize
editor.loadmap = Load Map
editor.savemap = Save Map
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Saved!
editor.save.noname = Walang pangalan ang iyong mapa! Itakda ang isa sa menu na 'impormasyon ng mapa'.
editor.save.overwrite = Ino-overwrite ng iyong mapa ang isang built-in na mapa! Pumili ng ibang pangalan sa menu na 'impormasyon ng mapa'.
@@ -584,6 +599,23 @@ filter.option.floor2 = Secondary Floor
filter.option.threshold2 = Secondary Threshold
filter.option.radius = Radius
filter.option.percentile = Percentile
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Width:
height = Height:
@@ -634,9 +666,11 @@ objective.destroycore.name = Destroy Core
objective.commandmode.name = Command Mode
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Minimap
marker.point.name = Point
marker.shape.name = Shape
marker.text.name = Text
marker.line.name = Line
marker.quad.name = Quad
marker.background = Background
marker.outline = Outline
objective.research = [accent]Research:\n[]{0}[lightgray]{1}
@@ -661,7 +695,6 @@ resources.max = Max
bannedblocks = Mga Pinagbabawalan na Blocks
objectives = Objectives
bannedunits = Mga Pinagbabawalan na Units
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Add All
@@ -720,7 +753,7 @@ sector.curlost = Nawala ang sector
sector.missingresources = [scarlet]Kulang ang mga Core Resources
sector.attacked = Ang sector [accent]{0}[white] ay inaatake!
sector.lost = Ang sector [accent]{0}[white] ay nawala!
sector.captured = Ang sector [accent]{0}[white] ay na-capture na!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Change Icon
sector.noswitch.title = Unable to Switch Sectors
sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[]
@@ -988,6 +1021,7 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
bullet.incendiary = [stat]incendiary
bullet.homing = [stat]homing
bullet.armorpierce = [stat]armor piercing
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
@@ -1043,6 +1077,7 @@ setting.backgroundpause.name = Pause In Background
setting.buildautopause.name = Auto-Pause Building
setting.doubletapmine.name = Double-Tap to Mine
setting.commandmodehold.name = Hold For Command Mode
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Huwag paganahin ang Mods Sa Startup Crash
setting.animatedwater.name = Animated Fluids
setting.animatedshields.name = Animated Shields
@@ -1096,7 +1131,7 @@ setting.sfxvol.name = SFX Volume
setting.mutesound.name = Mute Sound
setting.crashreport.name = Mag-send ng Anonymous Crash Reports
setting.savecreate.name = Auto-Create Saves
setting.publichost.name = Public Game Visibility
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Player Limit
setting.chatopacity.name = Chat Opacity
setting.lasersopacity.name = Power Laser Opacity
@@ -1116,6 +1151,7 @@ keybind.title = Rebind Keys
keybinds.mobile = [scarlet]Karamihan sa mga keybinds dito ay hindi gumagana sa mobile. Ang pangunahing paggalaw lamang ang sinusuportahan.
category.general.name = General
category.view.name = View
category.command.name = Unit Command
category.multiplayer.name = Multiplayer
category.blocks.name = Block Select
placement.blockselectkeys = \n[lightgray]Key: [{0},
@@ -1133,6 +1169,23 @@ keybind.mouse_move.name = Follow Mouse
keybind.pan.name = Pan View
keybind.boost.name = Boost
keybind.command_mode.name = Command Mode
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Select Region
keybind.schematic_menu.name = Schematic Menu
@@ -1196,9 +1249,12 @@ mode.pvp.description = Lumaban sa iba pang mga manlalaro nang lokal.\n[gray]Nang
mode.attack.name = Attack
mode.attack.description = Wasakin ang base ng kalaban. \n[gray]Nangangailangan ng pulang core sa mapa upang maglaro.
mode.custom = Custom Rules
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Infinite Resources
rules.onlydepositcore = Only Allow Core Depositing
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reactor Explosions
rules.coreincinerates = Core Incinerates Overflow
rules.disableworldprocessors = Disable World Processors
@@ -1716,7 +1772,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricator
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1834,6 +1889,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2033,7 +2089,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2069,7 +2124,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2186,6 +2240,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Read a number from a linked memory cell.
lst.write = Write a number to a linked memory cell.
lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used.
lst.drawflush = Flush queued [accent]Draw[] operations to a display.
lst.printflush = Flush queued [accent]Print[] operations to a message block.
@@ -2221,6 +2276,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position.
@@ -2259,6 +2353,7 @@ graphicstype.poly = Fill a regular polygon.
graphicstype.linepoly = Draw a regular polygon outline.
graphicstype.triangle = Fill a triangle.
graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Always true.
lenum.idiv = Integer division.
lenum.div = Division.\nReturns [accent]null[] on divide-by-zero.
@@ -2352,3 +2447,10 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -35,7 +35,7 @@ load.mod = Mods
load.scripts = Scripts
be.update = Une nouvelle version expérimentale est disponible:
be.update.confirm = Télécharger et Redémarrer le jeu maintenant ?
be.update.confirm = Télécharger et redémarrer le jeu maintenant ?
be.updating = Mise à jour en cours...
be.ignore = Ignorer
be.noupdates = Aucune mise à jour trouvée.
@@ -72,7 +72,7 @@ schematic.saved = Schéma enregistré.
schematic.delete.confirm = Ce schéma sera supprimé définitivement !
schematic.edit = Editer Schéma
schematic.info = {0}x{1}, {2} blocs
schematic.disabled = [scarlet]Schémas désactivés ![]\nVous n'êtes pas autorisés à utiliser des schémas sur cette [accent]carte[] ou dans ce [accent]serveur.
schematic.disabled = [scarlet]Schémas désactivés ![]\nVous n'êtes pas autorisé à utiliser des schémas sur cette [accent]carte[] ou dans ce [accent]serveur.
schematic.tags = Étiquettes :
schematic.edittags = Éditer les étiquettes
schematic.addtag = Ajouter une étiquette
@@ -129,7 +129,7 @@ committingchanges = Validation des modifications
done = Terminé
feature.unsupported = Votre appareil ne prend pas en charge cette fonctionnalité.
mods.initfailed = [red]⚠[] L'instance précédente de Mindustry na pas pu sinitialiser. Cela a probablement été causé par des mods.\n\nPour éviter une boucle de crash, [red]tous les mods ont été désactivés.[]
mods.initfailed = [red]⚠[] L'instance précédente de Mindustry na pas pu sinitialiser. Cela a probablement été causé par des mods.\n\nPour éviter une boucle de plantage, [red]tous les mods ont été désactivés.[]
mods = Mods
mods.none = [lightgray]Aucun Mod trouvé !
mods.guide = Guide de Modding
@@ -245,7 +245,7 @@ hosts.none = [lightgray]Aucune partie en LAN trouvée !
host.invalid = [scarlet]Impossible de se connecter à l'hôte.
servers.local = Serveurs locaux
servers.local.steam = Jeux Libres & Serveurs Locaux
servers.local.steam = Parties Libres & Serveurs Locaux
servers.remote = Serveurs distants
servers.global = Serveurs communautaires
@@ -291,7 +291,7 @@ confirmunban = Êtes-vous sûr de vouloir annuler le ban de ce joueur ?
confirmadmin = Êtes-vous sûr de vouloir faire de "{0}[white]" un administrateur ?
confirmunadmin = Êtes-vous sûr de vouloir supprimer le statut d'administrateur de "{0}[white]" ?
votekick.reason = Raison du vote d'expulsion
votekick.reason.message = Êtes-vous sûr de vouloir voter l'expulsion de "{0}[white]"?Si oui, merci d'entrer la raison :
votekick.reason.message = Êtes-vous sûr de vouloir voter l'expulsion de "{0}[white]"?\nSi oui, merci d'entrer la raison :
joingame.title = Rejoindre une partie
joingame.ip = Adresse IP :
disconnect = Déconnecté.
@@ -347,19 +347,30 @@ open = Ouvrir
customize = Personnaliser
cancel = Annuler
command = Commander
command.queue = [lightgray][Queuing]
command.mine = Miner
command.repair = Réparer
command.rebuild = Reconstruire
command.assist = Assister
command.move = Bouger
command.boost = Booster
command.enterPayload = Entrer dans Bloc de Transport
command.loadUnits = Transporter Unités
command.loadBlocks = Transporter Blocs
command.unloadPayload = Poser Chargement
stance.stop = Annuler les Ordres
stance.shoot = Ordre: Tirer
stance.holdfire = Ordre: Ne pas Tirer
stance.pursuetarget = Ordre: Poursuivre Cible
stance.patrol = Ordre: Chemins de Contrôle
stance.ram = Ordre: Charger\n[lightgray]Mouvement en ligne droite, sans détection de chemins
openlink = Ouvrir le lien
copylink = Copier le lien
back = Retour
max = Max
objective = Objectif de la Carte
crash.export = Exporter les rapports de bugs
crash.none = Aucun rapport de bug trouvé.
crash.none = Aucun rapport de bugs trouvé.
crash.exported = Rapports de bugs exportés.
data.export = Exporter les données
data.import = Importer des données
@@ -420,7 +431,7 @@ steam.error = Échec d'initialisation des services Steam.\nErreur : {0}
editor.planet = Planète :
editor.sector = Secteur :
editor.seed = Graine :
editor.cliffs = Transformer murs en falaises
editor.cliffs = Transformer les murs en falaises
editor.brush = Pinceau
editor.openin = Ouvrir dans l'éditeur
editor.oregen = Génération de minerai
@@ -433,6 +444,7 @@ editor.waves = Vagues
editor.rules = Règles
editor.generation = Génération
editor.objectives = Objectifs
editor.locales = Locale Bundles
editor.ingame = Éditer dans le jeu
editor.playtest = Tester
editor.publish.workshop = Publier sur le Workshop
@@ -489,6 +501,7 @@ editor.default = [lightgray]<par défaut>
details = Détails...
edit = Modifier...
variables = Variables
logic.globals = Built-in Variables
editor.name = Nom :
editor.spawn = Ajouter une unité
editor.removeunit = Retirer l'unité
@@ -500,6 +513,7 @@ editor.errorlegacy = Cette carte est trop ancienne et utilise un format de carte
editor.errornot = Ceci n'est pas un fichier de carte.
editor.errorheader = Ce fichier de carte est invalide ou corrompu.
editor.errorname = La carte n'a pas de nom. Essayez-vous de charger une sauvegarde ?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Mettre à jour
editor.randomize = Générer
editor.moveup = Monter
@@ -511,6 +525,7 @@ editor.sectorgenerate = Générer un Secteur
editor.resize = Redimensionner
editor.loadmap = Charger la carte
editor.savemap = Sauvegarder la carte
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Sauvegardé !
editor.save.noname = Votre carte n'a pas de nom !\nAjoutez un nom dans le menu 'Infos de la Carte'.
editor.save.overwrite = Votre carte écrase une carte de base du jeu !\nChoisissez un nom différent dans le menu 'Infos de la Carte'.
@@ -553,7 +568,7 @@ toolmode.fillerase = Remplir et effacer
toolmode.fillerase.description = Efface les blocs\ndu même type.
toolmode.drawteams = Dessiner les équipes
toolmode.drawteams.description = Change les équipes\nau lieu de blocs.
#unitilisé
#inutilisé
toolmode.underliquid = Sous les liquides
toolmode.underliquid.description = Dessiner les sols sous les tuiles de liquides.
@@ -598,6 +613,23 @@ filter.option.floor2 = Sol secondaire
filter.option.threshold2 = Seuil secondaire
filter.option.radius = Rayon
filter.option.percentile = Pourcentage
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Largeur :
height = Hauteur :
@@ -650,9 +682,11 @@ objective.commandmode.name = Mode « Commande »
objective.flag.name = Drapeau
marker.shapetext.name = Forme de Texte
marker.minimap.name = Minicarte
marker.point.name = Point
marker.shape.name = Forme
marker.text.name = Texte
marker.line.name = Ligne
marker.quad.name = Quad
marker.background = Fond
marker.outline = Contour
@@ -681,7 +715,6 @@ resources.max = Max
bannedblocks = Blocs bannis
objectives = Objectifs
bannedunits = Unités bannies
rules.hidebannedblocks = Cacher les blocs bannis.
bannedunits.whitelist = Unités bannies en tant que liste blanche
bannedblocks.whitelist = Blocs bannis en tant que liste blanche
addall = Ajouter TOUT
@@ -696,7 +729,7 @@ connectfail = [scarlet]Échec de la connexion au serveur : \n\n[accent]{0}
error.unreachable = Serveur inaccessible.\nEst-ce que l'adresse est écrite correctement?
error.invalidaddress = Adresse invalide.
error.timedout = Expiration du délai!\nAssurez-vous que l'ouverture des ports est configurée chez l'hôte, que le serveur est ouvert et que l'adresse est correcte!
error.mismatch = Erreur de paquet :\nPossible incompatibilité de version client/serveur.\nAssurez-vous que l'hôte et vous disposez de la même version de Mindustry !
error.mismatch = Erreur de paquet :\nPossible incompatibilité de version client/serveur.\nAssurez-vous que l'hôte et vous, disposez de la même version de Mindustry !
error.alreadyconnected = Déjà connecté.
error.mapnotfound = Fichier de carte introuvable !
error.io = Erreur de Réseau (I/O)
@@ -741,12 +774,11 @@ sector.curlost = Secteur perdu
sector.missingresources = [scarlet]Ressources du Noyau insuffisantes !
sector.attacked = Secteur [accent]{0}[white] attaqué !
sector.lost = Secteur [accent]{0}[white] perdu !
#note: the missing space in the line below is intentional
sector.captured = Secteur [accent]{0}[white]capturé !
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Changer l'Icône
sector.noswitch.title = Impossible de changer de Secteur
sector.noswitch = Vous ne pouvez pas changer de secteur pendant quun autre est attaqué.\n\nSecteur: [accent]{0}[] sur [accent]{1}[]
sector.view = Voir le Secteur
sector.view = Voir le secteur
threat.low = Faible
threat.medium = Normale
@@ -862,7 +894,7 @@ settings.graphics = Graphismes
settings.cleardata = Effacer les données du jeu...
settings.clear.confirm = Êtes-vous sûr de vouloir effacer ces données?\nAucun retour en arrière n'est possible !
settings.clearall.confirm = [scarlet]ATTENTION ![]\nCette action effacera toutes les données, y compris les sauvegardes, les cartes, la progression et la configuration des touches.\nUne fois que vous aurez pressé 'OK', le jeu effacera TOUTES les données et se fermera.
settings.clearsaves.confirm = Êtes-vous sûr de vouloir supprimer toutes vos sauvegardes?
settings.clearsaves.confirm = Êtes-vous sûr de vouloir supprimer toutes vos sauvegardes ?
settings.clearsaves = Supprimer les Sauvegardes
settings.clearresearch = Supprimer la Recherche
settings.clearresearch.confirm = Êtes-vous sûr de vouloir supprimer toutes les recherches de la campagne ?
@@ -927,7 +959,7 @@ stat.maxunits = Max d'Unités Actives
stat.health = Santé
stat.armor = Armure
stat.buildtime = Durée de construction
stat.maxconsecutive = Max Consécutif
stat.maxconsecutive = Max consécutif
stat.buildcost = Coût de construction
stat.inaccuracy = Imprécision
stat.shots = Tirs
@@ -972,9 +1004,9 @@ ability.movelightning = Déplacement éclair
ability.shieldarc = Arc de Bouclier
ability.suppressionfield = Champ de Suppression de Soins
ability.energyfield = Champ d'énergie
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
ability.energyfield.sametypehealmultiplier = [lightgray]Soins des Unités du Même Type: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Cibles Maximales: [white]{0}
ability.regen = Régénération
bar.onlycoredeposit = Seul le dépôt de ressources dans le Noyau est autorisé
bar.drilltierreq = Meilleure Foreuse Requise
@@ -1014,6 +1046,7 @@ bullet.splashdamage = [stat]{0}[lightgray] dégâts de zone ~[stat] {1}[lightgra
bullet.incendiary = [stat]incendiaire
bullet.homing = [stat]autoguidé
bullet.armorpierce = [stat]perceur d'armure
bullet.maxdamagefraction = [stat]{0}%[lightgray] limite de dégâts
bullet.suppression = [stat]{0} sec[lightgray] suppression de soins ~ [stat]{1}[lightgray] blocs
bullet.interval = [stat]{0}/sec[lightgray] Balle secondaire:
bullet.frags = [stat]{0}[lightgray]x Balle à fragmentation:
@@ -1069,11 +1102,12 @@ setting.backgroundpause.name = Pause en Arrière-plan
setting.buildautopause.name = Confirmation avant construction
setting.doubletapmine.name = Double-clic pour Miner
setting.commandmodehold.name = Retenir pour le Mode « Commande »
setting.distinctcontrolgroups.name = Limiter un groupe de contrôle par unité
setting.modcrashdisable.name = Désactiver les mods lors d'un crash au démarrage
setting.animatedwater.name = Surfaces Animées
setting.animatedshields.name = Boucliers Animés
setting.playerindicators.name = Indicateurs alliés
setting.indicators.name = Indicateurs ennemis
setting.playerindicators.name = Indicateurs d'alliés
setting.indicators.name = Indicateurs d'ennemis
setting.autotarget.name = Visée automatique
setting.keyboard.name = Contrôles Souris+Clavier
setting.touchscreen.name = Commandes d'écran tactile
@@ -1104,7 +1138,7 @@ setting.fullscreen.name = Plein Écran
setting.borderlesswindow.name = Fenêtré sans bordures
setting.borderlesswindow.name.windows = Plein écran sans bordure
setting.borderlesswindow.description = Un redémarrage peut être nécessaire pour appliquer les changements.
setting.fps.name = Afficher FPS et Ping
setting.fps.name = Afficher les FPS et le Ping
setting.console.name = Activer la Console
setting.smoothcamera.name = Lissage de la Caméra
setting.vsync.name = Synchronisation Verticale
@@ -1114,15 +1148,15 @@ setting.coreitems.name = Afficher les objets du Noyau
setting.position.name = Afficher la position du joueur
setting.mouseposition.name = Afficher la Position de la Souris
setting.musicvol.name = Volume de la Musique
setting.atmosphere.name = Montrer l'Atmosphère de la planète
setting.drawlight.name = Draw Darkness/Lighting
setting.atmosphere.name = Montrer l'Atmosphère des planètes
setting.drawlight.name = Dessiner les Ombres/Lumières
setting.ambientvol.name = Volume Ambiant
setting.mutemusic.name = Couper la Musique
setting.sfxvol.name = Volume des Sons et Effets
setting.mutesound.name = Couper les Sons et Effets
setting.crashreport.name = Envoyer des Rapports de crash anonymes
setting.savecreate.name = Sauvegardes Automatiques
setting.publichost.name = Visibilité de la Partie publique
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Limite de Joueurs
setting.chatopacity.name = Opacité du Chat
setting.lasersopacity.name = Opacité des Connexions laser
@@ -1142,6 +1176,7 @@ keybind.title = Paramètres des Touches du Clavier
keybinds.mobile = [scarlet]La plupart des touches de clavier ne sont pas fonctionnelles sur mobile. Seuls les mouvements basiques sont supportés.
category.general.name = Général
category.view.name = Vue
category.command.name = Commandes d'Unité
category.multiplayer.name = Multijoueur
category.blocks.name = Sélection des blocs
placement.blockselectkeys = \n[lightgray]Raccourci : [{0},
@@ -1159,6 +1194,26 @@ keybind.mouse_move.name = Suivre la souris
keybind.pan.name = Vue Panoramique
keybind.boost.name = Boost
keybind.command_mode.name = Mode « Commande »
keybind.command_queue.name = File d'attente des Commandes d'Unités
keybind.create_control_group.name = Créer un Groupe de Contrôle
keybind.cancel_orders.name = Annuler les Ordres
keybind.unit_stance_shoot.name = Ordre: Tirer
keybind.unit_stance_hold_fire.name = Ordre: Ne pas tirer
keybind.unit_stance_pursue_target.name = Ordre: Poursuivre la cible
keybind.unit_stance_patrol.name = Ordre: Patrouille
keybind.unit_stance_ram.name = Ordre: Charger
keybind.unit_command_move = Commande: Bouger
keybind.unit_command_repair = Commande: Réparer
keybind.unit_command_rebuild = Commande: Reconstruire
keybind.unit_command_assist = Commande: Assister
keybind.unit_command_mine = Commande: Miner
keybind.unit_command_boost = Commande: Boost
keybind.unit_command_load_units = Commande: Transporter unités
keybind.unit_command_load_blocks = Commande: Transporter blocs
keybind.unit_command_unload_payload = Commande: Poser chargement
keybind.rebuild_select.name = Reconstruire la Zone
keybind.schematic_select.name = Sélectionner une Région
keybind.schematic_menu.name = Menu des schémas
@@ -1191,7 +1246,7 @@ keybind.deselect.name = Désélectionner
keybind.pickupCargo.name = Prendre un Chargement
keybind.dropCargo.name = Lâcher un Chargement
keybind.shoot.name = Tirer
keybind.zoom.name = Zoom
keybind.zoom.name = Zoomer
keybind.menu.name = Menu
keybind.pause.name = Pause
keybind.pause_building.name = Pauser/Reprendre la Construction
@@ -1209,9 +1264,9 @@ keybind.chat_history_prev.name = Remonter l'Historique du Tchat
keybind.chat_history_next.name = Descendre l'Historique du Tchat
keybind.chat_scroll.name = Défilement du Tchat
keybind.chat_mode.name = Changer le mode du Tchat
keybind.drop_unit.name = Larguer une unité
keybind.drop_unit.name = Larguer une Unité
keybind.zoom_minimap.name = Zoomer la Mini-carte
mode.help.title = Description des modes de jeu
mode.help.title = Description des modes de jeux
mode.survival.name = Survie
mode.survival.description = Le mode normal. Ressources limitées et vagues automatiques.\n[gray]Requiert des points d'apparition ennemis pour pouvoir jouer à ce mode.
mode.sandbox.name = Bac à Sable
@@ -1223,8 +1278,11 @@ mode.attack.name = Attaque
mode.attack.description = Pas forcément de vagues, le but étant de détruire la base ennemie.\n[gray]Requiert un Noyau rouge pour jouer à ce mode.
mode.custom = Règles Personnalisées
rules.invaliddata = Données du Presse-Papier Invalides.
rules.hidebannedblocks = Cacher les blocs bannis.
rules.infiniteresources = Ressources Infinies
rules.onlydepositcore = Seulement autoriser le Dépôt d'Objets dans le Noyau
rules.onlydepositcore = Seulement autoriser le dépôt d'Objets dans le Noyau
rules.derelictrepair = Autoriser la réparation des structures abandonnées
rules.reactorexplosions = Explosion des Réacteurs
rules.coreincinerates = Incinération des surplus du Noyau
rules.disableworldprocessors = Désactiver les Processeurs Globaux
@@ -1241,7 +1299,7 @@ rules.rtsmaxsquadsize = Taille Maximale d'une Escouade
rules.rtsminattackweight = Poids Minimum d'une Attaque
rules.cleanupdeadteams = Détruire les structures des équipes vaincues (JcJ)
rules.corecapture = Capture du Noyau lors de sa Destruction
rules.polygoncoreprotection = Protection Polygonale du Noyau
rules.polygoncoreprotection = Protection polygonale du Noyau
rules.placerangecheck = Vérification de la Portée de Placement
rules.enemyCheat = Ressources infinies pour l'IA (équipe rouge)
rules.blockhealthmultiplier = Multiplicateur de Santé des Blocs
@@ -1253,9 +1311,9 @@ rules.unitdamagemultiplier = Multiplicateur de Dégât des Unités
rules.unitcrashdamagemultiplier = Multiplicateur de Dégât de chute des Unités
rules.solarmultiplier = Multiplicateur de l'Efficacité des Panneaux Solaires
rules.unitcapvariable = Les Noyaux contribuent à la limite d'Unités actives
rules.unitcap = Limite d'Unités actives de Base
rules.limitarea = Limite de la Zone de Jeu de la Carte
rules.enemycorebuildradius = Périmètre de Non-Construction autour du Noyau ennemi :[lightgray] (blocs)
rules.unitcap = Limite initiale d'Unités actives
rules.limitarea = Limite de la zone de jeu de la Carte
rules.enemycorebuildradius = Périmètre Non-Constructible autour du Noyau ennemi :[lightgray] (blocs)
rules.wavespacing = Temps entre les Vagues :[lightgray] (sec)
rules.initialwavespacing = Temps de Vague Initial :[lightgray] (sec)
rules.buildcostmultiplier = Multiplicateur du prix de construction
@@ -1263,7 +1321,7 @@ rules.buildspeedmultiplier = Multiplicateur du temps de construction
rules.deconstructrefundmultiplier = Multiplicateur du remboursement lors de la déconstruction
rules.waitForWaveToEnd = Les Vagues attendent la mort des ennemis
rules.wavelimit = La Partie termine après la Vague
rules.dropzoneradius = Rayon d'Apparition des ennemis :[lightgray] (blocs)
rules.dropzoneradius = Rayon de la Zone d'Apparition ennemie :[lightgray] (blocs)
rules.unitammo = Les Unités nécessitent des munitions
rules.enemyteam = Équipe ennemie
rules.playerteam = Équipe du joueur
@@ -1616,9 +1674,9 @@ block.large-constructor.description = Fabrique des structures d'une taille maxim
block.deconstructor.name = Déconstructeur
block.deconstructor.description = Déconstruit les structures et les unités. Retourne 100% du coût de construction.
block.payload-loader.name = Chargeur de charge utile
block.payload-loader.description = Chargez les liquides et les articles dans les blocs.
block.payload-loader.description = Charge les liquides et les ressources dans les blocs.
block.payload-unloader.name = Déchargeur de charge utile
block.payload-unloader.description = Décharge les liquides et les articles des blocs.
block.payload-unloader.description = Décharge les liquides et les ressources des blocs.
block.heat-source.name = Source de Chaleur
block.heat-source.description = Produit de grandes quantités de chaleur. Bac à sable uniquement.
@@ -1748,7 +1806,6 @@ block.disperse.name = Propagateur
block.afflict.name = Éclateur
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricateur
block.tank-refabricator.name = Refabricateur de Tanks
block.mech-refabricator.name = Refabricateur de Mécas
block.ship-refabricator.name = Refabricateur de Vaisseaux
@@ -1806,11 +1863,11 @@ hint.research = Utilisez le bouton \ue875 [accent]Recherche[] pour rechercher de
hint.research.mobile = Utilisez le bouton \ue875 [accent]Recherche[] dans le \ue88c [accent]Menu[] pour rechercher de nouvelles technologies.
hint.unitControl = Retenez [accent][[Ctrl-gauche][] et [accent]cliquez[] pour contrôler une tourelle ou une unité alliée.
hint.unitControl.mobile = [accent][[Tapez][] 2 fois une tourelle ou une unité alliée pour la contrôler.
hint.unitSelectControl = Pour contrôler les unités, entrez en mode [accent]« Commande »[] en pressant [accent]Maj gauche.[]\nEn mode « Commande », cliquez et faites glisser la souris pour sélectionner des unités. Faites un [accent]Clic droit[] à un emplacement ou une cible pour que les unités s'y déplacent.
hint.unitSelectControl = Pour contrôler les unités, entrez en mode [accent]« Commande »[] en pressant [accent]Maj gauche[].\nEn mode « Commande », cliquez et faites glisser la souris pour sélectionner des unités. Faites un [accent]Clic droit[] à un emplacement ou une cible pour que les unités s'y déplacent.
hint.unitSelectControl.mobile = Pour contrôler les unités, entrez en mode [accent]« Commande »[] en pressant le bouton de [accent]commande[] en bas à gauche de l'écran.\nEn mode « Commande », pressez longuement et faites glisser pour sélectionner des unités. Tapez un emplacement ou une cible pour que les unités s'y déplacent.
hint.launch = Une fois que vous avez collecté assez de ressources, vous pouvez [accent]Lancer[] votre Noyau en sélectionnant un secteur depuis la \ue827 [accent]Carte[] en bas à droite.
hint.launch.mobile = Une fois que vous avez collecté assez de ressources, vous pouvez [accent]Lancer[] votre Noyau en sélectionnant un secteur depuis la \ue827 [accent]Carte[] dans le \ue88c [accent]Menu[].
hint.schematicSelect = Retenez [accent][[F][] pour sélectionner des blocs dans une zone afin de les copier et les coller.\n\n[accent][[Clic du milieu][] pour copier un seul type de bloc.
hint.schematicSelect = Retenez [accent][[F][] pour sélectionner des blocs dans une zone afin de les copier et les coller.\n\n[accent][[Clic molette][] pour copier un seul type de bloc.
hint.rebuildSelect = Retenez [accent][[B][] et faites glissez pour selectionner les plans des blocs détruits.\nCela va automatiquement les reconstruire.
hint.rebuildSelect.mobile = Selectionnez le \ue874 bouton de copie, ensuite tapez le \ue80f bouton de reconstruction et faites glisser pour sélectionner les plans des blocs détruits.\nCela va les reconstruire automatiquement.
hint.conveyorPathfind = Retenez [accent][[Ctrl-gauche][] pendant que vous placez des convoyeurs, afin de générer un chemin automatiquement.
@@ -1826,7 +1883,7 @@ hint.guardian = Les [accent]Gardiens[] sont protégés par un bouclier. Les muni
hint.coreUpgrade = Les Noyaux peuvent être améliorés [accent]en plaçant un Noyau de plus haut niveau sur eux[].\n\nPlacez un \uf868 Noyau [accent]Fondation[] sur le \uf869 Noyau [accent]Fragment[]. Soyez sûrs que rien n'obstrue la construction.
hint.presetLaunch = Les [accent]secteurs[] gris, tels que [accent]Frozen Forest[], peuvent être lancés de n'importe où. Ils ne requièrent pas la capture d'un secteur adjacent.\n\n[accent]Il y a beaucoup de secteurs[] comme celui-ci, qui sont [accent]optionnels[].
hint.presetDifficulty = Ce secteur a un niveau de menace ennemi [scarlet]élevé[].\nIl n'est [accent]pas recommandé[] de se lancer dans de tels secteurs sans la technologie et la préparation appropriées.
hint.coreIncinerate = Lorsqu'un Noyau est rempli d'une ressource en particulier, le surplus qui rentrera dans celui-ci sera [accent]incinéré[].
hint.coreIncinerate = Lorsqu'un Noyau est rempli d'une ressource en particulier, le surplus qui y rentrera sera [accent]incinéré[].
hint.factoryControl = Pour régler la [accent]destination[] d'une usine à unités, cliquez sur l'usine en mode « Commande », puis clic-droit sur la destination souhaitée.\nLes unités produites s'y déplaceront automatiquement.
hint.factoryControl.mobile = Pour régler la [accent]destination[] d'une usine à unités, tapez sur l'usine en mode « Commande », puis tapez sur la destination souhaitée.\nLes unités produites s'y déplaceront automatiquement.
@@ -1843,8 +1900,8 @@ gz.turrets = Recherchez et placez 2 \uf861 [accent]Duos[] pour défendre votre n
gz.duoammo = Rechargez vos Duos avec du [accent]cuivre[], en utilisant les convoyeurs.
gz.walls = Les [accent]Murs[] peuvent empêcher les attaques ennemies d'atteindre vos constructions.\nPlacez des \uf8ae [accent]murs de cuivre[] autour de vos tourelles.
gz.defend = Ennemis en approche, préparez-vous à défendre.
gz.aa = Les unités aériennes ne peuvent pas être facilement repoussées avec des tourelles standard.\n\uf860 Les [accent]Disperseurs[] sont d'excellentes tourelles anti-aériennes, mais requierent du \uf837 [accent]plomb[] en tant que munition.
gz.scatterammo = Approvisionnez le Disperseur avec du [accent]plomb[], en utilisant des convoyeurs.
gz.aa = Les unités aériennes ne peuvent pas être facilement repoussées avec des tourelles standard.\n\uf860 Les [accent]Disperseurs[] sont d'excellentes tourelles anti-aériennes, mais requièrent du \uf837 [accent]plomb[] en tant que munition.
gz.scatterammo = Approvisionnez le Disperseur avec du [accent]plomb[] en utilisant des convoyeurs.
gz.supplyturret = [accent]Approvisionnez la tourelle
gz.zone1 = Ceci est la zone d'apparition ennemie.
gz.zone2 = Tout ce qui est construit dans le rayon est détruit lors du commencement de la vague.
@@ -1861,22 +1918,21 @@ onset.ducts.mobile = Recherchez et placez des \uf799 [accent]conduits[] pour dé
onset.moremine = Étendez vos exploitations minières.\nPlacez plus de foreuses à plasma et utilisez des transmetteurs à rayons pour les relier.\nMinez 200 minerais de béryllium.
onset.graphite = Les blocs plus complexes requièrent du \uf835 [accent]graphite[].\nPlacez quelques foreuses à plasma pour miner du graphite.
onset.research2 = Commencez à rechercher des [accent]usines[].\nRecherchez le \uf74d [accent]broyeur de parois[] et le \uf779 [accent]four de silicium[].
onset.arcfurnace = le four de silicium a besoin de \uf834 [accent]sable[] et de \uf835 [accent]graphite[] pour créer du \uf82f [accent]silicium[].\nDe [accent]l'énergie[] est aussi requise.
onset.arcfurnace = Le four de silicium a besoin de \uf834 [accent]sable[] et de \uf835 [accent]graphite[] pour créer du \uf82f [accent]silicium[].\nDe [accent]l'énergie[] est aussi requise.
onset.crusher = Utilisez des \uf74d [accent]broyeurs de parois[] pour miner du sable.
onset.fabricator = Utilisez des [accent]unités[] pour explorer la carte, défendre vos constructions et attaquer l'ennemi. Recherchez et placez un \uf6a2 [accent]fabricateur de tanks[].
onset.fabricator = Utilisez des [accent]Unités[] pour explorer la carte, défendre vos constructions et attaquer l'ennemi. Recherchez et placez un \uf6a2 [accent]Fabricateur de Tanks[].
onset.makeunit = Produisez une unité.\nUtilisez le bouton "?" pour voir les ressources requises par le fabricateur.
onset.turrets = Les unités sont efficaces, mais les [accent]tourelles[] ont de meilleures capacités défensives si elles sont bien utilisées.\nPlacez une tourelle \uf6eb [accent]brèche[].\nLes tourelles requièrent des [accent]munitions[] \uf748.
onset.turretammo = Approvisionnez les tourelles avec du [accent]béryllium.[]
onset.turretammo = Approvisionnez les tourelles avec du [accent]béryllium[].
onset.walls = Les [accent]murs[] peuvent encaisser les dégâts des attaques ennemies avant qu'elles atteignent vos constructions.\nPlacez quelques \uf6ee [accent]murs de béryllium[] autour de la tourelle.
onset.enemies = Ennemis en approche, préparez-vous à défendre.
onset.attack = L'ennemi est vulnérable. Contre-attaquez.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = L'ennemi est vulnérable. Contre-attaquez !
onset.cores = Les noyaux peuvent être placés sur des [accent]tuiles de noyau[].\nCes nouveaux noyaux servent à faire avancer votre base et partager vos ressources avec d'autres noyaux.\nPlacez un noyau \uf725.
onset.detect = L'ennemi sera capable de vous détecter dans 2 minutes.\nAméliorez vos défenses, vos exploitations minières ainsi que votre production.
#Ne pas traduire
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
onset.commandmode = Retenez [accent]Maj-gauche[] pour entrer en [accent]Mode « Commande »[].\n[accent]Clic-gauche tout en bougeant la souris[] pour sélectionner des unités.\n[accent]Clic-droit[] pour ordonner aux unités sélectionnées de bouger ou attaquer.
onset.commandmode.mobile = Pressez le [accent]bouton de commande[] pour entrer en [accent]Mode « Commande »[].\nRetenez votre doigt, et [accent]bougez-le[] pour sélectionner des unités.\n[accent]Tapez[] pour ordonner aux unités sélectionnées de bouger ou attaquer.
aegis.tungsten = Le tungstène peut être miné en utilisant une [accent]foreuse à impact[].\nCette structure requiert de [accent]l'eau[] et de [accent]l'énergie[].
split.pickup = Certains blocs peuvent être transportés par des unités du noyau.\nTransportez ce [accent]conteneur[] et placez-le sur le [accent]chargeur de charges utiles[].\n(Les touches par défaut sont [[ pour ramasser et ] pour déposer)
split.pickup.mobile = Certains blocs peuvent être transportés par des unités du noyau.\nTransportez ce [accent]conteneur[] et placez-le sur le [accent]chargeur de charges utiles[].\n(Pour ramasser ou déposer quelque chose, Pressez longuement dessus.)
@@ -1892,7 +1948,7 @@ item.metaglass.description = Un composé de verre super-résistant. Utilisation
item.graphite.description = Du carbone minéralisé utilisé pour les munitions et dans les composants électriques.
item.sand.description = Un matériau commun, largement utilisé pour la fabrication de matériaux raffinés.
item.coal.description = Un carburant commun et facile à obtenir.
item.coal.details = De la matière végétale fossilisée, formée bien avant lensemencement de ce monde. Utilisation très répandue pour la production de carburant et de ressources.
item.coal.details = De la matière végétale fossilisée, formée bien avant lensemencement de ce monde. Utilisation très répandue pour la production de carburant et de ressources.
item.titanium.description = Un métal rare et super-léger, largement utilisé dans le transport de liquides, dans les foreuses de haut niveau et dans les usines.
item.thorium.description = Un métal dense et radioactif, utilisé comme support structurel et comme carburant nucléaire.
item.scrap.description = Il est utilisé dans les fours à fusion et les pulvériseurs, pour être raffiné en d'autres matériaux.
@@ -2076,10 +2132,9 @@ block.logic-display.description = Affiche des images à partir des instructions
block.large-logic-display.description = Affiche des images à partir des instructions d'un processeur logique. Possède une plus grande résolution qu'un écran.
block.interplanetary-accelerator.description = Un énorme canon électromagnétique à rails. Accélère les Noyaux pour qu'ils échappent à la gravité de leur planète et leur permettent un déploiement interplanétaire.
block.repair-turret.description = Répare en continu l'unité endommagée la plus proche dans son périmètre. Accepte le liquide de refroidissement en option.
block.payload-propulsion-tower.description = Structure de transport de charges utiles à longue portée. Projette des charges utiles vers d'autres tours de propulsion de charges utiles reliées.
#Erekir
block.core-bastion.description = Le cœur de votre base. Blindé. Une fois détruit, le secteur est perdu.
block.core-bastion.description = Le cœur de votre base. Blindé. Une fois détruit, le secteur est perdu.
block.core-citadel.description = Le cœur de votre base. Très bien blindé. Stocke plus de ressources qu'un noyau Bastion.
block.core-acropolis.description = Le cœur de votre base. Exceptionnellement bien blindé. Stocke plus de ressources qu'un noyau Citadelle.
block.breach.description = Tire des munitions perforantes de béryllium ou de tungstène sur les cibles ennemies.
@@ -2114,7 +2169,6 @@ block.impact-drill.description = Lorsqu'il est placé sur du minerai, il produit
block.eruption-drill.description = Une foreuse à impact améliorée. Capable d'extraire du thorium. Requiert de l'hydrogène.
block.reinforced-conduit.description = Déplace les fluides. N'accepte pas les entrées sans conduit sur les côtés.
block.reinforced-liquid-router.description = Accepte les fluides depuis une direction et les distribue jusqu'à 3 directions équitablement.
block.reinforced-junction.description = Agit comme un pont entre deux conduits qui se croisent.
block.reinforced-liquid-tank.description = Stocke une grande quantité de fluides.
block.reinforced-liquid-container.description = Stocke une quantité importante de fluides.
block.reinforced-bridge-conduit.description = Transporte les fluides par-dessus les structures et le terrain.
@@ -2235,6 +2289,7 @@ unit.emanate.description = Construit des structures pour défendre le Noyau acro
lst.read = Lit un nombre depuis un bloc de mémoire relié au processeur.
lst.write = Écrit un nombre dans un bloc de mémoire relié au processeur.
lst.print = Ajoute du texte dans la mémoire tampon de l'imprimante.\nNe montrera aucun texte tant que [accent]Print Flush[] ne sera pas utilisé.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Ajoute une opération dans la mémoire tampon de dessin.\nNe montrera aucune image tant que [accent]Draw Flush[] ne sera pas utilisé.
lst.drawflush = Affiche les opérations [accent]Draw[] en file d'attente vers un écran.
lst.printflush = Affiche les opérations [accent]Print[] en file d'attente vers un bloc de message.
@@ -2263,17 +2318,56 @@ lst.setrate = Définit la vitesse d'exécution d'un processeur en instructions/t
lst.fetch = Cherche les unités, noyaux, joueurs ou constructions par index. Commence à 0 et termine par le nombre retourné.
lst.packcolor = Compresse les composants RGBA [0, 1] en un seul nombre pour les opérations de dessins ou les changements de règles.
lst.setrule = Change une règle du jeu.
lst.flushmessage = Affiche un message sur l'écran depuis la mémoire tampon de texte.\nLe message apparait après la fin du dernier.
lst.flushmessage = Affiche un message sur l'écran depuis la mémoire tampon de texte.\nAttendra la fin du message précédent avant l'affichage du nouveau.
lst.cutscene = Manipule la caméra du joueur.
lst.setflag = Définit un drapeau global qui peut être lu par tous les processeurs.
lst.getflag = Vérifie si un drapeau global est présent.
lst.setflag = Définit une variable globale qui peut être lue par tous les processeurs.
lst.getflag = Vérifie si une variable globale est présente.
lst.setprop = Change une propriété d'une unité ou d'un bâtiment.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.effect = Crée un effet de particules.
lst.sync = Synchronise une variable dans le réseau.\nLimité à 20 fois par seconde et par variable.
lst.makemarker = Crée un marqueur dans le monde.\nUn ID pour identifier le marqueur doit être donné.\nLes marqueurs sont limités à 20,000 par monde.
lst.setmarker = Change une propriété d'un marqueur.\nL'ID utilisé doit être le même que celui de l'instruction "Make Marker".
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Les unités contrôlées par des processeurs ne peuvent pas construire ici.
lenum.type = Type de bâtiment/unité.\nPar exemple, pour tout routeur, cela retournera [accent]@router[].\nPas en texte.
lenum.type = Type de bâtiment/unité.\nPar exemple, pour tout routeur, cela retournera [accent]@router[].
lenum.shoot = Tire à une position donnée.
lenum.shootp = Tire à une unité/bâtiment avec la prédiction de mouvement.
lenum.config = La configuration d'un bâtiment. Par exemple, l'objet sélectionné dans un trieur.
@@ -2285,7 +2379,7 @@ laccess.dead = Retourne si l'Unité/Bâtiment est morte/détruit ou plus valide.
laccess.controlled = Retourne:\n[accent]@ctrlProcessor[] si le contrôleur de l'Unité est un processeur\n[accent]@ctrlPlayer[] si l'Unité/Bâtiment est contrôlé par un joueur\n[accent]@ctrlFormation[] si l'Unité est en formation\nSinon, retourne 0.
laccess.progress = Progression de l'action, 0 à 1.\nRenvoie la progression de la production, du rechargement de la tourelle ou de la construction.
laccess.speed = La vitesse maximale d'une unité, en blocs/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
laccess.id = L'ID d'une unité/bloc/ressource/liquide.\nCeci est l'inverse de l'instruction de recherche.
lcategory.unknown = Inconnu
lcategory.unknown.description = Instructions sans catégorie.
@@ -2296,7 +2390,7 @@ lcategory.block.description = Interagit avec les blocs.
lcategory.operation = Opérations
lcategory.operation.description = Opérations logiques.
lcategory.control = Contrôle des Flux
lcategory.control.description = Manipule le flot d'exécution.
lcategory.control.description = Manipule l'ordre d'exécution.
lcategory.unit = Contrôle des Unités
lcategory.unit.description = Ordonne des commandes aux unités.
lcategory.world = Contrôle du Monde
@@ -2313,6 +2407,7 @@ graphicstype.poly = Dessine un polygone régulier.
graphicstype.linepoly = Dessine le contour d'un polygone régulier.
graphicstype.triangle = Dessine un triangle.
graphicstype.image = Dessine une image provenant du contenu du jeu.\nexemple: [accent]@router[] ou [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Toujours [accent]true[].
lenum.idiv = Division entière.
@@ -2407,7 +2502,7 @@ lenum.unbind = Désactive complètement le contrôle par processeur.\nL'unité r
lenum.move = Bouge vers la position exacte.
lenum.approach = Approche une position avec un rayon.
lenum.pathfind = Détermine un itinéraire et bouge vers le point d'apparition ennemi.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.autopathfind = Recherche automatiquement le chemin vers le noyau ennemi ou la zone d'apparition ennemie le plus proche.\nCeci est le même que la détection de chemin de la vague ennemie.
lenum.target = Tire vers la position donnée.
lenum.targetp = Tire sur une cible avec la prédiction de mouvement.
lenum.itemdrop = Lâche un objet.
@@ -2421,3 +2516,10 @@ lenum.build = Construit une structure.
lenum.getblock = Récupère des données sur un bâtiment et son type aux coordonnées données.\nL'unité doit se trouver dans la portée de la position.\nLes blocs solides qui ne sont pas des bâtiments auront le type [accent]@solid[].
lenum.within = Vérifie si l'unité est près de la position.
lenum.boost = Active/Désactive le boost.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

File diff suppressed because it is too large Load Diff

View File

@@ -341,12 +341,23 @@ open = Buka
customize = Sunting Peraturan
cancel = Batal
command = Perintah
command.queue = [lightgray][Queuing]
command.mine = Tambang
command.repair = Perbaiki
command.rebuild = Bangun Kembali
command.assist = Bantu Pemain
command.move = Maju
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Buka Tautan
copylink = Salin Tautan
back = Kembali
@@ -427,6 +438,7 @@ editor.waves = Gelombang:
editor.rules = Peraturan:
editor.generation = Generasi:
editor.objectives = Tujuan
editor.locales = Locale Bundles
editor.ingame = Sunting dalam Permainan
editor.playtest = Tes Bermain
editor.publish.workshop = Terbitkan di Workshop
@@ -483,6 +495,7 @@ editor.default = [lightgray]<Standar>
details = Detail...
edit = Sunting...
variables = Vars
logic.globals = Built-in Variables
editor.name = Nama:
editor.spawn = Munculkan Unit
editor.removeunit = Hapus Unit
@@ -494,6 +507,7 @@ editor.errorlegacy = Peta ini terlalu tua, dan memakai format peta "legacy" yang
editor.errornot = Ini bukan merupakan file peta.
editor.errorheader = File peta ini bisa jadi tidak sah atau rusak.
editor.errorname = Peta tidak ada nama. Apakah Anda mencoba untuk memuat file simpanan?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Perbaruan
editor.randomize = Acak
editor.moveup = Pindah Ke Atas
@@ -505,6 +519,7 @@ editor.sectorgenerate = Generasi Sektor
editor.resize = Ubah Ukuran
editor.loadmap = Memuat Peta
editor.savemap = Simpan Peta
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Tersimpan!
editor.save.noname = Peta Anda tidak ada nama! Tambahkan di menu 'info peta'.
editor.save.overwrite = Peta ini menindih peta built-in! Pilih nama yang berbeda di menu 'info peta'.
@@ -592,6 +607,23 @@ filter.option.floor2 = Lantai Sekunder
filter.option.threshold2 = Ambang Sekunder
filter.option.radius = Radius
filter.option.percentile = Perseratus
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Lebar:
height = Tinggi:
@@ -644,9 +676,11 @@ objective.commandmode.name = Mode Perintah
objective.flag.name = Bendera
marker.shapetext.name = Teks Berbentuk
marker.minimap.name = Peta Kecil
marker.point.name = Point
marker.shape.name = Bentuk
marker.text.name = Teks
marker.line.name = Line
marker.quad.name = Quad
marker.background = Latar Belakang
marker.outline = Garis Luar
@@ -675,7 +709,6 @@ resources.max = Maks
bannedblocks = Balok yang Dilarang
objectives = Tujuan
bannedunits = Unit yang Dilarang
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Tambah Semua
@@ -734,8 +767,7 @@ sector.curlost = Sektor Gagal Bertahan
sector.missingresources = [scarlet]Sumber Daya Inti Tidak Cukup
sector.attacked = Sektor [accent]{0}[white] sedang diserang!
sector.lost = Sektor [accent]{0}[white] telah dihancurkan!
#note: the missing space in the line below is intentional
sector.captured = Sektor [accent]{0}[white]ditaklukkan!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Ubah Ikon
sector.noswitch.title = Tidak Dapat beralih Sektor
sector.noswitch = Andak tidak boleh berpindah sektor jika salah satu sektor terkena serangan.\nSektor: [accent]{0}[] di [accent]{1}[]
@@ -1008,6 +1040,7 @@ bullet.splashdamage = [stat]{0}[lightgray] kekuatan percikan~[stat] {1}[lightgra
bullet.incendiary = [stat]membakar
bullet.homing = [stat]mengejar
bullet.armorpierce = [stat]menembus baju besi
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x pecahan:
@@ -1063,6 +1096,7 @@ setting.backgroundpause.name = Jeda di Latar
setting.buildautopause.name = Jeda Otomatis saat Membangun
setting.doubletapmine.name = Dua-kali Sentuh untuk Menambang
setting.commandmodehold.name = Tahan Untuk Mode Perintah
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Matikan Mod Ketika Ada Masalah Saat Memulai Permainan
setting.animatedwater.name = Animasi Perairan
setting.animatedshields.name = Animasi Perisai
@@ -1116,7 +1150,7 @@ setting.sfxvol.name = Volume Efek Suara
setting.mutesound.name = Diamkan Suara
setting.crashreport.name = Laporkan Masalah
setting.savecreate.name = Otomatis Menyimpan
setting.publichost.name = Visibilitas Game Publik
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Batas pemain
setting.chatopacity.name = Jelas-Beningnya Pesan
setting.lasersopacity.name = Jelas-Beningnya Tenaga Laser
@@ -1136,6 +1170,7 @@ keybind.title = Ganti Tombol
keybinds.mobile = [scarlet]Mayoritas tombol tidak didukung oleh perangkat ponsel. Hanya gerakan dasar yang didukung.
category.general.name = Umum
category.view.name = Melihat
category.command.name = Unit Command
category.multiplayer.name = Bermain Bersama
category.blocks.name = Pilih Blok
placement.blockselectkeys = \n[lightgray]Tombol: [{0},
@@ -1153,6 +1188,23 @@ keybind.mouse_move.name = Ikuti Tetikus
keybind.pan.name = Tampilan Geser
keybind.boost.name = Dorongan
keybind.command_mode.name = Mode Perintah
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Pilih Daerah
keybind.schematic_menu.name = Menu Skema
@@ -1216,9 +1268,12 @@ mode.pvp.description = Melawan pemain lain.\n[gray]Membutuhkan setidaknya 2 inti
mode.attack.name = Penyerangan
mode.attack.description = Hancurkan markas musuh. Membutuhkan inti merah di dalam peta untuk main.
mode.custom = Pengaturan Modifikasi
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Sumber Daya Tak Terbatas
rules.onlydepositcore = Hanya Izinkan Penyetoran Inti
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Ledakan Reaktor
rules.coreincinerates = Penghangusan Luapan Inti
rules.disableworldprocessors = Nonaktifkan Prosesor Dunia
@@ -1742,7 +1797,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabrikator
block.tank-refabricator.name = Refabrikator Tank
block.mech-refabricator.name = Refabrikator Mech
block.ship-refabricator.name = Refabrikator Kapal
@@ -1861,6 +1915,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2067,7 +2122,6 @@ block.logic-display.description = Menampilkan grafik sembarang dari prosesor.
block.large-logic-display.description = Menampilkan grafik sembarang dari prosesor. Lebih besar.
block.interplanetary-accelerator.description = Sebuah menara railgun elektromagnetik raksasa. Meluncurkan Inti dengan kecepatan tinggi untuk peluncuran antarplanet.
block.repair-turret.description = Memperbaiki unit terdekat yang sekarat dalam jangkauan secara terus-menerus. Dapat menerima pendingin.
block.payload-propulsion-tower.description = Bangunan transportasi muatan jarak jauh. Menembakkan muatan pada menara penggerak muatan lainnya yang terhubung.
#Erekir
block.core-bastion.description = Inti markas. Terlindungi. Jika hancur, sektor jatuh ke tangan musuh.
@@ -2105,7 +2159,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2226,6 +2279,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Membaca angka dari memori sel yang dihubungkan.
lst.write = Menulis angka ke memori sel yang dihubungkan.
lst.print = Menambahkan teks ke daftar cetak.\nTidak dapat menampilkan apapun sampai [accent]Print Flush[] dipakai.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Menambahkan perintah ke daftar gambar.\nTidak dapat menampilkan apapun sampai [accent]Draw Flush[] dipakai.
lst.drawflush = Mengeluarkan perintah [accent]Draw[] dari daftar antrean untuk ditampilkan.
lst.printflush = Mengeluarkan perintah [accent]Print[] dari daftar antrean untuk blok pesan.
@@ -2261,6 +2315,45 @@ lst.getflag = Periksa apakah ada global flag yang ditentukan.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Logika unit membangun tidak diperbolehkan di sini.
@@ -2304,6 +2397,7 @@ graphicstype.poly = Mengisi sebuah poligon beraturan.
graphicstype.linepoly = Menggambar sebuah garis poligon beraturan.
graphicstype.triangle = Mengisi sebuah segitiga.
graphicstype.image = Membentuk sebuah gambar dari suatu konten.\nMisal: [accent]@router[] atau [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Selalu benar.
lenum.idiv = Pembagian integer.
@@ -2412,3 +2506,10 @@ lenum.build = Membangun sebuah sttruktur.
lenum.getblock = Mengambil bangunan dan tipenya pada koordinat tertentu.\nUnit harus ada dalam jangkauan tersebut.\nBentuk padat yang bukan merupakan bangunan akan memiliki tipe [accent]@solid[].
lenum.within = Memeriksa apakah unit di dekat suatu posisi.
lenum.boost = Mulai/berhenti mempercepat.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -339,12 +339,23 @@ open = Apri
customize = Personalizza
cancel = Annulla
command = Comando
command.queue = [lightgray][Queuing]
command.mine = Mina
command.repair = Ripara
command.rebuild = Ricostruisci
command.assist = Aiuta giocatore
command.move = Muovi
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Apri Link
copylink = Copia link
back = Indietro
@@ -425,6 +436,7 @@ editor.waves = Ondate:
editor.rules = Regole:
editor.generation = Generazione:
editor.objectives = Obbiettivi
editor.locales = Locale Bundles
editor.ingame = Modifica in Gioco
editor.playtest = Playtest
editor.publish.workshop = Pubblica nel Workshop
@@ -481,6 +493,7 @@ editor.default = [lightgray]<Predefinito>
details = Dettagli...
edit = Modifica...
variables = Vars
logic.globals = Built-in Variables
editor.name = Nome:
editor.spawn = Piazza un'Unità
editor.removeunit = Rimuovi un'Unità
@@ -492,6 +505,7 @@ editor.errorlegacy = La mappa è troppo vecchia ed usa un formato che non è pi
editor.errornot = Questo non è un file mappa.
editor.errorheader = Il file di questa mappa non è valido o è corrotto.
editor.errorname = Questa mappa è senza nome. Stai cercando di caricare un salvataggio?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Aggiorna
editor.randomize = Casualizza
editor.moveup = Muovi in alto
@@ -503,6 +517,7 @@ editor.sectorgenerate = Genera settore
editor.resize = Ridimensiona
editor.loadmap = Carica Mappa
editor.savemap = Salva Mappa
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Salvato!
editor.save.noname = La tua mappa non ha un nome! Impostane uno nel menu 'Info Mappa'.
editor.save.overwrite = La tua mappa sovrascrive quelle incluse! Imposta un nome diverso nel menu 'Info Mappa'.
@@ -587,6 +602,23 @@ filter.option.floor2 = Terreno Secondario
filter.option.threshold2 = Soglia Secondaria
filter.option.radius = Raggio
filter.option.percentile = Percentuale
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Larghezza:
height = Altezza:
@@ -637,9 +669,11 @@ objective.destroycore.name = Distruggi nuclei
objective.commandmode.name = Modalità comando
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Minimappa
marker.point.name = Point
marker.shape.name = Forma
marker.text.name = Testo
marker.line.name = Line
marker.quad.name = Quad
marker.background = Sfondo
marker.outline = Outline
objective.research = [accent]Ricerca:\n[]{0}[lightgray]{1}
@@ -665,7 +699,6 @@ resources.max = Max
bannedblocks = Blocchi Banditi
objectives = Obbiettivi
bannedunits = Unità bandite
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Aggiungi Tutti
@@ -724,8 +757,7 @@ sector.curlost = Settore Perso
sector.missingresources = [scarlet]Risorse del Nucleo Insufficienti
sector.attacked = Settore [accent]{0}[white] sotto attacco!
sector.lost = Settore [accent]{0}[white] perso!
#nota: lo spazio mancante nella linea sotto è intenzionale
sector.captured = Settore [accent]{0}[white]catturato!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Cambia icona
sector.noswitch.title = Impossibile cambiare settore
sector.noswitch = Non puoi cambiare settore mentre sei sotto attacco.\n\nSectore: [accent]{0}[] on [accent]{1}[]
@@ -995,6 +1027,7 @@ bullet.splashdamage = [stat]{0}[lightgray] danno ad area ~[stat] {1}[lightgray]
bullet.incendiary = [stat]incendiario
bullet.homing = [stat]autoguidato
bullet.armorpierce = [stat]perforazione alle armature
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frammentazione:
@@ -1050,6 +1083,7 @@ setting.backgroundpause.name = Metti in pausa quando in background
setting.buildautopause.name = Pausa Automatica nella Costruzione
setting.doubletapmine.name = Doppio click per minare
setting.commandmodehold.name = Tieni premuto per comandare
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Disabilita le mod dopo un arresto anomalo
setting.animatedwater.name = Fluidi Animati
setting.animatedshields.name = Scudi Animati
@@ -1103,7 +1137,7 @@ setting.sfxvol.name = Volume Effetti
setting.mutesound.name = Silenzia Suoni
setting.crashreport.name = Invia rapporti anonimi sugli arresti anomali
setting.savecreate.name = Salvataggi Automatici
setting.publichost.name = Gioco Visibile Pubblicamente
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Limite Giocatori
setting.chatopacity.name = Opacità Chat
setting.lasersopacity.name = Opacità Raggi Energetici
@@ -1123,6 +1157,7 @@ keybind.title = Configurazione Tasti
keybinds.mobile = [scarlet]La maggior parte dei controlli qui non sono funzionano sui dispositivi mobili. È supportato solo il movimento di base.
category.general.name = Generale
category.view.name = Visualizzazione
category.command.name = Unit Command
category.multiplayer.name = Multigiocatore
category.blocks.name = Seleziona Blocco
placement.blockselectkeys = \n[lightgray]Tasto: [{0},
@@ -1140,6 +1175,23 @@ keybind.mouse_move.name = Segui il Mouse
keybind.pan.name = Vista Panoramica
keybind.boost.name = Scatto
keybind.command_mode.name = Modalità di comando
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Seleziona Regione
keybind.schematic_menu.name = Menu Schematica
@@ -1203,9 +1255,12 @@ mode.pvp.description = Combatti contro altri giocatori in locale.\n[gray]Per gio
mode.attack.name = Schermaglia
mode.attack.description = Distruggi la base nemica. \n[gray]Richiede un nucleo rosso nella mappa per essere giocata.
mode.custom = Regole Personalizzate
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Risorse Infinite
rules.onlydepositcore = Deposito consentito solo al nucleo
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Esplosioni Reattore
rules.coreincinerates = Core Incinerates Overflow
rules.disableworldprocessors = Disabilita processori
@@ -1728,7 +1783,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricator
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1847,6 +1901,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2046,7 +2101,6 @@ block.logic-display.description = Visualizza la grafica arbitraria elaborata da
block.large-logic-display.description = Visualizza la grafica arbitraria elaborata dal processore.
block.interplanetary-accelerator.description = Una massiccia torre che utilizza potenti campi elettromagnetici. Accelera nuclei fino alla velocità di fuga per un impiego interplanetario.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2082,7 +2136,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2200,6 +2253,7 @@ unit.emanate.description = Costruisce strutture per difendere il nucleo dell'Acr
lst.read = Leggi un numero da una cella di memoria collegata.
lst.write = Scrivi un numero in una cella di memoria collegata.
lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used.
lst.drawflush = Flush queued [accent]Draw[] operations to a display.
lst.printflush = Flush queued [accent]Print[] operations to a message block.
@@ -2235,6 +2289,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position.
@@ -2273,6 +2366,7 @@ graphicstype.poly = Fill a regular polygon.
graphicstype.linepoly = Draw a regular polygon outline.
graphicstype.triangle = Fill a triangle.
graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Always true.
lenum.idiv = Integer division.
lenum.div = Division.\nReturns [accent]null[] on divide-by-zero.
@@ -2366,3 +2460,10 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -341,12 +341,23 @@ open = 開く
customize = カスタマイズ
cancel = キャンセル
command = コマンド
command.queue = [lightgray][Queuing]
command.mine = 採掘
command.repair = 修復
command.rebuild = 再建築
command.assist = プレイヤーをアシスト
command.move = 移動
command.boost = ブースト
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = リンクを開く
copylink = リンクをコピー
back = 戻る
@@ -427,6 +438,7 @@ editor.waves = ウェーブ:
editor.rules = ルール:
editor.generation = 生成:
editor.objectives = オブジェクティブ
editor.locales = Locale Bundles
editor.ingame = ゲーム内で編集する
editor.playtest = Playtest
editor.publish.workshop = ワークショップで公開
@@ -483,6 +495,7 @@ editor.default = [lightgray]<デフォルト>
details = 詳細...
edit = 編集...
variables = 変数
logic.globals = Built-in Variables
editor.name = 名前:
editor.spawn = ユニットを出す
editor.removeunit = ユニットを消す
@@ -494,6 +507,7 @@ editor.errorlegacy = このマップは古いです。今後、古いマップ
editor.errornot = これはマップファイルではありません。
editor.errorheader = このマップファイルは無効または破損しています。
editor.errorname = マップに名前が設定されていません。
editor.errorlocales = Error reading invalid locale bundles.
editor.update = 更新
editor.randomize = ランダム
editor.moveup = 上に移動
@@ -505,6 +519,7 @@ editor.sectorgenerate = セクターを生成
editor.resize = リサイズ
editor.loadmap = マップを読み込む
editor.savemap = マップを保存
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = 保存しました!
editor.save.noname = マップに名前が設定されていません! メニューの 'マップ情報' から設定してください。
editor.save.overwrite = 組み込みマップを上書きしようとしています! メニューの 'マップ情報' から異なる名前に設定してください。
@@ -591,6 +606,23 @@ filter.option.floor2 = 2番目の地面
filter.option.threshold2 = 2番目の閾値
filter.option.radius = 半径
filter.option.percentile = パーセンタイル
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = 幅:
height = 高さ:
@@ -641,9 +673,11 @@ objective.destroycore.name = コアを破壊する
objective.commandmode.name = コマンドモード
objective.flag.name = フラグ
marker.shapetext.name = テキストの形
marker.minimap.name = ミニマップ
marker.point.name = Point
marker.shape.name = 図形
marker.text.name = 文章
marker.line.name = Line
marker.quad.name = Quad
marker.background = 背景
marker.outline = 輪郭
objective.research = [accent]Research:\n[]{0}[lightgray]{1}
@@ -669,7 +703,6 @@ resources.max = Max
bannedblocks = 禁止ブロック
objectives = オブジェクティブ
bannedunits = 禁止ユニット
rules.hidebannedblocks = 禁止ブロックを非表示
bannedunits.whitelist = 「禁止ユニット」以外を禁止する(ホワイトリスト)
bannedblocks.whitelist = 「禁止ブロック」以外を禁止する(ホワイトリスト)
addall = すべて追加
@@ -728,8 +761,7 @@ sector.curlost = 失われたセクター
sector.missingresources = [scarlet]資源が足りません
sector.attacked = セクター [accent]{0}[white] が攻撃を受けています!
sector.lost = セクター [accent]{0}[white] 喪失!
#note: the missing space in the line below is intentional = #注: 以下の行の空白は意図的なものです
sector.captured = セクター [accent]{0}[white]制圧!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = アイコンを変更
sector.noswitch.title = セクターを切り替えることができません
sector.noswitch = 既存のセクターが攻撃を受けている間は、セクターを切り替えることはできません。\n\nセクター: [accent]{0}[] on [accent]{1}[]
@@ -1001,6 +1033,7 @@ bullet.splashdamage = [stat]{0}[lightgray] 範囲ダメージ 約[stat] {1}[ligh
bullet.incendiary = [stat]焼夷弾
bullet.homing = [stat]追尾弾
bullet.armorpierce = [stat]アーマー貫通
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
@@ -1056,6 +1089,7 @@ setting.backgroundpause.name = バックグラウンド中は一時停止する
setting.buildautopause.name = 常に建築一時中断状態にする
setting.doubletapmine.name = ダブルタップで採掘する
setting.commandmodehold.name = コマンドモードで長押し
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = 起動時にクラッシュした場合にModを無効にする
setting.animatedwater.name = 流体のアニメーション
setting.animatedshields.name = シールドのアニメーション
@@ -1109,7 +1143,7 @@ setting.sfxvol.name = 効果音 音量
setting.mutesound.name = 効果音をミュート
setting.crashreport.name = 匿名でクラッシュレポートを送信する
setting.savecreate.name = 自動保存
setting.publichost.name = 誰でもゲームに参加できるようにする
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = プレイヤー数制限
setting.chatopacity.name = チャットの透明度
setting.lasersopacity.name = 電線の透明度
@@ -1129,6 +1163,7 @@ keybind.title = キーバインドを再設定
keybinds.mobile = [scarlet]モバイルでは多くのキーバインドが機能しません。基本的な動きのみがサポートされています。
category.general.name = 一般
category.view.name = 表示
category.command.name = Unit Command
category.multiplayer.name = マルチプレイ
category.blocks.name = ブロックセレクト
placement.blockselectkeys = \n[lightgray]キー: [{0},
@@ -1146,6 +1181,23 @@ keybind.mouse_move.name = マウスを追う
keybind.pan.name = 視点移動
keybind.boost.name = ブースト
keybind.command_mode.name = コマンドモード
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = リージョンの再構築
keybind.schematic_select.name = 範囲選択
keybind.schematic_menu.name = 設計図メニュー
@@ -1209,9 +1261,12 @@ mode.pvp.description = エリア内で他のプレイヤーと戦います。\n[
mode.attack.name = アタック
mode.attack.description = ウェーブがなく、敵の基地を破壊することを目指します。\n[gray]マップに赤色のコアが必要です。
mode.custom = カスタムルール
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = 禁止ブロックを非表示
rules.infiniteresources = 資源の無限化
rules.onlydepositcore = コアへの搬入のみを許可
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = リアクターの爆発
rules.coreincinerates = 余剰アイテムの焼却
rules.disableworldprocessors = ワールドプロセッサーを無効にする
@@ -1731,7 +1786,6 @@ block.disperse.name = ディスパーズ
block.afflict.name = アフリクト
block.lustre.name = ラストル
block.scathe.name = スケース
block.fabricator.name = ファブリケーター
block.tank-refabricator.name = 戦車再加工工場
block.mech-refabricator.name = メカ再加工工場
block.ship-refabricator.name = 戦艦再加工工場
@@ -1850,6 +1904,7 @@ onset.turrets = ユニットは効果的ですが、[accent]タレット[] は
onset.turretammo = タレットに[accent]ベリリウム弾[]を供給してください。
onset.walls = [accent]壁[]は建物に対するダメージを防ぐことができます。\n砲台の周囲に \uf6ee [accent]ベリリウムの壁[] をいくつか配置しましょう。
onset.enemies = 敵が迫ってきました、防御する準備をしてください。
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = 敵は脆弱です。反撃しましょう!
onset.cores = 新しいコアは [accent]コアタイル[] に配置できます。\n新しいコアは前線基地として機能し、リソースインベントリを他のコアと共有します。\n\uf725 コアを配置しましょう。
onset.detect = 敵は 2 分以内にあなたを見つけます。\n防御、採掘、生産を用意しましょう。
@@ -2050,7 +2105,6 @@ block.logic-display.description = プロセッサからの任意のグラフィ
block.large-logic-display.description = プロセッサからの任意のグラフィックを表示します。
block.interplanetary-accelerator.description = 巨大な電磁レールガンタワーです。別惑星への展開のためにコアを重力圏脱出可能速度まで加速します。
block.repair-turret.description = 範囲内の損傷したブロックを近い順に継続的に修復します。オプションで冷却液を活用できます。
block.payload-propulsion-tower.description = 長距離ペイロード輸送構造です。他の接続されたペイロード推進タワーにペイロードを発射します。
block.core-bastion.description = 基本的な堅いコアです。一度破壊されると、セクターを失います。破壊されないようにしましょう。
block.core-citadel.description = バージョンアップしたコアです。 より優れた耐久を持っています。 バスティオンコアよりも多くの資源を格納します。
block.core-acropolis.description = さらにバージョンアップしたコアです。 非常に優れた耐久を持っています。 シタデルコアよりも多くの資源を格納します。
@@ -2086,7 +2140,6 @@ block.impact-drill.description = 鉱石の上に置くと、一定の間隔で
block.eruption-drill.description = 改良されたインパクトドリルです。 トリウムの採掘が可能。 電力と水素が必要です。
block.reinforced-conduit.description = 液体または気体を輸送します。 側面からの搬入を受け入れません。
block.reinforced-liquid-router.description = 液体をすべての向きに均等に分配します。
block.reinforced-junction.description = 交差する 2 つのパイプのブリッジとして機能します。
block.reinforced-liquid-tank.description = 大量の液体を蓄えることができます。
block.reinforced-liquid-container.description = 中量の液体を蓄えることができます。
block.reinforced-bridge-conduit.description = 構造物や地形の上に液体を輸送させることができます。
@@ -2204,6 +2257,7 @@ unit.emanate.description = アクロポリスコアを敵から守ります。\n
lst.read = リンクされたメモリセルから数値を読み取ります。
lst.write = リンクされたメモリセルに数値を書き込みます。
lst.print = メッセージブロックにテキストを追加します。[accent]Print Flush[] を使用するまで何も表示しません。
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = ロジックディスプレイに操作を追加します。[accent]Draw Flush[] を使用するまで何も表示しません。
lst.drawflush = キューに入れられた [accent]Draw[] 操作をディスプレイにフラッシュします。
lst.printflush = キューに入れられた [accent]Print[] 操作をメッセージ ブロックにフラッシュします。
@@ -2239,6 +2293,45 @@ lst.getflag = グローバルフラグが設定されているかどうかを確
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]ここではユニット構築ロジックは使用できません。
lenum.type = ユニットや建物の種類を取得します。\n例任意のルーターに対して、 [accent]@router[] を返します。\n文字列ではありません。
lenum.shoot = 指定した座標に向かって撃ちます。
@@ -2277,6 +2370,7 @@ graphicstype.poly = 塗りつぶされた多角形を描きます。
graphicstype.linepoly = 輪郭だけの多角形を描きます。
graphicstype.triangle = 塗りつぶされた三角形を描きます。
graphicstype.image = 何らかのコンテンツのイメージを描画します。\n例: [accent]@router[] や [accent]@dagger[]など。
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = 常にtrueを返します。
lenum.idiv = 整数の割り算をします。
lenum.div = 割り算をします。\nゼロ除算で [accent]null[] を返します。
@@ -2370,3 +2464,10 @@ lenum.build = 建築をします。
lenum.getblock = 座標から建物とタイプを取得します。\nユニットは範囲内でなければなりません。\n建物以外の物の型は [accent]@solid[] になります。
lenum.within = ユニットが座標の近くにあるかどうかを確認します。
lenum.boost = ブーストの開始、停止をします。
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -341,12 +341,23 @@ open = 열기
customize = 사용자 정의 규칙
cancel = 취소
command = 명령
command.queue = [lightgray][Queuing]
command.mine = 채굴
command.repair = 수리
command.rebuild = 재건
command.assist = 플레이어 지원
command.move = 이동
command.boost = 비행
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = 링크 열기
copylink = 링크 복사
back = 뒤로가기
@@ -426,6 +437,7 @@ editor.waves = 단계
editor.rules = 규칙
editor.generation = 지형 생성
editor.objectives = 목표
editor.locales = Locale Bundles
editor.ingame = 인게임 편집
editor.playtest = 맵 테스트
editor.publish.workshop = 창작마당 게시
@@ -482,6 +494,7 @@ editor.default = [lightgray]<기본값>
details = 설명...
edit = 편집...
variables = 변수
logic.globals = Built-in Variables
editor.name = 이름:
editor.spawn = 기체 생성
editor.removeunit = 기체 삭제
@@ -493,6 +506,7 @@ editor.errorlegacy = 이 맵은 너무 오래됐고, 더 이상 지원하지 않
editor.errornot = 맵 파일이 아닙니다.
editor.errorheader = 이 맵 파일은 유효하지 않거나 손상되었습니다.
editor.errorname = 맵에 이름이 지정되어 있지 않습니다. 저장 파일을 불러오려고 시도하는 건가요?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = 업데이트
editor.randomize = 무작위
editor.moveup = 위로 이동
@@ -504,6 +518,7 @@ editor.sectorgenerate = 구역 형성
editor.resize = 맵 크기조정
editor.loadmap = 맵 불러오기
editor.savemap = 맵 저장
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = 저장됨!
editor.save.noname = 맵에 이름이 없습니다! '맵 정보' 메뉴에서 설정하세요.
editor.save.overwrite = 이 맵은 내장된 맵을 덮어씁니다! '맵 정보' 에서 다른 이름을 선택하세요.
@@ -591,6 +606,23 @@ filter.option.floor2 = 2번째 타일
filter.option.threshold2 = 2번째 경계선
filter.option.radius = 반경
filter.option.percentile = 백분율
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = 너비:
height = 높이:
@@ -641,9 +673,11 @@ objective.destroycore.name = 코어 파괴
objective.commandmode.name = 명령 모드
objective.flag.name = 플래그
marker.shapetext.name = 도형과 문자
marker.minimap.name = 미니맵
marker.point.name = Point
marker.shape.name = 도형
marker.text.name = 문자
marker.line.name = Line
marker.quad.name = Quad
marker.background = 배경
marker.outline = 외곽선
@@ -670,7 +704,6 @@ resources.max = 최대
bannedblocks = 금지된 블록
objectives = 목표
bannedunits = 금지된 기체
rules.hidebannedblocks = 금지된 블록 숨기기
bannedunits.whitelist = 금지된 기체만 활성화
bannedblocks.whitelist = 금지된 블록만 활성화
addall = 모두 추가
@@ -729,8 +762,7 @@ sector.curlost = 지역 잃음
sector.missingresources = [scarlet]코어 자원 부족[]
sector.attacked = [accent]{0}[white] 지역이 공격받고 있습니다![]
sector.lost = [accent]{0}[white] 지역을 잃었습니다![]
#note: the missing space in the line below is intentional
sector.captured = [accent]{0}[white] 지역을 점령했습니다![]
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = 아이콘 바꾸기
sector.noswitch.title = 지역 전환 불가능
sector.noswitch = 기존 지역이 공격받는 동안은 지역을 전환할 수 없습니다.\n\n지역: [accent]{0}[] 중 [accent]{1}[]
@@ -1000,6 +1032,7 @@ bullet.splashdamage = [stat]{0}[lightgray] 범위 피해량 ~ [stat]{1}[lightgra
bullet.incendiary = [stat]방화[]
bullet.homing = [stat]유도[]
bullet.armorpierce = [stat]방어 관통
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] 수리 억제 ~ [stat]{1}[lightgray] 타일
bullet.interval = [stat]{0}/sec[lightgray] 간격 탄환:
bullet.frags = [stat]{0}[lightgray]개 파편 탄환:[][]
@@ -1055,6 +1088,7 @@ setting.backgroundpause.name = 백그라운드에서 일시정지
setting.buildautopause.name = 건설 자동 일시정지
setting.doubletapmine.name = 연속 터치로 채광
setting.commandmodehold.name = 키를 누른 상태로 명령
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = 로딩 중 충돌 시 모드 비활성화
setting.animatedwater.name = 액체 애니메이션 효과
setting.animatedshields.name = 보호막 애니메이션 효과
@@ -1108,7 +1142,7 @@ setting.sfxvol.name = 효과음 크기
setting.mutesound.name = 소리 끄기
setting.crashreport.name = 익명으로 오류 보고서 자동 전송
setting.savecreate.name = 자동 저장 활성화
setting.publichost.name = 공용 서버로 표시
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = 플레이어 제한
setting.chatopacity.name = 채팅창 투명도
setting.lasersopacity.name = 전선 투명도
@@ -1128,6 +1162,7 @@ keybind.title = 조작키 설정
keybinds.mobile = [scarlet]대부분의 조작키 설정은 모바일에서 작동하지 않습니다. 기본 이동만 지원됩니다.
category.general.name = 일반
category.view.name = 보기
category.command.name = Unit Command
category.multiplayer.name = 멀티플레이어
category.blocks.name = 블록 선택
placement.blockselectkeys = \n[lightgray]단축키: [{0},
@@ -1145,6 +1180,23 @@ keybind.mouse_move.name = 커서를 따라서 이동
keybind.pan.name = 팬 보기
keybind.boost.name = 이륙
keybind.command_mode.name = 명령 모드
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = 지역 재건
keybind.schematic_select.name = 영역 설정
keybind.schematic_menu.name = 설계도 메뉴
@@ -1208,9 +1260,12 @@ mode.pvp.description = 다른 플레이어와 현장에서 싸우세요.\n[gray]
mode.attack.name = 공격
mode.attack.description = 적의 기지를 파괴하세요.\n[gray]플레이하려면 맵에 적 코어가 필요합니다.
mode.custom = 사용자 정의 규칙
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = 금지된 블록 숨기기
rules.infiniteresources = 무한 자원
rules.onlydepositcore = 오직 코어에만 투입 가능
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = 원자로 폭발 허용
rules.coreincinerates = 코어 방화 비허용
rules.disableworldprocessors = 월드 프로세서 비활성화
@@ -1730,7 +1785,6 @@ block.disperse.name = 디스퍼스
block.afflict.name = 어플릭트
block.lustre.name = 러스터
block.scathe.name = 스캐드
block.fabricator.name = 조립기
block.tank-refabricator.name = 전차 재조립기
block.mech-refabricator.name = 기계 재조립기
block.ship-refabricator.name = 함선 재조립기
@@ -1848,6 +1902,7 @@ onset.turrets = 기체는 유용하지만, [accent]포탑[]은 사용하기에
onset.turretammo = 포탑에 [accent]베릴륨 탄약[]을 공급하세요.
onset.walls = [accent]벽[]은 건물로 날아오는 공격을 막을 수 있습니다. \n포탑 주변에 \uf6ee [accent]베릴륨 벽[]을 배치하세요.
onset.enemies = 적이 다가옵니다, 방어 태세를 갖추세요.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = 적은 취약한 상태입니다. 반격하세요.
onset.cores = 새로운 코어는 [accent]코어 타일[]위에 배치할 수 있습니다.\n새로운 코어는 전진기지 역할을 하며 다른 코어와 저장된 자원을 공유합니다.\n \uf725 코어를 배치하세요.
onset.detect = 적은 2분 이내에 당신을 탐지할 것입니다.\n생산, 채굴, 방어시설을 구성하세요.
@@ -2048,7 +2103,6 @@ block.logic-display.description = 프로세서를 이용해 임의로 그래픽
block.large-logic-display.description = 프로세서를 이용해 임의로 그래픽을 출력할 수 있습니다.
block.interplanetary-accelerator.description = 거대한 전자기 레일건 타워. 행성 간 이동을 위한 탈출 속도까지 코어를 가속합니다.
block.repair-turret.description = 피해를 입은 가장 가까운 기체를 지속적으로 수리합니다. 선택적으로 냉각수를 넣을 수 있습니다.
block.payload-propulsion-tower.description = 장거리 화물 운송 구조물. 화물을 연결된 다른 화물 드라이버로 발사합니다.
block.core-bastion.description = 기지의 핵심입니다. 튼튼합니다. 한번 파괴되면, 구역을 잃습니다.
block.core-citadel.description = 기지의 핵심입니다. 더 튼튼합니다. 코어: 요새보다 더 많은 양의 자원을 저장합니다.
block.core-acropolis.description = 기지의 핵심입니다. 매우 튼튼합니다. 코어: 성채보다 더 많은 양의 자원을 저장합니다.
@@ -2084,7 +2138,6 @@ block.impact-drill.description = 광석에 배치하면 자원을 한번에 몰
block.eruption-drill.description = 개선된 충격 드릴. 토륨을 채굴할 수 있습니다. 수소가 필요합니다.
block.reinforced-conduit.description = 유체를 앞으로 이동합니다. 측면에서 파이프가 아닌 입력을 허용하지 않습니다.
block.reinforced-liquid-router.description = 유체를 모든 면에 균등하게 분배합니다.
block.reinforced-junction.description = 두 개의 교차 파이프를 위한 다리 역할을 합니다.
block.reinforced-liquid-tank.description = 대량의 유체를 저장합니다.
block.reinforced-liquid-container.description = 상당량의 유체를 저장합니다.
block.reinforced-bridge-conduit.description = 구조물 및 지형 위로 유체를 운반합니다.
@@ -2203,6 +2256,7 @@ unit.emanate.description = 코어: 도심을 지켜내기 위해 구조물을
lst.read = 연결된 메모리 셀에서 숫자 읽음
lst.write = 연결된 메모리 셀에 숫자 작성
lst.print = 프린트 버퍼에 텍스트 추가\n[accent]Print Flush[]가 사용되기 전까진 아무것도 보여주지 않습니다
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = 드로잉 버퍼에 실행문 추가\n[accent]Draw Flush[]가 사용되기 전까진 아무것도 보여주지 않습니다
lst.drawflush = 대기중인 [accent]Draw[]실행문을 디스플레이에 출력
lst.printflush = 대기중인 [accent]Print[]실행문을 메시지 블록에 출력
@@ -2238,6 +2292,45 @@ lst.getflag = 전역 플래그가 설정되어 있는지 확인
lst.setprop = 기체 혹은 건물의 속성을 설정합니다.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]기체의 건설 로직은 여기서 허용되지 않습니다.
@@ -2280,6 +2373,7 @@ graphicstype.poly = 정다각형 채우기
graphicstype.linepoly = 정다각형 외곽선 그리기
graphicstype.triangle = 삼각형 채우기
graphicstype.image = 일부 콘텐츠의 이미지 그리기\n예: [accent]@router[] 또는 [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = 항상 참
lenum.idiv = 정수 나누기
@@ -2388,3 +2482,10 @@ lenum.build = 구조물 건설
lenum.getblock = 특정 좌표의 빌딩과 블록을 반환합니다.\n위치는 기체의 인지 범위 내여야 합니다.\n자연 지형은 [accent]@solid[]의 유형을 가집니다.
lenum.within = 좌표 주변 기체 발견 여부
lenum.boost = 이륙 시작/중단
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -337,12 +337,23 @@ open = Atidaryti
customize = Keisti Taisykles
cancel = Atšaukti
command = Command
command.queue = [lightgray][Queuing]
command.mine = Mine
command.repair = Repair
command.rebuild = Rebuild
command.assist = Assist Player
command.move = Move
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Atidaryti Nuorodą
copylink = Kopijuoti Nuorodą
back = Sugrįžti
@@ -423,6 +434,7 @@ editor.waves = Bangos:
editor.rules = Taisyklės:
editor.generation = Generacija:
editor.objectives = Objectives
editor.locales = Locale Bundles
editor.ingame = Redaguoti žaidime
editor.playtest = Playtest
editor.publish.workshop = Publikuoti Dirbtuvėje
@@ -478,6 +490,7 @@ editor.default = [lightgray]<Numatytasis>
details = Detaliau...
edit = Redaguoti...
variables = Vars
logic.globals = Built-in Variables
editor.name = Pavadinimas:
editor.spawn = Atradinti vienetą
editor.removeunit = Panaikinti vienetą
@@ -489,6 +502,7 @@ editor.errorlegacy = Šis žemėlapis yra per senas ir naudoja seną žemėlapi
editor.errornot = Tai nėra žemėlapio formatas.
editor.errorheader = Šis žemėlapis yra netaisyklingas arba sugadintas.
editor.errorname = Šis žemėlapis neturi nustatyto pavadinimo. Ar bandote užkrauti išsaugotą failą?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Atnaujinti
editor.randomize = Sumaišyti atsitiktinai
editor.moveup = Move Up
@@ -500,6 +514,7 @@ editor.sectorgenerate = Sector Generate
editor.resize = Pakeisti dydį
editor.loadmap = Užkrauti žemėlapį
editor.savemap = Išsaugoti žemėlapį
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Išsaugota!
editor.save.noname = Jūsų žemėlapis neturi pavadinimo! Nustatykite meniu 'žemėlapio informacija'.
editor.save.overwrite = Jūsų žemėlapis perrašo integruotą žemėlapį! Pasirinkite skirtingą pavadinimą 'žemėlapio informacija' meniu.
@@ -584,6 +599,23 @@ filter.option.floor2 = Antrasis sluoksnis
filter.option.threshold2 = Antrasis slenkstis
filter.option.radius = Spindulys
filter.option.percentile = Procentilė
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Plotis:
height = Aukštis:
@@ -634,9 +666,11 @@ objective.destroycore.name = Destroy Core
objective.commandmode.name = Command Mode
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Minimap
marker.point.name = Point
marker.shape.name = Shape
marker.text.name = Text
marker.line.name = Line
marker.quad.name = Quad
marker.background = Background
marker.outline = Outline
objective.research = [accent]Research:\n[]{0}[lightgray]{1}
@@ -661,7 +695,6 @@ resources.max = Max
bannedblocks = Uždrausti blokai
objectives = Objectives
bannedunits = Banned Units
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Pridėti visus
@@ -720,7 +753,7 @@ sector.curlost = Sector Lost
sector.missingresources = [scarlet]Insufficient Core Resources
sector.attacked = Sector [accent]{0}[white] under attack!
sector.lost = Sector [accent]{0}[white] lost!
sector.captured = Sector [accent]{0}[white]captured!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Change Icon
sector.noswitch.title = Unable to Switch Sectors
sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[]
@@ -989,6 +1022,7 @@ bullet.splashdamage = [stat]{0}[lightgray] zonos žalos ~[stat] {1}[lightgray] b
bullet.incendiary = [stat]uždegantis
bullet.homing = [stat]sekimas
bullet.armorpierce = [stat]armor piercing
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
@@ -1044,6 +1078,7 @@ setting.backgroundpause.name = Pause In Background
setting.buildautopause.name = Automatinis Statybų Sustabdymas
setting.doubletapmine.name = Double-Tap to Mine
setting.commandmodehold.name = Hold For Command Mode
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Disable Mods On Startup Crash
setting.animatedwater.name = Vandens Animacija
setting.animatedshields.name = Skydų Animacija
@@ -1097,7 +1132,7 @@ setting.sfxvol.name = SFX Garsumas
setting.mutesound.name = Nutildyti Garsus
setting.crashreport.name = Siųsti Anoniminius Strigties Pranešimus
setting.savecreate.name = Automatiškai Kurti Išsaugojimus
setting.publichost.name = Viešojo Žaidimo Matomumas
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Žaidėjų Limitas
setting.chatopacity.name = Pokalbių Lentos Nepermatomumas
setting.lasersopacity.name = Elektros Tinklo Nepermatomumas
@@ -1117,6 +1152,7 @@ keybind.title = Pakeisti Valdymo Mygtukus
keybinds.mobile = [scarlet]Dauguma valdymo mygtukų neveikia telefone. Tik paparastas judėjimas yra palaikomas.
category.general.name = Bendra
category.view.name = Vaizdas
category.command.name = Unit Command
category.multiplayer.name = Žaidimas Tinkle
category.blocks.name = Block Select
placement.blockselectkeys = \n[lightgray]Key: [{0},
@@ -1134,6 +1170,23 @@ keybind.mouse_move.name = Sekti Pelę
keybind.pan.name = Pan View
keybind.boost.name = Boost
keybind.command_mode.name = Command Mode
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Pasirinkite Regioną
keybind.schematic_menu.name = Schemų Meniu
@@ -1197,9 +1250,12 @@ mode.pvp.description = Kovokite su kitais žmonėmsi vietiniame tinkle.\n[gray]N
mode.attack.name = Puolimas
mode.attack.description = Sunaikinkite priešų branduolį. \n[gray]Norint žaisti žemėlapyje yra reikalingas branduolys su raudona spalva.
mode.custom = Pasirinktinės Taisyklės
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Neriboti Resursai
rules.onlydepositcore = Only Allow Core Depositing
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reaktorių Sprogimai
rules.coreincinerates = Core Incinerates Overflow
rules.disableworldprocessors = Disable World Processors
@@ -1717,7 +1773,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricator
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1835,6 +1890,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2034,7 +2090,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2070,7 +2125,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2187,6 +2241,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Read a number from a linked memory cell.
lst.write = Write a number to a linked memory cell.
lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used.
lst.drawflush = Flush queued [accent]Draw[] operations to a display.
lst.printflush = Flush queued [accent]Print[] operations to a message block.
@@ -2222,6 +2277,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position.
@@ -2260,6 +2354,7 @@ graphicstype.poly = Fill a regular polygon.
graphicstype.linepoly = Draw a regular polygon outline.
graphicstype.triangle = Fill a triangle.
graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Always true.
lenum.idiv = Integer division.
lenum.div = Division.\nReturns [accent]null[] on divide-by-zero.
@@ -2353,3 +2448,10 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -345,12 +345,23 @@ open = Open
customize = Aanpassen
cancel = Annuleer
command = Commando
command.queue = [lightgray][Queuing]
command.mine = Mijn
command.repair = Repareer
command.rebuild = Herbouw
command.assist = Assist Speler
command.move = Beweeg
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Open Link
copylink = Kopieer Link
back = Terug
@@ -431,6 +442,7 @@ editor.waves = Rondes:
editor.rules = Regels:
editor.generation = Generatie:
editor.objectives = Doelen
editor.locales = Locale Bundles
editor.ingame = Bewerk In-Spel
editor.playtest = Speeltest
editor.publish.workshop = Publiceer in Werkplaats
@@ -486,6 +498,7 @@ editor.default = [lightgray]<Standaard>
details = Details...
edit = Bewerk...
variables = Vars
logic.globals = Built-in Variables
editor.name = Naam:
editor.spawn = Voeg Eenheid toe
editor.removeunit = Verwijder Eenheid
@@ -497,6 +510,7 @@ editor.errorlegacy = Deze kaart is te oud, bestandsformaat word niet meer onders
editor.errornot = Dat is geen kaartbestand.
editor.errorheader = Dit kaartbestand is ongeldig of corrupt.
editor.errorname = Kaart heeft geen naam.
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Bijwerken
editor.randomize = Willekeurig
editor.moveup = Beweeg Omhoog
@@ -508,6 +522,7 @@ editor.sectorgenerate = Sector Genereren
editor.resize = Verander formaat
editor.loadmap = Laad Kaart
editor.savemap = Bewaar Kaart
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Bewaard!
editor.save.noname = Je kaart heeft geen naam! Stel er <20><>n in het menu 'kaartinfo'.
editor.save.overwrite = De naam van deze kaart is al in gebruik door een van het spel zelf, kies een andere.
@@ -594,6 +609,23 @@ filter.option.floor2 = Secundaire Vloer
filter.option.threshold2 = Secundaire Drempel
filter.option.radius = Straal
filter.option.percentile = percentiel
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Breedte:
height = Hoogte:
@@ -645,9 +677,11 @@ objective.destroycore.name = Vernietig Core
objective.commandmode.name = Commando Modus
objective.flag.name = Vlag
marker.shapetext.name = Vorm Tekst
marker.minimap.name = Minimap
marker.point.name = Point
marker.shape.name = Vorm
marker.text.name = Tekst
marker.line.name = Line
marker.quad.name = Quad
marker.background = Achtergrond
marker.outline = Omtrek
objective.research = [accent]Onderzoek:\n[]{0}[lightgray]{1}
@@ -672,7 +706,6 @@ resources.max = Max
bannedblocks = Verboden Blokken
objectives = Doelen
bannedunits = Verboden eenheden
rules.hidebannedblocks = Verberg verboden blokken
bannedunits.whitelist = Verboden eenheden als whitelist
bannedblocks.whitelist = Verboden blokken als whitelist
addall = Voeg Alles Toe
@@ -731,7 +764,7 @@ sector.curlost = Sector Verloren
sector.missingresources = [scarlet]Onvoeldoende Materialen in Core
sector.attacked = Sector [accent]{0}[white] onder vuur!
sector.lost = Sector [accent]{0}[white] verloren!
sector.captured = Sector [accent]{0}[white]veroverd!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Verander icoon
sector.noswitch.title = Kan niet van sector wisselen
sector.noswitch = Je mag niet van sector wisselen terwijl een bestaande sector wordt aangevallen.\n\nSector: [accent]{0}[] op [accent]{1}[]
@@ -1001,6 +1034,7 @@ bullet.splashdamage = [stat]{0}[lightgray] gebied scade ~[stat] {1}[lightgray] t
bullet.incendiary = [stat]brandstichtend
bullet.homing = [stat]doelzoekend
bullet.armorpierce = [stat]pantserdoorborend
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x fragment kogels:
@@ -1056,6 +1090,7 @@ setting.backgroundpause.name = Pauzeer in achtergrond
setting.buildautopause.name = Pauzeer Bouw Automatisch
setting.doubletapmine.name = Dubbelklik om te delven
setting.commandmodehold.name = Vasthouden voor commandomodus
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Mods uitschakelen bij crash opstarten
setting.animatedwater.name = Animeer Water
setting.animatedshields.name = Animeer Schilden
@@ -1109,7 +1144,7 @@ setting.sfxvol.name = SFX Volume
setting.mutesound.name = Demp Geluid
setting.crashreport.name = Stuur Anonieme Crashmeldingen
setting.savecreate.name = Bewaar Saves Automatisch
setting.publichost.name = Publieke Server Zichtbaarheid
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Spelerslijst
setting.chatopacity.name = Chat Transparantie
setting.lasersopacity.name = Stroomdraad Transparantie
@@ -1129,6 +1164,7 @@ keybind.title = Herbind Toetsen
keybinds.mobile = [scarlet]De meeste toetscombinaties werken niet voor mobiele apparaten. Enkel standaard bewegingen zijn ondersteund.
category.general.name = Algemeen
category.view.name = Toon
category.command.name = Unit Command
category.multiplayer.name = Multiplayer
category.blocks.name = Selecteer Blok
placement.blockselectkeys = \n[lightgray]Toets: [{0},
@@ -1146,6 +1182,23 @@ keybind.mouse_move.name = Volg Muis
keybind.pan.name = Schuif Weergave
keybind.boost.name = Boost
keybind.command_mode.name = Commandomodus
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Herbouw Regio
keybind.schematic_select.name = Selecteer gebied
keybind.schematic_menu.name = Ontwerpmenu
@@ -1209,9 +1262,12 @@ mode.pvp.description = Vecht tegen andere spelers.\n[gray]Vereist minstens 2 ver
mode.attack.name = Aanvallen
mode.attack.description = Geen rondes, maar met als doel de vijandlijke core(s) te vernietigen.
mode.custom = Aangepaste Regels
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Verberg verboden blokken
rules.infiniteresources = Oneindige Resources
rules.onlydepositcore = Alleen spullen in de core doen toestaan.
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Ontploffende Reactors
rules.coreincinerates = Core verbrandt overvloed aan materialen.
rules.disableworldprocessors = Zet Wereld-Processors Uit.
@@ -1730,7 +1786,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricator
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1848,6 +1903,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2047,7 +2103,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2083,7 +2138,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2200,6 +2254,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Read a number from a linked memory cell.
lst.write = Write a number to a linked memory cell.
lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used.
lst.drawflush = Flush queued [accent]Draw[] operations to a display.
lst.printflush = Flush queued [accent]Print[] operations to a message block.
@@ -2235,6 +2290,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position.
@@ -2273,6 +2367,7 @@ graphicstype.poly = Fill a regular polygon.
graphicstype.linepoly = Draw a regular polygon outline.
graphicstype.triangle = Fill a triangle.
graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Always true.
lenum.idiv = Integer division.
lenum.div = Division.\nReturns [accent]null[] on divide-by-zero.
@@ -2366,3 +2461,10 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -337,12 +337,23 @@ open = Open
customize = Pas aan
cancel = Annuleer
command = Command
command.queue = [lightgray][Queuing]
command.mine = Mine
command.repair = Repair
command.rebuild = Rebuild
command.assist = Assist Player
command.move = Move
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Open Link
copylink = Kopiëer Link
back = Terug
@@ -423,6 +434,7 @@ editor.waves = Waves:
editor.rules = Rules:
editor.generation = Generation:
editor.objectives = Objectives
editor.locales = Locale Bundles
editor.ingame = Edit In-Game
editor.playtest = Playtest
editor.publish.workshop = Publish On Workshop
@@ -478,6 +490,7 @@ editor.default = [lightgray]<Default>
details = Details...
edit = Edit...
variables = Vars
logic.globals = Built-in Variables
editor.name = Name:
editor.spawn = Spawn Unit
editor.removeunit = Remove Unit
@@ -489,6 +502,7 @@ editor.errorlegacy = This map is too old, and uses a legacy map format that is n
editor.errornot = This is not a map file.
editor.errorheader = This map file is either not valid or corrupt.
editor.errorname = Map has no name defined.
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Update
editor.randomize = Randomize
editor.moveup = Move Up
@@ -500,6 +514,7 @@ editor.sectorgenerate = Sector Generate
editor.resize = Resize
editor.loadmap = Load Map
editor.savemap = Save Map
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Saved!
editor.save.noname = Your map does not have a name! Set one in the 'map info' menu.
editor.save.overwrite = Your map overwrites a built-in map! Pick a different name in the 'map info' menu.
@@ -584,6 +599,23 @@ filter.option.floor2 = Secondary Floor
filter.option.threshold2 = Secondary Threshold
filter.option.radius = Radius
filter.option.percentile = Percentile
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Width:
height = Height:
@@ -634,9 +666,11 @@ objective.destroycore.name = Destroy Core
objective.commandmode.name = Command Mode
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Minimap
marker.point.name = Point
marker.shape.name = Shape
marker.text.name = Text
marker.line.name = Line
marker.quad.name = Quad
marker.background = Background
marker.outline = Outline
objective.research = [accent]Research:\n[]{0}[lightgray]{1}
@@ -661,7 +695,6 @@ resources.max = Max
bannedblocks = Banned Blocks
objectives = Objectives
bannedunits = Banned Units
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Add All
@@ -720,7 +753,7 @@ sector.curlost = Sector Lost
sector.missingresources = [scarlet]Insufficient Core Resources
sector.attacked = Sector [accent]{0}[white] under attack!
sector.lost = Sector [accent]{0}[white] lost!
sector.captured = Sector [accent]{0}[white]captured!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Change Icon
sector.noswitch.title = Unable to Switch Sectors
sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[]
@@ -989,6 +1022,7 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
bullet.incendiary = [stat]incendiary
bullet.homing = [stat]homing
bullet.armorpierce = [stat]armor piercing
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
@@ -1044,6 +1078,7 @@ setting.backgroundpause.name = Pause In Background
setting.buildautopause.name = Auto-Pause Building
setting.doubletapmine.name = Double-Tap to Mine
setting.commandmodehold.name = Hold For Command Mode
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Disable Mods On Startup Crash
setting.animatedwater.name = Animated Water
setting.animatedshields.name = Animated Shields
@@ -1097,7 +1132,7 @@ setting.sfxvol.name = SFX Volume
setting.mutesound.name = Mute Sound
setting.crashreport.name = Send Anonymous Crash Reports
setting.savecreate.name = Auto-Create Saves
setting.publichost.name = Public Game Visibility
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Player Limit
setting.chatopacity.name = Chat Opacity
setting.lasersopacity.name = Power Laser Opacity
@@ -1117,6 +1152,7 @@ keybind.title = Rebind Keys
keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported.
category.general.name = General
category.view.name = View
category.command.name = Unit Command
category.multiplayer.name = Multiplayer
category.blocks.name = Block Select
placement.blockselectkeys = \n[lightgray]Key: [{0},
@@ -1134,6 +1170,23 @@ keybind.mouse_move.name = Follow Mouse
keybind.pan.name = Pan View
keybind.boost.name = Boost
keybind.command_mode.name = Command Mode
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Select Region
keybind.schematic_menu.name = Schematic Menu
@@ -1197,9 +1250,12 @@ mode.pvp.description = Fight against other players locally.
mode.attack.name = Attack
mode.attack.description = No waves, with the goal to destroy the enemy base.
mode.custom = Custom Rules
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Infinite Resources
rules.onlydepositcore = Only Allow Core Depositing
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reactor Explosions
rules.coreincinerates = Core Incinerates Overflow
rules.disableworldprocessors = Disable World Processors
@@ -1717,7 +1773,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricator
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1835,6 +1890,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2034,7 +2090,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2070,7 +2125,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2187,6 +2241,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Read a number from a linked memory cell.
lst.write = Write a number to a linked memory cell.
lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used.
lst.drawflush = Flush queued [accent]Draw[] operations to a display.
lst.printflush = Flush queued [accent]Print[] operations to a message block.
@@ -2222,6 +2277,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position.
@@ -2260,6 +2354,7 @@ graphicstype.poly = Fill a regular polygon.
graphicstype.linepoly = Draw a regular polygon outline.
graphicstype.triangle = Fill a triangle.
graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Always true.
lenum.idiv = Integer division.
lenum.div = Division.\nReturns [accent]null[] on divide-by-zero.
@@ -2353,3 +2448,10 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -14,7 +14,7 @@ link.f-droid.description = Pozycja w F-Droid
link.wiki.description = Oficjalna Wiki Mindustry
link.suggestions.description = Zaproponuj nowe funkcje
link.bug.description = Znalazłeś błąd? Zgłoś go tutaj
linkopen = This server has sent you a link. Are you sure you want to open it?\n\n[sky]{0}
linkopen = Serwer wysłał ci link. Czy jesteś pewnien, że chcesz go otworzyć?\n\n[sky]{0}
linkfail = Nie udało się otworzyć linku!\nURL został skopiowany.
screenshot = Zapisano zrzut ekranu w {0}
screenshot.invalid = Zrzut ekranu jest zbyt duży. Najprawdopodobniej brakuje miejsca w pamięci urządzenia.
@@ -57,7 +57,7 @@ mods.browser.sortstars = Sortuj wg gwiazdek
schematic = Schemat
schematic.add = Zapisz schemat...
schematics = Schematy
schematic.search = Search schematics...
schematic.search = Wyszukaj schematy...
schematic.replace = Schemat o tej nazwie już istnieje. Czy chcesz go zastąpić?
schematic.exists = Schemat o tej nazwie już istnieje.
schematic.import = Importuj Schemat...
@@ -70,7 +70,7 @@ schematic.shareworkshop = Podziel się na Warsztacie
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Odwróć schemat
schematic.saved = Schemat zapisany.
schematic.delete.confirm = Ten schemat zostanie usunięty.
schematic.edit = Edit Schematic
schematic.edit = Edytuj Schemat
schematic.info = {0}x{1}, {2} bloków
schematic.disabled = [scarlet]Schematy są wyłączone[]\nNie możesz używać schematów na tej [accent]mapie[] lub [accent]serwerze.
schematic.tags = Tagi:
@@ -79,7 +79,7 @@ schematic.addtag = Dodaj Znacznik
schematic.texttag = Tekst Znacznika
schematic.icontag = Ikona Znacznika
schematic.renametag = Zmień Nazwę Znacznika
schematic.tagged = {0} tagged
schematic.tagged = {0} Otagowany
schematic.tagdelconfirm = Czy kompletnie usunąć znacznik?
schematic.tagexists = Taki znacznik już istnieje.
@@ -107,7 +107,7 @@ joingame = Dołącz Do Gry
customgame = Własna Gra
newgame = Nowa Gra
none = <brak>
none.found = [lightgray]<żaden znaleziony>
none.found = [lightgray]<nie znaleziono>
none.inmap = [lightgray]<brak na mapie>
minimap = Minimapa
position = Pozycja
@@ -151,16 +151,16 @@ mod.incompatiblemod = [red]Niekompatybilne
mod.blacklisted = [red]Niewspierane
mod.unmetdependencies = [red]Niespełnione Zależnośći
mod.erroredcontent = [scarlet]Błędy Zawartości
mod.circulardependencies = [red]Circular Dependencies
mod.incompletedependencies = [red]Incomplete Dependencies
mod.circulardependencies = [red]Zagnieżdżone zależności
mod.incompletedependencies = [red]Brakujące zależności
mod.requiresversion.details = Wymaga wersji gry: [accent]{0}[]\nTwoja gra jest przestarzała. Ten mod potrzebuje nowszej wersji gry (możliwe, że wersji w fazie alfa/beta) aby mógł funkcjonować.
mod.outdatedv7.details = Ten mod jest niekompatybilny z najnowszą wersją gry. Autor musi go zaktualizować, i dodać [accent]minGameVersion: 136[] w pliku [accent]mod.json[].
mod.blacklisted.details = Ten mod został ręczenie przeniesiony na czarną listę, ponieważ powodował wyłączenia gry i inne problemy na tej wersji. Nie używaj go.
mod.missingdependencies.details = W tym modzie brakuje zależnośći: {0}
mod.erroredcontent.details = Ten mod spowodował błędy przy uruchomianu. Poproś autora moda o ich naprawienie.
mod.circulardependencies.details = This mod has dependencies that depends on each other.
mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}.
mod.requiresversion = Requires game version: [red]{0}
mod.circulardependencies.details = Ten mod posiada zależności, które są zależne od innych zależności.
mod.incompletedependencies.details = Moda nie da się załadować z powodu niepoprawnych lub brakujących zależności: {0}.
mod.requiresversion = Wymagana wersja gry: [red]{0}
mod.errors = Wystąpił błąd podczas ładowania treści.
mod.noerrorplay = [scarlet]Twoje mody zawierają błędy.[] Wyłącz je lub napraw błędy przed rozpoczęciem gry.
mod.nowdisabled = [scarlet]Brakuje zależności dla moda '{0}':[accent] {1}\n[lightgray]Najpierw trzeba ściągnąć te mody.\nMod zostanie automatycznie wyłączony.
@@ -191,7 +191,7 @@ available = Nowe Odkrycie dostępne
unlock.incampaign = < Odblokuj w kampanii dla szczegółów >
campaign.select = Wybierz początkową kampanię
campaign.none = [lightgray]Wybierz planetę, na której chcesz zacząć.\nMożesz zmienić planetę w każdej chwili.
campaign.erekir = Nowsza, bardziej dopracowana zawartość. Kampania postępuje bardziej liniowo.\n\nWyższej jakości mapy jak doświadczenia z gry.
campaign.erekir = Nowsza, bardziej dopracowana zawartość. Kampania postępuje bardziej liniowo.\n\nWyższej jakości mapy oraz rozgrywka.
campaign.serpulo = Starsza zawartość; klasyczne doświadczenia. Bardziej otwarta.\n\nPotencjalnie niezbalansowane mapy i mechaniki. Słabiej dopracowana.
completed = [accent]Ukończony
techtree = Drzewo Techno-\nlogiczne
@@ -255,19 +255,19 @@ trace = Zlokalizuj Gracza
trace.playername = Nazwa gracza: [accent]{0}
trace.ip = IP: [accent]{0}
trace.id = Wyjątkowe ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.language = Język: [accent]{0}
trace.mobile = Klient Mobilny: [accent]{0}
trace.modclient = Zmodowany klient: [accent]{0}
trace.times.joined = Dołączył: [accent]{0}[] razy
trace.times.kicked = Wyrzucony: [accent]{0}[] razy
trace.ips = IPs:
trace.names = Names:
trace.ips = Adresy IP:
trace.names = Nazwy:
invalidid = Złe ID klienta! Wyślij raport błędu.
player.ban = Ban
player.kick = Kick
player.trace = Trace
player.admin = Toggle Admin
player.team = Change Team
player.ban = Zbanuj
player.kick = Wyrzuć
player.trace = Namierz
player.admin = Przyznaj uprawnienia administracyjne
player.team = Zmień Drużynę
server.bans = Bany
server.bans.none = Nie znaleziono zbanowanych osób!
server.admins = Administratorzy
@@ -284,10 +284,10 @@ confirmkick = Jesteś pewny, że chcesz wyrzucić "{0}[white]"?
confirmunban = Jesteś pewny, że chcesz odbanować tego gracza?
confirmadmin = Jesteś pewny, że chcesz dać rangę administratora "{0}[white]"?
confirmunadmin = Jesteś pewny, że chcesz zabrać rangę administratora "{0}[white]"?
votekick.reason = Vote-Kick Reason
votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason:
votekick.reason = Powód głosowania
votekick.reason.message = Czy jesteś pewien, że chcesz głosować za wyrzuceniem "{0}[white]"?\nJeśli tak, proszę podaj powód:
joingame.title = Dołącz do gry
joingame.ip = IP:
joingame.ip = Adres IP:
disconnect = Rozłączono.
disconnect.error = Błąd połączenia.
disconnect.closed = Połączenie zostało zamknięte.
@@ -303,7 +303,7 @@ server.invalidport = Nieprawidłowy numer portu.
server.error = [crimson]Błąd hostowania serwera: [accent]{0}
save.new = Nowy zapis
save.overwrite = Czy na pewno chcesz nadpisać zapis gry?
save.nocampaign = Individual save files from the campaign cannot be imported.
save.nocampaign = Pojedyńcze zapisy z kampani nie mogą zostać zaimportowane.
overwrite = Nadpisz
save.none = Nie znaleziono zapisów gry!
savefail = Nie udało się zapisać gry!
@@ -340,13 +340,24 @@ ok = OK
open = Otwórz
customize = Dostosuj zasady
cancel = Anuluj
command = Komenda
command = Rozkazy
command.queue = [lightgray][Queuing]
command.mine = Kop
command.repair = Naprawiaj
command.rebuild = Odbudowywuj
command.assist = Asystuj Graczowi
command.move = Przemieść
command.boost = Boost
command.boost = Przyspiesz
command.enterPayload = Enter Payload Block
command.loadUnits = Załaduj Jednostki
command.loadBlocks = Załaduj Bloki
command.unloadPayload = Rozładuj Ładunek
stance.stop = Analuj Rozkazy
stance.shoot = Strzelaj
stance.holdfire = Wstrzymaj Ogień
stance.pursuetarget = Goń Cel
stance.patrol = Patroluj Obszar
stance.ram = Taranuj\n[lightgray]Ruch w prostej linii bez znajdowania drogi
openlink = Otwórz Link
copylink = Kopiuj Link
back = Wróć
@@ -372,7 +383,7 @@ pausebuilding = [accent][[{0}][] by wstrzymać budowę
resumebuilding = [scarlet][[{0}][] by kontynuować budowę
enablebuilding = [scarlet][[{0}][] wznów budowę
showui = Interfejs ukryty.\nNaciśnij [accent][[{0}][] by go pokazać.
commandmode.name = [accent]Command Mode
commandmode.name = [accent]Tryb poleceń
commandmode.nounits = [no units]
wave = [accent]Fala {0}
wave.cap = [accent]Fala {0}/{1}
@@ -384,8 +395,8 @@ wave.enemies = Pozostało [lightgray]{0} wrogów
wave.enemycores = [accent]{0}[lightgray] Rdzeni Wroga
wave.enemycore = [accent]{0}[lightgray] Rdzeń Wroga
wave.enemy = Pozostał [lightgray]{0} wróg
wave.guardianwarn = Strażnik nadejdzie za [accent]{0}[] fale.
wave.guardianwarn.one = Strażnik nadejdzie za [accent]{0}[] fale.
wave.guardianwarn = Strażnik nadejdzie za [accent]{0}[] fal.
wave.guardianwarn.one = Strażnik nadejdzie za [accent]{0}[] falę.
loadimage = Załaduj Obraz
saveimage = Zapisz Obraz
unknown = Nieznane
@@ -400,7 +411,7 @@ map.invalid = Błąd podczas ładowania mapy: uszkodzony lub niepoprawny plik ma
workshop.update = Aktualizuj pozycję
workshop.error = Błąd podczas wczytywania szczegółów z Warsztatu: {0}
map.publish.confirm = Czy jesteś pewien, że chcesz opublikować tę mapę?\n\n[lightgray]Najpierw upewnij się, że zgadzasz się z umową EULA Warsztatu, w przeciwnym razie twoje mapy nie będą widoczne!
workshop.menu = Wybierz co chcesz zrobić z tą pozycją.
workshop.menu = Wybierz, co chcesz zrobić z tą pozycją.
workshop.info = Informacja o pozycji
changelog = Historia aktualizacji (opcjonalna):
updatedesc = Zastąp Tytuł i Opis
@@ -413,7 +424,7 @@ steam.error = Nie udało się zainicjować serwisów Steam.\nBłąd: {0}
editor.planet = Planeta:
editor.sector = Sektor:
editor.seed = Ziarno:
editor.cliffs = Ściany w Klify
editor.cliffs = Ściany Na Klify
editor.brush = Pędzel
editor.openin = Otwórz w Edytorze
@@ -422,11 +433,12 @@ editor.oregen.info = Generacja Złóż:
editor.mapinfo = Informacje o Mapie
editor.author = Autor:
editor.description = Opis:
editor.nodescription = Mapa musi posiadać opis o długości co najmniej 4 znaków zanim zostanie opublikowana.
editor.nodescription = Mapa musi posiadać opis o długości co najmniej 4 znaków, zanim zostanie opublikowana.
editor.waves = Fale:
editor.rules = Zasady:
editor.generation = Generacja:
editor.objectives = Cele
editor.locales = Locale Bundles
editor.ingame = Edytuj w Grze
editor.playtest = Testuj Mapę
editor.publish.workshop = Opublikuj w Warsztacie
@@ -458,7 +470,7 @@ waves.max = maks. jednostek
waves.guardian = Strażnik
waves.preview = Podgląd
waves.edit = Edytuj...
waves.random = Random
waves.random = Losowe
waves.copy = Kopiuj Do Schowka
waves.load = Załaduj Ze Schowka
waves.invalid = Nieprawidłowe fale w schowku.
@@ -469,8 +481,8 @@ waves.sort.reverse = Odwrotne Sortowanie
waves.sort.begin = Rozpocznij
waves.sort.health = Zdrowie
waves.sort.type = Typ
waves.search = Search waves...
waves.filter = Unit Filter
waves.search = Wyszukaj Fale...
waves.filter = Filtr jednostek
waves.units.hide = Schowaj Wszystkie
waves.units.show = Pokaż Wszystkie
@@ -483,6 +495,7 @@ editor.default = [lightgray]<Domyślne>
details = Detale...
edit = Edytuj...
variables = Zmienne
logic.globals = Built-in Variables
editor.name = Nazwa:
editor.spawn = Stwórz Jednostkę
editor.removeunit = Usuń Jednostkę
@@ -494,6 +507,7 @@ editor.errorlegacy = Ta mapa jest zbyt stara i używa starszego formatu mapy, kt
editor.errornot = To nie jest plik mapy.
editor.errorheader = Ten plik mapy jest nieprawidłowy lub uszkodzony.
editor.errorname = Mapa nie zawiera nazwy. Czy próbujesz załadować zapis gry?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Aktualizuj
editor.randomize = Losuj
editor.moveup = Przesuń w górę
@@ -505,6 +519,7 @@ editor.sectorgenerate = Generuj Sektor
editor.resize = Zmień Rozmiar
editor.loadmap = Załaduj Mapę
editor.savemap = Zapisz Mapę
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Zapisano!
editor.save.noname = Twoja mapa nie ma nazwy! Ustaw ją w 'Informacjach o mapie'.
editor.save.overwrite = Ta mapa nadpisze wbudowaną mapę! Ustaw inną nazwę w 'Informacjach o mapie'.
@@ -543,8 +558,8 @@ toolmode.eraseores = Wymaż Rudy
toolmode.eraseores.description = Usuwa tylko rudy.
toolmode.fillteams = Wypełnij Drużyny
toolmode.fillteams.description = Wypełnia drużyny zamiast bloków.
toolmode.fillerase = Fill Erase
toolmode.fillerase.description = Erase blocks of the same type.
toolmode.fillerase = Usuń Typ
toolmode.fillerase.description = Usuwa bloki tego samego typu.
toolmode.drawteams = Rysuj Drużyny
toolmode.drawteams.description = Rysuje drużyny zamiast bloków.
toolmode.underliquid = Pod Cieczami
@@ -589,6 +604,23 @@ filter.option.floor2 = Druga Podłoga
filter.option.threshold2 = Drugi Próg
filter.option.radius = Zasięg
filter.option.percentile = Procent
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Szerokość:
height = Wysokość:
@@ -628,7 +660,7 @@ configure = Skonfiguruj Ładunek
objective.research.name = Zbadaj
objective.produce.name = Zdobądź
objective.item.name = Zdobądź Przedmiot
objective.coreitem.name = Item ze Rdzenia
objective.coreitem.name = Przedmiot z Rdzenia
objective.buildcount.name = Liczba Budynków
objective.unitcount.name = Liczba Jednostek
objective.destroyunits.name = Zniszcz Jednostki
@@ -639,9 +671,11 @@ objective.destroycore.name = Zniszcz Rdzeń
objective.commandmode.name = Tryb Poleceń
objective.flag.name = Oznaczenie
marker.shapetext.name = Dostosuj Tekst
marker.minimap.name = Minimapa
marker.point.name = Point
marker.shape.name = Figura
marker.text.name = Tekst
marker.line.name = Line
marker.quad.name = Quad
marker.background = Tło
marker.outline = Kontur
objective.research = [accent]Zbadaj:\n[]{0}[lightgray]{1}
@@ -649,7 +683,7 @@ objective.produce = [accent]Zdobądź:\n[]{0}[lightgray]{1}
objective.destroyblock = [accent]Zniszcz:\n[]{0}[lightgray]{1}
objective.destroyblocks = [accent]Zniszcz: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3}
objective.item = [accent]Zdobądź: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3}
objective.coreitem = [accent]Przenieś się do Rdzenia:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3}
objective.coreitem = [accent]Przenieś do Rdzenia:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3}
objective.build = [accent]Buduj: [][lightgray]{0}[]x\n{1}[lightgray]{2}
objective.buildunit = [accent]Zbudowane Jednostki: [][lightgray]{0}[]x\n{1}[lightgray]{2}
objective.destroyunits = [accent]Zniszczono: [][lightgray]{0}[]x Jednostek
@@ -667,7 +701,6 @@ resources.max = Maks.
bannedblocks = Zabronione bloki
objectives = Cele
bannedunits = Zabronione jednostki
rules.hidebannedblocks = Ukryj zabronione bloki
bannedunits.whitelist = Zablokowane jednostki jako biała lista
bannedblocks.whitelist = Zablokowane bloki jako biała lista
addall = Dodaj wszystkie
@@ -726,8 +759,7 @@ sector.curlost = Sektor Stracony
sector.missingresources = [scarlet]Niewystarczające Zasoby Rdzenia
sector.attacked = Sektor [accent]{0}[white] jest atakowany!
sector.lost = Sektor [accent]{0}[white] został stracony!
#note: the missing space in the line below is intentional
sector.captured = Sektor [accent]{0}[white]został podbity!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Zmień Ikonę
sector.noswitch.title = Nie można zmienić sektorów
sector.noswitch = Nie możesz zmieniać sektorów, gdy istniejący sektor jest atakowany.\n\nSektor: [accent]{0}[] na [accent]{1}[]
@@ -764,17 +796,17 @@ sector.planetaryTerminal.name = Planetarny Terminal Startowy
sector.coastline.name = Linia Brzegowa
sector.navalFortress.name = Morska Forteca
sector.groundZero.description = Optymalna lokalizacja, aby rozpocząć jeszcze raz. Niskie zagrożenie. Niewiele zasobów.\nZbierz jak najwięcej miedzi i ołowiu, tyle ile jest możliwe.\nPrzejdź do następnej strefy jak najszybciej.
sector.frozenForest.description = Nawet tutaj, bliżej gór, zarodniki rozprzestrzeniły się. Niskie temperatury nie mogą ich zatrzymać na zawsze.\n\nRozpocznij przygodę od produkucji prądu. Buduj generatory spalinowe. Naucz się korzystać z naprawiaczy.
sector.saltFlats.description = Na obrzeżach pustyni spoczywają Solne Równiny. Można tu znaleźć niewiele surowców.\n\nWrogowie zbudowali tu bazę składującą surowce. Zniszcz ich rdzeń. Zniszcz wszystko co stanie ci na drodze.
sector.groundZero.description = Optymalna lokalizacja, aby rozpocząć jeszcze raz. Niskie zagrożenie. Niewiele zasobów.\nZbierz możliwie jak najwięcej miedzi i ołowiu.\nPrzejdź do następnej strefy jak najszybciej.
sector.frozenForest.description = Nawet tutaj, bliżej gór, zarodniki się rozprzestrzeniały. Niskie temperatury nie mogą ich zatrzymać na zawsze.\n\nZacznij od produkcji prądu. Buduj generatory spalinowe. Naucz się korzystać z naprawiaczy.
sector.saltFlats.description = Na obrzeżach pustyni są Solne Równiny. Jest tu niewiele surowców.\n\nWrogowie zbudowali tu bazę składującą surowce. Zniszcz ich rdzeń. Zniszcz wszystko co stanie ci na drodze.
sector.craters.description = W tym kraterze zebrała się woda. Pozostałość dawnych wojen. Odzyskaj ten teren. Wykop piasek. Wytop metaszkło. Pompuj wodę do działek obronnych i wierteł by je schłodzić
sector.ruinousShores.description = Za pustkowiami ciągnie się linia brzegowa. Kiedyś znajdowała się tu przybrzeżna linia obronna. Niewiele z niej zostało. Ostały się tylko podstawowe struktury obronne, z reszty został tylko złom.\nKontynuuj eksplorację. Odkryj pozostawioną tu technologię.
sector.stainedMountains.description = W głębi lądu leżą góry, jeszcze nieskażone przez zarodniki.\nWydobądź bogate złoża tytanu w tym obszarze. Dowiedz się, jak z niego korzystać.\n\nObecność wroga jest tutaj większa. Nie pozwól im na wysłanie ich najsilniejszych jednostek.
sector.overgrowth.description = Obszar ten jest zarośnięty, bliżej źródła zarodników.\nWróg założył tu placówkę. Stwórz Nożyki. Zniszcz to. Odzyskaj to, co nam odebrano.
sector.tarFields.description = Obrzeża strefy produkcji ropy, między górami a pustynią. Jeden z niewielu obszarów z rezerwami użytecznej smoły.\nMimo że ta strefa jest opuszczona, w pobliżu znajdują się niebezpieczne siły wroga. Nie lekceważ ich.\n\n[lightgray]Jeśli to możliwe, zbadaj technologię przetwarzania oleju.
sector.desolateRift.description = Strefa wyjątkowo niebezpieczna. Obfita w zasoby ale mało miejsca. Wysokie ryzyko zniszczenia. Opuść tę strefę jak najszybciej.\nUwaga: Jak najefektywniej wykorzystaj długie odstępy między atakami wroga.
sector.nuclearComplex.description = Dawny zakład produkcji i przetwarzania toru, zredukowany do ruin.\n[lightgray]Zbadaj tor i jego zastosowania.\n\nWróg jest tutaj obecny w dużej ilości, nieustannie poszukuje napastników.
sector.fungalPass.description = Przejściowy obszar pomiędzy wysokimi górami a nisko znajdującymi się, ogarniętymi przez zarodniki, równinami. Znajduje się tu mała, postawiona przez wrogów baza zwiadowcza.\nZniszcz ją używając jednostek takich jak Nożyk i Toczek. Zniszcz oba rdzenie.
sector.overgrowth.description = Obszar ten jest zarośnięty, bliżej źródła zarodników.\nWróg założył tu bazę. Stwórz "Noże". Odzyskaj to, co nam odebrano.
sector.tarFields.description = Obrzeża strefy produkcji ropy, między górami a pustynią. Jeden z niewielu obszarów z rezerwami użytecznej ropy.\nMimo że ta strefa jest opuszczona, w pobliżu znajdują się niebezpieczne siły wroga. Nie lekceważ ich.\n\n[lightgray]Jeśli to możliwe, zbadaj technologię przetwarzania ropy.
sector.desolateRift.description = Strefa wyjątkowo niebezpieczna. Bogata w zasoby, ale mała. Wysokie ryzyko zniszczenia. Opuść tę strefę jak najszybciej.\nUwaga: Odstępy między falami są dosyć długie, co nie znaczy, że będzie prosto!
sector.nuclearComplex.description = Dawny zakład produkcji i przetwarzania toru, zredukowany do ruin.\n[lightgray]Zbadaj tor i jego zastosowania.\n\nOgromne zagrożenie ze strony wroga.
sector.fungalPass.description = Przejściowy obszar pomiędzy wysokimi górami a nisko znajdującymi się, ogarniętymi przez zarodniki, równinami. Znajduje się tu mała, postawiona przez wrogów baza zwiadowcza.\nZniszcz ją używając jednostek takich jak "Nóż" czy "Pełzak". Zniszcz oba rdzenie.
sector.biomassFacility.description = Miejsce powstania zarodników. Tutaj były badane i początkowo produkowane.\nZbadaj zawartą w nich technologię. Hoduj zarodniki dla paliwa i tworzyw sztucznych.\n\n[lightgray]Po upadku tej placówki zarodniki zostały uwolnione. Nic w lokalnym ekosystemie nie mogło konkurować z tak inwazyjnym organizmem.
sector.windsweptIslands.description = Dalej za linią brzegową znajduje się ten odległy łańcuch wysp. Zapisy wykazują, że były tu struktury produkujące [accent]Plastan[].\n\nOdeprzyj morskie jednostki wroga. Załóż bazę na wyspach. Odkryj te fabryki.
sector.extractionOutpost.description = Odległa placówka zbudowana przez wroga w celu wystrzeliwania zasobów do innych sektorów.\n\nDo dalszych podbojów niezbędna jest międzysektorowa technologia transportu. Zniszcz bazę. Zbadaj ich Wyrzutnie.
@@ -801,22 +833,22 @@ sector.crossroads.name = Rozdroże
sector.karst.name = Kras
sector.origin.name = Zalążek
sector.onset.description = Samouczkowy sektor. Cel nie został jeszcze ustalony. Oczekuj dalszych informacji.
sector.aegis.description = Wróg jest chroniony przez tarcze. Prototyp Niszczyciela tacz znajduje się na tym sektorze.\n Znajdź go. Wypełnij go wolframem i zniszcz tarcze wrogów.
sector.aegis.description = Wróg jest chroniony przez tarcze. Prototyp Niszczyciela tarcz znajduje się na tym sektorze.\n Znajdź go. Wypełnij go wolframem i zniszcz tarcze wrogów.
sector.lake.description = Jezioro żużlu znajdujące się na tym sektorze znacznie ogranicza rodzaje jednostek, jakich można użyć. Statki są jedyną sensowną opcją. Odkryj [accent] Fabrykator Statków[] i wytwórz [accent] Wymykacze[] najszybciej jak się da.
sector.intersect.description = Skany wskazują na możliwe ataki od razu po wylądowanium. Przeciwnik może zaatakować z wielu stron.\nPrzygotuj obronę i infrastrukturę tak szybko jak to możliwe.\n[accent]Mechy[] będą potrzebne aby poruszać się w tak trudnym terenie.
sector.intersect.description = Skany wskazują na możliwe ataki od razu po wylądowaniu. Przeciwnik może zaatakować z wielu stron.\nPrzygotuj obronę i infrastrukturę tak szybko jak to możliwe.\nAby poruszać się w tak trudny terenie potrzebne będą [accent]Mechy[].
sector.atlas.description = Ten sektor zawiera zróżnicowany teren i do skutecznego ataku będzie trzeba użyć różnych jednostek.\nKonieczne może być uzycie ulepszonych jednostek ze względu na silne bazy wroga.\nZbadaj [accent]Elektrolizer[] oraz [accent]Fabrykę Czołgów[].
sector.split.description = Minimalna obecność wroga w tym sektorze czyni go idealnym do testowania nowych technologii transportowych.
sector.basin.description = {Tymczasowe}\n\nPóki co to ostatni sektor. Potraktuj to jako wyzwanie - więcej sektorów zostanie dodana w późniejszych wersjach.
sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power.
sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings.
sector.basin.description = W sektorze wykryto znaczną liczbę wrogich jednostek.\nWybuduj jednostki jak najszybciej i pozbądź sie wroga.
sector.marsh.description = Ten sektor jest bogaty w atrakycyt, ale ma mało gejzerów .\nZbuduj [accent]Chemiczną komorę spalania[] by generować prąd.
sector.peaks.description = Górzyste ukształtowanie terenu powoduje, że większość jednostek staje się bezużyteczna. Będziesz musiał wyprodukować latające jednostki.\nUważaj na wrogie działka przeciwlotnicze. Możesz unieszkodliwić niektóre działka, poprzez odcięcie im zasobów lub zniszczenie innych budynków.
sector.ravine.description = W tym sektorze nie wykryto rdzeni wroga, jednakże jest on ważnym szlakiem transportowym dla wroga. Spodziewaj się różnorodnych przeciwników.\nWyprodukuj [accent]elektrum[]. Zbuduj działka [accent]Cios.
sector.caldera-erekir.description = Tymczasowy opis.
sector.stronghold.description = Trwają prace nad opisem.
sector.crevice.description = Trwają prace nad opisem.
sector.siege.description = Trwają prace nad opisem.
sector.crossroads.description = Trwają prace nad opisem.
sector.karst.description = Trwają prace nad opisem.
sector.origin.description = Trwają prace nad opisem.
sector.caldera-erekir.description = Zasoby wykryte w tym sektorze są rozproszone między kilka wysp.\nZbadaj i wprowadź transport oparty na dronach.
sector.stronghold.description = Wróg postanowił założyć ogromną bazę na tym sektorze. Chroni niewielkie złoża [accent]toru[]..\nWykorzystaj je do rozwoju jednostek i wieżyczek wyższego poziomu.
sector.crevice.description = Przeciwnik będzie zaciekle walczyć by przejąć twoją bazę w tym sektorze.\nWyprodukowanie [accent]karbidu[] i wybudowanie [accent]Generatora Pyrolizy[] może być wymagane do przetrwania.
sector.siege.description = Na tym sektorze znajdują się dwa równoległe kaniony, które zmuszą cię do walki na dwa fronty.\nZbadaj [accent]Cyjan[], aby móc wytwarzać dużo silniejsze czołgi.\nUwaga: Wykryto wrogie rakiety dalekiego. Pociski powinny zostać zestrzelone.
sector.crossroads.description = Wrogie bazy w tym sektorze zostały założone w zróżnicowanym terenie. Zbadaj różne jednostki by się przystosować.\nParę baz jest chronionych przez tarcze. Dowiedz się jak są zasilane i je zniszcz.
sector.karst.description = Ten sektor jest bogaty w surowce. Zostaniesz zaatakowany niemalże od razu\nPrzejmij kontrolę nad surowcami i zbadaj [accent]Włókno Fazowe[].
sector.origin.description = Finalny sektor, gdzie wróg jest wszędzie.\nBardzo złe warunki do prowadzenia badań - skup się na niszczeniu wszystkich wrogich rdzeni.
status.burning.name = Podpalenie
status.freezing.name = Zamrożenie
@@ -844,14 +876,14 @@ settings.game = Gra
settings.sound = Dźwięk
settings.graphics = Grafika
settings.cleardata = Wyczyść Dane Gry...
settings.clear.confirm = Czy jesteś pewien że chcesz usunąć te dane?\nPo tym nie ma powrotu!
settings.clearall.confirm = [scarlet]UWAGA![]\nTo wykasuje wszystkie dane, włącznie z zapisami, drzewem technologicznym, mapami, ustawieniami i przypisanymi klawiszami.\nKiedy naciśniesz 'OK', gra usunie wszystkie swoje dane i automatycznie wyłączy się.
settings.clearsaves.confirm = Jesteś pewny że chcesz usunąć wszystkie zapisy?
settings.clear.confirm = Czy jesteś pewien, że chcesz usunąć te dane?\nPo tym nie ma powrotu!
settings.clearall.confirm = [scarlet]UWAGA![]\nTo wykasuje wszystkie dane, włącznie z zapisami, drzewem technologicznym, mapami, ustawieniami i przypisanymi klawiszami.\nKiedy naciśniesz 'OK', gra usunie wszystkie swoje dane i automatycznie się wyłączy.
settings.clearsaves.confirm = Czy jesteś pewien, że chcesz usunąć wszystkie zapisy?
settings.clearsaves = Usuń Zapisy
settings.clearresearch = Usuń Postęp Drzewa Tech.
settings.clearresearch.confirm = Jesteś pewny że chcesz usunąć cały postęp drzewa technologicznego?
settings.clearresearch = Usuń Postęp Drzewa Technologicznego
settings.clearresearch.confirm = Czy jesteś pewny, że chcesz usunąć cały postęp drzewa technologicznego?
settings.clearcampaignsaves = Usuń Zapisy Kampanii
settings.clearcampaignsaves.confirm = Jesteś pewny że chcesz usunąć wszystkie zapisy kampanii?
settings.clearcampaignsaves.confirm = Czy jesteś pewny, że chcesz usunąć wszystkie zapisy kampanii?
paused = [accent]< Wstrzymano >
clear = Wyczyść
banned = [scarlet]Zbanowano
@@ -901,7 +933,7 @@ stat.repairspeed = Prędkość napraw
stat.weapons = Bronie
stat.bullet = Pocisk
stat.moduletier = Stopień Modułu
stat.unittype = Unit Type
stat.unittype = Typ jednostki
stat.speedincrease = Zwiększenie prędkości
stat.range = Zasięg
stat.drilltier = Co może wykopać
@@ -953,12 +985,12 @@ ability.statusfield = Pole Statusu
ability.unitspawn = Fabryka Jednostek
ability.shieldregenfield = Strefa Tarczy Regenerującej
ability.movelightning = Pioruny Poruszania
ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field
ability.shieldarc = Łuk Tarczy
ability.suppressionfield = Pole Tłumienia Regeneracji
ability.energyfield = Pole Energii
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
ability.energyfield.sametypehealmultiplier = [lightgray]Ten sam typ leczenia: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Maksymalne cele: [white]{0}
ability.regen = Regeneracja
bar.onlycoredeposit = Dozwolone jest tylko przeniesienie z rdzenia
@@ -999,8 +1031,9 @@ bullet.splashdamage = [stat]{0}[lightgray] Obrażenia obszarowe ~[stat] {1}[ligh
bullet.incendiary = [stat]zapalający
bullet.homing = [stat]naprowadzający
bullet.armorpierce = [stat]przebijający pancerz
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] wyłączenie naprawy ~ [stat]{1}[lightgray] kratki
bullet.interval = [stat]{0}/sec[lightgray] częstotliwość strzału:
bullet.frags = [stat]{0}[lightgray]x pociski odłamkowe:
bullet.lightning = [stat]{0}[lightgray]x błyskawice ~ [stat]{1}[lightgray] Obrażenia
bullet.buildingdamage = [stat]{0}%[lightgray] obrażeń budynkom
@@ -1054,6 +1087,7 @@ setting.backgroundpause.name = Wstrzymaj w tle
setting.buildautopause.name = Automatycznie zatrzymaj budowanie
setting.doubletapmine.name = Kliknij podwójnie, aby wydobywać
setting.commandmodehold.name = Przytrzymaj w Trybie Dowodzenia
setting.distinctcontrolgroups.name = Ograniczaj jedną grupę kontrolną na jednostkę
setting.modcrashdisable.name = Wyłącz mody w przypadku awarii podczas uruchamiania
setting.animatedwater.name = Animowana woda
setting.animatedshields.name = Animowana tarcza
@@ -1100,14 +1134,14 @@ setting.position.name = Pokazuj położenie gracza
setting.mouseposition.name = Pokazuj położenie myszki
setting.musicvol.name = Głośność muzyki
setting.atmosphere.name = Pokazuj atmosferę planety
setting.drawlight.name = Draw Darkness/Lighting
setting.drawlight.name = Rysuj Cienie/Światła
setting.ambientvol.name = Głośność otoczenia
setting.mutemusic.name = Wycisz muzykę
setting.sfxvol.name = Głośność dźwięków
setting.mutesound.name = Wycisz dźwięki
setting.crashreport.name = Wysyłaj anonimowo dane o crashu gry
setting.savecreate.name = Automatyczne tworzenie zapisów
setting.publichost.name = Widoczność gry publicznej
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Limit graczy
setting.chatopacity.name = Przezroczystość czatu
setting.lasersopacity.name = Przezroczystość laserów zasilających
@@ -1115,10 +1149,10 @@ setting.bridgeopacity.name = Przezroczystość mostów
setting.playerchat.name = Wyświetlaj dymek czatu w grze
setting.showweather.name = Pokaż pogodę
setting.hidedisplays.name = Ukryj wyświetlacze logiczne
setting.macnotch.name = Dostosuj interfejs do wyświetlania wycięcia
setting.macnotch.name = Dostosuj interfejs do wyświetlania wycięcia ekranu
setting.macnotch.description = Aby zastosować zmiany, wymagane jest ponowne uruchomienie
steam.friendsonly = Friends Only
steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join.
steam.friendsonly = Tylko Znajomi
steam.friendsonly.tooltip = Czy tylko Znajomi ze Steam będą mogli dołączyć do twojej gry?\nOdznaczenie tego okienka ustawi twoją grę na publiczną - każdy może dołączyć.
public.beta = Wersje beta gry nie mogą tworzyć publicznych pokoi.
uiscale.reset = Skala interfejsu uległa zmianie.\nNaciśnij "OK" by potwierdzić zmiany.\n[scarlet]Cofanie zmian i wyjście z gry za[accent] {0}[]
uiscale.cancel = Anuluj i wyjdź
@@ -1127,6 +1161,7 @@ keybind.title = Zmień
keybinds.mobile = [scarlet]Większość skrótów klawiszowych nie funkcjonuje w wersji mobilnej. Tylko podstawowe poruszanie się jest wspierane.
category.general.name = Ogólne
category.view.name = Wyświetl
category.command.name = Zarządzanie Jednostką
category.multiplayer.name = Wielu graczy
category.blocks.name = Wybierz Blok
placement.blockselectkeys = \n[lightgray]Klawisz: [{0},
@@ -1144,6 +1179,23 @@ keybind.mouse_move.name = Podążaj Za Myszą
keybind.pan.name = Widok Panoramiczny
keybind.boost.name = Przyspiesz
keybind.command_mode.name = Tryb Komend
keybind.command_queue.name = Kolejka Rozkazów Jednostki
keybind.create_control_group.name = Stwórz Grupę Kontroli
keybind.cancel_orders.name = Anuluj Rozkazy
keybind.unit_stance_shoot.name = Strzel
keybind.unit_stance_hold_fire.name = Wstrzymaj ogień
keybind.unit_stance_pursue_target.name = Goń Cel
keybind.unit_stance_patrol.name = Patroluj
keybind.unit_stance_ram.name = Taranuj
keybind.unit_command_move = Porusz
keybind.unit_command_repair = Naprawiaj
keybind.unit_command_rebuild = Odbudowywuj
keybind.unit_command_assist = Asystuj
keybind.unit_command_mine = Kop
keybind.unit_command_boost = Przyspieszaj
keybind.unit_command_load_units = Załaduj jednostki
keybind.unit_command_load_blocks = Załaduj Bloki
keybind.unit_command_unload_payload = Rozładuj Ładunek
keybind.rebuild_select.name = Odbuduj Region
keybind.schematic_select.name = Wybierz Region
keybind.schematic_menu.name = Menu Schematów
@@ -1207,9 +1259,12 @@ mode.pvp.description = Walcz przeciwko innym graczom.\n[gray]Wymaga co najmniej
mode.attack.name = Atak
mode.attack.description = Celem jest zniszczenie bazy przeciwnika.\n[gray]Wymaga czerwonego rdzenia na mapie, aby móc grać w tym trybie.
mode.custom = Własny Tryb
rules.invaliddata = Niepoprawne dane ze schowka.
rules.hidebannedblocks = Ukryj zabronione bloki
rules.infiniteresources = Nieskończone Zasoby
rules.onlydepositcore = Dozwól tylko przenoszenie z rdzenia
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Eksplozje Reaktorów
rules.coreincinerates = Rdzeń Spala Nadmiarowe Przedmioty
rules.disableworldprocessors = Wyłącz Procesor Świata
@@ -1218,11 +1273,11 @@ rules.wavetimer = Zegar Fal
rules.wavesending = Wysyłanie Fal
rules.waves = Fale
rules.attack = Tryb Ataku
rules.buildai = Base Builder AI
rules.buildaitier = Builder AI Tier
rules.rtsai = RTS SI
rules.buildai = AI Budowania Baz
rules.buildaitier = Poziom Budowania AI
rules.rtsai = RTS AI
rules.rtsminsquadsize = Minimalny Rozmiar Składu
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsmaxsquadsize = Maksymalny Rozmiar Składu
rules.rtsminattackweight = Minimalna Waga Ataku
rules.cleanupdeadteams = Usuń Budynki Pokonanej Drużyny (PvP)
rules.corecapture = Przejmij Zniszczony Rdzeń
@@ -1232,11 +1287,11 @@ rules.enemyCheat = Nieskończone Zasoby SI (wroga)
rules.blockhealthmultiplier = Mnożnik Życia Bloków
rules.blockdamagemultiplier = Mnożnik Uszkodzeń Bloków
rules.unitbuildspeedmultiplier = Mnożnik Prędkości Tworzenia Jednostek
rules.unitcostmultiplier = Unit Cost Multiplier
rules.unitcostmultiplier = Mnożnik Kosztu Jednostek
rules.unithealthmultiplier = Mnożnik Życia Jednostek
rules.unitdamagemultiplier = Mnożnik Obrażeń jednostek
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
rules.solarmultiplier = Solar Power Multiplier
rules.unitcrashdamagemultiplier = Obrażenia Zadawane Po Zniszczeniu
rules.solarmultiplier = Mnożnik Mocy Paneli Słonecznych
rules.unitcapvariable = Rdzenie mają wpływ na limit jednostek
rules.unitcap = Podstawowy limit jednostek
rules.limitarea = Limit Obszaru Mapy
@@ -1247,7 +1302,7 @@ rules.buildcostmultiplier = Mnożnik Kosztów Budowania
rules.buildspeedmultiplier = Mnożnik Prędkości Budowania
rules.deconstructrefundmultiplier = Mnożnik Zwrotu Dekonstrukcji
rules.waitForWaveToEnd = Fale Czekają Na Przeciwników
rules.wavelimit = Map Ends After Wave
rules.wavelimit = Mapa Konczy się Po Fali
rules.dropzoneradius = Zasięg Strefy Zrzutu:[lightgray] (kratki)
rules.unitammo = Jednostki Potrzebują Amunicji
rules.enemyteam = Drużyna Wroga
@@ -1300,7 +1355,7 @@ item.fissile-matter.name = Materiał Roszczepialny
item.beryllium.name = Beryl
item.tungsten.name = Wolfram
item.oxide.name = Tlenek Berylu
item.carbide.name = Węglik
item.carbide.name = Karbid
item.dormant-cyst.name = Drzemiąca Torbiel
liquid.water.name = Woda
liquid.slag.name = Żużel
@@ -1593,7 +1648,7 @@ block.payload-router.name = Rozdzielacz Ładunku
block.duct.name = Rura Próżniowa
block.duct-router.name = Rozdzielacz Próżniowy
block.duct-bridge.name = Most Próżniowy
block.large-payload-mass-driver.name = Large Payload Mass Driver
block.large-payload-mass-driver.name = Duża Katapulta Ładunku
block.payload-void.name = Próżnia Ładunku
block.payload-source.name = Źródło Ładunku
block.disassembler.name = Rozkładacz
@@ -1677,7 +1732,7 @@ block.phase-heater.name = Podgrzewacz Fazowy
block.heat-redirector.name = Kierownik Ciepła
block.heat-router.name = Rozdzielacz Ciepła
block.slag-incinerator.name = Spalarnia Żużla
block.carbide-crucible.name = Tygiel Węglowy
block.carbide-crucible.name = Tygiel Karbidu
block.slag-centrifuge.name = Wirówka Żużlu
block.surge-crucible.name = Tygiel Elektrum
block.cyanogen-synthesizer.name = Syntetyzer Cyjanu
@@ -1688,8 +1743,8 @@ block.beryllium-wall-large.name = Duży Berylowy Mur
block.tungsten-wall.name = Wolframowy Mur
block.tungsten-wall-large.name = Duży Wolframowy Mur
block.blast-door.name = Dotykowe Wrota
block.carbide-wall.name = Węglowy Mur
block.carbide-wall-large.name = Duży Węglowy Mur
block.carbide-wall.name = Karbidowy Mur
block.carbide-wall-large.name = Duży Karbidowy Mur
block.reinforced-surge-wall.name = Wzmocniony Elektrumowy Mur
block.reinforced-surge-wall-large.name = Duży Wzmocniony Elektrumowy Mur
block.shielded-wall.name = Osłonowy Mur
@@ -1738,7 +1793,6 @@ block.disperse.name = Burza
block.afflict.name = Cios
block.lustre.name = Błysk
block.scathe.name = Zamęt
block.fabricator.name = Fabrykator
block.tank-refabricator.name = Konstruktor Czołgów
block.mech-refabricator.name = Konstruktor Mechów
block.ship-refabricator.name = Konstruktor Statków
@@ -1757,7 +1811,7 @@ block.mech-fabricator.name = Fabryka Mechów
block.ship-fabricator.name = Fabryka Statków
block.prime-refabricator.name = Główny Refabrykator
block.unit-repair-tower.name = Wieża Napraw
block.diffuse.name = Dystruptor
block.diffuse.name = Rozproszenie
block.basic-assembler-module.name = Podstawowy Moduł Montażowy
block.smite.name = Karciciel
block.malign.name = Malign
@@ -1786,28 +1840,28 @@ hint.desktopShoot = Kliknij [accent][[Lewy przycisk myszy][] by strzelać.
hint.depositItems = By przenosić przedmioty, przeciągij je ze swojego statku do rdzenia.
hint.respawn = By się odrodzić jako statek, kliknij [accent][[V][].
hint.respawn.mobile = Przełączyłeś się na inną jednostkę/strukturę. By odrodzić się jako statek, [accent]kliknij w awatar w lewym górnym rogu.[]
hint.desktopPause = Naciśnij [accent][[Spację][] by zatrzymać lub wznowić grę.
hint.desktopPause = Naciśnij [accent][[Spację][], by zatrzymać lub wznowić grę.
hint.breaking = Użyj [accent][Prawego przycisku myszy][] i przeciągnij by zniszczyć bloki.
hint.breaking.mobile = Aktywuj \ue817 [accent]ikonę młota[] w dolnym prawym rogu by zniszczyć bloki.\n\nPrzytrzymaj swój palec i przeciągnij by wybrać wiele bloków do zniszczenia.
hint.blockInfo = Wyświetl informacje o bloku, wybierając go w [accent]menu budowania[], a następnie wybierając [accent][[?][] przycisk po prawej.
hint.derelict = [accent]Szare[] struktury są uszkodzonymi pozostałościami starych baz, które już nie funkcjonują.\n\nTe struktury można [accent]zdekonstruować[] dla surowców.
hint.research = Klikij przycisk \ue875 [accent]Badań[] by odkrywać nowe technologie.
hint.research.mobile = Użyj przycisku \ue875 [accent]Badań[] w \ue88c [accent]Menu[] by odkrywać nowe technologie.
hint.research = Klikij przycisk \ue875 [accent]Badań[], by odkrywać nowe technologie.
hint.research.mobile = Użyj przycisku \ue875 [accent]Badań[] w \ue88c [accent]Menu[], by odkrywać nowe technologie.
hint.unitControl = Przytrzymaj [accent][[Lewy CTRL][] i [accent]kliknij[], by kontrolować sojusznicze jednostki i działka.
hint.unitControl.mobile = [accent][Kliknij dwukrotnie[] by kontrolować sojusznicze jednostki i działka.
hint.unitSelectControl = Żeby kontrolować jednostki wejdź w [accent]tryb komend[] trzymając [accent]Lewy Shift.[]\nW trybie komend, kliknij i przeciągnij, żeby wybrać jednostki. Kliknij [accent]Prawym Przyciskiem Myszy[], żeby wyznaczyc jednostkom cel.
hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there.
hint.unitSelectControl.mobile = Aby kontrolować jednostki, wejdź w [accent]tryb dowodzenia[] poprzez naciśnięcie przcisku [accent]dowodzenia[] w lewym dolnym rogu.\nPodczas gdy jesteś w trybie dowodzenia, naciśnij długo i przeciągnij by wybrać jednostki. Stuknij w miejsce lub cel aby je tam wysłać.
hint.launch = Gdy zebrałeś wystarczająco materiałów możesz [accent]Wystrzelić[] wybierając \ue827 [accent]Mapę[] w dolnym prawym rogu.
hint.launch.mobile = Gdy zebrałeś wystarczająco materiałów możesz [accent]Wystrzelić[] do pobliskich sektorów klikając w \ue827 [accent]Mapę[] w \ue88c [accent]Menu[].
hint.schematicSelect = Przytrzymaj [accent][[F][] by kopiować i wkleić bloki.\n\n[accent][[Środkowy przycisk myszy][] kopiuje pojedynczy blok.
hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically.
hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically.
hint.rebuildSelect = Przytrzymaj [accent][[B][] i przeciągnij, by zaznaczyć plany zniszczonych bloków.\nTo naprawi je automatycznie.
hint.rebuildSelect.mobile = wybierz \ue874 przycisk kopiowania, wtedy dotnij \ue80f przycisk odbudowy i przeciągnij by zaznaczyć plany zniszczonych bloków.\nTo naprawi je automatycznie.
hint.conveyorPathfind = Przeciągij i przytrzymaj [accent][[Lewy CTRL][] w trakcie budowania przenośników aby wygenerować ścieżkę.
hint.conveyorPathfind.mobile = Włącz \ue844 [accent]tryb ukośny[] i przeciągnij w trakcie budowania przenośników aby wygenerować ścieżkę.
hint.boost = Przytrzymaj [accent][[Lewy Shift][] by przelecieć ponad przeszkody.\n\nTylko część jednostek lądowych może to zrobić.
hint.payloadPickup = Kliknij [accent][[[] by podnieść małe bloki lub jednostki.
hint.boost = Przytrzymaj [accent][[Lewy Shift][], by przelecieć ponad przeszkody.\n\nTylko część jednostek lądowych może to zrobić.
hint.payloadPickup = Kliknij [accent][[[], by podnieść małe bloki lub jednostki.
hint.payloadPickup.mobile = [accent]Kliknij i przytrzymaj[] mały blok by go podnieść.
hint.payloadDrop = Kliknij [accent]][] by opuścić podniesiony towar.
hint.payloadDrop = Kliknij [accent]][], by opuścić podniesiony towar.
hint.payloadDrop.mobile = [accent]Kliknij i przytrzymaj[] w puste miejsce by opuścić podniesiony towar.
hint.waveFire = [accent]Strumień[] wypełniony wodą będzie gasić pobiskie pożary.
hint.generator = \uf879 [accent]Generatory Spalinowe[] spalają węgiel i przekazują moc do pobliskich bloków.\n\nMożesz powiększyć odległość transmitowanej mocy używając \uf87f [accent]Węzły Prądu[].
@@ -1822,7 +1876,7 @@ gz.mine = Przemieść się w pobliże \uf8c4 [accent]rudy miedzi[] na ziemi i kl
gz.mine.mobile = Przemieść się w pobliże \uf8c4 [accent]rudy miedzi[] na ziemi i dotknij, aby zacząć kopać.
gz.research = Otwórz \ue875 drzewko technologiczne.\nZbadaj \uf870 [accent]Mechaniczne Wiertło[], Następnie wybierz je z menu w prawym dolnym rogu.\nKliknij na złoże miedzi, aby postawić na nim wiertło.
gz.research.mobile = Otwórz \ue875 drzewko technologiczne.\nZbadaj \uf870 [accent]Mechaniczne Wiertło[], Następnie wybierz je z menu w prawym dolnym rogu.\nDotknij złoża miedzi aby postawić na nim wiertło.\n\nKliknij w \ue800 [accent]fajkę[] u dołu ekranu z prawej aby potwierdzić.
gz.conveyors = Zbadaj i postaw \uf896 [accent]przenośniki[], aby przemieścić wykopane surowce\nz wierteł do rdzenia.\n\nNaciśnij i przeciągnij aby postawic wiele przenośników naraz.\n[accent]Użyj kółka myszki[] żeby obrócić.
gz.conveyors = Zbadaj i postaw \uf896 [accent]przenośniki[], aby przemieścić wykopane surowce\nz wierteł do rdzenia.\n\nNaciśnij i przeciągnij aby postawic wiele przenośników naraz.\n[accent]Użyj kółka myszki[], żeby obrócić.
gz.conveyors.mobile = Zbadaj i postaw \uf896 [accent]przenośniki[], aby przemieścić wykopane surowce\nz wierteł do rdzenia.\n\nPrzytrzymaj przez sekundę i przeciągnij żeby postawić wiele przenośników naraz.
gz.drills = Kontynuuj kopanie.\nStawiaj więcej Mechanicznych Wierteł.\nWydobądź 100 miedzi.
gz.lead = \uf837 [accent]Ołów[] jest kolejnym często używanym surowcem.\nPostaw wiertła kopiące ołów.
@@ -1840,29 +1894,30 @@ gz.zone3 = Teraz zacznie się fala.\nPrzygotuj się.
gz.finish = Wybuduj więcej działek, wykop więcej surowców\ni obroń się przed wszystkimi falami żeby [accent]przejąć sektor[].
onset.mine = Naćiśnij żeby wydobywać \uf748 [accent]beryl[] ze ścian.\n\nUżyj [accent][[WASD] aby się poruszać.
onset.mine.mobile = Kliknij żeby wydobywać \uf748 [accent]beryl[] ze ścian.
onset.research = Otwórz\ue875 drzewo technologiczne.\nZbadj, a następnie postaw \uf73e [accent]turbinę parową[] na gejzerze.\nTo zacznie generować [accent]prąd[].
onset.research = Otwórz\ue875 drzewo technologiczne.\nZbadaj, a następnie postaw \uf73e [accent]turbinę parową[] na gejzerze.\nTo zacznie generować [accent]prąd[].
onset.bore = Zbadaj i postaw \uf741 [accent]plazmowe wiertło[].\nPlazmowe wiertło automatycznie wydobywa surowce ze ścian.
onset.power = Żeby [accent]zasilić[] plazmowe wiertło, zbadaj i postaw \uf73d [accent]węzeł promieni[].\nPołącz turbinę parową z wiertłem plazmowym.
onset.ducts = Zbadaj i postaw \uf799 [accent]rury próżniowe[] żeby móc przemieścić surowce z wiertła plazmowego do rdzenia.\nKliknij i przeciągnij żeby postawić wiele rur próżniowych naraz.\n[accent]Użyj kółka myszki[] aby obrócić.
onset.ducts.mobile = Zbadaj i postaw \uf799 [accent]rury próżniowe[] żeby móc przemieścić surowce z wiertła plazmowego do rdzenia.\n\nPrzytrzymaj sekundę i przeciągnij, aby postawic wiele rur próżniowych naraz.
onset.ducts = Zbadaj i postaw \uf799 [accent]rury próżniowe[], żeby móc przemieścić surowce z wiertła plazmowego do rdzenia.\nKliknij i przeciągnij żeby postawić wiele rur próżniowych naraz.\n[accent]Użyj kółka myszki[] aby obrócić.
onset.ducts.mobile = Zbadaj i postaw \uf799 [accent]rury próżniowe[], żeby móc przemieścić surowce z wiertła plazmowego do rdzenia.\n\nPrzytrzymaj sekundę i przeciągnij, aby postawic wiele rur próżniowych naraz.
onset.moremine = Kontynuuj kopanie.\nStawiaj więcej Wierteł Plazmowych i używaj węzłów promieni oraz rur próżniowych.\nWykop 200 berylu.
onset.graphite = Bardziej skomplikowane bloki wymagają \uf835 [accent]grafitu[].\nUstaw wiertła plazmowe tak, żeby wydobywały grafit.
onset.research2 = Zacznij badać [accent]fabryki[].\nZbadaj \uf74d [accent]rozkruszacz klifów[] i \uf779 [accent]krzemowy piec łukowy[].
onset.arcfurnace = Krzemowy piec łukowy potrzebuje \uf834 [accent]piasku[] i \uf835 [accent]grafitu[] żeby produkować \uf82f [accent]krzem[].\n[accent]Prąt[] także jest potrzebny.
onset.arcfurnace = Krzemowy piec łukowy potrzebuje \uf834 [accent]piasku[] i \uf835 [accent]grafitu[], żeby produkować \uf82f [accent]krzem[].\n[accent]Prąt[] także jest potrzebny.
onset.crusher = Użyj \uf74d [accent]rozkuruszaczy klifów[], aby wydobyć piasek.
onset.fabricator = Używaj [accent]jednostek[] żeby eksplorować mapę, bron budynki i atakuj wrogów. Zbadaj i postaw \uf6a2 [accent]fabrykę czołgów[].
onset.makeunit = Wyprodkuj jednostkę.\nUżyj przycisku "?" żeby zobaczyć wymagania potrzebne do wybudowania obecnie wybranej fabryki.
onset.fabricator = Używaj [accent]jednostek[], żeby eksplorować mapę, bron budynki i atakuj wrogów. Zbadaj i postaw \uf6a2 [accent]fabrykę czołgów[].
onset.makeunit = Wyprodkuj jednostkę.\nUżyj przycisku "?", żeby zobaczyć wymagania potrzebne do wybudowania obecnie wybranej fabryki.
onset.turrets = Jednostki są efektywne, ale [accent]działka[] zapewniają lepszą efektywność jeśli chodzi o obronę.\nPostaw \uf6eb [accent]Wyłom[].\nDziałka potrzebują \uf748 [accent]amuncji[].
onset.turretammo = Dostarcz [accent]beryl[] do działka.
onset.walls = [accent]Mury[] chronią budynki przed obrażeniami.\nPostaw parę \uf6ee [accent]berylowych murów[] naokoło działka.
onset.enemies = Nadchodzi wróg, przygotuj obronę.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = Wróg jest wrażliwy na atak. Przeprowadź kontratak.
onset.cores = Nowe rdzenie mogą być postawione tylko w [accent]strefach rdzenia[].\nNowy rdzeń działa tak samo jak każdy poprzedni. Rdzenie współdzielą surowce.\nPostaw nowy \uf725 rdzeń.
onset.detect = Wróg wykryje cię za 2 minuty.\nPrzygotuj obronę, wydobywaj surowce i je produkuj.
onset.commandmode = Przytrzymaj [accent]shift[] aby wejść do [accent]trybu poleceń[].\n[accent]Kliknij lewy przycisk myszy i przeciągnij[] aby wybrac jednostki.\n[accent]Kliknij prawy przycisk myszy[] aby rozkazać jednostkom się przemieścić lub zaatakować.
onset.commandmode.mobile = Naciśnij [accent]przycisk poleceń[] aby wejść do [accent]trybu poleceń[].\nPrzytrzymaj palec, a następnie [accent]przeciągnij[] aby zaznaczyć jednostki.\n[accent]Kliknij[] aby rozkazać jednostkom się przemieścić lub zaatakować.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Niektóre bloki mogą zostać podniesione przez jednostkę rdzeniową.\nPodnieś ten [accent]kontener[] i postaw go w [accent]punkcie załadunkowym[].\n(Domyślne klawisze to [ i ], użyj ich żeby podnieść lub upuścić blok.)
aegis.tungsten = Wolfram może być wykopany używając [accent]wiertła udeżeniowego[].\nTa struktura wymaga [accent]wody[] i [accent]zasilania[].
split.pickup = Niektóre bloki mogą zostać podniesione przez jednostkę rdzeniową.\nPodnieś ten [accent]kontener[] i postaw go w [accent]punkcie załadunkowym[].\n(Domyślne klawisze to [ i ], użyj ich, żeby podnieść lub upuścić blok.)
split.pickup.mobile = iektóre bloki mogą zostać podniesione przez jednostkę rdzeniową.\nPodnieś ten [accent]kontener[] i postaw go w [accent]punkcie załadunkowym[].\n(Żeby podnieść lub upuścić jakiś blok, przytrzymaj go przez chwilę.)
split.acquire = Żeby wybudować jednostki musisz pozyskać trochę wolframu.
split.build = Jednostki trzeba przetransportować na drugą stronę.\nPosaw dwie [accent]Katapulty Ładunku[] po każdej ze stron.\nPołącz je klikając najpierw jedną, a nastepnie drugą.
@@ -1871,7 +1926,7 @@ split.container = Podobnie jak kontenery jednostki także da się transportować
item.copper.description = Używany we wszystkich rodzajach budowli i uzbrojeń.
item.copper.details = Miedź. Niesamowicie obfity metal na Serpulo. Strukturalnie słaby, chyba że zostanie wzmocniony.
item.lead.description = Używany w transporcie płynów i strukturach elektrycznych.
item.lead.details = Gęsty, obojętny metal używany w bateriach oraz amunicji fragmentacyjnej.\n\n[lightgray]Uwaga: Prawdopodobnie toksyczny dla biologicznych form życia. Nie żeby zostało ich tu wiele...[]
item.lead.details = Gęsty, obojętny metal używany w bateriach oraz amunicji fragmentacyjnej.\n\n[lightgray]Uwaga: Prawdopodobnie toksyczny dla biologicznych form życia. Nie, żeby zostało ich tu wiele...[]
item.metaglass.description = Używane w transporcie i przechowywaniu płynów.
item.graphite.description = Wykorzystywany w urządzeniach elektrycznych oraz amunicji.
item.sand.description = Zwykły materiał używany pospolicie w przepalaniu, stopach i jako topnik.\n\n[lightgray]Uwaga: Dostanie piaskiem po oczach nie jest przyjemne.[]
@@ -1883,7 +1938,7 @@ item.scrap.description = Używany w Przetapiaczach i Rozkruszaczach w celu rafin
item.scrap.details = Pozostałości po jednostkach oraz strukturach. Mieszanka wielu surowców. Podobno można z niego zrobić każdy inny surowiec.
item.silicon.description = Używany praktycznie wszędzie, od amunicji samonaprowadzającej przez elektronikę aż po konstrukcję jednostek i broni.
item.plastanium.description = Lekki i plastyczny materiał używany w amunicji odłamkowej i samolotach.
item.phase-fabric.description = Używane w zaawansowanej elektronice i strukturach przyspieszających i samonaprawiających.\n\n[lightgray]Niesamowicie lekkie włókna torowo-kwarcowe.[]
item.phase-fabric.description = Używane w zaawansowanej elektronice, strukturach przyspieszających i samonaprawiających.\n\n[lightgray]Niesamowicie lekkie włókna torowo-kwarcowe.[]
item.surge-alloy.description = Niesamowicie ciężki stop używany w najsilniejszym uzbrojeniu oraz reaktywnych strukturach obronnych.
item.spore-pod.description = Syntetyczne zarodniki, które mogą być przekształcone na ropę, materiały wybuchowe i paliwo.
item.spore-pod.details = Prawdopodobnie syntetyczna forma życia.\nUwaga: Emitują gazy toksyczne dla innych organizmów biologicznych. Wyjątkowo inwazyjne. W pewnych warunkach silnie łatwopalne.
@@ -1896,7 +1951,7 @@ item.carbide.description = Używany w zaawansowanych strukturach, ciężkich jed
liquid.water.description = Powszechnie używana do schładzania budowli i przetwarzania odpadów.
liquid.slag.description = Wiele różnych metali stopionych i zmieszanych razem.\n\nMoże zostać rozdzielony na jego metale składowe lub wystrzelony we wrogie jednostki.
liquid.oil.description = Używany w do produkcji złożonych materiałów.\n\nMoże zostać przetworzony na węgiel, lub wystrzelony we wrogów przez wieżyczkę.
liquid.oil.description = Używany w do produkcji złożonych materiałów.\n\nMoże zostać przetworzony na węgiel lub wystrzelony we wrogów przez wieżyczkę.
liquid.cryofluid.description = Obojętna, niekorozyjna ciecz utworzona z wody i tytanu.\n\nUżywana jako chłodziwo w reaktorach, rekonstruktorach i wieżyczkach.
liquid.arkycite.description = Stosowany w reakcjach chemicznych. Używany do wytwarzania energii i syntezy materiałów.
liquid.ozone.description = Stosowany jako utleniacz w produkcji materiałów oraz jako paliwo. Średnio wybuchowy.
@@ -1904,14 +1959,14 @@ liquid.hydrogen.description = Używany do wydobywania surowców, produkcji jedno
liquid.cyanogen.description = Używany jako amunicja oraz materiał do produkcji zaawansowanych jednostek czy też jako składnik różnych reakcji w zaawansowanych strukturach. Bardzo łatwopalny.
liquid.nitrogen.description = Używany do wydobycia surowców, tworzenia gazów oraz produkcji jednostek. Obojętny.
liquid.neoplasm.description = Niebezpieczny biologiczny odpad powstający poprzez działanie reaktora neoplazmowego. Łatwo się rozprzestrzenia na bloki zawierające wodę niszcząc je. Lepki.
liquid.neoplasm.details = Neoplazma. Niekontrolowana masa szybko dzielących się komórek syntetycznych o konsystencji szlamu. Odporna na ciepło. Niesamowicie niebezpieczna dla wszelkich struktur zawierających wodę.\n\nZbyt skomplikowana i niestabilna do standardowej analizy. Potencjalne zastosowania póki co nie znane. Zaleca się spalanie w jeziorach żużlowych.
liquid.neoplasm.details = Neoplazma. Niekontrolowana masa szybko dzielących się komórek syntetycznych o konsystencji szlamu. Odporna na ciepło. Niesamowicie niebezpieczna dla wszelkich struktur zawierających wodę.\n\nZbyt skomplikowana i niestabilna do standardowej analizy. Potencjalne zastosowania, póki co nieznane. Zaleca się spalanie w jeziorach żużlowych.
block.derelict = \uf77e [lightgray]Wrak
block.armored-conveyor.description = Przesyła przedmioty z taką samą szybkością co Tytanowy Przenośnik, ale jest bardziej odporny. Wejściami bocznymi mogą być tylko inne przenośniki.
block.illuminator.description = Małe, kompaktowe i konfigurowalne źródło światła. Wymaga energii do funkcjonowania.
block.message.description = Przechowuje wiadomość. Wykorzystywane do komunikacji pomiędzy sojusznikami.
block.reinforced-message.description = Stores a message for communication between allies.
block.world-message.description = A message block for use in mapmaking. Cannot be destroyed.
block.reinforced-message.description = Przechowuje wiadomość. Wykorzystywane do komunikacji pomiędzy sojusznikami.
block.world-message.description = Wiadomość używana przez twórców map. Niezniszczalna.
block.graphite-press.description = Kompresuje kawałki węgla w czyste blaszki grafitu.
block.multi-press.description = Ulepszona wersja prasy grafitowej. Dodanie wody wytwarza grafit znacznie szybciej i efektywniej.
block.silicon-smelter.description = Redukuje piasek za pomocą wysoce czystego węgla w celu wytworzenia krzemu.
@@ -1923,10 +1978,10 @@ block.cryofluid-mixer.description = Łączy wodę i tytan w lodociecz, która je
block.blast-mixer.description = Kruszy i miesza skupiska zarodników z piratianem, tworząc wybuchowy związek.
block.pyratite-mixer.description = Miesza węgiel, ołów i piasek tworząc bardzo łatwopalny piratian.
block.melter.description = Przetapia złom na żużel do dalszego przetwarzania lub użycia w wieżyczkach.
block.separator.description = Oddziela użyteczne materiały z mieszaniny jaką jest żużel.
block.separator.description = Oddziela użyteczne materiały z mieszaniny, jaką jest żużel.
block.spore-press.description = Kompresuje kapsuły zarodników pod ogromnym ciśnieniem tworząc olej.
block.pulverizer.description = Mieli złom w drobny piasek. Przydatne, gdy brakuje naturalnego piasku.
block.coal-centrifuge.description = Zestala olej w kawałki węgla.
block.coal-centrifuge.description = Zestala ropę w kawałki węgla.
block.incinerator.description = Pozbywa się nadmiaru przedmiotów lub płynu.
block.power-void.description = Niszczy całą energię wprowadzoną do tego bloku. Dostępny tylko w trybie piaskownicy.
block.power-source.description = Wydziela prąd w nieskończoność. Dostępny tylko w trybie piaskownicy.
@@ -1948,10 +2003,10 @@ block.phase-wall.description = Mur pokryty specjalną mieszanką opartą o Włó
block.phase-wall-large.description = Mur pokryty specjalną mieszanką opartą o Włókna Fazowe, która odbija większość pocisków.\nObejmuje wiele kratek.
block.surge-wall.description = Ekstremalnie wytrzymały blok obronny.\nMa niewielką szansę na wywołanie błyskawicy w kierunku atakującego.
block.surge-wall-large.description = Ekstremalnie wytrzymały blok obronny.\nMa niewielką szansę na wywołanie błyskawicy w kierunku atakującego.\nObejmuje wiele kratek.
block.door.description = Małe drzwi, które można otwierać i zamykać, klikając na nie.\nJeśli są otwarte, wrogowie mogą strzelać i się przemieszczać przez nie.
block.door-large.description = Duże drzwi, które można otwierać i zamykać, klikając na nie.\nJeśli są otwarte, wrogowie mogą strzelać i się przemieszczać przez nie.\nObejmuje wiele kratek.
block.mender.description = Co jakiś czas naprawia bloki w zasięgu. Utrzymuje struktury obronne w dobrym stanie.\nOpcjonalnie używa silikonu do zwiększenia zasięgu i szybkości naprawy.
block.mend-projector.description = Ulepszona wersja Naprawiacza. Naprawia bloki w jego otoczeniu.\nMoże wykorzystywać włókno fazowe, aby zwiększyć efektywność budowli.
block.door.description = Małe drzwi, które można otwierać i zamykać, klikając na nie.\nJeśli są otwarte, wrogowie mogą przez nie strzelać oraz nimi przechodzić.
block.door-large.description = Duże drzwi, które można otwierać i zamykać, klikając na nie.\nJeśli są otwarte, wrogowie mogą przez nie strzelać oraz nimi przechodzić.\nObejmują wiele kratek.
block.mender.description = Co jakiś czas naprawia bloki w zasięgu. Utrzymuje struktury obronne w dobrym stanie.\nOpcjonalnie używa krzemu do zwiększenia zasięgu i szybkości naprawy.
block.mend-projector.description = Ulepszona wersja Naprawiacza. Naprawia bloki w jego otoczeniu.\nMoże wykorzystywać włókno fazowe, aby zwiększyć efektywność napraw.
block.overdrive-projector.description = Zwiększa szybkość budynków w zasięgu takich jak wiertła czy przenośniki. Może wykorzystywać włókno fazowe, aby zwiększyć zasięg i efektywność budowli.
block.force-projector.description = Wytwarza pole siłowe w kształcie sześciokąta wokół siebie, chroniąc budynki i jednostki wewnątrz od obrażeń zadanych przez pociski.
block.shock-mine.description = Zadaje obrażenia jednostkom wroga, które wejdą na nią. Ledwo widoczne dla wrogów.
@@ -1963,12 +2018,12 @@ block.bridge-conveyor.description = Zaawansowany blok transportujący. Pozwala n
block.phase-conveyor.description = Zaawansowany blok transportowy dla przedmiotów. Używa energii do teleportacji przedmiotów do połączonego transportera fazowego na spore odległości.
block.sorter.description = Sortuje przedmioty. Jeśli przedmiot pasuje to przechodzi dalej, jeśli nie - to przechodzi na boki.
block.inverted-sorter.description = Sortuje przedmioty jak zwykły sortownik, ale odpowiednie surowce wyciągane są na boki.
block.router.description = Akceptuje przedmioty z jednego miejsca i rozdziela je do trzech innych kierunków. Przydatne w rozdzielaniu materiałów z jednego źródła do wielu celów.\n\n[scarlet]Nigdy nie używaj przy punkcje wejścia materiałów produkcyjnych, ponieważ zostaną one zatkane przez materiały wyjściowe.[]
block.router.description = Przyjmuje przedmioty z jednej strony i równo je dystrybuuje na przylegające przenośniki. \n\n[scarlet]Nigdy nie używaj przy wejściu materiałów produkcyjnych, ponieważ zostaną one zatkane przez materiały wyjściowe.[]\n[scarlet]Cześć mu i chwała na wieki!
block.router.details = Nieuniknione zło. Nie zaleca się stosowania obok zakładów produkcyjnych, ponieważ zostaną one zatkane.
block.distributor.description = Zaawansowany rozdzielacz, rozdzielający przedmioty do 7 innych kierunków.
block.distributor.description = Zaawansowany rozdzielacz, który jest w stanie dystrybuuować przedmioty na więc
block.overflow-gate.description = Rozdzielacz, który przerzuca przedmioty, kiedy główna droga jest przepełniona.
block.underflow-gate.description = Odwrotność bramy przepełnieniowej, który przepuszcza przedmioty główną drogą, gdy boczne drogi są przepełnione.
block.mass-driver.description = Najlepszy blok do transportu przedmiotów. Zbiera wiele przedmiotów naraz a potem wystrzeliwuje je do kolejnej katapulty masy na bardzo duże odległości.
block.underflow-gate.description = Odwrotność bramy przepełnieniowej, która przepuszcza przedmioty główną drogą, gdy boczne drogi są przepełnione.
block.mass-driver.description = Najlepszy blok do transportu przedmiotów. Zbiera wiele przedmiotów naraz, a potem wystrzeliwuje je do kolejnej katapulty masy na bardzo duże odległości.
block.mechanical-pump.description = Tania pompa o niskiej wydajności. Nie wymaga prądu.
block.rotary-pump.description = Zaawansowana pompa. Pompuje więcej cieczy, ale wymaga zasilania.
block.impulse-pump.description = Najlepsza pompa. Pompuje ogromne ilości cieczy, ale wymaga zasilania.
@@ -2001,8 +2056,8 @@ block.pneumatic-drill.description = Ulepszone wiertło, zdolne do wydobywania ty
block.laser-drill.description = Pozwala kopać jeszcze szybciej poprzez technologię laserową, ale wymaga energii. Zdolne do wydobywania toru.
block.blast-drill.description = Najlepsze wiertło. Wymaga dużych ilości energii.
block.water-extractor.description = Wydobywa wodę z ziemi. Użyj go, gdy w pobliżu brakuje wody.
block.cultivator.description = Uprawia małe skupiska zarodników i umieszcza je w gotowych do dalszego przetwarzania kapsułach.
block.cultivator.details = Odzyskana technologia. Służy do jak najbardziej wydajnej produkcji ogromnych ilości biomasy. Prawdopodobnie początkowy inkubator zarodników pokrywający teraz Serpulo.
block.cultivator.description = Hoduje zarodniki i umieszcza je w gotowych do dalszego przetwarzania kapsułach.
block.cultivator.details = Odzyskana technologia. Służy do jak najbardziej wydajnej produkcji ogromnych ilości biomasy. Prawdopodobnie początkowy inkubator zarodników pokrywających teraz Serpulo.
block.oil-extractor.description = Używa bardzo dużych ilości energii do ekstrakcji ropy z piasku. Używaj go w sytuacji kiedy nie ma bezpośredniego źródła ropy w okolicy.
block.core-shard.description = Pierwsza wersja rdzenia. Gdy zostaje zniszczony, wszelki kontakt do regionu zostaje utracony. Nie pozwól na to.
block.core-shard.details = Pierwsza generacja. Kompaktowy. Samoreplikuje się. Wyposażony w jednorazowe silniki startowe. Nie jest przeznaczony do podróży międzyplanetarnych.
@@ -2026,7 +2081,7 @@ block.swarmer.description = Rakietowa wieża artyleryjska, której pociski są z
block.salvo.description = Standardowa wieża szturmowa, strzelająca szybkimi salwami pocisków we wrogów.
block.fuse.description = Duża wieża obronna, wystrzeliwująca przeszywające wiązki we wrogie jednostki.
block.ripple.description = Duża wieża artyleryjska, która strzela jednocześnie kilkoma pociskami posiadającymi różne efekty.
block.cyclone.description = Duża wieża szturmowa, które strzela dużą ilością pocisków posiadających różne efekty.
block.cyclone.description = Duża wieża szturmowa, która strzela dużą ilością pocisków.
block.spectre.description = Duże działo szturmowe, które strzela potężnymi pociskami przebijającymi pancerz wrogich jednostek.
block.meltdown.description = Duże laserowe działo obronne, które strzela pojedynczą ciągłą podpalającą wiązką. Wymaga chłodzenia.
block.foreshadow.description = Duże działo artyleryjskie, które strzela potężnym pociskiem z daleka w pojedyncze jednostki, najpierw eliminując te najsilniejsze.
@@ -2035,8 +2090,8 @@ block.segment.description = Specjalna wieża obronna. Nie zadaje obrażeń, lecz
block.parallax.description = Laserowa wieża przeciwlotnicza, która strzela ciągłym laserem w jednostki, przyciągając je do siebie.
block.tsunami.description = Strumieniowe działo obronne, które automatycznie gasi ogień, gdy jest podłączone do wody.
block.silicon-crucible.description = Oczyszcza krzem z węgla i piasku wykorzystując piratian. Bardziej efektywny w gorących miejscach.
block.disassembler.description = Oddziela egzotyczne materiały z mieszaniny jaką jest żużel z małą efektywnością. Może wyprodukować tor.
block.overdrive-dome.description = Zwiększa szybkość budynków w zasięgu. Wymaga włókna fazowego oraz krzemu by działać.
block.disassembler.description = Oddziela egzotyczne materiały z mieszaniny, jaką jest żużel. Nie jest zbyt efektywny. Może wyprodukować tor.
block.overdrive-dome.description = Zwiększa szybkość budynków w zasięgu. Wymaga włókna fazowego oraz krzemu, by działać.
block.payload-conveyor.description = Przenosi duże ładunki, takie jak jednostki z fabryk.
block.payload-router.description = Dzieli wejście z przenośnika masowego w 3 różne strony.
block.ground-factory.description = Produkuje jednostki naziemne. Jednostki mogą być do razu wykorzystane lub przeniesione do rekonstruktora aby je ulepszyć.
@@ -2056,10 +2111,9 @@ block.logic-display.description = Wyświetla obraz z procesora.
block.large-logic-display.description = Wyświetla obraz z procesora.
block.interplanetary-accelerator.description = Masywna elektromagnetyczna wieża. Przyspiesza rdzeń do prędkości ucieczki by wylądować na innych planetach.
block.repair-turret.description = Na bieżąco naprawia najbliższą uszkodzoną jednostkę w jej sąsiedztwie. Opcjonalnie akceptuje chłodziwo.
block.payload-propulsion-tower.description = Konstrukcja o dużym zasięgu do transportu ładunków. Strzela ładunkami do innych podłączonych wież napędowych ładunku.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
block.core-bastion.description = Rdzeń bazy. Uzbrojony. Po zniszczeniu tracisz sektor.
block.core-citadel.description = Rdzeń bazy. Bardzo dobrze uzbrojony. Składuje wiecej zasobów niż rdzeń Bastion.
block.core-acropolis.description = Rdzeń bazy. Wyjątkowo dobrze uzbrojony. Składuje wiecej zasobów niż rdzeń Cytadela.
block.breach.description = Strzela przebijającymi kulami z berylu bądź wolframu we wrogie cele.
block.diffuse.description = Strzela serią pocisków na szerokim obszarze. Odpycha wrogie cele.
block.sublimate.description = Pali wrogie cele ciągłym płomieniem. Przebija pancerz.
@@ -2076,13 +2130,13 @@ block.electric-heater.description = Ogrzewa bloki naprzeciw, używając do tego
block.slag-heater.description = Ogrzewa bloki naprzeciw, używając do tego żużlu.
block.phase-heater.description = Ogrzewa bloki naprzeciw, używając do tego włókna fazowego.
block.heat-redirector.description = Przekazuje zebrane ciepło do bloku naprzeciw.
block.heat-router.description = Spreads accumulated heat in three output directions.
block.heat-router.description = Rozprowadza zgromadzone ciepło w trzech różnych kierunkach.
block.electrolyzer.description = Poddaje wodę elektrolizie, uzyskując wodór i ozon w postaci gazowej.
block.atmospheric-concentrator.description = Koncentruje azot z atmosfery, używając do tego ciepła.
block.surge-crucible.description = Odlewa stop elektrum z żużlu i krzemu pobierając ciepło. Dostarczając większe ilości ciepła można zwiększyć wydajność procesu.
block.phase-synthesizer.description = Używa toru, piasku i ozonu do wytworzenia włókna fazowego, pobierając jednocześnie ciepło.
block.carbide-crucible.description = Wytwarza węglik z grafitu i wolframu pobierając przy tym ciepło.
block.cyanogen-synthesizer.description = Syntetyzuje cyjan z arkycytu i grafitu używając ciepła.
block.carbide-crucible.description = Wytwarza karbid z grafitu i wolframu pobierając przy tym ciepło.
block.cyanogen-synthesizer.description = Syntezuje cyjan z arkycytu i grafitu używając ciepła.
block.slag-incinerator.description = Niszczy przedmioty bądź płyny używając żużlu. Niezalecane wprowadzanie gazów.
block.vent-condenser.description = Skrapla parę wodną z gejzeru.
block.plasma-bore.description = Wydobywa rudę znajdującą się na ścianach. Wymaga minimalnej ilości prądu. Ilość rudy wydobytej co cykl zależy od ilości bloków rudy naprzeciw wiertła.
@@ -2092,7 +2146,6 @@ block.impact-drill.description = Kiedy stoi na rudzie, wydobywa surowce seriami.
block.eruption-drill.description = Ulepszona wersja wiertła wybuchowego. Zdolne do wydobycia toru. Potrzebuje wodoru do działania.
block.reinforced-conduit.description = Służy do przemieszczania płynów i gazów. Od boku można podłączyć tylko inne rury.
block.reinforced-liquid-router.description = Równo rozdziela płyn do wszystkich podłączonych rur.
block.reinforced-junction.description = Pozwala na przecięcie się dwóch rur, bez mieszania ich zawartości.
block.reinforced-liquid-tank.description = Przechowuje duże ilości płynów.
block.reinforced-liquid-container.description = Przechowuje umiarkowane ilości płynów.
block.reinforced-bridge-conduit.description = Transportuje płyny nad rozmaitymi przeszkodami.
@@ -2113,7 +2166,7 @@ block.duct-router.description = Po równo rozdziela przedmioty w trzech kierunka
block.overflow-duct.description = Odprowadza przedmioty na boki, kiedy droga z przodu jest zapełniona.
block.duct-bridge.description = Transportuje przedmioty nad różnymi przeszkodami.
block.duct-unloader.description = Rozładowuje wybrany przedmiot z bloku z tyłu. Nie może wyjmować przedmiotów ze rdzenia.
block.underflow-duct.description = Odwrotność przepełnieniowej rury próżniowej. Przepuszcza przedmioty do przodu tylko tak boczne wyjścia są zapełnione.
block.underflow-duct.description = Odwrotność przepełnieniowej rury próżniowej. Przepuszcza przedmioty do przodu tylko wtedy, gdy boczne wyjścia są zapełnione.
block.reinforced-liquid-junction.description = Pozwala na przecięcie się dwóch rur, bez mieszania ich zawartości.
block.surge-conveyor.description = Przenosi przedmioty partiami. Może być przyspieszony przy użyciu prądu. Przewodzi prąd.
block.surge-router.description = Równomiernie rozdziela przedmioty w trzy różne strony. Montowany na elektrumowych przenośnikach. Może być przyspieszony przy użyciu prądu. Przewodzi prąd.
@@ -2149,7 +2202,7 @@ block.large-payload-mass-driver.description = Long-range payload transport struc
block.unit-repair-tower.description = Naprawia wszystkie jednostki w jego zasięgu, używając ozonu.
block.radar.description = Stopniowo odkrywa teren i wrogie jednostki. Wymaga prądu.
block.shockwave-tower.description = Uszkadza i niszczy wrogie pociski, używając cyjanu.
block.canvas.description = Displays a simple image with a pre-defined palette. Editable.
block.canvas.description = Wyświetla proste obrazki z predefinowaną paletą. Edytowalne.
unit.dagger.description = Lądowa jednostka ofensywna, strzelająca standardowymi pociskami we wrogie jednostki.
unit.mace.description = Lądowa jednostka ofensywna, miotająca strumieniami ognia we wrogie jednostki.
@@ -2161,13 +2214,13 @@ unit.nova.description = Lądowo-powietrzna jednostka wsparcia, wystrzeliwująca
unit.pulsar.description = Lądowo-powietrzna jednostka wsparcia, wystrzeliwująca leczące sojusznicze struktury wiązki energii. Zadaje spore obrażenia wrogom.
unit.quasar.description = Lądowo-powietrzna jednostka szturmowa wyposażona w pole siłowe. Naprawia pobliskie struktury oraz skutecznie niszczy wrogów.
unit.vela.description = Jednostka krocząca zdolna do lotu. Strzela potężnym laserem podpalającym pobliskich wrogów i ich struktury. Naprawia pobliskie sojusznicze budowle.
unit.corvus.description = Niesamowicie silna jednostka krocząca. Wystrzeliwuje potężny laser niszczący wrogów w sporej odległości. Naprawia sojusznicze struktury. Potrafi pokonac niemalże każdą przeszkodę.
unit.corvus.description = Niesamowicie silna jednostka krocząca. Wystrzeliwuje potężny laser niszczący wrogów w sporej odległości. Naprawia sojusznicze struktury. Potrafi pokonać niemalże każdą przeszkodę.
unit.crawler.description = Drobna lądowa jednostka ofensywna, wbiegająca we wrogów dokonując samozniszczenia.
unit.atrax.description = Lądowa jednostka ofensywna mogąca pokonać niemalże każdą przeszkodę, strzelająca podpalającymi kulami żużlu.
unit.spiroct.description = Pajęcza jednostka mogąca pokonać niemalże każdą przeszkodę. Ponadto, jej ataki mogą ją uleczyć i jednocześnie przyciągnąć wrogów.
unit.arkyid.description = Jednostka szturmowa mogąca pokonać niemalże każdą przeszkodę, strzelająca elektrycznymi pociskami oraz leczącymi ją laserami.
unit.toxopid.description = Jednostka pajęcza mogąca pokonać niemalże każdą przeszkodę. Na krótki dystans posługuje się przebijającymi laserami, a dłuższy strzela odłamkowym, uwalniającym błyskawice granatem.
unit.toxopid.description = Jednostka pajęcza mogąca pokonać niemalże każdą przeszkodę. Na krótki dystans posługuje się przebijającymi laserami, a na dłuższy strzela odłamkowym, uwalniającym błyskawice granatem.
unit.flare.description = Mała latająca jednostka strzelająca standardowymi pociskami we wrogie struktury.
unit.horizon.description = Jednostka latająca zrzucająca bomby kasetowe na cele naziemne.
@@ -2185,7 +2238,7 @@ unit.risso.description = Morska jednostka ofensywna, strzelająca sporą ilości
unit.minke.description = Morska jednostka ofensywna, strzelająca granatami i wybuchowymi pociskami we wrogie jednostki.
unit.bryde.description = Morska jednostka ofensywna, strzelająca dalekosiężnymi pociskami artyleryjskimi i rakietami we wrogie jednostki.
unit.sei.description = Morska jednostka szturmowa, strzelająca barażami rakiet oraz salwami przebijających pocisków we wrogie jednostki.
unit.omura.description = Morski okaz szturmowy wyposażony w dwie platformy tworzące Flary, trzelający przebijającym superszybkim pociskiem we wrogie jednostki.
unit.omura.description = Morski okaz szturmowy wyposażony w dwie platformy tworzące Flary, strzelający przebijającym superszybkim pociskiem we wrogie jednostki.
unit.alpha.description = Lotnicza jednostka administracyjna, która wykonuje podstawowe instrukcje budownicze i wydobywcze. Broni rdzenia Odłamek.
unit.beta.description = Lotnicza jednostka administracyjna, która buduje i wykopuje surowce znacznie szybciej od poprzedniej wersji. Chroni rdzeń Podstawa przed wrogimi jednostkami.
@@ -2222,6 +2275,7 @@ unit.emanate.description = Lotnicza jednostka aministracyjna zdolna do wydobycia
lst.read = Wczytuje liczbę z połączonej komórki pamięci.
lst.write = Zapisuje liczbę do połączonej komórki pamięci.
lst.print = Dodaje tekst do buforu drukującego.\nNie wyświetla niczego dopóki [accent]Print Flush[] nie jest użyte.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Dodaje operacje do buforu rysującego.\nNie wyświetla niczego dopóki [accent]Draw Flush[] nie jest użyte.
lst.drawflush = Wyświetla oczekujące operacje z funkcji [accent]Draw[] na wyświetlaczu.
lst.printflush = Dodaje oczekujące operacje z funkcji [accent]Print[] do bloku wiadomości.
@@ -2254,9 +2308,48 @@ lst.flushmessage = Wyświetl wiadomość na ekranie z bufora tekstowego.\nPoczek
lst.cutscene = Manipuluj kamerą gracza.
lst.setflag = Ustaw globalną flagę, którą mogą odczytać wszystkie procesory.
lst.getflag = Sprawdź, czy ustawiona jest flaga globalna.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.setprop = Ustaw właściwość jednostki lub budynku.
lst.effect = Stwórz efekt cząsteczki.
lst.sync = Synchronizuje zmienną poprzez sieć.\nWywoływane maksymalnie 10 razy na sekundę.
lst.makemarker = Stwórz nowy marker logiki.\nMusisz podać ID, aby móc go później zidentyfikować.\nLimit markerów to 20,000.
lst.setmarker = Ustaw właściwości markera.\nID markera musi być takie samo jak podczas jego tworzenia.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Logika budowania jednostek nie jest tu dozwolona.
@@ -2271,8 +2364,8 @@ laccess.controller = Kontroler jednostki. Jeśli jest kontrolowana przez proceso
laccess.dead = Sprawdza czy jednostka/budynek jest zniszczony lub już nie istnieje.
laccess.controlled = Zwraca:\n[accent]@ctrlProcessor[] jeśli kontrolerem jednostki jest procesor\n[accent]@ctrlPlayer[] jeśli kontrolerem jednostki/budynku jest gracz\n[accent]@ctrlFormation[] jeśli jednostka jest w formacji\nW innym wypadku 0.
laccess.progress = Postęp akcji, od 0 do 1.\nZwraca produkcję, przeładowanie wieżyczki lub postęp konstrukcji.
laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
laccess.speed = Najwyższa prędkość jednostki, w kratkach/sec.
laccess.id = ID jednostki/bloku/przedmiotu/płynu.\nOdwrotnośc operacji wyszukiwania.
lcategory.unknown = Inne
lcategory.unknown.description = Niezkategoryzowane instrukcje.
@@ -2300,6 +2393,7 @@ graphicstype.poly = Wypełnia wielokąt foremny.
graphicstype.linepoly = Rysuje obwód wielokąta foremnego.
graphicstype.triangle = Wypełnia trójkąt.
graphicstype.image = Rysuje ikonę jakiejś treści.\nnp. [accent]@router[] lub [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Zawsze prawda.
lenum.idiv = Dzielenie liczb całkowitych.
@@ -2319,7 +2413,7 @@ lenum.xor = Bitowe XOR.
lenum.min = Minimum dwóch liczb.
lenum.max = Maksimum dwóch liczb.
lenum.angle = Kąt wektoru w stopniach.
lenum.anglediff = Absolute distance between two angles in degrees.
lenum.anglediff = Bezwzględny dystans między dwoma kątami w stopniach.
lenum.len = Długość wektoru.
lenum.sin = Sinus, w stopniach.
@@ -2393,7 +2487,7 @@ lenum.unbind = Kompletnie wyłącza kontrolę za pomocą logiki.\nWznawia domyś
lenum.move = Przemieść się do określonej pozycji.
lenum.approach = Zbliż się do pozycji w promieniu.
lenum.pathfind = Odnajdź ścieżkę do punktu zrzutu przeciwników.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.autopathfind = Automatycznie znajduję drogę do najbliższego rdzenia wroga lub punktu zrzutu.\nDziała tak samo jak normalne znajdowanie drogi.
lenum.target = Strzel w określoną pozycję.
lenum.targetp = Strzel w jednostkę/budynek z zachowaniem trajektorii.
lenum.itemdrop = Upuść przedmiot.
@@ -2407,3 +2501,10 @@ lenum.build = Buduj strukturę.
lenum.getblock = Pobierz budynek i typ ze współrzędnych.\nJednostka musi być w zasięgu pozycji.\nSolidne niebudynki będą miały typ [accent]@solid[].
lenum.within = Sprawdź czy jednostka jest w pobliżu pozycji.
lenum.boost = Zacznij/zakończ przyspieszać.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -341,12 +341,23 @@ open = Abrir
customize = Customizar
cancel = Cancelar
command = Comando
command.queue = [lightgray][Queuing]
command.mine = Minerar
command.repair = Reparar
command.rebuild = Reconstruir
command.assist = Assist Player
command.move = Mover
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Abrir Link
copylink = Copiar link
back = Voltar
@@ -427,6 +438,7 @@ editor.waves = Hordas:
editor.rules = Regras:
editor.generation = Geração:
editor.objectives = Objetivos:
editor.locales = Locale Bundles
editor.ingame = Editar em jogo
editor.playtest = Jogar Teste
editor.publish.workshop = Publicar na oficina
@@ -483,6 +495,7 @@ editor.default = [lightgray]<padrão>
details = Detalhes...
edit = Editar...
variables = Variáveis
logic.globals = Built-in Variables
editor.name = Nome:
editor.spawn = Spawnar unidade
editor.removeunit = Remover unidade
@@ -494,6 +507,7 @@ editor.errorlegacy = Esse mapa é velho demais, e usa um formato de mapa legacy
editor.errornot = Este não é um arquivo de mapa.
editor.errorheader = Este arquivo de mapa não é mais válido ou está corrompido.
editor.errorname = O mapa não tem nome definido.
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Atualizar
editor.randomize = Aleatorizar
editor.moveup = Mover para Cima
@@ -505,6 +519,7 @@ editor.sectorgenerate = Gerar Setor
editor.resize = Redimen-\nsionar
editor.loadmap = Carregar\nmapa
editor.savemap = Salvar\nmapa
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Salvo!
editor.save.noname = Seu mapa não tem um nome! Coloque um no menu de "Informação do mapa"
editor.save.overwrite = O seu mapa substitui um mapa já construído! Coloque um nome diferente no menu "Informação do mapa"
@@ -592,6 +607,23 @@ filter.option.floor2 = Chão secundário
filter.option.threshold2 = Margem secundária
filter.option.radius = Raio
filter.option.percentile = Percentual
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Largura:
height = Altura:
@@ -644,9 +676,11 @@ objective.commandmode.name = Modo de Comando
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Minimapa
marker.point.name = Point
marker.shape.name = Shape
marker.text.name = Texto
marker.line.name = Line
marker.quad.name = Quad
marker.background = Fundo
marker.outline = Contorno
@@ -675,7 +709,6 @@ resources.max = Máximo
bannedblocks = Blocos Banidos
objectives = Objetivos
bannedunits = Unidades Banidas
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Adicionar Todos
@@ -734,8 +767,7 @@ sector.curlost = Setor Perdido
sector.missingresources = [scarlet]Recursos Insuficientes no Núcleo
sector.attacked = Setor [accent]{0}[white] sob ataque!
sector.lost = Setor [accent]{0}[white] perdido!
#note: the missing space in the line below is intentional
sector.captured = Setor [accent]{0}[white]capturado!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Trocar Ícone
sector.noswitch.title = Incapaz de Mudar de Setores
sector.noswitch = Você não pode trocar de setor enquanto um setor existente estiver sob ataque.\n\nSetor: [accent]{0}[] em [accent]{1}[]
@@ -1009,6 +1041,7 @@ bullet.splashdamage = [stat]{0}[lightgray] de dano em área ~[stat] {1}[lightgra
bullet.incendiary = [stat]Incendiário
bullet.homing = [stat]Guiado
bullet.armorpierce = [stat]pentração de armadura
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x balas de fragmentação:
@@ -1064,6 +1097,7 @@ setting.backgroundpause.name = Pausar em segundo plano
setting.buildautopause.name = Pausar Automaticamente Quando for Construir
setting.doubletapmine.name = Clique Duplo Para Minerar
setting.commandmodehold.name = Segure para o modo de comando
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Desativar Mods em Crash de Começo
setting.animatedwater.name = Água animada
setting.animatedshields.name = Escudos animados
@@ -1117,7 +1151,7 @@ setting.sfxvol.name = Volume de Efeitos
setting.mutesound.name = Desligar Som
setting.crashreport.name = Enviar denúncias anônimas de erros
setting.savecreate.name = Criar salvamentos automaticamente
setting.publichost.name = Visibilidade do jogo público
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Limites de Player
setting.chatopacity.name = Opacidade do chat
setting.lasersopacity.name = Opacidade do laser
@@ -1137,6 +1171,7 @@ keybind.title = Refazer teclas
keybinds.mobile = [scarlet]A maior parte das teclas aqui não são funcionais em dispositivos móveis. É unicamente suportado movimento básico.
category.general.name = Geral
category.view.name = Ver
category.command.name = Unit Command
category.multiplayer.name = Multijogador
category.blocks.name = Selecionar bloco
placement.blockselectkeys = \n[lightgray]Tecla: [{0},
@@ -1154,6 +1189,23 @@ keybind.mouse_move.name = Seguir o Cursor
keybind.pan.name = Câmera livre
keybind.boost.name = Impulsionar
keybind.command_mode.name = Modo de Comando
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Selecionar região
keybind.schematic_menu.name = Menu de Esquemas
@@ -1217,9 +1269,12 @@ mode.pvp.description = Lute contra outros jogadores locais.
mode.attack.name = Ataque
mode.attack.description = Sem hordas, com o objetivo de destruir a base inimiga.
mode.custom = Regras personalizadas
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Recursos infinitos
rules.onlydepositcore = Permitir apenas depósito no núcleo
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reatores explodem
rules.coreincinerates = Núcleo incinera itens em excesso
rules.disableworldprocessors = Desativar processadores mundiais
@@ -1737,7 +1792,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricador
block.tank-refabricator.name = Refabricador de Tanque
block.mech-refabricator.name = Refabricador de Mech
block.ship-refabricator.name = Refrabricador de Nave
@@ -1856,6 +1910,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2064,7 +2119,6 @@ block.logic-display.description = Exibe gráficos arbitrários de um processador
block.large-logic-display.description = Exibe gráficos arbitrários de um processador lógico.
block.interplanetary-accelerator.description = Uma enorme torre eletromagnética. Acelera a velocidade de fuga dos núcleos para o desdobramento interplanetário.
block.repair-turret.description = Conserta continuamente a unidade danificada mais próxima a ela. Opcionalmente, aceita líquido refrigerante.
block.payload-propulsion-tower.description = Estrutura de transporte de carga de longo alcance. Atira cargas para outras torres de propulsão de carga interligadas.
#Erekir
block.core-bastion.description = O núcleo da base. Blindado. Uma vez destruído, o setor é perdido.
@@ -2102,7 +2156,6 @@ block.impact-drill.description = Quando colocados sobre minério, os itens saem
block.eruption-drill.description = Uma Broca de Impacto melhorada. Capaz de minerar Tório. Requer Hidrogênio.
block.reinforced-conduit.description = Movimenta fluidos para frente. Não aceita entradas de outros blocos, a não ser canos, dos lados.
block.reinforced-liquid-router.description = Distribui fluidos igualmente para todos os lados.
block.reinforced-junction.description = Funciona como uma ponte para dois canos se cruzando.
block.reinforced-liquid-tank.description = Armazena uma grande quantidade de fluidos.
block.reinforced-liquid-container.description = Armazena uma quantidade considerável de fluidos.
block.reinforced-bridge-conduit.description = Transporta fluidos sobre estruturas e terrenos.
@@ -2221,6 +2274,7 @@ unit.emanate.description = Constrói estruturas para defender o Núcelo Acrópol
lst.read = Ler um número de uma célula de memória vinculada.
lst.write = Escrever um número de uma célula de memória vinculada.
lst.print = Adiciona texto ao buffer de impressão.\nNão exibe nada até [accent]Print Flush[] ser usado.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Adicionar uma operação ao buffer de desenho.\nNão exibe nada até [accent]Draw Flush[] ser usado.
lst.drawflush = Liberar operações [accent]Draw[] enfileiradas para um display.
lst.printflush = Liberar operações [accent]Print[] enfileiradas para um bloco de mensagem.
@@ -2256,6 +2310,45 @@ lst.getflag = Verifique se um sinalizador global está definido.
lst.setprop = Define uma propriedade de uma unidade ou edifício.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Lógica de construção de unidades não é permitida aqui.
@@ -2299,6 +2392,7 @@ graphicstype.poly = Preenche um polígono regular.
graphicstype.linepoly = Desenha um contorno de polígono regular.
graphicstype.triangle = Preenche um triângulo.
graphicstype.image = Desenha uma imagem de algum conteúdo.\nex: [accent]@router[] ou [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Sempre verdade.
lenum.idiv = Divisão inteira.
@@ -2405,3 +2499,10 @@ lenum.build = Construa uma estrutura.
lenum.getblock = Busque uma construção e digite nas coordenadas.\nA unidade deve estar no intervalo de posição.\nConstruções sólidas não construídas terão o tipo [accent]@solid[].
lenum.within = Verifique se a unidade está perto de uma posição.
lenum.boost = Iniciar/parar o reforço.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -337,12 +337,23 @@ open = Abrir
customize = Customizar
cancel = Cancelar
command = Command
command.queue = [lightgray][Queuing]
command.mine = Mine
command.repair = Repair
command.rebuild = Rebuild
command.assist = Assist Player
command.move = Move
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Abrir Ligação
copylink = Copiar ligação
back = Voltar
@@ -423,6 +434,7 @@ editor.waves = Hordas:
editor.rules = Regras:
editor.generation = Geração:
editor.objectives = Objectives
editor.locales = Locale Bundles
editor.ingame = Editar em jogo
editor.playtest = Playtest
editor.publish.workshop = Publicar na oficina
@@ -478,6 +490,7 @@ editor.default = [lightgray]<padrão>
details = Detalhes...
edit = Editar...
variables = Vars
logic.globals = Built-in Variables
editor.name = Nome:
editor.spawn = Criar unidade
editor.removeunit = Remover unidade
@@ -489,6 +502,7 @@ editor.errorlegacy = Esse mapa é velho demais, E usa um formato de mapa legacy
editor.errornot = Este não é um ficheiro de mapa.
editor.errorheader = Este ficheiro de mapa não é mais válido ou está corrompido.
editor.errorname = O mapa não tem nome definido.
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Atualizar
editor.randomize = Aleatorizar
editor.moveup = Move Up
@@ -500,6 +514,7 @@ editor.sectorgenerate = Sector Generate
editor.resize = Redimen-\nsionar
editor.loadmap = Carregar\nmapa
editor.savemap = Gravar\nmapa
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Gravado!
editor.save.noname = Seu mapa não tem um nome! Coloque um no menu de "Informação do mapa"
editor.save.overwrite = O seu mapa substitui um mapa já construído! Coloque um nome diferente no menu "Informação do mapa"
@@ -584,6 +599,23 @@ filter.option.floor2 = Chão secundário
filter.option.threshold2 = Margem secundária
filter.option.radius = Raio
filter.option.percentile = Percentual
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Largura:
height = Altura:
@@ -634,9 +666,11 @@ objective.destroycore.name = Destroy Core
objective.commandmode.name = Command Mode
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Minimap
marker.point.name = Point
marker.shape.name = Shape
marker.text.name = Text
marker.line.name = Line
marker.quad.name = Quad
marker.background = Background
marker.outline = Outline
objective.research = [accent]Research:\n[]{0}[lightgray]{1}
@@ -661,7 +695,6 @@ resources.max = Max
bannedblocks = Blocos banidos
objectives = Objectives
bannedunits = Banned Units
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Adiciona tudo
@@ -720,7 +753,7 @@ sector.curlost = Sector Lost
sector.missingresources = [scarlet]Insufficient Core Resources
sector.attacked = Sector [accent]{0}[white] under attack!
sector.lost = Sector [accent]{0}[white] lost!
sector.captured = Sector [accent]{0}[white]captured!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Change Icon
sector.noswitch.title = Unable to Switch Sectors
sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[]
@@ -989,6 +1022,7 @@ bullet.splashdamage = [stat]{0}[lightgray] Dano em área ~[stat] {1}[lightgray]
bullet.incendiary = [stat]Incendiário
bullet.homing = [stat]Guiado
bullet.armorpierce = [stat]armor piercing
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
@@ -1044,6 +1078,7 @@ setting.backgroundpause.name = Pause In Background
setting.buildautopause.name = Auto-Pause Building
setting.doubletapmine.name = Double-Tap to Mine
setting.commandmodehold.name = Hold For Command Mode
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Disable Mods On Startup Crash
setting.animatedwater.name = Água animada
setting.animatedshields.name = Escudos animados
@@ -1097,7 +1132,7 @@ setting.sfxvol.name = Volume de Efeitos
setting.mutesound.name = Desligar Som
setting.crashreport.name = Enviar denuncias de crash anonimas
setting.savecreate.name = Criar gravamentos automaticamente
setting.publichost.name = Visibilidade do jogo público
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Limite de Jogadores
setting.chatopacity.name = Opacidade do chat
setting.lasersopacity.name = Opacidade do Power Laser
@@ -1117,6 +1152,7 @@ keybind.title = Refazer teclas
keybinds.mobile = [scarlet]A maior parte das teclas aqui não são funcionais em aparelhos móveis. Apenas movimento básico é suportado.
category.general.name = Geral
category.view.name = Ver
category.command.name = Unit Command
category.multiplayer.name = Multijogador
category.blocks.name = Block Select
placement.blockselectkeys = \n[lightgray]Key: [{0},
@@ -1134,6 +1170,23 @@ keybind.mouse_move.name = Follow Mouse
keybind.pan.name = Pan View
keybind.boost.name = Boost
keybind.command_mode.name = Command Mode
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Selecionar região
keybind.schematic_menu.name = Menu esquemático
@@ -1197,9 +1250,12 @@ mode.pvp.description = Lutar contra outros jogadores locais.
mode.attack.name = Ataque
mode.attack.description = Sem hordas, com o objetivo de destruir a base inimiga.
mode.custom = Regras personalizadas
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Recursos infinitos
rules.onlydepositcore = Only Allow Core Depositing
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reactor Explosions
rules.coreincinerates = Core Incinerates Overflow
rules.disableworldprocessors = Disable World Processors
@@ -1717,7 +1773,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricator
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1835,6 +1890,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2034,7 +2090,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2070,7 +2125,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2187,6 +2241,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Read a number from a linked memory cell.
lst.write = Write a number to a linked memory cell.
lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used.
lst.drawflush = Flush queued [accent]Draw[] operations to a display.
lst.printflush = Flush queued [accent]Print[] operations to a message block.
@@ -2222,6 +2277,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position.
@@ -2260,6 +2354,7 @@ graphicstype.poly = Fill a regular polygon.
graphicstype.linepoly = Draw a regular polygon outline.
graphicstype.triangle = Fill a triangle.
graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Always true.
lenum.idiv = Integer division.
lenum.div = Division.\nReturns [accent]null[] on divide-by-zero.
@@ -2353,3 +2448,10 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -341,12 +341,23 @@ open = Deschide
customize = Personalizează Regulile
cancel = Anulare
command = Command
command.queue = [lightgray][Queuing]
command.mine = Mine
command.repair = Repair
command.rebuild = Rebuild
command.assist = Assist Player
command.move = Move
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Deschide Linkul
copylink = Copiază Linkul
back = Înapoi
@@ -427,6 +438,7 @@ editor.waves = Valuri:
editor.rules = Reguli:
editor.generation = Generare:
editor.objectives = Objectives
editor.locales = Locale Bundles
editor.ingame = Editează în Joc
editor.playtest = Playtest
editor.publish.workshop = Publică pe Workshop
@@ -483,6 +495,7 @@ editor.default = [lightgray]<Prestabilit>
details = Detalii...
edit = Editează...
variables = Vars
logic.globals = Built-in Variables
editor.name = Nume:
editor.spawn = Adaugă Unitate
editor.removeunit = Înlătură Unitate
@@ -494,6 +507,7 @@ editor.errorlegacy = Hartă aceasta este prea veche, și folosește un format î
editor.errornot = Acesta nu este un fișier cu o hartă.
editor.errorheader = Acest fișier de hartă este invalid sau corupf.
editor.errorname = Harta nu are un nume definit. Încerci cumva să încarci un fișier cu o salvare de joc?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Update
editor.randomize = Aleatoriu
editor.moveup = Move Up
@@ -505,6 +519,7 @@ editor.sectorgenerate = Sector Generate
editor.resize = Schimbă Dimensiune
editor.loadmap = Încarcă Harta
editor.savemap = Salvează Harta
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Salvat!
editor.save.noname = Hartă ta nu are un nume! Setează unul în meniul 'Informații despre hartă'.
editor.save.overwrite = Hartă ta suprascrie o hartă prestabilită! Alege un nume diferit în meniul 'Informații despre hartă'.
@@ -591,6 +606,23 @@ filter.option.floor2 = Podea Secundară
filter.option.threshold2 = Cantitate Secundară
filter.option.radius = Rază
filter.option.percentile = Procent
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Lățime:
height = Înălțime:
@@ -641,9 +673,11 @@ objective.destroycore.name = Destroy Core
objective.commandmode.name = Command Mode
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Minimap
marker.point.name = Point
marker.shape.name = Shape
marker.text.name = Text
marker.line.name = Line
marker.quad.name = Quad
marker.background = Background
marker.outline = Outline
objective.research = [accent]Research:\n[]{0}[lightgray]{1}
@@ -669,7 +703,6 @@ resources.max = Max
bannedblocks = Blocuri Interzise
objectives = Objectives
bannedunits = Unități Interzise
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Adaugă-le pe toate
@@ -728,8 +761,7 @@ sector.curlost = Sector Pierdut
sector.missingresources = [scarlet]Resurse din Nucleu Insuficiente
sector.attacked = Sectorul [accent]{0}[white] este atacat!
sector.lost = Ai pierdut sectorul [accent]{0}[white]!
#spațiul lipsă de mai jos e intenționat
sector.captured = Ai capturat sectorul [accent]{0}[white]!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Schimbă Iconița
sector.noswitch.title = Unable to Switch Sectors
sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[]
@@ -1001,6 +1033,7 @@ bullet.splashdamage = [stat]{0}[lightgray] forță pe raza ~[stat] {1}[lightgray
bullet.incendiary = [stat]incendiar
bullet.homing = [stat]cu radar
bullet.armorpierce = [stat]armor piercing
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x fragmente:
@@ -1056,6 +1089,7 @@ setting.backgroundpause.name = Pune Pauză în Fundal
setting.buildautopause.name = Autopauză de la Construit
setting.doubletapmine.name = Dublu-Click pt a Mina
setting.commandmodehold.name = Hold For Command Mode
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Dezactivează Modurile în Cazul unui Crash la Pornire
setting.animatedwater.name = Suprafețe Animate
setting.animatedshields.name = Scuturi Animate
@@ -1109,7 +1143,7 @@ setting.sfxvol.name = Volum Efecte Sonore
setting.mutesound.name = Sunetul pe Mut
setting.crashreport.name = Trimite Rapoarte de Crash anonime
setting.savecreate.name = Auto-Creează Salvări
setting.publichost.name = Vizibilitatea Jocurilor Publice
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Limita Jucătorilor
setting.chatopacity.name = Opacitate Chat
setting.lasersopacity.name = Opacitate Laser Electric
@@ -1129,6 +1163,7 @@ keybind.title = Reatribuie Taste
keybinds.mobile = [scarlet]Majoritatea tastelor atribuite aici nu funcționează pe mobil. Doar mișcările direcționale de bază sunt suportate.
category.general.name = General
category.view.name = Privire
category.command.name = Unit Command
category.multiplayer.name = Multiplayer
category.blocks.name = Selectare Bloc
placement.blockselectkeys = \n[lightgray]Taste: [{0},
@@ -1146,6 +1181,23 @@ keybind.mouse_move.name = Urmărește Mouseul
keybind.pan.name = Mișcă Harta
keybind.boost.name = Boost
keybind.command_mode.name = Command Mode
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Selectează Regiunea
keybind.schematic_menu.name = Meniu Scheme
@@ -1209,9 +1261,12 @@ mode.pvp.description = Luptă împotriva altor jucători local.\n[gray]E nevoie
mode.attack.name = Atac
mode.attack.description = Distruge baza inamicului. \n[gray]E nevoie de un nucleu Agresor (roșu) pe hartă pt a juca.
mode.custom = Reguli Personalizate
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Resurse Infinite
rules.onlydepositcore = Only Allow Core Depositing
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reactoarele Explodează
rules.coreincinerates = Nucleul Incinerează Resursele în Plus
rules.disableworldprocessors = Disable World Processors
@@ -1731,7 +1786,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricator
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1850,6 +1904,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2050,7 +2105,6 @@ block.logic-display.description = Afișează grafica transmisă de un procesor l
block.large-logic-display.description = Afișează grafica transmisă de un procesor logic.
block.interplanetary-accelerator.description = Un turn masiv cu o armă railgun electromagnetică. Accelerează nucleele la viteză cosmică pt lansare interplanetară.
block.repair-turret.description = Repară încontinuu cea mai deteriorată unitate din vecinătate. Poate accepta răcitor.
block.payload-propulsion-tower.description = Structură de transport al încărcăturii pe distanțe mari. Lansează încărcătura către un alt turn propulsor conectat.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2086,7 +2140,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2205,6 +2258,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Citește un număr dintr-o celulă de memorie conectată.
lst.write = Scrie un număr într-o celulă de memorie conectată.
lst.print = Adaugă text în bufferul de tipărire.\nNu tipărește decât când se execută [accent]Print Flush[].
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Adaugă o operație în bufferul de desenare.\nNu afișează decât când se execută [accent]Draw Flush[].
lst.drawflush = Afișează pe un monitor instrucțiunile [accent]Draw[] aflate în așteptare.
lst.printflush = Tipărește într-un bloc Mesaj instrucțiunile [accent]Print[] aflate în așteptare.
@@ -2240,6 +2294,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Nu ai voie să construiești cu unitățile folosind procesoare.
@@ -2282,6 +2375,7 @@ graphicstype.poly = Desenează un poligon regulat.
graphicstype.linepoly = Desenează conturul unui poligon regulat.
graphicstype.triangle = Desenează un triunghi.
graphicstype.image = Desenează imaginea unui obiect din joc.\nde ex.: [accent]@router[] sau [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Mereu adevărat.
lenum.idiv = Împărțirea naturală a numerelor (int).
@@ -2390,3 +2484,10 @@ lenum.build = Construiește o structură.
lenum.getblock = Obține clădirea și tipul clădirii aflate la coordonatele specificate.\nUnitatea trebuie să se afle în raza poziției.\nBlocurile solide care nu sunt clădiri vor avea tipul [accent]@solid[].
lenum.within = Verifică dacă unitatea se află în apropierea poziției.
lenum.boost = Pornește/oprește propulsorul.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -1,4 +1,4 @@
credits.text = Создатель [royal]Anuken[] — [sky]anukendev@gmail.com[]\n\nЕсть недоработки в переводе или хотите найти союзников для совместной игры?\nПишите в оф. русский [accent]discord-сервер Mindustry[].\n\nРедакторы и переводчики на русский язык:\n[blue]Prosta4ok_ua[green]#[yellow]6336\n[darkgray]XZimur[]\n[#30FF30]Beryllium\n[tan]Félix [slate]Córvus\n[orange]Vanguard\n[#a00000]Slotterleet[]\n[unlaunched]Даркнесс#3729[]\n[white]lucin#0949[]
credits.text = Создатель [royal]Anuken[] — [sky]anukendev@gmail.com[]\n\nЕсть недоработки в переводе или хотите найти союзников для совместной игры?\nПишите в оф. русский [accent]discord-сервер Mindustry[].\n\nРедакторы и переводчики на русский язык:\n[blue]Prosta4ok_ua[green]#[yellow]6336\n[darkgray]XZimur[]\n[lightgray]routerchain\n[tan]Félix [slate]Córvus\n[orange]Vanguard\n[#a00000]Slotterleet[]\n[unlaunched]inflexibledarkness[]\n[white]lucin#0949[]
credits = Авторы
contributors = Переводчики и помощники
discord = Присоединяйтесь к нашему Discord!
@@ -341,12 +341,23 @@ open = Открыть
customize = Настроить правила
cancel = Отмена
command = Командовать
command.queue = [lightgray][Queuing]
command.mine = Добывать
command.repair = Ремонтировать
command.rebuild = Восстанавливать
command.assist = Помогать игроку
command.move = Двигаться
command.boost = Лететь
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Открыть ссылку
copylink = Скопировать ссылку
back = Назад
@@ -427,6 +438,7 @@ editor.waves = Волны:
editor.rules = Правила:
editor.generation = Генерация:
editor.objectives = Цели
editor.locales = Locale Bundles
editor.ingame = Редактировать в игре
editor.playtest = Опробовать карту
editor.publish.workshop = Опубликовать в Мастерской
@@ -483,6 +495,7 @@ editor.default = [lightgray]<По умолчанию>
details = Подробности…
edit = Редактировать…
variables = Переменные
logic.globals = Built-in Variables
editor.name = Название:
editor.spawn = Создать боевую единицу
editor.removeunit = Удалить боевую единицу
@@ -494,6 +507,7 @@ editor.errorlegacy = Эта карта слишком старая и испол
editor.errornot = Это не файл карты.
editor.errorheader = Этот файл карты недействителен или повреждён.
editor.errorname = Карта не имеет имени. Может быть, вы пытаетесь загрузить сохранение?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Обновить
editor.randomize = Случайно
editor.moveup = Выше
@@ -505,6 +519,7 @@ editor.sectorgenerate = Генерация сектора
editor.resize = Изменить\nразмер
editor.loadmap = Загрузить\nкарту
editor.savemap = Сохранить\nкарту
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Сохранено!
editor.save.noname = У вашей карты нет имени! Назовите её в меню «Информация о карте».
editor.save.overwrite = Ваша карта не может быть записана поверх встроенной карты! Введите другое название в меню «Информация о карте»
@@ -591,6 +606,23 @@ filter.option.floor2 = Вторая поверхность
filter.option.threshold2 = Вторичный предельный порог
filter.option.radius = Радиус
filter.option.percentile = Процентиль
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Ширина:
height = Высота:
@@ -641,9 +673,11 @@ objective.destroycore.name = Уничтожить ядро
objective.commandmode.name = Командовать единицей
objective.flag.name = Флаг
marker.shapetext.name = Фигура с текстом
marker.minimap.name = Миникарта
marker.point.name = Point
marker.shape.name = Фигура
marker.text.name = Текст
marker.line.name = Line
marker.quad.name = Quad
marker.background = Фон
marker.outline = Контур
objective.research = [accent]Исследуйте:\n[]{0}[lightgray]{1}
@@ -669,7 +703,6 @@ resources.max = Максимум
bannedblocks = Запрещённые блоки
objectives = Цели
bannedunits = Запрещённые единицы
rules.hidebannedblocks = Скрыть запрещенные блоки
bannedunits.whitelist = Запрещенные единицы как белый список
bannedblocks.whitelist = Запрещенные блоки как белый список
addall = Добавить всё
@@ -729,8 +762,7 @@ sector.curlost = Сектор потерян
sector.missingresources = [scarlet]Недостаточно ресурсов для высадки
sector.attacked = Сектор [accent]{0}[white] атакован!
sector.lost = Сектор [accent]{0}[white] потерян!
#note: the missing space in the line below is intentional (недостающий пробел управляется кодом)
sector.captured = Сектор [accent]{0}[white]захвачен!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Изменить иконку
sector.noswitch.title = Перемещение между секторами
sector.noswitch = Вы не можете переключаться между секторами, пока существующий сектор находится под атакой.\n\nСектор: [accent]{0}[] на [accent]{1}[]
@@ -1001,6 +1033,7 @@ bullet.splashdamage = [stat]{0}[lightgray] урона в радиусе ~[stat]
bullet.incendiary = [stat]зажигательный
bullet.homing = [stat]самонаводящийся
bullet.armorpierce = [stat]бронебойный
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} сек[lightgray] подавления регенерации в радиусе ~ [stat]{1}[lightgray] блоков
bullet.interval = [stat]{0}/сек[lightgray] интервальный(ых) снаряд(ов):
bullet.frags = [stat]{0}[lightgray]x осколочный(ых) снаряд(ов):
@@ -1056,6 +1089,7 @@ setting.backgroundpause.name = Фоновая пауза
setting.buildautopause.name = Автоматическая приостановка строительства
setting.doubletapmine.name = Добыча руды двойным нажатием
setting.commandmodehold.name = Удерживать для командования боевыми единицами
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Отключение модификаций после вылета при запуске
setting.animatedwater.name = Анимированные поверхности
setting.animatedshields.name = Анимированные щиты
@@ -1102,14 +1136,14 @@ setting.position.name = Отображать координаты игрока
setting.mouseposition.name = Показывать позицию курсора
setting.musicvol.name = Громкость музыки
setting.atmosphere.name = Отображать атмосферу планеты
setting.drawlight.name = Draw Darkness/Lighting
setting.drawlight.name = Отображать тени/освещение
setting.ambientvol.name = Громкость окружения
setting.mutemusic.name = Заглушить музыку
setting.sfxvol.name = Громкость эффектов
setting.mutesound.name = Заглушить звук
setting.crashreport.name = Отправлять анонимные отчёты о вылетах
setting.savecreate.name = Автоматическое создание сохранений
setting.publichost.name = Общедоступность игры
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Ограничение игроков
setting.chatopacity.name = Непрозрачность чата
setting.lasersopacity.name = Непрозрачность лазеров энергоснабжения
@@ -1129,6 +1163,7 @@ keybind.title = Настройка управления
keybinds.mobile = [scarlet]Большинство комбинаций клавиш здесь не работает на мобильных устройствах. Поддерживается только базовое движение.
category.general.name = Основное
category.view.name = Просмотр
category.command.name = Unit Command
category.multiplayer.name = Сетевая игра
category.blocks.name = Выбор блока
placement.blockselectkeys = \n[lightgray]Клавиша: [{0},
@@ -1146,6 +1181,23 @@ keybind.mouse_move.name = Следовать за курсором
keybind.pan.name = Панорамирование камеры
keybind.boost.name = Полёт/ускорение
keybind.command_mode.name = Командование боевыми единицами
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Перестроить в области
keybind.schematic_select.name = Выбрать область
keybind.schematic_menu.name = Меню схем
@@ -1209,8 +1261,11 @@ mode.pvp.description = Сражайтесь против других игрок
mode.attack.name = Атака
mode.attack.description = Уничтожьте вражескую базу.\n[gray]Для игры требуется вражеское ядро на карте.
mode.custom = Пользовательские правила
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Скрыть запрещенные блоки
rules.infiniteresources = Бесконечные ресурсы
rules.onlydepositcore = Разрешен перенос только в ядро
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Взрывы реакторов
rules.coreincinerates = Ядро сжигает избыток ресурсов
rules.disableworldprocessors = Отключить мировые процессоры
@@ -1731,7 +1786,6 @@ block.disperse.name = Диапазон
block.afflict.name = Бедствие
block.lustre.name = Сияние
block.scathe.name = Погибель
block.fabricator.name = Фабрикатор
block.tank-refabricator.name = Рефабрикатор танков
block.mech-refabricator.name = Рефабрикатор мехов
block.ship-refabricator.name = Рефабрикатор кораблей
@@ -1851,12 +1905,13 @@ onset.turrets = Боевые единицы эффективны, но [accent]
onset.turretammo = Снабдите турель [accent]бериллиевыми боеприпасами.[]
onset.walls = [accent]Стены[] могут предотвратить повреждение близлежащих построек.\nПоставьте \uf6ee [accent]бериллиевые стены[] вокруг турели.
onset.enemies = Враг на подходе, приготовьтесь защищаться.
onset.defenses = [accent]Приготовьте оборону:[lightgray] {0}
onset.attack = Враг уязвим. Начните контратаку.
onset.cores = Новые ядра могут быть поставлены на [accent]зоны ядра[].\nНовые ядра функционируют как передовые базы и имеют общий инвентарь между другими ядрами.\nПоставьте \uf725 ядро.
onset.detect = Враг обнаружит вас через 2 минуты.\nПриготовьте оборону, добычу и производство.
onset.commandmode = Удерживайте [accent]shift[], чтобы войти в [accent]режим командования[].\n[accent]Щелкните левой кнопкой мыши и выделите область[] для выбора боевых единиц.\n[accent]Щелкните правой кнопкой мыши[], чтобы приказать выбранным единицам двигаться или атаковать.
onset.commandmode.mobile = Нажмите [accent]Командовать[], чтобы войти в [accent]режим командования[].\nЗажмите палец, затем [accent]выделите область[] для выбора боевых единиц.\n[accent]Нажмите[], чтобы приказать выбранным единицам двигаться или атаковать.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
aegis.tungsten = Вольфрам может быть добыт [accent]ударной дрелью[].\nЭта постройка требует [accent]воду[] и [accent]энергию[].
split.pickup = Некоторые блоки можно подобрать боевой единицей ядра.\nВозьмите этот [accent]контейнер[] и поставьте его на [accent]грузовой загрузчик[].\n(Клавиши по умолчанию - [ и ] для поднятия и разгрузки)
split.pickup.mobile = Некоторые блоки можно подобрать боевой единицей ядра.\nВозьмите этот [accent]контейнер[] и поставьте его на [accent]грузовой загрузчик[].\n(Чтобы поднять или разгрузить что-либо, удерживайте палец.)
@@ -1949,7 +2004,7 @@ block.door-large.description = Стена, которую можно откры
block.mender.description = Периодически ремонтирует блоки в непосредственной близости.\nОпционально использует кремний для увеличения дальности и эффективности.
block.mend-projector.description = Периодически ремонтирует блоки в непосредственной близости.\nОпционально использует фазовую ткань для увеличения дальности и эффективности.
block.overdrive-projector.description = Увеличивает скорость близлежащих зданий.\nОпционально использует фазовую ткань для увеличения дальности и эффективности.
block.force-projector.description = Создает вокруг себя шестиугольное силовое поле, защищая здания и боевые единицы внутри от повреждений.\nПерегревается, если нанесено слишком большое количество повреждений. Опционально использует охлаждающую жидкость для предотвращения перегрева. Фазовая ткань увеличивает размера щита.
block.force-projector.description = Создает вокруг себя шестиугольное силовое поле, защищая здания и боевые единицы внутри от повреждений.\nПерегревается, если нанесено слишком большое количество повреждений. Опционально использует охлаждающую жидкость для предотвращения перегрева. Фазовая ткань увеличивает размер щита.
block.shock-mine.description = Высвобождает электрический разряд при контакте с вражеской единицей.
block.conveyor.description = Перемещает предметы вперёд.
block.titanium-conveyor.description = Перемещает предметы вперёд. Быстрее, чем стандартный конвейер.
@@ -2052,7 +2107,6 @@ block.logic-display.description = Отображает произвольную
block.large-logic-display.description = Отображает произвольную графику из логического процессора.
block.interplanetary-accelerator.description = Массивная электромагнитная башня-рельсотрон. Ускоряет ядро, позволяя преодолеть гравитацию для межпланетного развёртывания.
block.repair-turret.description = Непрерывно ремонтирует ближайшую поврежденную единицу в своем радиусе. Опционально использует охлаждающую жидкость.
block.payload-propulsion-tower.description = Конструкция для транспортировки больших грузов на большое расстояние. Стреляет грузом в другие грузовые катапульты.
block.core-bastion.description = Ядро базы. Бронировано. После уничтожения, весь контакт с регионом теряется.
block.core-citadel.description = Ядро базы. Очень хорошо бронировано. Хранит больше ресурсов, чем ядро Бастион.
block.core-acropolis.description = Ядро базы. Исключительно хорошо бронировано. Хранит больше ресурсов, чем ядро Цитадель.
@@ -2088,7 +2142,6 @@ block.impact-drill.description = При размещении на соответ
block.eruption-drill.description = Усовершенствованная ударная дрель. Способна добывать торий. Требует водород для работы.
block.reinforced-conduit.description = Перемещает жидкости вперед. Не принимает ввод по бокам.
block.reinforced-liquid-router.description = Равномерно распределяет жидкости во все стороны.
block.reinforced-junction.description = Действует как мост для двух пересекающихся трубопроводов.
block.reinforced-liquid-tank.description = Хранит большое количество жидкости.
block.reinforced-liquid-container.description = Хранит небольшое количество жидкости.
block.reinforced-bridge-conduit.description = Перемещает жидкости над любой местностью или зданиями.
@@ -2207,6 +2260,7 @@ unit.emanate.description = Защищает ядро «Акрополь» от
lst.read = Считывает число из соединённой ячейки памяти.
lst.write = Записывает число в соединённую ячейку памяти.
lst.print = Добавляет текст в текстовый буфер. Ничего не отображает, пока не будет вызван [accent]Print Flush[].
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Добавляет операцию в буфер отрисовки. Ничего не отображает, пока не будет вызван [accent]Draw Flush[].
lst.drawflush = Сбрасывает буфер [accent]Draw[] операций на дисплей.
lst.printflush = Сбрасывает буфер [accent]Print[] операций в блок-сообщение.
@@ -2242,6 +2296,45 @@ lst.getflag = Проверяет, установлен ли глобальный
lst.setprop = Устанавливает свойство единицы или постройки.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Строительство с помощью процессоров здесь запрещено.
@@ -2284,6 +2377,7 @@ graphicstype.poly = Отрисовка закрашенного правильн
graphicstype.linepoly = Отрисовка контура правильного многоугольника.
graphicstype.triangle = Отрисовка закрашенного треугольника.
graphicstype.image = Отрисовка внутриигровых спрайтов.\nНапример: [accent]@router[] или [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Всегда истина.
lenum.idiv = Целочисленное деление.
@@ -2392,3 +2486,10 @@ lenum.build = Строительство блоков.
lenum.getblock = Распознавание блока и его типа на координатах.\nЕдиница должна находиться в пределах досягаемости.\nТвёрдые не-постройки будут иметь тип [accent]@solid[].
lenum.within = Проверка на нахождение единицы рядом с позицией.
lenum.boost = Включение/выключение полёта.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -341,12 +341,23 @@ open = Otvori
customize = Podesi Pravila
cancel = Obustavi
command = Upravljaj
command.queue = [lightgray][Queuing]
command.mine = Iskopavaj
command.repair = Popravljaj
command.rebuild = Ponovna Gradnja
command.assist = Pomoć Igraču
command.move = Kretanje
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Otvori Link
copylink = Iskopiraj Link
back = Nazad
@@ -427,6 +438,7 @@ editor.waves = Talasi:
editor.rules = Pravila:
editor.generation = Generisanje:
editor.objectives = Zadaci
editor.locales = Locale Bundles
editor.ingame = Izmeni "U Igri"
editor.playtest = Testiranje
editor.publish.workshop = Objavi u Radionicu
@@ -483,6 +495,7 @@ editor.default = [lightgray]<Default>
details = Detalji...
edit = Izmeni...
variables = Varijabla
logic.globals = Built-in Variables
editor.name = Ime:
editor.spawn = Prizovi Jedinicu
editor.removeunit = Ukloni Jedinicu
@@ -494,6 +507,7 @@ editor.errorlegacy = Ova mapa je stara, i koristi format mape koji nije podržan
editor.errornot = Ovo nije datoteka mape.
editor.errorheader = This map file is either not valid or corrupt.
editor.errorname = Mapa nema definisano ime. Da li pokušavate da učitate sačuvanu igru?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Aržuriraj
editor.randomize = Nasumično
editor.moveup = Pomeri Gore
@@ -505,6 +519,7 @@ editor.sectorgenerate = Sektorska Generacija
editor.resize = Preuveličaj
editor.loadmap = Učitaj Mapu
editor.savemap = Sačuvaj Mapu
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Sačuvano!
editor.save.noname = Vaša mapa ne sadrži ime! Postavi neko u 'informacije o mapi' meniju.
editor.save.overwrite = Vaša mapa prerezuje ugrađenu mapu! Izaberi drugo ime u 'informacije o mapi' meniju.
@@ -591,6 +606,23 @@ filter.option.floor2 = Drugi Pod
filter.option.threshold2 = Secondary Threshold
filter.option.radius = Radius
filter.option.percentile = Percentile
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Širina:
height = Visina:
@@ -641,9 +673,11 @@ objective.destroycore.name = Uništi Jezgro
objective.commandmode.name = Upravljački Mod
objective.flag.name = Zastava
marker.shapetext.name = Tekst i Oblik
marker.minimap.name = Minimapa
marker.point.name = Point
marker.shape.name = Oblik
marker.text.name = Tekst
marker.line.name = Line
marker.quad.name = Quad
marker.background = Pozadina
marker.outline = Outline
objective.research = [accent]Izuči:\n[]{0}[lightgray]{1}
@@ -670,7 +704,6 @@ resources.max = Maksimum
bannedblocks = Nedozvoljeni Blokovi
objectives = Zadaci
bannedunits = Nedozvoljene Jedinice
rules.hidebannedblocks = Sakrij Nedozvoljena Sredstva
bannedunits.whitelist = Nedozvoljene Jedinice Kao Bela Lista
bannedblocks.whitelist = Nedozvoljeni Blokovi Kao Bela Lista
addall = Dodaj Sve
@@ -729,8 +762,7 @@ sector.curlost = Sektor Izgubljen
sector.missingresources = [scarlet]Nedovoljnema Resursa u Jezgru
sector.attacked = Sektor [accent]{0}[white] je napadnut!
sector.lost = Sektor [accent]{0}[white] je izgubljen!
#note: the missing space in the line below is intentional
sector.captured = Sektor [accent]{0}[white]je zauzet!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Promeni Ikonicu
sector.noswitch.title = Nije Moguće Promeniti Sektor
sector.noswitch = Ne možete promeniti sektor dok je drugi napadnut.\n\nSektor: [accent]{0}[] na [accent]{1}[]
@@ -1003,6 +1035,7 @@ bullet.splashdamage = [stat]{0}[lightgray] oblasna šteta ~[stat] {1}[lightgray]
bullet.incendiary = [stat]zapaljiv
bullet.homing = [stat]samonavođenje
bullet.armorpierce = [stat]proboj oklopa
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x šrapnela:
@@ -1058,6 +1091,7 @@ setting.backgroundpause.name = Pauziraj u Pozadini
setting.buildautopause.name = Automatski Pauziraj Gradnju
setting.doubletapmine.name = Pritisni Dva Puta za Iskopavanje
setting.commandmodehold.name = Drži za Upravljački Mod
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Onesposobi Modove Prilikom Ispadanja
setting.animatedwater.name = Animirana Površina
setting.animatedshields.name = Animirani Štitovi
@@ -1111,7 +1145,7 @@ setting.sfxvol.name = Jačina Zvučnih Efekata
setting.mutesound.name = Nema Zvuka
setting.crashreport.name = Send Anonymous Crash Reports
setting.savecreate.name = Automatski Snimaj Igru
setting.publichost.name = Vidljivost Javne Igre
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Limit Igrača
setting.chatopacity.name = Prozirnost Četa
setting.lasersopacity.name = Prozirnost Energetskih Lasera
@@ -1131,6 +1165,7 @@ keybind.title = Rebind Keys
keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported.
category.general.name = Generalno
category.view.name = Pogled
category.command.name = Unit Command
category.multiplayer.name = Multiplayer
category.blocks.name = Biranje Blokova
placement.blockselectkeys = \n[lightgray]Dugme: [{0},
@@ -1148,6 +1183,23 @@ keybind.mouse_move.name = Prati Miš
keybind.pan.name = Gledaj sa Daljine
keybind.boost.name = Lebdi
keybind.command_mode.name = Upravljački Mod
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Ponovo Sagradi Region
keybind.schematic_select.name = Izaberi Region
keybind.schematic_menu.name = Menu Šema
@@ -1211,9 +1263,12 @@ mode.pvp.description = Fight against other players locally.\n[gray]Requires at l
mode.attack.name = Napad
mode.attack.description = Destroy the enemy's base. \n[gray]Requires a red core in the map to play.
mode.custom = Svojevrsna Pravila
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Sakrij Nedozvoljena Sredstva
rules.infiniteresources = Bezkonačni Resursi
rules.onlydepositcore = Samo Dozvoli Dostavu u Jezgro
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Eksplozije Reaktora
rules.coreincinerates = Core Incinerates Overflow
rules.disableworldprocessors = Onesposobi Svetovne Procesore
@@ -1733,7 +1788,6 @@ block.disperse.name = Raspršivač
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabrikator
block.tank-refabricator.name = Refabrikator Tenkova
block.mech-refabricator.name = Refabrikator Mečana
block.ship-refabricator.name = Refabrikator Brodova
@@ -1853,6 +1907,7 @@ onset.turrets = Jedinice su efikasne, ali [accent]platforme[] imaju veći odbram
onset.turretammo = Snabdevajte platformu sa [accent]berilijumskom municijom.[]
onset.walls = [accent]Zidovi[] mogu da spreče da se šteta nanese na građevine.\nPostavite nekoliko \uf6ee [accent]berilijumskih zidova[] oko platformi.
onset.enemies = Neprijatelj dolazi, spremite se.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = Nova jezgra se mogu postaviti na [accent]poljima jezgra[].\nNova jezgra funkcionišu kao prednje baze i dele resursni invetar sa ostalim jezgrima.\nPostavi \uf725 jezgro.
onset.detect = Neprijatelj će te primetiti za 2 minuta.\nPostavite odbranu, rudu i proizvodnju.
@@ -2053,7 +2108,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
block.core-bastion.description = Jezgro baze. Oklopljeno. Jednom uništeno gubi se sektor.
block.core-citadel.description = Jezgro baze. Izuzetno dobro oklopljeno. Skladišti više resursa od Bastilje jezgra.
block.core-acropolis.description = Jezgro baze. Izvrsno dobro oklopljeno. Skladišti više resursa od Citadele jezgra.
@@ -2089,7 +2143,6 @@ block.impact-drill.description = Kada je postavljeno na rudi, beskonačno ispuš
block.eruption-drill.description = Poboljšana udarna drobilica. Može iskopavati torijum. Zahteva vodonik.
block.reinforced-conduit.description = Usmerava tečnosti napred. Ne prihvata unos sa strane od blokova koje nisu cevi.
block.reinforced-liquid-router.description = Jednako distribuiše tečnosti u svim pravcima.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Skladišti veliku količinu tečnosti.
block.reinforced-liquid-container.description = Skladišti dobru količinu tečnosti.
block.reinforced-bridge-conduit.description = Prenosi tečnosti preko terena i građevina.
@@ -2208,6 +2261,7 @@ unit.emanate.description = Gradi građevine da odbrani Veliki Grad jezgro. Popra
lst.read = Čita broj iz povezane memorijske ćelije.
lst.write = Piše broj u povezanu memorijsku ćeliju.
lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used.
lst.drawflush = Flush queued [accent]Draw[] operations to a display.
lst.printflush = Flush queued [accent]Print[] operations to a message block.
@@ -2243,6 +2297,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Unit building logic is not allowed here.
@@ -2285,6 +2378,7 @@ graphicstype.poly = Fill a regular polygon.
graphicstype.linepoly = Draw a regular polygon outline.
graphicstype.triangle = Fill a triangle.
graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Uvek Tačno.
lenum.idiv = Integer division.
@@ -2393,3 +2487,10 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -337,12 +337,23 @@ open = Öppna
customize = Customize Rules
cancel = Avbryt
command = Command
command.queue = [lightgray][Queuing]
command.mine = Mine
command.repair = Repair
command.rebuild = Rebuild
command.assist = Assist Player
command.move = Move
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Öppna Länk
copylink = Kopiera Länk
back = Tillbaka
@@ -423,6 +434,7 @@ editor.waves = Vågor:
editor.rules = Regler:
editor.generation = Generering:
editor.objectives = Objectives
editor.locales = Locale Bundles
editor.ingame = Edit In-Game
editor.playtest = Playtest
editor.publish.workshop = Publish On Workshop
@@ -478,6 +490,7 @@ editor.default = [lightgray]<Default>
details = Details...
edit = Redigera...
variables = Vars
logic.globals = Built-in Variables
editor.name = Namn:
editor.spawn = Spawn Unit
editor.removeunit = Remove Unit
@@ -489,6 +502,7 @@ editor.errorlegacy = This map is too old, and uses a legacy map format that is n
editor.errornot = This is not a map file.
editor.errorheader = This map file is either not valid or corrupt.
editor.errorname = Map has no name defined. Are you trying to load a save file?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Uppdatera
editor.randomize = Slumpa
editor.moveup = Move Up
@@ -500,6 +514,7 @@ editor.sectorgenerate = Sector Generate
editor.resize = Resize
editor.loadmap = Load Map
editor.savemap = Save Map
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Sparad!
editor.save.noname = Your map does not have a name! Set one in the 'map info' menu.
editor.save.overwrite = Your map overwrites a built-in map! Pick a different name in the 'map info' menu.
@@ -584,6 +599,23 @@ filter.option.floor2 = Secondary Floor
filter.option.threshold2 = Secondary Threshold
filter.option.radius = Radie
filter.option.percentile = Percentile
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Bredd:
height = Höjd:
@@ -634,9 +666,11 @@ objective.destroycore.name = Destroy Core
objective.commandmode.name = Command Mode
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Minimap
marker.point.name = Point
marker.shape.name = Shape
marker.text.name = Text
marker.line.name = Line
marker.quad.name = Quad
marker.background = Background
marker.outline = Outline
objective.research = [accent]Research:\n[]{0}[lightgray]{1}
@@ -661,7 +695,6 @@ resources.max = Max
bannedblocks = Banned Blocks
objectives = Objectives
bannedunits = Banned Units
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Add All
@@ -720,7 +753,7 @@ sector.curlost = Sector Lost
sector.missingresources = [scarlet]Insufficient Core Resources
sector.attacked = Sector [accent]{0}[white] under attack!
sector.lost = Sector [accent]{0}[white] lost!
sector.captured = Sector [accent]{0}[white]captured!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Change Icon
sector.noswitch.title = Unable to Switch Sectors
sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[]
@@ -989,6 +1022,7 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
bullet.incendiary = [stat]incendiary
bullet.homing = [stat]homing
bullet.armorpierce = [stat]armor piercing
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
@@ -1044,6 +1078,7 @@ setting.backgroundpause.name = Pause In Background
setting.buildautopause.name = Auto-Pause Building
setting.doubletapmine.name = Double-Tap to Mine
setting.commandmodehold.name = Hold For Command Mode
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Disable Mods On Startup Crash
setting.animatedwater.name = Animerat Vatten
setting.animatedshields.name = Animerade Sköldar
@@ -1097,7 +1132,7 @@ setting.sfxvol.name = Ljudeffektvolym
setting.mutesound.name = Stäng Av Ljudeffekter
setting.crashreport.name = Skicka Anonyma Krashrapporter
setting.savecreate.name = Auto-Create Saves
setting.publichost.name = Public Game Visibility
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Player Limit
setting.chatopacity.name = Chattgenomskinlighet
setting.lasersopacity.name = Power Laser Opacity
@@ -1117,6 +1152,7 @@ keybind.title = Rebind Keys
keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported.
category.general.name = General
category.view.name = View
category.command.name = Unit Command
category.multiplayer.name = Multiplayer
category.blocks.name = Block Select
placement.blockselectkeys = \n[lightgray]Key: [{0},
@@ -1134,6 +1170,23 @@ keybind.mouse_move.name = Follow Mouse
keybind.pan.name = Pan View
keybind.boost.name = Boost
keybind.command_mode.name = Command Mode
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Select Region
keybind.schematic_menu.name = Schematic Menu
@@ -1197,9 +1250,12 @@ mode.pvp.description = Fight against other players locally.\n[gray]Requires at l
mode.attack.name = Attack
mode.attack.description = Destroy the enemy's base. No waves.\n[gray]Requires a red core in the map to play.
mode.custom = Custom Rules
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Infinite Resources
rules.onlydepositcore = Only Allow Core Depositing
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reactor Explosions
rules.coreincinerates = Core Incinerates Overflow
rules.disableworldprocessors = Disable World Processors
@@ -1717,7 +1773,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricator
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1835,6 +1890,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2034,7 +2090,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2070,7 +2125,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2187,6 +2241,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Read a number from a linked memory cell.
lst.write = Write a number to a linked memory cell.
lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used.
lst.drawflush = Flush queued [accent]Draw[] operations to a display.
lst.printflush = Flush queued [accent]Print[] operations to a message block.
@@ -2222,6 +2277,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position.
@@ -2260,6 +2354,7 @@ graphicstype.poly = Fill a regular polygon.
graphicstype.linepoly = Draw a regular polygon outline.
graphicstype.triangle = Fill a triangle.
graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Always true.
lenum.idiv = Integer division.
lenum.div = Division.\nReturns [accent]null[] on divide-by-zero.
@@ -2353,3 +2448,10 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -341,12 +341,23 @@ open = เปิด
customize = ตั้งค่ากฎ
cancel = ยกเลิก
command = สั่งการ
command.queue = [lightgray][Queuing]
command.mine = ขุด
command.repair = ซ่อมแซม
command.rebuild = สร้างใหม่
command.assist = ช่วยเหลือผู้เล่น
command.move = ขยับ
command.boost = บูสต์
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = เปิดลิ้งค์
copylink = คัดลอกลิ้งค์
back = กลับ
@@ -427,6 +438,7 @@ editor.waves = คลื่น
editor.rules = กฎ
editor.generation = เจนเนอเรชั่น
editor.objectives = เป้าหมาย
editor.locales = Locale Bundles
editor.ingame = แก้ไขในเกม
editor.playtest = เล่นทดสอบ
editor.publish.workshop = เผยแพร่บนเวิร์กช็อป
@@ -483,6 +495,7 @@ editor.default = [lightgray]<ค่าเริ่มต้น>
details = รายละเอียด...
edit = แก้ไข...
variables = ตัวแปร
logic.globals = Built-in Variables
editor.name = ชื่อ:
editor.spawn = สร้างยูนิต
editor.removeunit = ลบยูนิต
@@ -494,6 +507,7 @@ editor.errorlegacy = แมพนี้เก่าเกินไปและ
editor.errornot = นี่ไม่ใช้ไฟล์แมพ
editor.errorheader = ไฟล์แมพนี้เสียหรือไม่ถูกต้อง
editor.errorname = แมพไม่มีการกำหนดชื่อ คุณกำลังพยายามโหลดไฟล์เซฟอยู่หรือไม่?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = อัปเดต
editor.randomize = สุ่ม
editor.moveup = ขยับขึ้น
@@ -505,6 +519,7 @@ editor.sectorgenerate = สร้างเซ็กเตอร์
editor.resize = เปลี่ยนขนาด
editor.loadmap = โหลดแมพ
editor.savemap = เซฟแมพ
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = เซฟเรียบร้อย!
editor.save.noname = แมพของคุณไม่มีชื่อ! สามารถตั้งชื่อได้ในเมนู 'ข้อมูลแมพ'
editor.save.overwrite = แมพของคุณไปทับซ้อนกับแมพค่าเริ่มต้น! เปลี่ยนชื่อได้ในเมนู 'ข้อมูลแมพ'
@@ -591,6 +606,23 @@ filter.option.floor2 = พื้นชั้นสอง
filter.option.threshold2 = เกณฑ์ชั้นสอง
filter.option.radius = รัศมี
filter.option.percentile = เปอร์เซ็นต์ไทล์
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = กว้าง:
height = สูง:
@@ -641,9 +673,11 @@ objective.destroycore.name = ทำลายแกนกลาง
objective.commandmode.name = โหมดสั่งการ
objective.flag.name = ธง
marker.shapetext.name = ข้อความในรูปทรง
marker.minimap.name = มินิแมพ
marker.point.name = Point
marker.shape.name = รูปทรง
marker.text.name = ข้อความ
marker.line.name = Line
marker.quad.name = Quad
marker.background = พื้นหลัง
marker.outline = โครงร่าง
objective.research = [accent]วิจัย:\n[]{0}[lightgray]{1}
@@ -669,7 +703,6 @@ resources.max = เต็ม
bannedblocks = บล็อกต้องห้าม
objectives = เป้าหมาย
bannedunits = ยูนิตต้องห้าม
rules.hidebannedblocks = ซ่อนบล็อกต้องห้าม
bannedunits.whitelist = ตั้งยูนิตต้องห้ามเป็นไวท์ลิสต์
bannedblocks.whitelist = ตั้งบล็อกต้องห้ามเป็นไวท์ลิสต์
addall = เพิ่มทั้งหมด
@@ -729,8 +762,7 @@ sector.curlost = เราเสียเซ็กเตอร์!
sector.missingresources = [scarlet]ขาดทรัพยากรในการลงจอด
sector.attacked = เซ็กเตอร์ [accent]{0}[white] ถูกโจมตี!
sector.lost = เราเสียเซ็กเตอร์ [accent]{0}[white]!
#note: the missing space in the line below is intentional
sector.captured = เรายึดครองเซ็กเตอร์'[accent]{0}[white]ได้แล้ว!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = เปลี่ยนไอคอน
sector.noswitch.title = ไม่สามารถเปลี่ยนเซ็กเตอร์ได้
sector.noswitch = คุณไม่สามารถเปลี่ยนเซ็กเตอร์ได้ระหว่างที่อีกเซ็กเตอร์กำลังถูกโจมตีอยู่\n\nเซ็กเตอร์: [accent]{0}[] บนดาว [accent]{1}[]
@@ -1002,6 +1034,7 @@ bullet.splashdamage = [stat]{0}[lightgray] ดาเมจกระจาย ~[s
bullet.incendiary = [stat]ติดไฟ
bullet.homing = [stat]ติดตามตัว
bullet.armorpierce = [stat]เจาะเกราะ
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} วิ[lightgray] ระงับการฟื้นฟู ~ [stat]{1}[lightgray] ช่อง
bullet.interval = [stat]{0}/วิ[lightgray] กระสุนช่วงระยะ:
bullet.frags = [stat]{0}[lightgray]x กระสุนกระจาย:
@@ -1057,6 +1090,7 @@ setting.backgroundpause.name = หยุดในพื้นหลัง
setting.buildautopause.name = หยุดสร้างชั่วคราวแบบอัตโนมัติ
setting.doubletapmine.name = กดสองครั้งเพื่อขุด
setting.commandmodehold.name = กดค้างเพื่อสั่งการ
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = ปิดม็อดเมื่อเกมขัดข้อง
setting.animatedwater.name = แอนิเมชั่นพื้นและน้ำ
setting.animatedshields.name = แอนิเมชั่นโล่พลังงาน
@@ -1110,7 +1144,7 @@ setting.sfxvol.name = ระดับเสียง SFX
setting.mutesound.name = ปิดเสียง
setting.crashreport.name = ส่งรายงานข้อขัดข้องแบบไม่ระบุตัวตน
setting.savecreate.name = สร้างเซฟโดยอัตโนมัติ
setting.publichost.name = การมองเห็นเซิร์ฟเวอร์สาธารณะ
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = จำกัดผู้เล่น
setting.chatopacity.name = ความโปร่งแสงของแชท
setting.lasersopacity.name = ความโปร่งแสงของลำแสงพลังงาน
@@ -1130,6 +1164,7 @@ keybind.title = ตั้งค่าปุ่ม
keybinds.mobile = [scarlet]การตั้งค่าปุ่มส่วนใหญ่ไม่สามารถใช้ในมือถือได้ เฉพาะการเคลื่อนไหวพื้นฐานเท่านั้นที่ใช้ได้
category.general.name = ทั่วไป
category.view.name = การมองเห็น
category.command.name = Unit Command
category.multiplayer.name = โหมดผู้เล่นหลายคน
category.blocks.name = เลือกบล็อก
placement.blockselectkeys = \n[lightgray]ปุ่ม: [{0},
@@ -1147,6 +1182,23 @@ keybind.mouse_move.name = ตามเม้าส์
keybind.pan.name = เคลื่อนการมองเห็น
keybind.boost.name = บูสต์
keybind.command_mode.name = โหมดสั่งการ
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = เลือกพื้นที่สร้างใหม่
keybind.schematic_select.name = เลือกพื้นที่
keybind.schematic_menu.name = เมนูแผนผัง
@@ -1210,9 +1262,12 @@ mode.pvp.description = สู้กับผู้เล่นอื่น\n[gra
mode.attack.name = โจมตี
mode.attack.description = ทำลายฐานของศัตรู \n[gray]จำเป็นต้องมีแกนกลางสีแดงเพื่อเล่น
mode.custom = กฎแบบกำหนดเอง
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = ซ่อนบล็อกต้องห้าม
rules.infiniteresources = ทรัพยากรไม่จำกัด
rules.onlydepositcore = ขนย้ายทรัพยากรลงแกนกลางได้เท่านั้น
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = เปิดการระเบิดของเตาปฏิกร
rules.coreincinerates = แกนกลางเผาทรัพยากรส่วนเกิน
rules.disableworldprocessors = ปิดการทำงานของตัวประมวลผลโลก
@@ -1738,7 +1793,6 @@ block.disperse.name = ดิสเพิร์ส
block.afflict.name = อัฟฟลิกต์
block.lustre.name = ลัสเตอร์
block.scathe.name = สเกซส์
block.fabricator.name = เครื่องสรรค์สร้าง
block.tank-refabricator.name = เครื่องแปลงสภาพรถถัง
block.mech-refabricator.name = เครื่องแปลงสภาพจักรกล
block.ship-refabricator.name = เครื่องแปลงสภาพยานบิน
@@ -1859,6 +1913,7 @@ onset.turrets = ยูนิตนั้นมีประสิทธิภา
onset.turretammo = เติมกระสุนให้แก่ป้อมปืนด้วย[accent]กระสุนเบริลเลี่ยม[]
onset.walls = [accent]กำแพง[]สามารถป้องกันความเสียหายที่จะมาถึงให้ไม่ไปโดนสิ่งก่อสร้างได้\nวางกำแพง \uf6ee [accent]กำแพงเบริลเลี่ยม[]รอบๆ ป้อมปืน
onset.enemies = ศัตรูกำลังจะเข้ามา เตรียมตัวป้องกันให้ดี
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = ศัตรูอ่อนแอลงแล้ว ตอบโต้กลับ
onset.cores = แกนกลางใหม่สามารถวางได้บน[accent]โซนแกนกลาง[]\nแกนกลางใหม่จะทำหน้าที่เป็นฐานทัพหน้าด่านและจะแบ่งปันทรัพยากรกับแกนกลางอื่นๆ\nวาง \uf725 แกนกลาง
onset.detect = ศัตรูจะสามารถตรวจจับการมีอยู่ของคุณได้ในอีก 2 นาที\nจัดตั้งกองกำลังป้องกัน ปฏิบัติการขุด และการผลิต
@@ -2066,7 +2121,6 @@ block.logic-display.description = แสดงกราฟิกโดยคว
block.large-logic-display.description = แสดงกราฟิกโดยควบคุมจากตัวประมวลผลลอจิก มีขนาดใหญ่กว่า
block.interplanetary-accelerator.description = หอคอยเรลกันแม่เหล็กไฟฟ้าขนาดมหึมา เร่งความเร็วแกนกลางเพื่อบินสู่อวกาศไปยังดาวเคราะห์อื่นๆ
block.repair-turret.description = ซ่อมแซมยูนิตที่อยู่ในรัศมีของมันอย่างต่อเนื่อง สามารถใช้ของเหลวมาหล่อเย็นเพื่อเพิ่มประสิทธิภาพได้
block.payload-propulsion-tower.description = บล็อกขนส่งสิ่งบรรทุกทางไกล\nยิงสิ่งบรรทุกไปยังหอเคลื่อนย้ายสิ่งบรรทุกอีกเครื่องที่เชื่อมต่อไว้
#Erekir
block.core-bastion.description = ใจกลางของฐานทัพ เสริมเกราะมาอย่างดี เมื่อถูกทำลาย การติดต่อกับพื้นที่นั้นทั้งหมดจะหายไป อย่าให้มันเกิดขึ้น
@@ -2104,7 +2158,6 @@ block.impact-drill.description = เมื่อวางบนพื้นแ
block.eruption-drill.description = เครื่องขุดแรงกระแทกที่ได้รับการปรับปรุง สามารถขุดทอเรี่ยมได้ จำเป็นต้องใช้ไฮโดรเจน
block.reinforced-conduit.description = เคลื่อนย้ายของเหลวไปข้างหน้า ไม่รับของเหลวจากด้านข้างยกเว้นว่าจะเป็นท่อน้ำด้วยกันเอง
block.reinforced-liquid-router.description = รับของเหลวจากทางเดียวแล้วส่งออกไปสามทางเท่าๆกัน สามารถเก็บของเหลวได้จำนวนหนึ่ง\nมีประโยชน์สำหรับการส่งของเหลวจากปั้มไปยังหลายที่
block.reinforced-junction.description = มีหน้าที่เป็นสะพานสำหรับท่อสูญญากาศสองท่อข้ามกัน มีประโยชน์สำหรับเวลาท่อสูญญากาศสองท่อ\nขนไอเท็มสองชนิดไปยังสองสถานที่
block.reinforced-liquid-tank.description = เก็บของเหลวจำนวนมาก ส่งออกไปรอบด้านคล้ายกับเร้าเตอร์ของเหลว\nเหมาะในการใช้เพื่อสร้างกันชนในเวลาที่ของเหลวไม่คงที่\nหรือเวลาที่ใช้ของเหลวเป็นจำนวนมาก
block.reinforced-liquid-container.description = เก็บของเหลวจำนวนปานกลาง ส่งออกไปรอบด้านคล้ายกับ\nเร้าเตอร์ของเหลว เหมาะในการใช้กับเครื่องโหลดและถ่ายสิ่งบรรทุกสำหรับ\nการขนส่งของเหลวทางไกล
block.reinforced-bridge-conduit.description = เคลื่อนย้ายของเหลวข้ามสิ่งก่อสร้างหรือกำแพง
@@ -2225,6 +2278,7 @@ unit.emanate.description = สร้างสิ่งต่างๆ เพื
lst.read = อ่านเลขจากเซลล์ความจำที่เชื่อมต่อไว้
lst.write = เขียนเลขไปยังเซลล์ความจำที่เชื่อมต่อไว้
lst.print = เพิ่มข้อความไปยังคิวข้อความ\nข้อความจะยังไม่แสดงจนกว่าจะใช้คำสั่ง [accent]Print Flush[]
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = เพิ่มรูปไปยังคิวการวาด\nภาพจะยังไม่แสดงจนกว่าจะใช้คำสั่ง [accent]Draw Flush[]
lst.drawflush = ปล่อยคิว [accent]Draw[] ไปยังหน้าจอลอจิกที่เชื่อมต่อไว้
lst.printflush = ปล่อยคิว [accent]Print[] ไปยังตัวเก็บข้อความที่เชื่อมต่อไว้
@@ -2260,6 +2314,45 @@ lst.getflag = เช็กว่าธงทั่วโลกนั้นได
lst.setprop = ตั้งค่าคุณสมบัติของยูนิตและสิ่งก่อสร้าง
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]ไม่อนุญาตให้ใช้ลอจิกควบคุมให้ยูนิตสร้างที่นี่
@@ -2303,6 +2396,7 @@ graphicstype.poly = เติมรูปหลายเหลี่ยมปก
graphicstype.linepoly = วาดโครงร่างรูปหลายเหลี่ยมปกติ
graphicstype.triangle = เติมสามเหลี่ยม
graphicstype.image = วาดรูปสิ่งต่างๆ \nตัวอย่างเช่น: [accent]@router[] หรือ [accent]@dagger[]
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = เป็นจริงเสมอ
lenum.idiv = หารจำนวนเต็ม
@@ -2411,3 +2505,10 @@ lenum.build = สร้างสิ่งก่อสร้าง
lenum.getblock = ดึงข้อมูลสิ่งก่อสร้างและประเภทของสิ่งก่อสร้างที่ตำแหน่งเป้าหมาย\nยูนิตต้องอยู่ในระยะของตำแหน่ง\nบล็อกตันที่ไม่ใช่สิ่งก่อสร้างจะมีชนิดเป็น [accent]@solid[]
lenum.within = ตรวจสอบว่ายูนิตนั้นอยู่ในระยะหรือไม่
lenum.boost = เริ่ม/หยุดการบูสต์
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -337,12 +337,23 @@ open = Ac
customize = Customize
cancel = iptal
command = Command
command.queue = [lightgray][Queuing]
command.mine = Mine
command.repair = Repair
command.rebuild = Rebuild
command.assist = Assist Player
command.move = Move
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Linki ac
copylink = Linki kopyala
back = Geri don
@@ -423,6 +434,7 @@ editor.waves = Waves:
editor.rules = Rules:
editor.generation = Generation:
editor.objectives = Objectives
editor.locales = Locale Bundles
editor.ingame = Edit In-Game
editor.playtest = Playtest
editor.publish.workshop = Publish On Workshop
@@ -478,6 +490,7 @@ editor.default = [lightgray]<Default>
details = Details...
edit = Edit...
variables = Vars
logic.globals = Built-in Variables
editor.name = isim:
editor.spawn = Spawn Unit
editor.removeunit = Remove Unit
@@ -489,6 +502,7 @@ editor.errorlegacy = This map is too old, and uses a legacy map format that is n
editor.errornot = This is not a map file.
editor.errorheader = This map file is either not valid or corrupt.
editor.errorname = Map has no name defined.
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Update
editor.randomize = Randomize
editor.moveup = Move Up
@@ -500,6 +514,7 @@ editor.sectorgenerate = Sector Generate
editor.resize = Boyutunu degistir
editor.loadmap = Harita yukle
editor.savemap = Haritayi kaydet
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Kaydedildi!
editor.save.noname = Haritanin ismi yok! 'Harita bilgisinden' bi tane ekle
editor.save.overwrite = Haritanin ismi varolan bir haritanin ismi ile ayni! 'Harita bilgisinden' degisik bir isim sec
@@ -584,6 +599,23 @@ filter.option.floor2 = Secondary Floor
filter.option.threshold2 = Secondary Threshold
filter.option.radius = Radius
filter.option.percentile = Percentile
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Genislik:
height = Yukseklik:
@@ -634,9 +666,11 @@ objective.destroycore.name = Destroy Core
objective.commandmode.name = Command Mode
objective.flag.name = Flag
marker.shapetext.name = Shape Text
marker.minimap.name = Minimap
marker.point.name = Point
marker.shape.name = Shape
marker.text.name = Text
marker.line.name = Line
marker.quad.name = Quad
marker.background = Background
marker.outline = Outline
objective.research = [accent]Research:\n[]{0}[lightgray]{1}
@@ -661,7 +695,6 @@ resources.max = Max
bannedblocks = Banned Blocks
objectives = Objectives
bannedunits = Banned Units
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = Add All
@@ -720,7 +753,7 @@ sector.curlost = Sector Lost
sector.missingresources = [scarlet]Insufficient Core Resources
sector.attacked = Sector [accent]{0}[white] under attack!
sector.lost = Sector [accent]{0}[white] lost!
sector.captured = Sector [accent]{0}[white]captured!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Change Icon
sector.noswitch.title = Unable to Switch Sectors
sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[]
@@ -989,6 +1022,7 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
bullet.incendiary = [stat]incendiary
bullet.homing = [stat]homing
bullet.armorpierce = [stat]armor piercing
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
@@ -1044,6 +1078,7 @@ setting.backgroundpause.name = Pause In Background
setting.buildautopause.name = Auto-Pause Building
setting.doubletapmine.name = Double-Tap to Mine
setting.commandmodehold.name = Hold For Command Mode
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Disable Mods On Startup Crash
setting.animatedwater.name = Animated Water
setting.animatedshields.name = Animated Shields
@@ -1097,7 +1132,7 @@ setting.sfxvol.name = Ses seviyesi
setting.mutesound.name = Sesi kapat
setting.crashreport.name = Send Anonymous Crash Reports
setting.savecreate.name = Auto-Create Saves
setting.publichost.name = Public Game Visibility
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Player Limit
setting.chatopacity.name = Chat Opacity
setting.lasersopacity.name = Power Laser Opacity
@@ -1117,6 +1152,7 @@ keybind.title = Tuslari ayarla
keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported.
category.general.name = General
category.view.name = Goster
category.command.name = Unit Command
category.multiplayer.name = Cok oyunculu
category.blocks.name = Block Select
placement.blockselectkeys = \n[lightgray]Key: [{0},
@@ -1134,6 +1170,23 @@ keybind.mouse_move.name = Follow Mouse
keybind.pan.name = Pan View
keybind.boost.name = Boost
keybind.command_mode.name = Command Mode
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = Select Region
keybind.schematic_menu.name = Schematic Menu
@@ -1197,9 +1250,12 @@ mode.pvp.description = fight against other players locally.
mode.attack.name = Attack
mode.attack.description = No waves, with the goal to destroy the enemy base.
mode.custom = Custom Rules
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = Infinite Resources
rules.onlydepositcore = Only Allow Core Depositing
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reactor Explosions
rules.coreincinerates = Core Incinerates Overflow
rules.disableworldprocessors = Disable World Processors
@@ -1717,7 +1773,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabricator
block.tank-refabricator.name = Tank Refabricator
block.mech-refabricator.name = Mech Refabricator
block.ship-refabricator.name = Ship Refabricator
@@ -1835,6 +1890,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2034,7 +2090,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2070,7 +2125,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2187,6 +2241,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = Read a number from a linked memory cell.
lst.write = Write a number to a linked memory cell.
lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used.
lst.drawflush = Flush queued [accent]Draw[] operations to a display.
lst.printflush = Flush queued [accent]Print[] operations to a message block.
@@ -2222,6 +2277,45 @@ lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position.
@@ -2260,6 +2354,7 @@ graphicstype.poly = Fill a regular polygon.
graphicstype.linepoly = Draw a regular polygon outline.
graphicstype.triangle = Fill a triangle.
graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Always true.
lenum.idiv = Integer division.
lenum.div = Division.\nReturns [accent]null[] on divide-by-zero.
@@ -2353,3 +2448,10 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -18,14 +18,14 @@ linkopen = Bu Server sana bir link gönderdi. Açmak istediğine emin misin?\n\n
linkfail = Link açılamadı!\nURL kopyalandı.
screenshot = Ekran görüntüsü {0} konumuna kaydedildi
screenshot.invalid = Harita çok büyük, muhtemelen ekran görüntüsü için yeterli bellek yok.
gameover = Kaybettin
gameover = Oyun Bitti
gameover.disconnect = Bağlantı Koptu!
gameover.pvp = [accent] {0}[] Takımı kazandı!
gameover.waiting = [accent]Sonraki Harita Bekleniyor...
highscore = [accent]Yeni rekor!
copied = Panoya Kopyalandı.
indev.notready = Oyunun bu kısmı henüz hazır değil.
#Ekozet abimize teşekkür edelim. Baya ekleme yaptı buraya.
load.sound = Sesler
load.map = Haritalar
load.image = Resimler
@@ -158,9 +158,9 @@ mod.outdatedv7.details = Bu mod, oyunun en son sürümüyle uyumsuz. Modun yapm
mod.blacklisted.details = Bu mod, oyunun bu sürümüyle hata verdiğinden veya başka sorunlar ötürü kara listeye alınmıştır. [#ff]KULLANMAYINIZ!
mod.missingdependencies.details = Bu Mod, şu ek modları gerektiriyor: {0}
mod.erroredcontent.details = Bu mod yüklenirken hata veriyor, yapımcıdan hataları düzeltmesini isteyin.
mod.circulardependencies.details = This mod has dependencies that depends on each other.
mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}.
mod.requiresversion = Requires game version: [red]{0}
mod.circulardependencies.details = Bu modun birbirine bağlı bağlılıkları var.
mod.incompletedependencies.details = Eksik veya yanlış bağlılıklardan dolayı mod yüklenemedi: {0}.
mod.requiresversion = Şu oyun sürümü gerekiyor: [red]{0}
mod.errors = İçerik yüklenirken bir hata oluştu.
mod.noerrorplay = [scarlet]Hatalı modlarınız var.[] Oynamadan önce bu modları devre dışı bırakın veya dosyadaki hataları düzeltin.
mod.nowdisabled = [scarlet]'{0}' modunun çalışması için gerekli olan modlardan bazıları bulunamadı:[accent] {1}\n[lightgray]Önce bu modların indirilmesi gerekmektedir.\nBu mod otomatik olarak devre dışı bırakılacaktır.
@@ -254,20 +254,20 @@ viewplayer = Oyuncu İzleniyor: [accent]{0}
trace = Oyuncuyu Takip Et
trace.playername = Oyuncu İsmi: [accent]{0}
trace.ip = IP: [accent]{0}
trace.id = Özel ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.id = Özel Kimlik: [accent]{0}
trace.language = Dil: [accent]{0}
trace.mobile = Mobil Sürüm: [accent]{0}
trace.modclient = Özel Sürüm: [accent]{0}
trace.times.joined = Girme Sayısı: [accent]{0}
trace.times.kicked = Atılma Sayısı: [accent]{0}
trace.ips = IPs:
trace.names = Names:
invalidid = Geçersiz Sürüm ID'si! Bir hata raporu gönder.
player.ban = Ban
player.kick = Kick
player.trace = Trace
player.admin = Toggle Admin
player.team = Change Team
trace.names = İsimler:
invalidid = Geçersiz Sürüm Kimliği! Bir hata raporu gönder.
player.ban = Yasakla
player.kick = At
player.trace = İzini Sür
player.admin = Admin Aç/Kapa
player.team = Takım Değiştir
server.bans = Yasaklılar
server.bans.none = Yasaklanmış oyuncu bulunamadı!
server.admins = Yöneticiler
@@ -284,8 +284,8 @@ confirmkick = Bu kullanıcıyı atmak istediğine emin misin?
confirmunban = Bu kullanıcının yasağını kaldırmak istediğine emin misin?
confirmadmin = Bu kullanıcıyı bir yönetici yapmak istediğine emin misin?
confirmunadmin = Bu kullanıcının yönetici yetkilerini almak istediğine istediğine emin misin?
votekick.reason = Vote-Kick Reason
votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason:
votekick.reason = Oylama Sebebi
votekick.reason.message = "{0}[white]" adlı kişiyi oylama ile atmak istediğinize emin misiniz?\nEğer istiyorsanız, lütfen sebebini giriniz:
joingame.title = Oyuna Katıl
joingame.ip = Adres:
disconnect = Bağlantı kesildi.
@@ -341,12 +341,23 @@ open = Aç
customize = Kuralları Özelleştir
cancel = İptal
command = Komuta Modu
command.queue = [lightgray][Queuing]
command.mine = Kaz
command.repair = Tamir Et
command.rebuild = Yeniden İnşaa Et
command.assist = Oyuncuya Yardım Et
command.move = Hareket Et
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Birim Yükle
command.loadBlocks = Blok Yükle
command.unloadPayload = Birim Bırak
stance.stop = Emri İptal Et
stance.shoot = Duruş: Saldırı
stance.holdfire = Duruş: Hazır Ol
stance.pursuetarget = Duruş: Hedefi Takip Et
stance.patrol = Duruş: Devriye Gez
stance.ram = Duruş: Düz\n[lightgray]Düz bir ol halinde ilerle.
openlink = Bağlantıyı
copylink = Bağlantıyı Kopyala
back = Geri
@@ -372,7 +383,7 @@ pausebuilding = [accent][[{0}][] İnşaatı durdur
resumebuilding = [scarlet][[{0}][] İnşaata devam et
enablebuilding = [scarlet][[{0}][] İnşa Etmeyi Başlat
showui = Arayüz Kapalı.\nAçmak için [accent][[{0}][] bas.
commandmode.name = [accent]Command Mode
commandmode.name = [accent]Komuta Modu
commandmode.nounits = [no units]
wave = [accent]Dalga {0}
wave.cap = [accent]Dalga {0}/{1}
@@ -427,6 +438,7 @@ editor.waves = Dalgalar:
editor.rules = Kurallar:
editor.generation = Oluşum:
editor.objectives = Görevler:
editor.locales = Locale Bundles
editor.ingame = Oyun içinde düzenle
editor.playtest = Test Et
editor.publish.workshop = Atölyede Yayınla
@@ -483,6 +495,7 @@ editor.default = [lightgray]<Varsayılan>
details = Detaylar...
edit = Düzenle...
variables = Değişkenler
logic.globals = Built-in Variables
editor.name = İsim:
editor.spawn = Birim Oluştur
editor.removeunit = Birim Kaldır
@@ -494,6 +507,7 @@ editor.errorlegacy = Bu harita çok eski ve artık desteklenmeyen bir legacy har
editor.errornot = Bu bir harita dosyası değil.
editor.errorheader = Bu harita dosyası geçerli değil ya da bozuk.
editor.errorname = Haritanın ismi yok!?! Bir kayıt dosyası mı yüklemeye çalışıyorsunuz?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Güncelle
editor.randomize = Rastgele Yap
editor.moveup = Yukarı Kaydır
@@ -505,6 +519,7 @@ editor.sectorgenerate = Sektör Oluştur
editor.resize = Yeniden Boyutlandır
editor.loadmap = Harita Yükle
editor.savemap = Haritayı Kaydet
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Kaydedildi!
editor.save.noname = Haritanın bir ismi yok! 'Harita bilgileri' menüsünden bir isim seç.
editor.save.overwrite = Haritan bir yerleşik haritayla örtüşüyor! 'Harita bilgileri' menüsünden farklı bir isim seç.
@@ -591,6 +606,23 @@ filter.option.floor2 = İkincil Duvar
filter.option.threshold2 = İkincil Eşik
filter.option.radius = Yarıçap
filter.option.percentile = Yüzdelik
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = En:
height = Boy:
@@ -641,9 +673,11 @@ objective.destroycore.name = Merkezi Yok Et
objective.commandmode.name = Komuta Et
objective.flag.name = Bayrak
marker.shapetext.name = Şekilli Yazı
marker.minimap.name = Harita
marker.point.name = Point
marker.shape.name = Şekil
marker.text.name = Yazı
marker.line.name = Line
marker.quad.name = Quad
marker.background = Arkaplan
marker.outline = Anahat
objective.research = [accent]Araştır:\n[]{0}[lightgray]{1}
@@ -669,7 +703,6 @@ resources.max = Maks
bannedblocks = Yasaklı Bloklar
objectives = Görevler
bannedunits = Yasaklı Birimler
rules.hidebannedblocks = Yasaklı Blokları Sakla
bannedunits.whitelist = Yasaklı Birimleri Beyazlisteye Ata
bannedblocks.whitelist = Yasaklı Binaları Beyazlisteye Ata
addall = Hepsini Ekle
@@ -696,8 +729,8 @@ weather.snow.name = Kar
weather.sandstorm.name = Kum Fırtınası
weather.sporestorm.name = Spor Fırtınası
weather.fog.name = Sis
campaign.playtime = \uf129 [lightgray]Sector Playtime: {0}
campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered.
campaign.playtime = \uf129 [lightgray]Sektörde Oynama Süresi: {0}
campaign.complete = [accent]Tebrikler!.\n\n{0} üzerinde bulunan düşman bozguna uğratılmıştır.\n[lightgray]Son sektör fethedilmiştir. GG!
sectorlist = Sektörler
sectorlist.attacked = {0} saldırı altında
@@ -728,8 +761,7 @@ sector.curlost = Sektör Kaybedildi
sector.missingresources = [scarlet]Yetersiz Merkez Kaynakları
sector.attacked = Sektör [accent]{0}[white] saldırı altında!
sector.lost = Sektör [accent]{0}[white] kaybedildi!
#Çekirdek -> Merkez -RTOmega
sector.captured = Sektör [accent]{0}[white]elegeçirildi!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = İkon Değiştir
sector.noswitch.title = Sektör Değiştirilemiyor
sector.noswitch = Bir Sektör saldırı altındayken başka bir sektöre geçemezsin.\n\nSektör: [accent]{1}[] deki [accent]{0}[]
@@ -780,10 +812,10 @@ sector.fungalPass.description = Yüksek dağlar ve daha alçak, sporla dolu topr
sector.biomassFacility.description = Sporların ana kaynağı. Burası, onların üretim yeri.\nOnların içindeki gücü araştır. Sporları parçala, enerji ve plastik üret..\n\n[lightgray]Bu Fabrika yıkıldığında, sporlar etrafa yayldı. Hiçbir yaşam formu, bu forma üstün gelemedi.
sector.windsweptIslands.description = Kıyının hemen yanında, bir adalar topluluğu. Kayıtlar bir zamanlar, [accent]Plastik[]-üreten binalar olduğunu gösteriyor.\n\nDüşman gemilerini batır, bir üs inşa et ve plastik üretmeye başla.
sector.extractionOutpost.description = Uzak bir üs, düşman tarafından inşa edildiği düşünülüyor.\n\nSektörler arası aktarım, gelecek için çok önemli bir kademe. Üssü yok et, Fırlatış rampasını aç!
sector.impact0078.description = Burası, eskiden buraya düşmüş bir yıldızlar arası uzay gemisinin kalıntıları.\n\nOlabildiğince çok şeyi araştır. Teknolojiden yaralan.
sector.impact0078.description = Burası, eskiden buraya düşmüş bir yıldızlar arası uzay gemisinin kalıntıları.\n\nOlabildiğince çok şeyi araştır. Teknolojiden yararlan.
sector.planetaryTerminal.description = Son aşama.\n\nBu üs, başka gezegenlere gitmeyi sağlayan teknolojiyi barıdırıyor. Aşırı iyi bir şekilde korunuyor.\n\nOlabildiğince hızlı bir şekilde gemi üret ve düşman üssü elegeçir. Gezegenler Arası Hızladırıcıyı aç!
sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology.
sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it.
sector.coastline.description = Bu bölgede denizel birim teknoloji kalıntıları tespit edildi. Düşman saldırılarını püskürt, sektörü ele geçir ve teknolojiyi kurtar.
sector.navalFortress.description = Düşman bu uzak adaya doğal olarak korunan bir üs kurmuş. Bu üssü yok et. Onların gelişmiş savaş gemisi teknolojilerini elde et ve araştır.
sector.onset.name = Yeni Başlangıç
sector.aegis.name = Siper
sector.lake.name = Göletcik
@@ -791,12 +823,12 @@ sector.intersect.name = Kesişim
sector.atlas.name = Atlas
sector.split.name = Ayrılım
sector.basin.name = Havza
sector.marsh.name = Marsh
sector.marsh.name = Bataklık
sector.peaks.name = Doruk Noktası
sector.ravine.name = Kanyon
sector.caldera-erekir.name = Kaldera
sector.stronghold.name = Sığınak
sector.crevice.name = Crevice
sector.crevice.name = Çatlak
sector.siege.name = Kuşatma
sector.crossroads.name = Kavşak
sector.karst.name = Karst
@@ -806,17 +838,17 @@ sector.aegis.description = Düşman Kalkanların arkasına Sığınmış Durumda
sector.lake.description = Bu Sektörün Cürüf Gölü, birimleri büyük oranda engelliyor. Bir Hovercraft tek seçeneğin.\n[accent]Gemi Fabrikatörünü[] araştır ve [accent]elude[] birimini olabildiğince kısa sürede üret!
sector.intersect.description = Taramalar, bu Sektörün farklı yönlerden salıdırya uğrayacağını belirtiyor.\nHızlı bir şekilde savunma kur.\n[accent]Mech[] birimleri bu Sektör için bir olmazssa olmaz!
sector.atlas.description = Bu Sektör, farklı tür saldırılar isteyen dengesiz bir araziden oluşuyor.\nDüşman Üssünü yenebilmek için Geliştirilmiş birimler gerekebilir.\n[accent]Elektolizörü[] ve [accent]Tank Yeniden Yapılandırıcı[] yı araştırmadan bu sektör oldukça zor.
sector.split.description = Bu Sektördeki minimal düşman bulunması, bu Sektörü Uşaım Test etmek için oldukça uygun bir yer yapıyor.
sector.basin.description = Burda çok sayıda düşman tespit edildi.\nHızlıca birim üret ve üssü ele geçir! UwU
sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power.
sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings.
sector.ravine.description = Bu üsde düşman merkezi tespit edilemedi, ancak düşman için önemli bir geçiş rotası. Değişik türde birimler geçebilir.\n[accent]Akı[] üret. [accent]Afflict[] turretleri inşaa et.
sector.split.description = Bu sektörde az düşman oluşu burayı yeni taşıma teknolojisini test etmek için çok uygun bir yer yapıyor. UwU
sector.basin.description = Bu sektörde çok sayıda düşman tespit edildi.\nHızlıca birim üret ve düşman merkezlerini ele geçir.
sector.marsh.description = Bu sektörde bolca arkisit bulunuyor ancak az sayıda baca deliği var.\n[accent]Kimyasal Yanma Odası[] inşa ederek elektrik üret.
sector.peaks.description = Bu sektördeki dağlık arazi çoğu birimi kullanışsız kılıyor. Uçan birimler gerekecektir.\nDüşman hava savunmalarına dikkat et. Hava savunmaların destekçi binalarını hedef alarak bazılarını devre dışı bırakmak mümkün olabilir.
sector.ravine.description = Burada düşman merkezi tespit edilemedi, ancak düşman için önemli bir geçiş rotası. Değişik türde birimler geçebilir.\n[accent]Akı[] üret. [accent]Afflict[] taretleri inşa et.
sector.caldera-erekir.description = Bu haritadaki madenler çok sayıda adaya dağılmış durumda.\nDron taşımcılığını aç ve taşıma sistemi kur.
sector.stronghold.description = Bu sektörde düşmanlar senin [accent]torium[] almanı engellemek için ellerinden geleni yapıyor!\nOnların HAİN planlarını boz ve teknolojini geliştir.
sector.stronghold.description = Bu sektörde düşmanlar senin [accent]toryum[] almanı engellemek için ellerinden geleni yapıyor!\nOnların HAİN planlarını boz ve teknolojini geliştir.
sector.crevice.description = Düşman senin üssünü ele geçirmek için çok sayıda birim gönderecek.\n[accent]Karbür[] elde et ve [accent]Piroliz Jeneratörü[]'nü aç. Bu hayatta kalmak için tek şansın olabilir!
sector.siege.description = Bu sektör, iki farklı kanyon içeriyor. İki tarafdan aynı anda savunmaya hazır ol.\n[accent]Siyanojen[] üret daha da güçlü tankları aç.\nDikkat: Uzun menzilli füzeler tespit edildi! Füzeler hedefe varmadan havada vurulabilir.
sector.crossroads.description = Bu sektördeki üsler farklı seviyelerde inşa edilmiş. Adapte olmak için başka birimleri araştır.\nEk olarak, bağzı üslerin koruma kalkanları bulunmakta. Nasıl çalıştıklarını bulmaya çalış.
sector.karst.description = Bu sektör kaynak bakımından zengin, ancak yeni bir merkez iniş yaptığı anda düşman üzerimize çökücek.\nKaynakları iyi deyerlendir ve [accent]faz[]'ı aç.
sector.crossroads.description = Bu sektördeki üsler farklı seviyelerde inşa edilmiş. Adapte olmak için başka birimleri araştır.\nEk olarak, bazı üslerin koruma kalkanları bulunmakta. Nasıl çalıştıklarını bulmaya çalış.
sector.karst.description = Bu sektör kaynak bakımından zengin, ancak yeni bir merkez iniş yaptığı anda düşman üzerimize çökecek.\nKaynakları iyi deyerlendir ve [accent]faz[]'ı aç.
sector.origin.description = Güçlü düşmanları barındıran son sektör.\nDaha fazla uyumlu araştırma kalmadı - tüm gücünle düşmanı yenmeye çalış!
status.burning.name = Yanıyor
@@ -902,7 +934,7 @@ stat.repairspeed = Tamir Hızı
stat.weapons = Silahlar
stat.bullet = Mermi
stat.moduletier = Modül Seviyesi
stat.unittype = Unit Type
stat.unittype = Birlik Türü
stat.speedincrease = Hız Artışı
stat.range = Menzil
stat.drilltier = Kazılabilenler
@@ -954,12 +986,12 @@ ability.statusfield = Hızlandırma Alanı
ability.unitspawn = Birliği Fabrikası
ability.shieldregenfield = Kalkan Yenileme Alanı
ability.movelightning = Hareket Enerjisi
ability.shieldarc = Arc Kalkan
ability.shieldarc = Ark Kalkanı
ability.suppressionfield = Tamir Engelleme Alanı
ability.energyfield = Güç Kalkanı
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
ability.energyfield.sametypehealmultiplier = [lightgray]Aynı Türden İyileştirme: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Azami Hedefler: [white]{0}
ability.regen = Yenilenme
bar.onlycoredeposit = Sadece Merkeze Aktarım Mümkün
bar.drilltierreq = Daha Güçlü Matkap Gerekli
@@ -999,11 +1031,12 @@ bullet.splashdamage = [stat]{0} [lightgray]alan hasarı ~[stat] {1} [lightgray]k
bullet.incendiary = [stat]yakıcı
bullet.homing = [stat]güdümlü
bullet.armorpierce = [stat]zırh delici
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] tamir bastırması ~ [stat]{1}[lightgray] karolar
bullet.interval = [stat]{0}/sec[lightgray] ara mermiler:
bullet.frags = [stat]{0}[lightgray]x parçalı mermiler:
bullet.lightning = [stat]{0}[lightgray]x elektrik ~ [stat]{1}[lightgray] hasarı
bullet.buildingdamage = [stat]{0}%[lightgray] inşaa hasarı
bullet.buildingdamage = [stat]{0}%[lightgray] inşa hasarı
bullet.knockback = [stat]{0} [lightgray]savurma
bullet.pierce = [stat]{0}[lightgray]x delme
bullet.infinitepierce = [stat]delme
@@ -1054,6 +1087,7 @@ setting.backgroundpause.name = Arka Planda Durdur
setting.buildautopause.name = İnşa etmeyi otomatik olarak durdur
setting.doubletapmine.name = İki Tıklamayla Kaz
setting.commandmodehold.name = Komuta Modu için Basılı Tut
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Modları Çökmede Kapa
setting.animatedwater.name = Animasyonlu Su
setting.animatedshields.name = Animasyonlu Kalkanlar
@@ -1074,14 +1108,14 @@ setting.difficulty.normal = Normal
setting.difficulty.hard = Zor
setting.difficulty.insane = İmkansız
setting.difficulty.name = Zorluk:
setting.screenshake.name = Ekranı Sars
setting.screenshake.name = Ekran Sarsılması
setting.bloomintensity.name = Parlaklık Şiddeti
setting.bloomblur.name = Parlaklık Bulanıklılığı
setting.effects.name = Efektleri Görüntüle
setting.destroyedblocks.name = Kırılmış Blokları Göster
setting.blockstatus.name = Blok Durumunu Göster
setting.conveyorpathfinding.name = Konveyör Yol Bulma
setting.sensitivity.name = Kontrolcü Hassasiyeti
setting.sensitivity.name = Kumanda Hassasiyeti
setting.saveinterval.name = Kayıt Aralığı
setting.seconds = {0} Saniye
setting.milliseconds = {0} milisaniye
@@ -1100,14 +1134,14 @@ setting.position.name = Oyuncu Noktasını Göster
setting.mouseposition.name = Fareyi Göster
setting.musicvol.name = Müzik Sesi
setting.atmosphere.name = Gezegen Atmosferini Göster
setting.drawlight.name = Draw Darkness/Lighting
setting.drawlight.name = Karanlığı/Aydınlığı Çiz
setting.ambientvol.name = Çevresel Ses
setting.mutemusic.name = Müziği Kapat
setting.sfxvol.name = Oyun Sesi
setting.mutesound.name = Sesi Kapat
setting.crashreport.name = Anonim Çökme Raporları Gönder
setting.savecreate.name = Otomatik Kayıt Oluştur
setting.publichost.name = Halka Açık Sunucular
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Oyuncu Limiti
setting.chatopacity.name = Mesajlaşma Opaklığı
setting.lasersopacity.name = Enerji Lazeri Opaklığı
@@ -1117,8 +1151,8 @@ setting.showweather.name = Hava Durmu Grafiklerini Göster
setting.hidedisplays.name = İşlemci İpuçlarını Gizle
setting.macnotch.name = Arayüzü çentik gösterecek şekilde uyarlayın
setting.macnotch.description = Değişikleri uygulamak için yeniden başlatma gerekli
steam.friendsonly = Friends Only
steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join.
steam.friendsonly = Arkadaşlara özel
steam.friendsonly.tooltip = Sadece Steam arkadaşlarının katılıp katılabilemeyeceğini belirler.\nBu kutudan tiki kaldırmak oyununuzu herkese açık yapacaktır.
public.beta = Oyunun beta sürümlerinin halka açık lobiler yapamayacağını unutmayın.
uiscale.reset = Arayüz ölçeği değiştirildi.\nBu ölçeği onaylamak için "Tamam" butonuna basın.\n[accent] {0}[] [scarlet]saniye içinde eski ayarlara geri dönülüp oyundan çıkılıyor…[]
uiscale.cancel = İptal Et ve Çık
@@ -1127,6 +1161,7 @@ keybind.title = Tuşları Yeniden Ata
keybinds.mobile = [scarlet]Buradaki çoğu tuş ataması mobilde geçerli değildir. Sadece temel hareket desteklenmektedir.
category.general.name = Genel
category.view.name = Görünüm
category.command.name = Unit Command
category.multiplayer.name = Çok Oyunculu
category.blocks.name = Blok Seçimi
placement.blockselectkeys = \n[lightgray]Tuş: [{0},
@@ -1144,10 +1179,27 @@ keybind.mouse_move.name = Fareyi Takip Et
keybind.pan.name = Yatay Kaydırma Görünümü
keybind.boost.name = Yükselt
keybind.command_mode.name = Komuta Modu
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Alanı Geri İşaa Et
keybind.schematic_select.name = Bölge Seç
keybind.schematic_menu.name = Şema Menüsü
keybind.schematic_flip_x.name = Şemayı X ekseninde Döndür
keybind.schematic_flip_x.name = Şemayı X Ekseninde Döndür
keybind.schematic_flip_y.name = Şemayı Y Ekseninde Döndür
keybind.category_prev.name = Önceki Kategori
keybind.category_next.name = Sonraki Kategori
@@ -1207,9 +1259,12 @@ mode.pvp.description = Yerel olarak başkaları ile savaş.\n[gray]Oynamak için
mode.attack.name = Saldırı
mode.attack.description = Düşman üssünü yok et. Dalga yok.\n[gray]Oynamak için haritada düşman merkez olması gerekir.
mode.custom = Özel Kurallar
rules.invaliddata = Hatalı pano verisi.
rules.hidebannedblocks = Yasaklı Blokları Sakla
rules.infiniteresources = Sınırsız Kaynaklar
rules.onlydepositcore = Sadece Merkeze Aktarmaya İzin Ver
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Reaktör Patlamaları
rules.coreincinerates = Merkez Taşanları Eritir
rules.disableworldprocessors = Evrensel İşlemcileri Devredışı Bırak
@@ -1218,12 +1273,12 @@ rules.wavetimer = Dalga Zamanlayıcısı
rules.wavesending = Dalga Gönderiliyor
rules.waves = Dalgalar
rules.attack = Saldırı Modu
rules.buildai = Base Builder AI
rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Gurup Boyutu
rules.rtsmaxsquadsize = Maks Gurup Boyutu
rules.rtsminattackweight = Min Saldırı Boyutu
rules.buildai = Üs inşa edici YZ
rules.buildaitier = İnşaatçı YZ sınıfı
rules.rtsai = RTS YZ
rules.rtsminsquadsize = Asgari Gurup Boyutu
rules.rtsmaxsquadsize = Azami Gurup Boyutu
rules.rtsminattackweight = Asgari Saldırı Boyutu
rules.cleanupdeadteams = Kaybeden Takımın Bloklarını Temizle (PvP)
rules.corecapture = Yıkımda Çekirdeği Elegeçir
rules.polygoncoreprotection = Çokgenli Merkez Koruması
@@ -1235,7 +1290,7 @@ rules.unitbuildspeedmultiplier = Birim Üretim Hız Çarpanı
rules.unitcostmultiplier = Birim Fiyat Çarpanı
rules.unithealthmultiplier = Birim Can Çarpanı
rules.unitdamagemultiplier = Birim Hasar Çapanı
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
rules.unitcrashdamagemultiplier = Birim Çakılma Hasar Çarpanı
rules.solarmultiplier = Güneş Paneli Üretim Çarpanı
rules.unitcapvariable = Merkezler Birim Sınırını Etkiler
rules.unitcap = Sabit Birim Sınırı
@@ -1247,7 +1302,7 @@ rules.buildcostmultiplier = İnşa Ücreti Çarpanı
rules.buildspeedmultiplier = İnşa Hızı Çarpanı
rules.deconstructrefundmultiplier = Yıkım İade Çarpanı
rules.waitForWaveToEnd = Dalgalar Düşmanı Bekler
rules.wavelimit = Map Ends After Wave
rules.wavelimit = Harita .. Dalgadan Sonra Biter
rules.dropzoneradius = İniş Noktası Yarıçapı: [lightgray](kare)
rules.unitammo = Birlikler Mermi Gerektirir
rules.enemyteam = Düşman Takım
@@ -1293,7 +1348,7 @@ item.surge-alloy.name = Akı Alaşımı
item.spore-pod.name = Spor Kapsülü
item.sand.name = Kum
item.blast-compound.name = Patlayıcı Bileşik
item.pyratite.name = Pirratit
item.pyratite.name = Piratit
item.metaglass.name = Metacam
item.scrap.name = Hurda
item.fissile-matter.name = Bölünebilir Madde
@@ -1301,14 +1356,14 @@ item.beryllium.name = Berilyum
item.tungsten.name = Tungsten
item.oxide.name = Oksit
item.carbide.name = Karbür
item.dormant-cyst.name = Dormant Kist
item.dormant-cyst.name = Etkin Olmayan Kist
liquid.water.name = Su
liquid.slag.name = Cüruf
liquid.oil.name = Petrol
liquid.cryofluid.name = Kriyosıvı
liquid.neoplasm.name = Neoplazm
liquid.arkycite.name = Arkkit
liquid.arkycite.name = Arkisit
liquid.gallium.name = Galyum
liquid.ozone.name = Ozon
liquid.hydrogen.name = Hidrojen
@@ -1428,10 +1483,10 @@ block.crater-stone.name = Krater
block.sand-water.name = Kumlu Su
block.darksand-water.name = Kara Kumlu Su
block.char.name = Kömür
block.dacite.name = Dakit
block.dacite.name = Daist
block.rhyolite.name = Riyolit
block.dacite-wall.name = Dakit Duvar
block.dacite-boulder.name = Dakit Kaya Parçaları
block.dacite-wall.name = Daist Duvar
block.dacite-boulder.name = Daist Kaya Parçaları
block.ice-snow.name = Buzlu Kar
block.stone-wall.name = Taş Duvar
block.ice-wall.name = Buz Duvar
@@ -1534,7 +1589,7 @@ block.ripple.name = Ripple
block.phase-conveyor.name = Faz Konveyörü
block.bridge-conveyor.name = Konveyör Köprüsü
block.plastanium-compressor.name = Plastanyum Kompresörü
block.pyratite-mixer.name = Pirratit Mikseri
block.pyratite-mixer.name = Piratit Mikseri
block.blast-mixer.name = Patlayıcı Bileşik Mikseri
block.solar-panel.name = Güneş Paneli
block.solar-panel-large.name = Büyük Güneş Paneli
@@ -1594,11 +1649,11 @@ block.overdrive-dome.name = Hızlandırma Kubbesi
block.interplanetary-accelerator.name = Gezegenler Arası Hızlandırıcı
#Düzgün tutun bu TR translatei uğraştırıyonuz beni. -RTOmega
block.constructor.name = İnşaatçı
block.constructor.description = 2x2 ve daha küçük blokları inşaa edebilir.
block.constructor.description = 2x2 ve daha küçük blokları inşa edebilir.
block.large-constructor.name = Büyük İnşaatçı
block.large-constructor.description = 4x4 ve daha küçük blokları inşaa edebilir.
block.large-constructor.description = 4x4 ve daha küçük blokları inşa edebilir.
block.deconstructor.name = Yıkıcı
block.deconstructor.description = Blok ve Birimleri yokeder, 100% iade sağlar.
block.deconstructor.description = Blok ve Birimleri yok eder, 100% iade sağlar.
block.payload-loader.name = Kargo Yükleyici
block.payload-loader.description = Sıvı ve malzemeleri bloklara yükler.
block.payload-unloader.name = Kargo Boşaltıcı
@@ -1618,8 +1673,8 @@ block.crystalline-stone.name = Kristal Taş
block.crystal-floor.name = Kristal Zemin
block.yellow-stone-plates.name = Sarı Taş Zemin
block.red-stone.name = Kızıl Taş
block.dense-red-stone.name = Yoğun Kızık Kaya
block.red-ice.name = Kızık Buz
block.dense-red-stone.name = Yoğun Kızıl Kaya
block.red-ice.name = Kızıl Buz
block.arkycite-floor.name = Arkisit Zemin
block.arkyic-stone.name = Arkisit Taş
block.rhyolite-vent.name = Riyolit Baca
@@ -1730,7 +1785,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Fabrikatör
block.tank-refabricator.name = Tank Yeniden Yapılandırıcı
block.mech-refabricator.name = Robot Yeniden Yapılandırıcı
block.ship-refabricator.name = Gemi Yeniden Yapılandırıcı
@@ -1794,8 +1848,8 @@ hint.unitSelectControl.mobile = Birim kontrol etmek için [accent]komuta moduna[
hint.launch = Yeterince kaynak topladıktan sonra, üssünüzü başka bir sektöre [accent]fırlatmak[] için sağ alttaki \ue827 [accent]harita[] tuşuna basın.
hint.launch.mobile = Yeterince kaynak topladıktan sonra, üssünüzü başka bir sektöre [accent]fırlatmak[] için sağ alttaki \ue88c [accent]menüden[] \ue827 [accent]harita[] tuşuna basın.
hint.schematicSelect = İstediğiniz blokları kopyalayıp yapıştırmak için [accent][[F][] tuşunu basılı tutun ve farenizi sürükleyin.\n\n[accent][[Orta Tuş'a (Fare Tekerleği'ne)][] basarak tek bir blok seçebilirsiniz.
hint.rebuildSelect = [accent][[B][] ye basılı tutarak, yok edilmiş blokları seç.\nBu binaları yeniden inşaa etmeni sağlar.
hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically.
hint.rebuildSelect = [accent][[B][] ye basılı tutarak, yok edilmiş blokları seç.\nBu binaları yeniden inşa etmeni sağlar.
hint.rebuildSelect.mobile = \ue874 kopya tuşunu seç, sonra \ue80f yeniden inşa tuşuna bas ve yok olmuş blok planlarını seçmek için sürükle.\nBu onları otomatik olarak tekrardan inşa edecektir.
hint.conveyorPathfind = Konveyörler ile yol yaparken bir noktadan diğer noktaya otomatik yol oluşturmak için [accent][[Sol CTRL][] tuşunu basılı tutun.
hint.conveyorPathfind.mobile = Konveyörler ile yol yaparken bir noktadan diğer noktaya otomatik yol oluşturmak için \ue844 [accent]Çapraz Mod'u[] etkinleştirin.
hint.boost = Bazı yer birimleri duvarların, taretlerin, diğer birimlerin üstünden uçma özelliği vardır. [accent][[Sol Shift][] tuşunu basılı tutarak bazı yer üniteleri ile uçabilirsiniz.
@@ -1815,54 +1869,55 @@ hint.factoryControl.mobile = Bir Birim Fabrikasının [accent]üretim noktasın
gz.mine = \uf8c4 [accent]Bakır madeni[]nin yanına giderek üzerine tıklayarak kazmaya başla.
gz.mine.mobile = \uf8c4 [accent]Bakır madeni[]nin yanına giderek üzerine tıklayarak kazmaya başla.
gz.research = \ue875 Teknoloji Ağacını aç.\n\uf870 [accent]Mekanik Matkap[]'ı aç, ardından sağ alttaki menüden seç.\nBakır madenine tıklayarak üzerine matkapı yerleştir.
gz.research.mobile = \ue875 Teknoloji Ağacını aç.\n\uf870 [accent]Mekanik Matkap[]'ı aç, ardından sağ alttaki menüden seç.\nBakır madenine tıklayarak üzerine matkapı yerleştir.\n\nArdından \ue800 [accent]tik[] tuşuna basarak inşaayı onayla.
gz.research.mobile = \ue875 Teknoloji Ağacını aç.\n\uf870 [accent]Mekanik Matkap[]'ı aç, ardından sağ alttaki menüden seç.\nBakır madenine tıklayarak üzerine matkapı yerleştir.\n\nArdından \ue800 [accent]tik[] tuşuna basarak inşayı onayla.
gz.conveyors = \uf896 [accent]Konveyör[]'ü aç ve yerleştirerek madenleri merkeze taşı.\n\nBasılı tutup sürükleyerek birden fazla konveyör koy.\n[accent]Scroll[] ile döndür.
gz.conveyors.mobile = \uf896 [accent]Konveyör[]'ü aç ve yerleştirerek madenleri merkeze taşı.\n\nBasılı tutup sürükleyerek birden fazla konveyör koy.
gz.drills = Operasyonunu genişlet.\nDaha fazla Mekanik Matkap yerleştir.\n100 Bakır kaz.
gz.lead = \uf837 [accent]Kurşun[], kullanılan basit madenlerden biridir.\nKurşun kazmak için matkap kullan.
gz.moveup = \ue804 Daha fazla talimat için yukarı ilerle.
gz.turrets = 2 adet\uf861 [accent]Duo[] turreti araştır ve koy.\nDuo turreti bakır\uf838 [accent]mermi[]ye ihtiyaç duyar.
gz.turrets = 2 adet\uf861 [accent]Duo[] tareti araştır ve koy.\nDuo tareti bakır\uf838 [accent]mermi[]ye ihtiyaç duyar.
gz.duoammo = Duo'ya konveyörler ile [accent]bakır[] besle.
gz.walls = [accent]Duvarlar[] gelen hasarı engelleyebilir.\nSilahların etrafına, koruma amçlı\uf8ae [accent]Bakır Duvar[] inşaa et.
gz.walls = [accent]Duvarlar[] gelen hasarı engelleyebilir.\nSilahların etrafına, koruma amçlı\uf8ae [accent]Bakır Duvar[] inşa et.
gz.defend = DÜŞMAN GELİYO!!! Hazırlan.
gz.aa = Uçan birimler standart turretlerle kolay kolay durdurulamaz..\n\uf860 Onları daha kolay durdurmak için, [accent]Scatter[] turreti kullan, ancak mermi olarak\uf837 [accent]kurşun[] gerektirir.
gz.scatterammo = Scatter turretini [accent]kurşun[] ile besle.
gz.supplyturret = [accent]Turreti Besle
gz.aa = Uçan birimler standart taretlerle kolay kolay durdurulamaz..\n\uf860 Onları daha kolay durdurmak için, [accent]Scatter[] tareti kullan, ancak mermi olarak\uf837 [accent]kurşun[] gerektirir.
gz.scatterammo = Scatter taretini [accent]kurşun[] ile besle.
gz.supplyturret = [accent]Tareti Besle
gz.zone1 = Burası düşman iniş noktası.
gz.zone2 = Buraya inşaa edilien her şey otomatik yok edilir!
gz.zone2 = Buraya inşa edilien her şey otomatik yok edilir!
gz.zone3 = Dalga başlamak üzere.\nHazır ol. Dikkat! ... Korkma sönmez bu şafak-
gz.finish = Daha fazla turret inşaa et, daha fazla maden kaz\nve tüm dalgaları yenerek [accent]sektörü feth et[]. Bol şans, RTOmega.
gz.finish = Daha fazla taret inşa et, daha fazla maden kaz\nve tüm dalgaları yenerek [accent]sektörü feth et[]. Bol şans, RTOmega.
onset.mine = Tıklayarak, duvarlardan\uf748 [accent]berillyum[] kaz.\n\n[accent][[WASD] ile hareket et.
onset.mine.mobile = Tıklayarak, duvarlardan\uf748 [accent]berillyum[] kaz.
onset.research = \ue875 Teknoloji Ağacını aç.\n\uf73e [accent]Türbin Sıkıştırıcı[]'sını aç ve bir bacanın üstüne yerleştir.\nBu [accent]enerji[] üretecktir.
onset.bore = \uf741[accent]Plazma Kayalık Kazıcı[]'yı araştır ve koy.\nBu durvarlardan otomatik kum kazacak.
onset.power = Plazma kazıcıya [accent]enerji[] vermek için\uf73d [accent]Işın Noktası[]'nı araştır ve inşaa et.\nTürbin Sıkıştırıcısı'nı Plazma Kazıcıya bağla.
onset.power = Plazma kazıcıya [accent]enerji[] vermek için\uf73d [accent]Işın Noktası[]'nı araştır ve inşa et.\nTürbin Sıkıştırıcısı'nı Plazma Kazıcıya bağla.
onset.ducts = \uf799[accent]Tüp[]'ü aç ve konveyör gibi kullanarak madenleri merkeze taşı.\nTıklayığ basılı tutarak birden fazla tüp koy.\n[accent]Scroll[] ile döndür.
onset.ducts.mobile = \uf799[accent]Tüp[]'ü aç ve konveyör gibi kullanarak madenleri merkeze taşı.\nTıklayığ basılı tutarak birden fazla tüp koy.
onset.moremine = Kazı operasyonunu genişlet.\nDaha fazla Plazma Kayalık Kazıcı inşaa et.\n200 Berilyum kaz.
onset.graphite = Daha gelişmiş bloklar\uf835 [accent]grafit[] gerektirir.\nGafit kazmak için Plazma Kayalık Kazıcıları inşaa et.
onset.moremine = Kazı operasyonunu genişlet.\nDaha fazla Plazma Kayalık Kazıcı inşa et.\n200 Berilyum kaz.
onset.graphite = Daha gelişmiş bloklar\uf835 [accent]grafit[] gerektirir.\nGafit kazmak için Plazma Kayalık Kazıcıları inşa et.
onset.research2 = [accent]Fabrikaları[] araştırmaya başla.\n\uf74d[accent]Kayalık Delici[] ve\uf779 [accent]Ark Silikon Fırını[]'nı araştır.
onset.arcfurnace = Ark Fırın,\uf834 [accent]kum[] ve \uf835 [accent]grafit[]'ten \uf82f [accent]silikon[] üret.\nBu işlem [accent]Enerji[] de gerektirir.
onset.crusher = \uf74d [accent]Kayalık Delici[] kullanarak kum kaz.
onset.fabricator = [accent]Birim[] kullanarak haritayı gez, binalarını koru ve düşmanları alt et. \uf6a2 [accent]Tank İnşaatcı[]'sını araştır ve inşaa et.
onset.fabricator = [accent]Birim[] kullanarak haritayı gez, binalarını koru ve düşmanları alt et. \uf6a2 [accent]Tank İnşaatcı[]'sını araştır ve inşa et.
onset.makeunit = Bir Birim üret.\n"?" tuşunu kullanarak gereksinimleri görebilirsin.
onset.turrets = Birimler etkili, ancak [accent]turretler[] daha iyi bir savunma sağlar.\n\uf6eb [accent]Breach[] turretini inşaa et.\nTurretler\uf748 [accent]mermi[]ye ihtiyaç duyar.
onset.turretammo = Turreti [accent]berilyum mermi[] ile besle.
onset.walls = [accent]Duvarlar[] gelen hasarı engelleyebilir.\nSilahların etrafına, koruma amçlı\uf8ae [accent]Berilyum Duvar[] inşaa et.
onset.turrets = Birimler etkili, ancak [accent]taretler[] daha iyi bir savunma sağlar.\n\uf6eb [accent]Breach[] taretini inşa et.\nTaretler\uf748 [accent]mermi[]ye ihtiyaç duyar.
onset.turretammo = Tareti [accent]berilyum mermi[] ile besle.
onset.walls = [accent]Duvarlar[] gelen hasarı engelleyebilir.\nSilahların etrafına, koruma amçlı\uf8ae [accent]Berilyum Duvar[] inşa et.
onset.enemies = DÜŞMAN GELİYO!!! Hazırlan.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = Düşman zayıf! Hemen geri dal!
onset.cores = [accent]Merkez Zemin[]lerinin üzerine yeni merkezler inşaa edilebilir.\nTüm merkezler birbirleri ile malzemeleri paylaşır.\n\uf725 Bir çekirdek inşaa et.
onset.cores = [accent]Merkez Zemin[]lerinin üzerine yeni merkezler inşa edilebilir.\nTüm merkezler birbirleri ile malzemeleri paylaşır.\n\uf725 Bir merkez inşa et.
onset.detect = Düşman seni 2 dakika içinde tespit edicek.\nSavunma, maden ve üretime başla.
onset.commandmode = [accent]Shift[] e basılı tutarak [accent]Komuta Modu[]na geç.\n[accent]Sol Tıklayıp sürekleyerek[] birim seç.\n[accent]Sağ Tıklayarak[] Birimleri Yönlendir veya saldırt.
onset.commandmode.mobile = [accent]Komuta Düğmesine[] basarak [accent]Komuta Moduna[] gir.\nBir Parmağını basılı tut ve değirini [accent]sürükle[]yerek birim seç.\n[accent]Tıkla[]yarak birimleri saldırttırabilir veya yönlendirebilirsin.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
aegis.tungsten = Tungsten [accent]darbeli matkap[] kullanılarak kazılabilir.\nBu bina [accent]su[] ve [accent]elektrik[] ister.
split.pickup = Bazı bloklar merkez birimi ile taşınabilir.\nBu [accent]Konteyner[]i kaldır ve [accent]Küyle Yükleyici[]ye koy.\n([ ve ] tuşlarını kullan)
split.pickup.mobile = Bazı bloklar merkez birimi ile taşınabilir.\nBu [accent]Konteyner[]i kaldır ve [accent]Küyle Yükleyici[]ye koy.\n(Uzun basarak bir şeyi taşı.)
split.acquire = Birim üretmek için Tungsten kaz.
split.build = Birimler duvarın öbür tarafına taşınmalı.\nİki adet [accent]Kargo Kütle Sürücü[] inşaa et, duvarın iki farklı tarafında.\nBir tanesine tıklayarak birbirlerine bağla.
split.container = Konteynerler gibi, birimler de [accent]Kargo Kütle Sürücü[] ile taşınabilir.\nKütle Sürücün yanına bir Birim İnşaatcı inşaa et ve birim üreterek düşman üsse saldır.
split.build = Birimler duvarın öbür tarafına taşınmalı.\nİki adet [accent]Kargo Kütle Sürücü[] inşa et, duvarın iki farklı tarafında.\nBir tanesine tıklayarak birbirlerine bağla.
split.container = Konteynerler gibi, birimler de [accent]Kargo Kütle Sürücü[] ile taşınabilir.\nKütle Sürücün yanına bir Birim İnşaatcı inşa et ve birim üreterek düşman üsse saldır.
#Yukarıdaki bağzı cümleler Anti Dragon tarafından çevirildi.
item.copper.description = En basit materyal. Her türlü blokda kullanılır.
item.copper.description = En basit materyal. Her türlü blokta kullanılır.
item.copper.details = Bakır. En basit materyal. Tüm alt düzey binalarda gerekir. Zayıf ve dayanıksızdır.
item.lead.description = Basit bir materyal. Elektronikte ve sıvı taşımada kullanılır.
item.lead.details = Yoğun. Durağan. Pillerde yaygın olarak kullanılır.\nNot: Yaşam formlarına toksik. Tabi burda onlardan pek yok...
@@ -1893,7 +1948,7 @@ liquid.slag.description = Çeşitli tipte erimiş metallerin birbirine karışı
liquid.oil.description = İleri seviye malzeme üretiminde kullanılan bir sıvıdır. Yakıt olarak kömür haline getirilebilir veya püskürtülüp ateşe verilerek bir silah olarak kullanılabilir.
liquid.cryofluid.description = Su ve titanyumdan oluşturulan inaktif bir sıvı. Son derece yüksek ısı kapasitesine sahiptir. Soğutucu olarak yaygın olarak kullanılır.
liquid.arkycite.description = Sentez ve Kimyasal Reaksiyonlarda kullanılır.
liquid.ozone.description = Oksidasyonda, üretimde ve enerji üretiminde kullanılır. Patlayıcı.
liquid.ozone.description = Oksitlemede, üretimde ve enerji üretiminde kullanılır. Patlayıcı.
liquid.hydrogen.description = Maden çıkarmada, birim üretiminde ve taşımada kullanılır. Yanıcı.
liquid.cyanogen.description = Mermi olarak, gelişmiş bina ve birimlerde kullanılır. Yüksek derecede Yanıcı.
liquid.nitrogen.description = Gaz çıkarmada ve üretimde kullanılır. Durağan.
@@ -1914,8 +1969,8 @@ block.plastanium-compressor.description = Petrol ve titanyumdan plastanyum üret
block.phase-weaver.description = Kum ve radyoaktif toryumdan faz örgüsü üretir. Çalışması için çok miktarda enerji gerekir.
block.surge-smelter.description = Akı alaşımı üretmek için titanyum, kurşun, silikon ve bakırı birleştirir.
block.cryofluid-mixer.description = Su ve titanyum tozunu karıştırıp kriyosıvı üretir. Toryum reaktörü kullanımı için gereklidir.
block.blast-mixer.description = Patlayıcı bileşen üretmek için spor kapsüllerini pirratit ile ezer ve karıştırır.
block.pyratite-mixer.description = Kömür, kurşun ve kumu karıştırıp oldukça yanıcı olan pirratit üretir.
block.blast-mixer.description = Patlayıcı bileşen üretmek için spor kapsüllerini Piratit ile ezer ve karıştırır.
block.pyratite-mixer.description = Kömür, kurşun ve kumu karıştırıp oldukça yanıcı olan Piratit üretir.
block.melter.description = Wave taretlerinde kullanılması veya daha çok işlemesi için hurdayı eritip cürufa çevirir.
block.separator.description = Cürufu mineral bileşenlerine ayırır. Soğutulmuş bileşenleri çıkarır.
block.spore-press.description = Yağ çıkartmak için aşırı basınç altında spor kapsüllerini sıkıştırır.
@@ -1984,7 +2039,7 @@ block.battery-large.description = Sıradan bataryadan çok daha fazla enerji dep
block.combustion-generator.description = Kömür gibi yanıcı materyalleri yakarak enerji üretir.
block.thermal-generator.description = Sıcak bölgelere konulduğunda enerji üretir.
block.steam-generator.description = Daha gelişmiş bir termik jeneratör. Daha verimlidir, ama buhar üretebilmek için suya ihtiyaç duyar.
block.differential-generator.description = Çok miktarda enerji üretir. Kriyosıvı ve yanan pirratit arasındaki sıcaklık farkından yararlanır.
block.differential-generator.description = Çok miktarda enerji üretir. Kriyosıvı ve yanan Piratit arasındaki sıcaklık farkından yararlanır.
block.rtg-generator.description = Basit, güvenilir bir reaktör. Bozunan radyoaktif materyallerin ısısını kullanır.
block.solar-panel.description = Güneşten küçük miktarda enerji üretir.
block.solar-panel-large.description = Standart güneş panelinin daha verimli bir versiyonu.
@@ -2028,7 +2083,7 @@ block.repair-point.description = Kendisine en yakın hasarlı birimi tamir eder.
block.segment.description = Gelen mermilere zarar verir ve onları yok eder. Lazer mermilere etki etmez.
block.parallax.description = Çekici bir ışın fırlatarak hava düşmanlarını kendine çeker. Onlara az da olsa zarar verir.
block.tsunami.description = Düşmanlara yüksek miktarda sıvı püskürtür. Ateşleri otomatik söndürür.
block.silicon-crucible.description = Kum ve Kömürü, Pirratitle eriterek Silikon üretir. Sıcak ortamda daha iyi çalışır.
block.silicon-crucible.description = Kum ve Kömürü, Piratitle eriterek Silikon üretir. Sıcak ortamda daha iyi çalışır.
block.disassembler.description = Cürüfü aşırı sıcak ortamda seritir. Toryum elde edebilir.
block.overdrive-dome.description = Yakındaki binaları hızlandırır. Çalışmak için silikon ve faz gerektirir.
block.payload-conveyor.description = Büyük yükleri hareket ettirir. Birimler gibi.
@@ -2050,7 +2105,6 @@ block.logic-display.description = Bir işlemciden bilgi alarak grafik gösteriri
block.large-logic-display.description = Bir işlemciden bilgi alarak grafik gösteririr.
block.interplanetary-accelerator.description = Gezegenler Arası ulaşım şimdi parmaklarının ucunda...
block.repair-turret.description = Sürekli en yakın birimi tamir eder. Soğutucu kullanabilir.
block.payload-propulsion-tower.description = Kütle sürücü gibi bir yerden başka bir yere fırlatır, ancak malzeme yerine yük fırlatmakta kullanılır.
block.core-bastion.description = Ana Merkez. Güçlendirilmiş. Yok edildiğinde sektör kaybedilir.
block.core-citadel.description = Ana Merkez. Yüksek Seviyede Güçlendirilmiş. Yok edildiğinde sektör kaybedilir. Daha fazla malzeme depolar.
block.core-acropolis.description = Ana Merkez. Aşırı Yüksek Seviyede Güçlendirilmiş. Yok edildiğinde sektör kaybedilir. Daha da fazla malzeme depolar.
@@ -2060,7 +2114,7 @@ block.sublimate.description = Devamlı alev püskürtür. Zırh deler.
block.titan.description = Yer birimlerine devasa füzelerle ateş eder. Hidrojen gerektirir.
block.afflict.description = Devasa enerji küreleri fırlatır. Isı gerektirir.
block.disperse.description = Parçacıklı hava mermileri ateşler.
block.lustre.description = Fires a slow-moving single-target laser at enemy targets.
block.lustre.description = Düşmanlara yavaş hareket eden ve tek bir birimi hedef alabilen lazer ateşler.
block.scathe.description = Uzak yer birimerline çok uzun bir mesafeden füzelerle saldırır.
block.smite.description = Delici enerji saçıcı mermiler fırlatır.
block.malign.description = Takipçi lazerlerle saldırır. Yüksek mikatrda ısı ister.
@@ -2086,7 +2140,6 @@ block.impact-drill.description = Bir madenin üstüne konduğu zaman ara ara mad
block.eruption-drill.description = Gelişmiş bir Matkap. Toryum kazabilir. Hidrojen gerektirir.
block.reinforced-conduit.description = Sıvıları iletir. Yandan başka borular dışında sıvı almaz.
block.reinforced-liquid-router.description = Tüm sıvıları eşit dağıtır.
block.reinforced-junction.description = Kesişen iki sıvı için bir kavşak.
block.reinforced-liquid-tank.description = Daha Bol miktarda sıvı depolar.
block.reinforced-liquid-container.description = Bol miktarda sıvı depolar.
block.reinforced-bridge-conduit.description = Sıvıları bina ve duvarların üzerinden geçirmek için bir köprü.
@@ -2111,7 +2164,7 @@ block.underflow-duct.description = Malzemeleri sadece yanlar kapalıysa öne akt
block.reinforced-liquid-junction.description = Kesişen iki boru arasında bir kavşak.
block.surge-conveyor.description = Malzemeleri toplu taşır. Enerji ile hızlandırılabilir.
block.surge-router.description = Malzemeleri üç yöne eşit paylaştırır. Enerji ile hızlandırılabilir.
block.unit-cargo-loader.description = Kargo Dronları üretir. Kargo Dronları otomatik malzemeleri nokatalar arası taşır.
block.unit-cargo-loader.description = Kargo Dronları üretir. Kargo Dronları otomatik malzemeleri noktalar arası taşır.
block.unit-cargo-unload-point.description = Kargo Dronları için malzeme bırakma noktası.
block.beam-node.description = X ve Y kordinatında enerji aktarır. Az da olsa enerji depolar.
block.beam-tower.description = X ve Y kordinatında enerji aktarır. Enerji depolar. Uzun Mesafeli.
@@ -2122,8 +2175,8 @@ block.flux-reactor.description = Isıtıldığında bol mikatrda enerji üretir.
block.neoplasia-reactor.description = Arkisit, su ve faz ile bol miktarda enerji üretir. Isı ve tehlikeli Neoplazma ortaya çıkarır.\nNeoplazma yok edilmezse patlar!
block.build-tower.description = Otomatik kırılan binaları geri işaa eder. Oyuncuya işaatta yardımcı olur.
block.regen-projector.description = Hidrojen kullanarak etrafındaki blokları tamir eder.
block.reinforced-container.description = Az da olsa malzeme depolar. Çekirdekle birleşemez.
block.reinforced-vault.description = Malzeme depolar. Çekirdekle birleşemez.
block.reinforced-container.description = Az da olsa malzeme depolar. Merkezle birleşemez.
block.reinforced-vault.description = Malzeme depolar. Merkezle birleşemez.
block.tank-fabricator.description = Stell birimleri üretir. Üretilen birimler direk kullanılabilir veya geliştirilebilir.
block.ship-fabricator.description = Elude birimleri üretir. Üretilen birimler direk kullanılabilir veya geliştirilebilir.
block.mech-fabricator.description = Merui birimleri üretir. Üretilen birimler direk kullanılabilir veya geliştirilebilir.
@@ -2143,12 +2196,12 @@ block.large-payload-mass-driver.description = Long-range payload transport struc
block.unit-repair-tower.description = Etrafındaki tüm birimleri tamir eder. Ozon gerektirir.
block.radar.description = Haritayı tarar. Enerji gerektirir.
block.shockwave-tower.description = Düşman mermilerinini parçalar. Siyanojen gerektirir.
block.canvas.description = Displays a simple image with a pre-defined palette. Editable.
block.canvas.description = Önceden tanımlanmış paletle basit bir fotoğraf sergiler. Düzenlenebilir.
#burdan sonraki ve önceki her şeyi benim translate etmem gerekti!!! -RTOmega
unit.dagger.description = Düşmanlara basit mermilerle ateş eder.
unit.mace.description = Düşmanlara alev atar.
unit.fortress.description = Yer Düşmanlarına uzun menzil gülleler fırlatır.
unit.scepter.description = Düşmanlara süper yüklü mermiler fırlatır.
unit.mace.description = Düşmanlara alev püskürtür.
unit.fortress.description = Düşmanlara uzun menzilli gülleler fırlatır.
unit.scepter.description = Düşmanlara akı yüklü mermiler fırlatır.
unit.reign.description = Düşmanlara devasa delici mermilerle ateş eder.
unit.nova.description = Minik lazerler atar ve binaları tamir eder. Uçabilir.
unit.pulsar.description = Minik elektroşoklar atar ve binaları tamir eder. Uçabilir.
@@ -2156,9 +2209,9 @@ unit.quasar.description = Delici lazerlerle ateş eder ve binaları tamir eder.
unit.vela.description = Uzun süreli büyük bir lazer ateş eder ve binaları tamir eder. Uçabilir.
unit.corvus.description = Çok Yüksek Menzilli devasa bir lazer atar. Her şeyi deler. Binaların üstünden yürüyebilir.
unit.crawler.description = Düşmana doğru koşar ve kendini imha eder.
unit.atrax.description = Cürüf topları fırlator. Binaların üstünden yürüyebilir.
unit.atrax.description = Cürüf topları fırlatır. Binaların üstünden yürüyebilir.
unit.spiroct.description = Emici lazerler ateş eder, kendini onarır. Binaların üstünden yürüyebilir.
unit.arkyid.description = Emci ilazerler ateş eder ve devasa bir gülle fırlatır. Binaların üstünden yürüyebilir.
unit.arkyid.description = Emici ilazerler ateş eder ve devasa bir gülle fırlatır. Binaların üstünden yürüyebilir.
unit.toxopid.description = Devasa bir enerji topu fırlatır. Binaların üstünden yürüyebilir.
unit.flare.description = Yakındakilere basit mermi atar.
unit.horizon.description = Yakındaki yer düşmanlarına bombarduman yapar.
@@ -2166,7 +2219,7 @@ unit.zenith.description = Swarmer-gibi füzeler fırlatır.
unit.antumbra.description = Büyük boyutta mermiler fırlatır.
unit.eclipse.description = Büyük mermiler fırlatır ve lazer atar.
unit.mono.description = Otomatik bir şekilde Bakır ve Kurşun kazar ve çekirdeğe getirir.
unit.poly.description = Otomatik bir şekilde kırılmış binaları geri inşa eder ve oyuncuya inşaatta yardımcı olur.
unit.poly.description = Otomatik bir şekilde kırılmış binaları geri inşa eder ve oyuncuya inşatta yardımcı olur.
unit.mega.description = Otomayik bir şekilde hasarlı bolkları onarır. Blokları ve Birimleri taşıyabilir.
unit.quad.description = Büyük bombalar atar, hasarlı blokları onarır ve düşmanlara zarar verir. Bolkları ve Birimleri taşıyabilir.
unit.oct.description = Yakındaki birimleri korur ve tamir eder. Blokları ve Birimleri taşıyabilir.
@@ -2182,7 +2235,7 @@ unit.retusa.description = Sensörlü mayın döşer. Yakındakileri tamir eder.
unit.oxynoe.description = Tamir edici ateş fırlatır. Düşman mermilerini havada vurur.
unit.cyerce.description = Takipçi toplu füze atar. Yakındakileri tamir eder.
unit.aegires.description = Enerji alanına giren düşmanları şoklar. Yakındakileri tamir eder.
unit.navanax.description = Devasa patlayıcı EMP gülleleri fırlatır, düşman elektir sistemlerini yok eder ve müttefiklerini tamir eder. Yaklaşan düşmanları 4 mini oto-laser turreti ile eritir.
unit.navanax.description = Devasa patlayıcı EMP gülleleri fırlatır, düşman elektir sistemlerini yok eder ve müttefiklerini tamir eder. Yaklaşan düşmanları 4 mini oto-laser tareti ile eritir.
unit.stell.description = Hedef Düşmanlara standart mermilerle saldırır.
unit.locus.description = Hedef Düşmanlara değişken mermilerle saldırır.
unit.precept.description = Hedef Düşmanlara Delici Toplu Mermilerle saldırır.
@@ -2198,13 +2251,14 @@ unit.avert.description = Düşman Birimlere Dönen Mermilerle ile saldırır.
unit.obviate.description = Düşman Birimlere Dönen Işın Topları ile saldırır.
unit.quell.description = Düşman Birimlere Uzun-Mesafe Takipçi Füzelerle saldırır. Düşman Tamir Bloklarını Bloklar.
unit.disrupt.description = Düşman Birimlere Uzun-Mesafe Takipçi Bloke-edici Füzelerle saldırır. Düşman Tamir Bloklarını Bloklar.
unit.evoke.description = Sur Merkezini korumak için binalar inşaa eder. Binalarıınıyla Tamir Eder.
unit.incite.description = Kule Merkezini korumak için binalar inşaa eder. Binalarıınıyla Tamir Eder.
unit.emanate.description = Akropolis Merkezini korumak için binalar inşaa eder. Binalarıınıyla Tamir Eder.
unit.evoke.description = Sur Merkezini korumak için binalar inşa eder. Binalarıınıyla Tamir Eder.
unit.incite.description = Kale Merkezini korumak için binalar inşa eder. Binalarıınıyla Tamir Eder.
unit.emanate.description = Akropolis Merkezini korumak için binalar inşa eder. Binalarıınıyla Tamir Eder.
#inşaa->inşa -ekozet
lst.read = Bağlı hafıza kutusundaki numarayı okur.
lst.write = Bağlı hafıza kutuaundaki numaraya yazar.
lst.print = Yazı yazar.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Ekrana Çizer.
lst.drawflush = Ekrana Çizimi Aktarır.
lst.printflush = Mesaj bloğuna metnini aktarır,
@@ -2237,16 +2291,55 @@ lst.flushmessage = Ekranda bir yazı göster.\nBir önceki yazı kaybolana kadar
lst.cutscene = Oyuncu Kamerasını hareket ettir.
lst.setflag = Tüm İşlemciler tarafından okunabilen bir Numara İşaretle.
lst.getflag = Evrensel İşaretli Numara Oku.
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.setprop = Bir bina veya birime nitelik atar.
lst.effect = Parçacık efekti oluştur.
lst.sync = Ağ boyunca bir değişkeni senkronize et.\nSaniyede en fazla 10 kere yapılabilir.
lst.makemarker = Dünyada yeni bir İşlemci İşareti koy.\nBu İşarete bir Kimlik adamalısın.\nDünya başına 20.000 limit bulunmakta.
lst.setmarker = Bir İşlemci İşareti için bir arazi seç.\nKimlik, İşaret Koyucudaki ile aynı olmalı.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Birim İnşası Yasak!
lenum.type = Bir bina/birim türü.\nörnek: [accent]@router[].
lenum.shoot = Bir konuma ateş et.
lenum.shootp = Belli bir birim veya binaya ateş et.
lenum.config = Bina configurasyonu, örnek: Ayıklayıcı Türü
lenum.config = Bina yapılandırması, örnek: Ayıklayıcı Türü
lenum.enabled = Blok aktif mi?
laccess.color = Aydınlatıcı Rengi
@@ -2255,9 +2348,9 @@ laccess.dead = Bir bina veya birim hala var mı?
laccess.controlled = Bir birim ne tarafından kontrol ediliyor?
laccess.progress = Bir şeyin oluş aşaması, örnek: bir turetin yeniden doldurma süresindeki aşama.
laccess.speed = Bir Birimin Maks hızı, blok/sn.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
laccess.id = Bir birim/blok/eşya/sıvı kimliği. \nBu arama operasyonun zıttıdır.
lcategory.unknown = ???
lcategory.unknown.description = Kategorilenmemiş Talimatlar
lcategory.unknown.description = Kategorize edilmemiş talimatlar
lcategory.io = Giriş & Çıkış
lcategory.io.description = Bir Hafıza biloğunun içeriğini değiştirir.
lcategory.block = Blok Kontrol
@@ -2282,6 +2375,7 @@ graphicstype.poly = İçi Dolu Çokgen Çiz.
graphicstype.linepoly = İçi Boş Çokgen Çiz.
graphicstype.triangle = İçi Dolu Üçgen Çiz.
graphicstype.image = Bir ikon çiz. \nörnek: [accent]@router[] veya [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Her Zaman Doğru
lenum.idiv = Tamsayı Bölme
@@ -2348,7 +2442,7 @@ sensor.in = Algılanan Blok/Birim.
radar.from = Algı Oluşturulan Blok.
radar.target = Algılanan Birimler için Filtre.
radar.and = Extra Filtre.
radar.and = Ekstra Filtre.
radar.order = Sıralama Filtresi.
radar.sort = Sıralama Sırası.
radar.output = Dışarı Aktarılan Değişken.
@@ -2376,7 +2470,7 @@ lenum.unbind = Logic Kontrolü tamaman devre dışı bırak.\nNormal AI ı devre
lenum.move = Tam konuma git.
lenum.approach = Bir Konuma yaklaş.
lenum.pathfind = Düşman Doğuş noktasına git.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.autopathfind = Otomatik olarak en yakındaki düşman çekirdeği veya iniş pistine doğru yolunu bulur.\nBu her dalgadaki düşmanların yol bulmasıyla aynıdır.
lenum.target = Bir alana ateş et.
lenum.targetp = Bir cisme ateş et.
lenum.itemdrop = Bir itemi bırak.
@@ -2390,3 +2484,10 @@ lenum.build = Bina inşa et.
lenum.getblock = Bir bloğun verilerini al.
lenum.within = Bir birim menzil alanında mı?
lenum.boost = Boostlamaya başla/dur
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -343,12 +343,23 @@ open = Відкрити
customize = Налаштувати правила
cancel = Скасувати
command = Командувати
command.queue = [lightgray][Queuing]
command.mine = Видобувати
command.repair = Ремонтувати
command.rebuild = Відбудовувати
command.assist = Допомагати гравцеві
command.move = Рухатися
command.boost = Летіти
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Перейти за посиланням
copylink = Скопіювати посилання
back = Назад
@@ -429,6 +440,7 @@ editor.waves = Хвилі
editor.rules = Правила
editor.generation = Генерація
editor.objectives = Завдання
editor.locales = Locale Bundles
editor.ingame = Редагувати в грі
editor.playtest = Протестувати в грі
editor.publish.workshop = Опублікувати в Майстерні Steam
@@ -485,6 +497,7 @@ editor.default = [lightgray]<За замовчуванням>
details = Подробиці…
edit = Змінити…
variables = Змінні
logic.globals = Built-in Variables
editor.name = Ім’я:
editor.spawn = Створити бойову одиницю
editor.removeunit = Видалити бойову одиницю
@@ -496,6 +509,7 @@ editor.errorlegacy = Ця мапа занадто стара і використ
editor.errornot = Це не мапа.
editor.errorheader = Цей файл мапи недійсний або пошкоджений.
editor.errorname = Мапа не має назви. Може, ви намагаєтеся завантажити збереження?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Оновити
editor.randomize = Випадково
editor.moveup = Підняти вище
@@ -507,6 +521,7 @@ editor.sectorgenerate = Згенерувати сектор
editor.resize = Змінити\nрозмір
editor.loadmap = Завантажити мапу
editor.savemap = Зберегти мапу
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Збережено!
editor.save.noname = Ваша мапа не має назви! Установіть його в «Інформація про мапу».
editor.save.overwrite = Ваша мапа перезаписує вбудовану мапу! Виберіть іншу назву в «Інформація про мапу».
@@ -594,6 +609,23 @@ filter.option.floor2 = Друга поверхня
filter.option.threshold2 = Вторинний граничний поріг
filter.option.radius = Радіус
filter.option.percentile = Спад
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Ширина:
height = Висота:
@@ -646,9 +678,11 @@ objective.commandmode.name = Режим командування
objective.flag.name = Прапорець
marker.shapetext.name = Форма тексту
marker.minimap.name = Мінімапа
marker.point.name = Point
marker.shape.name = Форма
marker.text.name = Текст
marker.line.name = Line
marker.quad.name = Quad
marker.background = Фон
marker.outline = Контур
@@ -677,7 +711,6 @@ resources.max = Максимум
bannedblocks = Заборонені блоки
objectives = Завдання
bannedunits = Заборонені одиниці
rules.hidebannedblocks = Приховати заборонені блоки
bannedunits.whitelist = Заборонені одиниці як білий список
bannedblocks.whitelist = Заборонені блоки як білий список
addall = Додати все
@@ -737,8 +770,7 @@ sector.curlost = Сектор втрачено
sector.missingresources = [scarlet]Недостатньо ресурсів у ядрі
sector.attacked = Сектор [accent]{0}[white] під атакою!
sector.lost = Сектор [accent]{0}[white] втрачено!
#note: the missing space in the line below is intentional
sector.captured = Сектор [accent]{0}[white]захоплено!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Змінити значок
sector.noswitch.title = Неможливо переключити сектори
sector.noswitch = Ви не можете змінювати сектори, поки поточний сектор піддається атаці.\n\nСектор: [accent]{0}[] на [accent]{1}[]
@@ -1010,6 +1042,7 @@ bullet.splashdamage = [stat]{0}[lightgray] шкода по ділянці ~[stat
bullet.incendiary = [stat]запальний
bullet.homing = [stat]самонаведення
bullet.armorpierce = [stat]бронебійність
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0}[lightgray] сек. пригнічення відновлення ~ [stat]{1}[lightgray] плит.
bullet.interval = [stat]{0} за сек. [lightgray] період між кулями:
bullet.frags = [stat]{0}[lightgray]x шкода по ділянці від снарядів:
@@ -1065,6 +1098,7 @@ setting.backgroundpause.name = Пауза в разі згортання
setting.buildautopause.name = Автоматичне призупинення будування
setting.doubletapmine.name = Подвійне швидке натискання для початку видобутку
setting.commandmodehold.name = Утримуйте для переходу в режим командування
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Вимикати модифікації після аварійного запуску
setting.animatedwater.name = Анімаційні рідини
setting.animatedshields.name = Анімаційні щити
@@ -1118,7 +1152,7 @@ setting.sfxvol.name = Гучність звукових ефектів
setting.mutesound.name = Заглушити звук
setting.crashreport.name = Відсилати анонімні звіти про аварійне завершення гри
setting.savecreate.name = Автоматичне створення збережень
setting.publichost.name = Загальнодоступність гри
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Обмеження гравців
setting.chatopacity.name = Непрозорість чату
setting.lasersopacity.name = Непрозорість лазерів енергопостачання
@@ -1138,6 +1172,7 @@ keybind.title = Налаштування керування
keybinds.mobile = [scarlet]Більшість прив’язаних клавіш не функціональні для мобільних пристроїв. Підтримується лише базовий рух.
category.general.name = Загальне
category.view.name = Перегляд
category.command.name = Unit Command
category.multiplayer.name = Мережева гра
category.blocks.name = Вибір блока
placement.blockselectkeys = \n[lightgray]Клавіші: [{0},
@@ -1155,6 +1190,23 @@ keybind.mouse_move.name = Рухатися за мишею
keybind.pan.name = Політ камери за мишею
keybind.boost.name = Прискорення
keybind.command_mode.name = Режим командування
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Відбудувати регіон
keybind.schematic_select.name = Вибрати ділянку
keybind.schematic_menu.name = Меню схем
@@ -1218,9 +1270,12 @@ mode.pvp.description = Боріться проти інших гравців.\n[
mode.attack.name = Наступ
mode.attack.description = Зруйнуйте ворожу базу. \n[gray]Потрібно червоне ядро на мапі для гри.
mode.custom = Користувацькі правила
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Приховати заборонені блоки
rules.infiniteresources = Нескінченні ресурси
rules.onlydepositcore = Дозволити лише основне розміщення ядер
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Вибухи реактора
rules.coreincinerates = Ядро спалює надлишкові предмети
rules.disableworldprocessors = Вимкнути світові процесори
@@ -1744,7 +1799,6 @@ block.disperse.name = Розпорошувач
block.afflict.name = Уражач
block.lustre.name = Блиск
block.scathe.name = Знищувач
block.fabricator.name = Виробник
block.tank-refabricator.name = Танковий перебудовний завод
block.mech-refabricator.name = Меховий перебудовний завод
block.ship-refabricator.name = Корабельний перебудовний завод
@@ -1866,6 +1920,7 @@ onset.turrets = Одиниці ефективні, але [accent]башти[]
onset.turretammo = Забезпечте башту [accent]берилієвими боєприпасами[].
onset.walls = [accent]Стіни[] cможе запобігти потраплянню зустрічної шкоди на будівлі.\nРозмістіть декілька \uf6ee [accent]берилієвих стін[] навколо башти.
onset.enemies = Ворог наступає, готуйтеся до оборони.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = Ворог беззахисний. Контратакуйте.
onset.cores = Нові ядра можуть бути розміщені на плитках [accent]зони ядра[].\nНові ядра функціонують як передові бази й мають спільний інвентар ресурсів з іншими ядрами.\nРозмістіть \uf725 ядро.
onset.detect = Ворог зможе виявити вас за 2 хвилини.\nОрганізуйте оборону, видобуток корисних копалин та виробництво.
@@ -2073,7 +2128,6 @@ block.logic-display.description = Англійська назва: Logic Display
block.large-logic-display.description = Англійська назва: Large Logic Display\nПоказує довільну графіку з логічного процесора.
block.interplanetary-accelerator.description = Англійська назва: Interplanetary Accelerator\nВелика електромагнітна башта-рейкотрон. Прискорює ядра, щоби подолати планетне тяжіння для міжпланетного розгортання.
block.repair-turret.description = Англійська назва: Repair Turret\nБезпервно ремонтує найближчу пошкоджену одиницю. Для прискорення ремонтування можна охолодити.
block.payload-propulsion-tower.description = Англійська назва: Payload Propulsion Tower\nСтруктура транспортування вантажу на великі відстані. Вистрілює вантаж в інші вантажні катапульти.
#Erekir
block.core-bastion.description = Англійська назва: Core Bastion\nЯдро бази. Броньоване. Після знищення сектор втрачається.
@@ -2111,7 +2165,6 @@ block.impact-drill.description = Англійська назва: Impact Drill\n
block.eruption-drill.description = Англійська назва: Eruption Drill\nПоліпшений імпульсний бур. Здатний видобувати торій. Потребує водню.
block.reinforced-conduit.description = Англійська назва: Reinforced Conduit\nПереміщує рідини вперед. Не приймає нетрубоповідні входи з боків.
block.reinforced-liquid-router.description = Англійська назва: Reinforced Liquid Router\nРівномірно розподіляє рідини на всі сторони.
block.reinforced-junction.description = Англійська назва: Reinforced Junction\nВиконує роль моста для двох пересічних водоводів.
block.reinforced-liquid-tank.description = Англійська назва: Reinforced Liquid Tank\nЗберігає велику кількість рідини.
block.reinforced-liquid-container.description = Англійська назва: Reinforced Liquid Container\nЗберігає значну кількість рідини.
block.reinforced-bridge-conduit.description = Англійська назва: Reinforced Bridge Conduit\nТранспортує рідини над спорудами та місцевістю.
@@ -2232,6 +2285,7 @@ unit.emanate.description = Англійська назва: Emanate\nБудує
lst.read = Зчитує число із з’єднаної комірки пам’яті.
lst.write = Записує числу у з’єднану комірку пам’яті.
lst.print = Додайте текст до буфера друку.\nНічого не відображає, поки [accent]Print Flush[] використовується.
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Додає операцію до буфера рисунка.\nНічого не відображає, поки [accent]Draw Flush[] використовується.
lst.drawflush = Скидає буфер операцій [accent]Draw[] на дисплей.
lst.printflush = Скидає буфер операцій [accent]Print[] у блок «Повідомлення».
@@ -2267,6 +2321,45 @@ lst.getflag = Перевіряє, чи встановлено глобальни
lst.setprop = Установлює властивість одиниці чи будівлі.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Будування за допомогою процесорів заборено.
@@ -2310,6 +2403,7 @@ graphicstype.poly = Залити кольором правильний бага
graphicstype.linepoly = Намалювати контур правильного багатокутника.
graphicstype.triangle = Залити кольором трикутник.
graphicstype.image = Намалювати зображення із деяким вмістом.\nНаприклад: [accent]@router[] чи [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Завжди істинне.
lenum.idiv = Ціле ділення.
@@ -2418,3 +2512,10 @@ lenum.build = Побудувати будівлю.
lenum.getblock = Розпізнавання блока та його типа за координатами.\nОдиниця повинна знаходитися в межах досяжності.\nСуцільні не-будівлі матимуть тип [accent]@solid[].
lenum.within = Чи знаходиться одиниця біля позиції.
lenum.boost = Почати чи зупинити політ.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -342,12 +342,23 @@ open = Mở
customize = Luật tùy chỉnh
cancel = Hủy
command = Mệnh lệnh
command.queue = [lightgray][Queuing]
command.mine = Đào
command.repair = Sửa Chữa
command.rebuild = Xây Dựng
command.assist = Hỗ Trợ Người Chơi
command.move = Di Chuyển
command.boost = Tăng Cường
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = Mở liên kết
copylink = Sao chép liên kết
back = Quay lại
@@ -428,6 +439,7 @@ editor.waves = Lượt:
editor.rules = Luật:
editor.generation = Cấu trúc:
editor.objectives = Mục tiêu
editor.locales = Locale Bundles
editor.ingame = Chỉnh sửa trong trò chơi
editor.playtest = Chơi thử
editor.publish.workshop = Xuất bản lên Workshop
@@ -484,6 +496,7 @@ editor.default = [lightgray]<Mặc định>
details = Chi tiết...
edit = Chỉnh sửa...
variables = Thông số
logic.globals = Built-in Variables
editor.name = Tên:
editor.spawn = Thêm kẻ địch
editor.removeunit = Xóa kẻ địch
@@ -495,6 +508,7 @@ editor.errorlegacy = Bản đồ này quá cũ, và sử dụng định dạng b
editor.errornot = Đây không phải là tệp bản đồ.
editor.errorheader = Tệp bản đồ này không hợp lệ hoặc bị hỏng.
editor.errorname = Bản đồ không có tên được xác định. Bạn đang cố gắng tải một bản lưu?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = Cập nhật
editor.randomize = Ngẫu nhiên
editor.moveup = Di chuyển lên
@@ -506,6 +520,7 @@ editor.sectorgenerate = Tạo ra khu vực
editor.resize = Thay đổi kích thước
editor.loadmap = Mở bản đồ
editor.savemap = Lưu bản đồ
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = Đã lưu!
editor.save.noname = Bản đồ của bạn không có tên! Hãy đặt một cái tên trong 'Thông tin bản đồ'.
editor.save.overwrite = Bản đồ của bạn ghi đè lên một bản đồ đã có sẵn! Hãy chọn một cái tên khác trong 'Thông tin bản đồ'.
@@ -592,6 +607,23 @@ filter.option.floor2 = Nền phụ
filter.option.threshold2 = Ngưỡng phụ
filter.option.radius = Bán kính
filter.option.percentile = Phần trăm
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = Chiều rộng:
height = Chiều cao:
@@ -642,9 +674,11 @@ objective.destroycore.name = Phá huỷ căn cứ
objective.commandmode.name = Chế độ ra lệnh
objective.flag.name = Cờ
marker.shapetext.name = Hình dạng văn bản
marker.minimap.name = Bản đồ nhỏ
marker.point.name = Point
marker.shape.name = Hình dạng
marker.text.name = Văn bản
marker.line.name = Line
marker.quad.name = Quad
marker.background = Nền
marker.outline = Đường viền
objective.research = [accent]Nghiên cứu:\n[]{0}[lightgray]{1}
@@ -670,7 +704,6 @@ resources.max = Tối đa
bannedblocks = Khối bị cấm
objectives = Mục tiêu
bannedunits = Đơn vị bị cấm
rules.hidebannedblocks = Ẩn Các Khối Bị Cấm
bannedunits.whitelist = Chỉ cho phép dùng các đơn vị bị cấm
bannedblocks.whitelist = Chỉ cho phép dùng các khối bị cấm
addall = Thêm tất cả
@@ -729,8 +762,7 @@ sector.curlost = Khu vực đã mất
sector.missingresources = [scarlet]Không đủ tài nguyên căn cứ
sector.attacked = Khu vực [accent]{0}[white] đang bị tấn công!
sector.lost = Khu vực [accent]{0}[white] đã mất!
#note: the missing space in the line below is intentional
sector.captured = Khu vực [accent]{0}[white]đã chiếm!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = Thay đổi biểu tượng
sector.noswitch.title = Không thể thay đổi sang khu vực khác
sector.noswitch = Bạn không thể đổi sang khu vực khác khi một khu vực đang bị tấn công.\n\nKhu vực: [accent]{0}[] ở [accent]{1}[]
@@ -1003,6 +1035,7 @@ bullet.splashdamage = [stat]{0}[lightgray] sát thương diện rộng ~[stat] {
bullet.incendiary = [stat]cháy
bullet.homing = [stat]truy đuổi
bullet.armorpierce = [stat]xuyên giáp
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} giây[lightgray] ngăn sửa chữa ~ [stat]{1}[lightgray] ô
bullet.interval = [stat]{0}/giây[lightgray] interval bullets:
bullet.frags = [stat]phá mảnh
@@ -1058,6 +1091,7 @@ setting.backgroundpause.name = Tạm dừng trong nền
setting.buildautopause.name = Tự động dừng xây dựng
setting.doubletapmine.name = Nhấn đúp để Đào
setting.commandmodehold.name = Nhấn giữ để vào chế độ khiển quân
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = Tắt các mod khi gặp sự cố trong khởi động
setting.animatedwater.name = Hiệu ứng nước
setting.animatedshields.name = Hiệu ứng khiên
@@ -1111,7 +1145,7 @@ setting.sfxvol.name = Âm lượng SFX
setting.mutesound.name = Tắt tiếng
setting.crashreport.name = Gửi báo cáo sự cố
setting.savecreate.name = Tự động lưu
setting.publichost.name = Hiển thị trò chơi công khai
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Giới hạn người chơi
setting.chatopacity.name = Độ mờ trò chuyện
setting.lasersopacity.name = Độ mờ kết nối năng lượng
@@ -1131,6 +1165,7 @@ keybind.title = Sửa phím
keybinds.mobile = [scarlet]Hầu hết phím ở đây không hoạt động trên thiết bị di động. Chỉ hỗ trợ di chuyển cơ bản.
category.general.name = Chung
category.view.name = Xem
category.command.name = Unit Command
category.multiplayer.name = Nhiều người chơi
category.blocks.name = Chọn khối
placement.blockselectkeys = \n[lightgray]Phím: [{0},
@@ -1148,6 +1183,23 @@ keybind.mouse_move.name = Theo chuột
keybind.pan.name = Di chuyển góc nhìn
keybind.boost.name = Tăng tốc
keybind.command_mode.name = Chế độ điều khiển quân
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Chọn khu vực xây dựng lại
keybind.schematic_select.name = Chọn khu vực
keybind.schematic_menu.name = Menu bản thiết kế
@@ -1211,9 +1263,12 @@ mode.pvp.description = Chiến đấu với những người chơi khác trên c
mode.attack.name = Tấn công
mode.attack.description = Phá hủy căn cứ của kẻ địch. \n[gray]Cần căn cứ màu đỏ trong bản đồ để chơi.
mode.custom = Tùy chỉnh luật
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Ẩn Các Khối Bị Cấm
rules.infiniteresources = Tài nguyên vô hạn
rules.onlydepositcore = Chỉ cho phép đưa tài nguyên vào căn cứ
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = Nổ lò phản ứng
rules.coreincinerates = Hủy vật phẩm khi căn cứ đầy
rules.disableworldprocessors = Vô hiệu hoá bộ xử lý thế giới
@@ -1733,7 +1788,6 @@ block.disperse.name = Disperse
block.afflict.name = Afflict
block.lustre.name = Lustre
block.scathe.name = Scathe
block.fabricator.name = Máy tạo đơn vị
block.tank-refabricator.name = Máy nâng cấp xe tăng
block.mech-refabricator.name = Máy nâng cấp lính cơ động
block.ship-refabricator.name = Máy nâng cấp phi thuyền
@@ -1851,6 +1905,7 @@ onset.turrets = Các đơn vị rất tốt, nhưng [accent]súng[] cung cấp k
onset.turretammo = Tiếp đạn cho súng bằng [accent]beryllium[].
onset.walls = [accent]Tường[] có thể ngăn chặn sát thương đến các công trình.\nĐặt một số \uf6ee [accent]tường beryllium[] xung quanh súng.
onset.enemies = Quân địch đang đến, hãy chuẩn bị phòng thủ.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = Quân địch đã suy yếu.\nHãy phản công.
onset.cores = Các căn cứ có thể được đặt trên [accent]ô căn cứ[].\nCác căn cứ mới có thể được đặt ở bất kỳ đâu trên bản đồ.\nĐặt một \uf725 căn cứ.
onset.detect = Quân địch sẽ phát hiện bạn trong vòng 2 phút.\nHãy chuẩn bị phòng thủ, khai thác và sản xuất.
@@ -2051,7 +2106,6 @@ block.logic-display.description = Hiển thị đồ họa tùy ý từ bộ x
block.large-logic-display.description = Hiển thị đồ họa tùy ý từ bộ xử lý.
block.interplanetary-accelerator.description = Tòa súng từ trường cỡ lớn. Tăng tốc vật phóng đến vận tốc thoát để di chuyển giữa các hành tinh.
block.repair-turret.description = Sửa chữa những đơn vị bị hư hỏng trong khu vực nhất định. Có thể làm mát để tăng hiệu quả.
block.payload-propulsion-tower.description = Cơ cấu vận chuyển các khối hàng tầm xa. Bắn khối hàng cho các tháp đẩy khối hàng khác.
block.core-bastion.description = Trung tâm của căn cứ. Bọc giáp. Khu vực sẽ mất khi bị phá hủy.
block.core-citadel.description = Trung tâm của căn cứ. Bọc giáp tốt hơn. Lưu trữ nhiều vật phẩm hơn căn cứ Pháo đài.
block.core-acropolis.description = Trung tâm của căn cứ. Được bọc giáp rất tốt. Lưu trữ nhiều vật phẩm hơn căn cứ Thủ Phủ.
@@ -2087,7 +2141,6 @@ block.impact-drill.description = Khi được đặt lên một loại quặng,
block.eruption-drill.description = Phiên bản cải tiến củ máy khoan động lực. Có thể khoan thorium. Yêu cầu hydrogen.
block.reinforced-conduit.description = Di chuyển chất lỏng về phía trước. Không nhận đầu vào từ các bên.
block.reinforced-liquid-router.description = Phân chia chất lỏng đều cho tất cả các bên.
block.reinforced-junction.description = Làm cầu nối cho hai ống dẫn chất lỏng giao nhau.
block.reinforced-liquid-tank.description = Lưu trữ một lượng chất lỏng lớn.
block.reinforced-liquid-container.description = Lưu trữ một lượng chất lỏng vừa phải.
block.reinforced-bridge-conduit.description = Vận chuyển chất lỏng qua các công trình và địa hình.
@@ -2206,6 +2259,7 @@ unit.emanate.description = Xây công trình để phòng thủ lõi Acropolis.
lst.read = Đọc một số từ bộ nhớ được liên kết.
lst.write = Ghi một số vào bộ nhớ được liên kết.
lst.print = Thêm văn bản vào bộ nhớ in.\nKhông hiển thị gì cho đến khi sử dụng [accent]Print Flush[].
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = Thêm một thao tác vào bộ nhớ vẽ.\nKhông hiển thị gì cho đến khi sử dụng [accent]Draw Flush[].
lst.drawflush = Chuyển các thao tác [accent]Draw[] đến màn hình.
lst.printflush = Chuyển các thao tác [accent]Print[] đến khối tin nhắn.
@@ -2241,6 +2295,45 @@ lst.getflag = Kiểm tra nếu cờ toàn cục được đặt.
lst.setprop = Đặt một thuộc tính của đơn vị hoặc công trình.
lst.effect = Tạo một phần hiệu ứng nhỏ.
lst.sync = Đồng bộ giá trị biến qua mạng.\nChỉ gọi tối đa 10 lần mỗi giây.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]Lô-gíc xây dựng đơn vị không được phép ở đây.
@@ -2283,6 +2376,7 @@ graphicstype.poly = Tô vào đa giác đều.
graphicstype.linepoly = Vẽ đường viền đa giác đều.
graphicstype.triangle = Tô một hình tam giác.
graphicstype.image = Vẽ hình ảnh một số nội dung.\nVí dụ: [accent]@router[] hoặc [accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = Luôn đúng.
lenum.idiv = Chia lấy phần nguyên.
@@ -2391,3 +2485,10 @@ lenum.build = Xây công trình.
lenum.getblock = Lấy một cấu trúc và kiểu tại một tọa độ.\nĐơn vị phải nằm trong tầm của vị trí.\nKhối rắn không phải công trình có kiểu [accent]@solid[].
lenum.within = Kiểm tra xem đơn vị có gần vị trí không.
lenum.boost = Bắt đầu/Dừng tăng tốc.
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -344,12 +344,23 @@ open = 打开
customize = 自定义规则
cancel = 取消
command = 指挥
command.queue = [lightgray][Queuing]
command.mine = 挖矿
command.repair = 维修
command.rebuild = 重建
command.assist = 协助建造
command.move = 移动
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = 打开链接
copylink = 复制链接
back = 返回
@@ -430,6 +441,7 @@ editor.waves = 波次
editor.rules = 规则
editor.generation = 生成
editor.objectives = 目标
editor.locales = Locale Bundles
editor.ingame = 游戏内编辑
editor.playtest = 游戏内测试
editor.publish.workshop = 上传到创意工坊
@@ -486,6 +498,7 @@ editor.default = [lightgray]<默认>
details = 详情…
edit = 编辑…
variables = 变量
logic.globals = Built-in Variables
editor.name = 名称:
editor.spawn = 生成单位
editor.removeunit = 移除单位
@@ -497,6 +510,7 @@ editor.errorlegacy = 此地图太旧了,旧的地图格式已不再支持。
editor.errornot = 这不是地图文件。
editor.errorheader = 此地图文件无效或已损坏。
editor.errorname = 地图没有定义名称。 加载的可能是存档文件?
editor.errorlocales = Error reading invalid locale bundles.
editor.update = 更新
editor.randomize = 重新生成
editor.moveup = 上移
@@ -508,6 +522,7 @@ editor.sectorgenerate = 生成区块
editor.resize = 改变尺寸
editor.loadmap = 载入地图
editor.savemap = 保存地图
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = 已保存!
editor.save.noname = 您还没有指定地图的名称!在“地图信息”菜单里设置一个名称。
editor.save.overwrite = 您正试图覆盖一张内置地图!在“地图信息”菜单里重新设置一个其他的名称。
@@ -595,6 +610,23 @@ filter.option.floor2 = 内层地形
filter.option.threshold2 = 内层比例
filter.option.radius = 半径
filter.option.percentile = 百分比
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = 宽度:
height = 高度:
@@ -647,9 +679,11 @@ objective.commandmode.name = 指挥模式
objective.flag.name = 标签
marker.shapetext.name = 带形状文本
marker.minimap.name = 小地图
marker.point.name = Point
marker.shape.name = 形状
marker.text.name = 文本
marker.line.name = Line
marker.quad.name = Quad
marker.background = 背景
marker.outline = 轮廓
@@ -678,7 +712,6 @@ resources.max = 最大
bannedblocks = 禁用建筑
objectives = 任务目标
bannedunits = 禁用单位
rules.hidebannedblocks = 隐藏禁用的建筑
bannedunits.whitelist = 仅启用选中的单位
bannedblocks.whitelist = 仅启用选中的建筑
addall = 全部装运
@@ -738,8 +771,7 @@ sector.curlost = 区块已丢失
sector.missingresources = [scarlet]建造核心所需资源不足
sector.attacked = 区块[accent]{0}[white]受到攻击!
sector.lost = 区块[accent]{0}[white]已丢失!
#note: the missing space in the line below is intentional中文无关
sector.captured = 区块[accent]{0}[white]已占领!
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = 更改图标
sector.noswitch.title = 无法切换区块
sector.noswitch = 你无法在当前区块遭受攻击时切换区块。\n\n区块[accent]{0}[]位于[accent]{1}[]
@@ -1011,6 +1043,7 @@ bullet.splashdamage = [stat]{0}[lightgray]范围伤害~[stat] {1}[lightgray]格
bullet.incendiary = [stat]燃烧
bullet.homing = [stat]追踪
bullet.armorpierce = [stat]穿甲
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x分裂子弹
@@ -1066,6 +1099,7 @@ setting.backgroundpause.name = 游戏在后台时自动暂停
setting.buildautopause.name = 自动暂停建造
setting.doubletapmine.name = 双击采矿
setting.commandmodehold.name = 长按保持指挥模式
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = 游戏启动崩溃后禁用模组
setting.animatedwater.name = 动态液体
setting.animatedshields.name = 动态力场
@@ -1119,7 +1153,7 @@ setting.sfxvol.name = 音效音量
setting.mutesound.name = 禁用音效
setting.crashreport.name = 发送匿名的崩溃报告
setting.savecreate.name = 自动创建存档
setting.publichost.name = 游戏公开可见
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = 玩家数量限制
setting.chatopacity.name = 聊天界面不透明度
setting.lasersopacity.name = 电力连接线不透明度
@@ -1139,6 +1173,7 @@ keybind.title = 重新绑定按键
keybinds.mobile = [scarlet]除了基本的移动以外,大多数按键绑定在移动设备上无效。
category.general.name = 常规
category.view.name = 视图
category.command.name = Unit Command
category.multiplayer.name = 多人游戏
category.blocks.name = 建筑选择
placement.blockselectkeys = \n[lightgray]按键:[{0},
@@ -1156,6 +1191,23 @@ keybind.mouse_move.name = 单位跟随鼠标
keybind.pan.name = 鼠标控制镜头
keybind.boost.name = 启动助推
keybind.command_mode.name = 指挥模式
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = 重建建筑
keybind.schematic_select.name = 框选建筑
keybind.schematic_menu.name = 蓝图目录
@@ -1219,9 +1271,12 @@ mode.pvp.description = 与其他玩家对战。 \n[gray]需要地图中有至少
mode.attack.name = 进攻
mode.attack.description = 摧毁敌人的基地。 \n[gray]需要地图中有敌方队伍的核心。
mode.custom = 自定义模式
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = 隐藏禁用的建筑
rules.infiniteresources = 无限资源
rules.onlydepositcore = 仅核心可放入资源
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = 反应堆爆炸
rules.coreincinerates = 核心焚烧
rules.disableworldprocessors = 禁用世界处理器
@@ -1745,7 +1800,6 @@ block.disperse.name = 驱离
block.afflict.name = 劫难
block.lustre.name = 光辉
block.scathe.name = 创伤
block.fabricator.name = 重构厂
block.tank-refabricator.name = 坦克重构厂
block.mech-refabricator.name = 机甲重构厂
block.ship-refabricator.name = 飞船重构厂
@@ -1867,6 +1921,7 @@ onset.turrets = 使用单位防御很有效,但合理使用[accent]炮塔[]可
onset.turretammo = 给炮塔供给[accent]铍[]。
onset.walls = [accent]墙[]可以防止建筑受到伤害。\n在炮塔周围放置一些\uf6ee[accent]铍墙[]。
onset.enemies = 敌人来袭,准备防御。
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = 敌军基地十分脆弱。 发动反攻。
onset.cores = 你可以在[accent]核心地块[]上建造新的核心。\n新核心的功能类似于前沿基地且与其他核心共享资源仓库。\n放置一个\uf725核心。
onset.detect = 敌军将在2分钟内发现你。\n设立防御挖掘矿物并建造生产设施。
@@ -2072,7 +2127,6 @@ block.logic-display.description = 显示处理器中绘制的各种图像。
block.large-logic-display.description = 显示处理器中绘制的各种图像。
block.interplanetary-accelerator.description = 一个巨大的电磁轨道加速器。 将核心加速至逃逸速度以进行星际部署。
block.repair-turret.description = 持续修复范围内受损的单位。 可以用冷却液强化。
block.payload-propulsion-tower.description = 远距离载荷运送建筑。 向相连的其他载荷驱动器发射载荷。
#埃里克尔
block.core-bastion.description = 基地的核心。 拥有装甲。 一旦被摧毁,此区块就会丢失。
@@ -2110,7 +2164,6 @@ block.impact-drill.description = 放置在矿物上时,以缓慢的速度无
block.eruption-drill.description = 改进过的冲击钻头。 能够开采钍。 需要氢。
block.reinforced-conduit.description = 向前传输流体。 不接受侧面的非导管输入。
block.reinforced-liquid-router.description = 将流体平均分配到所有侧面方向。
block.reinforced-junction.description = 两条交叉物品管道的桥梁。
block.reinforced-liquid-tank.description = 储存大量的流体。
block.reinforced-liquid-container.description = 储存数量可观的流体。
block.reinforced-bridge-conduit.description = 跨越任意地形或建筑物传输流体。
@@ -2231,6 +2284,7 @@ unit.emanate.description = 保护卫城核心,可建造建筑。 使用一对
lst.read = 从连接的内存读取数字
lst.write = 向连接的内存写入数字
lst.print = 添加文字到打印缓存\n使用[accent]Print Flush[]后才会真正显示
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = 添加绘图操作到绘图缓存\n使用[accent]Draw Flush[]后才会真正显示
lst.drawflush = 将绘图缓存中的[accent]Draw[]队列刷新到显示屏
lst.printflush = 将打印缓存中的[accent]Print[]队列刷新到信息板
@@ -2266,6 +2320,45 @@ lst.getflag = 检查是否设置了全局flag
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]此处不允许处理器操控单位去建设
@@ -2309,6 +2402,7 @@ graphicstype.poly = 绘制实心正多边形
graphicstype.linepoly = 绘制正多边形轮廓
graphicstype.triangle = 绘制实心三角形
graphicstype.image = 画出某个游戏内容的图像\n例如[accent]@router[]或者[accent]@dagger[]
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = 无条件跳转
lenum.idiv = 整数除法,返回不带小数的商
@@ -2417,3 +2511,10 @@ lenum.build = 建造建筑
lenum.getblock = 获取某个坐标处的建筑及其类型\n坐标需要在单位的感知范围内\n无建筑的地面返回[accent]@air[],墙壁返回[accent]@solid[]
lenum.within = 检查单位是否接近了某个位置
lenum.boost = 开始/停止助推
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -341,12 +341,23 @@ open = 開啟
customize = 自訂
cancel = 取消
command = 命令
command.queue = [lightgray][Queuing]
command.mine = 挖礦
command.repair = 修復
command.rebuild = 重建
command.assist = 協助玩家
command.move = 移動
command.boost = Boost
command.enterPayload = Enter Payload Block
command.loadUnits = Load Units
command.loadBlocks = Load Blocks
command.unloadPayload = Unload Payload
stance.stop = Cancel Orders
stance.shoot = Stance: Shoot
stance.holdfire = Stance: Hold Fire
stance.pursuetarget = Stance: Pursue Target
stance.patrol = Stance: Patrol Path
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
openlink = 開啟連結
copylink = 複製連結
back = 返回
@@ -427,6 +438,7 @@ editor.waves = 波次:
editor.rules = 規則:
editor.generation = 自動生成:
editor.objectives = Objectives
editor.locales = Locale Bundles
editor.ingame = 在遊戲中編輯
editor.playtest = 測試
editor.publish.workshop = 在工作坊上發佈
@@ -483,6 +495,7 @@ editor.default = [lightgray](預設)
details = 詳細資訊……
edit = 編輯……
variables = 變數
logic.globals = Built-in Variables
editor.name = 名稱:
editor.spawn = 重生單位
editor.removeunit = 移除單位
@@ -494,6 +507,7 @@ editor.errorlegacy = 此地圖太舊,並使用不支援的舊地圖格式。
editor.errornot = 這不是地圖檔。
editor.errorheader = 此地圖檔無效或已損毀。
editor.errorname = 地圖沒有定義名稱。
editor.errorlocales = Error reading invalid locale bundles.
editor.update = 更新
editor.randomize = 隨機化
editor.moveup = Move Up
@@ -505,6 +519,7 @@ editor.sectorgenerate = 產生地區
editor.resize = 調整大小
editor.loadmap = 載入地圖
editor.savemap = 儲存地圖
editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them?
editor.saved = 已儲存!
editor.save.noname = 您的地圖沒有名稱!在「地圖資訊」畫面設定一個名稱。
editor.save.overwrite = 您的地圖覆寫了內建的地圖!在「地圖資訊」畫面設定其他名稱。
@@ -592,6 +607,23 @@ filter.option.floor2 = 次要地板
filter.option.threshold2 = 次要閾值
filter.option.radius = 半徑
filter.option.percentile = 百分比
locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable)
locales.deletelocale = Are you sure you want to delete this locale bundle?
locales.applytoall = Apply Changes To All Locales
locales.addtoother = Add To Other Locales
locales.rollback = Rollback to last applied
locales.filter = Property filter
locales.searchname = Search name...
locales.searchvalue = Search value...
locales.searchlocale = Search locale...
locales.byname = By name
locales.byvalue = By value
locales.showcorrect = Show properties that are present in all locales and have unique values everywhere
locales.showmissing = Show properties that are missing in some locales
locales.showsame = Show properties that have same values in different locales
locales.viewproperty = View in all locales
locales.viewing = Viewing property "{0}"
locales.addicon = Add Icon
width = 寬度:
height = 長度:
@@ -644,9 +676,11 @@ objective.commandmode.name = 指揮模式
objective.flag.name = 全局Flag
marker.shapetext.name = 稜框+文字標示
marker.minimap.name = 小地圖標示
marker.point.name = Point
marker.shape.name = 稜框標示
marker.text.name = 文字標示
marker.line.name = Line
marker.quad.name = Quad
marker.background = 反黑背景
marker.outline = 描邊
@@ -675,7 +709,6 @@ resources.max = 最大
bannedblocks = 禁用方塊
objectives = 目標
bannedunits = 禁用單位
rules.hidebannedblocks = Hide Banned Blocks
bannedunits.whitelist = Banned Units As Whitelist
bannedblocks.whitelist = Banned Blocks As Whitelist
addall = 全部加入
@@ -734,8 +767,7 @@ sector.curlost = 已失去該地區
sector.missingresources = [scarlet]核心資源不足
sector.attacked = 地區 [accent]{0}[white] 遭受攻擊!
sector.lost = 地區 [accent]{0}[white] 戰敗!
#note: the missing space in the line below is intentional
sector.captured = 成功佔領地區[accent]{0}[white]
sector.capture = Sector [accent]{0}[white]Captured!
sector.changeicon = 更改圖標
sector.noswitch.title = 無法切換地區
sector.noswitch = 當前地區遭受攻擊時,無法切換地區\n\n地區: [accent]{0}[] 於 [accent]{1}[]
@@ -1007,6 +1039,7 @@ bullet.splashdamage = [stat]{0}[lightgray]範圍傷害 ~[stat] {1}[lightgray]格
bullet.incendiary = [stat]燃燒
bullet.homing = [stat]追蹤
bullet.armorpierce = [stat]穿甲
bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x 集束子彈:
@@ -1062,6 +1095,7 @@ setting.backgroundpause.name = 背景執行時暫停遊戲
setting.buildautopause.name = 自動暫停建築
setting.doubletapmine.name = 連續點擊以挖礦
setting.commandmodehold.name = 長按進入指揮模式
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
setting.modcrashdisable.name = 閃退後停用模組
setting.animatedwater.name = 顯示液面動畫
setting.animatedshields.name = 顯示護盾動畫
@@ -1115,7 +1149,7 @@ setting.sfxvol.name = 音效音量
setting.mutesound.name = 靜音
setting.crashreport.name = 傳送匿名當機回報
setting.savecreate.name = 自動建立存檔
setting.publichost.name = 公開遊戲可見度
setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = 玩家數限制
setting.chatopacity.name = 聊天框不透明度
setting.lasersopacity.name = 雷射不透明度
@@ -1135,6 +1169,7 @@ keybind.title = 重新綁定按鍵
keybinds.mobile = [scarlet]此處的大多數快捷鍵在行動裝置上均無法運作。僅支援基本移動。
category.general.name = 一般
category.view.name = 查看
category.command.name = Unit Command
category.multiplayer.name = 多人
category.blocks.name = 選取方塊
placement.blockselectkeys = \n[lightgray]按鍵:[{0},
@@ -1152,6 +1187,23 @@ keybind.mouse_move.name = 跟隨滑鼠
keybind.pan.name = 平移鏡頭
keybind.boost.name = 加速
keybind.command_mode.name = 指揮模式
keybind.command_queue.name = Unit Command Queue
keybind.create_control_group.name = Create Control Group
keybind.cancel_orders.name = Cancel Orders
keybind.unit_stance_shoot.name = Unit Stance: Shoot
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
keybind.unit_stance_patrol.name = Unit Stance: Patrol
keybind.unit_stance_ram.name = Unit Stance: Ram
keybind.unit_command_move = Unit Command: Move
keybind.unit_command_repair = Unit Command: Repair
keybind.unit_command_rebuild = Unit Command: Rebuild
keybind.unit_command_assist = Unit Command: Assist
keybind.unit_command_mine = Unit Command: Mine
keybind.unit_command_boost = Unit Command: Boost
keybind.unit_command_load_units = Unit Command: Load Units
keybind.unit_command_load_blocks = Unit Command: Load Blocks
keybind.unit_command_unload_payload = Unit Command: Unload Payload
keybind.rebuild_select.name = Rebuild Region
keybind.schematic_select.name = 選擇區域
keybind.schematic_menu.name = 藍圖目錄
@@ -1215,9 +1267,12 @@ mode.pvp.description = 和其他玩家競爭、戰鬥。\n[gray]地圖中需要
mode.attack.name = 進攻
mode.attack.description = 目標是摧毀敵人的基地。\n[gray]地圖中需要有一個紅色核心。
mode.custom = 自訂規則
rules.invaliddata = Invalid clipboard data.
rules.hidebannedblocks = Hide Banned Blocks
rules.infiniteresources = 無限資源
rules.onlydepositcore = 僅允許向核心放置物品
rules.derelictrepair = Allow Derelict Block Repair
rules.reactorexplosions = 反應爐爆炸
rules.coreincinerates = 核心銷毀物品
rules.disableworldprocessors = 停用世界處理器
@@ -1741,7 +1796,6 @@ block.disperse.name = 驅離者
block.afflict.name = 折磨
block.lustre.name = 餘光
block.scathe.name = 毀損
block.fabricator.name = 製造廠
block.tank-refabricator.name = 戰車重塑者
block.mech-refabricator.name = 機甲重塑者
block.ship-refabricator.name = 飛船重塑者
@@ -1860,6 +1914,7 @@ onset.turrets = Units are effective, but [accent]turrets[] provide better defens
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
onset.enemies = Enemy incoming, prepare to defend.
onset.defenses = [accent]Set up defenses:[lightgray] {0}
onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
@@ -2062,7 +2117,6 @@ block.logic-display.description = 顯示由處理器輸出的任意圖像。
block.large-logic-display.description = 顯示由處理器輸出的任意圖像。
block.interplanetary-accelerator.description = 巨大的電磁砲塔。將核心加速至脫離速度以在其他星球部署。
block.repair-turret.description = 持續修復最靠近的受損單位。能使用冷卻劑。
block.payload-propulsion-tower.description = 遠程原料輸送建築。發射原料至另一個連接的推進塔。
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
@@ -2098,7 +2152,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
@@ -2217,6 +2270,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai
lst.read = [accent]讀取[]記憶體中的一項數值
lst.write = [accent]寫入[]一項數值到記憶體中
lst.print = 將文字加入輸出的暫存中,搭配[accent]Print Flush[], [accent]Flush message[]使用
lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example"
lst.draw = 將圖形加入顯示的暫存中,搭配[accent]Draw Flush[]使用
lst.drawflush = 將所有暫存的[accent]Draw[]指令推到顯示器上
lst.printflush = 將所有暫存的[accent]Print[]指令推到訊息板上
@@ -2252,6 +2306,45 @@ lst.getflag = 檢查某一全局flag是否存在
lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first.
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = The mathematical constant pi (3.141...)
lglobal.@e = The mathematical constant e (2.718...)
lglobal.@degToRad = Multiply by this number to convert degrees to radians
lglobal.@radToDeg = Multiply by this number to convert radians to degrees
lglobal.@time = Playtime of current save, in milliseconds
lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks)
lglobal.@second = Playtime of current save, in seconds
lglobal.@minute = Playtime of current save, in minutes
lglobal.@waveNumber = Current wave number, if waves are enabled
lglobal.@waveTime = Countdown timer for waves, in seconds
lglobal.@mapw = Map width in tiles
lglobal.@maph = Map height in tiles
lglobal.sectionMap = Map
lglobal.sectionGeneral = General
lglobal.sectionNetwork = Network/Clientside [World Processor Only]
lglobal.sectionProcessor = Processor
lglobal.sectionLookup = Lookup
lglobal.@this = The logic block executing the code
lglobal.@thisx = X coordinate of block executing the code
lglobal.@thisy = Y coordinate of block executing the code
lglobal.@links = Total number of blocks linked to this processors
lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second)
lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction
lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction
lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction
lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction
lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise
lglobal.@client = True if the code is running on a client connected to a server
lglobal.@clientLocale = Locale of the client running the code. For example: en_US
lglobal.@clientUnit = Unit of client running the code
lglobal.@clientName = Player name of client running the code
lglobal.@clientTeam = Team ID of client running the code
lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise
logic.nounitbuild = [red]單位建造邏輯已被禁止。
@@ -2295,6 +2388,7 @@ graphicstype.poly = 畫實心正多邊形
graphicstype.linepoly = 畫空心正多邊形
graphicstype.triangle = 畫實心三角形
graphicstype.image = 繪製內建圖畫\n如: [accent]@router[]或[accent]@dagger[].
graphicstype.print = Draws text from the print buffer.\nClears the print buffer.
lenum.always = 永遠 true (直接跳).
lenum.idiv = 整數除法,無條件捨去.
@@ -2403,3 +2497,10 @@ lenum.build = 建造一個建築
lenum.getblock = 獲取指定位置的建築種類和該建築\n必須在單位的範圍內\n實體障礙物如高山會回傳[accent]@solid[]
lenum.within = 單位是否在指定範圍內
lenum.boost = 使用推進器
lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle.
lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument.
lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size.
lenum.autoscale = Whether to scale marker corresponding to player's zoom level.
lenum.posi = Indexed position, used for line and quad markers with index zero being the first position.
lenum.uvi = Texture's position ranging from zero to one, used for quad markers.
lenum.colori = Indexed position, used for line and quad markers with index zero being the first color.

View File

@@ -160,3 +160,8 @@ WayZer
SITUVNgcd
Gabriel "red" Fondato
Yoru Kitsune
summoner
OpalSoPL
BalaM314
Redstonneur1256
ApsZoldat

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
core/assets/fonts/logic.ttf Normal file

Binary file not shown.

View File

@@ -584,3 +584,7 @@
63098=reinforced-message|block-reinforced-message-ui
63097=world-message|block-world-message-ui
63096=fast|status-fast-ui
63095=ranai|ranai
63094=cat|cat
63093=world-switch|block-world-switch-ui
63092=dynamic|status-dynamic-ui

Binary file not shown.

Binary file not shown.

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

@@ -29,6 +29,7 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform
private long nextFrame;
private long beginTime;
private long lastTargetFps = -1;
private boolean finished = false;
private LoadRenderer loader;
@@ -68,6 +69,7 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform
return (Float.isNaN(result) || Float.isInfinite(result)) ? 1f : Mathf.clamp(result, 0.0001f, 60f / 10f);
});
UI.loadColors();
batch = new SortedSpriteBatch();
assets = new AssetManager();
assets.setLoader(Texture.class, "." + mapExtension, new MapPreviewLoader());
@@ -200,9 +202,12 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform
@Override
public void update(){
int targetfps = Core.settings.getInt("fpscap", 120);
boolean changed = lastTargetFps != targetfps && lastTargetFps != -1;
boolean limitFps = targetfps > 0 && targetfps <= 240;
if(limitFps){
lastTargetFps = targetfps;
if(limitFps && !changed){
nextFrame += (1000 * 1000000) / targetfps;
}else{
nextFrame = Time.nanos();

View File

@@ -158,12 +158,13 @@ public class BlockIndexer{
int pos = tile.pos();
var seq = ores[drop.id][qx][qy];
//when the drop can be mined, record the ore position
if(tile.block() == Blocks.air && !seq.contains(pos)){
seq.add(pos);
allOres.increment(drop);
}else{
//otherwise, it likely became blocked, remove it (even if it wasn't there)
if(tile.block() == Blocks.air){
//add the index if it is a valid new spot to mine at
if(!seq.contains(pos)){
seq.add(pos);
allOres.increment(drop);
}
}else if(seq.contains(pos)){ //otherwise, it likely became blocked, remove it
seq.removeValue(pos);
allOres.increment(drop, -1);
}

View File

@@ -257,8 +257,14 @@ public class ControlPathfinder{
float dst = unit.dst2(tile);
//TODO maybe put this on a timer since raycasts can be expensive?
if(dst < minDst && !permissiveRaycast(team, costType, tileX, tileY, tile.x, tile.y)){
if(avoid(req.team, req.cost, items[i + 1])){
range = 0.5f;
}
req.pathIndex = Math.max(dst <= range * range ? i + 1 : i, req.pathIndex);
minDst = Math.min(dst, minDst);
}else if(dst <= 1f){
req.pathIndex = Math.min(Math.max(i + 1, req.pathIndex), len - 1);
}
}
@@ -290,6 +296,10 @@ public class ControlPathfinder{
}
}
if(avoid(req.team, req.cost, items[req.rayPathIndex])){
range = 0.5f;
}
if(unit.within(tile, range)){
req.pathIndex = req.rayPathIndex = Math.max(req.pathIndex, req.rayPathIndex + 1);
}
@@ -336,8 +346,12 @@ public class ControlPathfinder{
requests.clear();
}
public static boolean isNearObstacle(Unit unit, int x1, int y1, int x2, int y2){
return raycast(unit.team().id, unit.type.pathCost, x1, y1, x2, y2);
}
private static boolean raycast(int team, PathCost type, int x1, int y1, int x2, int y2){
int ww = world.width(), wh = world.height();
int ww = wwidth, wh = wheight;
int x = x1, dx = Math.abs(x2 - x), sx = x < x2 ? 1 : -1;
int y = y1, dy = Math.abs(y2 - y), sy = y < y2 ? 1 : -1;
int e2, err = dx - dy;
@@ -375,7 +389,7 @@ public class ControlPathfinder{
}
private static boolean permissiveRaycast(int team, PathCost type, int x1, int y1, int x2, int y2){
int ww = world.width(), wh = world.height();
int ww = wwidth, wh = wheight;
int x = x1, dx = Math.abs(x2 - x), sx = x < x2 ? 1 : -1;
int y = y1, dy = Math.abs(y2 - y), sy = y < y2 ? 1 : -1;
int err = dx - dy;
@@ -397,6 +411,30 @@ public class ControlPathfinder{
return true;
}
/** @return 0 if nothing was hit, otherwise the packed coordinates. This is an internal function and will likely be moved - do not use!*/
public static int raycastFast(int team, PathCost type, int x1, int y1, int x2, int y2){
int ww = world.width(), wh = world.height();
int x = x1, dx = Math.abs(x2 - x), sx = x < x2 ? 1 : -1;
int y = y1, dy = Math.abs(y2 - y), sy = y < y2 ? 1 : -1;
int err = dx - dy;
while(x >= 0 && y >= 0 && x < ww && y < wh){
if(solid(team, type, x + y * wwidth, true)) return Point2.pack(x, y);
if(x == x2 && y == y2) return 0;
//no diagonals
if(2 * err + dy > dx - 2 * err){
err -= dy;
x += sx;
}else{
err += dx;
y += sy;
}
}
return 0;
}
static boolean cast(int team, PathCost cost, int from, int to){
return raycast(team, cost, from % wwidth, from / wwidth, to % wwidth, to / wwidth);
}

View File

@@ -159,7 +159,7 @@ public class Pathfinder implements Runnable{
if(other != null){
Floor floor = other.floor();
boolean osolid = other.solid();
if(floor.isLiquid) nearLiquid = true;
if(floor.isLiquid && floor.isDeep()) nearLiquid = true;
//TODO potentially strange behavior when teamPassable is false for other teams?
if(osolid && !other.block().teamPassable) nearSolid = true;
if(!floor.isLiquid) nearGround = true;

View File

@@ -4,39 +4,21 @@ import arc.*;
import arc.func.*;
import arc.scene.style.*;
import arc.struct.*;
import arc.util.*;
import mindustry.ai.types.*;
import mindustry.ctype.*;
import mindustry.entities.units.*;
import mindustry.gen.*;
import mindustry.input.*;
/** Defines a pattern of behavior that an RTS-controlled unit should follow. Shows up in the command UI. */
public class UnitCommand{
/** List of all commands by ID. */
public class UnitCommand extends MappableContent{
/** @deprecated now a content type, use the methods in Vars.content instead */
@Deprecated
public static final Seq<UnitCommand> all = new Seq<>();
public static final UnitCommand
public static UnitCommand moveCommand, repairCommand, rebuildCommand, assistCommand, mineCommand, boostCommand, enterPayloadCommand, loadUnitsCommand, loadBlocksCommand, unloadPayloadCommand;
moveCommand = new UnitCommand("move", "right", u -> null){{
drawTarget = true;
resetTarget = false;
}},
repairCommand = new UnitCommand("repair", "modeSurvival", u -> new RepairAI()),
rebuildCommand = new UnitCommand("rebuild", "hammer", u -> new BuilderAI()),
assistCommand = new UnitCommand("assist", "players", u -> {
var ai = new BuilderAI();
ai.onlyAssist = true;
return ai;
}),
mineCommand = new UnitCommand("mine", "production", u -> new MinerAI()),
boostCommand = new UnitCommand("boost", "up", u -> new BoostAI()){{
switchToMove = false;
drawTarget = true;
resetTarget = false;
}};
/** Unique ID number. */
public final int id;
/** Named used for tooltip/description. */
public final String name;
/** Name of UI icon (from Icon class). */
public final String icon;
/** Controller that this unit will use when this command is used. Return null for "default" behavior. */
@@ -47,16 +29,25 @@ public class UnitCommand{
public boolean drawTarget = false;
/** Whether to reset targets when switching to or from this command. */
public boolean resetTarget = true;
/** */
public boolean exactArrival = false;
/** Key to press for this command. */
public @Nullable Binding keybind = null;
public UnitCommand(String name, String icon, Func<Unit, AIController> controller){
this.name = name;
super(name);
this.icon = icon;
this.controller = controller;
this.controller = controller == null ? u -> null : controller;
id = all.size;
all.add(this);
}
public UnitCommand(String name, String icon, Binding keybind, Func<Unit, AIController> controller){
this(name, icon, controller);
this.keybind = keybind;
}
public String localized(){
return Core.bundle.get("command." + name);
}
@@ -66,11 +57,58 @@ public class UnitCommand{
}
public char getEmoji() {
return (char) Iconc.codes.get(icon, Iconc.cancel);
return (char)Iconc.codes.get(icon, Iconc.cancel);
}
@Override
public ContentType getContentType(){
return ContentType.unitCommand;
}
@Override
public String toString(){
return "UnitCommand:" + name;
}
public static void loadAll(){
moveCommand = new UnitCommand("move", "right", Binding.unit_command_move, null){{
drawTarget = true;
resetTarget = false;
}};
repairCommand = new UnitCommand("repair", "modeSurvival", Binding.unit_command_repair, u -> new RepairAI());
rebuildCommand = new UnitCommand("rebuild", "hammer", Binding.unit_command_rebuild, u -> new BuilderAI());
assistCommand = new UnitCommand("assist", "players", Binding.unit_command_assist, u -> {
var ai = new BuilderAI();
ai.onlyAssist = true;
return ai;
});
mineCommand = new UnitCommand("mine", "production", Binding.unit_command_mine, u -> new MinerAI());
boostCommand = new UnitCommand("boost", "up", Binding.unit_command_boost, u -> new BoostAI()){{
switchToMove = false;
drawTarget = true;
resetTarget = false;
}};
enterPayloadCommand = new UnitCommand("enterPayload", "downOpen", Binding.unit_command_enter_payload, null){{
switchToMove = false;
drawTarget = true;
resetTarget = false;
}};
loadUnitsCommand = new UnitCommand("loadUnits", "upload", Binding.unit_command_load_units, null){{
switchToMove = false;
drawTarget = true;
resetTarget = false;
}};
loadBlocksCommand = new UnitCommand("loadBlocks", "up", Binding.unit_command_load_blocks, null){{
switchToMove = false;
drawTarget = true;
resetTarget = false;
exactArrival = true;
}};
unloadPayloadCommand = new UnitCommand("unloadPayload", "download", Binding.unit_command_unload_payload, null){{
switchToMove = false;
drawTarget = true;
resetTarget = false;
}};
}
}

View File

@@ -0,0 +1,205 @@
package mindustry.ai;
import arc.*;
import arc.graphics.*;
import arc.math.*;
import arc.math.geom.*;
import arc.struct.*;
import arc.util.*;
import mindustry.*;
import mindustry.ai.Pathfinder.*;
import mindustry.async.*;
import mindustry.content.*;
import mindustry.core.*;
import mindustry.gen.*;
import mindustry.world.blocks.environment.*;
public class UnitGroup{
public Seq<Unit> units = new Seq<>();
public int collisionLayer;
public volatile float[] positions, originalPositions;
public volatile boolean valid;
public long lastSpeedUpdate = -1;
public float minSpeed = 999999f;
public void updateMinSpeed(){
if(lastSpeedUpdate == Vars.state.updateId) return;
lastSpeedUpdate = Vars.state.updateId;
for(Unit unit : units){
//don't factor in the floor speed multiplier
Floor on = unit.isFlying() ? Blocks.air.asFloor() : unit.floorOn();
minSpeed = Math.min(unit.speed() / on.speedMultiplier, minSpeed);
}
if(Float.isInfinite(minSpeed) || Float.isNaN(minSpeed)) minSpeed = 999999f;
}
public void calculateFormation(Vec2 dest, int collisionLayer){
this.collisionLayer = collisionLayer;
float cx = 0f, cy = 0f;
for(Unit unit : units){
cx += unit.x;
cy += unit.y;
}
cx /= units.size;
cy /= units.size;
positions = new float[units.size * 2];
//all positions are relative to the center
for(int i = 0; i < units.size; i ++){
Unit unit = units.get(i);
positions[i * 2] = unit.x - cx;
positions[i * 2 + 1] = unit.y - cy;
unit.command().groupIndex = i;
}
updateMinSpeed();
//run on new thread to prevent stutter
Vars.mainExecutor.submit(() -> {
//unused space between circles that needs to be reached for compression to end
float maxSpaceUsage = 0.7f;
boolean compress = true;
int compressionIterations = 0;
int physicsIterations = 0;
int totalIterations = 0;
int maxPhysicsIterations = Math.min(1 + (int)(Math.pow(units.size, 0.65) / 10), 6);
//yep, new allocations, because this is a new thread.
IntQuadTree tree = new IntQuadTree(new Rect(0f, 0f, Vars.world.unitWidth(), Vars.world.unitHeight()),
(index, hitbox) -> hitbox.setCentered(positions[index * 2], positions[index * 2 + 1], units.get(index).hitSize));
IntSeq tmpseq = new IntSeq();
Vec2 v1 = new Vec2();
Vec2 v2 = new Vec2();
//this algorithm basically squeezes all the circle colliders together, then proceeds to simulate physics to push them apart across several iterations.
//it's rather slow, but shouldn't be too much of an issue when run in a different thread
while(totalIterations++ < 40 && physicsIterations < maxPhysicsIterations){
float spaceUsed = 0f;
if(compress){
compressionIterations ++;
float maxDst = 1f, totalArea = 0f;
for(int a = 0; a < units.size; a ++){
v1.set(positions[a * 2], positions[a * 2 + 1]).lerp(v2.set(0f, 0f), 0.3f);
positions[a * 2] = v1.x;
positions[a * 2 + 1] = v1.y;
float rad = units.get(a).hitSize/2f;
maxDst = Math.max(maxDst, v1.dst(0f, 0f) + rad);
totalArea += Mathf.PI * rad * rad;
}
//total area of bounding circle
float boundingArea = Mathf.PI * maxDst * maxDst;
spaceUsed = totalArea / boundingArea;
//ex: 60% (0.6) of the total area is used, this will not be enough to satisfy a maxSpaceUsage of 70% (0.7)
compress = spaceUsed <= maxSpaceUsage && compressionIterations < 20;
}
//uncompress units
if(!compress || spaceUsed > 0.5f){
physicsIterations++;
tree.clear();
for(int a = 0; a < units.size; a++){
tree.insert(a);
}
for(int a = 0; a < units.size; a++){
Unit unit = units.get(a);
float x = positions[a * 2], y = positions[a * 2 + 1], radius = unit.hitSize/2f;
tmpseq.clear();
tree.intersect(x - radius, y - radius, radius * 2f, radius * 2f, tmpseq);
for(int res = 0; res < tmpseq.size; res ++){
int b = tmpseq.items[res];
//simulate collision physics
if(a != b){
float ox = positions[b * 2], oy = positions[b * 2 + 1];
Unit other = units.get(b);
float rs = (radius + other.hitSize/2f) * 1.2f;
float dst = Mathf.dst(x, y, ox, oy);
if(dst < rs){
v2.set(x - ox, y - oy).setLength(rs - dst);
float mass1 = unit.hitSize, mass2 = other.hitSize;
float ms = mass1 + mass2;
float m1 = mass2 / ms, m2 = mass1 / ms;
float scl = 1f;
positions[a * 2] += v2.x * m1 * scl;
positions[a * 2 + 1] += v2.y * m1 * scl;
positions[b * 2] -= v2.x * m2 * scl;
positions[b * 2 + 1] -= v2.y * m2 * scl;
}
}
}
}
}
}
originalPositions = positions.clone();
//raycast from the destination to the offset to make sure it's reachable
for(int a = 0; a < units.size; a ++){
updateRaycast(a, dest, v1);
}
valid = true;
if(ControlPathfinder.showDebug){
Core.app.post(() -> {
for(int i = 0; i < units.size; i ++){
float x = positions[i * 2], y = positions[i * 2 + 1];
Fx.placeBlock.at(x + dest.x, y + dest.y, 1f, Color.green);
}
});
}
});
}
public void updateRaycast(int index, Vec2 dest){
updateRaycast(index, dest, Tmp.v1);
}
private void updateRaycast(int index, Vec2 dest, Vec2 v1){
if(collisionLayer != PhysicsProcess.layerFlying){
//coordinates in world space
float
x = originalPositions[index * 2] + dest.x,
y = originalPositions[index * 2 + 1] + dest.y;
Unit unit = units.get(index);
PathCost cost = unit.type.pathCost;
int res = ControlPathfinder.raycastFast(unit.team.id, cost, World.toTile(dest.x), World.toTile(dest.y), World.toTile(x), World.toTile(y));
//collision found, make th destination the point right before the collision
if(res != 0){
v1.set(Point2.x(res) * Vars.tilesize - dest.x, Point2.y(res) * Vars.tilesize - dest.y);
v1.setLength(Math.max(v1.len() - Vars.tilesize - 4f, 0));
positions[index * 2] = v1.x;
positions[index * 2 + 1] = v1.y;
}
if(ControlPathfinder.showDebug){
Core.app.post(() -> Fx.debugLine.at(unit.x, unit.y, 0f, Color.green, new Vec2[]{new Vec2(dest.x, dest.y), new Vec2(x, y)}));
}
}
}
}

View File

@@ -0,0 +1,61 @@
package mindustry.ai;
import arc.*;
import arc.scene.style.*;
import arc.struct.*;
import arc.util.*;
import mindustry.ctype.*;
import mindustry.gen.*;
import mindustry.input.*;
public class UnitStance extends MappableContent{
/** @deprecated now a content type, use the methods in Vars.content instead */
@Deprecated
public static final Seq<UnitStance> all = new Seq<>();
public static UnitStance stop, shoot, holdFire, pursueTarget, patrol, ram;
/** Name of UI icon (from Icon class). */
public final String icon;
/** Key to press for this stance. */
public @Nullable Binding keybind = null;
public UnitStance(String name, String icon, Binding keybind){
super(name);
this.icon = icon;
this.keybind = keybind;
all.add(this);
}
public String localized(){
return Core.bundle.get("stance." + name);
}
public TextureRegionDrawable getIcon(){
return Icon.icons.get(icon, Icon.cancel);
}
public char getEmoji() {
return (char) Iconc.codes.get(icon, Iconc.cancel);
}
@Override
public ContentType getContentType(){
return ContentType.unitStance;
}
@Override
public String toString(){
return "UnitStance:" + name;
}
public static void loadAll(){
stop = new UnitStance("stop", "cancel", Binding.cancel_orders);
shoot = new UnitStance("shoot", "commandAttack", Binding.unit_stance_shoot);
holdFire = new UnitStance("holdfire", "none", Binding.unit_stance_hold_fire);
pursueTarget = new UnitStance("pursuetarget", "right", Binding.unit_stance_pursue_target);
patrol = new UnitStance("patrol", "refresh", Binding.unit_stance_patrol);
ram = new UnitStance("ram", "rightOpen", Binding.unit_stance_ram);
}
}

View File

@@ -11,25 +11,38 @@ import mindustry.entities.*;
import mindustry.entities.units.*;
import mindustry.gen.*;
import mindustry.world.*;
import mindustry.world.blocks.payloads.*;
import mindustry.world.meta.*;
import static mindustry.Vars.*;
public class CommandAI extends AIController{
protected static final float localInterval = 40f;
protected static final Vec2 vecOut = new Vec2(), flockVec = new Vec2(), separation = new Vec2(), cohesion = new Vec2(), massCenter = new Vec2();
protected static final int maxCommandQueueSize = 50, avoidInterval = 10;
protected static final Vec2 vecOut = new Vec2(), vecMovePos = new Vec2();
protected static final boolean[] noFound = {false};
protected static final UnitPayload tmpPayload = new UnitPayload(null);
public Seq<Position> commandQueue = new Seq<>(5);
public @Nullable Vec2 targetPos;
public @Nullable Teamc attackTarget;
/** Group of units that were all commanded to reach the same point.. */
public @Nullable UnitGroup group;
public int groupIndex = 0;
/** All encountered unreachable buildings of this AI. Why a sequence? Because contains() is very rarely called on it. */
public IntSeq unreachableBuildings = new IntSeq(8);
/** ID of unit read as target. This is set up after reading. Do not access! */
public int readAttackTarget = -1;
protected boolean stopAtTarget, stopWhenInRange;
protected Vec2 lastTargetPos;
protected int pathId = -1;
protected Seq<Unit> local = new Seq<>(false);
protected boolean flocked;
protected boolean blockingUnit;
protected float timeSpentBlocked;
/** Stance, usually related to firing mode. */
public UnitStance stance = UnitStance.shoot;
/** Current command this unit is following. */
public @Nullable UnitCommand command;
public UnitCommand command = UnitCommand.moveCommand;
/** Current controller instance based on command. */
protected @Nullable AIController commandController;
/** Last command type assigned. Used for detecting command changes. */
@@ -60,6 +73,18 @@ public class CommandAI extends AIController{
@Override
public void updateUnit(){
//this should not be possible
if(stance == UnitStance.stop) stance = UnitStance.shoot;
//pursue the target if relevant
if(stance == UnitStance.pursueTarget && target != null && attackTarget == null && targetPos == null){
commandTarget(target, false);
}
//remove invalid targets
if(commandQueue.any()){
commandQueue.removeAll(e -> e instanceof Healthc h && !h.isValid());
}
//assign defaults
if(command == null && unit.type.commands.length > 0){
@@ -84,8 +109,58 @@ public class CommandAI extends AIController{
}
}
public void clearCommands(){
commandQueue.clear();
targetPos = null;
attackTarget = null;
}
public void defaultBehavior(){
if(!net.client() && unit instanceof Payloadc pay){
//auto-drop everything
if(command == UnitCommand.unloadPayloadCommand && pay.hasPayload()){
Call.payloadDropped(unit, unit.x, unit.y);
}
//try to pick up what's under it
if(command == UnitCommand.loadUnitsCommand){
Unit target = Units.closest(unit.team, unit.x, unit.y, unit.type.hitSize * 2f, u -> u.isAI() && u != unit && u.isGrounded() && pay.canPickup(u) && u.within(unit, u.hitSize + unit.hitSize));
if(target != null){
Call.pickedUnitPayload(unit, target);
}
}
//try to pick up a block
if(command == UnitCommand.loadBlocksCommand && (targetPos == null || unit.within(targetPos, 1f))){
Building build = world.buildWorld(unit.x, unit.y);
if(build != null && state.teams.canInteract(unit.team, build.team)){
//pick up block's payload
Payload current = build.getPayload();
if(current != null && pay.canPickupPayload(current)){
Call.pickedBuildPayload(unit, build, false);
//pick up whole building directly
}else if(build.block.buildVisibility != BuildVisibility.hidden && build.canPickup() && pay.canPickup(build)){
Call.pickedBuildPayload(unit, build, true);
}
}
}
}
if(group != null){
group.updateMinSpeed();
}
if(!net.client() && command == UnitCommand.enterPayloadCommand && unit.buildOn() != null && (targetPos == null || (world.buildWorld(targetPos.x, targetPos.y) != null && world.buildWorld(targetPos.x, targetPos.y) == unit.buildOn()))){
var build = unit.buildOn();
tmpPayload.unit = unit;
if(build.team == unit.team && build.acceptPayload(build, tmpPayload)){
Call.unitEnteredPayload(unit, build);
return; //no use updating after this, the unit is gone!
}
}
//acquiring naval targets isn't supported yet, so use the fallback dumb AI
if(unit.team.isAI() && unit.team.rules().rtsAi && unit.type.naval){
if(fallback == null) fallback = new GroundAI();
@@ -114,22 +189,9 @@ public class CommandAI extends AIController{
targetPos = null;
}
if(targetPos != null){
if(timer.get(timerTarget3, localInterval) || !flocked){
if(!flocked){
//make sure updates are staggered randomly
timer.reset(timerTarget3, Mathf.random(localInterval));
}
local.clear();
//TODO experiment with 2/3/4
float size = unit.hitSize * 3f;
unit.team.data().tree().intersect(unit.x - size / 2f, unit.y - size/2f, size, size, local);
local.remove(unit);
flocked = true;
}
}else{
flocked = false;
//move on to the next target
if(attackTarget == null && targetPos == null){
finishPath();
}
if(attackTarget != null){
@@ -139,7 +201,7 @@ public class CommandAI extends AIController{
}
targetPos.set(attackTarget);
if(unit.isGrounded() && attackTarget instanceof Building build && build.tile.solid() && unit.pathType() != Pathfinder.costLegs){
if(unit.isGrounded() && attackTarget instanceof Building build && build.tile.solid() && unit.pathType() != Pathfinder.costLegs && stance != UnitStance.ram){
Tile best = build.findClosestEdge(unit, Tile::solid);
if(best != null){
targetPos.set(best);
@@ -148,21 +210,64 @@ public class CommandAI extends AIController{
}
if(targetPos != null){
boolean move = true;
boolean move = true, isFinalPoint = commandQueue.size == 0;
vecOut.set(targetPos);
vecMovePos.set(targetPos);
if(unit.isGrounded()){
move = Vars.controlPath.getPathPosition(unit, pathId, targetPos, vecOut, noFound);
//the enter payload command requires an exact position
if(group != null && group.valid && groupIndex < group.units.size && command != UnitCommand.enterPayloadCommand){
vecMovePos.add(group.positions[groupIndex * 2], group.positions[groupIndex * 2 + 1]);
}
//TODO: should the unit stop when it finds a target?
if(stance == UnitStance.patrol && target != null && unit.within(target, unit.type.range - 2f) && !unit.type.circleTarget){
move = false;
}
if(unit.isGrounded() && stance != UnitStance.ram){
if(timer.get(timerTarget3, avoidInterval)){
Vec2 dstPos = Tmp.v1.trns(unit.rotation, unit.hitSize/2f);
float max = unit.hitSize/2f;
float radius = Math.max(7f, max);
float margin = 4f;
blockingUnit = Units.nearbyCheck(unit.x + dstPos.x - radius/2f, unit.y + dstPos.y - radius/2f, radius, radius,
u -> u != unit && u.within(unit, u.hitSize/2f + unit.hitSize/2f + margin) && u.controller() instanceof CommandAI ai && ai.targetPos != null &&
//stop for other unit only if it's closer to the target
(ai.targetPos.equals(targetPos) && u.dst2(targetPos) < unit.dst2(targetPos)) &&
//don't stop if they're facing the same way
!Angles.within(unit.rotation, u.rotation, 15f) &&
//must be near an obstacle, stopping in open ground is pointless
ControlPathfinder.isNearObstacle(unit, unit.tileX(), unit.tileY(), u.tileX(), u.tileY()));
}
float maxBlockTime = 60f * 5f;
if(blockingUnit){
timeSpentBlocked += Time.delta;
if(timeSpentBlocked >= maxBlockTime*2f){
timeSpentBlocked = 0f;
}
}else{
timeSpentBlocked = 0f;
}
//if you've spent 3 seconds stuck, something is wrong, move regardless
move = Vars.controlPath.getPathPosition(unit, pathId, vecMovePos, vecOut, noFound) && (!blockingUnit || timeSpentBlocked > maxBlockTime);
//we've reached the final point if the returned coordinate is equal to the supplied input
isFinalPoint &= vecMovePos.epsilonEquals(vecOut, 4.1f);
//if the path is invalid, stop trying and record the end as unreachable
if(unit.team.isAI() && (noFound[0] || unit.isPathImpassable(World.toTile(targetPos.x), World.toTile(targetPos.y)) )){
if(unit.team.isAI() && (noFound[0] || unit.isPathImpassable(World.toTile(vecMovePos.x), World.toTile(vecMovePos.y)))){
if(attackTarget instanceof Building build){
unreachableBuildings.addUnique(build.pos());
}
attackTarget = null;
targetPos = null;
finishPath();
return;
}
}else{
vecOut.set(vecMovePos);
}
float engageRange = unit.type.range - 10f;
@@ -173,10 +278,10 @@ public class CommandAI extends AIController{
circleAttack(80f);
}else{
moveTo(vecOut,
attackTarget != null && unit.within(attackTarget, engageRange) ? engageRange :
attackTarget != null && unit.within(attackTarget, engageRange) && stance != UnitStance.ram ? engageRange :
unit.isGrounded() ? 0f :
attackTarget != null ? engageRange :
0f, unit.isFlying() ? 40f : 100f, false, null, targetPos.epsilonEquals(vecOut, 4.1f));
attackTarget != null && stance != UnitStance.ram ? engageRange :
0f, unit.isFlying() ? 40f : 100f, false, null, isFinalPoint);
}
}
@@ -185,33 +290,19 @@ public class CommandAI extends AIController{
attackTarget = null;
}
if(unit.isFlying()){
unit.lookAt(targetPos);
if(unit.isFlying() && move && (attackTarget == null || !unit.within(attackTarget, unit.type.range))){
unit.lookAt(vecMovePos);
}else{
faceTarget();
}
if(attackTarget == null){
if(unit.within(targetPos, Math.max(5f, unit.hitSize / 2f))){
targetPos = null;
}else if(local.size > 1){
int count = 0;
for(var near : local){
//has arrived - no current command, but last one is equal
if(near.isCommandable() && !near.command().hasCommand() && targetPos.epsilonEquals(near.command().lastTargetPos, 0.001f)){
count ++;
}
}
//others have arrived at destination, so this one will too
if(count >= Math.max(3, local.size / 2)){
targetPos = null;
}
}
//reached destination, end pathfinding
if(attackTarget == null && unit.within(vecMovePos, command.exactArrival && commandQueue.size == 0 ? 1f : Math.max(5f, unit.hitSize / 2f))){
finishPath();
}
if(stopWhenInRange && targetPos != null && unit.within(targetPos, engageRange * 0.9f)){
targetPos = null;
if(stopWhenInRange && targetPos != null && unit.within(vecMovePos, engageRange * 0.9f)){
finishPath();
stopWhenInRange = false;
}
@@ -220,6 +311,68 @@ public class CommandAI extends AIController{
}
}
void finishPath(){
//the enter payload command never finishes until they are actually accepted
if(command == UnitCommand.enterPayloadCommand && commandQueue.size == 0 && targetPos != null && world.buildWorld(targetPos.x, targetPos.y) != null && world.buildWorld(targetPos.x, targetPos.y).block.acceptsPayloads){
return;
}
Vec2 prev = targetPos;
targetPos = null;
if(commandQueue.size > 0){
var next = commandQueue.remove(0);
if(next instanceof Teamc target){
commandTarget(target, this.stopAtTarget);
}else if(next instanceof Vec2 position){
commandPosition(position);
}
if(prev != null && stance == UnitStance.patrol){
commandQueue.add(prev.cpy());
}
//make sure spot in formation is reachable
if(group != null){
group.updateRaycast(groupIndex, next instanceof Vec2 position ? position : Tmp.v3.set(next));
}
}else{
if(group != null){
group = null;
}
}
}
public void commandQueue(Position location){
if(targetPos == null && attackTarget == null){
if(location instanceof Teamc target){
commandTarget(target, this.stopAtTarget);
}else if(location instanceof Vec2 position){
commandPosition(position);
}
}else if(commandQueue.size < maxCommandQueueSize && !commandQueue.contains(location)){
commandQueue.add(location);
}
}
@Override
public void afterRead(Unit unit){
if(readAttackTarget != -1){
attackTarget = Groups.unit.getByID(readAttackTarget);
readAttackTarget = -1;
}
}
@Override
public float prefSpeed(){
return group == null ? super.prefSpeed() : Math.min(group.minSpeed, unit.speed());
}
@Override
public boolean shouldFire(){
return stance != UnitStance.holdFire;
}
@Override
public void hit(Bullet bullet){
if(unit.team.isAI() && bullet.owner instanceof Teamc teamc && teamc.team() != unit.team && attackTarget == null &&
@@ -259,6 +412,8 @@ public class CommandAI extends AIController{
@Override
public void commandPosition(Vec2 pos){
if(pos == null) return;
commandPosition(pos, false);
if(commandController != null){
commandController.commandPosition(pos);
@@ -266,8 +421,10 @@ public class CommandAI extends AIController{
}
public void commandPosition(Vec2 pos, boolean stopWhenInRange){
targetPos = pos;
lastTargetPos = pos;
if(pos == null) return;
//this is an allocation, but it's relatively rarely called anyway, and outside mutations must be prevented
targetPos = lastTargetPos = pos.cpy();
attackTarget = null;
pathId = Vars.controlPath.nextTargetId();
this.stopWhenInRange = stopWhenInRange;

View File

@@ -2,6 +2,8 @@ package mindustry.ai.types;
import arc.math.*;
import arc.util.*;
import mindustry.*;
import mindustry.entities.*;
import mindustry.entities.units.*;
import mindustry.gen.*;
@@ -29,6 +31,11 @@ public class MissileAI extends AIController{
}
}
@Override
public Teamc target(float x, float y, float range, boolean air, boolean ground){
return Units.closestTarget(unit.team, x, y, range, u -> u.checkTarget(air, ground), t -> ground && (!t.block.underBullets || (shooter != null && t == Vars.world.buildWorld(shooter.aimX, shooter.aimY))));
}
@Override
public boolean retarget(){
//more frequent retarget due to high speed. TODO won't this lag?

View File

@@ -10,11 +10,11 @@ import mindustry.entities.*;
import mindustry.gen.*;
public class PhysicsProcess implements AsyncProcess{
private static final int
layers = 3,
layerGround = 0,
layerLegs = 1,
layerFlying = 2;
public static final int
layers = 3,
layerGround = 0,
layerLegs = 1,
layerFlying = 2;
private PhysicsWorld physics;
private Seq<PhysicRef> refs = new Seq<>(false);
@@ -58,9 +58,7 @@ public class PhysicsProcess implements AsyncProcess{
//save last position
PhysicRef ref = entity.physref;
ref.body.layer =
entity.type.allowLegStep && entity.type.legPhysicsLayer ? layerLegs :
entity.isGrounded() ? layerGround : layerFlying;
ref.body.layer = entity.collisionLayer();
ref.x = entity.x;
ref.y = entity.y;
ref.body.local = local || entity.isLocal();

View File

@@ -17,7 +17,7 @@ import static mindustry.Vars.*;
/** Controls playback of multiple audio tracks.*/
public class SoundControl{
public float finTime = 120f, foutTime = 120f, musicInterval = 3f * Time.toMinutes, musicChance = 0.6f, musicWaveChance = 0.46f;
public float finTime = 120f, foutTime = 120f, musicInterval = 3f * Time.toMinutes, musicChance = 0.8f, musicWaveChance = 0.46f;
/** normal, ambient music, plays at any time */
public Seq<Music> ambientMusic = Seq.with();
@@ -28,6 +28,7 @@ public class SoundControl{
protected Music lastRandomPlayed;
protected Interval timer = new Interval(4);
protected long lastPlayed;
protected @Nullable Music current;
protected float fade;
protected boolean silenced;
@@ -55,6 +56,10 @@ public class SoundControl{
}));
setupFilters();
Events.on(ResetEvent.class, e -> {
lastPlayed = Time.millis();
});
}
protected void setupFilters(){
@@ -146,7 +151,7 @@ public class SoundControl{
if(state.isMenu()){
silenced = false;
if(ui.planet.isShown()){
play(Musics.launch);
play(ui.planet.state.planet.launchMusic);
}else if(ui.editor.isShown()){
play(Musics.editor);
}else{
@@ -160,9 +165,10 @@ public class SoundControl{
silence();
//play music at intervals
if(timer.get(musicInterval)){
if(Time.timeSinceMillis(lastPlayed) > 1000 * musicInterval / 60f){
//chance to play it per interval
if(Mathf.chance(musicChance)){
lastPlayed = Time.millis();
playRandom();
}
}

View File

@@ -160,7 +160,7 @@ public class Blocks{
//logic
message, switchBlock, microProcessor, logicProcessor, hyperProcessor, largeLogicDisplay, logicDisplay, memoryCell, memoryBank,
canvas, reinforcedMessage,
worldProcessor, worldCell, worldMessage,
worldProcessor, worldCell, worldMessage, worldSwitch,
//campaign
launchPad, interplanetaryAccelerator
@@ -570,7 +570,7 @@ public class Blocks{
snowWall = new StaticWall("snow-wall");
duneWall = new StaticWall("dune-wall"){{
basalt.asFloor().wall = darksandWater.asFloor().wall = darksandTaintedWater.asFloor().wall = this;
hotrock.asFloor().wall = magmarock.asFloor().wall = basalt.asFloor().wall = darksandWater.asFloor().wall = darksandTaintedWater.asFloor().wall = this;
attributes.set(Attribute.sand, 2f);
}};
@@ -2408,7 +2408,7 @@ public class Blocks{
largeSolarPanel = new SolarGenerator("solar-panel-large"){{
requirements(Category.power, with(Items.lead, 80, Items.silicon, 110, Items.phaseFabric, 15));
size = 3;
powerProduction = 1.3f;
powerProduction = 1.6f;
}};
thoriumReactor = new NuclearReactor("thorium-reactor"){{
@@ -2433,6 +2433,7 @@ public class Blocks{
itemDuration = 140f;
ambientSound = Sounds.pulse;
ambientSoundVolume = 0.07f;
liquidCapacity = 60f;
consumePower(25f);
consumeItem(Items.blastCompound);
@@ -3849,16 +3850,19 @@ public class Blocks{
requirements(Category.turret, with(Items.copper, 1000, Items.metaglass, 600, Items.surgeAlloy, 300, Items.plastanium, 200, Items.silicon, 600));
ammo(
Items.surgeAlloy, new PointBulletType(){{
Items.surgeAlloy, new RailBulletType(){{
shootEffect = Fx.instShoot;
hitEffect = Fx.instHit;
pierceEffect = Fx.railHit;
smokeEffect = Fx.smokeCloud;
trailEffect = Fx.instTrail;
pointEffect = Fx.instTrail;
despawnEffect = Fx.instBomb;
trailSpacing = 20f;
pointEffectSpace = 20f;
damage = 1350;
buildingDamageMultiplier = 0.2f;
speed = brange;
maxDamageFraction = 0.6f;
pierceDamageFactor = 1f;
length = brange;
hitShake = 6f;
ammoMultiplier = 1f;
}}
@@ -3965,6 +3969,7 @@ public class Blocks{
hitColor = Pal.meltdownHit;
status = StatusEffects.melting;
drawSize = 420f;
timescaleDamage = true;
incendChance = 0.4f;
incendSpread = 5f;
@@ -4562,6 +4567,7 @@ public class Blocks{
loopSoundVolume = 0.6f;
deathSound = Sounds.largeExplosion;
targetAir = false;
targetUnderBlocks = false;
fogRadius = 6f;
@@ -4574,7 +4580,7 @@ public class Blocks{
deathExplosionEffect = Fx.massiveExplosion;
shootOnDeath = true;
shake = 10f;
bullet = new ExplosionBulletType(700f, 65f){{
bullet = new ExplosionBulletType(1500f, 65f){{
hitColor = Pal.redLight;
shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosion, Fx.scatheLight, new WaveEffect(){{
lifetime = 10f;
@@ -4583,7 +4589,7 @@ public class Blocks{
}});
collidesAir = false;
buildingDamageMultiplier = 0.3f;
buildingDamageMultiplier = 0.25f;
ammoMultiplier = 1f;
fragLifeMin = 0.1f;
@@ -4598,7 +4604,7 @@ public class Blocks{
width = height = 18f;
collidesTiles = false;
splashDamageRadius = 40f;
splashDamage = 80f;
splashDamage = 160f;
backColor = trailColor = hitColor = Pal.redLight;
frontColor = Color.white;
smokeEffect = Fx.shootBigSmoke2;
@@ -5924,7 +5930,7 @@ public class Blocks{
forceDark = true;
privileged = true;
size = 1;
maxInstructionsPerTick = 500;
maxInstructionsPerTick = 1000;
range = Float.MAX_VALUE;
}};
@@ -5944,6 +5950,13 @@ public class Blocks{
privileged = true;
}};
worldSwitch = new SwitchBlock("world-switch"){{
requirements(Category.logic, BuildVisibility.editorOnly, with());
targetable = false;
privileged = true;
}};
//endregion
}
}

View File

@@ -447,11 +447,11 @@ public class ErekirTechTree{
//nodeProduce(Liquids.gallium, () -> {});
});
});
nodeProduce(Items.surgeAlloy, () -> {
nodeProduce(Items.phaseFabric, () -> {
nodeProduce(Items.surgeAlloy, () -> {
nodeProduce(Items.phaseFabric, () -> {
});
});
});
});

View File

@@ -1710,7 +1710,7 @@ public class Fx{
}),
regenSuppressParticle = new Effect(35f, e -> {
color(Pal.sapBullet, e.color, e.fin());
color(e.color, Color.white, e.fin());
stroke(e.fout() * 1.4f + 0.5f);
randLenVectors(e.id, 4, 17f * e.fin(), (x, y) -> {
@@ -1729,7 +1729,7 @@ public class Fx{
Tmp.bz2.valueAt(Tmp.v4, e.fout());
color(Pal.sapBullet);
color(e.color);
Fill.circle(Tmp.v4.x, Tmp.v4.y, e.fslope() * 2f + 0.1f);
}).followParent(false).rotWithParent(false),
@@ -2445,6 +2445,26 @@ public class Fx{
Lines.poly(e.x, e.y, 6, e.rotation + e.fin());
}).followParent(true),
arcShieldBreak = new Effect(40, e -> {
Lines.stroke(3 * e.fout(), e.color);
if(e.data instanceof Unit u){
ShieldArcAbility ab = (ShieldArcAbility) Structs.find(u.abilities, a -> a instanceof ShieldArcAbility);
if(ab != null){
Vec2 pos = Tmp.v1.set(ab.x, ab.y).rotate(u.rotation - 90f).add(u);
Lines.arc(pos.x, pos.y, ab.radius + ab.width/2, ab.angle / 360f, u.rotation + ab.angleOffset - ab.angle / 2f);
Lines.arc(pos.x, pos.y, ab.radius - ab.width/2, ab.angle / 360f, u.rotation + ab.angleOffset - ab.angle / 2f);
for(int i : Mathf.signs){
float
px = pos.x + Angles.trnsx(u.rotation + ab.angleOffset - ab.angle / 2f * i, ab.radius + ab.width / 2),
py = pos.y + Angles.trnsy(u.rotation + ab.angleOffset - ab.angle / 2f * i, ab.radius + ab.width / 2),
px1 = pos.x + Angles.trnsx(u.rotation + ab.angleOffset - ab.angle / 2f * i, ab.radius - ab.width / 2),
py1 = pos.y + Angles.trnsy(u.rotation + ab.angleOffset - ab.angle / 2f * i, ab.radius - ab.width / 2);
Lines.line(px, py, px1, py1);
}
}
}
}).followParent(true),
coreLandDust = new Effect(100f, e -> {
color(e.color, e.fout(0.1f));
rand.setSeed(e.id);
@@ -2558,5 +2578,23 @@ public class Fx{
stroke(data.region.height * scl);
line(data.region, data.a.x + ox, data.a.y + oy, data.b.x + ox, data.b.y + oy, false);
}).layer(Layer.groundUnit + 5f);
}).layer(Layer.groundUnit + 5f),
debugLine = new Effect(90f, 1000000000000f, e -> {
if(!(e.data instanceof Vec2[] vec)) return;
Draw.color(e.color);
Lines.stroke(1f);
if(vec.length == 2){
Lines.line(vec[0].x, vec[0].y, vec[1].x, vec[1].y);
}else{
Lines.beginLine();
for(Vec2 v : vec)
Lines.linePoint(v.x, v.y);
Lines.endLine();
}
Draw.reset();
});
}

View File

@@ -54,7 +54,7 @@ public class Liquids{
capPuddles = false;
spreadTarget = Liquids.water;
moveThroughBlocks = true;
incinerable = true;
incinerable = false;
blockReactive = false;
canStayOn.addAll(water, oil, cryofluid);

View File

@@ -11,7 +11,7 @@ import mindustry.type.*;
import static mindustry.Vars.*;
public class StatusEffects{
public static StatusEffect none, burning, freezing, unmoving, slow, fast, wet, muddy, melting, sapped, tarred, overdrive, overclock, shielded, shocked, blasted, corroded, boss, sporeSlowed, disarmed, electrified, invincible;
public static StatusEffect none, burning, freezing, unmoving, slow, fast, wet, muddy, melting, sapped, tarred, overdrive, overclock, shielded, shocked, blasted, corroded, boss, sporeSlowed, disarmed, electrified, invincible, dynamic;
public static void load(){
@@ -64,12 +64,12 @@ public class StatusEffects{
init(() -> opposite(fast));
}};
fast = new StatusEffect("fast"){{
color = Pal.boostTo;
speedMultiplier = 1.6f;
fast = new StatusEffect("fast"){{
color = Pal.boostTo;
speedMultiplier = 1.6f;
init(() -> opposite(slow));
}};
init(() -> opposite(slow));
}};
wet = new StatusEffect("wet"){{
color = Color.royal;
@@ -80,10 +80,8 @@ public class StatusEffects{
init(() -> {
affinity(shocked, (unit, result, time) -> {
float pierceFraction = 0.3f;
unit.damage(transitionDamage);
unit.damagePierce(transitionDamage * pierceFraction);
unit.damage(transitionDamage * (1f - pierceFraction));
if(unit.team == state.rules.waveTeam){
Events.fire(Trigger.shock);
}
@@ -205,5 +203,11 @@ public class StatusEffects{
invincible = new StatusEffect("invincible"){{
healthMultiplier = Float.POSITIVE_INFINITY;
}};
dynamic = new StatusEffect("dynamic"){{
show = false;
dynamic = true;
permanent = true;
}};
}
}

View File

@@ -197,6 +197,8 @@ public class UnitTypes{
singleTarget = true;
drownTimeMultiplier = 4f;
abilities.add(new ShieldRegenFieldAbility(25f, 250f, 60f * 1, 60f));
BulletType smallBullet = new BasicBulletType(3f, 10){{
width = 7f;
height = 9f;
@@ -219,10 +221,10 @@ public class UnitTypes{
shoot.shots = 3;
shoot.shotDelay = 4f;
bullet = new BasicBulletType(7f, 50){{
bullet = new BasicBulletType(8f, 80){{
width = 11f;
height = 20f;
lifetime = 25f;
lifetime = 27f;
shootEffect = Fx.shootBig;
lightning = 2;
lightningLength = 6;
@@ -1285,7 +1287,6 @@ public class UnitTypes{
lowAltitude = true;
ammoType = new PowerAmmoType(900);
mineTier = 2;
mineSpeed = 3.5f;
@@ -1844,6 +1845,7 @@ public class UnitTypes{
armor = 3f;
buildSpeed = 1.5f;
rotateToBuilding = false;
weapons.add(new RepairBeamWeapon("repair-beam-weapon-center"){{
x = 0f;
@@ -1934,6 +1936,7 @@ public class UnitTypes{
abilities.add(new StatusFieldAbility(StatusEffects.overclock, 60f * 6, 60f * 6f, 60f));
buildSpeed = 2f;
rotateToBuilding = false;
weapons.add(new Weapon("plasma-mount-weapon"){{
@@ -2008,6 +2011,7 @@ public class UnitTypes{
trailScl = 2f;
buildSpeed = 2f;
rotateToBuilding = false;
weapons.add(new RepairBeamWeapon("repair-beam-weapon-center"){{
x = 11f;
@@ -2149,6 +2153,7 @@ public class UnitTypes{
trailScl = 3.2f;
buildSpeed = 3f;
rotateToBuilding = false;
abilities.add(new EnergyFieldAbility(40f, 65f, 180f){{
statusDuration = 60f * 6f;
@@ -2192,6 +2197,7 @@ public class UnitTypes{
trailScl = 3.5f;
buildSpeed = 3.5f;
rotateToBuilding = false;
for(float mountY : new float[]{-117/4f, 50/4f}){
for(float sign : Mathf.signs){
@@ -2243,7 +2249,13 @@ public class UnitTypes{
}});
}
}
abilities.add(new SuppressionFieldAbility(){{
orbRadius = 5;
particleSize = 3;
y = -10f;
particles = 10;
color = particleColor = effectColor = Pal.heal;
}});
weapons.add(new Weapon("emp-cannon-mount"){{
rotate = true;
@@ -4051,6 +4063,8 @@ public class UnitTypes{
isEnemy = false;
envDisabled = 0;
range = 60f;
faceTarget = true;
targetPriority = -2;
lowAltitude = false;
mineWalls = true;
@@ -4115,8 +4129,10 @@ public class UnitTypes{
isEnemy = false;
envDisabled = 0;
range = 60f;
targetPriority = -2;
lowAltitude = false;
faceTarget = true;
mineWalls = true;
mineFloor = false;
mineHardnessScaling = false;
@@ -4192,6 +4208,8 @@ public class UnitTypes{
isEnemy = false;
envDisabled = 0;
range = 65f;
faceTarget = true;
targetPriority = -2;
lowAltitude = false;
mineWalls = true;

View File

@@ -6,6 +6,7 @@ import arc.func.*;
import arc.graphics.*;
import arc.struct.*;
import arc.util.*;
import mindustry.ai.*;
import mindustry.content.*;
import mindustry.ctype.*;
import mindustry.entities.bullet.*;
@@ -40,6 +41,8 @@ public class ContentLoader{
/** Creates all base types. */
public void createBaseContent(){
UnitCommand.loadAll();
UnitStance.loadAll();
TeamEntries.load();
Items.load();
StatusEffects.load();
@@ -310,4 +313,28 @@ public class ContentLoader{
public Planet planet(String name){
return getByName(ContentType.planet, name);
}
public Seq<UnitStance> unitStances(){
return getBy(ContentType.unitStance);
}
public UnitStance unitStance(int id){
return getByID(ContentType.unitStance, id);
}
public UnitStance unitStance(String name){
return getByName(ContentType.unitStance, name);
}
public Seq<UnitCommand> unitCommands(){
return getBy(ContentType.unitCommand);
}
public UnitCommand unitCommand(int id){
return getByID(ContentType.unitCommand, id);
}
public UnitCommand unitCommand(String name){
return getByName(ContentType.unitCommand, name);
}
}

View File

@@ -53,7 +53,7 @@ public class Control implements ApplicationListener, Loadable{
private Interval timer = new Interval(2);
private boolean hiscore = false;
private boolean wasPaused = false;
private boolean wasPaused = false, backgroundPaused = false;
private Seq<Building> toBePlaced = new Seq<>(false);
public Control(){
@@ -332,6 +332,13 @@ public class Control implements ApplicationListener, Loadable{
void createPlayer(){
player = Player.create();
player.name = Core.settings.getString("name");
String locale = Core.settings.getString("locale");
if(locale.equals("default")){
locale = Locale.getDefault().toString();
}
player.locale = locale;
player.color.set(Core.settings.getInt("color-0"));
if(mobile){
@@ -551,6 +558,7 @@ public class Control implements ApplicationListener, Loadable{
@Override
public void pause(){
if(settings.getBool("backgroundpause", true) && !net.active()){
backgroundPaused = true;
wasPaused = state.is(State.paused);
if(state.is(State.playing)) state.set(State.paused);
}
@@ -561,6 +569,7 @@ public class Control implements ApplicationListener, Loadable{
if(state.is(State.paused) && !wasPaused && settings.getBool("backgroundpause", true) && !net.active()){
state.set(State.playing);
}
backgroundPaused = false;
}
@Override
@@ -652,6 +661,10 @@ public class Control implements ApplicationListener, Loadable{
core.items.each((i, a) -> i.unlock());
}
if(backgroundPaused && settings.getBool("backgroundpause") && !net.active()){
state.set(State.paused);
}
//cannot launch while paused
if(state.isPaused() && renderer.isCutscene()){
state.set(State.playing);

View File

@@ -32,6 +32,10 @@ public class GameState{
public Rules rules = new Rules();
/** Statistics for this save/game. Displayed after game over. */
public GameStats stats = new GameStats();
/** Markers not linked to objectives. Controlled by world processors. */
public MapMarkers markers = new MapMarkers();
/** Locale-specific string bundles of current map */
public MapLocales mapLocales = new MapLocales();
/** Global attributes of the environment, calculated by weather. */
public Attributes envAttrs = new Attributes();
/** Team data. Gets reset every new game. */

View File

@@ -342,16 +342,6 @@ public class NetClient implements ApplicationListener{
@Remote(variants = Variant.both)
public static void setObjectives(MapObjectives executor){
//clear old markers
for(var objective : state.rules.objectives){
for(var marker : objective.markers){
if(marker.wasAdded){
marker.removed();
marker.wasAdded = false;
}
}
}
state.rules.objectives = executor;
}

View File

@@ -696,7 +696,6 @@ public class NetServer implements ApplicationListener{
vector.limit(maxMove);
float prevx = unit.x, prevy = unit.y;
//unit.set(con.lastPosition);
if(!unit.isFlying()){
unit.move(vector.x, vector.y);
}else{
@@ -778,7 +777,6 @@ public class NetServer implements ApplicationListener{
}else{
NetClient.traceInfo(other, info);
}
info("&lc@ &fi&lk[&lb@&fi&lk]&fb has requested trace info of @ &fi&lk[&lb@&fi&lk]&fb.", player.plainName(), player.uuid(), other.plainName(), other.uuid());
}
case switchTeam -> {
if(params instanceof Team team){

View File

@@ -46,7 +46,7 @@ public class Renderer implements ApplicationListener{
public @Nullable Bloom bloom;
public @Nullable FrameBuffer backgroundBuffer;
public FrameBuffer effectBuffer = new FrameBuffer();
public boolean animateShields, drawWeather = true, drawStatus, enableEffects, drawDisplays = true, drawLight = true;
public boolean animateShields, drawWeather = true, drawStatus, enableEffects, drawDisplays = true, drawLight = true, pixelate = false;
public float weatherAlpha;
/** minZoom = zooming out, maxZoom = zooming in */
public float minZoom = 1.5f, maxZoom = 6f;
@@ -181,11 +181,14 @@ public class Renderer implements ApplicationListener{
enableEffects = settings.getBool("effects");
drawDisplays = !settings.getBool("hidedisplays");
drawLight = settings.getBool("drawlight", true);
pixelate = Core.settings.getBool("pixelate");
if(landTime > 0){
if(!state.isPaused()){
CoreBuild build = landCore == null ? player.bestCore() : landCore;
build.updateLandParticles();
if(build != null){
build.updateLandParticles();
}
}
if(!state.isPaused()){
@@ -225,7 +228,7 @@ public class Renderer implements ApplicationListener{
shakeIntensity = 0f;
}
if(pixelator.enabled()){
if(renderer.pixelate){
pixelator.drawPixelate();
}else{
draw();
@@ -316,7 +319,7 @@ public class Renderer implements ApplicationListener{
Events.fire(Trigger.draw);
MapPreviewLoader.checkPreviews();
if(pixelator.enabled()){
if(renderer.pixelate){
pixelator.register();
}
@@ -369,6 +372,25 @@ public class Renderer implements ApplicationListener{
});
}
float scaleFactor = 4f / renderer.getDisplayScale();
//draw objective markers
state.rules.objectives.eachRunning(obj -> {
for(var marker : obj.markers){
if(marker.world){
marker.draw(marker.autoscale ? scaleFactor : 1);
}
}
});
for(var marker : state.markers){
if(marker.world){
marker.draw(marker.autoscale ? scaleFactor : 1);
}
}
Draw.reset();
Draw.draw(Layer.overlayUI, overlays::drawTop);
if(state.rules.fog) Draw.draw(Layer.fogOfWar, fog::drawFog);
Draw.draw(Layer.space, this::drawLanding);

View File

@@ -78,7 +78,7 @@ public class UI implements ApplicationListener, Loadable{
public IntMap<Dialog> followUpMenus;
public Cursor drillCursor, unloadCursor, targetCursor;
public Cursor drillCursor, unloadCursor, targetCursor, repairCursor;
private @Nullable Element lastAnnouncement;
@@ -101,8 +101,6 @@ public class UI implements ApplicationListener, Loadable{
@Override
public void loadSync(){
loadColors();
Fonts.outline.getData().markupEnabled = true;
Fonts.def.getData().markupEnabled = true;
Fonts.def.setOwnsTexture(false);
@@ -128,6 +126,9 @@ public class UI implements ApplicationListener, Loadable{
Tooltips.getInstance().animations = false;
Tooltips.getInstance().textProvider = text -> new Tooltip(t -> t.background(Styles.black6).margin(4f).add(text));
if(mobile){
Tooltips.getInstance().offsetY += Scl.scl(60f);
}
Core.settings.setErrorHandler(e -> {
Log.err(e);
@@ -139,6 +140,7 @@ public class UI implements ApplicationListener, Loadable{
drillCursor = Core.graphics.newCursor("drill", Fonts.cursorScale());
unloadCursor = Core.graphics.newCursor("unload", Fonts.cursorScale());
targetCursor = Core.graphics.newCursor("target", Fonts.cursorScale());
repairCursor = Core.graphics.newCursor("repair", Fonts.cursorScale());
}
@Override
@@ -270,8 +272,15 @@ public class UI implements ApplicationListener, Loadable{
});
}
public void showTextInput(String titleText, String text, int textLength, String def, boolean numbers, Cons<String> confirmed, Runnable closed){
public void showTextInput(String titleText, String text, int textLength, String def, boolean numbers, Cons<String> confirmed, Runnable closed) {
showTextInput(titleText, text, textLength, def, numbers, false, confirmed, closed);
}
public void showTextInput(String titleText, String text, int textLength, String def, boolean numbers, boolean allowEmpty, Cons<String> confirmed, Runnable closed){
if(mobile){
var description = (text.startsWith("@") ? Core.bundle.get(text.substring(1)) : text);
var empty = allowEmpty;
Core.input.getTextInput(new TextInput(){{
this.title = (titleText.startsWith("@") ? Core.bundle.get(titleText.substring(1)) : titleText);
this.text = def;
@@ -279,7 +288,8 @@ public class UI implements ApplicationListener, Loadable{
this.maxLength = textLength;
this.accepted = confirmed;
this.canceled = closed;
this.allowEmpty = false;
this.allowEmpty = empty;
this.message = description;
}});
}else{
new Dialog(titleText){{
@@ -296,11 +306,11 @@ public class UI implements ApplicationListener, Loadable{
buttons.button("@ok", () -> {
confirmed.get(field.getText());
hide();
}).disabled(b -> field.getText().isEmpty());
}).disabled(b -> !allowEmpty && field.getText().isEmpty());
keyDown(KeyCode.enter, () -> {
String text = field.getText();
if(!text.isEmpty()){
if(allowEmpty || !text.isEmpty()){
confirmed.get(text);
hide();
}

View File

@@ -1,6 +1,7 @@
package mindustry.ctype;
import arc.util.*;
import mindustry.ai.*;
import mindustry.entities.bullet.*;
import mindustry.type.*;
import mindustry.world.*;
@@ -22,7 +23,9 @@ public enum ContentType{
error(null),
planet(Planet.class),
ammo_UNUSED(null),
team(TeamEntry.class);
team(TeamEntry.class),
unitCommand(UnitCommand.class),
unitStance(UnitStance.class);
public static final ContentType[] all = values();

View File

@@ -301,6 +301,14 @@ public class MapEditor{
if(previous.in(px, py)){
tiles.set(x, y, previous.getn(px, py));
Tile tile = tiles.getn(x, y);
Object config = null;
//fetch the old config first, configs can be relative to block position (tileX/tileY) before those are reassigned
if(tile.build != null && tile.isCenter()){
config = tile.build.config();
}
tile.x = (short)x;
tile.y = (short)y;
@@ -309,9 +317,12 @@ public class MapEditor{
tile.build.y = y * tilesize + tile.block().offset;
//shift links to account for map resize
Object config = tile.build.config();
if(config != null){
Object out = BuildPlan.pointConfig(tile.block(), config, p -> p.sub(offsetX, offsetY));
Object out = BuildPlan.pointConfig(tile.block(), config, p -> {
if(!tile.build.block.ignoreResizeConfig){
p.sub(offsetX, offsetY);
}
});
if(out != config){
tile.build.configureAny(out);
}

View File

@@ -24,6 +24,7 @@ import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.io.*;
import mindustry.maps.*;
import mindustry.type.*;
import mindustry.ui.*;
import mindustry.ui.dialogs.*;
import mindustry.world.*;

View File

@@ -7,6 +7,7 @@ import mindustry.game.*;
import mindustry.gen.*;
import mindustry.io.*;
import mindustry.maps.filters.*;
import mindustry.type.*;
import mindustry.ui.*;
import mindustry.ui.dialogs.*;
@@ -17,6 +18,7 @@ public class MapInfoDialog extends BaseDialog{
private final MapGenerateDialog generate;
private final CustomRulesDialog ruleInfo = new CustomRulesDialog();
private final MapObjectivesDialog objectives = new MapObjectivesDialog();
private final MapLocalesDialog locales = new MapLocalesDialog();
public MapInfoDialog(){
super("@editor.mapinfo");
@@ -94,6 +96,19 @@ public class MapInfoDialog extends BaseDialog{
});
hide();
}).marginLeft(10f);
r.row();
r.button("@editor.locales", Icon.fileText, style, () -> {
try{
MapLocales res = JsonIO.read(MapLocales.class, editor.tags.get("locales", "{}"));
locales.show(res);
}catch(Throwable e){
locales.show(new MapLocales());
ui.showException(e);
}
hide();
}).marginLeft(10f).width(0f).colspan(2).center().growX();
}).colspan(2).center();
name.change();

View File

@@ -0,0 +1,775 @@
package mindustry.editor;
import arc.Core;
import arc.func.*;
import arc.graphics.*;
import arc.scene.style.*;
import arc.scene.ui.*;
import arc.scene.ui.Button.*;
import arc.scene.ui.TextButton.*;
import arc.scene.ui.layout.*;
import arc.scene.utils.*;
import arc.struct.*;
import mindustry.*;
import mindustry.ctype.*;
import mindustry.game.*;
import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.io.*;
import mindustry.type.*;
import mindustry.ui.*;
import mindustry.ui.dialogs.*;
import static mindustry.Vars.*;
public class MapLocalesDialog extends BaseDialog{
/** Width of UI property card. */
private static final float cardWidth = 400f;
/** Style for filter options buttons */
private static final TextButtonStyle filterStyle = new TextButtonStyle(){{
up = down = checked = over = Tex.whitePane;
font = Fonts.outline;
fontColor = Color.lightGray;
overFontColor = Pal.accent;
disabledFontColor = Color.gray;
disabled = Styles.black;
}};
/** Icons for use in map locales dialog. */
private static final ContentType[] contentIcons = {ContentType.item, ContentType.block, ContentType.liquid, ContentType.status, ContentType.unit};
private MapLocales locales;
private MapLocales lastSaved;
private boolean saved = true;
private Table langs;
private Table main;
private Table propView;
private String selectedLocale;
private boolean applytoall = true;
private boolean collapsed = false;
private String searchString = "";
private boolean searchByValue = false;
private boolean showCorrect = true;
private boolean showMissing = true;
private boolean showSame = true;
public MapLocalesDialog(){
super("@editor.locales");
selectedLocale = MapLocales.currentLocale();
langs = new Table(Tex.button);
main = new Table();
propView = new Table();
buttons.add("").uniform();
buttons.table(t -> {
t.defaults().pad(3).center();
t.button("@back", Icon.left, () -> {
if(!saved) ui.showConfirm("@editor.locales", "@editor.savechanges", () -> {
editor.tags.put("locales", JsonIO.write(locales));
state.mapLocales = locales;
});
hide();
}).size(210f, 64f);
closeOnBack(() -> {
if(!saved) ui.showConfirm("@editor.locales", "@editor.savechanges", () -> {
editor.tags.put("locales", JsonIO.write(locales));
state.mapLocales = locales;
});
});
t.button("@editor.apply", Icon.ok, () -> {
editor.tags.put("locales", JsonIO.write(locales));
state.mapLocales = locales;
lastSaved = locales.copy();
saved = true;
}).size(210f, 64f).disabled(b -> saved);
t.button("@edit", Icon.edit, this::editDialog).size(210f, 64f);
}).growX();
resized(this::buildMain);
buttons.button("?", () -> ui.showInfo("@locales.info")).size(60f, 64f).uniform();
shown(this::setup);
}
public void show(MapLocales locales){
this.locales = locales;
lastSaved = locales.copy();
saved = true;
show();
}
private void setup(){
cont.clear();
buildTables();
cont.add(langs).left();
cont.table(t -> {
// search/collapse all/filter
t.table(a -> {
a.button(Icon.downOpen, Styles.emptyTogglei, () -> {
collapsed = !collapsed;
buildMain();
}).update(b -> {
b.replaceImage(new Image(collapsed ? Icon.upOpen : Icon.downOpen));
b.setChecked(collapsed);
}).size(35f);
a.button(Icon.filter, Styles.emptyi, () -> filterDialog(this::buildMain)).padLeft(10f).size(35f);
var field = a.field("", v -> {
searchString = v;
buildMain();
}).update(f -> f.setText(searchString)).maxTextLength(64).padLeft(10f).width(250f).update(f -> f.setMessageText(searchByValue ? "@locales.searchvalue": "@locales.searchname")).get();
a.button(Icon.cancel, Styles.emptyi, () -> {
searchString = "";
field.setText("");
buildMain();
}).padLeft(10f).size(35f);
}).row();
t.check("@locales.applytoall", applytoall, b -> applytoall = b).pad(10f).row();
t.add(main).center().grow().row();
}).pad(10f).grow();
// property addition
cont.table(Tex.button, t -> {
TextField name = t.field("name", s -> {}).maxTextLength(64).fillX().padTop(10f).get();
t.row();
TextField value = t.area("text", s -> {}).maxTextLength(1000).fillX().height(140f).get();
t.row();
t.button("@add", Icon.add, () -> {
if(applytoall){
for(var locale : locales.values()){
locale.put(name.getText(), value.getText());
}
}else{
locales.get(selectedLocale).put(name.getText(), value.getText());
}
saved = false;
buildMain();
}).padTop(10f).size(cardWidth, 50f).fillX().row();
}).right();
}
private void buildTables(){
if(!locales.containsKey(selectedLocale)){
locales.put(selectedLocale, new StringMap());
}
buildLocalesTable();
buildMain();
}
private void buildLocalesTable(){
langs.clear();
langs.pane(p -> {
for(var loc : Vars.locales){
String name = loc.toString();
if(locales.containsKey(name)){
p.button(loc.getDisplayName(Core.bundle.getLocale()), Styles.flatTogglet, () -> {
if(name.equals(selectedLocale)) return;
selectedLocale = name;
buildTables();
}).update(b -> b.setChecked(selectedLocale.equals(name))).width(200f).minHeight(50f);
p.button(Icon.edit, Styles.flati, () -> localeEditDialog(name)).size(50f);
p.button(Icon.trash, Styles.flati, () -> ui.showConfirm("@confirm", "@locales.deletelocale", () -> {
locales.remove(name);
selectedLocale = (locales.size != 0 ? locales.keys().next() : Core.settings.getString("locale"));
saved = false;
buildTables();
})).size(50f).row();
}
}
}).row();
langs.button("@add", Icon.add, this::addLocaleDialog).padTop(10f).width(250f);
}
private void buildMain(){
main.clear();
StringMap props = locales.get(selectedLocale);
main.image().color(Pal.gray).height(3f).growX().expandY().top().row();
main.pane(p -> {
int cols = Math.max(1, (int)((Core.graphics.getWidth() / Scl.scl() - 410f) / cardWidth) - 1);
if(props.size == 0){
main.add("@empty").center().row();
return;
}
p.defaults().top();
Table[] colTables = new Table[cols];
for(var i = 0; i < cols; i++){
colTables[i] = new Table();
}
int i = 0;
// To sort properties in alphabetic order
Seq<String> keys = props.keys().toSeq().sort();
for(var key : keys){
var comparsionString = (searchByValue ? props.get(key).toLowerCase() : key.toLowerCase());
if(!searchString.isEmpty() && !comparsionString.contains(searchString.toLowerCase())) continue;
PropertyStatus status = getPropertyStatus(key, props.get(key), selectedLocale, false);
if(status == PropertyStatus.correct && !showCorrect) continue;
if(status == PropertyStatus.missing && !showMissing) continue;
if(status == PropertyStatus.same && !showSame) continue;
colTables[i].table(Tex.whitePane, t -> {
boolean[] shown = {!collapsed};
String[] propKey = {key};
String[] propValue = {props.get(key)};
// collapse button
t.button(Icon.downOpen, Styles.emptyTogglei, () -> shown[0] = !shown[0]).update(b -> {
b.replaceImage(new Image(shown[0] ? Icon.upOpen : Icon.downOpen));
b.setChecked(shown[0]);
}).size(35f);
// property name field
t.field(propKey[0], (f, c) -> c != '=' && c != ':', v -> {
if(props.containsKey(v)){
t.setColor(Color.valueOf("f25555"));
return;
}
if(applytoall){
for(var bundle : locales.values()){
if(!bundle.containsKey(v)){
String value = bundle.get(propKey[0]);
if(value == null) continue;
bundle.remove(propKey[0]);
bundle.put(v, value);
}
}
}else{
if(!props.containsKey(v)){
props.remove(propKey[0]);
props.put(v, propValue[0]);
}
}
propKey[0] = v;
updateCard(t, v, propValue[0]);
saved = false;
}).maxTextLength(64).width(cardWidth - 125f);
// remove button
t.button(Icon.trash, Styles.emptyi, () -> {
if(applytoall){
for(var bundle : locales.values()){
bundle.remove(propKey[0]);
}
}else{
props.remove(propKey[0]);
}
saved = false;
buildMain();
}).size(35f);
// more actions
t.button(Icon.edit, Styles.emptyi, () -> propEditDialog(t, propKey[0], propValue[0])).size(35f).row();
// property value area
t.collapser(c -> c.area(propValue[0], v -> {
props.put(propKey[0], v);
updateCard(t, propKey[0], v);
saved = false;
}).maxTextLength(1000).height(140f).update(a -> {
propValue[0] = props.get(propKey[0]);
a.setText(props.get(propKey[0]));
}).growX(), () -> shown[0]).colspan(4).growX();
updateCard(t, propKey[0], propValue[0]);
}).top().width(cardWidth).pad(5f).row();
i = ++i % cols;
}
if(!colTables[0].hasChildren()){
main.add("@empty").center().row();
}else{
p.add(colTables);
}
}).growX().row();
main.image().color(Pal.gray).height(3f).growX().expandY().bottom().row();
}
private void updateCard(Table table, String propKey, String propValue){
updateCard(table, propKey, propValue, selectedLocale, false);
}
private void updateCard(Table table, String propKey, String propValue, String locale, boolean viewCard){
switch(getPropertyStatus(propKey, propValue, locale, viewCard)){
case missing -> table.setColor(Pal.accent);
case same -> table.setColor(Pal.techBlue);
case correct -> table.setColor(Pal.gray);
}
}
// Property statuses for main dialog and property view dialog are a bit different
private PropertyStatus getPropertyStatus(String propKey, String propValue, String locale, boolean forView){
if(forView && propValue == null) return PropertyStatus.missing;
for(var bundle : locales.entries()){
if(!forView && bundle.key.equals(selectedLocale)) continue;
if(forView && bundle.key.equals(locale)) continue;
StringMap props = bundle.value;
if(!props.containsKey(propKey)){
if(!forView) return PropertyStatus.missing;
}else{
if(props.get(propKey).equals(propValue)){
return PropertyStatus.same;
}
}
}
return PropertyStatus.correct;
}
private void addLocaleDialog(){
BaseDialog dialog = new BaseDialog("@add");
dialog.cont.pane(t -> {
for(var loc : Vars.locales){
String name = loc.toString();
if(!locales.containsKey(name)){
t.button(loc.getDisplayName(Core.bundle.getLocale()), Styles.flatTogglet, () -> {
if(name.equals(selectedLocale)) return;
locales.put(name, new StringMap());
selectedLocale = name;
saved = false;
buildTables();
dialog.hide();
}).update(b -> b.setChecked(selectedLocale.equals(name))).size(400f, 50f).row();
}
}
});
dialog.addCloseButton();
dialog.show();
}
private void propEditDialog(Table card, String key, String value){
BaseDialog dialog = new BaseDialog("@edit");
dialog.cont.pane(p -> {
p.margin(10f);
p.table(Tex.button, t -> {
t.defaults().size(450f, 60f).left();
t.button("@locales.addtoother", Icon.add, Styles.flatt, () -> {
for(var bundle : locales.values()){
if(!bundle.containsKey(key)){
bundle.put(key, value);
}
}
saved = false;
updateCard(card, key, value);
dialog.hide();
}).marginLeft(12f).row();
t.button("@locales.viewproperty", Icon.zoom, Styles.flatt, () -> {
viewPropertyDialog(key);
dialog.hide();
}).marginLeft(12f).row();
t.button("@locales.addicon", Icon.image, Styles.flatt, () -> {
addIconDialog(res -> {
locales.get(selectedLocale).put(key, value + res);
saved = false;
});
dialog.hide();
}).marginLeft(12f).row();
t.button("@locales.rollback", Icon.undo, Styles.flatt, () -> {
locales.get(selectedLocale).put(key, lastSaved.get(selectedLocale).get(key));
buildTables();
dialog.hide();
}).disabled(b -> {
if(!lastSaved.containsKey(selectedLocale)) return true;
StringMap savedMap = lastSaved.get(selectedLocale);
return !savedMap.containsKey(key) || savedMap.get(key).equals(locales.get(selectedLocale).get(key));
}).marginLeft(12f).row();
});
});
dialog.addCloseButton();
dialog.show();
}
private void localeEditDialog(String locale){
BaseDialog dialog = new BaseDialog("@edit");
dialog.cont.pane(p -> {
p.margin(10f);
p.table(Tex.button, t -> {
t.defaults().size(350f, 60f).left();
t.button("@waves.copy", Icon.copy, Styles.flatt, () -> {
Core.app.setClipboardText(writeLocale(locale));
ui.showInfoFade("@copied");
dialog.hide();
}).marginLeft(12f).row();
t.button("@waves.load", Icon.download, Styles.flatt, () -> {
locales.put(locale, readLocale(Core.app.getClipboardText()));
buildTables();
saved = false;
dialog.hide();
}).disabled(Core.app.getClipboardText() == null).marginLeft(12f).row();
});
});
dialog.addCloseButton();
dialog.show();
}
private void editDialog(){
BaseDialog dialog = new BaseDialog("@edit");
dialog.cont.pane(p -> {
p.margin(10f);
p.table(Tex.button, t -> {
t.defaults().size(450f, 60f).left();
t.button("@waves.copy", Icon.copy, Styles.flatt, () -> {
Core.app.setClipboardText(writeBundles());
ui.showInfoFade("@copied");
dialog.hide();
}).marginLeft(12f).row();
t.button("@waves.load", Icon.download, Styles.flatt, () -> {
locales = readBundles(Core.app.getClipboardText());
buildTables();
saved = false;
dialog.hide();
}).disabled(Core.app.getClipboardText() == null).marginLeft(12f).row();
t.button("@locales.rollback", Icon.undo, Styles.flatt, () -> {
locales = lastSaved.copy();
saved = true;
buildTables();
dialog.hide();
}).disabled(b -> saved).marginLeft(12f).row();
});
});
dialog.addCloseButton();
dialog.show();
}
private void viewPropertyDialog(String key){
BaseDialog dialog = new BaseDialog(Core.bundle.format("locales.viewing", key));
dialog.cont.table(t -> {
t.button(Icon.filter, Styles.emptyi, () -> filterDialog(() -> buildPropView(key))).size(35f);
var field = t.field(searchString, v -> {
searchString = v;
buildPropView(key);
}).update(f -> f.setText(searchString)).maxTextLength(64).padLeft(10f).width(250f).update(f -> f.setMessageText(searchByValue ? "@locales.searchvalue" : "@locales.searchlocale")).get();
t.button(Icon.cancel, Styles.emptyi, () -> {
searchString = "";
field.setText("");
buildPropView(key);
}).padLeft(10f).size(35f);
}).row();
buildPropView(key);
dialog.cont.add(propView).grow().center().row();
dialog.addCloseButton();
dialog.closeOnBack();
dialog.hidden(this::buildMain);
dialog.show();
}
private void buildPropView(String key){
propView.clear();
propView.image().color(Pal.gray).height(3f).fillX().top().row();
propView.pane(p -> {
int cols = Math.max(1, (int)((Core.graphics.getWidth() / Scl.scl() - 100f) / cardWidth));
if(cols == 0){
propView.add("@empty").center().row();
return;
}
p.defaults().top();
Table[] colTables = new Table[cols];
for(var i = 0; i < cols; i++){
colTables[i] = new Table();
}
int i = 0;
for(var loc : Vars.locales){
String name = loc.toString();
if(!locales.containsKey(name)) continue;
PropertyStatus status = getPropertyStatus(key, locales.get(name).get(key), name, true);
if(status == PropertyStatus.correct && !showCorrect) continue;
if(status == PropertyStatus.missing && !showMissing) continue;
if(status == PropertyStatus.same && !showSame) continue;
if(status != PropertyStatus.missing){
var comparsionString = (searchByValue ? locales.get(name).get(key).toLowerCase() : loc.getDisplayName(Core.bundle.getLocale()).toLowerCase());
if(!searchString.isEmpty() && !comparsionString.contains(searchString.toLowerCase())) continue;
}
colTables[i].table(Tex.whitePane, t -> {
t.add(loc.getDisplayName(Core.bundle.getLocale())).left().color(Pal.accent).row();
t.image().color(Pal.accent).fillX().row();
if(status == PropertyStatus.missing){
t.table(b ->
b.button("@add", Icon.add, () -> {
locales.get(name).put(key, "moai");
t.getCells().get(2).clearElement();
t.getCells().remove(2);
t.area(locales.get(name).get(key), v -> {
locales.get(name).put(key, v);
saved = false;
}).maxTextLength(1000).height(140f).growX().row();
}).size(160f, 50f)).height(140f).growX().row();
}else{
t.area(locales.get(name).get(key), v -> {
locales.get(name).put(key, v);
saved = false;
}).maxTextLength(1000).height(140f).growX().row();
}
}).update(t -> updateCard(t, key, locales.get(name).get(key), name, true)).top().width(cardWidth).pad(5f).row();
i = ++i % cols;
}
if(!colTables[0].hasChildren()){
propView.add("@empty").center().row();
}else{
p.add(colTables);
}
}).grow().row();
propView.image().color(Pal.gray).height(3f).fillX().bottom().row();
}
private void filterDialog(Runnable hidden){
BaseDialog dialog = new BaseDialog("@locales.filter");
dialog.cont.table(t -> {
t.add("@search").row();
t.table(b -> {
b.button("@locales.byname", Styles.togglet, () -> searchByValue = false).size(300f, 50f).checked(v -> !searchByValue);
b.button("@locales.byvalue", Styles.togglet, () -> searchByValue = true).padLeft(10f).size(300f, 50f).checked(v -> searchByValue);
}).padTop(5f);
}).row();
dialog.cont.button("@locales.showcorrect", Icon.ok, filterStyle, () -> showCorrect = !showCorrect).update(b -> {
((Image)b.getChildren().get(1)).setDrawable(showCorrect ? Icon.ok : Icon.cancel);
b.setChecked(showCorrect);
}).size(450f, 100f).color(Pal.gray).padTop(65f);
dialog.cont.row();
dialog.cont.button("@locales.showmissing", Icon.ok, filterStyle, () -> showMissing = !showMissing).update(b -> {
((Image)b.getChildren().get(1)).setDrawable(showMissing ? Icon.ok : Icon.cancel);
b.setChecked(showMissing);
}).size(450f, 100f).color(Pal.accent).padTop(65f);
dialog.cont.row();
dialog.cont.button("@locales.showsame", Icon.ok, filterStyle, () -> showSame = !showSame).update(b -> {
((Image)b.getChildren().get(1)).setDrawable(showSame ? Icon.ok : Icon.cancel);
b.setChecked(showSame);
}).size(450f, 100f).color(Pal.techBlue).padTop(65f);
dialog.buttons.button("@back", Icon.left, () -> {
hidden.run();
dialog.hide();
}).size(210f, 64f);
dialog.closeOnBack(hidden);
dialog.show();
}
private void addIconDialog(Cons<String> cons){
BaseDialog dialog = new BaseDialog("@locales.addicon");
Table icons = new Table();
TextField search = Elem.newField("", v -> iconsTable(icons, v.replace(" ", "").toLowerCase(), dialog, cons));
search.setMessageText("@search");
dialog.cont.table(t -> {
t.add(search).maxTextLength(64).padLeft(10f).width(250f);
t.button(Icon.cancel, Styles.emptyi, () -> {
search.setText("");
iconsTable(icons, "", dialog, cons);
}).padLeft(10f).size(35f);
}).row();
dialog.cont.pane(icons).scrollX(false);
dialog.resized(true, () -> iconsTable(icons, search.getText().replace(" ", "").toLowerCase(), dialog, cons));
dialog.addCloseButton();
dialog.closeOnBack();
dialog.setFillParent(true);
dialog.show();
}
private void iconsTable(Table table, String search, Dialog dialog, Cons<String> cons){
table.clear();
table.marginRight(19f).marginLeft(12f);
table.defaults().size(48f);
int cols = (int)Math.min(20, Core.graphics.getWidth() / Scl.scl(52f));
int i = 0;
var codes = new ObjectIntMap<>(Iconc.codes);
for(var name : codes.keys()){
if(!name.toLowerCase().contains(search)) codes.remove(name);
}
if(codes.size > 0) table.image().colspan(cols).growX().width(-1f).height(3f).color(Pal.accent).row();
for(var icon : codes){
String res = (char)icon.value + "";
table.button(Icon.icons.get(icon.key), Styles.flati, iconMed, () -> {
cons.get(res);
dialog.hide();
}).tooltip(icon.key);
if(++i % cols == 0) table.row();
}
for(ContentType ctype : contentIcons){
var all = content.getBy(ctype).<UnlockableContent>as().select(u -> u.localizedName.replace(" ", "").toLowerCase().contains(search) && u.uiIcon.found());
table.row();
if(all.size > 0) table.image().colspan(cols).growX().width(-1f).height(3f).color(Pal.accent).row();
i = 0;
for(UnlockableContent u : all){
table.button(new TextureRegionDrawable(u.uiIcon), Styles.flati, iconMed, () -> {
cons.get(u.emoji() + "");
dialog.hide();
}).tooltip(u.localizedName);
if(++i % cols == 0) table.row();
}
}
var teams = new Seq<>(Team.baseTeams);
teams = teams.select(u -> u.localized().toLowerCase().contains(search) && Core.atlas.has("team-" + u.name));
table.row();
if(teams.size > 0) table.image().colspan(cols).growX().width(-1f).height(3f).color(Pal.accent).row();
for(Team team : teams){
var region = Core.atlas.find("team-" + team.name);
table.button(new TextureRegionDrawable(region), Styles.flati, iconMed, () -> {
cons.get(team.emoji);
dialog.hide();
}).tooltip(team.localized());
if(++i % cols == 0) table.row();
}
}
private String writeBundles(){
StringBuilder data = new StringBuilder();
for(var locale : locales.keys()){
data.append(locale).append(":\n").append(writeLocale(locale));
}
return data.toString();
}
private String writeLocale(String key){
StringBuilder data = new StringBuilder();
if(!locales.containsKey(key)) return "";
for(var prop : locales.get(key).entries()){
// Convert \n in plain text to \\n, then convert newlines to \n
data.append(prop.key).append(" = ").append(prop.value
.replace("\\n", "\\\\n").replace("\n", "\\n")).append("\n");
}
return data.toString();
}
private MapLocales readBundles(String data){
MapLocales bundles = new MapLocales();
String currentLocale = "";
for(var line : data.split("\\r?\\n|\\r")){
if(line.endsWith(":") && !line.contains("=")){
currentLocale = line.substring(0, line.length() - 1);
bundles.put(currentLocale, new StringMap());
}else{
int sepIndex = line.indexOf(" = ");
if(sepIndex != -1 && !currentLocale.isEmpty()){
// Convert \n in file to newlines in text, then revert newlines with escape characters
bundles.get(currentLocale).put(line.substring(0, sepIndex), line.substring(sepIndex + 3)
.replace("\\n", "\n").replace("\\\n", "\\n"));
}
}
}
return bundles;
}
private StringMap readLocale(String data){
StringMap map = new StringMap();
for(var line : data.split("\\r?\\n|\\r")){
int sepIndex = line.indexOf(" = ");
if(sepIndex != -1){
// Convert \n in file to newlines in text, then revert newlines with escape characters
map.put(line.substring(0, sepIndex), line.substring(sepIndex + 3)
.replace("\\n", "\n").replace("\\\n", "\\n"));
}
}
return map;
}
private enum PropertyStatus{
correct,
missing,
same
}
}

View File

@@ -246,6 +246,38 @@ public class MapObjectivesDialog extends BaseDialog{
show();
}});
setInterpreter(Vertices.class, float[].class, (cont, name, type, field, remover, indexer, get, set) -> cont.table(main -> {
float[] data = get.get();
name(cont, name, remover, indexer);
cont.table(t -> {
t.left().defaults().left();
String[] names = {"x", "y", "color", "u", "v"};
int stride = 6;
int vertices = data.length / stride;
for(int i = 0; i < vertices; i++){
int offset = i * stride;
t.table(row -> {
for(int j = 0; j < names.length; j++){
int index = offset + j;
if("color".equals(names[j])) {
getInterpreter(Color.class).build(row, names[j], new TypeInfo(Color.class), null, null, null, () -> new Color().abgr8888(data[index]), value -> data[index] = value.toFloatBits());
}else{
float scale = j <= 1 ? tilesize : 1;
getInterpreter(float.class).build(row, names[j], new TypeInfo(float.class), null, null, null, () -> data[index] / scale, value -> data[index] = value * scale);
}
row.add().pad(4);
}
}).row();
}
});
}));
// Types that use the default interpreter. It would be nice if all types could use it, but I don't know how to reliably prevent classes like [? extends Content] from using it.
for(var obj : MapObjectives.allObjectiveTypes) setInterpreter(obj.get().getClass(), defaultInterpreter());
for(var mark : MapObjectives.allMarkerTypes) setInterpreter(mark.get().getClass(), defaultInterpreter());
@@ -290,10 +322,12 @@ public class MapObjectivesDialog extends BaseDialog{
t.button(Icon.downOpen, Styles.emptyi, () -> indexer.get(false)).fill().padRight(4f);
}
t.button(Icon.add, Styles.emptyi, () -> getProvider(type.element.raw).get(type.element, res -> {
arr.add(res);
rebuild[0].run();
})).fill();
if(!field.isAnnotationPresent(Immutable.class)) {
t.button(Icon.add, Styles.emptyi, () -> getProvider(type.element.raw).get(type.element, res -> {
arr.add(res);
rebuild[0].run();
})).fill();
}
}).growX().height(46f).pad(0f, -10f, 0f, -10f).get();
main.row().table(Tex.button, t -> rebuild[0] = () -> {
@@ -312,10 +346,10 @@ public class MapObjectivesDialog extends BaseDialog{
getInterpreter((Class<Object>)arr.get(index).getClass()).build(
t, "", new TypeInfo(arr.get(index).getClass()),
field, () -> {
field, field == null || !field.isAnnotationPresent(Immutable.class) ? () -> {
arr.remove(index);
rebuild[0].run();
}, field == null || !field.isAnnotationPresent(Unordered.class) ? in -> {
} : null, field == null || !field.isAnnotationPresent(Unordered.class) ? in -> {
if(in && index > 0){
arr.swap(index, index - 1);
rebuild[0].run();

View File

@@ -139,12 +139,16 @@ public class MapRenderer implements Disposable{
mesh.draw(idxWall, region, wx * tilesize, wy * tilesize, 8, 8);
}
float offsetX = -(wall.size / 3) * tilesize, offsetY = -(wall.size / 3) * tilesize;
float offsetX = -((wall.size + 1) / 3) * tilesize, offsetY = -((wall.size + 1) / 3) * tilesize;
//draw non-synthetic wall or ore
if((wall.update || wall.destructible) && center){
mesh.setColor(team.color);
region = Core.atlas.find("block-border-editor");
if(wall.size == 2){
offsetX += tilesize;
offsetY += tilesize;
}
}else if(!useSyntheticWall && wall != Blocks.air && center){
region = getIcon(wall, idxWall);

View File

@@ -2,6 +2,7 @@ package mindustry.entities;
import arc.*;
import arc.func.*;
import arc.graphics.*;
import arc.math.*;
import arc.math.geom.*;
import arc.struct.*;
@@ -38,10 +39,13 @@ public class Damage{
private static Unit tmpUnit;
public static void applySuppression(Team team, float x, float y, float range, float reload, float maxDelay, float applyParticleChance, @Nullable Position source){
applySuppression(team, x, y, range, reload, maxDelay, applyParticleChance, source, Pal.sapBullet);
}
public static void applySuppression(Team team, float x, float y, float range, float reload, float maxDelay, float applyParticleChance, @Nullable Position source, Color effectColor){
builds.clear();
indexer.eachBlock(null, x, y, range, build -> build.team != team, build -> {
float prev = build.healSuppressionTime;
build.applyHealSuppression(reload + 1f);
build.applyHealSuppression(reload + 1f, effectColor);
//TODO maybe should be block field instead of instanceof check
if(build.wasRecentlyHealed(60f * 12f) || build.block.suppressable){
@@ -58,7 +62,7 @@ public class Damage{
for(var build : builds){
if(Mathf.chance(scaledChance)){
Time.run(Mathf.random(maxDelay), () -> {
Fx.regenSuppressSeek.at(build.x + Mathf.range(build.block.size * tilesize / 2f), build.y + Mathf.range(build.block.size * tilesize / 2f), 0f, source);
Fx.regenSuppressSeek.at(build.x + Mathf.range(build.block.size * tilesize / 2f), build.y + Mathf.range(build.block.size * tilesize / 2f), 0f, effectColor, source);
});
}
}

View File

@@ -28,6 +28,7 @@ public class EntityGroup<T extends Entityc> implements Iterable<T>{
private int index;
public static int nextId(){
if(lastId >= Integer.MAX_VALUE - 2) lastId = 0;
return lastId++;
}
@@ -145,6 +146,12 @@ public class EntityGroup<T extends Entityc> implements Iterable<T>{
tree.intersect(x, y, width, height, out);
}
public boolean intersect(float x, float y, float width, float height, Boolf<? super T> out){
//don't waste time for empty groups
if(isEmpty()) return false;
return tree.intersect(x, y, width, height, out);
}
public Seq<T> intersect(float x, float y, float width, float height){
intersectArray.clear();
//don't waste time for empty groups

View File

@@ -1,8 +1,6 @@
package mindustry.entities;
import arc.*;
import arc.math.geom.*;
import arc.struct.*;
import arc.util.*;
import mindustry.content.*;
import mindustry.game.EventType.*;
@@ -14,13 +12,12 @@ import static mindustry.Vars.*;
public class Fires{
private static final float baseLifetime = 1000f;
private static final IntMap<Fire> map = new IntMap<>();
/** Start a fire on the tile. If there already is a fire there, refreshes its lifetime. */
public static void create(Tile tile){
if(net.client() || tile == null || !state.rules.fire || !state.rules.hasEnv(Env.oxygen)) return; //not clientside.
Fire fire = map.get(tile.pos());
Fire fire = get(tile);
if(fire == null){
fire = Fire.create();
@@ -28,48 +25,58 @@ public class Fires{
fire.lifetime = baseLifetime;
fire.set(tile.worldx(), tile.worldy());
fire.add();
map.put(tile.pos(), fire);
set(tile, fire);
}else{
fire.lifetime = baseLifetime;
fire.time = 0f;
}
}
public static Fire get(int x, int y){
return map.get(Point2.pack(x, y));
public static @Nullable Fire get(Tile tile){
return tile == null ? null : world.tiles.getFire(tile.array());
}
public static @Nullable Fire get(int x, int y){
return Structs.inBounds(x, y, world.width(), world.height()) ? world.tiles.getFire(world.packArray(x, y)) : null;
}
private static void set(Tile tile, Fire fire){
world.tiles.setFire(tile.array(), fire);
}
public static boolean has(int x, int y){
if(!Structs.inBounds(x, y, world.width(), world.height()) || !map.containsKey(Point2.pack(x, y))){
if(!Structs.inBounds(x, y, world.width(), world.height())){
return false;
}
Fire fire = map.get(Point2.pack(x, y));
return fire.isAdded() && fire.fin() < 1f && fire.tile() != null && fire.tile().x == x && fire.tile().y == y;
Fire fire = get(x, y);
return fire != null && fire.isAdded() && fire.fin() < 1f && fire.tile != null && fire.tile.x == x && fire.tile.y == y;
}
/**
* Attempts to extinguish a fire by shortening its life. If there is no fire here, does nothing.
*/
public static void extinguish(Tile tile, float intensity){
if(tile != null && map.containsKey(tile.pos())){
Fire fire = map.get(tile.pos());
fire.time(fire.time + intensity * Time.delta);
Fx.steam.at(fire);
if(fire.time >= fire.lifetime){
Events.fire(Trigger.fireExtinguish);
if(tile != null){
Fire fire = get(tile);
if(fire != null){
fire.time(fire.time + intensity * Time.delta);
Fx.steam.at(fire);
if(fire.time >= fire.lifetime){
Events.fire(Trigger.fireExtinguish);
}
}
}
}
public static void remove(Tile tile){
if(tile != null){
map.remove(tile.pos());
set(tile, null);
}
}
public static void register(Fire fire){
if(fire.tile != null){
map.put(fire.tile.pos(), fire);
set(fire.tile, fire);
}
}
}

View File

@@ -1,7 +1,6 @@
package mindustry.entities;
import arc.math.*;
import arc.struct.*;
import arc.util.*;
import mindustry.*;
import mindustry.content.*;
@@ -11,9 +10,9 @@ import mindustry.type.*;
import mindustry.world.*;
import mindustry.world.meta.*;
public class Puddles{
private static final IntMap<Puddle> map = new IntMap<>();
import static mindustry.Vars.*;
public class Puddles{
public static final float maxLiquid = 70f;
/** Deposits a Puddle between tile and source. */
@@ -27,8 +26,8 @@ public class Puddles{
}
/** Returns the Puddle on the specified tile. May return null. */
public static Puddle get(Tile tile){
return map.get(tile.pos());
public static @Nullable Puddle get(Tile tile){
return tile == null ? null : world.tiles.getPuddle(tile.array());
}
public static void deposit(Tile tile, Tile source, Liquid liquid, float amount, boolean initial){
@@ -57,7 +56,7 @@ public class Puddles{
if(tile.floor().isLiquid && !canStayOn(liquid, tile.floor().liquidDrop)){
reactPuddle(tile.floor().liquidDrop, liquid, amount, tile, ax, ay);
Puddle p = map.get(tile.pos());
Puddle p = get(tile);
if(initial && p != null && p.lastRipple <= Time.time - 40f){
Fx.ripple.at(ax, ay, 1f, tile.floor().liquidDrop.color);
@@ -68,7 +67,7 @@ public class Puddles{
if(tile.floor().solid) return;
Puddle p = map.get(tile.pos());
Puddle p = get(tile);
if(p == null || p.liquid == null){
if(!Vars.net.client()){
//do not create puddles clientside as that destroys syncing
@@ -77,7 +76,7 @@ public class Puddles{
puddle.liquid = liquid;
puddle.amount = amount;
puddle.set(ax, ay);
map.put(tile.pos(), puddle);
register(puddle);
puddle.add();
}
}else if(p.liquid == liquid){
@@ -101,11 +100,11 @@ public class Puddles{
public static void remove(Tile tile){
if(tile == null) return;
map.remove(tile.pos());
world.tiles.setPuddle(tile.array(), null);
}
public static void register(Puddle puddle){
map.put(puddle.tile().pos(), puddle);
world.tiles.setPuddle(puddle.tile().array(), puddle);
}
/** Reacts two liquids together at a location. */

View File

@@ -20,22 +20,18 @@ public class Units{
private static final Rect hitrect = new Rect();
private static Unit result;
private static float cdist, cpriority;
private static boolean boolResult;
private static int intResult;
private static Building buildResult;
//prevents allocations in anyEntities
private static boolean anyEntityGround;
private static float aeX, aeY, aeW, aeH;
private static final Cons<Unit> anyEntityLambda = unit -> {
if(boolResult) return;
private static final Boolf<Unit> anyEntityLambda = unit -> {
if((unit.isGrounded() && !unit.type.allowLegStep) == anyEntityGround){
unit.hitboxTile(hitrect);
if(hitrect.overlaps(aeX, aeY, aeW, aeH)){
boolResult = true;
}
return hitrect.overlaps(aeX, aeY, aeW, aeH);
}
return false;
};
@Remote(called = Loc.server)
@@ -93,7 +89,7 @@ public class Units{
/** @return whether a new instance of a unit of this team can be created. */
public static boolean canCreate(Team team, UnitType type){
return team.data().countType(type) < getCap(team) && !type.isBanned();
return !type.useUnitCap || (team.data().countType(type) < getCap(team) && !type.isBanned());
}
public static int getCap(Team team){
@@ -112,7 +108,7 @@ public class Units{
/** @return whether this player can interact with a specific tile. if either of these are null, returns true.*/
public static boolean canInteract(Player player, Building tile){
return player == null || tile == null || tile.interactable(player.team());
return player == null || tile == null || tile.interactable(player.team()) || state.rules.editor;
}
/**
@@ -162,31 +158,26 @@ public class Units{
}
public static boolean anyEntities(float x, float y, float width, float height, boolean ground){
boolResult = false;
anyEntityGround = ground;
aeX = x;
aeY = y;
aeW = width;
aeH = height;
nearby(x, y, width, height, anyEntityLambda);
return boolResult;
return nearbyCheck(x, y, width, height, anyEntityLambda);
}
/** Note that this checks the tile hitbox, not the standard hitbox. */
public static boolean anyEntities(float x, float y, float width, float height, Boolf<Unit> check){
boolResult = false;
nearby(x, y, width, height, unit -> {
if(boolResult) return;
return nearbyCheck(x, y, width, height, unit -> {
if(check.get(unit)){
unit.hitboxTile(hitrect);
if(hitrect.overlaps(x, y, width, height)){
boolResult = true;
}
return hitrect.overlaps(x, y, width, height);
}
return false;
});
return boolResult;
}
/** Returns the nearest damaged tile. */
@@ -201,8 +192,18 @@ public class Units{
/** Returns the nearest enemy tile in a range. */
public static Building findEnemyTile(Team team, float x, float y, float range, Boolf<Building> pred){
return findEnemyTile(team, x, y, range, false, pred);
}
/** Returns the nearest enemy tile in a range. */
public static Building findEnemyTile(Team team, float x, float y, float range, boolean checkUnder, Boolf<Building> pred){
if(team == Team.derelict) return null;
if(checkUnder){
Building target = indexer.findEnemyTile(team, x, y, range, build -> !build.block.underBullets && pred.get(build));
if(target != null) return target;
}
return indexer.findEnemyTile(team, x, y, range, pred);
}
@@ -223,7 +224,10 @@ public class Units{
}
});
return buildResult;
var result = buildResult;
buildResult = null;
return result;
}
/** Iterates through all buildings in a range. */
@@ -249,7 +253,7 @@ public class Units{
if(unit != null){
return unit;
}else{
return findEnemyTile(team, x, y, range, tilePred);
return findEnemyTile(team, x, y, range, true, tilePred);
}
}
@@ -261,7 +265,7 @@ public class Units{
if(unit != null){
return unit;
}else{
return findEnemyTile(team, x, y, range, tilePred);
return findEnemyTile(team, x, y, range, true, tilePred);
}
}
@@ -333,7 +337,7 @@ public class Units{
cdist = 0f;
nearby(team, x, y, range, e -> {
if(!predicate.get(e)) return;
if(!e.isValid() || !predicate.get(e)) return;
float dist = e.dst2(x, y);
if(result == null || dist < cdist){
@@ -351,7 +355,7 @@ public class Units{
cdist = 0f;
nearby(team, x, y, range, e -> {
if(!predicate.get(e)) return;
if(!e.isValid() || !predicate.get(e)) return;
float dist = sort.cost(e, x, y);
if(result == null || dist < cdist){
@@ -370,7 +374,7 @@ public class Units{
cdist = 0f;
nearby(team, x - range, y - range, range*2f, range*2f, e -> {
if(!predicate.get(e)) return;
if(!e.isValid() || !predicate.get(e)) return;
float dist = e.dst2(x, y);
if(result == null || dist < cdist){
@@ -428,6 +432,14 @@ public class Units{
Groups.unit.intersect(x, y, width, height, cons);
}
/**
* Iterates over all units in a rectangle.
* @return whether a unit was found.
* */
public static boolean nearbyCheck(float x, float y, float width, float height, Boolf<Unit> cons){
return Groups.unit.intersect(x, y, width, height, cons);
}
/** Iterates over all units in a rectangle. */
public static void nearby(Rect rect, Cons<Unit> cons){
nearby(rect.x, rect.y, rect.width, rect.height, cons);

View File

@@ -21,7 +21,7 @@ public class ShieldArcAbility extends Ability{
private static Vec2 paramPos = new Vec2();
private static final Cons<Bullet> shieldConsumer = b -> {
if(b.team != paramUnit.team && b.type.absorbable && paramField.data > 0 &&
!paramPos.within(b, paramField.radius + paramField.width/2f) &&
!b.within(paramPos, paramField.radius - paramField.width/2f) &&
Tmp.v1.set(b).add(b.vel).within(paramPos, paramField.radius + paramField.width/2f) &&
Angles.within(paramPos.angleTo(b), paramUnit.rotation + paramField.angleOffset, paramField.angle / 2f)){
@@ -32,7 +32,7 @@ public class ShieldArcAbility extends Ability{
if(paramField.data <= b.damage()){
paramField.data -= paramField.cooldown * paramField.regen;
//TODO fx
Fx.arcShieldBreak.at(paramPos.x, paramPos.y, 0, paramUnit.team.color, paramUnit);
}
paramField.data -= b.damage();
@@ -79,6 +79,7 @@ public class ShieldArcAbility extends Ability{
@Override
public void update(Unit unit){
if(data < max){
data += Time.delta * regen;
}
@@ -92,7 +93,8 @@ public class ShieldArcAbility extends Ability{
paramField = this;
paramPos.set(x, y).rotate(unit.rotation - 90f).add(unit);
Groups.bullet.intersect(unit.x - radius, unit.y - radius, radius * 2f, radius * 2f, shieldConsumer);
float reach = radius + width / 2f;
Groups.bullet.intersect(paramPos.x - reach, paramPos.y - reach, reach * 2f, reach * 2f, shieldConsumer);
}else{
widthScale = Mathf.lerpDelta(widthScale, 0f, 0.11f);
}
@@ -105,7 +107,6 @@ public class ShieldArcAbility extends Ability{
@Override
public void draw(Unit unit){
if(widthScale > 0.001f){
Draw.z(Layer.shields);

View File

@@ -27,6 +27,7 @@ public class SuppressionFieldAbility extends Ability{
public boolean active = true;
public Interp particleInterp = f -> Interp.circleOut.apply(Interp.slope.apply(f));
public Color particleColor = Pal.sap.cpy();
public Color effectColor = Pal.sapBullet;
public float applyParticleChance = 13f;
@@ -38,7 +39,7 @@ public class SuppressionFieldAbility extends Ability{
if((timer += Time.delta) >= reload){
Tmp.v1.set(x, y).rotate(unit.rotation - 90f).add(unit);
Damage.applySuppression(unit.team, Tmp.v1.x, Tmp.v1.y, range, reload, reload, applyParticleChance, unit);
Damage.applySuppression(unit.team, Tmp.v1.x, Tmp.v1.y, range, reload, reload, applyParticleChance, unit, effectColor);
timer = 0f;
}
}

View File

@@ -48,6 +48,8 @@ public class BulletType extends Content implements Cloneable{
public int pierceCap = -1;
/** Multiplier of damage decreased per health pierced. */
public float pierceDamageFactor = 0f;
/** If positive, limits non-splash damage dealt to a fraction of the target's maximum health. */
public float maxDamageFraction = -1f;
/** If false, this bullet isn't removed after pierceCap is exceeded. Expert usage only. */
public boolean removeAfterPierce = true;
/** For piercing lasers, setting this to true makes it get absorbed by plastanium walls. */
@@ -158,6 +160,8 @@ public class BulletType extends Content implements Cloneable{
/** Bullet type that is created when this bullet expires. */
public @Nullable BulletType fragBullet = null;
/** If true, frag bullets are delayed to the next frame. Fixes obscure bugs with piercing bullet types spawning frags immediately and screwing up the Damage temporary variables. */
public boolean delayFrags = false;
/** Degree spread range of fragmentation bullets. */
public float fragRandomSpread = 360f;
/** Uniform spread between each frag bullet in degrees. */
@@ -170,6 +174,8 @@ public class BulletType extends Content implements Cloneable{
public float fragVelocityMin = 0.2f, fragVelocityMax = 1f;
/** Random range of frag lifetime as a multiplier. */
public float fragLifeMin = 1f, fragLifeMax = 1f;
/** Random offset of frag bullets from the parent bullet. */
public float fragOffsetMin = 1f, fragOffsetMax = 7f;
/** Bullet that is created at a fixed interval. */
public @Nullable BulletType intervalBullet;
@@ -255,6 +261,8 @@ public class BulletType extends Content implements Cloneable{
public float suppressionDuration = 60f * 8f;
/** Chance of suppression effect occurring on block, scaled down by number of blocks. */
public float suppressionEffectChance = 50f;
/** Color used for the regenSuppressSeek effect. */
public Color suppressColor = Pal.sapBullet;
/** Color of lightning created by bullet. */
public Color lightningColor = Pal.surge;
@@ -380,10 +388,20 @@ public class BulletType extends Content implements Cloneable{
boolean wasDead = entity instanceof Unit u && u.dead;
if(entity instanceof Healthc h){
if(pierceArmor){
h.damagePierce(b.damage);
float damage = b.damage;
float shield = entity instanceof Shieldc s ? Math.max(s.shield(), 0f) : 0f;
if(maxDamageFraction > 0){
float cap = h.maxHealth() * maxDamageFraction + shield;
damage = Math.min(damage, cap);
//cap health to effective health for handlePierce to handle it properly
health = Math.min(health, cap);
}else{
h.damage(b.damage);
health += shield;
}
if(pierceArmor){
h.damagePierce(damage);
}else{
h.damage(damage);
}
}
@@ -432,7 +450,11 @@ public class BulletType extends Content implements Cloneable{
Effect.shake(hitShake, hitShake, b);
if(fragOnHit){
createFrags(b, x, y);
if(delayFrags && fragBullet != null && fragBullet.delayFrags){
Core.app.post(() -> createFrags(b, x, y));
}else{
createFrags(b, x, y);
}
}
createPuddles(b, x, y);
createIncend(b, x, y);
@@ -440,7 +462,7 @@ public class BulletType extends Content implements Cloneable{
if(suppressionRange > 0){
//bullets are pooled, require separate Vec2 instance
Damage.applySuppression(b.team, b.x, b.y, suppressionRange, suppressionDuration, 0f, suppressionEffectChance, new Vec2(b.x, b.y));
Damage.applySuppression(b.team, b.x, b.y, suppressionRange, suppressionDuration, 0f, suppressionEffectChance, new Vec2(b.x, b.y), suppressColor);
}
createSplashDamage(b, x, y);
@@ -489,7 +511,7 @@ public class BulletType extends Content implements Cloneable{
public void createFrags(Bullet b, float x, float y){
if(fragBullet != null && (fragOnAbsorb || !b.absorbed)){
for(int i = 0; i < fragBullets; i++){
float len = Mathf.random(1f, 7f);
float len = Mathf.random(fragOffsetMin, fragOffsetMax);
float a = b.rotation() + Mathf.range(fragRandomSpread / 2) + fragAngle + ((i - fragBullets/2) * fragSpread);
fragBullet.create(b, x + Angles.trnsx(a, len), y + Angles.trnsy(a, len), a, Mathf.random(fragVelocityMin, fragVelocityMax), Mathf.random(fragLifeMin, fragLifeMax));
}

View File

@@ -11,6 +11,8 @@ public class ContinuousBulletType extends BulletType{
public float damageInterval = 5f;
public boolean largeHit = false;
public boolean continuous = true;
/** If a building fired this, whether to multiply damage by its timescale. */
public boolean timescaleDamage = false;
{
removeAfterPierce = false;
@@ -79,7 +81,12 @@ public class ContinuousBulletType extends BulletType{
}
public void applyDamage(Bullet b){
float damage = b.damage;
if(timescaleDamage && b.owner instanceof Building build){
b.damage *= build.timeScale();
}
Damage.collideLine(b, b.team, hitEffect, b.x, b.y, b.rotation(), currentLength(b), largeHit, laserAbsorb, pierceCap);
b.damage = damage;
}
public float currentLength(Bullet b){

View File

@@ -38,6 +38,7 @@ public class LaserBulletType extends BulletType{
hittable = false;
absorbable = false;
removeAfterPierce = false;
delayFrags = true;
}
public LaserBulletType(){

View File

@@ -61,6 +61,7 @@ public class PointBulletType extends BulletType{
Building build = Vars.world.buildWorld(px, py);
if(build != null && build.team != b.team){
build.collision(b);
hit(b, px, py);
}
}

View File

@@ -7,10 +7,6 @@ import mindustry.entities.*;
import mindustry.gen.*;
public class RailBulletType extends BulletType{
//for calculating the furthest point
static float furthest = 0;
static boolean any = false;
public Effect pierceEffect = Fx.hitBulletSmall, pointEffect = Fx.none, lineEffect = Fx.none;
public Effect endEffect = Fx.none;
@@ -28,6 +24,7 @@ public class RailBulletType extends BulletType{
collides = false;
keepVelocity = false;
lifetime = 1f;
delayFrags = true;
}
@Override
@@ -46,8 +43,6 @@ public class RailBulletType extends BulletType{
if(b.damage > 0){
pierceEffect.at(x, y, b.rotation());
hitEffect.at(x, y);
}
//subtract health from each consecutive pierce
@@ -55,10 +50,8 @@ public class RailBulletType extends BulletType{
//bullet was stopped, decrease furthest distance
if(b.damage <= 0f){
furthest = Math.min(furthest, b.dst(x, y));
b.fdata = Math.min(b.fdata, b.dst(x, y));
}
any = true;
}
@Override
@@ -66,10 +59,8 @@ public class RailBulletType extends BulletType{
super.init(b);
b.fdata = length;
furthest = length;
any = false;
Damage.collideLine(b, b.team, b.type.hitEffect, b.x, b.y, b.rotation(), length, false, false);
float resultLen = furthest;
Damage.collideLine(b, b.team, b.type.hitEffect, b.x, b.y, b.rotation(), length, false, false, pierceCap);
float resultLen = b.fdata;
Vec2 nor = Tmp.v1.trns(b.rotation(), 1f).nor();
if(pointEffect != Fx.none){
@@ -78,6 +69,8 @@ public class RailBulletType extends BulletType{
}
}
boolean any = b.collided.size > 0;
if(!any && endEffect != Fx.none){
endEffect.at(b.x + nor.x * resultLen, b.y + nor.y * resultLen, b.rotation(), hitColor);
}

View File

@@ -61,8 +61,12 @@ abstract class BuilderComp implements Posc, Statusc, Teamc, Rotc{
while(it.hasNext()){
BuildPlan plan = it.next();
Tile tile = world.tile(plan.x, plan.y);
if(tile == null || (plan.breaking && tile.block() == Blocks.air) || (!plan.breaking && ((tile.build != null && tile.build.rotation == plan.rotation) || !plan.block.rotate) &&
(tile.block() == plan.block || (plan.block != null && (plan.block.isOverlay() && plan.block == tile.overlay() || (plan.block.isFloor() && plan.block == tile.floor())))))){
boolean isSameDerelict = (tile != null && tile.build != null && tile.block() == plan.block && tile.build.tileX() == plan.x && tile.build.tileY() == plan.y && tile.team() == Team.derelict);
if(tile == null || (plan.breaking && tile.block() == Blocks.air) || (!plan.breaking && ((tile.build != null && tile.build.rotation == plan.rotation && !isSameDerelict) || !plan.block.rotate) &&
//th block must be the same, but not derelict and the same
((tile.block() == plan.block && !isSameDerelict) ||
//same floor or overlay
(plan.block != null && (plan.block.isOverlay() && plan.block == tile.overlay() || (plan.block.isFloor() && plan.block == tile.floor())))))){
it.remove();
}
@@ -82,9 +86,9 @@ abstract class BuilderComp implements Posc, Statusc, Teamc, Rotc{
buildAlpha = Mathf.lerpDelta(buildAlpha, activelyBuilding() ? 1f : 0f, 0.15f);
}
//validate regardless of whether building is enabled.
validatePlans();
if(!updateBuilding || !canBuild()){
validatePlans();
return;
}
@@ -95,19 +99,18 @@ abstract class BuilderComp implements Posc, Statusc, Teamc, Rotc{
if(Float.isNaN(buildCounter) || Float.isInfinite(buildCounter)) buildCounter = 0f;
buildCounter = Math.min(buildCounter, 10f);
boolean instant = state.rules.instantBuild && state.rules.infiniteResources;
//random attempt to fix a freeze that only occurs on Android
int maxPerFrame = 10, count = 0;
int maxPerFrame = instant ? plans.size : 10, count = 0;
while(buildCounter >= 1 && count++ < maxPerFrame){
var core = core();
if((core == null && !infinite)) return;
while((buildCounter >= 1 || instant) && count++ < maxPerFrame && plans.size > 0){
buildCounter -= 1f;
validatePlans();
var core = core();
//nothing to build.
if(buildPlan() == null) return;
//find the next build plan
if(plans.size > 1){
int total = 0;
@@ -159,7 +162,7 @@ abstract class BuilderComp implements Posc, Statusc, Teamc, Rotc{
}
//if there is no core to build with or no build entity, stop building!
if((core == null && !infinite) || !(tile.build instanceof ConstructBuild entity)){
if(!(tile.build instanceof ConstructBuild entity)){
continue;
}

View File

@@ -90,6 +90,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
transient float healSuppressionTime = -1f;
transient float lastHealTime = -120f * 10f;
transient Color suppressColor = Pal.sapBullet;
private transient float lastDamageTime = -recentDamageTime;
private transient float timeScale = 1f, timeScaleDuration;
@@ -377,13 +378,9 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
float heat = 0f;
for(var edge : block.getEdges()){
Building build = nearby(edge.x, edge.y);
for(var build : proximity){
if(build != null && build.team == team && build instanceof HeatBlock heater){
//massive hack but I don't really care anymore
if(heater instanceof HeatConductorBuild cond){
cond.updateHeat();
}
boolean split = build.block instanceof HeatConductor cond && cond.splitHeat;
// non-routers must face us, routers must face away - next to a redirector, they're forced to face away due to cycles anyway
@@ -391,8 +388,13 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
//if there's a cycle, ignore its heat
if(!(build instanceof HeatConductorBuild hc && hc.cameFrom.contains(id()))){
//x/y coordinate difference across point of contact
float diff = (Math.min(Math.abs(build.x - x), Math.abs(build.y - y)) / tilesize);
//number of points that this block had contact with
int contactPoints = Math.min((int)(block.size/2f + build.block.size/2f - diff), Math.min(build.block.size, block.size));
//heat is distributed across building size
float add = heater.heat() / build.block.size;
float add = heater.heat() / build.block.size * contactPoints;
if(split){
//heat routers split heat across 3 surfaces
add /= 3f;
@@ -409,6 +411,11 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
cameFrom.addAll(hc.cameFrom);
}
}
//massive hack but I don't really care anymore
if(heater instanceof HeatConductorBuild cond){
cond.updateHeat();
}
}
}
}
@@ -432,7 +439,11 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
}
public void applyHealSuppression(float amount){
applyHealSuppression(amount, Pal.sapBullet);
}
public void applyHealSuppression(float amount, Color suppressColor){
healSuppressionTime = Math.max(healSuppressionTime, Time.time + amount);
this.suppressColor = suppressColor;
}
public boolean isHealSuppressed(){
@@ -1236,7 +1247,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
public boolean checkSuppression(){
if(isHealSuppressed()){
if(Mathf.chanceDelta(0.03)){
Fx.regenSuppressParticle.at(x + Mathf.range(block.size * tilesize/2f - 1f), y + Mathf.range(block.size * tilesize/2f - 1f));
Fx.regenSuppressParticle.at(x + Mathf.range(block.size * tilesize/2f - 1f), y + Mathf.range(block.size * tilesize/2f - 1f), suppressColor);
}
return true;
@@ -1333,6 +1344,15 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
return block.itemCapacity;
}
/** Called when a block begins (not finishes!) deconstruction. The building is still present at this point. */
public void onDeconstructed(@Nullable Unit builder){
//deposit non-incinerable liquid on ground
if(liquids != null && liquids.currentAmount() > 0 && (!liquids.current().incinerable || block.deconstructDropAllLiquid)){
float perCell = liquids.currentAmount() / (block.size * block.size) * 2f;
tile.getLinkedTiles(other -> Puddles.deposit(other, liquids.current(), perCell));
}
}
/** Called when the block is destroyed. The tile is still intact at this stage. */
public void onDestroyed(){
float explosiveness = block.baseExplosiveness;
@@ -1913,6 +1933,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
case controlled -> this instanceof ControlBlock c && c.isControlled() ? GlobalVars.ctrlPlayer : 0;
case payloadCount -> getPayload() != null ? 1 : 0;
case size -> block.size;
case cameraX, cameraY, cameraWidth, cameraHeight -> this instanceof ControlBlock c ? c.unit().sense(sensor) : 0;
default -> Float.NaN; //gets converted to null in logic
};
}

View File

@@ -63,7 +63,7 @@ abstract class CrawlComp implements Posc, Rotc, Hitboxc, Unitc{
@Override
public void update(){
if(moving()){
segmentRot = Angles.moveToward(segmentRot, rotation, type.segmentRotSpeed);
segmentRot = Angles.moveToward(segmentRot, rotation, type.segmentRotSpeed * Time.delta);
int radius = (int)Math.max(0, hitSize / tilesize * 2f);
int count = 0, solids = 0, deeps = 0;
@@ -106,10 +106,10 @@ abstract class CrawlComp implements Posc, Rotc, Hitboxc, Unitc{
lastDeepFloor = null;
}
lastCrawlSlowdown = Mathf.lerp(1f, type.crawlSlowdown, Mathf.clamp((float)solids / count / type.crawlSlowdownFrac));
lastCrawlSlowdown = Mathf.lerpDelta(1f, type.crawlSlowdown, Mathf.clamp((float)solids / count / type.crawlSlowdownFrac));
}
segmentRot = Angles.clampRange(segmentRot, rotation, type.segmentMaxRot);
crawlTime += vel.len();
crawlTime += vel.len() * Time.delta;
}
}

View File

@@ -66,4 +66,9 @@ abstract class EntityComp{
void afterRead(){
}
/** Called after *all* entities are read. */
void afterAllRead(){
}
}

View File

@@ -183,6 +183,9 @@ abstract class PlayerComp implements UnitController, Entityc, Syncc, Timerc, Dra
if(!unit.isNull()){
clearUnit();
}
lastReadUnit = Nulls.unit;
justSwitchTo = justSwitchFrom = null;
}
public void team(Team team){

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