Compare commits

..

120 Commits
v152 ... v153

Author SHA1 Message Date
SITUVNgcd
5ea0ebbf2a Translate new strings (#11323)
Patch guide & Fields view
2025-10-30 13:24:16 -04:00
Github Actions
19ee3baa18 Automatic bundle update 2025-10-30 16:32:12 +00:00
summoner
1e80f9e867 Translation: Update bundle_hu.properties (#11253)
* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Translate new string
Fix translation coherence with the new string

* Translation: Update bundle_hu.properties

Fix long sentence -> add \n linebreak

* Translation: Update bundle_hu.properties

Translate new string

* Translation: Update bundle_hu.properties

Follow the changes of the english bundle.properties

* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Translate new strings
2025-10-30 12:31:05 -04:00
SITUVNgcd
bd492bfda4 Update Vietnamese translation (#11255)
* Update Vietnamese translation

72524a7289

* Update Vietnamese translation

94fc6482e2

* Translate new string

17663aee3f

* Remove translation

ea72441958

* Translate new strings

Content patches a9a0615410

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2025-10-30 12:30:58 -04:00
ulwepo
09b5a0bb3b Update servers_v7.json (#11257)
Hello, this is a great sandbox server made by Kei2.
2025-10-30 12:30:33 -04:00
redloong
b6b7403a52 优化并完善中文翻译/Optimize and improve Chinese translation (#11267)
* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Delete core/assets/bundles/bundle_zh_CN.properties

* Add files via upload

* Update contributors

* Add files via upload

* Add files via upload

* Add files via upload

* Update bundle_zh_CN.properties

* Add files via upload

* “挤压伤害”变为“碾压伤害”

* “庇护”变“保护”

* “被超速的倍率”变为“超速效果倍率”

* 翻译更改

“返回控制方地址或领队,其他情况返回自身”变为“返回控制方的地址或其领队,其他情况返回自身”
修复原仓库“单位命令单位命令:”为“单位命令:”
上一个更改:删除所有”(正负表方向)“

* 同步https://github.com/Anuken/Mindustry/pull/11243

若不希望这样请联系我

* 中文翻译更改

更新`lenum.emod`的翻译
`反射概率`变为`弹射概率`
`解除武器`变为`缴械武器`
`fetch.team`和`explosion.team`的`阵营`变为`队伍`

* 翻译更改

`缴械武器`变为`缴械`
`弹射概率`变为`反弹概率`

* 尝试修复问题

* `地面`变为`地板`

* 中文翻译更改

添加`sectors.attempts =尝试次数:`
`Sunken Pier`变为`沉没码头`
2025-10-30 12:30:16 -04:00
Anuken
ce63479d2d Merge remote-tracking branch 'origin/master' 2025-10-30 12:20:01 -04:00
Anuken
30a5761182 Closes Anuken/Mindustry-Suggestions/issues/5843 2025-10-30 12:19:55 -04:00
Kevin Vilyan
5045f38054 Update Bundle_id_ID.properties (#11321)
* Add files via upload

* Add files via upload
2025-10-30 11:48:50 -04:00
Anuken
a7a0450fa2 Merge remote-tracking branch 'origin/master' 2025-10-30 11:46:31 -04:00
Anuken
7ecebef57e Better unit assembler patcher support 2025-10-30 11:46:25 -04:00
EggleEgg
5ae6ffae8e consider efficiency in reactor heat (#11322)
* whatever

* final touches maybe

* well forget that, I m stupid

* no
2025-10-30 00:43:15 -04:00
Anuken
6f1287e11f 20 heat is a bit much 2025-10-29 14:13:09 -04:00
Anuken
1c0458041e Merge remote-tracking branch 'origin/master' 2025-10-29 10:33:55 -04:00
Anuken
04bc7b1f22 Fixed #11320 2025-10-29 10:33:49 -04:00
Github Actions
83d79ce348 Automatic bundle update 2025-10-29 02:32:50 +00:00
HungGaming
b3b8e557af Update servers_v7.json (#11311) 2025-10-28 22:31:41 -04:00
SeuEarth
a4500b29f9 Update bundle_ko.properties (#11258)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Sorts

* Update bundle_ko.properties

Updated various Korean translations for editor and block names.

* another small fix

* Update bundle_ko.properties

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2025-10-28 22:31:31 -04:00
ursteiner
0658da9290 Update bundle_de.properties (#11305)
* Update bundle_de.properties

Noticed some untranslated texts while playing the tutorial.

* removed unnecessary spaces
2025-10-28 22:30:44 -04:00
GRaf-NEET
dd0a4d1c47 Translate content patch messages to Russian (#11318)
Co-authored-by: Anuken <arnukren@gmail.com>
2025-10-28 22:30:26 -04:00
EggleEgg
99df6527f2 imagine mixtech buff lmfao (#11319) 2025-10-28 22:29:26 -04:00
Github Actions
d6806e546d Automatic bundle update 2025-10-28 23:52:05 +00:00
Anuken
ecd10623fe Merge remote-tracking branch 'origin/master' 2025-10-28 19:50:57 -04:00
Anuken
7d5478ec1d Link to patch guide 2025-10-28 19:50:51 -04:00
Github Actions
1fe0a14183 Automatic bundle update 2025-10-28 23:34:32 +00:00
Anuken
3d4b432540 Button for viewing content fields on wiki + More tests and fixes 2025-10-28 19:33:04 -04:00
Anuken
c06c76d296 Moved more packing logic to asset thread to prevent ANRs 2025-10-27 21:01:10 -04:00
Anuken
a226a74578 Prohibit arbitrary class resolution in content patches 2025-10-26 16:48:51 -04:00
Anuken
ed36204bed Core database in multiplayer on mobile in pause menu 2025-10-26 15:43:01 -04:00
Anuken
8f6afcecfb Merge remote-tracking branch 'origin/master' 2025-10-26 14:04:54 -04:00
Anuken
c3309bf3a9 Logic insert line button (from foo's client) 2025-10-26 14:04:49 -04:00
Anuken
686df5046a Update README.md 2025-10-26 13:55:13 -04:00
Anuken
b34ceae965 Fixed tests 2025-10-26 10:47:36 -04:00
Anuken
50e2b828f7 More tests, fixed patcher error handler 2025-10-25 22:24:32 -04:00
Anuken
09783898aa More patcher tests + unit type reassign support 2025-10-25 16:39:07 -04:00
Anuken
4812f89161 Include patches in crash logs 2025-10-25 12:50:44 -04:00
Anuken
53c534eaa8 Better unknown field warnings for patcher 2025-10-25 11:39:58 -04:00
Anuken
472cacbb3b More disallowed patcher fields / Continuous liquid turret minimum ammo amount firing threshold 2025-10-25 10:34:43 -04:00
Anuken
a305ac31e6 More patcher tests and fixes 2025-10-24 20:30:08 -04:00
Anuken
6ff28b5d31 0 2025-10-24 11:56:36 -04:00
Anuken
b472fed36d More patcher tests and fixes 2025-10-24 11:51:39 -04:00
Anuken
93b3f47d84 Fixed map re-import not working 2025-10-24 02:11:36 -04:00
Anuken
85f5557270 More test fixes 2025-10-23 22:50:58 -04:00
Anuken
977f320122 More test fixes 2025-10-23 22:37:15 -04:00
Anuken
bed851afe9 Additional unit tests for the patcher + many bugfixes 2025-10-23 22:31:06 -04:00
Anuken
effbdecbd5 Block consumer patch support 2025-10-22 20:04:00 -04:00
Anuken
f3cac6a6bc Fixed #11309 2025-10-22 08:58:23 -04:00
Anuken
ddaf9e24ca Copy button for content patches 2025-10-22 08:56:41 -04:00
Anuken
e7966fc6fd More minor patcher issue fixes 2025-10-22 07:19:57 -04:00
Anuken
386b0929d8 Merge remote-tracking branch 'origin/master' 2025-10-22 07:01:37 -04:00
Anuken
45db096f0f Patcher fixes 2025-10-22 07:01:26 -04:00
Github Actions
a9a0615410 Automatic bundle update 2025-10-22 10:48:16 +00:00
Anuken
49bbd0b593 Fixed #11306 2025-10-22 06:47:01 -04:00
Anuken
9cc3105518 Content patch import dialog & server support 2025-10-22 06:42:01 -04:00
Anuken
9f7817f70e Fixed #11304 2025-10-21 14:22:37 -04:00
Anuken
b78cd5bbd9 Content patcher progress 2025-10-21 11:38:02 -04:00
Anuken
8898cbe6e4 Map submission updated / WIP content patcher experiments 2025-10-20 22:47:35 -04:00
Anuken
34d994f384 Merge remote-tracking branch 'origin/master' 2025-10-20 00:42:23 -04:00
Anuken
6b56566ae1 Reset game stats upon map save in editor 2025-10-20 00:42:18 -04:00
Волшебник
ab0c534946 Update servers_v7.json (#11296)
New host
2025-10-19 10:45:40 -04:00
vladtepesch
3c7de8d1ca Fix typo in surge-crucible and correct large-cliff-crusher descriptions (#11294)
ais -> aus
translation of large cliff said it optionaly needs wolfram (instead of graphite)
2025-10-19 10:44:14 -04:00
Anuken
16a01cbef3 Merge remote-tracking branch 'origin/master' 2025-10-18 18:04:34 -04:00
Anuken
fb37ecd1a8 Fixed overlay floor placement checks in in-game editor 2025-10-18 18:04:25 -04:00
WMF
c2c1271a4c use BoostAI for enterPayloadCommand & better onlyDepositCore handling (#11297) 2025-10-18 10:31:47 -04:00
abcxyzDustry
c2108a3ce5 old dead addresses update new addresses for abcxyz (#11293)
Replaced one server address and added three new ones.
2025-10-16 22:21:32 -04:00
Github Actions
22f6244788 Automatic bundle update 2025-10-15 23:08:31 +00:00
LegalPopcorn
d4cf0cf27a Update bundle_cs.properties (#11287)
Corrected typos, translated few things that were already translated elsewhere.
2025-10-16 08:07:17 +09:00
abcxyzDustry
5cd46ebce6 update ip for abcyxz (#11275)
i want update new ip address for abcxyz
2025-10-15 07:16:12 +09:00
Nazareno Bucciarelli
755c0286f4 [TRANSLATION] Translate a few sentences to Spanish (#11276)
* translate some sentences to spanish

* make improvements
2025-10-15 07:16:01 +09:00
Anuken
527e38c2b5 Fixed #11286 2025-10-14 11:03:35 +09:00
Anuken
46ee282fda Redundant field cleanup 2025-10-13 23:21:48 +09:00
Anuken
9edd31fad3 Map objective curve & unnecessary rebuild fix 2025-10-13 22:53:16 +09:00
Anuken
30da4c0f47 Fixed Android save export 'corruption'
This was caused by downright atrocious default Android API behavior. Read https://issuetracker.google.com/issues/180526528?pli=1
2025-10-13 22:25:12 +09:00
Anuken
bf61e4d6c2 Closes Anuken/Mindustry-Suggestions/issues/5891 2025-10-13 20:50:17 +09:00
Anuken
0b4c4c4049 Fixed #11281 2025-10-13 20:29:52 +09:00
Anuken
a35f7605f7 Fixed #11284 / Cap item turret ammo on save read 2025-10-13 20:27:47 +09:00
Github Actions
ea72441958 Automatic bundle update 2025-10-12 08:15:50 +00:00
Anuken
872939454f Fixed #11278 / FPS limit changes on iOS 2025-10-12 17:13:00 +09:00
Anuken
197d8c4060 Updated min ios version 2025-10-11 22:45:04 +09:00
Anuken
703e0ecd75 arc 2025-10-09 22:45:34 +09:00
Github Actions
17663aee3f Automatic bundle update 2025-10-09 13:43:46 +00:00
Anuken
2daf41c7d7 iOS uncap framerate option 2025-10-09 22:40:52 +09:00
Anuken
a0cf5b7265 Intel GPU/OpenGL 2.x planet normals fix 2025-10-08 08:45:40 +09:00
Anuken
576b7f6b6b Fixed #11272 2025-10-08 08:24:14 +09:00
Anuken
fd0d864cb8 Fixed icosphere generator 2025-10-08 08:14:57 +09:00
Anuken
65c7acb31c Fixed #11268 2025-10-06 21:25:10 +09:00
RGBaaa
c99758fe5a update LExecutor (#11271) 2025-10-06 20:53:25 +09:00
Anuken
1033b5f374 Fixed #11269 2025-10-06 20:49:07 +09:00
Github Actions
94fc6482e2 Automatic bundle update 2025-10-05 00:04:07 +00:00
Anuken
76c3ceb41d Closes Anuken/Mindustry-Suggestions/issues/5884 2025-10-05 09:03:01 +09:00
Anuken
1985d67f7a Closes Anuken/Mindustry-Suggestions/issues/5877 2025-10-03 18:41:12 +09:00
Anuken
155f0d50f7 Re-triggering build 2025-10-03 11:48:37 +09:00
Anuken
74b8c6d184 Possible crash fix 2025-10-03 08:31:43 +09:00
Anuken
a1a880a208 Fixed #11259 2025-10-03 06:33:23 +09:00
Anuken
b31df41018 Fixed rune font spacing & invalid unicode conversion method 2025-10-03 05:59:08 +09:00
Anuken
53ef8d5ea0 Fixed #11256 2025-10-02 11:19:58 +09:00
Anuken
66124b68b0 Quasar + minor Pulsar buff 2025-10-02 10:59:22 +09:00
Anuken
aac086066e Fixed menu margins again 2025-09-30 10:28:38 -04:00
Anuken
3e854edf4b Merge branch 'master' of https://github.com/Anuken/Mindustry 2025-09-30 10:19:51 -04:00
Anuken
6712f23fe4 Switched to MetalANGLE for iOS 2025-09-30 10:18:58 -04:00
Anuken
843a215df5 Screen border fix in menu 2025-09-29 19:50:05 -04:00
Anuken
58909a06a5 Fixed #11254 2025-09-29 12:48:26 -04:00
Anuken
acaed63c52 Merge remote-tracking branch 'origin/master' 2025-09-29 08:51:08 -04:00
Anuken
4d6334a941 A few more submission updates 2025-09-29 08:51:03 -04:00
Github Actions
72524a7289 Automatic bundle update 2025-09-29 12:49:09 +00:00
Anuken
081621936e Merge remote-tracking branch 'origin/master' 2025-09-29 08:48:07 -04:00
Anuken
32b9ff9f5d Added difficulty modifier for clearing sectors upon loss 2025-09-29 08:47:59 -04:00
Github Actions
c6f9bc3b6f Automatic bundle update 2025-09-29 12:42:28 +00:00
summoner
8602fd57f6 Translation: Update bundle_hu.properties (#11189)
* Translation: Update bundle_hu.properties

Follow the changes of the english bundle
Translate new string

* Update bundle_hu.properties

Translate new strings.

Follow the changes of the english bundle

* Update bundle_hu.properties

Fixing status effects translations

* Translation: Update bundle_hu.properties

Follow the changes of the english bundle

* Transltion: Update bundle_hu.properties

Translate new strings
2025-09-29 08:41:27 -04:00
SITUVNgcd
24fd6950c1 Update Vietnamese translation (#11195)
* Update Vietnamese translation

stat.frequency fb93735352

* Update Vietnamese translation

8884aec248
2025-09-28 21:33:06 -04:00
Anuken
72ce49a753 More tests for saves 2025-09-28 16:41:36 -04:00
Anuken
dd8db10e72 Minor tweaks to make Android inset area look less awful 2025-09-28 16:02:49 -04:00
Anuken
6c0884a8d9 More tests and sector fixes 2025-09-28 13:30:53 -04:00
Anuken
adc1316444 Fixed some more broken submissions 2025-09-28 12:30:57 -04:00
Anuken
bfd742e89b Turret construct preview fix 2025-09-28 10:49:56 -04:00
Anuken
d6e408267e Fixed 116 infinite resources / Fixed #11251 2025-09-28 10:42:07 -04:00
Anuken
dbe67b056f Fixed derelict plastanium conveyor repairs 2025-09-27 20:25:57 -04:00
Anuken
6d2c0c3863 Turret serverside rotation fix 2025-09-27 09:22:06 -04:00
Anuken
f8d86ac840 Merge remote-tracking branch 'origin/master' 2025-09-27 01:45:33 -04:00
Anuken
20a96a9c5d Android inset support, API level upgrade & editor inset fix 2025-09-27 01:45:25 -04:00
162 changed files with 2922 additions and 681 deletions

View File

@@ -11,7 +11,9 @@ _[Javadoc](https://mindustrygame.github.io/docs/)_
## Contributing ## Contributing
See [CONTRIBUTING](CONTRIBUTING.md). See [CONTRIBUTING](CONTRIBUTING.md) for general code style and PR guidelines.
If you are a first-time contributor looking for features to implement or bugs to fix, see the issues tagged with 'candidate' [in the Mindustry-Suggestions repostiory](https://github.com/Anuken/Mindustry-Suggestions/issues?q=is%3Aissue%20state%3Aopen%20label%3Acandidate).
## Building ## Building

View File

@@ -30,8 +30,8 @@ task deploy(type: Copy){
android{ android{
namespace = "io.anuke.mindustry" namespace = "io.anuke.mindustry"
buildToolsVersion = '34.0.0' buildToolsVersion = '36.0.0'
compileSdk = 34 compileSdk = 36
sourceSets{ sourceSets{
main{ main{
manifest.srcFile 'AndroidManifest.xml' manifest.srcFile 'AndroidManifest.xml'
@@ -57,7 +57,7 @@ android{
applicationId "io.anuke.mindustry" applicationId "io.anuke.mindustry"
minSdkVersion 14 minSdkVersion 14
targetSdkVersion 34 targetSdkVersion 36
versionName versionNameResult versionName versionNameResult
versionCode = vcode versionCode = vcode

View File

@@ -160,7 +160,7 @@ public class AndroidLauncher extends AndroidApplication{
@Override @Override
public OutputStream write(boolean append){ public OutputStream write(boolean append){
try{ try{
return getContentResolver().openOutputStream(uri); return getContentResolver().openOutputStream(uri, "rwt");
}catch(IOException e){ }catch(IOException e){
throw new ArcRuntimeException(e); throw new ArcRuntimeException(e);
} }

View File

@@ -223,7 +223,7 @@ configure(project(":annotations")){
} }
//compile with java 8 compatibility for everything except the annotation project //compile with java 8 compatibility for everything except the annotation project
configure(subprojects - project(":annotations")){ configure(subprojects - project(":annotations") - project(":tests")){
tasks.withType(JavaCompile){ tasks.withType(JavaCompile){
options.compilerArgs.addAll(['--release', '8']) options.compilerArgs.addAll(['--release', '8'])
} }
@@ -400,6 +400,12 @@ project(":tests"){
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.7.1" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.7.1"
} }
tasks.withType(JavaCompile){
targetCompatibility = JavaVersion.VERSION_17
sourceCompatibility = JavaVersion.VERSION_17
options.compilerArgs.addAll(['--release', '17'])
}
test{ test{
//fork every test so mods don't interact with each other //fork every test so mods don't interact with each other
forkEvery = 1 forkEvery = 1

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@@ -101,6 +101,7 @@ coreattack = < Core is under attack! >
nearpoint = [[ [scarlet]LEAVE DROP POINT IMMEDIATELY[] ]\nannihilation imminent nearpoint = [[ [scarlet]LEAVE DROP POINT IMMEDIATELY[] ]\nannihilation imminent
database = Core Database database = Core Database
database.button = Database database.button = Database
viewfields = View Content Fields
savegame = Save Game savegame = Save Game
loadgame = Load Game loadgame = Load Game
joingame = Join Game joingame = Join Game
@@ -470,6 +471,14 @@ editor.rules = Rules
editor.generation = Generation editor.generation = Generation
editor.objectives = Objectives editor.objectives = Objectives
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch: Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -794,6 +803,7 @@ campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeat
sectorlist = Sectors sectorlist = Sectors
sectorlist.attacked = {0} under attack sectorlist.attacked = {0} under attack
sectors.unexplored = [lightgray]Unexplored sectors.unexplored = [lightgray]Unexplored
sectors.attempts = Attempts:
sectors.resources = Resources: sectors.resources = Resources:
sectors.production = Production: sectors.production = Production:
sectors.export = Export: sectors.export = Export:
@@ -1450,6 +1460,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Min Squad Size rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight rules.rtsminattackweight = Min Attack Weight

View File

@@ -101,6 +101,7 @@ coreattack = < Ядро знаходзіцца пад атакай! >
nearpoint = [[ [scarlet]ПАКІНЬЦЕ КРОПКУ ВЫСАДКІ НЕАДКЛАДНА[] ]\nанігіляцыя непазбежна nearpoint = [[ [scarlet]ПАКІНЬЦЕ КРОПКУ ВЫСАДКІ НЕАДКЛАДНА[] ]\nанігіляцыя непазбежна
database = База дадзеных ядра database = База дадзеных ядра
database.button = База Дадзеных database.button = База Дадзеных
viewfields = View Content Fields
savegame = Захаваць Гульню savegame = Захаваць Гульню
loadgame = Спампаваць Гульню loadgame = Спампаваць Гульню
joingame = Сеткавая Гульня joingame = Сеткавая Гульня
@@ -467,6 +468,14 @@ editor.rules = Правілы:
editor.generation = Генерацыя: editor.generation = Генерацыя:
editor.objectives = Мэты editor.objectives = Мэты
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Віншую.\n\nВорагі ў {0} былі пер
sectorlist = Сектары sectorlist = Сектары
sectorlist.attacked = {0} пад атакай sectorlist.attacked = {0} пад атакай
sectors.unexplored = [lightgray]Не Разведана sectors.unexplored = [lightgray]Не Разведана
sectors.attempts = Attempts:
sectors.resources = Рэсурсы: sectors.resources = Рэсурсы:
sectors.production = Вытворчасць: sectors.production = Вытворчасць:
sectors.export = Экспартавана: sectors.export = Экспартавана:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Мінімальны Размер Атраду rules.rtsminsquadsize = Мінімальны Размер Атраду
rules.rtsmaxsquadsize = Максімальны Размер Атраду rules.rtsmaxsquadsize = Максімальны Размер Атраду
rules.rtsminattackweight = Мінімальная Вага Атакі rules.rtsminattackweight = Мінімальная Вага Атакі

View File

@@ -101,6 +101,7 @@ coreattack = < Ядрото е нападнато! >
nearpoint = [[ [scarlet]НАПУСНЕТЕ ОПАСНАТА ЗОНА МОМЕНТАЛНО[] ]\nредстои унижощение nearpoint = [[ [scarlet]НАПУСНЕТЕ ОПАСНАТА ЗОНА МОМЕНТАЛНО[] ]\nредстои унижощение
database = Енциклопедия database = Енциклопедия
database.button = База данни database.button = База данни
viewfields = View Content Fields
savegame = Запази Игра savegame = Запази Игра
loadgame = Зареди Игра loadgame = Зареди Игра
joingame = Присъедини се в Игра joingame = Присъедини се в Игра
@@ -467,6 +468,14 @@ editor.rules = Правила:
editor.generation = Генериране: editor.generation = Генериране:
editor.objectives = Задачи editor.objectives = Задачи
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Поздравления.\n\nВрагът на {0}
sectorlist = Сектори sectorlist = Сектори
sectorlist.attacked = {0} е в опасност sectorlist.attacked = {0} е в опасност
sectors.unexplored = [lightgray]Неизследвано sectors.unexplored = [lightgray]Неизследвано
sectors.attempts = Attempts:
sectors.resources = Ресурси: sectors.resources = Ресурси:
sectors.production = Производство: sectors.production = Производство:
sectors.export = Изнеси: sectors.export = Изнеси:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Степен на ИИ строителя
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Мин. размер на взводовете rules.rtsminsquadsize = Мин. размер на взводовете
rules.rtsmaxsquadsize = Макс. размер на взводовете rules.rtsmaxsquadsize = Макс. размер на взводовете
rules.rtsminattackweight = Мин. атакуваща тежест rules.rtsminattackweight = Мин. атакуваща тежест

View File

@@ -101,6 +101,7 @@ coreattack = < Estan atacant el nucli! >
nearpoint = [[ [scarlet]ABANDONEU EL PUNT DATERRATGE IMMEDIATAMENT[] ]\nAniquilació imminent nearpoint = [[ [scarlet]ABANDONEU EL PUNT DATERRATGE IMMEDIATAMENT[] ]\nAniquilació imminent
database = Base de dades del nucli database = Base de dades del nucli
database.button = Base de dades database.button = Base de dades
viewfields = View Content Fields
savegame = Desa la partida savegame = Desa la partida
loadgame = Carrega una partida loadgame = Carrega una partida
joingame = Uneix-me a una partida joingame = Uneix-me a una partida
@@ -467,6 +468,14 @@ editor.rules = Regles
editor.generation = Generació editor.generation = Generació
editor.objectives = Objectius editor.objectives = Objectius
editor.locales = Paquet de traduccions editor.locales = Paquet de traduccions
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = Processadors integrats editor.worldprocessors = Processadors integrats
editor.worldprocessors.editname = Edita el nom editor.worldprocessors.editname = Edita el nom
editor.worldprocessors.none = [lightgray]No shan trobat blocs de processadors integrats!\nAfegiu-ne un a leditor de mapes o feu servir el botó \ue813 de sota. editor.worldprocessors.none = [lightgray]No shan trobat blocs de processadors integrats!\nAfegiu-ne un a leditor de mapes o feu servir el botó \ue813 de sota.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Felicitats.\n\nSha derrotat lenemic de {0}.\n[
sectorlist = Sectors sectorlist = Sectors
sectorlist.attacked = Ataquen {0}. sectorlist.attacked = Ataquen {0}.
sectors.unexplored = [lightgray]Inexplorat sectors.unexplored = [lightgray]Inexplorat
sectors.attempts = Attempts:
sectors.resources = Recursos: sectors.resources = Recursos:
sectors.production = Producció: sectors.production = Producció:
sectors.export = Exporta: sectors.export = Exporta:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Nivell de construcció de la IA
rules.rtsai = IA avançada (RTS AI) rules.rtsai = IA avançada (RTS AI)
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Mida mínima de lesquadró rules.rtsminsquadsize = Mida mínima de lesquadró
rules.rtsmaxsquadsize = Mida màxima de lesquadró rules.rtsmaxsquadsize = Mida màxima de lesquadró
rules.rtsminattackweight = Pes datac mínim rules.rtsminattackweight = Pes datac mínim

View File

@@ -13,7 +13,7 @@ link.google-play.description = Obchod Google Play
link.f-droid.description = F-Droid link.f-droid.description = F-Droid
link.wiki.description = Oficiální Wiki Mindustry link.wiki.description = Oficiální Wiki Mindustry
link.suggestions.description = Doporučit nové funkce link.suggestions.description = Doporučit nové funkce
link.bug.description = Našel jsi nějaký? Nahlaš ho zde link.bug.description = Našel jsi nějaký? Nahlas ho zde
linkopen = Tento server vám poslal odkaz. Jste si jist s jeho otevřením?\n\n[sky]{0} linkopen = Tento server vám poslal odkaz. Jste si jist s jeho otevřením?\n\n[sky]{0}
linkfail = Nepodařilo se otevřít odkaz!\nAdresa URL byla zkopírována do schránky. linkfail = Nepodařilo se otevřít odkaz!\nAdresa URL byla zkopírována do schránky.
screenshot = Snímek obrazovky uložen {0} screenshot = Snímek obrazovky uložen {0}
@@ -42,16 +42,16 @@ be.noupdates = Aktualizace nebyla nalezena.
be.check = Zkontrolovat aktualizace be.check = Zkontrolovat aktualizace
mods.browser = Prohlížeč modifikací mods.browser = Prohlížeč modifikací
mods.browser.selected = Vybraný mod mods.browser.selected = Vybraná modifikace
mods.browser.add = Stáhnout mods.browser.add = Stáhnout
mods.browser.reinstall = Reinstalovat mods.browser.reinstall = einstalovat
mods.browser.view-releases = Zobrazit Vydání mods.browser.view-releases = Zobrazit Vydání
mods.browser.noreleases = [scarlet]Žádná Vydání Nenalezena\n[accent]Nenalezena žádná vydání pro tento mod. Zjistěte, jestli repozitář modu byl již veřejně vydán. mods.browser.noreleases = [scarlet]Žádná Vydání Nenalezena\n[accent]Nenalezena žádná vydání pro tuto modifikaci. Zjistěte, jestli repozitář modu byl již veřejně vydán.
mods.browser.latest = <Poslední> mods.browser.latest = <Poslední>
mods.browser.releases = Vydání mods.browser.releases = Vydání
mods.github.open = Úložiště mods.github.open = Úložiště
mods.github.open-release = Stranka Vydání mods.github.open-release = Stránka Vydání
mods.browser.sortdate = Řadit podle nedavných mods.browser.sortdate = Řadit podle nedávných
mods.browser.sortstars = Řadit podle hvězd mods.browser.sortstars = Řadit podle hvězd
schematic = Šablona schematic = Šablona
@@ -89,7 +89,7 @@ stats.unitsCreated = Jednotek Vytvořeno
stats.enemiesDestroyed = Nepřátel Zničeno stats.enemiesDestroyed = Nepřátel Zničeno
stats.built = Budov Postaveno stats.built = Budov Postaveno
stats.destroyed = Budov Zničeno stats.destroyed = Budov Zničeno
stats.deconstructed = Budov Zdekonstruovano stats.deconstructed = Budov Rozebráno
stats.playtime = Doba Hraní stats.playtime = Doba Hraní
globalitems = [accent]Celkové položky[] globalitems = [accent]Celkové položky[]
@@ -101,6 +101,7 @@ coreattack = < Jádro je pod útokem! >
nearpoint = [ [scarlet]IHNED OPUSŤTE PROSTOR VÝSADKU[] ]\nNebezpečí okamžité smrti! nearpoint = [ [scarlet]IHNED OPUSŤTE PROSTOR VÝSADKU[] ]\nNebezpečí okamžité smrti!
database = Katalog objektů database = Katalog objektů
database.button = Databáze database.button = Databáze
viewfields = View Content Fields
savegame = Uložit hru savegame = Uložit hru
loadgame = Načíst hru loadgame = Načíst hru
joingame = Připojit se ke hře joingame = Připojit se ke hře
@@ -121,7 +122,7 @@ continue = Pokračovat
maps.none = [lightgray]Mapy nebyly nalezeny.[] maps.none = [lightgray]Mapy nebyly nalezeny.[]
invalid = Neplatné invalid = Neplatné
pickcolor = Vyber barvu pickcolor = Vyber barvu
color = Color color = Barva
preparingconfig = Připravuji konfiguraci preparingconfig = Připravuji konfiguraci
preparingcontent = Připravuji obsah hry preparingcontent = Připravuji obsah hry
uploadingcontent = Nahrávám obsah hry uploadingcontent = Nahrávám obsah hry
@@ -130,9 +131,9 @@ committingchanges = Provádím změny
done = Hotovo done = Hotovo
feature.unsupported = Tvoje zařízení nepodporuje tuto vlastnost hry. feature.unsupported = Tvoje zařízení nepodporuje tuto vlastnost hry.
mods.initfailed = [red]⚠[] Poslední Mindustry instaci se nepodařilo inicializovat. Nejpravděpodobněji to bylo způsobeno špatnou funkcí modifikací.\n\nAby se zabránilo neustálému padání hry, [red]všechny modifikace se vyply.[] mods.initfailed = [red]⚠[] Poslední Mindustry instanci se nepodařilo inicializovat. Nejpravděpodobněji to bylo způsobeno špatnou funkcí modifikací.\n\nAby se zabránilo neustálému padání hry, [red]všechny modifikace jsou vypnuté.[]
mods = Mody mods = Modifikace
mods.name = Mod: mods.name = Modifikace:
mods.none = [lightgray]Modifikace nebyly nalezeny.[] mods.none = [lightgray]Modifikace nebyly nalezeny.[]
mods.guide = Průvodce modifikacemi mods.guide = Průvodce modifikacemi
mods.report = Nahlásit závadu mods.report = Nahlásit závadu
@@ -144,9 +145,9 @@ mod.installed = [[Instalováno]
mod.display = [gray]Modifikace:[][orange] {0}[] mod.display = [gray]Modifikace:[][orange] {0}[]
mod.enabled = [lightgray]Povoleno[] mod.enabled = [lightgray]Povoleno[]
mod.disabled = [scarlet]Zakázáno[] mod.disabled = [scarlet]Zakázáno[]
mod.multiplayer.compatible = [gray]Hra více hráčů komapitibilní mod.multiplayer.compatible = [gray]Hra více hráčů kompatibilní
mod.disable = Zakázat mod.disable = Zakázat
mod.version = Version: mod.version = Verze:
mod.content = Obsah: mod.content = Obsah:
mod.delete.error = Nebylo možnost smazat modifikaci. Soubor by mohl být používán. mod.delete.error = Nebylo možnost smazat modifikaci. Soubor by mohl být používán.
@@ -158,13 +159,13 @@ mod.erroredcontent = [scarlet]V obsahu jsou chyby[]
mod.circulardependencies = [red]Kruhové závislosti mod.circulardependencies = [red]Kruhové závislosti
mod.incompletedependencies = [red]Nedokončené závislosti mod.incompletedependencies = [red]Nedokončené závislosti
mod.requiresversion.details = Vyžaduje verzi hry: [accent]{0}[]\nVaše hra je zastaralá. Tento mod vyžaduje novější verzi hry (možná beta/alfa verze) aby fungoval. mod.requiresversion.details = Vyžaduje verzi hry: [accent]{0}[]\nVaše hra je zastaralá. Tato modifikace vyžaduje novější verzi hry (možná beta/alfa verze) aby fungovala.
mod.incompatiblemod.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 147[] to its [accent]mod.json[] file. mod.incompatiblemod.details = Tato modifikace není kompatibilní s touto verzí hry. Autor ji musí aktualizovat a přidat [accent]minGameVersion: 147[] do souboru [accent]mod.json[].
mod.blacklisted.details = Tento mod byl ručně zařazen na černou listinu, protože způsobuje pády nebo jiné problémy s touto verzí hry. Nepoužívejte jej. mod.blacklisted.details = Tato modifikace byla ručně zařazena na černou listinu, protože způsobuje pády nebo jiné problémy s touto verzí hry. Nepoužívejte ji.
mod.missingdependencies.details = Tomuto módu chybí závislosti: {0} mod.missingdependencies.details = Tomuto módu chybí závislosti: {0}
mod.erroredcontent.details = Tato hra způsobovala chyby při načítání. Požádejte autora módu o jejich opravu. mod.erroredcontent.details = Tato hra způsobovala chyby při načítání. Požádejte autora módu o jejich opravu.
mod.circulardependencies.details = Tento mod má závislosti, které na sobě navzájem závisí. mod.circulardependencies.details = Tato modifikace má závislosti, které na sobě navzájem závisí.
mod.incompletedependencies.details = Tento mod nelze načíst kvůli neplatným nebo chybějícím závislostem: {0}. mod.incompletedependencies.details = Tato modifikace nelze načíst kvůli neplatným nebo chybějícím závislostem: {0}.
mod.requiresversion = Vyžaduje verzi hry: [red]{0} mod.requiresversion = Vyžaduje verzi hry: [red]{0}
@@ -172,7 +173,7 @@ mod.errors = Při načítání obsahu hry se vyskytly problémy.
mod.noerrorplay = [scarlet]Máš modifikace s chybami.[] Buď zakaž dotčené modifikace, nebo oprav chyby před tím, než začneš hrát. mod.noerrorplay = [scarlet]Máš modifikace s chybami.[] Buď zakaž dotčené modifikace, nebo oprav chyby před tím, než začneš hrát.
mod.enable = Povolit mod.enable = Povolit
mod.requiresrestart = Hra bude ukončena, aby bylo možné nasadit modifikace. mod.requiresrestart = Hra bude ukončena, aby bylo možné nasadit modifikace.
mod.reloadrequired = [scarlet]Je vyžadováno znovuspuštění hry. mod.reloadrequired = [scarlet]Je vyžadováno opakované spuštění hry.
mod.import = Importovat modifikaci mod.import = Importovat modifikaci
mod.import.file = Importovat soubor mod.import.file = Importovat soubor
mod.import.github = Import modifikace z GitHubu mod.import.github = Import modifikace z GitHubu
@@ -185,7 +186,7 @@ mod.preview.missing = Než vystavíš svou modifikaci ve Workshopu na Steamu, mu
mod.folder.missing = Ve Workshopu na Steamu mohou být vystaveny pouze modifikace ve formě složky.\nAbys převedl modifikaci na formu složky, jednoduše rozbal zip soubor do složky a smaž starý zip soubor. Potom znovu spusť hru nebo znovu načti modifikace. mod.folder.missing = Ve Workshopu na Steamu mohou být vystaveny pouze modifikace ve formě složky.\nAbys převedl modifikaci na formu složky, jednoduše rozbal zip soubor do složky a smaž starý zip soubor. Potom znovu spusť hru nebo znovu načti modifikace.
mod.scripts.disable = Tvoje zařízení nepodporuje skripty. Musíš zakázat tyto modifikace, abys mohl hrát hru. mod.scripts.disable = Tvoje zařízení nepodporuje skripty. Musíš zakázat tyto modifikace, abys mohl hrát hru.
mod.dependencies.error = [scarlet]Modifikaccím chybí závislosti mod.dependencies.error = [scarlet]Modifikacím chybí závislosti
mod.dependencies.soft = (nepovinné) mod.dependencies.soft = (nepovinné)
mod.dependencies.download = Import mod.dependencies.download = Import
mod.dependencies.downloadreq = Vyžaduje se import mod.dependencies.downloadreq = Vyžaduje se import
@@ -198,11 +199,11 @@ mod.dependencies.imported = Tato modifikace vyžaduje závislosti. Chcete je st
about.button = O hře about.button = O hře
name = Jméno: name = Jméno:
noname = Nejdřív si vyber [accent]jméno ve hře[]. noname = Nejdřív si vyber [accent]jméno ve hře[].
search = Search: search = Hledat:
planetmap = Planetární mapa planetmap = Planetární mapa
launchcore = Vyslat jádro launchcore = Vyslat jádro
filename = Název souboru: filename = Název souboru:
unlocked = Byl odemmknut nový blok! unlocked = Byl odemknut nový blok!
available = Je zpřístupněn nový výzkum! available = Je zpřístupněn nový výzkum!
unlock.incampaign = < Odemkni v kampani pro více detailů > unlock.incampaign = < Odemkni v kampani pro více detailů >
campaign.select = Vybrat Začínající Kampaň campaign.select = Vybrat Začínající Kampaň
@@ -244,7 +245,7 @@ server.kicked.gameover = Konec hry!
server.kicked.serverRestarting = Server se restartuje. server.kicked.serverRestarting = Server se restartuje.
server.versions = Verze klienta: [accent]{0}[]\nVerze serveru: [accent]{1}[] server.versions = Verze klienta: [accent]{0}[]\nVerze serveru: [accent]{1}[]
host.info = Tento [accent]hostitel[] hostuje server na portu [scarlet]6567[]. \nKdokoliv na stejné [lightgray]síti Wifi nebo LAN (místní)[] by měl vidět server ve svém listu serverů.\n\nJestliže chcete, aby se uživatelé připojovali odkudkoliv pomocí adresy IP, může být nezbytné nastavit [accent]přesměrování portů[].\n\n[lightgray]Poznámka: Jestliže má někdo problém s připojením k LAN hře, měl by se předem ujistit, že má program Mindustry povolený přístup k místní síti v nastavení místního firewallu. host.info = Tento [accent]hostitel[] hostuje server na portu [scarlet]6567[]. \nKdokoliv na stejné [lightgray]síti Wifi nebo LAN (místní)[] by měl vidět server ve svém listu serverů.\n\nJestliže chcete, aby se uživatelé připojovali odkudkoliv pomocí adresy IP, může být nezbytné nastavit [accent]přesměrování portů[].\n\n[lightgray]Poznámka: Jestliže má někdo problém s připojením k LAN hře, měl by se předem ujistit, že má program Mindustry povolený přístup k místní síti v nastavení místního firewallu.
join.info = Zde můžeš vložit [accent]adresu IP serveru[], ke kterému se chceš připojit, nebo zkusit nalézt [accent]servery v místní síti[] nebo [accent]globální servery[], ke kterým se můžeš připojit.\nJsou podporovány režimy hry více hráčů přes LAN i WAN.\n\n[lightgray]Poznámka: Neexistuje automatický globální seznam serverů Mindustry. Pokud se chceš k někomu připojit pomocí adresy IP, budeš ji muset znát od hostitele. Ten ji může zjistit pomocí zadání "my ip" do vyhledávače Google ze svého zařízení. join.info = Zde můžeš vložit [accent]adresu IP serveru[], ke kterému se chceš připojit, nebo zkusit nalézt [accent]servery v místní síti[] nebo [accent]globální servery[], ke kterým se můžeš připojit.\nesou podporovány režimy hry více hráčů přes LAN i WAN.\n\n[lightgray]Poznámka: Neexistuje automatický globální seznam serverů Mindustry. Pokud se chceš k někomu připojit pomocí adresy IP, budeš ji muset znát od hostitele. Ten ji může zjistit pomocí zadání "my ip" do vyhledávače Google ze svého zařízení.
hostserver = Hostovat hru více hráčů hostserver = Hostovat hru více hráčů
invitefriends = Pozvat přátele invitefriends = Pozvat přátele
hostserver.mobile = Hostovat\nhru hostserver.mobile = Hostovat\nhru
@@ -312,7 +313,7 @@ disconnect.error = Chyba připojení.
disconnect.closed = Připojení bylo uzavřeno. disconnect.closed = Připojení bylo uzavřeno.
disconnect.timeout = Vypršel čas pro připojení. disconnect.timeout = Vypršel čas pro připojení.
disconnect.data = Chyba načtení dat ze serveru! disconnect.data = Chyba načtení dat ze serveru!
disconnect.snapshottimeout = Při získávání UDP snímků vyprššel čas spojení.\nTo může být způsobeno nestabilní sítí nebo připojením. disconnect.snapshottimeout = Při získávání UDP snímků vypršel čas spojení.\nTo může být způsobeno nestabilní sítí nebo připojením.
cantconnect = Není možno se připojit ke hře ([accent]{0}[]). cantconnect = Není možno se připojit ke hře ([accent]{0}[]).
connecting = [accent]Připojuji se...[] connecting = [accent]Připojuji se...[]
reconnecting = [accent]Znovu se připojuji... reconnecting = [accent]Znovu se připojuji...
@@ -342,17 +343,17 @@ slot = [accent]Pozice {0}[]
editmessage = Upravit zprávu editmessage = Upravit zprávu
save.corrupted = Uložená hra je poškozená nebo neplatná. save.corrupted = Uložená hra je poškozená nebo neplatná.
empty = <Prázný> empty = <Prázný>
on = On on = Zapnuto
off = Off off = Vypnuto
save.search = Hledat uložené hry... save.search = Hledat uložené hry...
save.autosave = Automatické uložení: {0} save.autosave = Automatické uložení: {0}
save.map = Mapa: {0} save.map = Mapa: {0}
save.wave = Vlna: {0} save.wave = Vlna: {0}
save.mode = Herní mod: {0} save.mode = Herní modifikace: {0}
save.date = Naposledy uloženo: {0} save.date = Naposledy uloženo: {0}
save.playtime = Herní čas: {0} save.playtime = Herní čas: {0}
dontshowagain = Don't show again dontshowagain = Nezobrazovat znovu
warn.32bit.title = 32-bit Deprecation Warning warn.32bit.title = Varování ohledně podpory 32 bitových systémů
warn.32bit = You are using a [red]32-bit[] version of Mindustry.\nAs newer Java versions have dropped 32-bit Windows support, [red]32-bit support will be discontinued in the future[].\n\nPlease upgrade to a 64-bit machine, and make sure you have the 64-bit version of Mindustry downloaded.\n\nIf you are running Mindustry as a JAR file, make sure you are using 64-bit Java. warn.32bit = You are using a [red]32-bit[] version of Mindustry.\nAs newer Java versions have dropped 32-bit Windows support, [red]32-bit support will be discontinued in the future[].\n\nPlease upgrade to a 64-bit machine, and make sure you have the 64-bit version of Mindustry downloaded.\n\nIf you are running Mindustry as a JAR file, make sure you are using 64-bit Java.
warning = Varování. warning = Varování.
confirm = Potvrdit confirm = Potvrdit
@@ -409,7 +410,7 @@ pausebuilding = [accent][[{0}][] zastaví stavění
resumebuilding = [scarlet][[{0}][] bude pokračovat ve stavění resumebuilding = [scarlet][[{0}][] bude pokračovat ve stavění
enablebuilding = [scarlet][[{0}][] povolí stavení enablebuilding = [scarlet][[{0}][] povolí stavení
showui = UI je skryto.\nZmáčkni [accent][[{0}][] pro jeho zobrazení. showui = UI je skryto.\nZmáčkni [accent][[{0}][] pro jeho zobrazení.
commandmode.name = [accent]Velicí zežim commandmode.name = [accent]Velicí režim
commandmode.nounits = [žádné jednotky] commandmode.nounits = [žádné jednotky]
wave = [accent]Vlna číslo {0}[] wave = [accent]Vlna číslo {0}[]
wave.cap = [accent]Vlna {0} z {1}[] wave.cap = [accent]Vlna {0} z {1}[]
@@ -453,7 +454,7 @@ editor.showterrain = Show Terrain
editor.showfloor = Show Floor editor.showfloor = Show Floor
editor.planet = Planeta: editor.planet = Planeta:
editor.sector = Sektor: editor.sector = Sektor:
editor.seed = Seed: editor.seed = Klíč generace:
editor.brush = Štětec editor.brush = Štětec
editor.openin = Otevřít v editoru editor.openin = Otevřít v editoru
editor.oregen = Generování rud editor.oregen = Generování rud
@@ -467,7 +468,15 @@ editor.rules = Pravidla:
editor.generation = Generace: editor.generation = Generace:
editor.objectives = Úkoly: editor.objectives = Úkoly:
editor.locales = Balíky jazyků editor.locales = Balíky jazyků
editor.worldprocessors = World Processors editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = Globální Procesor
editor.worldprocessors.editname = Upravit název editor.worldprocessors.editname = Upravit název
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this?
@@ -478,7 +487,7 @@ editor.publish.workshop = Publikovat do Workshopu na Steamu
editor.newmap = Nová mapa editor.newmap = Nová mapa
editor.center = Vycentrovat editor.center = Vycentrovat
editor.search = Hledat mapy... editor.search = Hledat mapy...
editor.filters = Filtrovat mšapy editor.filters = Filtrovat mapy
editor.filters.mode = Herní režimy: editor.filters.mode = Herní režimy:
editor.filters.type = Typ Mapy: editor.filters.type = Typ Mapy:
editor.filters.search = Hledat V: editor.filters.search = Hledat V:
@@ -540,7 +549,7 @@ editor.removeunit = Odstranit jednotku
editor.teams = Týmy editor.teams = Týmy
editor.errorload = Chyba při načítání souboru. editor.errorload = Chyba při načítání souboru.
editor.errorsave = Chyba při ukládání souboru. editor.errorsave = Chyba při ukládání souboru.
editor.errorimage = Toto je obrázek, ne mapa.\nPokud chceš importovat mapu z verze 3.5/sestavení 40, použij položku nabídky 'Importovat starou mapu'. editor.errorimage = Toto je obrázek, ne mapa.\nPokud chceš importovat mapu z verze 3.5/sestavení 40 použij položku nabídky 'Importovat starou mapu'.
editor.errorlegacy = Tato mapa je příliš stará a používá formát mapy, který už není podporován. editor.errorlegacy = Tato mapa je příliš stará a používá formát mapy, který už není podporován.
editor.errornot = Toto není soubor mapy. editor.errornot = Toto není soubor mapy.
editor.errorheader = Tento soubor mapy je buď neplatný nebo poškozen. editor.errorheader = Tento soubor mapy je buď neplatný nebo poškozen.
@@ -604,7 +613,7 @@ toolmode.drawteams = Kreslit týmy
toolmode.drawteams.description = Kreslí týmy místo bloků. toolmode.drawteams.description = Kreslí týmy místo bloků.
#unused #unused
toolmode.underliquid = Pod Kapalinami toolmode.underliquid = Pod Kapalinami
toolmode.underliquid.description = Kreslí podlahy pod kostkama kapalin. toolmode.underliquid.description = Kreslí podlahy pod kostkami kapalin.
filters.empty = [lightgray]Nejsou zadány žádné filtry, přidej filtr tlačítkem níže.[] filters.empty = [lightgray]Nejsou zadány žádné filtry, přidej filtr tlačítkem níže.[]
@@ -612,7 +621,7 @@ filter.distort = Zkreslení
filter.noise = Zašumění filter.noise = Zašumění
filter.enemyspawn = Výběr nepřátelské líhně filter.enemyspawn = Výběr nepřátelské líhně
filter.spawnpath = Cesta k líhni filter.spawnpath = Cesta k líhni
filter.corespawn = Váběr ládra filter.corespawn = Výběr jádra
filter.median = Medián filter.median = Medián
filter.oremedian = Medián rud filter.oremedian = Medián rud
filter.blend = Prolnutí filter.blend = Prolnutí
@@ -624,14 +633,14 @@ filter.clear = Vyčistit
filter.option.ignore = Ignorovat filter.option.ignore = Ignorovat
filter.scatter = Rozptýlení filter.scatter = Rozptýlení
filter.terrain = Terén filter.terrain = Terén
filter.logic = Logic filter.logic = Logika
filter.option.scale = Měřítko filter.option.scale = Měřítko
filter.option.chance = Náhoda filter.option.chance = Náhoda
filter.option.mag = Velikost filter.option.mag = Velikost
filter.option.threshold = Práh filter.option.threshold = Práh
filter.option.circle-scale = Poloměr kružnice filter.option.circle-scale = Poloměr kružnice
filter.option.octaves = Octávy filter.option.octaves = Oktávy
filter.option.falloff = Pokles filter.option.falloff = Pokles
filter.option.angle = Úhel filter.option.angle = Úhel
filter.option.tilt = Naklonit filter.option.tilt = Naklonit
@@ -755,8 +764,8 @@ unbannedblocks = Povolené bloky
objectives = Úkoly objectives = Úkoly
bannedunits = Zakázané jednotky bannedunits = Zakázané jednotky
unbannedunits = Povolené jednotky unbannedunits = Povolené jednotky
bannedunits.whitelist = Zakázané jednotky jako Whitelist bannedunits.whitelist = Zakázané jednotky jako Bílá listina
bannedblocks.whitelist = Zakázané bloky jako Whitelist bannedblocks.whitelist = Zakázané bloky jako Bílá listina
addall = Přidat vše addall = Přidat vše
launch.from = Vysláno z: [accent]{0} launch.from = Vysláno z: [accent]{0}
launch.capacity = Odpalovací kapacita: [accent]{0} launch.capacity = Odpalovací kapacita: [accent]{0}
@@ -781,7 +790,7 @@ error.moddex = Mindustry nemůže načíst tuto modifikaci.\nVaše zařízení b
weather.rain.name = Déšť weather.rain.name = Déšť
weather.snowing.name = Sníh weather.snowing.name = Sníh
weather.sandstorm.name = Písečná ouře weather.sandstorm.name = Písečná bouře
weather.sporestorm.name = Spórová bouře weather.sporestorm.name = Spórová bouře
weather.fog.name = Mlha weather.fog.name = Mlha
@@ -791,6 +800,7 @@ campaign.complete = [accent]Nastavení.\n\nNepřítel na {0} byl poražen.\n[lig
sectorlist = Sektory sectorlist = Sektory
sectorlist.attacked = {0} pod útokem sectorlist.attacked = {0} pod útokem
sectors.unexplored = [lightgray]Neprozkoumáno sectors.unexplored = [lightgray]Neprozkoumáno
sectors.attempts = Pokusy:
sectors.resources = Zdroje: sectors.resources = Zdroje:
sectors.production = Výroba: sectors.production = Výroba:
sectors.export = Exportovat: sectors.export = Exportovat:
@@ -803,9 +813,9 @@ sectors.resume = Pokračovat
sectors.launch = Vyslat sectors.launch = Vyslat
sectors.viewsubmission = \ue80d Prohlížet příspěvky sectors.viewsubmission = \ue80d Prohlížet příspěvky
sectors.select = Vybrat sectors.select = Vybrat
sectors.launchselect = Select Launch Destination sectors.launchselect = Vyber Cíl Odpalu
sectors.nonelaunch = [lightgray]bez (slunce)[] sectors.nonelaunch = [lightgray]bez (slunce)[]
sectors.redirect = Redirect Launch Pads sectors.redirect = Přesměrovat Vysílací Plošinu
sectors.rename = Přejmenovat sektor sectors.rename = Přejmenovat sektor
sectors.enemybase = [scarlet]Nepřátelská základna sectors.enemybase = [scarlet]Nepřátelská základna
sectors.vulnerable = [scarlet]Zranitelný sectors.vulnerable = [scarlet]Zranitelný
@@ -820,8 +830,8 @@ sector.curlost = Sektor ztracen
sector.missingresources = [scarlet]Nedostatečné zdroje v jádře sector.missingresources = [scarlet]Nedostatečné zdroje v jádře
sector.attacked = Sektor [accent]{0}[white] pod útokem! sector.attacked = Sektor [accent]{0}[white] pod útokem!
sector.lost = Sektor [accent]{0}[white] ztracen! :( sector.lost = Sektor [accent]{0}[white] ztracen! :(
sector.capture = Sector [accent]{0}[white]Captured! sector.capture = Sektor [accent]{0}[white]Polapen!
sector.capture.current = Sector Captured! sector.capture.current = Sektor Polapen!
sector.changeicon = Změnit Ikonu sector.changeicon = Změnit Ikonu
sector.noswitch.title = Nelze Vyměnit Sektor 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}[] sector.noswitch = Sektory nelze přepnut, pokud je stávající sektor pod útokem.\n\nSektor: [accent]{0}[] na [accent]{1}[]
@@ -851,7 +861,7 @@ planet.serpulo.name = Serpulo
planet.erekir.name = Erekir planet.erekir.name = Erekir
planet.sun.name = Sol planet.sun.name = Sol
sector.impact0078.name = Dopad 0078 sector.impact0078.name = Dopad 78
sector.groundZero.name = Základní tábor sector.groundZero.name = Základní tábor
sector.craters.name = Krátery sector.craters.name = Krátery
sector.frozenForest.name = Zamrzlý les sector.frozenForest.name = Zamrzlý les
@@ -866,8 +876,8 @@ sector.fungalPass.name = Plísňový průsmyk
sector.biomassFacility.name = Zařízení pro syntézu biomasy sector.biomassFacility.name = Zařízení pro syntézu biomasy
sector.windsweptIslands.name = Větrné ostrovy sector.windsweptIslands.name = Větrné ostrovy
sector.extractionOutpost.name = Extrakční základna sector.extractionOutpost.name = Extrakční základna
sector.facility32m.name = Facility 32 M sector.facility32m.name = Zázemí 32 M
sector.taintedWoods.name = Tainted Woods sector.taintedWoods.name = Poskvrněné lesy
sector.infestedCanyons.name = Zamořené kaňony sector.infestedCanyons.name = Zamořené kaňony
sector.planetaryTerminal.name = Planetární odpalovací terminál sector.planetaryTerminal.name = Planetární odpalovací terminál
sector.coastline.name = Pobřežní čára sector.coastline.name = Pobřežní čára
@@ -876,10 +886,10 @@ sector.polarAerodrome.name = Polární aerodrom
sector.atolls.name = Atoly sector.atolls.name = Atoly
sector.testingGrounds.name = Testovací zázemí sector.testingGrounds.name = Testovací zázemí
sector.seaPort.name = Mořský přístav sector.seaPort.name = Mořský přístav
sector.weatheredChannels.name = Weathered Channels sector.weatheredChannels.name = Zvětralé údolí
sector.mycelialBastion.name = Pevnost podhoubí sector.mycelialBastion.name = Pevnost podhoubí
sector.frontier.name = Fronta sector.frontier.name = Fronta
sector.sunkenPier.name = Sunken Pier sector.sunkenPier.name = Potopené molo
sector.cruxscape.name = Cruxscape sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geotermální pevnost sector.geothermalStronghold.name = Geotermální pevnost
@@ -965,8 +975,8 @@ status.tarred.name = Dehtovaný
status.overdrive.name = Posílený status.overdrive.name = Posílený
status.overclock.name = Přetaktovaný status.overclock.name = Přetaktovaný
status.shocked.name = Šokovaný status.shocked.name = Šokovaný
status.blasted.name = Vybouchlý status.blasted.name = Vybuchlý
status.corroded.name = Corroded status.corroded.name = Zkorodovaný
status.unmoving.name = Nehybný status.unmoving.name = Nehybný
status.boss.name = Strážce status.boss.name = Strážce
@@ -981,7 +991,7 @@ settings.sound = Zvuky
settings.graphics = Grafika settings.graphics = Grafika
settings.cleardata = Vymazat data hry... settings.cleardata = Vymazat data hry...
settings.clear.confirm = Jsi si jistý, že chceš vymazat svá data ve hře?\nTento krok je nevratný! settings.clear.confirm = Jsi si jistý, že chceš vymazat svá data ve hře?\nTento krok je nevratný!
settings.clearall.confirm = [scarlet]Varování![]\nToto vyresetuje všechna Tvá data ve hře, včetně uložení hry, map, odemknutého postupu v kampani a nastavení ovládání.\nJakmile stiskneš "OK", všechna data se vymažou a hra se automaticky ukončí. settings.clearall.confirm = [scarlet]Varování![]\nToto vymaže všechna Tvá data ve hře, včetně uložení hry, map, odemknutého postupu v kampani a nastavení ovládání.\nJakmile stiskneš "OK", všechna data se vymažou a hra se automaticky ukončí.
settings.clearsaves.confirm = Opravdu chceš vymazat veškeré Tvé uložené hry? settings.clearsaves.confirm = Opravdu chceš vymazat veškeré Tvé uložené hry?
settings.clearsaves = Vymazat uložené hry settings.clearsaves = Vymazat uložené hry
settings.clearresearch = Vymazat výzkum settings.clearresearch = Vymazat výzkum
@@ -1014,7 +1024,7 @@ stat.opposites = Protiklady
stat.powercapacity = Kapacita energie stat.powercapacity = Kapacita energie
stat.powershot = Energie na 1 výstřel stat.powershot = Energie na 1 výstřel
stat.damage = Poškození stat.damage = Poškození
stat.frequency = Frequency stat.frequency = Frekvence
stat.targetsair = Zaměřuje vzdušné jednotky stat.targetsair = Zaměřuje vzdušné jednotky
stat.targetsground = Zaměřuje pozemní jednotky stat.targetsground = Zaměřuje pozemní jednotky
stat.crushdamage = Crush Damage stat.crushdamage = Crush Damage
@@ -1047,7 +1057,7 @@ stat.drillspeed = Základní rychlost vrtu
stat.boosteffect = Účinek posílení stat.boosteffect = Účinek posílení
stat.maxunits = Nejvýše aktivních jednotek stat.maxunits = Nejvýše aktivních jednotek
stat.health = Životy stat.health = Životy
stat.armor = Armor stat.armor = Pancíř
stat.buildtime = Čas konstrukce stat.buildtime = Čas konstrukce
stat.maxconsecutive = Nejvýše po sobě stat.maxconsecutive = Nejvýše po sobě
stat.buildcost = Cena konstrukce stat.buildcost = Cena konstrukce
@@ -1058,7 +1068,7 @@ stat.ammo = Střelivo
stat.shieldhealth = Zdraví štítu stat.shieldhealth = Zdraví štítu
stat.cooldowntime = Čas na zchladnutí stat.cooldowntime = Čas na zchladnutí
stat.explosiveness = Výbušnost stat.explosiveness = Výbušnost
stat.basedeflectchance = Základní pravděpobnost odražení stat.basedeflectchance = Základní pravděpodobnost odražení
stat.lightningchance = Pravděpodobnost blesku stat.lightningchance = Pravděpodobnost blesku
stat.lightningdamage = Poškození bleskem stat.lightningdamage = Poškození bleskem
stat.flammability = Hořlavost stat.flammability = Hořlavost
@@ -1081,7 +1091,7 @@ stat.damagemultiplier = Násobitel Poškození
stat.healthmultiplier = Násobitel Životů stat.healthmultiplier = Násobitel Životů
stat.speedmultiplier = Násobitel Rychlostí stat.speedmultiplier = Násobitel Rychlostí
stat.reloadmultiplier = Násobitel Přebití stat.reloadmultiplier = Násobitel Přebití
stat.buildspeedmultiplier = Nasobič Rychlostí Stavby stat.buildspeedmultiplier = Násobitel Rychlostí Stavby
stat.reactive = Reaguje stat.reactive = Reaguje
stat.immunities = Imunita stat.immunities = Imunita
stat.healing = Léčí se stat.healing = Léčí se
@@ -1102,12 +1112,12 @@ ability.movelightning.description = Při pohybu vystřeluje blesky.
ability.armorplate = Pancíř ability.armorplate = Pancíř
ability.armorplate.description = Snižuje poškození od střelby. ability.armorplate.description = Snižuje poškození od střelby.
ability.shieldarc = Štítový Oblouk ability.shieldarc = Štítový Oblouk
ability.shieldarc.description = Vytváří silový štít oblokového tvaru, který pohlcuje kulky. ability.shieldarc.description = Vytváří silový štít obloukového tvaru, který pohlcuje kulky.
ability.suppressionfield = Pole potlačení regenerace ability.suppressionfield = Pole potlačení regenerace
ability.suppressionfield.description = Vyřadí z provozu všechny opravné stavby. ability.suppressionfield.description = Vyřadí z provozu všechny opravné stavby.
ability.energyfield = Energetické pole ability.energyfield = Energetické pole
ability.energyfield.description = Odpráskne blízké nepřátele ability.energyfield.description = Odpráskne blízké nepřátele
ability.energyfield.healdescription = Odpráskne blízké nepřátele a vyléří přátelské jednotky ability.energyfield.healdescription = Odpráskne blízké nepřátele a vyléčí přátelské jednotky
ability.regen = Regenerace ability.regen = Regenerace
ability.regen.description = Časem regeneruje svoje zdraví ability.regen.description = Časem regeneruje svoje zdraví
ability.liquidregen = Pohlcení tekutiny ability.liquidregen = Pohlcení tekutiny
@@ -1144,7 +1154,7 @@ bar.drillspeed = Rychlost vrtu: {0}/s
bar.pumpspeed = Rychlost pumpy: {0}/s bar.pumpspeed = Rychlost pumpy: {0}/s
bar.efficiency = Účinnost: {0}% bar.efficiency = Účinnost: {0}%
bar.boost = Posílení: +{0}% bar.boost = Posílení: +{0}%
bar.powerbuffer = Energie v bateriiích: {0}/{1} bar.powerbuffer = Energie v bateriích: {0}/{1}
bar.powerbalance = Energie: {0} bar.powerbalance = Energie: {0}
bar.powerstored = Uskladněno: {0}/{1} bar.powerstored = Uskladněno: {0}/{1}
bar.poweramount = Energie celkem: {0} bar.poweramount = Energie celkem: {0}
@@ -1155,14 +1165,14 @@ bar.capacity = Kapacita: {0}
bar.unitcap = {0} {1}/{2} bar.unitcap = {0} {1}/{2}
bar.liquid = Chlazení bar.liquid = Chlazení
bar.heat = Teplo bar.heat = Teplo
bar.cooldown = Cooldown bar.cooldown = Prodleva
bar.instability = Nestabilita bar.instability = Nestabilita
bar.heatamount = Teplo: {0} bar.heatamount = Teplo: {0}
bar.heatpercent = Teplo: {0} ({1}%) bar.heatpercent = Teplo: {0} ({1}%)
bar.power = Energie bar.power = Energie
bar.progress = Konstrukce v průběhu bar.progress = Konstrukce v průběhu
bar.loadprogress = Pokrok bar.loadprogress = Pokrok
bar.launchcooldown = Launch Cooldown bar.launchcooldown = Prodleva Odletu
bar.input = Vstup bar.input = Vstup
bar.output = Výstup bar.output = Výstup
bar.strength = [stat]{0}[lightgray]x síla bar.strength = [stat]{0}[lightgray]x síla
@@ -1225,14 +1235,14 @@ category.crafting = Vstup/Výstup
category.function = Funkce category.function = Funkce
category.optional = Volitelné vylepšení category.optional = Volitelné vylepšení
setting.alwaysmusic.name = Vždy přehrávat hudbu setting.alwaysmusic.name = Vždy přehrávat hudbu
setting.alwaysmusic.description = Pokud je toto nastavení povoleno, bude hudba hrát neustále.Jinak bude hrát pouze v náhodných intervalech. setting.alwaysmusic.description = Pokud je toto nastavení povoleno, bude hudba hrát neustále. Jinak bude hrát pouze v náhodných intervalech.
setting.skipcoreanimation.name = Přeskočit Animaci Odpalu/Přístání Jádra setting.skipcoreanimation.name = Přeskočit Animaci Odpalu/Přistání Jádra
setting.landscape.name = Uzamknout krajinu setting.landscape.name = Uzamknout krajinu
setting.shadows.name = Stíny setting.shadows.name = Stíny
setting.blockreplace.name = Automatický návrh bloků setting.blockreplace.name = Automatický návrh bloků
setting.linear.name = Lineární filtrování setting.linear.name = Lineární filtrování
setting.hints.name = Rady a tipy setting.hints.name = Rady a tipy
setting.logichints.name = Logic Nápovědy setting.logichints.name = Logic Nápovědy
setting.backgroundpause.name = Pozastavit v pozadí setting.backgroundpause.name = Pozastavit v pozadí
setting.buildautopause.name = Automaticky pozastavit stavění setting.buildautopause.name = Automaticky pozastavit stavění
setting.doubletapmine.name = Dvojklik pro Těžbu setting.doubletapmine.name = Dvojklik pro Těžbu
@@ -1286,7 +1296,7 @@ setting.mutemusic.name = Ztišit hudbu
setting.sfxvol.name = Hlasitost efektů setting.sfxvol.name = Hlasitost efektů
setting.mutesound.name = Ztišit zvuk setting.mutesound.name = Ztišit zvuk
setting.crashreport.name = Poslat anonymní hlášení o spadnutí Mindustry setting.crashreport.name = Poslat anonymní hlášení o spadnutí Mindustry
setting.communityservers.name = Fetch Community Server List setting.communityservers.name = Aktualizovat Seznam Komunitních Serverů
setting.savecreate.name = Automaticky ukládat hru setting.savecreate.name = Automaticky ukládat hru
setting.steampublichost.name = Veřejná viditelnost hry setting.steampublichost.name = Veřejná viditelnost hry
setting.playerlimit.name = Nejvyšší počet hráčů setting.playerlimit.name = Nejvyšší počet hráčů
@@ -1300,12 +1310,12 @@ setting.hidedisplays.name = Skrýt displeje logiky
setting.macnotch.name = Přizpůsobte rozhraní zobrazení zářezu setting.macnotch.name = Přizpůsobte rozhraní zobrazení zářezu
setting.macnotch.description = Pro aplikování změn je potřeba restart setting.macnotch.description = Pro aplikování změn je potřeba restart
steam.friendsonly = Pouze pro přátele steam.friendsonly = Pouze pro přátele
steam.friendsonly.tooltip = Určuje, zda bude hra přístupná jen tvým přátelům na Steamu, nebo všem.Odškrtnutí udělá hru veřejnou - připojit se bude moci každý. steam.friendsonly.tooltip = Určuje, zda bude hra přístupná jen tvým přátelům na Steamu, nebo všem. Odškrtnutí udělá hru veřejnou - připojit se bude moci každý.
setting.maxmagnificationmultiplierpercent.name = Minimální vzdálenost kamery setting.maxmagnificationmultiplierpercent.name = Minimální vzdálenost kamery
setting.minmagnificationmultiplierpercent.name = Maximální vzdálenost kamery setting.minmagnificationmultiplierpercent.name = Maximální vzdálenost kamery
setting.minmagnificationmultiplierpercent.description = Vysoké hodnoty mohou způsobit problémy s výkonem. setting.minmagnificationmultiplierpercent.description = Vysoké hodnoty mohou způsobit problémy s výkonem.
public.beta = Poznámka: beta verze hry nemůžou vytvářet veřejné hry. public.beta = Poznámka: beta verze hry nemůžou vytvářet veřejné hry.
uiscale.reset = Škálování uživatelskho rozhraní se změnilo.\nZmáčkni "OK", abys potvrdil toto nastavení.\n[scarlet]Návrat k původním hodnotám proběhne za [accent]{0}[] vteřin...[] uiscale.reset = Škálování uživatelského rozhraní se změnilo.\nZmáčkni "OK", abys potvrdil toto nastavení.\n[scarlet]Návrat k původním hodnotám proběhne za [accent]{0}[] vteřin...[]
uiscale.cancel = Ukončit a odejít uiscale.cancel = Ukončit a odejít
setting.bloom.name = Použít filtr Bloom setting.bloom.name = Použít filtr Bloom
keybind.title = Změnit klávesy keybind.title = Změnit klávesy
@@ -1394,7 +1404,7 @@ keybind.pause_building.name = Pozastavit nebo spustit stavění
keybind.minimap.name = Mini mapa keybind.minimap.name = Mini mapa
keybind.planet_map.name = Planetární mapa keybind.planet_map.name = Planetární mapa
keybind.research.name = Výzkum keybind.research.name = Výzkum
keybind.block_info.name = Info o Bloku keybind.block_info.name = Informace o Bloku
keybind.chat.name = Kanál zpráv keybind.chat.name = Kanál zpráv
keybind.player_list.name = Seznam hráčů keybind.player_list.name = Seznam hráčů
keybind.console.name = Terminál keybind.console.name = Terminál
@@ -1447,6 +1457,8 @@ rules.buildaitier = Úroveň AI stavitele
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = Útočná RTS AI rules.rtsai.campaign = Útočná RTS AI
rules.rtsai.campaign.info = Na útočných mapách vytváří skupiny jednotek, které útočí na hráčské základny inteligentnějším způsobem. rules.rtsai.campaign.info = Na útočných mapách vytváří skupiny jednotek, které útočí na hráčské základny inteligentnějším způsobem.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Min velikost skupiny rules.rtsminsquadsize = Min velikost skupiny
rules.rtsmaxsquadsize = Max velikost skupiny rules.rtsmaxsquadsize = Max velikost skupiny
rules.rtsminattackweight = Min váha útoku rules.rtsminattackweight = Min váha útoku
@@ -1464,7 +1476,7 @@ rules.unitdamagemultiplier = Násobek poškození jednotkami
rules.unitcrashdamagemultiplier = Násobek poškození při nárazu jednotky rules.unitcrashdamagemultiplier = Násobek poškození při nárazu jednotky
rules.unitminespeedmultiplier = Unit Mine Speed Multiplier rules.unitminespeedmultiplier = Unit Mine Speed Multiplier
rules.solarmultiplier = Násobek Solární Energie rules.solarmultiplier = Násobek Solární Energie
rules.unitcapvariable = Jádra Zvýšujou Maximum Počtu Jednotek rules.unitcapvariable = Jádra Zvyšují Maximum Počtu Jednotek
rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitpayloadsexplode = Carried Payloads Explode With The Unit
rules.unitcap = Základní Maximum Počtu Jednotek rules.unitcap = Základní Maximum Počtu Jednotek
rules.limitarea = Limit Map Area rules.limitarea = Limit Map Area
@@ -1516,7 +1528,7 @@ content.unit.name = Jednotky
content.block.name = Bloky content.block.name = Bloky
content.status.name = Stavové Efekty content.status.name = Stavové Efekty
content.sector.name = Sektory content.sector.name = Sektory
content.team.name = Factions content.team.name = Frakce
wallore = (Wall) wallore = (Wall)
@@ -1836,10 +1848,10 @@ block.rtg-generator.name = RTG
block.spectre.name = Přízrak block.spectre.name = Přízrak
block.meltdown.name = Rozpékač block.meltdown.name = Rozpékač
block.foreshadow.name = Znamení osudu block.foreshadow.name = Znamení osudu
block.container.name = Kontejnér block.container.name = Kontejner
block.launch-pad.name = Vysílací plošina block.launch-pad.name = Vysílací plošina
block.advanced-launch-pad.name = Launch Pad block.advanced-launch-pad.name = Vysílací plošina
block.landing-pad.name = Landing Pad block.landing-pad.name = Přijímací plošina
block.segment.name = Úsek block.segment.name = Úsek
block.ground-factory.name = Pozemní továrna block.ground-factory.name = Pozemní továrna
@@ -2540,7 +2552,7 @@ lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect. lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position.
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.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20 per world.
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. 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. 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.
@@ -2643,7 +2655,7 @@ lenum.idiv = Číselné dělení.
lenum.div = Dělení.\nVrací [accent]null[], pokud je děleno nulou. lenum.div = Dělení.\nVrací [accent]null[], pokud je děleno nulou.
lenum.mod = Modulo (Vydělí 2 hodnoty a vrací zbytek). lenum.mod = Modulo (Vydělí 2 hodnoty a vrací zbytek).
lenum.emod = True modulo, result sign comes from the divisor. lenum.emod = True modulo, result sign comes from the divisor.
lenum.equal = Stejné. Vynucuje typy.\nNon-null objekty porovnané s čísly se stanou 1, jinak 0. lenum.equal = Stejné. Vynucuje typy.\nNon-null objekty porovnané s čísly se stanou 1 jinak 0.
lenum.notequal = Není stejné. Vynucuje typy. lenum.notequal = Není stejné. Vynucuje typy.
lenum.strictequal = Přísná rovnost. Nevynucuje typy.\nMůže být použít, jestli je [accent]null[]. lenum.strictequal = Přísná rovnost. Nevynucuje typy.\nMůže být použít, jestli je [accent]null[].
lenum.shl = Bitový posun vlevo. lenum.shl = Bitový posun vlevo.
@@ -2721,7 +2733,7 @@ control.unit = Jednotka/Budova k zamíření.
control.shoot = Zda střílet. control.shoot = Zda střílet.
unitlocate.enemy = Zda lokalizovat nepřátelské budovy. unitlocate.enemy = Zda lokalizovat nepřátelské budovy.
unitlocate.found = Zda objekt byl znalezen. unitlocate.found = Zda objekt byl nalezen
unitlocate.building = Výstup hodnot pro lokalizovanou budovu. unitlocate.building = Výstup hodnot pro lokalizovanou budovu.
unitlocate.outx = Výstup X pozice. unitlocate.outx = Výstup X pozice.
unitlocate.outy = Výstup Y pozice. unitlocate.outy = Výstup Y pozice.

View File

@@ -101,6 +101,7 @@ coreattack = < Kerne er under angreb! >
nearpoint = [[ [scarlet]FORLAD INVASIONSZONE OMGÅENDE[] ]\n Fare for udslettelse nearpoint = [[ [scarlet]FORLAD INVASIONSZONE OMGÅENDE[] ]\n Fare for udslettelse
database = Kerne-database database = Kerne-database
database.button = Database database.button = Database
viewfields = View Content Fields
savegame = Gem spil savegame = Gem spil
loadgame = Hent spil loadgame = Hent spil
joingame = Deltag i spil joingame = Deltag i spil
@@ -467,6 +468,14 @@ editor.rules = Regler:
editor.generation = Generering: editor.generation = Generering:
editor.objectives = Objectives editor.objectives = Objectives
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeat
sectorlist = Sectors sectorlist = Sectors
sectorlist.attacked = {0} under attack sectorlist.attacked = {0} under attack
sectors.unexplored = [lightgray]Unexplored sectors.unexplored = [lightgray]Unexplored
sectors.attempts = Attempts:
sectors.resources = Resurser: sectors.resources = Resurser:
sectors.production = Produktion: sectors.production = Produktion:
sectors.export = Export: sectors.export = Export:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Min Squad Size rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight rules.rtsminattackweight = Min Attack Weight

View File

@@ -101,6 +101,7 @@ coreattack = < Der Kern wird angegriffen! >
nearpoint = [[ [scarlet]SOFORT DEN SPAWNPUNKT VERLASSEN[] ]\nVernichtung droht nearpoint = [[ [scarlet]SOFORT DEN SPAWNPUNKT VERLASSEN[] ]\nVernichtung droht
database = Kern-Datenbank database = Kern-Datenbank
database.button = Datenbank database.button = Datenbank
viewfields = View Content Fields
savegame = Spiel speichern savegame = Spiel speichern
loadgame = Spiel laden loadgame = Spiel laden
joingame = Spiel beitreten joingame = Spiel beitreten
@@ -467,6 +468,14 @@ editor.rules = Regeln
editor.generation = Generator editor.generation = Generator
editor.objectives = Ziele editor.objectives = Ziele
editor.locales = Sprach-Bundle editor.locales = Sprach-Bundle
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = Weltprozessoren editor.worldprocessors = Weltprozessoren
editor.worldprocessors.editname = Name bearbeiten editor.worldprocessors.editname = Name bearbeiten
editor.worldprocessors.none = [lightgray]Keine Weltprozessor-Blöcke gefunden!\nFüge einen im Karteneditor hinzu oder benutze den \ue813 Hinzufügen-Button unten. editor.worldprocessors.none = [lightgray]Keine Weltprozessor-Blöcke gefunden!\nFüge einen im Karteneditor hinzu oder benutze den \ue813 Hinzufügen-Button unten.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Glückwunsch.\n\nDer Gegner auf {0} ist besiegt word
sectorlist = Sektoren sectorlist = Sektoren
sectorlist.attacked = {0} wird angegriffen sectorlist.attacked = {0} wird angegriffen
sectors.unexplored = [lightgray]Unentdeckt sectors.unexplored = [lightgray]Unentdeckt
sectors.attempts = Attempts:
sectors.resources = Ressourcen: sectors.resources = Ressourcen:
sectors.production = Produktion: sectors.production = Produktion:
sectors.export = Export: sectors.export = Export:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Bau-KI-Tier
rules.rtsai = RTS KI [red](unfertig) rules.rtsai = RTS KI [red](unfertig)
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Min. Squadgröße rules.rtsminsquadsize = Min. Squadgröße
rules.rtsmaxsquadsize = Max. Squadgröße rules.rtsmaxsquadsize = Max. Squadgröße
rules.rtsminattackweight = Min. Angriffsgröße rules.rtsminattackweight = Min. Angriffsgröße
@@ -2097,12 +2109,12 @@ gz.drills = Erweitere den Bergbau.\nBaue mehr mechanische Bohrer.\nBaue 100 Kupf
gz.lead = :lead: [accent]Blei[] ist ein anderer wichtiger Rohstoff.\nBaue Bohrer, um Blei abzubauen. gz.lead = :lead: [accent]Blei[] ist ein anderer wichtiger Rohstoff.\nBaue Bohrer, um Blei abzubauen.
gz.moveup = :up: Bewege dich weiter nach oben, um weitere Ziele zu erhalten. gz.moveup = :up: Bewege dich weiter nach oben, um weitere Ziele zu erhalten.
gz.turrets = Erforsche und platziere 2 :duo: [accent]Doppelgeschütze[], um den Kern zu beschützen.\nDoppelgeschütze benötigen \uf838 [accent]Munition[] von Förderbändern. gz.turrets = Erforsche und platziere 2 :duo: [accent]Doppelgeschütze[], um den Kern zu beschützen.\nDoppelgeschütze benötigen \uf838 [accent]Munition[] von Förderbändern.
gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. gz.duoammo = Versorge die Doppelgeschütze mit :copper: [accent]Kupfererz[], indem du Förderbänder verwendest.
gz.walls = [accent]Mauern[] können andere Blöcke vor Schaden schützen.\nBaue :copper-wall: [accent]Kufpermauern[] um die Geschütze. gz.walls = [accent]Mauern[] können andere Blöcke vor Schaden schützen.\nBaue :copper-wall: [accent]Kufpermauern[] um die Geschütze.
gz.defend = Feinde kommen bald, bereite dich vor. gz.defend = Feinde kommen bald, bereite dich vor.
gz.aa = Fliegende Einheiten können nicht leicht von normalen Geschützen bekämpft werden.\n:scatter: [accent]Luftgeschütze[] können dies deutlich besser, benötigen aber :lead: [accent]Blei[] als Munition. gz.aa = Fliegende Einheiten können nicht leicht von normalen Geschützen bekämpft werden.\n:scatter: [accent]Luftgeschütze[] können dies deutlich besser, benötigen aber :lead: [accent]Blei[] als Munition.
gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. gz.scatterammo = Versorge die Luftgeschütze mit :lead: [accent]Blei[], indem du Förderbänder verwendest.
gz.supplyturret = [accent]Supply Turret gz.supplyturret = [accent]Versorgungsturm
gz.zone1 = Dies ist die feindliche Drop-Zone. gz.zone1 = Dies ist die feindliche Drop-Zone.
gz.zone2 = Alle Blöcke in der Zone werden zerstört, wenn eine Welle kommt. gz.zone2 = Alle Blöcke in der Zone werden zerstört, wenn eine Welle kommt.
gz.zone3 = Jetzt kommt eine Welle.\nBereite dich vor. gz.zone3 = Jetzt kommt eine Welle.\nBereite dich vor.
@@ -2126,13 +2138,13 @@ onset.turrets = Einheiten sind effektiv, aber [accent]Geschütze[] sind beim Ver
onset.turretammo = Versorge das Geschütz mit [accent]Berylliummunition[]. onset.turretammo = Versorge das Geschütz mit [accent]Berylliummunition[].
onset.walls = [accent]Mauern[] können andere Blöcke vor Schaden schützen.\nBaue :beryllium-wall: [accent]Berylliummauern[] um die Geschütze. onset.walls = [accent]Mauern[] können andere Blöcke vor Schaden schützen.\nBaue :beryllium-wall: [accent]Berylliummauern[] um die Geschütze.
onset.enemies = Feinde kommen bald, bereite dich vor. onset.enemies = Feinde kommen bald, bereite dich vor.
onset.defenses = [accent]Set up defenses:[lightgray] {0} onset.defenses = [accent]Baue eine Verteidigung auf:[lightgray] {0}
onset.attack = Der Feid ist verwundbar. Greife ihn an. 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 :core-bastion: Kern. 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 :core-bastion: Kern.
onset.detect = Der Feind wird dich in zwei Minuten entdecken.\nStelle Verteidigung, Bergbau und Produktion auf. onset.detect = Der Feind wird dich in zwei Minuten entdecken.\nStelle Verteidigung, Bergbau und Produktion auf.
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 = Halte die [accent]Umschalttaste[] gedrückt, um den [accent]Befehlsmodus[] aufzurufen.\n[accent]Klicke mit der linken Maustaste und ziehe[], um Einheiten auszuwählen.\n[accent]Klicke mit der rechten Maustaste[], um ausgewählten Einheiten zu befehlen, sich zu bewegen oder anzugreifen.
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. onset.commandmode.mobile = Drücke die [accent]Befehlstaste[], um den [accent]Befehlsmodus[] aufzurufen. Halte einen Finger gedrückt und [accent]ziehe[] dann, um Einheiten auszuwählen. [accent]Tippe[], um ausgewählten Einheiten zu befehlen, sich zu bewegen oder anzugreifen.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. aegis.tungsten = Wolfram kann mit einem [accent]Schlagbohrer[] abgebaut werden.\nDiese Struktur benötigt [accent]Wasser[] und [accent]Strom[].
split.pickup = Manche Blöcke können von der Kerneinheit aufgehoben werden.\nHebe diesen [accent]Behälter[] hoch und trage ihn auf den [accent]Frachtlader[].\n(Default-Tasten für Aufhaben und Fallenlassen sind [ und ] ) split.pickup = Manche Blöcke können von der Kerneinheit aufgehoben werden.\nHebe diesen [accent]Behälter[] hoch und trage ihn auf den [accent]Frachtlader[].\n(Default-Tasten für Aufhaben und Fallenlassen sind [ und ] )
split.pickup.mobile = Manche Blöcke können von der Kerneinheit aufgehoben werden.\nHebe diesen [accent]Behälter[] hoch und trage ihn auf den [accent]Frachtlader[].\n(Um etwas aufzuheben oder fallenzulassen, tippe lange drauf.) split.pickup.mobile = Manche Blöcke können von der Kerneinheit aufgehoben werden.\nHebe diesen [accent]Behälter[] hoch und trage ihn auf den [accent]Frachtlader[].\n(Um etwas aufzuheben oder fallenzulassen, tippe lange drauf.)
@@ -2364,7 +2376,7 @@ block.small-heat-redirector.description = Redirects accumulated heat to other bl
block.heat-router.description = Verteilt angesammelte Hitze auf die 3 anderen Seiten. block.heat-router.description = Verteilt angesammelte Hitze auf die 3 anderen Seiten.
block.electrolyzer.description = Spaltet Wasser in Wasserstoff und Ozon. block.electrolyzer.description = Spaltet Wasser in Wasserstoff und Ozon.
block.atmospheric-concentrator.description = Sammelt Stickstoff aus der Atmosphäre. Benötigt Hitze. block.atmospheric-concentrator.description = Sammelt Stickstoff aus der Atmosphäre. Benötigt Hitze.
block.surge-crucible.description = Formt Spannungslegierung ais Schlacke und Silizium. Benötigt Hitze. block.surge-crucible.description = Formt Spannungslegierung aus Schlacke und Silizium. Benötigt Hitze.
block.phase-synthesizer.description = Synthetisiert Phasengewebe aus Thorium, Sand und Ozon. Benötigt Hitze. block.phase-synthesizer.description = Synthetisiert Phasengewebe aus Thorium, Sand und Ozon. Benötigt Hitze.
block.carbide-crucible.description = Verschmilzt Graphit und Wolfram zu Karbid. Benötigt Hitze. block.carbide-crucible.description = Verschmilzt Graphit und Wolfram zu Karbid. Benötigt Hitze.
block.cyanogen-synthesizer.description = Synthetisiert Cyanogen aus Arkyzit und Graphit. Benötigt Hitze. block.cyanogen-synthesizer.description = Synthetisiert Cyanogen aus Arkyzit und Graphit. Benötigt Hitze.
@@ -2373,7 +2385,7 @@ block.vent-condenser.description = Kondensiert Schlotgase zu Wasser. Verbraucht
block.plasma-bore.description = Baut unbefristet Erze aus einer Erzwand ab. Erfordert kleine Mengen an Strom.\nVerwendet optional Wasserstoff, um die Effizienz zu steigern. block.plasma-bore.description = Baut unbefristet Erze aus einer Erzwand ab. Erfordert kleine Mengen an Strom.\nVerwendet optional Wasserstoff, um die Effizienz zu steigern.
block.large-plasma-bore.description = Ein größerer Plasmabohrer. Kann Wolfram und Thorium abbauen. Benötigt Wasserstoff und Strom.\nVerwendet optional Stickstoff, um die Effizienz zu steigern. block.large-plasma-bore.description = Ein größerer Plasmabohrer. Kann Wolfram und Thorium abbauen. Benötigt Wasserstoff und Strom.\nVerwendet optional Stickstoff, um die Effizienz zu steigern.
block.cliff-crusher.description = Zertrümmert Wände, um durchgehend Sand herzustellen. Benötigt Strom. Effizienz variiert je nach Wandart. block.cliff-crusher.description = Zertrümmert Wände, um durchgehend Sand herzustellen. Benötigt Strom. Effizienz variiert je nach Wandart.
block.large-cliff-crusher.description = Zertrümmert Wände, um durchgehend Sand herzustellen. Benötigt Strom und Ozon. Effizienz variiert je nach Wandart. Optional wird Wolfram verbraucht um die Effizienz zu steigern. block.large-cliff-crusher.description = Zertrümmert Wände, um durchgehend Sand herzustellen. Benötigt Strom und Ozon. Effizienz variiert je nach Wandart. Optional wird Graphit verbraucht um die Effizienz zu steigern.
block.impact-drill.description = Baut durchgehend Erze in Schüben aus dem Boden ab. Benötigt Strom und Wasser. block.impact-drill.description = Baut durchgehend Erze in Schüben aus dem Boden ab. Benötigt Strom und Wasser.
block.eruption-drill.description = Ein verbesserter Schlagbohrer. Kann Thorium abbauen. Benötigt Wasserstoff. 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-conduit.description = Transportiert Flüssigkeiten. Nimmt von nicht-Kanälen nur von hinten an.

View File

@@ -101,6 +101,7 @@ coreattack = < ¡El núcleo está bajo ataque! >
nearpoint = [[ [scarlet]ABANDONA EL PUNTO DE ATERRIZAJE INMEDIATAMENTE[] ]\nAniquilación inminente nearpoint = [[ [scarlet]ABANDONA EL PUNTO DE ATERRIZAJE INMEDIATAMENTE[] ]\nAniquilación inminente
database = Base de datos del núcleo database = Base de datos del núcleo
database.button = Base de datos database.button = Base de datos
viewfields = View Content Fields
savegame = Guardar partida savegame = Guardar partida
loadgame = Cargar partida loadgame = Cargar partida
joingame = Unirse a partida joingame = Unirse a partida
@@ -155,11 +156,11 @@ mod.incompatiblemod = [red]Incompatible
mod.blacklisted = [red]No soportado mod.blacklisted = [red]No soportado
mod.unmetdependencies = [red]Dependencias no satisfechas mod.unmetdependencies = [red]Dependencias no satisfechas
mod.erroredcontent = [scarlet]Contenido erróneo mod.erroredcontent = [scarlet]Contenido erróneo
mod.circulardependencies = [red]Circular Dependencies mod.circulardependencies = [red]Dependencias circulares
mod.incompletedependencies = [red]Incomplete Dependencies mod.incompletedependencies = [red]Dependencias incompletas
mod.requiresversion.details = Requiere la versión del juego: [accent]{0}[]\nTu versión está desactualizada. Este mod requiere una versión más reciente del juego. mod.requiresversion.details = Requiere la versión del juego: [accent]{0}[]\nTu versión está desactualizada. Este mod requiere una versión más reciente del juego.
mod.incompatiblemod.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 147[] to its [accent]mod.json[] file. mod.incompatiblemod.details = Este mod es incompatible con la versión del juego actual. El autor debe actualizarlo y agregar [accent]minGameVersion: 147[] a su archivo [accent]mod.json[].
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.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.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.erroredcontent.details = La partida causó errores al cargar. Puedes pedir al autor del mod que los arregle.
@@ -209,7 +210,7 @@ campaign.select = Elegir campaña
campaign.none = [lightgray]Elige un planeta donde empezar.\nPuedes cambiar en cualquier momento. campaign.none = [lightgray]Elige un planeta donde empezar.\nPuedes cambiar en cualquier momento.
campaign.erekir = [accent]Recomendado para nuevos jugadores.[]\n\nContenido más reciente y pulido. Progresión de campaña lineal.\n\nNiveles y experiencia de mayor calidad. campaign.erekir = [accent]Recomendado para nuevos jugadores.[]\n\nContenido más reciente y pulido. Progresión de campaña lineal.\n\nNiveles y experiencia de mayor calidad.
campaign.serpulo = [scarlet]No recomendado para jugadores novatos.[]\n\nContenido más antiguo; La experiencia clásica. More open-ended.\n\nNiveles y mecánicas de juego potencialmente desequilibrados. campaign.serpulo = [scarlet]No recomendado para jugadores novatos.[]\n\nContenido más antiguo; La experiencia clásica. More open-ended.\n\nNiveles y mecánicas de juego potencialmente desequilibrados.
campaign.difficulty = Difficulty campaign.difficulty = Dificultad
completed = [accent]Completado completed = [accent]Completado
techtree = Investigaciones tecnológicas techtree = Investigaciones tecnológicas
techtree.select = Selección de esquemas de tecnologías techtree.select = Selección de esquemas de tecnologías
@@ -272,13 +273,13 @@ trace = Rastrear Jugador
trace.playername = Nombre del jugador: [accent]{0} trace.playername = Nombre del jugador: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.language = Language: [accent]{0} trace.language = Idioma: [accent]{0}
trace.mobile = Cliente de móvil: [accent]{0} trace.mobile = Cliente de móvil: [accent]{0}
trace.modclient = Cliente personalizado: [accent]{0} trace.modclient = Cliente personalizado: [accent]{0}
trace.times.joined = Se ha unido [accent]{0} []veces trace.times.joined = Se ha unido [accent]{0} []veces
trace.times.kicked = Fue expulsado [accent]{0} []veces trace.times.kicked = Fue expulsado [accent]{0} []veces
trace.ips = IPs: trace.ips = IPs:
trace.names = Names: trace.names = Nombres:
invalidid = ¡ID de cliente no válida! Puedes enviar un informe reportando el error. invalidid = ¡ID de cliente no válida! Puedes enviar un informe reportando el error.
player.ban = Ban player.ban = Ban
@@ -304,7 +305,7 @@ confirmunban = ¿Quieres quitar el veto a este jugador?
confirmadmin = ¿Quieres hacer administrador a "{0}[white]"? confirmadmin = ¿Quieres hacer administrador a "{0}[white]"?
confirmunadmin = ¿Quieres quitarle los permisos de administrador a "{0}[white]"? confirmunadmin = ¿Quieres quitarle los permisos de administrador a "{0}[white]"?
votekick.reason = Razón del Voto de Expulsión 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: votekick.reason.message = ¿Seguro quieres iniciar una votación para expulsar a "{0}[white]"?\nSi lo deseas, por favor introduce la razón:
joingame.title = Unirse a una Partida joingame.title = Unirse a una Partida
joingame.ip = Dirección IP: joingame.ip = Dirección IP:
disconnect = Desconectado. disconnect = Desconectado.
@@ -312,14 +313,14 @@ disconnect.error = Error de conexión.
disconnect.closed = Conexión cerrada. disconnect.closed = Conexión cerrada.
disconnect.timeout = Tiempo de espera agotado. disconnect.timeout = Tiempo de espera agotado.
disconnect.data = ¡Hubo un fallo al cargar los datos! disconnect.data = ¡Hubo un fallo al cargar los datos!
disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. disconnect.snapshottimeout = Tiempo de espera agotado al recibir instantánea UDP.\nEsto puede ser debido a una red inestable o una conexión lenta.
cantconnect = No es posible unirse a la partida ([accent]{0}[]). cantconnect = No es posible unirse a la partida ([accent]{0}[]).
connecting = [accent]Conectando... connecting = [accent]Conectando...
reconnecting = [accent]Reconectado... reconnecting = [accent]Reconectado...
connecting.data = [accent]Cargando datos del mundo... connecting.data = [accent]Cargando datos del mundo...
server.port = Puerto: server.port = Puerto:
server.invalidport = ¡El número de puerto no es valido! server.invalidport = ¡El número de puerto no es valido!
server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error.addressinuse = [scarlet]Error al abrir servidor en puerto 6567.[]\n\n¡Asegúrate que no haya otros servidores Mindustry corriendo en tu dispositivo o red!
server.error = [scarlet]Error alojando el servidor. server.error = [scarlet]Error alojando el servidor.
save.new = Nuevo archivo de guardado save.new = Nuevo archivo de guardado
save.overwrite = ¿Quieres sobrescribir\neste guardado? save.overwrite = ¿Quieres sobrescribir\neste guardado?
@@ -351,9 +352,9 @@ save.wave = Oleada {0}
save.mode = Modo de juego: {0} save.mode = Modo de juego: {0}
save.date = Último guardado: {0} save.date = Último guardado: {0}
save.playtime = Tiempo de juego: {0} save.playtime = Tiempo de juego: {0}
dontshowagain = Don't show again dontshowagain = No mostrar de nuevo
warn.32bit.title = 32-bit Deprecation Warning warn.32bit.title = Advertencia de obsolencia 32-bit
warn.32bit = You are using a [red]32-bit[] version of Mindustry.\nAs newer Java versions have dropped 32-bit Windows support, [red]32-bit support will be discontinued in the future[].\n\nPlease upgrade to a 64-bit machine, and make sure you have the 64-bit version of Mindustry downloaded.\n\nIf you are running Mindustry as a JAR file, make sure you are using 64-bit Java. warn.32bit = Estas usando una versión [red]32-bit[] de Mindustry.\nDado que versiones mas nuevas de Java han abandonado el soporte 32-bit para Windows, [red]el soporte 32-bit será discontinuado a futuro[].\n\nPor favor, actualiza a una máquina 64-bit y asegúrate de tener la versión 64-bit de Mindustry descargada.\n\nSi estas ejecutando Mindustry como un JAR, asegúrate de usar Java 64-bit.
warning = Aviso. warning = Aviso.
confirm = Confirmar confirm = Confirmar
delete = Borrar delete = Borrar
@@ -466,7 +467,15 @@ editor.waves = Oleadas:
editor.rules = Normas: editor.rules = Normas:
editor.generation = Generación: editor.generation = Generación:
editor.objectives = Objetivos editor.objectives = Objetivos
editor.locales = Locale Bundles editor.locales = Paquetes de localización
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -488,7 +497,7 @@ editor.shiftx = Trasladar X
editor.shifty = Trasladar Y editor.shifty = Trasladar Y
workshop = Steam Workshop workshop = Steam Workshop
waves.title = Oleadas waves.title = Oleadas
waves.team = Team waves.team = Equipo
waves.remove = Borrar waves.remove = Borrar
waves.every = cada waves.every = cada
waves.waves = oleada(s) waves.waves = oleada(s)
@@ -515,8 +524,8 @@ waves.sort.reverse = Invertir orden
waves.sort.begin = Inicio waves.sort.begin = Inicio
waves.sort.health = Vida waves.sort.health = Vida
waves.sort.type = Tipo waves.sort.type = Tipo
waves.search = Search waves... waves.search = Buscar oleadas...
waves.filter = Unit Filter waves.filter = Filtro de unidades
waves.units.hide = Ocultar todo waves.units.hide = Ocultar todo
waves.units.show = Mostrar todo waves.units.show = Mostrar todo
@@ -525,14 +534,14 @@ wavemode.counts = limitadas
wavemode.totals = totales wavemode.totals = totales
wavemode.health = por salud wavemode.health = por salud
all = All all = Todos
editor.default = [lightgray]<Por defecto> editor.default = [lightgray]<Por defecto>
details = Detalles... details = Detalles...
edit = Editar... edit = Editar...
variables = Variables variables = Variables
logic.clear.confirm = Are you sure you want to clear all code from this processor? logic.clear.confirm = ¿Seguro quieres limpiar todo el código de este procesador?
logic.restart = Restart logic.restart = Reiniciar
logic.globals = Built-in Variables logic.globals = Variables Integradas
editor.name = Nombre: editor.name = Nombre:
editor.spawn = Generar unidad editor.spawn = Generar unidad
@@ -791,6 +800,7 @@ campaign.complete = [accent]Enhorabuena.\n\nEl enemigo en {0} ha sido derrotado.
sectorlist = Sectores sectorlist = Sectores
sectorlist.attacked = {0} Bajo ataque sectorlist.attacked = {0} Bajo ataque
sectors.unexplored = [lightgray]Inexplorado sectors.unexplored = [lightgray]Inexplorado
sectors.attempts = Attempts:
sectors.resources = Recursos: sectors.resources = Recursos:
sectors.production = Producción: sectors.production = Producción:
sectors.export = Exportaciones: sectors.export = Exportaciones:
@@ -835,15 +845,15 @@ threat.extreme = Extrema
threat.eradication = Erradicación threat.eradication = Erradicación
difficulty.casual = Casual difficulty.casual = Casual
difficulty.easy = Easy difficulty.easy = Facil
difficulty.normal = Normal difficulty.normal = Normal
difficulty.hard = Hard difficulty.hard = Dificil
difficulty.eradication = Eradication difficulty.eradication = Erradicación
difficulty.enemyHealthMultiplier = Enemy Health: {0} difficulty.enemyHealthMultiplier = Salud del enemigo: {0}
difficulty.enemySpawnMultiplier = Enemy Amount: {0} difficulty.enemySpawnMultiplier = Cantidad de enemigos: {0}
difficulty.waveTimeMultiplier = Wave Timer: {0} difficulty.waveTimeMultiplier = Temporizador de oleada: {0}
difficulty.nomodifiers = [lightgray](No modifiers) difficulty.nomodifiers = [lightgray](Sin modificadores)
planets = Planetas planets = Planetas
@@ -1224,8 +1234,8 @@ category.items = Objetos
category.crafting = Fabricación category.crafting = Fabricación
category.function = Función category.function = Función
category.optional = Mejoras Opcionales category.optional = Mejoras Opcionales
setting.alwaysmusic.name = Always Play Music setting.alwaysmusic.name = Reproducir música siempre
setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. setting.alwaysmusic.description = Cuando esté habilitado, la musica se reproducirá siempre en bucle en el juego.\nCuando esté deshabilitado, se reproducirá la musica en intervalos aleatorios.
setting.skipcoreanimation.name = Omitir animación de Lanzamiento/Aterrizaje del núcleo setting.skipcoreanimation.name = Omitir animación de Lanzamiento/Aterrizaje del núcleo
setting.landscape.name = Bloquear en horizontal setting.landscape.name = Bloquear en horizontal
setting.shadows.name = Sombras setting.shadows.name = Sombras
@@ -1237,7 +1247,7 @@ setting.backgroundpause.name = Pausar en segundo plano
setting.buildautopause.name = Auto-pausar construcción setting.buildautopause.name = Auto-pausar construcción
setting.doubletapmine.name = Doble clic para extraer minerales setting.doubletapmine.name = Doble clic para extraer minerales
setting.commandmodehold.name = Mantener para comandar unidades setting.commandmodehold.name = Mantener para comandar unidades
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit setting.distinctcontrolgroups.name = Limitar un grupo de control por unidad
setting.modcrashdisable.name = Desactivar mods si el juego no puede iniciarse setting.modcrashdisable.name = Desactivar mods si el juego no puede iniciarse
setting.animatedwater.name = Animaciones de terreno setting.animatedwater.name = Animaciones de terreno
setting.animatedshields.name = Animación de escudos setting.animatedshields.name = Animación de escudos
@@ -1270,8 +1280,8 @@ setting.borderlesswindow.description = Aplicar los cambios podría requerir un r
setting.fps.name = Mostrar FPS y ping setting.fps.name = Mostrar FPS y ping
setting.console.name = Activar consola setting.console.name = Activar consola
setting.smoothcamera.name = Movimiento de cámara suave setting.smoothcamera.name = Movimiento de cámara suave
setting.detach-camera.name = Free Camera setting.detach-camera.name = Cámara libre
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey. setting.detach-camera.description = Si se habilita, la cámara se mueve independientemente de la unidad del jugador.\nEsta configuración puede ser asignada a una tecla.
setting.vsync.name = Sincronización vertical setting.vsync.name = Sincronización vertical
setting.pixelate.name = Pixelar setting.pixelate.name = Pixelar
setting.minimap.name = Mostrar minimapa setting.minimap.name = Mostrar minimapa
@@ -1280,19 +1290,19 @@ setting.position.name = Mostrar posición de jugadores
setting.mouseposition.name = Mostrar posición del cursor setting.mouseposition.name = Mostrar posición del cursor
setting.musicvol.name = Volumen de la música setting.musicvol.name = Volumen de la música
setting.atmosphere.name = Mostrar atmósfera de planetas setting.atmosphere.name = Mostrar atmósfera de planetas
setting.drawlight.name = Draw Darkness/Lighting setting.drawlight.name = Dibujar oscuridad/iluminación
setting.ambientvol.name = Volumen del ambiente setting.ambientvol.name = Volumen del ambiente
setting.mutemusic.name = Silenciar música setting.mutemusic.name = Silenciar música
setting.sfxvol.name = Volumen del sonido setting.sfxvol.name = Volumen del sonido
setting.mutesound.name = Silenciar sonido setting.mutesound.name = Silenciar sonido
setting.crashreport.name = Enviar registros de errores anónimos setting.crashreport.name = Enviar registros de errores anónimos
setting.communityservers.name = Fetch Community Server List setting.communityservers.name = Buscar lista de servidores de la comunidad
setting.savecreate.name = Guardado automático setting.savecreate.name = Guardado automático
setting.steampublichost.name = Public Game Visibility setting.steampublichost.name = Public Game Visibility
setting.playerlimit.name = Limite de jugadores setting.playerlimit.name = Limite de jugadores
setting.chatopacity.name = Opacidad del chat setting.chatopacity.name = Opacidad del chat
setting.lasersopacity.name = Opacidad de láseres energía setting.lasersopacity.name = Opacidad de láseres energía
setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.unitlaseropacity.name = Opacidad de rayo de minado de la unidad
setting.bridgeopacity.name = Opacidad de puentes setting.bridgeopacity.name = Opacidad de puentes
setting.playerchat.name = Mostrar chat de burbuja de jugadores setting.playerchat.name = Mostrar chat de burbuja de jugadores
setting.showweather.name = Efectos visuales climáticos setting.showweather.name = Efectos visuales climáticos
@@ -1301,9 +1311,9 @@ setting.macnotch.name = Adaptar la interfaz para mostrar la muesca
setting.macnotch.description = Es necesario reiniciar para aplicar los cambios setting.macnotch.description = Es necesario reiniciar para aplicar los cambios
steam.friendsonly = Friends Only 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.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance setting.maxmagnificationmultiplierpercent.name = Distancia de cámara mínima
setting.minmagnificationmultiplierpercent.name = Max Camera Distance setting.minmagnificationmultiplierpercent.name = Distancia de cámara máxima
setting.minmagnificationmultiplierpercent.description = High values may cause performance issues. setting.minmagnificationmultiplierpercent.description = Valores altos pueden causar problemas de rendimiento.
public.beta = Recuerda que no puedes crear partidas públicas en las versiones beta del juego. public.beta = Recuerda que no puedes crear partidas públicas en las versiones beta del juego.
uiscale.reset = La escala de interfaz ha sido modificada.\nPulsa "OK" para conservar esta escala.\n[scarlet]Se desharán los cambios automáticamente en [accent] {0}[] segundos... uiscale.reset = La escala de interfaz ha sido modificada.\nPulsa "OK" para conservar esta escala.\n[scarlet]Se desharán los cambios automáticamente en [accent] {0}[] segundos...
uiscale.cancel = Cancelar y salir uiscale.cancel = Cancelar y salir
@@ -1389,7 +1399,7 @@ keybind.shoot.name = Disparar
keybind.zoom.name = Zoom keybind.zoom.name = Zoom
keybind.menu.name = Menú keybind.menu.name = Menú
keybind.pause.name = Pausa keybind.pause.name = Pausa
keybind.skip_wave.name = Skip Wave keybind.skip_wave.name = Saltar oleada
keybind.pause_building.name = Pausar/Reanudar construcción keybind.pause_building.name = Pausar/Reanudar construcción
keybind.minimap.name = Minimapa keybind.minimap.name = Minimapa
keybind.planet_map.name = Mapa del planeta keybind.planet_map.name = Mapa del planeta
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = IA enemiga avanzada (RTS AI) rules.rtsai = IA enemiga avanzada (RTS AI)
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Tamaño mínimo de escuadrón rules.rtsminsquadsize = Tamaño mínimo de escuadrón
rules.rtsmaxsquadsize = Tamaño máximo de escuadrón rules.rtsmaxsquadsize = Tamaño máximo de escuadrón
rules.rtsminattackweight = Peso mínimo de ataque rules.rtsminattackweight = Peso mínimo de ataque
@@ -1491,12 +1503,12 @@ rules.title.teams = Equipos
rules.title.planet = Planeta rules.title.planet = Planeta
rules.lighting = Iluminación rules.lighting = Iluminación
rules.fog = Ocultar terreno inexplorado (Fog of War) rules.fog = Ocultar terreno inexplorado (Fog of War)
rules.invasions = Enemy Sector Invasions rules.invasions = Invasiones de sector enemigo
rules.legacylaunchpads = Legacy Launch Pad Mechanics rules.legacylaunchpads = Legacy Launch Pad Mechanics
rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0.
landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled)
rules.showspawns = Show Enemy Spawns rules.showspawns = Mostrar puntos de aparición de unidades enemigas
rules.randomwaveai = Unpredictable Wave AI rules.randomwaveai = Oleada impredecible de IA
rules.fire = Fuego rules.fire = Fuego
rules.anyenv = <Cualquiera> rules.anyenv = <Cualquiera>
rules.explosions = Daño de explosiones a bloques/unidades rules.explosions = Daño de explosiones a bloques/unidades
@@ -1506,9 +1518,9 @@ rules.weather.frequency = Frecuencia:
rules.weather.always = Siempre rules.weather.always = Siempre
rules.weather.duration = Duracion: rules.weather.duration = Duracion:
rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. rules.randomwaveai.info = Hace que las unidades aparecidas en oleadas ataquen estructuras aleatorias en lugar de atacar directamente al núcleo o generadores de energía.
rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. rules.placerangecheck.info = Previene que los jugadores construyan algo cerca de las estructuras enemigas. Cuando se intenta construir una torreta, el rango es aumentado, de modo que la torreta no podrá alcanzar al enemigo.
rules.onlydepositcore.info = Evita que las unidades depositen materiales en calquiera estructura a excepción del nucleo. rules.onlydepositcore.info = Evita que las unidades depositen materiales en cualquier estructura a excepción del nucleo.
content.item.name = Objetos content.item.name = Objetos
content.liquid.name = Líquidos content.liquid.name = Líquidos
@@ -1651,8 +1663,8 @@ block.graphite-press.name = Prensa de grafito
block.multi-press.name = Multi-Prensa block.multi-press.name = Multi-Prensa
block.constructing = {0} [lightgray](Construyendo) block.constructing = {0} [lightgray](Construyendo)
block.spawn.name = Zona de aterrizaje enemiga block.spawn.name = Zona de aterrizaje enemiga
block.remove-wall.name = Remove Wall block.remove-wall.name = Quitar muro
block.remove-ore.name = Remove Ore block.remove-ore.name = Quitar mineral
block.core-shard.name = Núcleo: Shard block.core-shard.name = Núcleo: Shard
block.core-foundation.name = Núcleo: Foundation block.core-foundation.name = Núcleo: Foundation
block.core-nucleus.name = Núcleo: Nucleus block.core-nucleus.name = Núcleo: Nucleus
@@ -1709,8 +1721,8 @@ block.metal-tiles-13.name = Metal Tiles 13
block.metal-wall-1.name = Metal Wall 1 block.metal-wall-1.name = Metal Wall 1
block.metal-wall-2.name = Metal Wall 2 block.metal-wall-2.name = Metal Wall 2
block.metal-wall-3.name = Metal Wall 3 block.metal-wall-3.name = Metal Wall 3
block.colored-floor.name = Colored Floor block.colored-floor.name = Piso coloreado
block.colored-wall.name = Colored Wall block.colored-wall.name = Muro coloreado
block.character-overlay.name = Character Overlay block.character-overlay.name = Character Overlay
block.character-overlay-white.name = Character Overlay (White) block.character-overlay-white.name = Character Overlay (White)
block.rune-overlay.name = Rune Overlay block.rune-overlay.name = Rune Overlay
@@ -1898,8 +1910,8 @@ block.arkyic-vent.name = Grieta de arquicita
block.yellow-stone-vent.name = Grieta de piedra amarillenta block.yellow-stone-vent.name = Grieta de piedra amarillenta
block.red-stone-vent.name = Grieta de piedra rojiza block.red-stone-vent.name = Grieta de piedra rojiza
block.crystalline-vent.name = Grieta cristalina block.crystalline-vent.name = Grieta cristalina
block.stone-vent.name = Stone Vent block.stone-vent.name = Grieta de piedra
block.basalt-vent.name = Basalt Vent block.basalt-vent.name = Grieta de basalto
block.redmat.name = Manto rojo block.redmat.name = Manto rojo
block.bluemat.name = Manto azul block.bluemat.name = Manto azul
block.core-zone.name = Zona de núcleo block.core-zone.name = Zona de núcleo

View File

@@ -101,6 +101,7 @@ coreattack = < Tuum on rünnaku all! >
nearpoint = [[ [scarlet]LAHKU KOHESELT MAANDUMISPLATSILT[] ]\nVaenlaste maandumisel hävib siin kõik. nearpoint = [[ [scarlet]LAHKU KOHESELT MAANDUMISPLATSILT[] ]\nVaenlaste maandumisel hävib siin kõik.
database = Tuumandmebaas database = Tuumandmebaas
database.button = Andmebaas database.button = Andmebaas
viewfields = View Content Fields
savegame = Salvesta Mäng savegame = Salvesta Mäng
loadgame = Lae Mäng loadgame = Lae Mäng
joingame = Liitu Mänguga joingame = Liitu Mänguga
@@ -467,6 +468,14 @@ editor.rules = Reeglid:
editor.generation = Genereerimine: editor.generation = Genereerimine:
editor.objectives = Objectives editor.objectives = Objectives
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeat
sectorlist = Sectors sectorlist = Sectors
sectorlist.attacked = {0} under attack sectorlist.attacked = {0} under attack
sectors.unexplored = [lightgray]Unexplored sectors.unexplored = [lightgray]Unexplored
sectors.attempts = Attempts:
sectors.resources = Resources: sectors.resources = Resources:
sectors.production = Production: sectors.production = Production:
sectors.export = Export: sectors.export = Export:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Min Squad Size rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight rules.rtsminattackweight = Min Attack Weight

View File

@@ -101,6 +101,7 @@ coreattack = < Muina erasopean dago! >
nearpoint = [[ [scarlet]ATERA ERRUNTZE EREMUTIK ATOAN[] ]\nDeuseztapena berehalakoa nearpoint = [[ [scarlet]ATERA ERRUNTZE EREMUTIK ATOAN[] ]\nDeuseztapena berehalakoa
database = Muinaren datu-basea database = Muinaren datu-basea
database.button = Database database.button = Database
viewfields = View Content Fields
savegame = Gorde partida savegame = Gorde partida
loadgame = Kargatu partida loadgame = Kargatu partida
joingame = Batu partidara joingame = Batu partidara
@@ -467,6 +468,14 @@ editor.rules = Arauak:
editor.generation = Sorrarazi: editor.generation = Sorrarazi:
editor.objectives = Objectives editor.objectives = Objectives
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeat
sectorlist = Sectors sectorlist = Sectors
sectorlist.attacked = {0} under attack sectorlist.attacked = {0} under attack
sectors.unexplored = [lightgray]Unexplored sectors.unexplored = [lightgray]Unexplored
sectors.attempts = Attempts:
sectors.resources = Resources: sectors.resources = Resources:
sectors.production = Production: sectors.production = Production:
sectors.export = Export: sectors.export = Export:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Min Squad Size rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight rules.rtsminattackweight = Min Attack Weight

View File

@@ -101,6 +101,7 @@ coreattack = < Ytimeen hyökätään! >
nearpoint = [[ [scarlet]POISTU VIHOLLISEN PUDOTUSPISTEELTÄ VÄLITTÖMÄSTI[]\nvälitön tuhoutuminen nearpoint = [[ [scarlet]POISTU VIHOLLISEN PUDOTUSPISTEELTÄ VÄLITTÖMÄSTI[]\nvälitön tuhoutuminen
database = Ytimen tietokanta database = Ytimen tietokanta
database.button = Tietokanta database.button = Tietokanta
viewfields = View Content Fields
savegame = Tallenna peli savegame = Tallenna peli
loadgame = Lataa peli loadgame = Lataa peli
joingame = Liity peliin joingame = Liity peliin
@@ -467,6 +468,14 @@ editor.rules = Säännöt:
editor.generation = Generaatio: editor.generation = Generaatio:
editor.objectives = Tehtävät editor.objectives = Tehtävät
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeat
sectorlist = Sektorit sectorlist = Sektorit
sectorlist.attacked = {0} on hyökkäyksen kohteena sectorlist.attacked = {0} on hyökkäyksen kohteena
sectors.unexplored = [lightgray]Tutkimaton sectors.unexplored = [lightgray]Tutkimaton
sectors.attempts = Attempts:
sectors.resources = Resurssit: sectors.resources = Resurssit:
sectors.production = Produktio: sectors.production = Produktio:
sectors.export = Vienti: sectors.export = Vienti:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Min. hyökkäysjoukon koko rules.rtsminsquadsize = Min. hyökkäysjoukon koko
rules.rtsmaxsquadsize = Max Squad Size rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min. hyökkäyksen paino rules.rtsminattackweight = Min. hyökkäyksen paino

View File

@@ -101,6 +101,7 @@ coreattack = < Ang core ay inaatake! >
nearpoint = [[ [scarlet]UMALIS KAAGAD SA DROP POINT[] ]\nmamamatay ka... nearpoint = [[ [scarlet]UMALIS KAAGAD SA DROP POINT[] ]\nmamamatay ka...
database = Talaan ng Core database = Talaan ng Core
database.button = Talaan database.button = Talaan
viewfields = View Content Fields
savegame = Ibago ang Laro savegame = Ibago ang Laro
loadgame = Ibukas ang Laro loadgame = Ibukas ang Laro
joingame = Sumali sa Laro joingame = Sumali sa Laro
@@ -467,6 +468,14 @@ editor.rules = Mga Alintuntunin:
editor.generation = Pagbuo: editor.generation = Pagbuo:
editor.objectives = Mga Gawain editor.objectives = Mga Gawain
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = Proseso ng Map editor.worldprocessors = Proseso ng Map
editor.worldprocessors.editname = Iedit ang pangalan editor.worldprocessors.editname = Iedit ang pangalan
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeat
sectorlist = Mga Sektor sectorlist = Mga Sektor
sectorlist.attacked = {0} ay inaatake sectorlist.attacked = {0} ay inaatake
sectors.unexplored = [lightgray]Unexplored sectors.unexplored = [lightgray]Unexplored
sectors.attempts = Attempts:
sectors.resources = Resources: sectors.resources = Resources:
sectors.production = Produksyon: sectors.production = Produksyon:
sectors.export = Export: sectors.export = Export:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = Sa mapang attake, ginagawa gina grupo ang mga unit at inaatake ang player bases sa mas-maraming matalinong na manner. rules.rtsai.campaign.info = Sa mapang attake, ginagawa gina grupo ang mga unit at inaatake ang player bases sa mas-maraming matalinong na manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Pinakamaliit Squad Size rules.rtsminsquadsize = Pinakamaliit Squad Size
rules.rtsmaxsquadsize = Pinakaraming Squad Size rules.rtsmaxsquadsize = Pinakaraming Squad Size
rules.rtsminattackweight = Min Attack Weight rules.rtsminattackweight = Min Attack Weight

View File

@@ -101,6 +101,7 @@ coreattack = [scarlet]< Le Noyau est attaqué ! >
nearpoint = [[ [scarlet]QUITTEZ LE POINT D'APPARITION ENNEMI IMMÉDIATEMENT[] ]\nannihilation imminente nearpoint = [[ [scarlet]QUITTEZ LE POINT D'APPARITION ENNEMI IMMÉDIATEMENT[] ]\nannihilation imminente
database = Base de données database = Base de données
database.button = Base de données database.button = Base de données
viewfields = View Content Fields
savegame = Sauvegarder la partie savegame = Sauvegarder la partie
loadgame = Charger une partie loadgame = Charger une partie
joingame = Rejoindre une partie joingame = Rejoindre une partie
@@ -467,6 +468,14 @@ editor.rules = Règles
editor.generation = Génération editor.generation = Génération
editor.objectives = Objectifs editor.objectives = Objectifs
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Editer le nom editor.worldprocessors.editname = Editer le nom
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Félicitations.\n\nL'ennemi sur {0} a été battu.\n
sectorlist = Secteurs sectorlist = Secteurs
sectorlist.attacked = {0} pris d'assaut sectorlist.attacked = {0} pris d'assaut
sectors.unexplored = [lightgray]Inexploré sectors.unexplored = [lightgray]Inexploré
sectors.attempts = Attempts:
sectors.resources = Ressources : sectors.resources = Ressources :
sectors.production = Production : sectors.production = Production :
sectors.export = Exporter : sectors.export = Exporter :
@@ -1447,6 +1457,8 @@ rules.buildaitier = Niveau de l'IA de Construction de Base
rules.rtsai = IA de RTS [red](WIP) rules.rtsai = IA de RTS [red](WIP)
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Taille Minimale d'une Escouade rules.rtsminsquadsize = Taille Minimale d'une Escouade
rules.rtsmaxsquadsize = Taille Maximale d'une Escouade rules.rtsmaxsquadsize = Taille Maximale d'une Escouade
rules.rtsminattackweight = Poids Minimum d'une Attaque rules.rtsminattackweight = Poids Minimum d'une Attaque

View File

@@ -101,6 +101,7 @@ coreattack = < A támaszpont támadás alatt áll! >
nearpoint = [[ [scarlet]AZONNAL HAGYD EL A LEDOBÁSI PONTOT[] ]\nA megsemmisülés fenyeget! nearpoint = [[ [scarlet]AZONNAL HAGYD EL A LEDOBÁSI PONTOT[] ]\nA megsemmisülés fenyeget!
database = Támaszpont adatbázisa database = Támaszpont adatbázisa
database.button = Adatbázis database.button = Adatbázis
viewfields = Tartalmi mezők megtekintése
savegame = Játék mentése savegame = Játék mentése
loadgame = Játék betöltése loadgame = Játék betöltése
joingame = Kapcsolódás egy játékhoz joingame = Kapcsolódás egy játékhoz
@@ -448,9 +449,9 @@ publish.confirm = Biztosan közzéteszed ezt az elemet?\n\n[lightgray]Győződj
publish.error = Hiba az elem közzétételekor: {0} publish.error = Hiba az elem közzétételekor: {0}
steam.error = Nem sikerült előkészíteni a Steam szolgáltatásokat.\nHiba: {0} steam.error = Nem sikerült előkészíteni a Steam szolgáltatásokat.\nHiba: {0}
editor.showblocks = Show Blocks editor.showblocks = Blokkok megjelenítése
editor.showterrain = Show Terrain editor.showterrain = Domborzat megjelenítése
editor.showfloor = Show Floor editor.showfloor = Talaj megjelenítése
editor.planet = Bolygó: editor.planet = Bolygó:
editor.sector = Szektor: editor.sector = Szektor:
editor.seed = Kiindulóérték: editor.seed = Kiindulóérték:
@@ -467,6 +468,14 @@ editor.rules = Szabályok
editor.generation = Előállítás editor.generation = Előállítás
editor.objectives = Célok editor.objectives = Célok
editor.locales = Helyi csomagok editor.locales = Helyi csomagok
editor.patches.guide = Útmutató a javítócsomagokhoz
editor.patches = Tartalmi javítócsomagok
editor.patch = Javítócsomagok: {0}
editor.patches.none = [lightgray]Nincsenek javítócsomagok betöltve.
editor.patches.errors = Javítócsomag-hibák
editor.patches.importerror = Nem sikerült importálni a javítócsomagot
editor.patches.delete.confirm = Biztosan törölni szeretnéd ezt a javítócsomagot?
editor.patch.fields = {0} mezők
editor.worldprocessors = Világprocesszorok editor.worldprocessors = Világprocesszorok
editor.worldprocessors.editname = Név szerkesztése editor.worldprocessors.editname = Név szerkesztése
editor.worldprocessors.none = [lightgray]Nem találhatók világprocesszor-blokkok!\nAdj hozzá egyet a pályaszerkesztőben vagy használd az alábbi \ue813 hozzáadás gombot. editor.worldprocessors.none = [lightgray]Nem találhatók világprocesszor-blokkok!\nAdj hozzá egyet a pályaszerkesztőben vagy használd az alábbi \ue813 hozzáadás gombot.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Gratulálunk.\n\nLegyőzted az ellenséget a(z) {0}
sectorlist = Szektorok sectorlist = Szektorok
sectorlist.attacked = {0} támadás alatt sectorlist.attacked = {0} támadás alatt
sectors.unexplored = [lightgray]Felderítetlen sectors.unexplored = [lightgray]Felderítetlen
sectors.attempts = Elfoglalási kísérletek száma:
sectors.resources = Nyersanyagok: sectors.resources = Nyersanyagok:
sectors.production = Termelés: sectors.production = Termelés:
sectors.export = Export: sectors.export = Export:
@@ -801,7 +811,7 @@ sectors.wave = Hullám:
sectors.stored = Tárolt nyersanyagok: sectors.stored = Tárolt nyersanyagok:
sectors.resume = Folytatás sectors.resume = Folytatás
sectors.launch = Kilövés sectors.launch = Kilövés
sectors.viewsubmission = \ue80d Alküldetések megtekintése sectors.viewsubmission = \ue80d Alküldetés megtekintése
sectors.select = Kiválasztás sectors.select = Kiválasztás
sectors.launchselect = Célállomás kiválasztása sectors.launchselect = Célállomás kiválasztása
sectors.nonelaunch = [lightgray]semmi (nap) sectors.nonelaunch = [lightgray]semmi (nap)
@@ -879,7 +889,7 @@ sector.seaPort.name = Tengeri kikötő
sector.weatheredChannels.name = Viharvert csatornák sector.weatheredChannels.name = Viharvert csatornák
sector.mycelialBastion.name = Micéliumbástya sector.mycelialBastion.name = Micéliumbástya
sector.frontier.name = Frontvidék sector.frontier.name = Frontvidék
sector.sunkenPier.name = Sunken Pier sector.sunkenPier.name = Elsüllyedt móló
sector.cruxscape.name = Crux-vidék sector.cruxscape.name = Crux-vidék
sector.geothermalStronghold.name = Geotermikus erődítmény sector.geothermalStronghold.name = Geotermikus erődítmény
@@ -953,15 +963,15 @@ sector.crossroads.description = Az ellenséges támaszpontok ebben a szektorban
sector.karst.description = Ez a szektor gazdag a nyersanyagokban, de amint egy új támaszpont leszáll, az ellenség megtámadja azt.\nHasználd ki a nyersanyagokat és fedezd fel a [accent]tóritkvarcot[]. sector.karst.description = Ez a szektor gazdag a nyersanyagokban, de amint egy új támaszpont leszáll, az ellenség megtámadja azt.\nHasználd ki a nyersanyagokat és fedezd fel a [accent]tóritkvarcot[].
sector.origin.description = Az utolsó szektor, jelentős ellenséges jelenléttel.\nNem valószínű, hogy maradtak további fejlesztési lehetőségek koncentrálj az ellenséges támaszpontok elpusztítására. sector.origin.description = Az utolsó szektor, jelentős ellenséges jelenléttel.\nNem valószínű, hogy maradtak további fejlesztési lehetőségek koncentrálj az ellenséges támaszpontok elpusztítására.
status.burning.name = Égő status.burning.name = Égés
status.freezing.name = Fagyos status.freezing.name = Fagyás
status.wet.name = Nedves status.wet.name = Vizes
status.muddy.name = Sáros status.muddy.name = Sáros
status.melting.name = Olvadó status.melting.name = Olvadás
status.sapped.name = Kiszáradt status.sapped.name = Legyengült
status.electrified.name = Elektromos status.electrified.name = Árammal ellátott
status.spore-slowed.name = Spórával lassított status.spore-slowed.name = Spóralassított
status.tarred.name = Kátrányozott status.tarred.name = Kátrányos
status.overdrive.name = Túlhajtott status.overdrive.name = Túlhajtott
status.overclock.name = Túlhúzott status.overclock.name = Túlhúzott
status.shocked.name = Sokkolt status.shocked.name = Sokkolt
@@ -1014,10 +1024,10 @@ stat.opposites = Ellentettek
stat.powercapacity = Maximális tárolási kapacitás stat.powercapacity = Maximális tárolási kapacitás
stat.powershot = Áram/lövés stat.powershot = Áram/lövés
stat.damage = Sebzés stat.damage = Sebzés
stat.frequency = Frequency stat.frequency = Frekvencia
stat.targetsair = Légi célpontok stat.targetsair = Légi célpontok
stat.targetsground = Földi célpontok stat.targetsground = Földi célpontok
stat.crushdamage = Crush Damage stat.crushdamage = Zúzó sebzés
stat.itemsmoved = Szállítási sebesség stat.itemsmoved = Szállítási sebesség
stat.launchtime = Kilövések közötti idő stat.launchtime = Kilövések közötti idő
stat.shootrange = Hatótávolság stat.shootrange = Hatótávolság
@@ -1102,7 +1112,7 @@ ability.movelightning.description = Mozgás közben villámokat bocsát ki
ability.armorplate = Páncéllemez ability.armorplate = Páncéllemez
ability.armorplate.description = Csökkenti a kapott sebzést lövés közben ability.armorplate.description = Csökkenti a kapott sebzést lövés közben
ability.shieldarc = Erőpajzs-ív ability.shieldarc = Erőpajzs-ív
ability.shieldarc.description = Olyan erőpajzsot vetít ki egy ívben, amely elnyeli a lövedékeket ability.shieldarc.description = Olyan erőpajzsot vetít ki egy ívben, amely elnyeli vagy eltéríti a lövedékeket, rakétákat és egységeket.
ability.suppressionfield = Javítás elnyomása ability.suppressionfield = Javítás elnyomása
ability.suppressionfield.description = Leállítja a közeli javítóépületeket ability.suppressionfield.description = Leállítja a közeli javítóépületeket
ability.energyfield = Energiamező ability.energyfield = Energiamező
@@ -1122,7 +1132,7 @@ ability.stat.regen = [stat]{0}[lightgray] életerő/mp
ability.stat.pulseregen = [stat]{0}[lightgray] életerő/impulzus ability.stat.pulseregen = [stat]{0}[lightgray] életerő/impulzus
ability.stat.shield = [stat]{0}[lightgray] maximális pajzs ability.stat.shield = [stat]{0}[lightgray] maximális pajzs
ability.stat.repairspeed = [stat]{0}/mp[lightgray] javítási sebesség ability.stat.repairspeed = [stat]{0}/mp[lightgray] javítási sebesség
ability.stat.deflectchance = [stat]{0}%[lightgray] deflect chance ability.stat.deflectchance = [stat]{0}%[lightgray] hárítási esély
ability.stat.slurpheal = [stat]{0}[lightgray] életerő/folyadékegység ability.stat.slurpheal = [stat]{0}[lightgray] életerő/folyadékegység
ability.stat.cooldown = [stat]{0} mp[lightgray] újratöltődés ability.stat.cooldown = [stat]{0} mp[lightgray] újratöltődés
ability.stat.maxtargets = [stat]{0}[lightgray] célpont (legfeljebb) ability.stat.maxtargets = [stat]{0}[lightgray] célpont (legfeljebb)
@@ -1447,6 +1457,8 @@ rules.buildaitier = Építő MI szintje
rules.rtsai = RTS MI rules.rtsai = RTS MI
rules.rtsai.campaign = RTS támadó-MI rules.rtsai.campaign = RTS támadó-MI
rules.rtsai.campaign.info = A „támadómódú” pályákon (ahol az ellenség is rendelkezik támaszponttal) az MI által irányított\negységek csoportosulnak, és intelligensebb módon támadják a játékosok bázisait. rules.rtsai.campaign.info = A „támadómódú” pályákon (ahol az ellenség is rendelkezik támaszponttal) az MI által irányított\negységek csoportosulnak, és intelligensebb módon támadják a játékosok bázisait.
rules.clearsectoronloss = Szektor kiürítése elvesztés esetén
rules.clearsectoronloss.info = A szektor elvesztése esetén az előző elfoglalási kísérlet alatt\na játékos által épített épületek nem lesznek elérhetők.
rules.rtsminsquadsize = Minimális osztagméret rules.rtsminsquadsize = Minimális osztagméret
rules.rtsmaxsquadsize = Maximális osztagméret rules.rtsmaxsquadsize = Maximális osztagméret
rules.rtsminattackweight = Minimális támadási súly rules.rtsminattackweight = Minimális támadási súly
@@ -1670,7 +1682,7 @@ block.snow.name = Hó
block.crater-stone.name = Kráterek block.crater-stone.name = Kráterek
block.sand-water.name = Homokvíz block.sand-water.name = Homokvíz
block.darksand-water.name = Sötét homokvíz block.darksand-water.name = Sötét homokvíz
block.char.name = Faszén block.char.name = Elszenesedett kő
block.dacite.name = Dácit block.dacite.name = Dácit
block.rhyolite.name = Riolit block.rhyolite.name = Riolit
block.dacite-wall.name = Dácitfal block.dacite-wall.name = Dácitfal
@@ -2479,9 +2491,9 @@ unit.navanax.description = Robbanékony EMI-lövedékeket lő ki, jelentős kár
#Erekir #Erekir
unit.stell.description = Szokásos lövedékeket lő ki az ellenséges célpontokra. unit.stell.description = Szokásos lövedékeket lő ki az ellenséges célpontokra.
unit.locus.description = Változatos lövedékeket lő ki az ellenséges célpontokra. unit.locus.description = Változatos lövedékeket lő ki az ellenséges célpontokra.
unit.precept.description = Átütő erejű kazettás lövedékeket lő ki az ellenséges célpontokra. unit.precept.description = Átütő erejű kazettás lövedékeket lő ki az ellenséges célpontokra. Kevésbé sérül a káros tereptárgyaktól.
unit.vanquish.description = Nagy, átütő erejű hasítólövedékeket lő ki az ellenséges célpontokra. unit.vanquish.description = Nagy, átütő erejű hasítólövedékeket lő ki az ellenséges célpontokra. Kevésbé sérül a káros tereptárgyaktól.
unit.conquer.description = Nagy, átütő erejű golyózáport lő ki az ellenséges célpontokra. unit.conquer.description = Nagy, átütő erejű golyózáport lő ki az ellenséges célpontokra. Kevésbé sérül a káros tereptárgyaktól.
unit.merui.description = Nagy hatótávolságú ágyúkkal lövi az ellenséges szárazföldi célpontokat. A legtöbb terepakadályt átlépi. unit.merui.description = Nagy hatótávolságú ágyúkkal lövi az ellenséges szárazföldi célpontokat. A legtöbb terepakadályt átlépi.
unit.cleroi.description = Kettős lövedékeket lő ki az ellenséges célpontokra. Célba veszi az ellenséges lövedékeket a pontvédelmi tornyokkal. A legtöbb terepakadályt átlépi. unit.cleroi.description = Kettős lövedékeket lő ki az ellenséges célpontokra. Célba veszi az ellenséges lövedékeket a pontvédelmi tornyokkal. A legtöbb terepakadályt átlépi.
unit.anthicus.description = Nagy hatótávolságú célkövető rakétákat lő ki az ellenséges célpontokra. A legtöbb terepakadályt átlépi. unit.anthicus.description = Nagy hatótávolságú célkövető rakétákat lő ki az ellenséges célpontokra. A legtöbb terepakadályt átlépi.

View File

@@ -101,6 +101,7 @@ coreattack = < Inti sedang diserang! >
nearpoint = [[ [scarlet]TINGGALKAN ZONA PENDARATAN SEGERA[] ]\npenghancuran akan terjadi nearpoint = [[ [scarlet]TINGGALKAN ZONA PENDARATAN SEGERA[] ]\npenghancuran akan terjadi
database = Basis Data Inti database = Basis Data Inti
database.button = Basis Data database.button = Basis Data
viewfields = Lihat Bidang Konten
savegame = Simpan Permainan savegame = Simpan Permainan
loadgame = Muat Permainan loadgame = Muat Permainan
joingame = Gabung Permainan joingame = Gabung Permainan
@@ -446,7 +447,7 @@ missing = Konten ini telah dihapus atau dipindah.\n[lightgray]Daftar Workshop se
publishing = [accent]Menerbitkan... publishing = [accent]Menerbitkan...
publish.confirm = Apakah Anda yakin untuk menerbitkan ini?\n\n[lightgray]Pastikan Anda setuju dengan EULA Workshop terlebih dahulu, atau konten Anda tidak akan muncul! publish.confirm = Apakah Anda yakin untuk menerbitkan ini?\n\n[lightgray]Pastikan Anda setuju dengan EULA Workshop terlebih dahulu, atau konten Anda tidak akan muncul!
publish.error = Terjadi kesalahan saat menerbitkan konten: {0} publish.error = Terjadi kesalahan saat menerbitkan konten: {0}
steam.error = Gagal untuk menjalankan layanan Steam.\nKesalahan: {0} steam.error = Gagal menjalankan layanan Steam.\nKesalahan: {0}
editor.showblocks = Tampilkan Blok editor.showblocks = Tampilkan Blok
editor.showterrain = Tampilkan Medan editor.showterrain = Tampilkan Medan
@@ -467,6 +468,14 @@ editor.rules = Peraturan:
editor.generation = Generasi: editor.generation = Generasi:
editor.objectives = Tujuan editor.objectives = Tujuan
editor.locales = Paket Lokal editor.locales = Paket Lokal
editor.patches.guide = Panduan Patch Konten
editor.patches = Patch Konten
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]Tidak ada patchset yang dimuat.
editor.patches.errors = Daftar Patchset Error
editor.patches.importerror = Gagal mengimpor patchset
editor.patches.delete.confirm = Apakah Anda yakin ingin menghapus patchset ini?
editor.patch.fields = {0} bidang
editor.worldprocessors = Prosesor Dunia editor.worldprocessors = Prosesor Dunia
editor.worldprocessors.editname = Sunting Nama editor.worldprocessors.editname = Sunting Nama
editor.worldprocessors.none = [lightgray]Tidak ada blok prosesor dunia yang ditemukan!\nTambahkan satu di penyunting peta, atau gunakan \ue813 tombol Tambah di bawah. editor.worldprocessors.none = [lightgray]Tidak ada blok prosesor dunia yang ditemukan!\nTambahkan satu di penyunting peta, atau gunakan \ue813 tombol Tambah di bawah.
@@ -773,7 +782,7 @@ error.invalidaddress = Alamat tidak valid.
error.timedout = Kehabisan waktu!\nPastikan host mengaktifkan port forwarding, dan alamatnya benar! error.timedout = Kehabisan waktu!\nPastikan host mengaktifkan port forwarding, dan alamatnya benar!
error.mismatch = Paket bermasalah:\nkemungkinan versi client/server berbeda.\nPastikan Anda dan host mempunyai versi terbaru Mindustry! error.mismatch = Paket bermasalah:\nkemungkinan versi client/server berbeda.\nPastikan Anda dan host mempunyai versi terbaru Mindustry!
error.alreadyconnected = Sudah tersambung. error.alreadyconnected = Sudah tersambung.
error.mapnotfound = File peta tidak ditemaukan! error.mapnotfound = File peta tidak ditemukan!
error.io = Terjadi kesalahan jaringan I/O. error.io = Terjadi kesalahan jaringan I/O.
error.any = Terjadi kesalahan Jaringan tidak diketahui. error.any = Terjadi kesalahan Jaringan tidak diketahui.
error.bloom = Gagal untuk menjalankan efek bloom.\nPerangkat Anda mungkin tidak mendukung fitur ini. error.bloom = Gagal untuk menjalankan efek bloom.\nPerangkat Anda mungkin tidak mendukung fitur ini.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Selamat.\n\nMusuh di {0} telah dikalahkan.\n[lightgr
sectorlist = Sektor sectorlist = Sektor
sectorlist.attacked = {0} sedang diserang sectorlist.attacked = {0} sedang diserang
sectors.unexplored = [lightgray]Belum Ditelusuri sectors.unexplored = [lightgray]Belum Ditelusuri
sectors.attempts = Percobaan:
sectors.resources = Sumber Daya: sectors.resources = Sumber Daya:
sectors.production = Produksi: sectors.production = Produksi:
sectors.export = Ekspor: sectors.export = Ekspor:
@@ -855,12 +865,12 @@ sector.impact0078.name = Benturan 0078
sector.groundZero.name = Titik Awal sector.groundZero.name = Titik Awal
sector.craters.name = Kawah sector.craters.name = Kawah
sector.frozenForest.name = Hutan Beku sector.frozenForest.name = Hutan Beku
sector.ruinousShores.name = Pantai Yang Hancur sector.ruinousShores.name = Runtuhan Pesisir
sector.stainedMountains.name = Gunung Bernoda sector.stainedMountains.name = Gunung Bernoda
sector.desolateRift.name = Retakan Terpencil sector.desolateRift.name = Retakan Terpencil
sector.nuclearComplex.name = Kompleks Produksi Nuklir sector.nuclearComplex.name = Kompleks Produksi Nuklir
sector.overgrowth.name = Pertumbuhan sector.overgrowth.name = Pertumbuhan
sector.tarFields.name = Lahan Perminyakan Mentah sector.tarFields.name = Ladang Minyak
sector.saltFlats.name = Dataran Garam sector.saltFlats.name = Dataran Garam
sector.fungalPass.name = Lintasan Spora sector.fungalPass.name = Lintasan Spora
sector.biomassFacility.name = Pabrik Sintesis Biomassa sector.biomassFacility.name = Pabrik Sintesis Biomassa
@@ -872,7 +882,7 @@ sector.infestedCanyons.name = Ngarai Terinfestasi
sector.planetaryTerminal.name = Pusat Peluncuran Planet sector.planetaryTerminal.name = Pusat Peluncuran Planet
sector.coastline.name = Tepi Pantai sector.coastline.name = Tepi Pantai
sector.navalFortress.name = Benteng Laut sector.navalFortress.name = Benteng Laut
sector.polarAerodrome.name = Aerodrom Kutub sector.polarAerodrome.name = Pangkalan Kutub
sector.atolls.name = Atol sector.atolls.name = Atol
sector.testingGrounds.name = Kawasan Uji Coba sector.testingGrounds.name = Kawasan Uji Coba
sector.seaPort.name = Pelabuhan Laut sector.seaPort.name = Pelabuhan Laut
@@ -1120,7 +1130,7 @@ ability.liquidexplode.description = Menumpahkan cairan saat mati
ability.stat.firingrate = [stat]{0}/dtk[lightgray] laju penembakan ability.stat.firingrate = [stat]{0}/dtk[lightgray] laju penembakan
ability.stat.regen = [stat]{0}[lightgray] nyawa/detik ability.stat.regen = [stat]{0}[lightgray] nyawa/detik
ability.stat.pulseregen = [stat]{0}[lightgray] nyawa/denyut ability.stat.pulseregen = [stat]{0}[lightgray] nyawa/denyut
ability.stat.shield = [stat]{0}[lightgray] perisai ability.stat.shield = [stat]{0}[lightgray] nyawa perisai
ability.stat.repairspeed = [stat]{0}/dtk[lightgray] kecepatan perbaikan ability.stat.repairspeed = [stat]{0}/dtk[lightgray] kecepatan perbaikan
ability.stat.deflectchance = [stat]{0}%[lightgray] peluang defleksi ability.stat.deflectchance = [stat]{0}%[lightgray] peluang defleksi
ability.stat.slurpheal = [stat]{0}[lightgray] nyawa/unit cair ability.stat.slurpheal = [stat]{0}[lightgray] nyawa/unit cair
@@ -1447,6 +1457,8 @@ rules.buildaitier = Tingkat A.I. Pembangun
rules.rtsai = A.I. RTS [red](WIP) rules.rtsai = A.I. RTS [red](WIP)
rules.rtsai.campaign = A.I. Serangan RTS rules.rtsai.campaign = A.I. Serangan RTS
rules.rtsai.campaign.info = Dalam peta serangan, membuat unit berkelompok dan menyerang markas pemain dengan cara yang lebih cerdas. rules.rtsai.campaign.info = Dalam peta serangan, membuat unit berkelompok dan menyerang markas pemain dengan cara yang lebih cerdas.
rules.clearsectoronloss = Bersihkan Sektor Setelah Kalah
rules.clearsectoronloss.info = Ketika suatu sektor telah dikalahkan oleh musuh, semua bangunan pemain dari percobaan sebelumnya akan dihilangkan.
rules.rtsminsquadsize = Ukuran Regu Minimum rules.rtsminsquadsize = Ukuran Regu Minimum
rules.rtsmaxsquadsize = Ukuran Regu Maksimum rules.rtsmaxsquadsize = Ukuran Regu Maksimum
rules.rtsminattackweight = Berat Serangan Minimum rules.rtsminattackweight = Berat Serangan Minimum
@@ -1670,7 +1682,7 @@ block.snow.name = Salju
block.crater-stone.name = Kawah block.crater-stone.name = Kawah
block.sand-water.name = Air pada Pasir block.sand-water.name = Air pada Pasir
block.darksand-water.name = Air pada Pasir Hitam block.darksand-water.name = Air pada Pasir Hitam
block.char.name = Bara block.char.name = Bara Hangus
block.dacite.name = Dasit block.dacite.name = Dasit
block.rhyolite.name = Riolit block.rhyolite.name = Riolit
block.dacite-wall.name = Dinding Dasit block.dacite-wall.name = Dinding Dasit
@@ -2460,7 +2472,7 @@ unit.eclipse.description = Menembak dua sinar laser dan rentetan peluru ke arah
unit.mono.description = Menambang tembaga dan timah secara otomatis, menyimpannya ke dalam inti. unit.mono.description = Menambang tembaga dan timah secara otomatis, menyimpannya ke dalam inti.
unit.poly.description = Membangun kembali bangunan yang hancur secara otomatis dan membantu unit lain dalam pembangunan. unit.poly.description = Membangun kembali bangunan yang hancur secara otomatis dan membantu unit lain dalam pembangunan.
unit.mega.description = Memperbaiki bangunan secara otomatis. Dapat membawa bangunan dan unit darat kecil. unit.mega.description = Memperbaiki bangunan secara otomatis. Dapat membawa bangunan dan unit darat kecil.
unit.quad.description = Menjatuhkan bom besar kepada target darat, yang bisa memberbaiki bangunan sekutu dan merusak musuh. Dapat membawa unit darat berukuran sedang. unit.quad.description = Menjatuhkan bom besar ke target darat, yang bisa memberbaiki bangunan sekutu dan merusak musuh. Dapat membawa unit darat berukuran sedang.
unit.oct.description = Melindungi sekutu di sekitarnya dengan perisai yang dapat beregenerasi. Dapat membawa hampir semua unit darat. unit.oct.description = Melindungi sekutu di sekitarnya dengan perisai yang dapat beregenerasi. Dapat membawa hampir semua unit darat.
unit.risso.description = Menembak rentetan misil dan peluru ke arah musuh. unit.risso.description = Menembak rentetan misil dan peluru ke arah musuh.
unit.minke.description = Menembak cangkang pembakar dan peluru standar ke target darat. unit.minke.description = Menembak cangkang pembakar dan peluru standar ke target darat.
@@ -2490,8 +2502,8 @@ unit.collaris.description = Menembak pecahan artileri jarak jauh ke arah musuh.
unit.elude.description = Menembak sepasang peluru pelacak ke arah musuh. Dapat mengambang diatas permukaan cairan. unit.elude.description = Menembak sepasang peluru pelacak ke arah musuh. Dapat mengambang diatas permukaan cairan.
unit.avert.description = Menembak sepasang peluru yang memutar ke arah musuh. unit.avert.description = Menembak sepasang peluru yang memutar ke arah musuh.
unit.obviate.description = Menembak sepasang bola listrik yang memutar ke arah musuh. unit.obviate.description = Menembak sepasang bola listrik yang memutar ke arah musuh.
unit.quell.description = Menembak misil pelacak jarak jauh dengan perisai plasma yang tidak stabil ke arah musuh. Menekan bangunan perbaikan musuh. unit.quell.description = Menembak misil pelacak jarak jauh dengan perisai plasma yang tidak stabil ke arah musuh. Menekan bangunan perbaikan musuh. Hanya menyerang ke target darat.
unit.disrupt.description = Menembak misil pelacak penekan jarak jauh pada musuh. Menekan bangunan perbaikan musuh. unit.disrupt.description = Menembak misil pelacak penekan jarak jauh pada musuh. Menekan bangunan perbaikan musuh. Hanya menyerang ke target darat.
unit.evoke.description = Membangun struktur untuk melindungi Inti Bastion. Memperbaiki bangunan dengan sebuah sinar. Dapat membawa bangunan hingga ukuran 2x2. unit.evoke.description = Membangun struktur untuk melindungi Inti Bastion. Memperbaiki bangunan dengan sebuah sinar. Dapat membawa bangunan hingga ukuran 2x2.
unit.incite.description = Membangun struktur untuk melindungi Inti Citadel. Memperbaiki bangunan dengan sebuah sinar. Dapat membawa bangunan hingga ukuran 2x2. unit.incite.description = Membangun struktur untuk melindungi Inti Citadel. Memperbaiki bangunan dengan sebuah sinar. Dapat membawa bangunan hingga ukuran 2x2.
unit.emanate.description = Membangun struktur untuk melindungi Inti Acropolis. Memperbaiki bangunan dengan sebuah sinar. Dapat membawa bangunan hingga ukuran 2x2 unit.emanate.description = Membangun struktur untuk melindungi Inti Acropolis. Memperbaiki bangunan dengan sebuah sinar. Dapat membawa bangunan hingga ukuran 2x2
@@ -2765,8 +2777,8 @@ lenum.waves = Apakah gelombang dapat muncul sama sekali.
lenum.wavesending = Apakah gelombang dapat dipanggil secara manual dengan tombol putar. lenum.wavesending = Apakah gelombang dapat dipanggil secara manual dengan tombol putar.
lenum.attackmode = Menentukan apakah mode permainan adalah mode serangan. lenum.attackmode = Menentukan apakah mode permainan adalah mode serangan.
lenum.wavespacing = Waktu antar gelombang dalam tick. lenum.wavespacing = Waktu antar gelombang dalam tick.
lenum.enemycorebuildradius = Zona dilarang membangun disekitar radius inti musuh. lenum.enemycorebuildradius = Zona dilarang membangun di sekitar radius inti musuh.
lenum.dropzoneradius = Radius disekitar zona pendaratan gelombang musuh. lenum.dropzoneradius = Radius di sekitar zona pendaratan gelombang musuh.
lenum.unitcap = Batas unit dasar. Dapat ditingkatkan dengan blok. lenum.unitcap = Batas unit dasar. Dapat ditingkatkan dengan blok.
lenum.lighting = Apakah pencahayaan sekitar diaktifkan. lenum.lighting = Apakah pencahayaan sekitar diaktifkan.
lenum.buildspeed = Penggandaan untuk kecepatan membangun. lenum.buildspeed = Penggandaan untuk kecepatan membangun.

View File

@@ -101,6 +101,7 @@ coreattack = < Il Nucleo è sotto attacco! >
nearpoint = [[ [scarlet]LASCIA LA ZONA NEMICA IMMEDIATAMENTE[] ]\nautodistruzione imminente nearpoint = [[ [scarlet]LASCIA LA ZONA NEMICA IMMEDIATAMENTE[] ]\nautodistruzione imminente
database = Database Nucleo database = Database Nucleo
database.button = Database database.button = Database
viewfields = View Content Fields
savegame = Salva savegame = Salva
loadgame = Carica loadgame = Carica
joingame = Unisciti al Gioco joingame = Unisciti al Gioco
@@ -467,6 +468,14 @@ editor.rules = Regole:
editor.generation = Generazione: editor.generation = Generazione:
editor.objectives = Obbiettivi editor.objectives = Obbiettivi
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeat
sectorlist = Settore sectorlist = Settore
sectorlist.attacked = {0} sotto attacco sectorlist.attacked = {0} sotto attacco
sectors.unexplored = [lightgray]Inesplorato sectors.unexplored = [lightgray]Inesplorato
sectors.attempts = Attempts:
sectors.resources = Risorse: sectors.resources = Risorse:
sectors.production = Produzione: sectors.production = Produzione:
sectors.export = Merce: sectors.export = Merce:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Dimensione minima squadra rules.rtsminsquadsize = Dimensione minima squadra
rules.rtsmaxsquadsize = Dimensione massima squadra rules.rtsmaxsquadsize = Dimensione massima squadra
rules.rtsminattackweight = Min Attack Weight rules.rtsminattackweight = Min Attack Weight

View File

@@ -101,6 +101,7 @@ coreattack = < コアが攻撃を受けています! >
nearpoint = [[ [scarlet]直ちに出現ポイントより離脱せよ[] ]\n殲滅されます nearpoint = [[ [scarlet]直ちに出現ポイントより離脱せよ[] ]\n殲滅されます
database = コアデータベース database = コアデータベース
database.button = データベース database.button = データベース
viewfields = View Content Fields
savegame = 保存 savegame = 保存
loadgame = 読み込む loadgame = 読み込む
joingame = マルチプレイ joingame = マルチプレイ
@@ -467,6 +468,14 @@ editor.rules = ルール:
editor.generation = 生成: editor.generation = 生成:
editor.objectives = オブジェクティブ editor.objectives = オブジェクティブ
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = 名前の変更 editor.worldprocessors.editname = 名前の変更
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]おめでとうございます。\n\n{0} の敵を
sectorlist = セクター sectorlist = セクター
sectorlist.attacked = {0}が攻撃を受けています sectorlist.attacked = {0}が攻撃を受けています
sectors.unexplored = [lightgray]未踏査 sectors.unexplored = [lightgray]未踏査
sectors.attempts = Attempts:
sectors.resources = 資源: sectors.resources = 資源:
sectors.production = 生産: sectors.production = 生産:
sectors.export = 搬出: sectors.export = 搬出:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = チームの最少人数 rules.rtsminsquadsize = チームの最少人数
rules.rtsmaxsquadsize = チームの最大人数 rules.rtsmaxsquadsize = チームの最大人数
rules.rtsminattackweight = 最小攻撃力 rules.rtsminattackweight = 最小攻撃力

View File

@@ -46,10 +46,10 @@ mods.browser.selected = 선택된 모드
mods.browser.add = 설치 mods.browser.add = 설치
mods.browser.reinstall = 재설치 mods.browser.reinstall = 재설치
mods.browser.view-releases = 릴리즈 보기 mods.browser.view-releases = 릴리즈 보기
mods.browser.noreleases = [scarlet]탐색된 릴리즈 없음\n[accent]이 모드의 어떠한 릴리즈도 찾지 못했습니다. 이 모드의 저장소에서 공개된 릴리즈가 있는지 확인하세요. mods.browser.noreleases = [scarlet]탐색된 릴리즈 없음\n[accent]이 모드의 어떠한 릴리즈도 찾지 못했습니다. 이 모드의 깃허브 페이지에서 공개된 릴리즈가 있는지 확인하세요.
mods.browser.latest = <최신> mods.browser.latest = <최신>
mods.browser.releases = 릴리즈 mods.browser.releases = 릴리즈
mods.github.open = 저장소 보기 mods.github.open = 페이지 보기
mods.github.open-release = 릴리즈 페이지 mods.github.open-release = 릴리즈 페이지
mods.browser.sortdate = 최근 업데이트 mods.browser.sortdate = 최근 업데이트
mods.browser.sortstars = 추천(스타) 수 mods.browser.sortstars = 추천(스타) 수
@@ -98,9 +98,10 @@ level.highscore = 최고 점수: [accent]{0}
level.select = 맵 선택 level.select = 맵 선택
level.mode = 게임 모드: level.mode = 게임 모드:
coreattack = < 코어가 공격을 받고 있습니다! > coreattack = < 코어가 공격을 받고 있습니다! >
nearpoint = [[ [scarlet]즉시 적 소환구역에서 떠나세요[] ]\n단계가 시작하는 순간 구역 내의 모든 건물과 유닛이 파괴됩니다! nearpoint = [[ [scarlet]즉시 적 착륙 지점에서 떠나세요[] ]\n점멸이 임박됨
database = 코어 데이터베이스 database = 코어 데이터베이스
database.button = 데이터베이스 database.button = 데이터베이스
viewfields = View Content Fields
savegame = 게임 저장 savegame = 게임 저장
loadgame = 게임 불러오기 loadgame = 게임 불러오기
joingame = 서버 참여 joingame = 서버 참여
@@ -214,7 +215,7 @@ completed = [accent]완료됨
techtree = 연구 기록 techtree = 연구 기록
techtree.select = 연구 기록 선택 techtree.select = 연구 기록 선택
techtree.serpulo = 세르플로 techtree.serpulo = 세르플로
techtree.erekir = 르키아 techtree.erekir = 러키얼
research.load = 불러오기 research.load = 불러오기
research.discard = 무시하기 research.discard = 무시하기
research.list = [lightgray]연구: research.list = [lightgray]연구:
@@ -454,7 +455,7 @@ editor.showfloor = 바닥 표시
editor.planet = 행성: editor.planet = 행성:
editor.sector = 구역: editor.sector = 구역:
editor.seed = 시드: editor.seed = 시드:
editor.brush = 브러쉬 editor.brush = 브러쉬 크기
editor.openin = 편집기 열기 editor.openin = 편집기 열기
editor.oregen = 광물 무작위 생성 editor.oregen = 광물 무작위 생성
editor.oregen.info = 광물 무작위 생성: editor.oregen.info = 광물 무작위 생성:
@@ -467,6 +468,14 @@ editor.rules = 규칙
editor.generation = 지형 생성 editor.generation = 지형 생성
editor.objectives = 목표 editor.objectives = 목표
editor.locales = 로케일 번들 editor.locales = 로케일 번들
editor.patches.guide = Patch Guide
editor.patches = 콘텐츠 패치
editor.patch = 패치셋: {0}
editor.patches.none = [lightgray]패치셋이 로드되지 않음.
editor.patches.errors = 패치셋 에러
editor.patches.importerror = 패치셋을 가져오는데 실패됨
editor.patches.delete.confirm = 이 패치셋을 삭제하시겠습니까?
editor.patch.fields = {0} 필드
editor.worldprocessors = 월드 프로세서 editor.worldprocessors = 월드 프로세서
editor.worldprocessors.editname = 이름 수정 editor.worldprocessors.editname = 이름 수정
editor.worldprocessors.none = [lightgray]월드 프로세서 블록을 찾을 수 없습니다!\n맵 편집기에서 추가하거나 아래의 \ue813 추가 버튼을 사용하세요. editor.worldprocessors.none = [lightgray]월드 프로세서 블록을 찾을 수 없습니다!\n맵 편집기에서 추가하거나 아래의 \ue813 추가 버튼을 사용하세요.
@@ -476,7 +485,7 @@ editor.ingame = 인게임 편집
editor.playtest = 맵 테스트 editor.playtest = 맵 테스트
editor.publish.workshop = 창작마당 게시 editor.publish.workshop = 창작마당 게시
editor.newmap = 맵 만들기 editor.newmap = 맵 만들기
editor.center = 중앙 editor.center = 중앙으로 이동
editor.search = 맵 검색 editor.search = 맵 검색
editor.filters = 맵 필터링 editor.filters = 맵 필터링
editor.filters.mode = 게임 모드: editor.filters.mode = 게임 모드:
@@ -735,7 +744,7 @@ objective.destroyblock = [accent]파괴:\n[]{0}[lightgray]{1}
objective.destroyblocks = [accent]파괴: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} objective.destroyblocks = [accent]파괴: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3}
objective.item = [accent]획득: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} objective.item = [accent]획득: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3}
objective.coreitem = [accent]코어로 운반:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} objective.coreitem = [accent]코어로 운반:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3}
objective.build = [accent]건설: [][lightgray]{0}[]개\n{1}[lightgray]{2} objective.build = [accent]건설: [][lightgray]{0}[]개\n{1}[lightgray]{2}
objective.buildunit = [accent]유닛 생산: [][lightgray]{0}[]기\n{1}[lightgray]{2} objective.buildunit = [accent]유닛 생산: [][lightgray]{0}[]기\n{1}[lightgray]{2}
objective.destroyunits = [accent]처치: [][lightgray]{0}[]기의 유닛 objective.destroyunits = [accent]처치: [][lightgray]{0}[]기의 유닛
objective.enemiesapproaching = [accent]적이 [lightgray]{0}[]초 후에 도착합니다 objective.enemiesapproaching = [accent]적이 [lightgray]{0}[]초 후에 도착합니다
@@ -791,6 +800,7 @@ campaign.complete = [accent]축하드립니다.\n\n {0} 지역의 적이 패배
sectorlist = 지역 목록 sectorlist = 지역 목록
sectorlist.attacked = {0} 공격받는 중 sectorlist.attacked = {0} 공격받는 중
sectors.unexplored = [lightgray]미개척지[] sectors.unexplored = [lightgray]미개척지[]
sectors.attempts = 시도 횟수:
sectors.resources = 자원: sectors.resources = 자원:
sectors.production = 생산량: sectors.production = 생산량:
sectors.export = 수출량: sectors.export = 수출량:
@@ -848,7 +858,7 @@ difficulty.nomodifiers = [lightgray](옵션 없음)
planets = 태양계 planets = 태양계
planet.serpulo.name = 세르플로 planet.serpulo.name = 세르플로
planet.erekir.name = 르키아 planet.erekir.name = 러키얼
planet.sun.name = 태양 planet.sun.name = 태양
sector.impact0078.name = 임팩트 0078 sector.impact0078.name = 임팩트 0078
@@ -864,7 +874,7 @@ sector.tarFields.name = 타르 벌판
sector.saltFlats.name = 소금 사막 sector.saltFlats.name = 소금 사막
sector.fungalPass.name = 포자 지대 sector.fungalPass.name = 포자 지대
sector.biomassFacility.name = 유기물 합성 시설 sector.biomassFacility.name = 유기물 합성 시설
sector.windsweptIslands.name = 폭풍의 격전지 sector.windsweptIslands.name = 바람이 세찬 섬
sector.extractionOutpost.name = 자원 추출기지 sector.extractionOutpost.name = 자원 추출기지
sector.facility32m.name = 32 M 시설 sector.facility32m.name = 32 M 시설
sector.taintedWoods.name = 오염된 산림 sector.taintedWoods.name = 오염된 산림
@@ -935,7 +945,7 @@ sector.crossroads.name = 교차로
sector.karst.name = 카르스트 sector.karst.name = 카르스트
sector.origin.name = 근원 sector.origin.name = 근원
sector.onset.description = 르키아 정복을 시작하세요. 자원을 모으고, 유닛을 생산하고, 기술 연구를 시작하세요. sector.onset.description = 러키얼 정복을 시작하세요. 자원을 모으고, 유닛을 생산하고, 기술 연구를 시작하세요.
sector.aegis.description = 이 구역에는 텅스텐 매장지가 있습니다.\n[accent]충격 드릴[]을 연구해 이 자원을 채굴하고 해당 지역의 적 기지를 파괴하세요. sector.aegis.description = 이 구역에는 텅스텐 매장지가 있습니다.\n[accent]충격 드릴[]을 연구해 이 자원을 채굴하고 해당 지역의 적 기지를 파괴하세요.
sector.lake.description = 이 지역의 광재 호수는 유닛의 활동 범위를 크게 제한시킵니다. 호버링 유닛만이 유일한 선택지입니다.\n[accent]함선 재구성기[]를 연구하고 [accent]일루드[]를 가능한 한 빨리 생산하여야 합니다. sector.lake.description = 이 지역의 광재 호수는 유닛의 활동 범위를 크게 제한시킵니다. 호버링 유닛만이 유일한 선택지입니다.\n[accent]함선 재구성기[]를 연구하고 [accent]일루드[]를 가능한 한 빨리 생산하여야 합니다.
sector.intersect.description = 정찰 결과 이 지역은 착륙 직후 여러 방향에서 공격받을 것으로 예측됩니다.\n방어선을 빠르게 구축하고 가능한 한 빠르게 확장하여야 합니다.\n이 지역의 험난한 지형을 위해서는 [accent]기계[] 유닛이 필요할 것입니다. sector.intersect.description = 정찰 결과 이 지역은 착륙 직후 여러 방향에서 공격받을 것으로 예측됩니다.\n방어선을 빠르게 구축하고 가능한 한 빠르게 확장하여야 합니다.\n이 지역의 험난한 지형을 위해서는 [accent]기계[] 유닛이 필요할 것입니다.
@@ -1107,7 +1117,7 @@ ability.suppressionfield = 재생성 억제 필드
ability.suppressionfield.description = 근처 수리 건물을 잠깐동안 억제함 ability.suppressionfield.description = 근처 수리 건물을 잠깐동안 억제함
ability.energyfield = 에너지 필드 ability.energyfield = 에너지 필드
ability.energyfield.description = 근처 적을 감전시킴 ability.energyfield.description = 근처 적을 감전시킴
ability.energyfield.healdescription = 근처 적에게 전기 충격을 주고 아군을 치료함 ability.energyfield.healdescription = 근처 적에게 전기 충격을 주고 건물과 아군을 치료함
ability.regen = 재생 ability.regen = 재생
ability.regen.description = 시간이 지남에 따라 스스로 체력을 재생함 ability.regen.description = 시간이 지남에 따라 스스로 체력을 재생함
ability.liquidregen = 액체 흡수 ability.liquidregen = 액체 흡수
@@ -1447,6 +1457,8 @@ rules.buildaitier = 건설 AI 등급
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS 공격 AI rules.rtsai.campaign = RTS 공격 AI
rules.rtsai.campaign.info = 공격 맵에서는 유닛을 그룹화하여 더욱 지능적인 방식으로 플레이어 기지를 공격합니다. rules.rtsai.campaign.info = 공격 맵에서는 유닛을 그룹화하여 더욱 지능적인 방식으로 플레이어 기지를 공격합니다.
rules.clearsectoronloss = 지역을 잃었을 시 잔해 제거
rules.clearsectoronloss.info = 지역을 잃게되면 이전 시도에서 건설한 플레이어의 건물이 유지되지 않습니다.
rules.rtsminsquadsize = 최소 부대 규모 rules.rtsminsquadsize = 최소 부대 규모
rules.rtsmaxsquadsize = 최대 부대 규모 rules.rtsmaxsquadsize = 최대 부대 규모
rules.rtsminattackweight = 최소 공격 중량 rules.rtsminattackweight = 최소 공격 중량
@@ -1711,8 +1723,8 @@ block.metal-wall-2.name = 금속 벽 2
block.metal-wall-3.name = 금속 벽 3 block.metal-wall-3.name = 금속 벽 3
block.colored-floor.name = 색상 바닥 block.colored-floor.name = 색상 바닥
block.colored-wall.name = 색상 벽 block.colored-wall.name = 색상 벽
block.character-overlay.name = 문자 타일 block.character-overlay.name = 문자 장식
block.character-overlay-white.name = 문자 타일 (하얀색) block.character-overlay-white.name = 문자 장식 (하얀색)
block.rune-overlay.name = 룬 장식 block.rune-overlay.name = 룬 장식
block.rune-overlay-crux.name = 룬 장식 (크럭스) block.rune-overlay-crux.name = 룬 장식 (크럭스)
block.dark-panel-1.name = 검은 패널 1 block.dark-panel-1.name = 검은 패널 1
@@ -1830,7 +1842,7 @@ block.cyclone.name = 사이클론
block.fuse.name = 퓨즈 block.fuse.name = 퓨즈
block.shock-mine.name = 전격 지뢰 block.shock-mine.name = 전격 지뢰
block.overdrive-projector.name = 과부하 프로젝터 block.overdrive-projector.name = 과부하 프로젝터
block.force-projector.name = 보호막 프로젝터 block.force-projector.name = 방호 프로젝터
block.arc.name = 아크 block.arc.name = 아크
block.rtg-generator.name = RTG 발전기 block.rtg-generator.name = RTG 발전기
block.spectre.name = 스펙터 block.spectre.name = 스펙터
@@ -1860,7 +1872,7 @@ block.payload-source.name = 화물 공급기
block.disassembler.name = 광재 분해기 block.disassembler.name = 광재 분해기
block.silicon-crucible.name = 실리콘 도가니 block.silicon-crucible.name = 실리콘 도가니
block.overdrive-dome.name = 대형 과부하 프로젝터 block.overdrive-dome.name = 대형 과부하 프로젝터
block.interplanetary-accelerator.name = 성간 가속기 block.interplanetary-accelerator.name = 성간 가속기
block.constructor.name = 건설기 block.constructor.name = 건설기
block.constructor.description = 최대 2x2 크기의 구조물을 제작합니다. block.constructor.description = 최대 2x2 크기의 구조물을 제작합니다.
block.large-constructor.name = 대형 건설기 block.large-constructor.name = 대형 건설기
@@ -1962,8 +1974,8 @@ block.radar.name = 레이더
block.build-tower.name = 건설 타워 block.build-tower.name = 건설 타워
block.regen-projector.name = 재생 프로젝터 block.regen-projector.name = 재생 프로젝터
block.shockwave-tower.name = 충격파 타워 block.shockwave-tower.name = 충격파 타워
block.shield-projector.name = 방어막 프로젝터 block.shield-projector.name = 보호막 프로젝터
block.large-shield-projector.name = 대형 방어막 프로젝터 block.large-shield-projector.name = 대형 보호막 프로젝터
block.armored-duct.name = 장갑 도관 block.armored-duct.name = 장갑 도관
block.overflow-duct.name = 포화 도관 block.overflow-duct.name = 포화 도관
block.underflow-duct.name = 불포화 도관 block.underflow-duct.name = 불포화 도관
@@ -2089,21 +2101,21 @@ hint.factoryControl.mobile = 유닛 공장의 [accent]출력 목적지[]를 설
gz.mine = 주변 땅에 있는 \uf8c4 [accent]구리 광석[]으로 이동하고, 광석을 클릭해서 채굴을 시작하세요. gz.mine = 주변 땅에 있는 \uf8c4 [accent]구리 광석[]으로 이동하고, 광석을 클릭해서 채굴을 시작하세요.
gz.mine.mobile = 주변 땅에 있는 \uf8c4 [accent]구리 광석[]으로 이동하고, 광석을 눌러서 채굴을 시작하세요. gz.mine.mobile = 주변 땅에 있는 \uf8c4 [accent]구리 광석[]으로 이동하고, 광석을 눌러서 채굴을 시작하세요.
gz.research = 오른쪽 하단에 \ue875 연구 기록을 클릭하거나 'J'키를 눌러 여세요.\n\uf870 [accent]기계식 드릴[]을 연구하고, 그 후 연구 기록을 닫은 후, 오른쪽 아래에 있는 블록 메뉴에서 [accent]드릴 아이콘의 카테고리[]를 클릭하고, 해당 드릴을 선택하세요.\n구리 광석 위에 클릭해서 배치합니다.\n(만약 바로 건설되는게 불편하다면, 설정에서 건설 자동 일시정지를 킬 수 있습니다.)[] gz.research = 오른쪽 하단에 \ue875 연구 기록을 클릭하거나 'J'키를 눌러 여세요.\n\uf870 [accent]기계식 드릴[]을 연구하고, 그 후 연구 기록을 닫은 후, 오른쪽 아래에 있는 블록 메뉴에서 [accent]드릴 아이콘의 카테고리[]를 클릭하고, 해당 드릴을 선택하세요.\n구리 광석 위에 클릭해서 배치합니다.\n[lightgray](만약 바로 건설되는게 불편하다면, 설정->게임에서 건설 자동 일시정지를 킬 수 있습니다.)[]
gz.research.mobile = 왼쪽 상단에 \ue875 연구 기록을 눌러 여세요.\n\uf870 [accent]기계식 드릴[]을 연구하고, 그 후 연구 메뉴를 닫아서 오른쪽 아래에 있는 블록 메뉴에 [accent]드릴 아이콘의 카테고리[]를 누르고, 해당 드릴을 선택하세요.\n구리 광석 위에 눌러서 배치합니다.\n\n오른쪽 아래 \ue800 [accent]체크마크[]를 눌러 확정지으세요. gz.research.mobile = 왼쪽 상단에 \ue875 연구 기록을 눌러 여세요.\n\uf870 [accent]기계식 드릴[]을 연구하고, 그 후 연구 메뉴를 닫아서 오른쪽 아래에 있는 블록 메뉴에 [accent]드릴 아이콘의 카테고리[]를 누르고, 해당 드릴을 선택하세요.\n구리 광석 위에 눌러서 배치합니다.\n\n오른쪽 아래 \ue800 [accent]체크마크[]를 눌러 확정지으세요.
gz.conveyors = \uf896 이제 연구 기록을 다시 열어 [accent]컨베이어[]를 연구하고 배치하여 채굴된 자원을 운반하세요.\n드릴에서 코어로 말이죠.\n\n컨베이어를 선택하고, 클릭하고 드래그해서 컨베이어를 길게 배치하세요.\n[accent]스크롤[]로 방향을 회전할 수 있습니다.\n자원이 부족하면 연구나 건설이 불가능해지니 참고해주세요. gz.conveyors = \uf896 이제 연구 기록을 다시 열어 [accent]컨베이어[]를 연구하고 배치하여 채굴된 자원을 운반하세요.\n드릴에서 코어로 말이죠.\n\n컨베이어를 선택하고, 클릭하고 드래그해서 컨베이어를 길게 배치하세요.\n[accent]스크롤[]로 방향을 회전할 수 있습니다.\n자원이 부족하면 연구나 건설이 불가능해지니 참고해주세요.
gz.conveyors.mobile = \uf896 이제 연구 기록을 다시 열어 [accent]컨베이어[]를 연구하고 배치하여 채굴된 자원을 운반하세요.\n드릴에서 코어로 말이죠.\n\n손가락을 길게 누르고 끌어서 컨베이어를 길게 배치하세요.\n자원이 부족하면 연구나 건설이 불가능해지니 참고해주세요. gz.conveyors.mobile = \uf896 이제 연구 기록을 다시 열어 [accent]컨베이어[]를 연구하고 배치하여 채굴된 자원을 운반하세요.\n드릴에서 코어로 말이죠.\n\n손가락을 길게 누르고 끌어서 컨베이어를 길게 배치하세요.\n자원이 부족하면 연구나 건설이 불가능해지니 참고해주세요.
gz.drills = 채굴 작업을 확장하세요.\n기계식 드릴을 더 배치하세요.\n[accent]새 목표:[] 드릴로 구리를 채굴하고 컨베이어를 이용해 [accent]구리 100개[]를 코어로 운반하기. gz.drills = 채굴 작업을 확장하세요.\n기계식 드릴을 더 배치하세요.\n[accent]새 목표:[] 드릴로 구리를 채굴하고 컨베이어를 이용해 [accent]구리 100개[]를 코어로 운반하기.
gz.lead = \uf837 [accent]납[]은 일반적으로 사용되는 또 다른 자원입니다.\n납을 채굴하기 위한 드릴 건설하세요. gz.lead = \uf837 [accent]납[]은 일반적으로 사용되는 또 다른 자원입니다.\n납을 채굴하기 위한 드릴과 컨베이어를 건설하세요.
gz.moveup = \ue804 추가 목표를 위해 위로 이동하세요. gz.moveup = \ue804 추가 목표를 위해 위로 이동하세요.
gz.turrets = 이 게임의 핵심인 '코어'를 보호하기 위해 \uf861 [accent]듀오[] 포탑을 연구하고 2개를 설치하세요.\n듀오 포탑은 컨베이어로부터 \uf838 [accent]탄약[]을 공급받아야 합니다. gz.turrets = 이 게임의 핵심인 '코어'를 보호하기 위해 \uf861 [accent]듀오[] 포탑을 연구하고 2개를 설치하세요.\n듀오 포탑은 컨베이어로부터 \uf838 [accent]탄약[]을 공급받아야 합니다.
gz.duoammo = 컨베이어를 활용하여, 듀오 포탑에 [accent]구리[]를 공급하세요. gz.duoammo = 컨베이어를 활용하여, 듀오 포탑에 [accent]구리[]를 공급하세요.
gz.walls = [accent]벽[]은 건물로 날아오는 공격을 막을 수 있습니다. \n포탑 주변에 \uf8ae [accent]구리 벽[]을 배치하세요. gz.walls = [accent]벽[]은 건물로 날아오는 공격을 막을 수 있습니다. \n\uf8ae [accent]구리 벽[]을 연구하고 포탑 주변에 배치하세요.
gz.defend = 적이 다가옵니다, 방어 태세를 갖추세요. gz.defend = 적이 다가옵니다, 방어 태세를 갖추세요.
gz.aa = 비행 유닛은 기본 포탑으로는 쉽게 처리할 수 없습니다.\n\uf860 [accent]스캐터[] 포탑은 훌륭한 대공 방어를 자랑하지만, 탄환으로 \uf837 [accent]납[]이 필요합니다. gz.aa = 비행 유닛은 기본 포탑으로는 쉽게 처리할 수 없습니다.\n\uf860 [accent]스캐터[] 포탑은 훌륭한 대공 방어를 자랑하지만, 탄환으로 \uf837 [accent]납[]이 필요합니다.\n전에 숙지 했던 방법으로 스캐터를 배치하세요.
gz.scatterammo = 컨베이어를 활용하여, 스캐터 포탑에 [accent]납[]을 공급하세요. gz.scatterammo = 컨베이어를 활용하여, 스캐터 포탑에 [accent]납[]을 공급하세요.
gz.supplyturret = [accent]보급 포탑 gz.supplyturret = [accent]포탑에 탄약 보급
gz.zone1 = 이건 적의 착륙 지점입니다. gz.zone1 = 여긴 적의 착륙 지점입니다.
gz.zone2 = 반경에 세워진 모든 것은 단계가 시작되면 파괴됩니다. gz.zone2 = 반경에 세워진 모든 것은 단계가 시작되면 파괴됩니다.
gz.zone3 = 단계가 지금 시작됩니다.\n준비하세요. gz.zone3 = 단계가 지금 시작됩니다.\n준비하세요.
gz.finish = 포탑을 더 건설하고, 자원을 더 채굴하고,\n그리고 모든 단계를 막아내어 [accent]이 지역을 점령[]하세요. 이것으로 튜토리얼을 마칩니다. 행운을 빕니다. gz.finish = 포탑을 더 건설하고, 자원을 더 채굴하고,\n그리고 모든 단계를 막아내어 [accent]이 지역을 점령[]하세요. 이것으로 튜토리얼을 마칩니다. 행운을 빕니다.
@@ -2163,7 +2175,7 @@ item.blast-compound.description = 폭탄과 폭발성 탄약에 사용되는 불
item.pyratite.description = 방화 무기와 연료를 연소하는 발전기에 사용되는 가연성이 매우 높은 물질입니다. item.pyratite.description = 방화 무기와 연료를 연소하는 발전기에 사용되는 가연성이 매우 높은 물질입니다.
#Erekir #Erekir
item.beryllium.description = 르키아의 여러 종류의 건축물과 탄약에 사용됩니다. item.beryllium.description = 러키얼의 여러 종류의 건축물과 탄약에 사용됩니다.
item.tungsten.description = 드릴, 장갑 및 탄약에 사용됩니다. 보다 발전된 구조물을 건설하는 데 필요합니다. item.tungsten.description = 드릴, 장갑 및 탄약에 사용됩니다. 보다 발전된 구조물을 건설하는 데 필요합니다.
item.oxide.description = 전력용 열전도체 및 절연체로 사용됩니다. item.oxide.description = 전력용 열전도체 및 절연체로 사용됩니다.
item.carbide.description = 첨단 구조물, 강력한 유닛 및 탄약에 사용됩니다. item.carbide.description = 첨단 구조물, 강력한 유닛 및 탄약에 사용됩니다.

View File

@@ -101,6 +101,7 @@ coreattack = < Branduolys yra puolamas! >
nearpoint = [[ [scarlet]NEDELSDAMI PALIKITE IŠMETIMO ZONĄ[] ]\nneišvengiamas sunaikinimas nearpoint = [[ [scarlet]NEDELSDAMI PALIKITE IŠMETIMO ZONĄ[] ]\nneišvengiamas sunaikinimas
database = Branduolio duomenų dazė database = Branduolio duomenų dazė
database.button = Database database.button = Database
viewfields = View Content Fields
savegame = Išsaugoti žaidimą savegame = Išsaugoti žaidimą
loadgame = Užkrauti žaidimą loadgame = Užkrauti žaidimą
joingame = Įeiti į žaidimą joingame = Įeiti į žaidimą
@@ -467,6 +468,14 @@ editor.rules = Taisyklės:
editor.generation = Generacija: editor.generation = Generacija:
editor.objectives = Objectives editor.objectives = Objectives
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeat
sectorlist = Sectors sectorlist = Sectors
sectorlist.attacked = {0} under attack sectorlist.attacked = {0} under attack
sectors.unexplored = [lightgray]Unexplored sectors.unexplored = [lightgray]Unexplored
sectors.attempts = Attempts:
sectors.resources = Resources: sectors.resources = Resources:
sectors.production = Production: sectors.production = Production:
sectors.export = Export: sectors.export = Export:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Min Squad Size rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight rules.rtsminattackweight = Min Attack Weight

View File

@@ -101,6 +101,7 @@ coreattack = < Core wordt aangevallen! >
nearpoint = [[ [scarlet]VERLAAT DE LANDINGSZONE ONMIDDELIJK[] ]\nlevensgevaarlijk nearpoint = [[ [scarlet]VERLAAT DE LANDINGSZONE ONMIDDELIJK[] ]\nlevensgevaarlijk
database = Core Database database = Core Database
database.button = Database database.button = Database
viewfields = View Content Fields
savegame = Opslaan savegame = Opslaan
loadgame = Laden loadgame = Laden
joingame = Treed toe joingame = Treed toe
@@ -467,6 +468,14 @@ editor.rules = Regels:
editor.generation = Generatie: editor.generation = Generatie:
editor.objectives = Doelen editor.objectives = Doelen
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Gefeliciteerd.\n\nDe vijand op {0} is verslagen.\n[l
sectorlist = Sectoren sectorlist = Sectoren
sectorlist.attacked = {0} onder vuur sectorlist.attacked = {0} onder vuur
sectors.unexplored = [lightgray]Onverkend sectors.unexplored = [lightgray]Onverkend
sectors.attempts = Attempts:
sectors.resources = Grondstoffen: sectors.resources = Grondstoffen:
sectors.production = Productie: sectors.production = Productie:
sectors.export = Export: sectors.export = Export:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Min Ploeg Grootte rules.rtsminsquadsize = Min Ploeg Grootte
rules.rtsmaxsquadsize = Max Ploeg Grootte rules.rtsmaxsquadsize = Max Ploeg Grootte
rules.rtsminattackweight = Min Aanvalsgewicht rules.rtsminattackweight = Min Aanvalsgewicht

View File

@@ -101,6 +101,7 @@ coreattack = < Kern wordt aangevallen! >
nearpoint = [[ [scarlet]VERLAAT dit gebied onmiddelijk[] ]\nDirecte vernietiging... nearpoint = [[ [scarlet]VERLAAT dit gebied onmiddelijk[] ]\nDirecte vernietiging...
database = Kern Database database = Kern Database
database.button = Database database.button = Database
viewfields = View Content Fields
savegame = Opslaan savegame = Opslaan
loadgame = Openen loadgame = Openen
joingame = Multiplayer joingame = Multiplayer
@@ -467,6 +468,14 @@ editor.rules = Rules:
editor.generation = Generation: editor.generation = Generation:
editor.objectives = Objectives editor.objectives = Objectives
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeat
sectorlist = Sectors sectorlist = Sectors
sectorlist.attacked = {0} under attack sectorlist.attacked = {0} under attack
sectors.unexplored = [lightgray]Unexplored sectors.unexplored = [lightgray]Unexplored
sectors.attempts = Attempts:
sectors.resources = Resources: sectors.resources = Resources:
sectors.production = Production: sectors.production = Production:
sectors.export = Export: sectors.export = Export:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Min Squad Size rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight rules.rtsminattackweight = Min Attack Weight

View File

@@ -101,6 +101,7 @@ coreattack = < Rdzeń jest atakowany! >
nearpoint = [[ [scarlet]NATYCHMIAST OPUŚĆ PUNKT ZRZUTU[] ]\nnadciąga zniszczenie nearpoint = [[ [scarlet]NATYCHMIAST OPUŚĆ PUNKT ZRZUTU[] ]\nnadciąga zniszczenie
database = Centralna baza danych database = Centralna baza danych
database.button = Baza Danych database.button = Baza Danych
viewfields = View Content Fields
savegame = Zapisz Grę savegame = Zapisz Grę
loadgame = Wczytaj Grę loadgame = Wczytaj Grę
joingame = Dołącz Do Gry joingame = Dołącz Do Gry
@@ -467,6 +468,14 @@ editor.rules = Zasady:
editor.generation = Generacja: editor.generation = Generacja:
editor.objectives = Cele editor.objectives = Cele
editor.locales = Pakiety regionalne editor.locales = Pakiety regionalne
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edytuj nazwę editor.worldprocessors.editname = Edytuj nazwę
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Gratulacje.\n\nWróg na sektorze {0} został pokonan
sectorlist = Sektory sectorlist = Sektory
sectorlist.attacked = {0} atakowanych sectorlist.attacked = {0} atakowanych
sectors.unexplored = [lightgray]Niezbadane sectors.unexplored = [lightgray]Niezbadane
sectors.attempts = Attempts:
sectors.resources = Zasoby: sectors.resources = Zasoby:
sectors.production = Produkcja: sectors.production = Produkcja:
sectors.export = Eksport: sectors.export = Eksport:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Poziom Budowania AI
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = Na mapach typu „atak” sprawia, że jednostki grupują się i atakują bazy graczy w bardziej inteligentny sposób. rules.rtsai.campaign.info = Na mapach typu „atak” sprawia, że jednostki grupują się i atakują bazy graczy w bardziej inteligentny sposób.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Minimalny Rozmiar Składu rules.rtsminsquadsize = Minimalny Rozmiar Składu
rules.rtsmaxsquadsize = Maksymalny Rozmiar Składu rules.rtsmaxsquadsize = Maksymalny Rozmiar Składu
rules.rtsminattackweight = Minimalna Waga Ataku rules.rtsminattackweight = Minimalna Waga Ataku

View File

@@ -101,6 +101,7 @@ coreattack = < O Núcleo está sob ataque! >
nearpoint = [[ [scarlet]SAIA DO PONTO DE QUEDA IMEDIATAMENTE[] ]\naniquilação iminente nearpoint = [[ [scarlet]SAIA DO PONTO DE QUEDA IMEDIATAMENTE[] ]\naniquilação iminente
database = Banco de Dados do Núcleo database = Banco de Dados do Núcleo
database.button = Banco de Dados database.button = Banco de Dados
viewfields = View Content Fields
savegame = Salvar Jogo savegame = Salvar Jogo
loadgame = Carregar Jogo loadgame = Carregar Jogo
joingame = Juntar-se ao Jogo joingame = Juntar-se ao Jogo
@@ -467,6 +468,14 @@ editor.rules = Regras:
editor.generation = Geração: editor.generation = Geração:
editor.objectives = Objetivos: editor.objectives = Objetivos:
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Parabéns.\n\nO inimigo em {0} foi derrotado.\n[ligh
sectorlist = Setores sectorlist = Setores
sectorlist.attacked = {0} sob ataque sectorlist.attacked = {0} sob ataque
sectors.unexplored = [lightgray]Inexplorado sectors.unexplored = [lightgray]Inexplorado
sectors.attempts = Attempts:
sectors.resources = Recursos: sectors.resources = Recursos:
sectors.production = Produção: sectors.production = Produção:
sectors.export = Exportar: sectors.export = Exportar:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Tamanho mínimo do esquadrão rules.rtsminsquadsize = Tamanho mínimo do esquadrão
rules.rtsmaxsquadsize = Tamanho máximo do esquadrão rules.rtsmaxsquadsize = Tamanho máximo do esquadrão
rules.rtsminattackweight = Peso Mínimo de Ataque rules.rtsminattackweight = Peso Mínimo de Ataque

View File

@@ -101,6 +101,7 @@ coreattack = < O núcleo está sobre ataque! >
nearpoint = [[ [scarlet]SAIA DO PONTO DE SPAWN IMEDIATAMENTE[] ]\nAniquilação iminente nearpoint = [[ [scarlet]SAIA DO PONTO DE SPAWN IMEDIATAMENTE[] ]\nAniquilação iminente
database = Banco de Dados do núcleo database = Banco de Dados do núcleo
database.button = Banco de Dados database.button = Banco de Dados
viewfields = View Content Fields
savegame = Salvar Jogo savegame = Salvar Jogo
loadgame = Carregar Jogo loadgame = Carregar Jogo
joingame = Entrar no Jogo joingame = Entrar no Jogo
@@ -467,6 +468,14 @@ editor.rules = Regras:
editor.generation = Geração: editor.generation = Geração:
editor.objectives = Objectivos editor.objectives = Objectivos
editor.locales = Pacotes Locais editor.locales = Pacotes Locais
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = Processadores Globais editor.worldprocessors = Processadores Globais
editor.worldprocessors.editname = Mudar Nome editor.worldprocessors.editname = Mudar Nome
editor.worldprocessors.none = [lightgray]Nenhum bloco de processadr global encontrado!\nAdiciona um no Editor, ou usa o botão \ue813 Adicionar abaixo. editor.worldprocessors.none = [lightgray]Nenhum bloco de processadr global encontrado!\nAdiciona um no Editor, ou usa o botão \ue813 Adicionar abaixo.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Parabéns.\n\nO Inimigo em {0} foi derrotado.\n[ligh
sectorlist = Setores sectorlist = Setores
sectorlist.attacked = {0} sob ataque sectorlist.attacked = {0} sob ataque
sectors.unexplored = [lightgray]Não explorado sectors.unexplored = [lightgray]Não explorado
sectors.attempts = Attempts:
sectors.resources = Recursos: sectors.resources = Recursos:
sectors.production = Produção: sectors.production = Produção:
sectors.export = Exportar: sectors.export = Exportar:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Nível de Construtor IA
rules.rtsai = RTS AI [red](WIP) rules.rtsai = RTS AI [red](WIP)
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Tamanho Mínimo de Esquadrão rules.rtsminsquadsize = Tamanho Mínimo de Esquadrão
rules.rtsmaxsquadsize = Tamanho Máximo de Esquadrão rules.rtsmaxsquadsize = Tamanho Máximo de Esquadrão
rules.rtsminattackweight = Peso Mínimo de Ataque rules.rtsminattackweight = Peso Mínimo de Ataque

View File

@@ -101,6 +101,7 @@ coreattack = < Nucleul este atacat! >
nearpoint = [[ [scarlet]PLEACĂ DE LA PUNCTUL DE LANSARE IMEDIAT[] ]\nanihilare imminentă nearpoint = [[ [scarlet]PLEACĂ DE LA PUNCTUL DE LANSARE IMEDIAT[] ]\nanihilare imminentă
database = Datele Nucleului database = Datele Nucleului
database.button = Bază de date database.button = Bază de date
viewfields = View Content Fields
savegame = Salvează Jocul savegame = Salvează Jocul
loadgame = Încarcă Jocul loadgame = Încarcă Jocul
joingame = Intră în Joc joingame = Intră în Joc
@@ -467,6 +468,14 @@ editor.rules = Reguli:
editor.generation = Generare: editor.generation = Generare:
editor.objectives = Objectives editor.objectives = Objectives
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeat
sectorlist = Sectoare sectorlist = Sectoare
sectorlist.attacked = {0} sunt atacate sectorlist.attacked = {0} sunt atacate
sectors.unexplored = [lightgray]Neexplorat sectors.unexplored = [lightgray]Neexplorat
sectors.attempts = Attempts:
sectors.resources = Resurse: sectors.resources = Resurse:
sectors.production = Producție: sectors.production = Producție:
sectors.export = Exportă: sectors.export = Exportă:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Min Squad Size rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight rules.rtsminattackweight = Min Attack Weight

View File

@@ -101,6 +101,7 @@ coreattack = < Ядро находится под атакой! >
nearpoint = [[ [scarlet]ПОКИНЬТЕ ТОЧКУ ВЫСАДКИ НЕМЕДЛЕННО[] ]\nаннигиляция неизбежна nearpoint = [[ [scarlet]ПОКИНЬТЕ ТОЧКУ ВЫСАДКИ НЕМЕДЛЕННО[] ]\nаннигиляция неизбежна
database = База данных ядра database = База данных ядра
database.button = База данных database.button = База данных
viewfields = View Content Fields
savegame = Сохранить игру savegame = Сохранить игру
loadgame = Загрузить игру loadgame = Загрузить игру
joingame = Сетевая игра joingame = Сетевая игра
@@ -467,6 +468,14 @@ editor.rules = Правила:
editor.generation = Генерация: editor.generation = Генерация:
editor.objectives = Цели editor.objectives = Цели
editor.locales = Наборы локалей editor.locales = Наборы локалей
editor.patches.guide = Patch Guide
editor.patches = Патчи контента
editor.patch = Набор патчей: {0}
editor.patches.none = [lightgray]Ни одного набора патчей не загружено.
editor.patches.errors = Ошибки набора патчей
editor.patches.importerror = Не удалось импортировать набор патчей
editor.patches.delete.confirm = Вы уверены, что хотите удалить этот набор патчей?
editor.patch.fields = Параметров: {0}
editor.worldprocessors = Мировые процессоры editor.worldprocessors = Мировые процессоры
editor.worldprocessors.editname = Изменить название editor.worldprocessors.editname = Изменить название
editor.worldprocessors.none = [lightgray]Не найдено ни одного блока мирового процессора\nДобавьте его в редакторе карт или воспользуйтесь кнопкой "\ue813 Добавить" ниже. editor.worldprocessors.none = [lightgray]Не найдено ни одного блока мирового процессора\nДобавьте его в редакторе карт или воспользуйтесь кнопкой "\ue813 Добавить" ниже.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Поздравляем.\n\nВражеская фра
sectorlist = Секторы sectorlist = Секторы
sectorlist.attacked = {0} под атакой sectorlist.attacked = {0} под атакой
sectors.unexplored = [lightgray]Не исследовано sectors.unexplored = [lightgray]Не исследовано
sectors.attempts = Попытка:
sectors.resources = Ресурсы: sectors.resources = Ресурсы:
sectors.production = Производит: sectors.production = Производит:
sectors.export = Экспорт: sectors.export = Экспорт:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Уровень баз ИИ
rules.rtsai = ИИ в реальном времени rules.rtsai = ИИ в реальном времени
rules.rtsai.campaign = ИИ в реальном времени rules.rtsai.campaign = ИИ в реальном времени
rules.rtsai.campaign.info = В секторах атаки, враги будут собираться в отряды и действовать умнее. rules.rtsai.campaign.info = В секторах атаки, враги будут собираться в отряды и действовать умнее.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Минимальный размер отряда rules.rtsminsquadsize = Минимальный размер отряда
rules.rtsmaxsquadsize = Максимальный размер отряда rules.rtsmaxsquadsize = Максимальный размер отряда
rules.rtsminattackweight = Минимальный вес для атаки rules.rtsminattackweight = Минимальный вес для атаки

View File

@@ -101,6 +101,7 @@ coreattack = < Jezgro je napadnuto! >
nearpoint = [[ [scarlet]NAPUSTI ZONU DOLASKA ODMAH[] ]\nauništenje je neizostavno nearpoint = [[ [scarlet]NAPUSTI ZONU DOLASKA ODMAH[] ]\nauništenje je neizostavno
database = Baza Podataka database = Baza Podataka
database.button = Baza Podataka database.button = Baza Podataka
viewfields = View Content Fields
savegame = Snimi Igru savegame = Snimi Igru
loadgame = Učitaj Igru loadgame = Učitaj Igru
joingame = Priključi se na Igru joingame = Priključi se na Igru
@@ -467,6 +468,14 @@ editor.rules = Pravila:
editor.generation = Generisanje: editor.generation = Generisanje:
editor.objectives = Zadaci editor.objectives = Zadaci
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Čestitam.\n\nNeprijatelj na {0} je poražen.\n[ligh
sectorlist = Sektori sectorlist = Sektori
sectorlist.attacked = {0} pod napadom sectorlist.attacked = {0} pod napadom
sectors.unexplored = [lightgray]Neistraženo sectors.unexplored = [lightgray]Neistraženo
sectors.attempts = Attempts:
sectors.resources = Resursi: sectors.resources = Resursi:
sectors.production = Proizvodnja: sectors.production = Proizvodnja:
sectors.export = Izvoz: sectors.export = Izvoz:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI [red](Nedovršeno) rules.rtsai = RTS AI [red](Nedovršeno)
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Minimalna Veličina Odreda rules.rtsminsquadsize = Minimalna Veličina Odreda
rules.rtsmaxsquadsize = Maksimalna Veličina Odreda rules.rtsmaxsquadsize = Maksimalna Veličina Odreda
rules.rtsminattackweight = Minimalna Težina Napada rules.rtsminattackweight = Minimalna Težina Napada

View File

@@ -101,6 +101,7 @@ coreattack = < Kärnan är under attack! >
nearpoint = [[ [scarlet]LÄMNA DROPPZONEN OMEDELBART[] ]\nförintelse oundviklig nearpoint = [[ [scarlet]LÄMNA DROPPZONEN OMEDELBART[] ]\nförintelse oundviklig
database = Kärndatabas database = Kärndatabas
database.button = Databas database.button = Databas
viewfields = View Content Fields
savegame = Spara Spel savegame = Spara Spel
loadgame = Importera Spel loadgame = Importera Spel
joingame = Gå med i Spel joingame = Gå med i Spel
@@ -467,6 +468,14 @@ editor.rules = Regler:
editor.generation = Generering: editor.generation = Generering:
editor.objectives = Objectives editor.objectives = Objectives
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeat
sectorlist = Sectors sectorlist = Sectors
sectorlist.attacked = {0} under attack sectorlist.attacked = {0} under attack
sectors.unexplored = [lightgray]Oupptäckt sectors.unexplored = [lightgray]Oupptäckt
sectors.attempts = Attempts:
sectors.resources = Resurser: sectors.resources = Resurser:
sectors.production = Produktion: sectors.production = Produktion:
sectors.export = Export: sectors.export = Export:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Min Squad Size rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight rules.rtsminattackweight = Min Attack Weight

View File

@@ -101,6 +101,7 @@ coreattack = < แกนกลางถูกโจมตี! >
nearpoint = [[ [scarlet]ออกจากจุดเกิดด่วน![] ]\nการทำลายล้างกำลังใกล้เข้ามา nearpoint = [[ [scarlet]ออกจากจุดเกิดด่วน![] ]\nการทำลายล้างกำลังใกล้เข้ามา
database = ฐานข้อมูลแกนกลาง database = ฐานข้อมูลแกนกลาง
database.button = ฐานข้อมูล database.button = ฐานข้อมูล
viewfields = View Content Fields
savegame = เซฟเกม savegame = เซฟเกม
loadgame = โหลดเกม loadgame = โหลดเกม
joingame = เข้าร่วมเกม joingame = เข้าร่วมเกม
@@ -467,6 +468,14 @@ editor.rules = กฎ
editor.generation = เจนเนอเรชั่น editor.generation = เจนเนอเรชั่น
editor.objectives = เป้าหมาย editor.objectives = เป้าหมาย
editor.locales = ชุดภาษาท้องถิ่น editor.locales = ชุดภาษาท้องถิ่น
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = ตัวประมวลผลโลก editor.worldprocessors = ตัวประมวลผลโลก
editor.worldprocessors.editname = แก้ไขชื่อ editor.worldprocessors.editname = แก้ไขชื่อ
editor.worldprocessors.none = [lightgray]ไม่พบตัวประมวลผลโลกในแมพ!\nสามารถไปเพิ่มในตัวแก้ไขแมพ หรือกดปุ่ม \ue813 เพิ่ม ด้านล่าง editor.worldprocessors.none = [lightgray]ไม่พบตัวประมวลผลโลกในแมพ!\nสามารถไปเพิ่มในตัวแก้ไขแมพ หรือกดปุ่ม \ue813 เพิ่ม ด้านล่าง
@@ -791,6 +800,7 @@ campaign.complete = [accent]ยินดีด้วย\n\nศัตรูบน
sectorlist = เซ็กเตอร์ sectorlist = เซ็กเตอร์
sectorlist.attacked = {0} ถูกโจมตึ sectorlist.attacked = {0} ถูกโจมตึ
sectors.unexplored = [lightgray]ยังไม่ได้สำรวจ sectors.unexplored = [lightgray]ยังไม่ได้สำรวจ
sectors.attempts = Attempts:
sectors.resources = ทรัพยากร: sectors.resources = ทรัพยากร:
sectors.production = การผลิต: sectors.production = การผลิต:
sectors.export = การส่งออก: sectors.export = การส่งออก:
@@ -1447,6 +1457,8 @@ rules.buildaitier = ระดับการสร้างของ AI
rules.rtsai = RTS AI [red](ไม่เสถียร) rules.rtsai = RTS AI [red](ไม่เสถียร)
rules.rtsai.campaign = AI โจมตีแบบ RTS rules.rtsai.campaign = AI โจมตีแบบ RTS
rules.rtsai.campaign.info = ในแมพโจมตี จะทำให้ยูนิตรวมตัวกันและจู่โจมฐานทัพของผู้เล่นในวิถีการคำนวณที่ฉลาดมากกว่า rules.rtsai.campaign.info = ในแมพโจมตี จะทำให้ยูนิตรวมตัวกันและจู่โจมฐานทัพของผู้เล่นในวิถีการคำนวณที่ฉลาดมากกว่า
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = ขนาดกองทัพเล็กที่สุด rules.rtsminsquadsize = ขนาดกองทัพเล็กที่สุด
rules.rtsmaxsquadsize = ขนาดกองทัพใหญ่ที่สุด rules.rtsmaxsquadsize = ขนาดกองทัพใหญ่ที่สุด
rules.rtsminattackweight = ขนาดน้ำหนักการโจมตีน้อยที่สุด rules.rtsminattackweight = ขนาดน้ำหนักการโจมตีน้อยที่สุด

View File

@@ -101,6 +101,7 @@ coreattack = < Cekirdek Saldiri altinda! >
nearpoint = [[ [scarlet]LEAVE DROP POINT IMMEDIATELY[] ]\nannihilation imminent nearpoint = [[ [scarlet]LEAVE DROP POINT IMMEDIATELY[] ]\nannihilation imminent
database = Core Database database = Core Database
database.button = Database database.button = Database
viewfields = View Content Fields
savegame = Oyunu kaydet savegame = Oyunu kaydet
loadgame = Devam et loadgame = Devam et
joingame = Oyuna katil joingame = Oyuna katil
@@ -467,6 +468,14 @@ editor.rules = Rules:
editor.generation = Generation: editor.generation = Generation:
editor.objectives = Objectives editor.objectives = Objectives
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeat
sectorlist = Sectors sectorlist = Sectors
sectorlist.attacked = {0} under attack sectorlist.attacked = {0} under attack
sectors.unexplored = [lightgray]Unexplored sectors.unexplored = [lightgray]Unexplored
sectors.attempts = Attempts:
sectors.resources = Resources: sectors.resources = Resources:
sectors.production = Production: sectors.production = Production:
sectors.export = Export: sectors.export = Export:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Builder AI Tier
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Min Squad Size rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight rules.rtsminattackweight = Min Attack Weight

View File

@@ -101,6 +101,7 @@ coreattack = < Merkez saldırı altında! >
nearpoint = [[ [scarlet]İNİŞ PİSTİNDEN AYRIL[] ]\nimha tehlikesi nearpoint = [[ [scarlet]İNİŞ PİSTİNDEN AYRIL[] ]\nimha tehlikesi
database = Merkez Veritabanı database = Merkez Veritabanı
database.button = Veritabanı database.button = Veritabanı
viewfields = View Content Fields
savegame = Oyunu Kaydet savegame = Oyunu Kaydet
loadgame = Oyunu Yükle loadgame = Oyunu Yükle
joingame = Oyuna Katıl joingame = Oyuna Katıl
@@ -467,6 +468,14 @@ editor.rules = Kurallar:
editor.generation = Oluşum: editor.generation = Oluşum:
editor.objectives = Görevler: editor.objectives = Görevler:
editor.locales = Dil Paketleri editor.locales = Dil Paketleri
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = Evrensel İşlemciler editor.worldprocessors = Evrensel İşlemciler
editor.worldprocessors.editname = Adı Düzenle editor.worldprocessors.editname = Adı Düzenle
editor.worldprocessors.none = [lightgray]Evrensel İşlemci bloğu bulunamadı!\nHarita düzenleyicisinden ekleyin veya aşağıdaki \ue813 Ekle butonunu kullanın. editor.worldprocessors.none = [lightgray]Evrensel İşlemci bloğu bulunamadı!\nHarita düzenleyicisinden ekleyin veya aşağıdaki \ue813 Ekle butonunu kullanın.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Tebrikler!.\n\n{0} üzerinde bulunan düşman bozgun
sectorlist = Sektörler sectorlist = Sektörler
sectorlist.attacked = {0} saldırı altında sectorlist.attacked = {0} saldırı altında
sectors.unexplored = [lightgray]Keşfedilmemiş sectors.unexplored = [lightgray]Keşfedilmemiş
sectors.attempts = Attempts:
sectors.resources = Kaynaklar: sectors.resources = Kaynaklar:
sectors.production = Üretim: sectors.production = Üretim:
sectors.export = İhracat: sectors.export = İhracat:
@@ -1447,6 +1457,8 @@ rules.buildaitier = İnşaatçı YZ sınıfı
rules.rtsai = RTS YZ rules.rtsai = RTS YZ
rules.rtsai.campaign = RTS Saldırı YZ rules.rtsai.campaign = RTS Saldırı YZ
rules.rtsai.campaign.info = Saldırı Haritalarında, yapay zekayı daha 'zeki' yapar. rules.rtsai.campaign.info = Saldırı Haritalarında, yapay zekayı daha 'zeki' yapar.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Asgari Gurup Boyutu rules.rtsminsquadsize = Asgari Gurup Boyutu
rules.rtsmaxsquadsize = Azami Gurup Boyutu rules.rtsmaxsquadsize = Azami Gurup Boyutu
rules.rtsminattackweight = Asgari Saldırı Boyutu rules.rtsminattackweight = Asgari Saldırı Boyutu

View File

@@ -101,6 +101,7 @@ coreattack = < Ядро перебуває під атакою! >
nearpoint = [[ [scarlet]ЗАЛИШТЕ ЗОНУ ВИСАДКИ НЕГАЙНО[] ]\nанігіляція неминуча nearpoint = [[ [scarlet]ЗАЛИШТЕ ЗОНУ ВИСАДКИ НЕГАЙНО[] ]\nанігіляція неминуча
database = База даних ядра database = База даних ядра
database.button = База даних database.button = База даних
viewfields = View Content Fields
savegame = Зберегти гру savegame = Зберегти гру
loadgame = Завантажити гру loadgame = Завантажити гру
joingame = Багатоосібна гра joingame = Багатоосібна гра
@@ -467,6 +468,14 @@ editor.rules = Правила
editor.generation = Генерація editor.generation = Генерація
editor.objectives = Завдання editor.objectives = Завдання
editor.locales = Мовні пакети editor.locales = Мовні пакети
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = Світові процесори editor.worldprocessors = Світові процесори
editor.worldprocessors.editname = Редагувати назву editor.worldprocessors.editname = Редагувати назву
editor.worldprocessors.none = [lightgray]Блоки світового процесора не знайдено!\nДодайте його у редакторі мапи або скористайтеся кнопкою \ue813 «Додати» нижче. editor.worldprocessors.none = [lightgray]Блоки світового процесора не знайдено!\nДодайте його у редакторі мапи або скористайтеся кнопкою \ue813 «Додати» нижче.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Вітаємо.\n\nВорога на {0} розгр
sectorlist = Сектори sectorlist = Сектори
sectorlist.attacked = {0} під атакою sectorlist.attacked = {0} під атакою
sectors.unexplored = [lightgray]Не досліджено sectors.unexplored = [lightgray]Не досліджено
sectors.attempts = Attempts:
sectors.resources = Ресурси: sectors.resources = Ресурси:
sectors.production = Виробництво: sectors.production = Виробництво:
sectors.export = Експортування: sectors.export = Експортування:
@@ -1447,6 +1457,8 @@ rules.buildaitier = Рівень ШІ-будівельника
rules.rtsai = ШІ зі стратегій реального часу rules.rtsai = ШІ зі стратегій реального часу
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = Мінімальний розмір загону rules.rtsminsquadsize = Мінімальний розмір загону
rules.rtsmaxsquadsize = Максимальний розмір загону rules.rtsmaxsquadsize = Максимальний розмір загону
rules.rtsminattackweight = Мінімальна ударна вага rules.rtsminattackweight = Мінімальна ударна вага

View File

@@ -101,6 +101,7 @@ coreattack = < Lõi đang bị tấn công! >
nearpoint = [[ [scarlet]RỜI KHỎI ĐIỂM ĐÁP NGAY LẬP TỨC[] ]\nsự hủy diệt sắp xảy ra nearpoint = [[ [scarlet]RỜI KHỎI ĐIỂM ĐÁP NGAY LẬP TỨC[] ]\nsự hủy diệt sắp xảy ra
database = Cơ sở dữ liệu cốt lõi database = Cơ sở dữ liệu cốt lõi
database.button = Cơ sở dữ liệu database.button = Cơ sở dữ liệu
viewfields = Xem Các Trường Nội Dung
savegame = Lưu trò chơi savegame = Lưu trò chơi
loadgame = Tải lại màn chơi loadgame = Tải lại màn chơi
joingame = Tham gia trò chơi joingame = Tham gia trò chơi
@@ -376,14 +377,14 @@ command.loadUnits = Nhận Đơn vị
command.loadBlocks = Nhận Khối công trình command.loadBlocks = Nhận Khối công trình
command.unloadPayload = Dỡ Khối hàng command.unloadPayload = Dỡ Khối hàng
command.loopPayload = Lặp vận chuyển đơn vị command.loopPayload = Lặp vận chuyển đơn vị
stance.stop = Hủy Mệnh lệnh stance.stop = Hủy Mệnh Lệnh
stance.shoot = Tư thế: Bắn stance.shoot = Thế Trận: Bắn
stance.holdfire = Tư thế: Ngừng bắn stance.holdfire = Thế Trận: Ngừng Bắn
stance.pursuetarget = Tư thế: Bám đuổi Mục tiêu stance.pursuetarget = Thế Trận: Bám Đuổi Mục Tiêu
stance.patrol = Tư thế: Đường tuần tra stance.patrol = Thế Trận: Đường Tuần Tra
stance.ram = Tư thế: Tông thẳng\n[lightgray]Đi theo đường thẳng, không tìm đường stance.ram = Thế Trận: Tông Thẳng\n[lightgray]Đi theo đường thẳng, không tìm đường
stance.mineauto = Khai thác tự động stance.mineauto = Tự Động Khai Khoáng
stance.mine = Vật phẩm khai thác: {0} stance.mine = Vật Phẩm Khai Khoáng: {0}
openlink = Mở liên kết openlink = Mở liên kết
copylink = Sao chép liên kết copylink = Sao chép liên kết
back = Quay lại back = Quay lại
@@ -448,9 +449,9 @@ publish.confirm = Bạn có chắc chắn muốn xuất bản không?\n\n[lightg
publish.error = Lỗi khi xuất bản mục: {0} publish.error = Lỗi khi xuất bản mục: {0}
steam.error = Không thể khởi chạy dịch vụ Steam.\nLỗi: {0} steam.error = Không thể khởi chạy dịch vụ Steam.\nLỗi: {0}
editor.showblocks = Show Blocks editor.showblocks = Hiện Khối
editor.showterrain = Show Terrain editor.showterrain = Hiện Địa Hình
editor.showfloor = Show Floor editor.showfloor = Hiện Nền
editor.planet = Hành tinh: editor.planet = Hành tinh:
editor.sector = Phân khu: editor.sector = Phân khu:
editor.seed = Mầm: editor.seed = Mầm:
@@ -467,6 +468,14 @@ editor.rules = Quy tắc
editor.generation = Tạo ra editor.generation = Tạo ra
editor.objectives = Mục tiêu nhiệm vụ editor.objectives = Mục tiêu nhiệm vụ
editor.locales = Gói ngôn ngữ editor.locales = Gói ngôn ngữ
editor.patches.guide = Hướng Dẫn Bản Vá
editor.patches = Bản Vá Nội Dung
editor.patch = Bộ vá: {0}
editor.patches.none = [lightgray]Không có bản vá nào được nạp.
editor.patches.errors = Lỗi Bộ Vá
editor.patches.importerror = Nhập bộ vá thất bại
editor.patches.delete.confirm = Bạn có chắc chắn muốn xóa bộ vá này không?
editor.patch.fields = {0} trường
editor.worldprocessors = Các bộ xử lý thế giới editor.worldprocessors = Các bộ xử lý thế giới
editor.worldprocessors.editname = Sửa tên editor.worldprocessors.editname = Sửa tên
editor.worldprocessors.none = [lightgray]không tìm thấy khối bộ xử lý thế giới nào!\nThêm một bộ trong trình chỉnh sửa bản đồ, hoặc dùng nút \ue813 Thêm ở dưới. editor.worldprocessors.none = [lightgray]không tìm thấy khối bộ xử lý thế giới nào!\nThêm một bộ trong trình chỉnh sửa bản đồ, hoặc dùng nút \ue813 Thêm ở dưới.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Chúc mừng.\n\nKẻ địch trên {0} đã bị đ
sectorlist = Phân khu sectorlist = Phân khu
sectorlist.attacked = {0} đang bị tấn công sectorlist.attacked = {0} đang bị tấn công
sectors.unexplored = [lightgray]Chưa được khám phá sectors.unexplored = [lightgray]Chưa được khám phá
sectors.attempts = Số lần tham chiến:
sectors.resources = Tài nguyên: sectors.resources = Tài nguyên:
sectors.production = Sản lượng: sectors.production = Sản lượng:
sectors.export = Xuất: sectors.export = Xuất:
@@ -958,7 +968,7 @@ status.freezing.name = Đóng băng
status.wet.name = Ẩm ướt status.wet.name = Ẩm ướt
status.muddy.name = Sa lầy status.muddy.name = Sa lầy
status.melting.name = Tan chảy status.melting.name = Tan chảy
status.sapped.name = Ăn mòn status.sapped.name = Suy yếu
status.electrified.name = Nhiễm điện status.electrified.name = Nhiễm điện
status.spore-slowed.name = Nhiễm bào tử chậm status.spore-slowed.name = Nhiễm bào tử chậm
status.tarred.name = Nhiễm dầu status.tarred.name = Nhiễm dầu
@@ -966,7 +976,7 @@ status.overdrive.name = Tăng tốc
status.overclock.name = Ép xung status.overclock.name = Ép xung
status.shocked.name = Sốc status.shocked.name = Sốc
status.blasted.name = Nổ status.blasted.name = Nổ
status.corroded.name = Corroded status.corroded.name = Ăn mòn
status.unmoving.name = Bất động status.unmoving.name = Bất động
status.boss.name = Trùm status.boss.name = Trùm
@@ -1014,10 +1024,10 @@ stat.opposites = Đối nghịch
stat.powercapacity = Dung lượng điện stat.powercapacity = Dung lượng điện
stat.powershot = Năng lượng/Phát bắn stat.powershot = Năng lượng/Phát bắn
stat.damage = Sát thương stat.damage = Sát thương
stat.frequency = Frequency stat.frequency = Tần suất
stat.targetsair = Mục tiêu trên không stat.targetsair = Mục tiêu trên không
stat.targetsground = Mục tiêu mặt đất stat.targetsground = Mục tiêu mặt đất
stat.crushdamage = Crush Damage stat.crushdamage = Sát thương nghiền nát
stat.itemsmoved = Tốc độ dịch chuyển stat.itemsmoved = Tốc độ dịch chuyển
stat.launchtime = Thời gian giữa các lần phóng stat.launchtime = Thời gian giữa các lần phóng
stat.shootrange = Phạm vi stat.shootrange = Phạm vi
@@ -1102,7 +1112,7 @@ ability.movelightning.description = Giải phóng tia điện khi di chuyển
ability.armorplate = Mảnh giáp ability.armorplate = Mảnh giáp
ability.armorplate.description = Giảm sát thương gánh chịu trong khi bắn ability.armorplate.description = Giảm sát thương gánh chịu trong khi bắn
ability.shieldarc = Khiên vòng cung ability.shieldarc = Khiên vòng cung
ability.shieldarc.description = Phát một khiên trường lực vòng cung hấp thụ các loại đạn ability.shieldarc.description = Phát một khiên trường lực vòng cung hấp thụ hoặc làm chệch hướng các loại đạn, tên lửa và đơn vị
ability.suppressionfield = Ngăn chặn sửa chữa ability.suppressionfield = Ngăn chặn sửa chữa
ability.suppressionfield.description = Dừng các công trình sửa chữa gần đó ability.suppressionfield.description = Dừng các công trình sửa chữa gần đó
ability.energyfield = Trường điện từ ability.energyfield = Trường điện từ
@@ -1122,7 +1132,7 @@ ability.stat.regen = [stat]{0}[lightgray] độ bền/giây
ability.stat.pulseregen = [stat]{0}[lightgray] độ bền/xung nhịp ability.stat.pulseregen = [stat]{0}[lightgray] độ bền/xung nhịp
ability.stat.shield = [stat]{0}[lightgray] khiên tối đa ability.stat.shield = [stat]{0}[lightgray] khiên tối đa
ability.stat.repairspeed = [stat]{0}/giây[lightgray] tốc độ sửa chữa ability.stat.repairspeed = [stat]{0}/giây[lightgray] tốc độ sửa chữa
ability.stat.deflectchance = [stat]{0}%[lightgray] deflect chance ability.stat.deflectchance = [stat]{0}%[lightgray] cơ hội làm chệch hướng
ability.stat.slurpheal = [stat]{0}[lightgray] độ bền/đơn vị chất lỏng ability.stat.slurpheal = [stat]{0}[lightgray] độ bền/đơn vị chất lỏng
ability.stat.cooldown = [stat]{0} giây[lightgray] hồi phục ability.stat.cooldown = [stat]{0} giây[lightgray] hồi phục
ability.stat.maxtargets = [stat]{0}[lightgray] mục tiêu tối đa ability.stat.maxtargets = [stat]{0}[lightgray] mục tiêu tối đa
@@ -1334,11 +1344,11 @@ keybind.command_queue.name = Lệnh tuần tự đơn vị
keybind.create_control_group.name = Tạo nhóm điều khiển keybind.create_control_group.name = Tạo nhóm điều khiển
keybind.cancel_orders.name = Hủy lệnh keybind.cancel_orders.name = Hủy lệnh
keybind.unit_stance_shoot.name = Tư thế đơn vị: Bắn keybind.unit_stance_shoot.name = Thế Trận Đơn Vị: Bắn
keybind.unit_stance_hold_fire.name = Tư thế đơn vị: Ngừng bắn keybind.unit_stance_hold_fire.name = Thế Trận Đơn Vị: Ngừng Bắn
keybind.unit_stance_pursue_target.name = Tư thế đơn vị: Bám đuổi mục tiêu keybind.unit_stance_pursue_target.name = Thế Trận Đơn Vị: Bám Đuổi Mục Tiêu
keybind.unit_stance_patrol.name = Tư thế đơn vị: Tuần tra keybind.unit_stance_patrol.name = Thế Trận Đơn Vị: Tuần Tra
keybind.unit_stance_ram.name = Tư thế đơn vị: Tông thẳng keybind.unit_stance_ram.name = Thế Trận Đơn Vị: Tông Thẳng
keybind.unit_command_move.name = Mệnh lệnh đơn vị: Di chuyển keybind.unit_command_move.name = Mệnh lệnh đơn vị: Di chuyển
keybind.unit_command_repair.name = Mệnh lệnh đơn vị: Sửa chữa keybind.unit_command_repair.name = Mệnh lệnh đơn vị: Sửa chữa
@@ -1447,6 +1457,8 @@ rules.buildaitier = Cấp Độ AI Xây Dựng
rules.rtsai = AI Chiến Thuật rules.rtsai = AI Chiến Thuật
rules.rtsai.campaign = AI chiến thuật tấn công rules.rtsai.campaign = AI chiến thuật tấn công
rules.rtsai.campaign.info = Trong bản đồ kiểu tấn công, làm các đơn vị tập hợp nhóm và tấn công căn cứ người chơi theo phương pháp thông minh hơn. rules.rtsai.campaign.info = Trong bản đồ kiểu tấn công, làm các đơn vị tập hợp nhóm và tấn công căn cứ người chơi theo phương pháp thông minh hơn.
rules.clearsectoronloss = Dọn Sạch Phân Khu Khi Mất
rules.clearsectoronloss.info = Khi khu vực đó bị mất, các công trình của người chơi từ lần thử trước sẽ không được chuyển sang theo.
rules.rtsminsquadsize = Kích Thước Đội Hình Tối Thiểu rules.rtsminsquadsize = Kích Thước Đội Hình Tối Thiểu
rules.rtsmaxsquadsize = Kích Thước Đội Hình Tối Đa rules.rtsmaxsquadsize = Kích Thước Đội Hình Tối Đa
rules.rtsminattackweight = Sức Tấn Công Tối Thiểu rules.rtsminattackweight = Sức Tấn Công Tối Thiểu
@@ -1670,7 +1682,7 @@ block.snow.name = Tuyết
block.crater-stone.name = Đá miệng núi lửa block.crater-stone.name = Đá miệng núi lửa
block.sand-water.name = Nước cát block.sand-water.name = Nước cát
block.darksand-water.name = Nước cát đen block.darksand-water.name = Nước cát đen
block.char.name = Than block.char.name = Đá cháy đen
block.dacite.name = Đá Dacit block.dacite.name = Đá Dacit
block.rhyolite.name = Đá Ryolit block.rhyolite.name = Đá Ryolit
block.dacite-wall.name = Tường Dacit block.dacite-wall.name = Tường Dacit
@@ -2479,9 +2491,9 @@ unit.navanax.description = Bắn tia xung điện từ (EMP) nổ, gây thiệt
#Erekir #Erekir
unit.stell.description = Bắn các viên đạn tiêu chuẩn vào các mục tiêu kẻ địch. unit.stell.description = Bắn các viên đạn tiêu chuẩn vào các mục tiêu kẻ địch.
unit.locus.description = Bắn các viên đạn xen kẽ vào các mục tiêu kẻ địch. unit.locus.description = Bắn các viên đạn xen kẽ vào các mục tiêu kẻ địch.
unit.precept.description = Bắn các viên đạn phân cụm xuyên thấu vào các mục tiêu kẻ địch. unit.precept.description = Bắn các viên đạn phân cụm xuyên thấu vào các mục tiêu kẻ địch. Ít bị ảnh hưởng bởi địa hình gây hại.
unit.vanquish.description = Bắn các viên đạn phân chia xuyên thấu lớn vào các mục tiêu kẻ địch. unit.vanquish.description = Bắn các viên đạn phân chia xuyên thấu lớn vào các mục tiêu kẻ địch. Ít bị ảnh hưởng bởi địa hình gây hại.
unit.conquer.description = Bắn các viên đạn xếp tầng xuyên thấu vào các mục tiêu kẻ địch. unit.conquer.description = Bắn các viên đạn xếp tầng xuyên thấu vào các mục tiêu kẻ địch. Ít bị ảnh hưởng bởi địa hình gây hại.
unit.merui.description = Bắn pháo tầm xa vào các mục tiêu kẻ địch trên mặt đất. Có thể đi qua hầu hết loại địa hình. unit.merui.description = Bắn pháo tầm xa vào các mục tiêu kẻ địch trên mặt đất. Có thể đi qua hầu hết loại địa hình.
unit.cleroi.description = Bắn trái phá kép vào các mục tiêu kẻ địch. Nhắm vào viên đạn kẻ địch với các tháp súng phòng thủ mũi nhọn. Có thể đi qua hầu hết loại địa hình. unit.cleroi.description = Bắn trái phá kép vào các mục tiêu kẻ địch. Nhắm vào viên đạn kẻ địch với các tháp súng phòng thủ mũi nhọn. Có thể đi qua hầu hết loại địa hình.
unit.anthicus.description = Bắn tên lửa dẫn đường tầm xa vào các mục tiêu kẻ địch. Có thể đi qua hầu hết loại địa hình. unit.anthicus.description = Bắn tên lửa dẫn đường tầm xa vào các mục tiêu kẻ địch. Có thể đi qua hầu hết loại địa hình.

View File

@@ -101,6 +101,7 @@ coreattack = < 核心正在遭受攻击! >
nearpoint = [[ [scarlet]立即离开敌人出生点[] ]\n摧毁在即 nearpoint = [[ [scarlet]立即离开敌人出生点[] ]\n摧毁在即
database = 核心数据库 database = 核心数据库
database.button = 数据库 database.button = 数据库
viewfields = View Content Fields
savegame = 保存游戏 savegame = 保存游戏
loadgame = 载入游戏 loadgame = 载入游戏
joingame = 加入游戏 joingame = 加入游戏
@@ -351,9 +352,9 @@ save.wave = 波次 {0}
save.mode = 游戏模式:{0} save.mode = 游戏模式:{0}
save.date = 最后保存时间:{0} save.date = 最后保存时间:{0}
save.playtime = 游戏时长:{0} save.playtime = 游戏时长:{0}
dontshowagain = Don't show again dontshowagain = 不再显示
warn.32bit.title = 32-bit Deprecation Warning warn.32bit.title = 32位架构弃用警告
warn.32bit = You are using a [red]32-bit[] version of Mindustry.\nAs newer Java versions have dropped 32-bit Windows support, [red]32-bit support will be discontinued in the future[].\n\nPlease upgrade to a 64-bit machine, and make sure you have the 64-bit version of Mindustry downloaded.\n\nIf you are running Mindustry as a JAR file, make sure you are using 64-bit Java. warn.32bit = 你正在游玩[red]32位[]版本的Mindustry\nJava在新版本中弃用了对32位Windows的支持[red]因此将在未来终止支持32位架构[]\n\n请使用64位平台游玩并且确保你下载的是64位的Mindustry。\n\n如果你通过运行JAR文件玩Mindustry确保使用的是64位的Java
warning = 警告! warning = 警告!
confirm = 确认 confirm = 确认
delete = 删除 delete = 删除
@@ -448,9 +449,9 @@ publish.confirm = 确定发布?\n\n[lightgray]请确认你同意创意工坊
publish.error = 发布项目时出错:{0} publish.error = 发布项目时出错:{0}
steam.error = 初始化 Steam 服务失败。\n错误{0} steam.error = 初始化 Steam 服务失败。\n错误{0}
editor.showblocks = Show Blocks editor.showblocks = 显示建筑
editor.showterrain = Show Terrain editor.showterrain = 显示墙体
editor.showfloor = Show Floor editor.showfloor = 显示地板
editor.planet = 星球: editor.planet = 星球:
editor.sector = 区块: editor.sector = 区块:
editor.seed = 种子: editor.seed = 种子:
@@ -467,6 +468,14 @@ editor.rules = 规则
editor.generation = 生成 editor.generation = 生成
editor.objectives = 目标 editor.objectives = 目标
editor.locales = 本地化语言包 editor.locales = 本地化语言包
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = 世界处理器 editor.worldprocessors = 世界处理器
editor.worldprocessors.editname = 命名 editor.worldprocessors.editname = 命名
editor.worldprocessors.none = [lightgray]未找到世界处理器!\n请在地图编辑器中添加或使用下方的 \ue813 添加按钮。 editor.worldprocessors.none = [lightgray]未找到世界处理器!\n请在地图编辑器中添加或使用下方的 \ue813 添加按钮。
@@ -791,6 +800,7 @@ campaign.complete = [accent]恭喜!\n\n{0}上的敌人已被击败。\n[lightg
sectorlist = 区块列表 sectorlist = 区块列表
sectorlist.attacked = {0} 正在遭受攻击 sectorlist.attacked = {0} 正在遭受攻击
sectors.unexplored = [lightgray]未探索 sectors.unexplored = [lightgray]未探索
sectors.attempts = 尝试次数:
sectors.resources = 资源: sectors.resources = 资源:
sectors.production = 产出: sectors.production = 产出:
sectors.export = 输出: sectors.export = 输出:
@@ -879,7 +889,7 @@ sector.seaPort.name = 边海港口
sector.weatheredChannels.name = 风化海峡 sector.weatheredChannels.name = 风化海峡
sector.mycelialBastion.name = 菌丝堡垒 sector.mycelialBastion.name = 菌丝堡垒
sector.frontier.name = 边陲哨站 sector.frontier.name = 边陲哨站
sector.sunkenPier.name = Sunken Pier sector.sunkenPier.name = 沉没码头
sector.cruxscape.name = 赤色总部 sector.cruxscape.name = 赤色总部
sector.geothermalStronghold.name = 熔石要塞 sector.geothermalStronghold.name = 熔石要塞
@@ -966,7 +976,7 @@ status.overdrive.name = 过载
status.overclock.name = 超频 status.overclock.name = 超频
status.shocked.name = 电击 status.shocked.name = 电击
status.blasted.name = 爆炸 status.blasted.name = 爆炸
status.corroded.name = Corroded status.corroded.name = 腐蚀
status.unmoving.name = 静止 status.unmoving.name = 静止
status.boss.name = Boss status.boss.name = Boss
@@ -1014,10 +1024,10 @@ stat.opposites = 互斥
stat.powercapacity = 电力容量 stat.powercapacity = 电力容量
stat.powershot = 电力/发 stat.powershot = 电力/发
stat.damage = 伤害 stat.damage = 伤害
stat.frequency = Frequency stat.frequency = 频率
stat.targetsair = 攻击空中单位 stat.targetsair = 攻击空中单位
stat.targetsground = 攻击地面单位 stat.targetsground = 攻击地面单位
stat.crushdamage = Crush Damage stat.crushdamage = 碾压伤害
stat.itemsmoved = 移动速度 stat.itemsmoved = 移动速度
stat.launchtime = 发射间隔 stat.launchtime = 发射间隔
stat.shootrange = 范围 stat.shootrange = 范围
@@ -1122,7 +1132,7 @@ ability.stat.regen = [stat]{0}/秒[lightgray] 生命恢复速度
ability.stat.pulseregen = [stat]{0}[lightgray] 回盾/每次 ability.stat.pulseregen = [stat]{0}[lightgray] 回盾/每次
ability.stat.shield = [stat]{0}[lightgray] 护盾 ability.stat.shield = [stat]{0}[lightgray] 护盾
ability.stat.repairspeed = [stat]{0}/秒[lightgray] 修复速度 ability.stat.repairspeed = [stat]{0}/秒[lightgray] 修复速度
ability.stat.deflectchance = [stat]{0}%[lightgray] deflect chance ability.stat.deflectchance = [stat]{0}%[lightgray] 反弹概率
ability.stat.slurpheal = [stat]{0}[lightgray] 生命/液体单位 ability.stat.slurpheal = [stat]{0}[lightgray] 生命/液体单位
ability.stat.cooldown = [stat]{0} 秒[lightgray] 冷却时间 ability.stat.cooldown = [stat]{0} 秒[lightgray] 冷却时间
ability.stat.maxtargets = [stat]{0}[lightgray] 最大目标数 ability.stat.maxtargets = [stat]{0}[lightgray] 最大目标数
@@ -1345,7 +1355,7 @@ keybind.unit_command_repair.name = 单位命令:修复
keybind.unit_command_rebuild.name = 单位命令:重建 keybind.unit_command_rebuild.name = 单位命令:重建
keybind.unit_command_assist.name = 单位命令:协助建造 keybind.unit_command_assist.name = 单位命令:协助建造
keybind.unit_command_mine.name = 单位命令:采矿 keybind.unit_command_mine.name = 单位命令:采矿
keybind.unit_command_boost.name = 单位命令单位命令:助推 keybind.unit_command_boost.name = 单位命令:助推
keybind.unit_command_load_units.name = 单位命令:拾取单位 keybind.unit_command_load_units.name = 单位命令:拾取单位
keybind.unit_command_load_blocks.name = 单位命令:拾取建筑 keybind.unit_command_load_blocks.name = 单位命令:拾取建筑
keybind.unit_command_unload_payload.name = 单位命令:卸载载荷 keybind.unit_command_unload_payload.name = 单位命令:卸载载荷
@@ -1447,6 +1457,8 @@ rules.buildaitier = AI 建造等级
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS 进攻 AI rules.rtsai.campaign = RTS 进攻 AI
rules.rtsai.campaign.info = 让敌方单位更智能地组队攻击玩家基地。 rules.rtsai.campaign.info = 让敌方单位更智能地组队攻击玩家基地。
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = 最小部队规模 rules.rtsminsquadsize = 最小部队规模
rules.rtsmaxsquadsize = 最大部队规模 rules.rtsmaxsquadsize = 最大部队规模
rules.rtsminattackweight = 最低进攻强度 rules.rtsminattackweight = 最低进攻强度
@@ -1705,16 +1717,16 @@ block.metal-tiles-9.name = 金属地基 9
block.metal-tiles-10.name = 金属地基 10 block.metal-tiles-10.name = 金属地基 10
block.metal-tiles-11.name = 金属地基 11 block.metal-tiles-11.name = 金属地基 11
block.metal-tiles-12.name = 金属地基 12 block.metal-tiles-12.name = 金属地基 12
block.metal-tiles-13.name = Metal Tiles 13 block.metal-tiles-13.name = 金属地基 13
block.metal-wall-1.name = Metal Wall 1 block.metal-wall-1.name = 金属墙 1
block.metal-wall-2.name = Metal Wall 2 block.metal-wall-2.name = 金属墙 2
block.metal-wall-3.name = Metal Wall 3 block.metal-wall-3.name = 金属墙 3
block.colored-floor.name = 染色地板 block.colored-floor.name = 染色地板
block.colored-wall.name = 染色墙壁 block.colored-wall.name = 染色墙壁
block.character-overlay.name = 标识贴片 block.character-overlay.name = 标识贴片
block.character-overlay-white.name = 标识贴片 (白色) block.character-overlay-white.name = 标识贴片 (白色)
block.rune-overlay.name = Rune Overlay block.rune-overlay.name = 符文贴片
block.rune-overlay-crux.name = Rune Overlay (Crux) block.rune-overlay-crux.name = 符文贴片 (红队)
block.dark-panel-1.name = 暗面板 1 block.dark-panel-1.name = 暗面板 1
block.dark-panel-2.name = 暗面板 2 block.dark-panel-2.name = 暗面板 2
block.dark-panel-3.name = 暗面板 3 block.dark-panel-3.name = 暗面板 3
@@ -2530,7 +2542,7 @@ lst.explosion = 在某个位置生成爆炸。
lst.setrate = 在指令/时间刻的时间下设置处理器处理速度。 lst.setrate = 在指令/时间刻的时间下设置处理器处理速度。
lst.fetch = 按索引查找单位、核心、玩家或建筑物\n索引从 0 开始,以其返回的计数结束。 lst.fetch = 按索引查找单位、核心、玩家或建筑物\n索引从 0 开始,以其返回的计数结束。
lst.packcolor = 将 RGBA 各分量0-1 范围)打包为单个整数,用于绘图或逻辑规则。 lst.packcolor = 将 RGBA 各分量0-1 范围)打包为单个整数,用于绘图或逻辑规则。
lst.unpackcolor = 从打包的颜色值中解 RGBA 分量 lst.unpackcolor = 使用[accent]Pack Color[]打包的颜色值中解 RGBA 组件
lst.setrule = 设置地图规则。 lst.setrule = 设置地图规则。
lst.flushmessage = 在屏幕中央投影文字缓存区的内容\n会等待上一个文字显示结束。 lst.flushmessage = 在屏幕中央投影文字缓存区的内容\n会等待上一个文字显示结束。
lst.cutscene = 控制玩家游戏视角。 lst.cutscene = 控制玩家游戏视角。
@@ -2642,7 +2654,7 @@ lenum.always = 无条件跳转
lenum.idiv = 整数除法,返回不带小数的商 lenum.idiv = 整数除法,返回不带小数的商
lenum.div = 除法,除以 0 时返回 [accent]null[] lenum.div = 除法,除以 0 时返回 [accent]null[]
lenum.mod = 求除法的余数 lenum.mod = 求除法的余数
lenum.emod = 取模,结果总是正数 lenum.emod = 标准取模,结果符号取决于除数。
lenum.equal = 相等。转换参数类型后进行比较\n与数字进行比较时null 转换为 0 ,非 null 对象转换为 1 lenum.equal = 相等。转换参数类型后进行比较\n与数字进行比较时null 转换为 0 ,非 null 对象转换为 1
lenum.notequal = 不相等。转换参数类型后进行比较 lenum.notequal = 不相等。转换参数类型后进行比较
lenum.strictequal = 严格相等。不转换参数类型\n可用于准确检查 [accent]null[] 对象 lenum.strictequal = 严格相等。不转换参数类型\n可用于准确检查 [accent]null[] 对象
@@ -2689,7 +2701,7 @@ lenum.player = 玩家控制的单位
lenum.ore = 矿脉 lenum.ore = 矿脉
lenum.damaged = 受损的己方建筑 lenum.damaged = 受损的己方建筑
lenum.spawn = 敌人出生点\n可以是核心或者某个坐标 lenum.spawn = 敌人出生点\n可以是核心或者某个坐标
lenum.building = 某个分类下的建筑 lenum.building = 建筑
lenum.core = 核心 lenum.core = 核心
lenum.storage = 仓储建筑(容器/仓库) lenum.storage = 仓储建筑(容器/仓库)
@@ -2730,7 +2742,7 @@ unitlocate.group = 所搜寻的建筑分类
playsound.limit = 如果为真,则阻止该声音在同一帧内重复播放。 playsound.limit = 如果为真,则阻止该声音在同一帧内重复播放。
lenum.idle = 原地不动,但继续进行手上的采矿/建造动作\n单位的默认状态 lenum.idle = 原地不动,但继续进行手上的采矿/建造动作\n单位的默认状态
lenum.stop = 停止移动/采矿/建造动作 lenum.stop = 停止
lenum.unbind = 停用单位的逻辑控制\n恢复常规 AI lenum.unbind = 停用单位的逻辑控制\n恢复常规 AI
lenum.move = 移动到某个位置 lenum.move = 移动到某个位置
lenum.approach = 靠近某个位置至一定的距离内 lenum.approach = 靠近某个位置至一定的距离内
@@ -2743,17 +2755,17 @@ lenum.itemtake = 从建筑中取出某种物品
lenum.paydrop = 卸下当前载荷 lenum.paydrop = 卸下当前载荷
lenum.paytake = 从当前位置拾取载荷 lenum.paytake = 从当前位置拾取载荷
lenum.payenter = 进入/降落到单位下方的荷载方块中 lenum.payenter = 进入/降落到单位下方的荷载方块中
lenum.flag = 给单位赋予数字形式的标记 lenum.flag = 赋予单位数字形式的标记
lenum.mine = 从某个位置采集矿物 lenum.mine = 从某个位置采集矿物
lenum.build = 建造建筑 lenum.build = 建造建筑
lenum.getblock = 根据坐标获取建筑物、环境块和环境墙体类型。\n单位必须在位置范围内否则返回空值。 lenum.getblock = 根据坐标获取建筑物、环境块和环境墙体类型。\n单位必须在位置范围内否则返回空值。
lenum.within = 检查单位是否接近了某个位置 lenum.within = 检查单位是否接近了某个位置
lenum.boost = 开始/停止助推 lenum.boost = 开始/停止助推
lenum.flushtext = 如果适用的话,将打印缓冲区的内容刷新到标记。\n如果 fetch 设置为 true则尝试从地图本地化包或游戏的包中获取属性。 lenum.flushtext = 如果适用,将打印缓冲区的内容刷新到标记。\n如果[accent]Fetch[]设置为 true则尝试从地图本地化包或游戏的包中获取属性。
lenum.texture = 直接来自游戏纹理图集的纹理名称(使用 kebab-case 命名风格)。\n如果 printFlush 设置为 true则将文本缓冲区内容作为文本参数消耗。 lenum.texture = 直接来自游戏纹理图集的纹理名称(使用 kebab-case 命名风格)。\n如果[accent]Print Flush[]设置为 true则将文本缓冲区内容作为文本参数消耗。
lenum.texturesize = 纹理的大小(格)。零值将标记宽度缩放为原始纹理的大小。 lenum.texturesize = 纹理的大小(格)。零值将标记宽度缩放为原始纹理的大小。
lenum.autoscale = 是否根据玩家的缩放级别缩放标记。 lenum.autoscale = 标记是否根据玩家屏幕的缩放级别缩放
lenum.posi = 索引位置,用于线和四边形标记,索引零表示第一个位置。 lenum.posi = 索引位置,用于线和四边形标记,索引零表示第一个位置。
lenum.uvi = 纹理的位置范围从零到一,用于四边形标记。 lenum.uvi = 纹理的位置范围从零到一,用于四边形标记。
lenum.colori = 索引位置,用于线和四边形标记,索引零表示第一个颜色。 lenum.colori = 索引位置,用于线和四边形标记,索引零表示第一个颜色。
@@ -2763,24 +2775,24 @@ lenum.wave = 当前波数,可以是非波次模式下的任何值
lenum.currentwavetime = 波次倒计时(以 tick 为单位) lenum.currentwavetime = 波次倒计时(以 tick 为单位)
lenum.waves = 波次是否可以生成 lenum.waves = 波次是否可以生成
lenum.wavesending = 是否可以通过播放按钮手动生成波次 lenum.wavesending = 是否可以通过播放按钮手动生成波次
lenum.attackmode = 确定游戏模式是否为攻模式 lenum.attackmode = 游戏是否为攻模式
lenum.wavespacing = 波次之间的时间(以 tick 为单位) lenum.wavespacing = 波次之间的时间间隔(以 tick 为单位)
lenum.enemycorebuildradius = 敌人核心半径周围无建筑区 lenum.enemycorebuildradius = 敌人核心禁建范围半径
lenum.dropzoneradius = 敌人出生点周围的半径 lenum.dropzoneradius = 敌人出生点范围半径
lenum.unitcap = 基本单位上限。但仍然可以通过方块增加 lenum.unitcap = 基本单位上限。但仍然可以通过方块增加
lenum.lighting = 是否启用环境光 lenum.lighting = 是否启用环境光
lenum.buildspeed = 速度倍率 lenum.buildspeed = 速度倍率
lenum.unithealth = 单位受伤减免,计算方式是伤害除以减免值 lenum.unithealth = 单位受伤减免,计算方式是伤害除以减免值
lenum.unitbuildspeed = 工厂建造单的速度 lenum.unitbuildspeed = 工厂建造单的速度
lenum.unitcost = 单位建设所需资源的倍率 lenum.unitcost = 建造单位所需资源的倍率
lenum.unitdamage = 单位造成多少伤害 lenum.unitdamage = 单位伤害倍率
lenum.blockhealth = 建筑初始拥有的生命值 lenum.blockhealth = 建筑初始生命值倍率
lenum.blockdamage = 炮塔伤害 lenum.blockdamage = 建筑伤害倍率
lenum.rtsminweight = 部队发动攻击所需的最小“优势”。数值越高,越谨慎。 lenum.rtsminweight = 部队发动攻击所需的最小“优势”。数值越高,越谨慎。
lenum.rtsminsquad = 攻击小队的最小规模 lenum.rtsminsquad = 攻击小队的最小规模
lenum.maparea = 设置区域范围 lenum.maparea = 设置地图大小和有效范围
lenum.ambientlight = 环境光颜色,启用照明时使用 lenum.ambientlight = 环境光颜色,可搭配[accent]Pack Color[]使用
lenum.solarmultiplier = 太阳能电池板的功率输出倍率 lenum.solarmultiplier = 太阳能电池板的发电倍率
lenum.dragmultiplier = 环境阻力乘数 lenum.dragmultiplier = 环境阻力乘数
lenum.ban = 无法被放置或者建造的建筑或单位 lenum.ban = 禁用指定内容
lenum.unban = 解禁一个单位或建筑 lenum.unban = 解禁指定内容

View File

@@ -101,6 +101,7 @@ coreattack = 〈核心正在受到攻擊!〉
nearpoint = 【[scarlet]立即離開空降區[]】\n湮滅即將來臨 nearpoint = 【[scarlet]立即離開空降區[]】\n湮滅即將來臨
database = 核心資料庫 database = 核心資料庫
database.button = 資料庫 database.button = 資料庫
viewfields = View Content Fields
savegame = 儲存遊戲 savegame = 儲存遊戲
loadgame = 載入遊戲 loadgame = 載入遊戲
joingame = 多人連線 joingame = 多人連線
@@ -467,6 +468,14 @@ editor.rules = 規則:
editor.generation = 自動生成: editor.generation = 自動生成:
editor.objectives = 目標 editor.objectives = 目標
editor.locales = Locale Bundles editor.locales = Locale Bundles
editor.patches.guide = Patch Guide
editor.patches = Content Patches
editor.patch = Patchset: {0}
editor.patches.none = [lightgray]No patchsets loaded.
editor.patches.errors = Patchset Errors
editor.patches.importerror = Failed to import patchset
editor.patches.delete.confirm = Are you sure you want to delete this patchset?
editor.patch.fields = {0} fields
editor.worldprocessors = World Processors editor.worldprocessors = World Processors
editor.worldprocessors.editname = Edit Name editor.worldprocessors.editname = Edit Name
editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below.
@@ -791,6 +800,7 @@ campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeat
sectorlist = 地區 sectorlist = 地區
sectorlist.attacked = {0} 遭受攻擊 sectorlist.attacked = {0} 遭受攻擊
sectors.unexplored = [lightgray]未探索 sectors.unexplored = [lightgray]未探索
sectors.attempts = Attempts:
sectors.resources = 資源: sectors.resources = 資源:
sectors.production = 生產: sectors.production = 生產:
sectors.export = 輸出: sectors.export = 輸出:
@@ -1447,6 +1457,8 @@ rules.buildaitier = 建築者 AI 等級
rules.rtsai = RTS AI rules.rtsai = RTS AI
rules.rtsai.campaign = RTS Attack AI rules.rtsai.campaign = RTS Attack AI
rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner.
rules.clearsectoronloss = Clear Sector On Loss
rules.clearsectoronloss.info = When the sector is lost, player buildings from the previous attempt will not carry over.
rules.rtsminsquadsize = 最小隊伍規模 rules.rtsminsquadsize = 最小隊伍規模
rules.rtsmaxsquadsize = 最大隊伍規模 rules.rtsmaxsquadsize = 最大隊伍規模
rules.rtsminattackweight = 最小攻擊力 rules.rtsminattackweight = 最小攻擊力

View File

@@ -1,3 +1,4 @@
redloong9527
Prosta4okua Prosta4okua
Felix Corvus Felix Corvus
Vanguard Vanguard

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,13 @@
attribute vec4 a_position;
attribute vec3 a_normal;
uniform mat4 u_proj;
uniform mat4 u_trans;
uniform vec4 u_color;
varying vec4 v_col;
void main(){
v_col = vec4(1.0);
gl_Position = u_proj * u_trans * a_position;
}

View File

@@ -214,7 +214,7 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform
public void update(){ public void update(){
PerfCounter.update.begin(); PerfCounter.update.begin();
int targetfps = Core.settings.getInt("fpscap", 120); int targetfps = ios ? 0 : Core.settings.getInt("fpscap", 120);
boolean changed = lastTargetFps != targetfps && lastTargetFps != -1; boolean changed = lastTargetFps != targetfps && lastTargetFps != -1;
boolean limitFps = targetfps > 0 && targetfps <= 240; boolean limitFps = targetfps > 0 && targetfps <= 240;

View File

@@ -79,6 +79,8 @@ public class Vars implements Loadable{
public static final String discordURL = "https://discord.gg/mindustry"; public static final String discordURL = "https://discord.gg/mindustry";
/** Link to the wiki's modding guide.*/ /** Link to the wiki's modding guide.*/
public static final String modGuideURL = "https://mindustrygame.github.io/wiki/modding/1-modding/"; public static final String modGuideURL = "https://mindustrygame.github.io/wiki/modding/1-modding/";
/** Link to the wiki's patch guide.*/
public static final String patchesGuideURL = "https://mindustrygame.github.io/wiki/contentpatches/";
/** URLs to the JSON file containing all the BE servers. Only queried in BE. */ /** URLs to the JSON file containing all the BE servers. Only queried in BE. */
public static final String[] serverJsonBeURLs = {"https://raw.githubusercontent.com/Anuken/MindustryServerList/master/servers_be.json", "https://cdn.jsdelivr.net/gh/anuken/mindustryserverlist/servers_be.json"}; public static final String[] serverJsonBeURLs = {"https://raw.githubusercontent.com/Anuken/MindustryServerList/master/servers_be.json", "https://cdn.jsdelivr.net/gh/anuken/mindustryserverlist/servers_be.json"};
/** URLs to the JSON file containing all the stable servers. */ /** URLs to the JSON file containing all the stable servers. */

View File

@@ -89,7 +89,7 @@ public class UnitCommand extends MappableContent{
drawTarget = true; drawTarget = true;
resetTarget = false; resetTarget = false;
}}; }};
enterPayloadCommand = new UnitCommand("enterPayload", "downOpen", Binding.unitCommandEnterPayload, null){{ enterPayloadCommand = new UnitCommand("enterPayload", "downOpen", Binding.unitCommandEnterPayload, u -> new BoostAI()){{
switchToMove = false; switchToMove = false;
drawTarget = true; drawTarget = true;
resetTarget = false; resetTarget = false;

View File

@@ -16,7 +16,6 @@ public class SerpuloTechTree{
Planets.serpulo.techTree = nodeRoot("serpulo", coreShard, () -> { Planets.serpulo.techTree = nodeRoot("serpulo", coreShard, () -> {
node(conveyor, () -> { node(conveyor, () -> {
node(junction, () -> { node(junction, () -> {
node(router, () -> { node(router, () -> {
node(advancedLaunchPad, Seq.with(new SectorComplete(extractionOutpost)), () -> { node(advancedLaunchPad, Seq.with(new SectorComplete(extractionOutpost)), () -> {
@@ -73,7 +72,6 @@ public class SerpuloTechTree{
}); });
node(mechanicalDrill, () -> { node(mechanicalDrill, () -> {
node(mechanicalPump, () -> { node(mechanicalPump, () -> {
node(conduit, () -> { node(conduit, () -> {
node(liquidJunction, () -> { node(liquidJunction, () -> {

View File

@@ -384,8 +384,8 @@ public class UnitTypes{
bullet = new LightningBulletType(){{ bullet = new LightningBulletType(){{
lightningColor = hitColor = Pal.heal; lightningColor = hitColor = Pal.heal;
damage = 14f; damage = 15f;
lightningLength = 7; lightningLength = 8;
lightningLengthRand = 7; lightningLengthRand = 7;
shootEffect = Fx.shootHeal; shootEffect = Fx.shootHeal;
//Does not actually do anything; Just here to make stats work //Does not actually do anything; Just here to make stats work
@@ -418,13 +418,13 @@ public class UnitTypes{
mechFrontSway = 0.55f; mechFrontSway = 0.55f;
ammoType = new PowerAmmoType(1500); ammoType = new PowerAmmoType(1500);
speed = 0.4f; speed = 0.5f;
hitSize = 13f; hitSize = 13f;
mineSpeed = 4f; mineSpeed = 4f;
drawShields = false; drawShields = false;
abilities.add(new ForceFieldAbility(60f, 0.3f, 400f, 60f * 6)); abilities.add(new ForceFieldAbility(60f, 0.4f, 500f, 60f * 6));
weapons.add(new Weapon("beam-weapon"){{ weapons.add(new Weapon("beam-weapon"){{
top = false; top = false;
@@ -443,7 +443,7 @@ public class UnitTypes{
sideLength = 70f; sideLength = 70f;
healPercent = 10f; healPercent = 10f;
collidesTeam = true; collidesTeam = true;
length = 135f; length = 150f;
colors = new Color[]{Pal.heal.cpy().a(0.4f), Pal.heal, Color.white}; colors = new Color[]{Pal.heal.cpy().a(0.4f), Pal.heal, Color.white};
}}; }};
}}); }});

View File

@@ -40,6 +40,20 @@ public class ContentLoader{
} }
} }
public ContentLoader copy(){
var result = new ContentLoader();
result.initialization.addAll(initialization);
result.lastAdded = lastAdded;
result.currentMod = currentMod;
result.temporaryMapper = temporaryMapper;
result.nameMap.putAll(nameMap);
for(int i = 0; i < contentMap.length; i++){
result.contentMap[i].addAll(contentMap[i]);
result.contentNameMap[i].putAll(contentNameMap[i]);
}
return result;
}
/** Creates all base types. */ /** Creates all base types. */
public void createBaseContent(){ public void createBaseContent(){
UnitCommand.loadAll(); UnitCommand.loadAll();
@@ -248,6 +262,10 @@ public class ContentLoader{
return (Seq<T>)contentMap[type.ordinal()]; return (Seq<T>)contentMap[type.ordinal()];
} }
public <T extends Content> ObjectMap<String, T> getNamesBy(ContentType type){
return (ObjectMap<String, T>)contentNameMap[type.ordinal()];
}
//utility methods, just makes things a bit shorter //utility methods, just makes things a bit shorter
public Seq<Block> blocks(){ public Seq<Block> blocks(){

View File

@@ -420,7 +420,10 @@ public class Control implements ApplicationListener, Loadable{
ui.planet.hide(); ui.planet.hide();
SaveSlot slot = sector.save; SaveSlot slot = sector.save;
sector.planet.setLastSector(sector); sector.planet.setLastSector(sector);
if(slot != null && !clearSectors && (!sector.planet.clearSectorOnLose || sector.info.hasCore)){
boolean clearSave = sector.planet.clearSectorOnLose || sector.planet.campaignRules.clearSectorOnLose;
if(slot != null && !clearSectors && (!clearSave || sector.info.hasCore)){
try{ try{
boolean hadNoCore = !sector.info.hasCore; boolean hadNoCore = !sector.info.hasCore;
@@ -435,7 +438,7 @@ public class Control implements ApplicationListener, Loadable{
if(state.rules.defaultTeam.cores().isEmpty() || hadNoCore){ if(state.rules.defaultTeam.cores().isEmpty() || hadNoCore){
//don't carry over the spawn position and plans if the sector preset name or map size changed //don't carry over the spawn position and plans if the sector preset name or map size changed
if(sector.planet.clearSectorOnLose || sector.info.spawnPosition == 0 || !sector.info.sectorDataMatches(sector)){ if(clearSave || sector.info.spawnPosition == 0 || !sector.info.sectorDataMatches(sector)){
playNewSector(origin, sector, reloader); playNewSector(origin, sector, reloader);
}else{ }else{
int spawnPos = sector.info.spawnPosition; int spawnPos = sector.info.spawnPosition;
@@ -499,8 +502,10 @@ public class Control implements ApplicationListener, Loadable{
} }
}); });
Core.app.post(() -> {
//blocks placed after WorldLoadEvent didn't queue an update, so fix that. //blocks placed after WorldLoadEvent didn't queue an update, so fix that.
renderer.minimap.updateAll(); renderer.minimap.updateAll();
});
} }
}else{ }else{
state.set(State.playing); state.set(State.playing);
@@ -531,6 +536,7 @@ public class Control implements ApplicationListener, Loadable{
state.rules.sector = sector; state.rules.sector = sector;
sector.info.origin = origin; sector.info.origin = origin;
sector.info.destination = origin; sector.info.destination = origin;
sector.info.attempts ++;
if(beforePlay != null){ if(beforePlay != null){
beforePlay.run(); beforePlay.run();

View File

@@ -6,6 +6,7 @@ import mindustry.game.EventType.*;
import mindustry.game.*; import mindustry.game.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.maps.*; import mindustry.maps.*;
import mindustry.mod.*;
import mindustry.type.*; import mindustry.type.*;
import mindustry.world.blocks.*; import mindustry.world.blocks.*;
@@ -42,6 +43,8 @@ public class GameState{
public Attributes envAttrs = new Attributes(); public Attributes envAttrs = new Attributes();
/** Team data. Gets reset every new game. */ /** Team data. Gets reset every new game. */
public Teams teams = new Teams(); public Teams teams = new Teams();
/** Handles JSON edits of game content. */
public ContentPatcher patcher = new ContentPatcher();
/** Number of enemies in the game; only used clientside in servers. */ /** Number of enemies in the game; only used clientside in servers. */
public int enemies; public int enemies;
/** Map being playtested (not edited!) */ /** Map being playtested (not edited!) */

View File

@@ -134,10 +134,13 @@ public class Logic implements ApplicationListener{
//enable building AI on campaign unless the preset disables it //enable building AI on campaign unless the preset disables it
state.rules.coreIncinerates = true; state.rules.coreIncinerates = true;
state.rules.infiniteResources = false;
state.rules.allowEditRules = false; state.rules.allowEditRules = false;
state.rules.allowEditWorldProcessors = false; state.rules.allowEditWorldProcessors = false;
if(state.getPlanet().enemyInfiniteItems){
state.rules.waveTeam.rules().infiniteResources = true; state.rules.waveTeam.rules().infiniteResources = true;
state.rules.waveTeam.rules().fillItems = true; state.rules.waveTeam.rules().fillItems = true;
}
state.rules.waveTeam.rules().buildSpeedMultiplier *= state.getPlanet().enemyBuildSpeedMultiplier; state.rules.waveTeam.rules().buildSpeedMultiplier *= state.getPlanet().enemyBuildSpeedMultiplier;
} }
@@ -257,6 +260,7 @@ public class Logic implements ApplicationListener{
public void reset(){ public void reset(){
State prev = state.getState(); State prev = state.getState();
state.patcher.unapply();
//recreate gamestate - sets state to menu //recreate gamestate - sets state to menu
state = new GameState(); state = new GameState();
//fire change event, since it was technically changed //fire change event, since it was technically changed

View File

@@ -25,6 +25,7 @@ import mindustry.game.EventType.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.graphics.*; import mindustry.graphics.*;
import mindustry.logic.*; import mindustry.logic.*;
import mindustry.mod.*;
import mindustry.ui.*; import mindustry.ui.*;
import mindustry.ui.dialogs.*; import mindustry.ui.dialogs.*;
import mindustry.ui.fragments.*; import mindustry.ui.fragments.*;
@@ -147,7 +148,7 @@ public class UI implements ApplicationListener, Loadable{
@Override @Override
public Seq<AssetDescriptor> getDependencies(){ public Seq<AssetDescriptor> getDependencies(){
return Seq.with(new AssetDescriptor<>(Control.class), new AssetDescriptor<>("outline", Font.class), new AssetDescriptor<>("default", Font.class)); return Seq.with(new AssetDescriptor<>(Control.class), new AssetDescriptor<>("outline", Font.class), new AssetDescriptor<>("default", Font.class), new AssetDescriptor<>(Mods.class));
} }
@Override @Override
@@ -601,6 +602,10 @@ public class UI implements ApplicationListener, Loadable{
t.update(() -> { t.update(() -> {
t.setPosition(Core.graphics.getWidth()/2f, Core.graphics.getHeight()/2f, Align.center); t.setPosition(Core.graphics.getWidth()/2f, Core.graphics.getHeight()/2f, Align.center);
t.toFront(); t.toFront();
if(state.isMenu() || !ui.hudfrag.shown){
t.remove();
}
}); });
t.actions(Actions.fadeOut(duration, Interp.pow4In), Actions.remove()); t.actions(Actions.fadeOut(duration, Interp.pow4In), Actions.remove());
t.pack(); t.pack();

View File

@@ -3,9 +3,11 @@ package mindustry.ctype;
import arc.files.*; import arc.files.*;
import arc.util.*; import arc.util.*;
import mindustry.*; import mindustry.*;
import mindustry.mod.*;
import mindustry.mod.Mods.*; import mindustry.mod.Mods.*;
/** Base class for a content type that is loaded in {@link mindustry.core.ContentLoader}. */ /** Base class for a content type that is loaded in {@link mindustry.core.ContentLoader}. */
@NoPatch
public abstract class Content implements Comparable<Content>{ public abstract class Content implements Comparable<Content>{
public short id; public short id;
/** Info on which mod this content was loaded from. */ /** Info on which mod this content was loaded from. */
@@ -28,6 +30,9 @@ public abstract class Content implements Comparable<Content>{
/** Called after init(). */ /** Called after init(). */
public void postInit(){} public void postInit(){}
/** Called after being patched. */
public void afterPatch(){}
/** /**
* Called after all content is created, only on non-headless versions. * Called after all content is created, only on non-headless versions.
* Use for loading regions or other image data. * Use for loading regions or other image data.

View File

@@ -1,7 +1,9 @@
package mindustry.ctype; package mindustry.ctype;
import mindustry.*; import mindustry.*;
import mindustry.mod.*;
@NoPatch
public abstract class MappableContent extends Content{ public abstract class MappableContent extends Content{
public final String name; public final String name;

View File

@@ -14,6 +14,7 @@ import mindustry.content.TechTree.*;
import mindustry.game.EventType.*; import mindustry.game.EventType.*;
import mindustry.graphics.*; import mindustry.graphics.*;
import mindustry.graphics.MultiPacker.*; import mindustry.graphics.MultiPacker.*;
import mindustry.mod.*;
import mindustry.type.*; import mindustry.type.*;
import mindustry.ui.*; import mindustry.ui.*;
import mindustry.world.meta.*; import mindustry.world.meta.*;
@@ -23,6 +24,7 @@ import static mindustry.Vars.*;
/** Base interface for an unlockable content type. */ /** Base interface for an unlockable content type. */
public abstract class UnlockableContent extends MappableContent{ public abstract class UnlockableContent extends MappableContent{
/** Stat storage for this content. Initialized on demand. */ /** Stat storage for this content. Initialized on demand. */
@NoPatch
public Stats stats = new Stats(); public Stats stats = new Stats();
/** Localized, formal name. Never null. Set to internal name if not found in bundle. */ /** Localized, formal name. Never null. Set to internal name if not found in bundle. */
public String localizedName; public String localizedName;
@@ -60,10 +62,13 @@ public abstract class UnlockableContent extends MappableContent{
* */ * */
public ObjectSet<UnlockableContent> databaseTabs = new ObjectSet<>(); public ObjectSet<UnlockableContent> databaseTabs = new ObjectSet<>();
/** The tech tree node for this content, if applicable. Null if not part of a tech tree. */ /** The tech tree node for this content, if applicable. Null if not part of a tech tree. */
@NoPatch
public @Nullable TechNode techNode; public @Nullable TechNode techNode;
/** Tech nodes for all trees that this content is part of. */ /** Tech nodes for all trees that this content is part of. */
@NoPatch
public Seq<TechNode> techNodes = new Seq<>(); public Seq<TechNode> techNodes = new Seq<>();
/** Unlock state. Loaded from settings. Do not modify outside the constructor. */ /** Unlock state. Loaded from settings. Do not modify outside the constructor. */
@NoPatch
protected boolean unlocked; protected boolean unlocked;
public UnlockableContent(String name){ public UnlockableContent(String name){
@@ -95,6 +100,14 @@ public abstract class UnlockableContent extends MappableContent{
uiIcon = Core.atlas.find(getContentType().name() + "-" + name + "-ui", fullIcon); uiIcon = Core.atlas.find(getContentType().name() + "-" + name + "-ui", fullIcon);
} }
@Override
public void afterPatch(){
super.afterPatch();
//reset stats
stats = new Stats();
}
public boolean isBanned(){ public boolean isBanned(){
return false; return false;
} }

View File

@@ -90,6 +90,9 @@ public class EditorRenderer implements Disposable{
boolean prev = renderer.animateWater; boolean prev = renderer.animateWater;
renderer.animateWater = false; renderer.animateWater = false;
Tmp.m4.set(Draw.trans());
Draw.trans().idt();
Tmp.v3.set(Core.camera.position); Tmp.v3.set(Core.camera.position);
Core.camera.position.set(world.width()/2f * tilesize, world.height()/2f * tilesize); Core.camera.position.set(world.width()/2f * tilesize, world.height()/2f * tilesize);
Core.camera.width = 999999f; Core.camera.width = 999999f;
@@ -144,7 +147,9 @@ public class EditorRenderer implements Disposable{
} }
} }
Core.camera.position.set(Tmp.v3); Core.camera.position.set(Tmp.v3);
Draw.trans(Tmp.m4);
} }
void updateStatic(int x, int y){ void updateStatic(int x, int y){

View File

@@ -383,6 +383,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
state.rules.allowEditRules = false; state.rules.allowEditRules = false;
state.rules.objectiveFlags.clear(); state.rules.objectiveFlags.clear();
state.rules.objectives.each(MapObjective::reset); state.rules.objectives.each(MapObjective::reset);
state.stats = new GameStats();
String name = editor.tags.get("name", "").trim(); String name = editor.tags.get("name", "").trim();
editor.tags.put("rules", JsonIO.write(state.rules)); editor.tags.put("rules", JsonIO.write(state.rules));
editor.tags.remove("width"); editor.tags.remove("width");

View File

@@ -20,6 +20,7 @@ public class MapInfoDialog extends BaseDialog{
private MapObjectivesDialog objectives = new MapObjectivesDialog(); private MapObjectivesDialog objectives = new MapObjectivesDialog();
private MapLocalesDialog locales = new MapLocalesDialog(); private MapLocalesDialog locales = new MapLocalesDialog();
private MapProcessorsDialog processors = new MapProcessorsDialog(); private MapProcessorsDialog processors = new MapProcessorsDialog();
private MapPatchesDialog patches = new MapPatchesDialog();
public MapInfoDialog(){ public MapInfoDialog(){
super("@editor.mapinfo"); super("@editor.mapinfo");
@@ -113,6 +114,16 @@ public class MapInfoDialog extends BaseDialog{
hide(); hide();
processors.show(); processors.show();
}).marginLeft(10f); }).marginLeft(10f);
r.row();
r.button("@editor.patches", Icon.file, style, () -> {
hide();
patches.show();
}).marginLeft(10f);
//empty space
r.add().marginLeft(10f);
}).colspan(2).center(); }).colspan(2).center();
name.change(); name.change();

View File

@@ -255,7 +255,12 @@ public class MapObjectivesCanvas extends WidgetGroup{
float dist = Math.abs(x1 - x2) / 2f; float dist = Math.abs(x1 - x2) / 2f;
float cx1 = x1 + dist; float cx1 = x1 + dist;
float cx2 = x2 - dist; float cx2 = x2 - dist;
if(Mathf.equal(y1, y2, 0.1f)){
Lines.line(x1, y1, x2, y2);
}else{
Lines.curve(x1, y1, cx1, y1, cx2, y2, x2, y2, Math.max(4, (int) (Mathf.dst(x1, y1, x2, y2) / 4f))); Lines.curve(x1, y1, cx1, y1, cx2, y2, x2, y2, Math.max(4, (int) (Mathf.dst(x1, y1, x2, y2) / 4f)));
}
float progress = (Time.time % (60 * 4)) / (60 * 4); float progress = (Time.time % (60 * 4)) / (60 * 4);
@@ -279,7 +284,7 @@ public class MapObjectivesCanvas extends WidgetGroup{
} }
for(var other : children){ for(var other : children){
if(other instanceof ObjectiveTile tile && tile != ignore && Tmp.r2.set(tile.tx, tile.ty, objWidth, objHeight).overlaps(Tmp.r1)){ if(other instanceof ObjectiveTile tile && tile != ignore && Tmp.r2.set(tile.obj.editorX, tile.obj.editorY, objWidth, objHeight).overlaps(Tmp.r1)){
return false; return false;
} }
} }
@@ -292,7 +297,11 @@ public class MapObjectivesCanvas extends WidgetGroup{
} }
public boolean createTile(int x, int y, MapObjective obj){ public boolean createTile(int x, int y, MapObjective obj){
if(!validPlace(x, y, null)) return false; return createTile(x, y, obj, false);
}
public boolean createTile(int x, int y, MapObjective obj, boolean force){
if(!force && !validPlace(x, y, null)) return false;
ObjectiveTile tile = new ObjectiveTile(obj, x, y); ObjectiveTile tile = new ObjectiveTile(obj, x, y);
tile.pack(); tile.pack();
@@ -331,7 +340,6 @@ public class MapObjectivesCanvas extends WidgetGroup{
public class ObjectiveTile extends Table{ public class ObjectiveTile extends Table{
public final MapObjective obj; public final MapObjective obj;
public int tx, ty;
public final Mover mover; public final Mover mover;
public final Connector conParent, conChildren; public final Connector conParent, conChildren;
@@ -383,8 +391,8 @@ public class MapObjectivesCanvas extends WidgetGroup{
} }
public void pos(int x, int y){ public void pos(int x, int y){
tx = obj.editorX = x; obj.editorX = x;
ty = obj.editorY = y; obj.editorY = y;
this.x = x * unitSize; this.x = x * unitSize;
this.y = y * unitSize; this.y = y * unitSize;
} }
@@ -430,8 +438,8 @@ public class MapObjectivesCanvas extends WidgetGroup{
moving = ObjectiveTile.this; moving = ObjectiveTile.this;
moving.toFront(); moving.toFront();
prevX = moving.tx; prevX = moving.obj.editorX;
prevY = moving.ty; prevY = moving.obj.editorY;
// Convert to world pos first because the button gets dragged too. // Convert to world pos first because the button gets dragged too.
Vec2 pos = event.listenerActor.localToStageCoordinates(Tmp.v1.set(x, y)); Vec2 pos = event.listenerActor.localToStageCoordinates(Tmp.v1.set(x, y));

View File

@@ -545,10 +545,7 @@ public class MapObjectivesDialog extends BaseDialog{
if( if(
objectives.any() && ( objectives.any() && (
// If the objectives were previously programmatically made... // If the objectives were previously programmatically made...
objectives.contains(obj -> obj.editorX == -1 || obj.editorY == -1) || objectives.contains(obj -> obj.editorX == -999 || obj.editorY == -999))){
// ... or some idiot somehow made it not work...
objectives.contains(obj -> !canvas.tilemap.createTile(obj))
)){
// ... then rebuild the structure. // ... then rebuild the structure.
canvas.clearObjectives(); canvas.clearObjectives();
@@ -573,6 +570,8 @@ public class MapObjectivesDialog extends BaseDialog{
if(i >= objectives.size) break loop; if(i >= objectives.size) break loop;
} }
} }
}else{
objectives.each(o -> canvas.tilemap.createTile(o.editorX, o.editorY, o, true));
} }
canvas.objectives.set(objectives); canvas.objectives.set(objectives);

View File

@@ -0,0 +1,163 @@
package mindustry.editor;
import arc.*;
import arc.func.*;
import arc.scene.ui.TextButton.*;
import arc.scene.ui.layout.*;
import arc.struct.*;
import arc.util.*;
import arc.util.serialization.*;
import mindustry.*;
import mindustry.gen.*;
import mindustry.ui.*;
import mindustry.ui.dialogs.*;
import static mindustry.Vars.*;
public class MapPatchesDialog extends BaseDialog{
private Table list;
public MapPatchesDialog(){
super("@editor.patches");
shown(this::setup);
addCloseButton();
buttons.button("@editor.patches.guide", Icon.link, () -> Core.app.openURI(patchesGuideURL)).size(200, 64f);
buttons.button("@add", Icon.add, () -> showImport(this::addPatch)).size(200f, 64f);
cont.top();
getCell(cont).grow();
cont.pane(t -> list = t);
}
private void setup(){
list.clearChildren();
var patches = state.patcher.patches;
if(patches.isEmpty()){
list.add("@editor.patches.none");
}else{
Table t = list;
t.defaults().pad(4f);
float h = 50f;
for(var patch : patches){
int fields = countFields(patch.json);
if(patch.warnings.size > 0){
t.button(Icon.warning, Styles.graySquarei, iconMed, () -> {
BaseDialog dialog = new BaseDialog("@editor.patches.errors");
dialog.cont.top().pane(p -> {
p.top();
for(var warning : patch.warnings){
p.table(Styles.grayPanel, in -> {
in.add(warning, Styles.monoLabel).grow().wrap();
}).margin(6f).growX().pad(3f).row();
}
}).grow();
dialog.addCloseButton();
dialog.show();
}).size(h);
}else{
t.add().size(h);
}
t.button((patch.name.isEmpty() ? "<unnamed>\n" : "[accent]" + patch.name + "\n") + "[lightgray][[" + Core.bundle.format("editor.patch.fields", fields) + "]", Styles.grayt, () -> {
BaseDialog dialog = new BaseDialog(Core.bundle.format("editor.patch", patch.name.isEmpty() ? "<unnamed>" : patch.name));
dialog.cont.top().pane(p -> {
p.top();
p.table(Styles.grayPanel, in -> {
in.add(patch.patch.replaceAll("\t", " "), Styles.monoLabel).grow().wrap().left().labelAlign(Align.left);
}).margin(6f).growX().pad(5f).row();
}).grow();
dialog.addCloseButton();
dialog.show();
}).size(mobile ? 390f : 450f, h).margin(10f).with(b -> {
b.getLabel().setAlignment(Align.left, Align.left);
});
t.button(Icon.copy, Styles.graySquarei, Vars.iconMed, () -> {
Core.app.setClipboardText(patch.patch);
ui.showInfoFade("@copied");
}).size(h);
t.button(Icon.refresh, Styles.graySquarei, Vars.iconMed, () -> {
showImport(str -> addPatch(str, patches.indexOf(patch)));
}).size(h);
t.button(Icon.trash, Styles.graySquarei, iconMed, () -> {
ui.showConfirm("@editor.patches.delete.confirm", () -> {
patches.remove(patch);
setup();
});
}).size(h);
t.row();
}
}
}
void showImport(Cons<String> handler){
BaseDialog dialog = new BaseDialog("@editor.import");
dialog.cont.pane(p -> {
p.margin(10f);
p.table(Tex.button, t -> {
TextButtonStyle style = Styles.flatt;
t.defaults().size(280f, 60f).left();
t.row();
t.button("@schematic.copy.import", Icon.copy, style, () -> {
dialog.hide();
handler.get(Core.app.getClipboardText());
}).marginLeft(12f).disabled(b -> Core.app.getClipboardText() == null);
t.row();
t.button("@schematic.importfile", Icon.download, style, () -> platform.showMultiFileChooser(file -> {
dialog.hide();
handler.get(file.readString());
}, "json", "hjson", "json5")).marginLeft(12f);
t.row();
});
});
dialog.addCloseButton();
dialog.show();
}
void addPatch(String patch){
addPatch(patch, -1);
}
void addPatch(String patch, int replaceIndex){
var oldPatches = state.patcher.patches.copy();
try{
Jval.read(patch); //validation
Seq<String> patches = state.patcher.patches.map(p -> p.patch);
if(replaceIndex == -1){
patches.add(patch);
}else{
patches.set(replaceIndex, patch);
}
state.patcher.apply(patches);
setup();
}catch(Exception e){
state.patcher.patches.set(oldPatches);
ui.showException("@editor.patches.importerror", e);
}
}
int countFields(JsonValue value){
if(value.isObject() || value.isArray()){
int sum = 0;
for(var child : value){
sum += countFields(child);
}
return Math.max(sum, 1);
}else{
return 1;
}
}
}

View File

@@ -3,6 +3,7 @@ package mindustry.entities;
import arc.math.*; import arc.math.*;
import arc.math.geom.*; import arc.math.geom.*;
import arc.util.*; import arc.util.*;
import mindustry.entities.bullet.*;
import mindustry.gen.*; import mindustry.gen.*;
/** /**
@@ -55,13 +56,21 @@ public class Predict{
return intercept(src, dst, 0, 0, v); return intercept(src, dst, 0, 0, v);
} }
public static Vec2 intercept(Position src, Position dst, BulletType bullet){
return intercept(src, dst, 0f, 0f, bullet.keepVelocity, bullet.speed);
}
public static Vec2 intercept(Position src, Position dst, float offsetx, float offsety, float v){ public static Vec2 intercept(Position src, Position dst, float offsetx, float offsety, float v){
return intercept(src, dst, offsetx, offsety, true, v);
}
public static Vec2 intercept(Position src, Position dst, float offsetx, float offsety, boolean useSrcVelocity, float v){
float ddx = 0, ddy = 0; float ddx = 0, ddy = 0;
if(dst instanceof Hitboxc h){ if(dst instanceof Hitboxc h){
ddx += h.deltaX(); ddx += h.deltaX();
ddy += h.deltaY(); ddy += h.deltaY();
} }
if(src instanceof Hitboxc h){ if(src instanceof Hitboxc h && useSrcVelocity){
ddx -= h.deltaX(); ddx -= h.deltaX();
ddy -= h.deltaY(); ddy -= h.deltaY();
} }

View File

@@ -144,6 +144,8 @@ public class EnergyFieldAbility extends Ability{
all.sort(h -> h.dst2(rx, ry)); all.sort(h -> h.dst2(rx, ry));
int len = Math.min(all.size, maxTargets); int len = Math.min(all.size, maxTargets);
float scaledDamage = damage * state.rules.unitDamage(unit.team) * unit.damageMultiplier;
for(int i = 0; i < len; i++){ for(int i = 0; i < len; i++){
Healthc other = all.get(i); Healthc other = all.get(i);
@@ -169,9 +171,9 @@ public class EnergyFieldAbility extends Ability{
}else{ }else{
anyNearby = true; anyNearby = true;
if(other instanceof Building b){ if(other instanceof Building b){
b.damage(unit.team, damage * state.rules.unitDamage(unit.team)); b.damage(unit.team, scaledDamage);
}else{ }else{
other.damage(damage * state.rules.unitDamage(unit.team)); other.damage(scaledDamage);
} }
if(other instanceof Statusc s){ if(other instanceof Statusc s){
s.apply(status, statusDuration); s.apply(status, statusDuration);

View File

@@ -82,12 +82,12 @@ public class ShieldArcAbility extends Ability{
paramField.data -= unit.health() * paramField.missileUnitMultiplier * Vars.state.rules.unitDamage(unit.team); paramField.data -= unit.health() * paramField.missileUnitMultiplier * Vars.state.rules.unitDamage(unit.team);
paramField.alpha = 1f; paramField.alpha = 1f;
}else{ }else if(paramField.pushUnits && !(!unit.isFlying() && paramUnit.isFlying())){
float reach = paramField.radius + paramField.width; float reach = paramField.radius + paramField.width;
float overlapDst = reach - unit.dst(paramPos.x,paramPos.y); float overlapDst = reach - unit.dst(paramPos.x,paramPos.y);
if(overlapDst>0){ if(overlapDst > 0){
//stop //stop
unit.vel.setZero(); unit.vel.setZero();
// get out // get out
@@ -132,6 +132,8 @@ public class ShieldArcAbility extends Ability{
public @Nullable Color color; public @Nullable Color color;
/** If true, sprite position will be influenced by x/y. */ /** If true, sprite position will be influenced by x/y. */
public boolean offsetRegion = false; public boolean offsetRegion = false;
/** If true, enemy units are pushed out. */
public boolean pushUnits = true;
/** State. */ /** State. */
protected float widthScale, alpha; protected float widthScale, alpha;

View File

@@ -727,6 +727,10 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
} }
public boolean allowDeposit(){
return block.alwaysAllowDeposit || !state.rules.onlyDepositCore;
}
/** Called when this block is dropped as a payload. */ /** Called when this block is dropped as a payload. */
public void dropped(){ public void dropped(){

View File

@@ -111,7 +111,7 @@ public class AIController implements UnitController{
public void faceTarget(){ public void faceTarget(){
if(unit.type.omniMovement || unit instanceof Mechc){ if(unit.type.omniMovement || unit instanceof Mechc){
if(!Units.invalidateTarget(target, unit, unit.range()) && unit.type.faceTarget && unit.type.hasWeapons()){ if(!Units.invalidateTarget(target, unit, unit.range()) && unit.type.faceTarget && unit.type.hasWeapons()){
unit.lookAt(Predict.intercept(unit, target, unit.type.weapons.first().bullet.speed)); unit.lookAt(Predict.intercept(unit, target, unit.type.weapons.first().bullet));
}else if(unit.moving()){ }else if(unit.moving()){
unit.lookAt(unit.vel().angle()); unit.lookAt(unit.vel().angle());
} }
@@ -218,7 +218,7 @@ public class AIController implements UnitController{
shoot = bomberTarget != null; shoot = bomberTarget != null;
} }
Vec2 to = Predict.intercept(unit, mount.target, weapon.bullet.speed); Vec2 to = Predict.intercept(unit, mount.target, weapon.bullet);
mount.aimX = to.x; mount.aimX = to.x;
mount.aimY = to.y; mount.aimY = to.y;
} }

View File

@@ -12,6 +12,7 @@ public class CampaignRules{
public boolean randomWaveAI; public boolean randomWaveAI;
public boolean legacyLaunchPads; public boolean legacyLaunchPads;
public boolean rtsAI; public boolean rtsAI;
public boolean clearSectorOnLose;
public void apply(Planet planet, Rules rules){ public void apply(Planet planet, Rules rules){
rules.staticFog = rules.fog = fog; rules.staticFog = rules.fog = fog;

View File

@@ -1,6 +1,7 @@
package mindustry.game; package mindustry.game;
import arc.math.geom.*; import arc.math.geom.*;
import arc.struct.*;
import arc.util.*; import arc.util.*;
import mindustry.core.GameState.*; import mindustry.core.GameState.*;
import mindustry.ctype.*; import mindustry.ctype.*;
@@ -102,6 +103,15 @@ public class EventType{
/** Called when a game begins and the world tiles are initiated. About to updates tile proximity and sets up physics for the world(Before WorldLoadEvent) */ /** Called when a game begins and the world tiles are initiated. About to updates tile proximity and sets up physics for the world(Before WorldLoadEvent) */
public static class WorldLoadEndEvent{} public static class WorldLoadEndEvent{}
/** Called when a save loads custom patches. {@link #patches} can be modified in the event handler. */
public static class ContentPatchLoadEvent{
public final Seq<String> patches;
public ContentPatchLoadEvent(Seq<String> patches){
this.patches = patches;
}
}
public static class SaveLoadEvent{ public static class SaveLoadEvent{
public final boolean isMap; public final boolean isMap;

View File

@@ -19,8 +19,6 @@ public enum Gamemode{
}), }),
attack(rules -> { attack(rules -> {
rules.attackMode = true; rules.attackMode = true;
//TODO waves is now a bad idea
//rules.waves = true;
rules.waveTimer = true; rules.waveTimer = true;
rules.waveSpacing = 2f * Time.toMinutes; rules.waveSpacing = 2f * Time.toMinutes;

View File

@@ -185,7 +185,7 @@ public class MapObjectives implements Iterable<MapObjective>, Eachable<MapObject
private transient final Seq<MapObjective> children = new Seq<>(2); private transient final Seq<MapObjective> children = new Seq<>(2);
/** For the objectives UI dialog. Do not modify directly! */ /** For the objectives UI dialog. Do not modify directly! */
public transient int editorX = -1, editorY = -1; public transient int editorX = -999, editorY = -999;
/** Whether this objective has been done yet. This is internally set. */ /** Whether this objective has been done yet. This is internally set. */
private boolean completed; private boolean completed;

View File

@@ -59,6 +59,8 @@ public class SectorInfo{
public boolean attack = false; public boolean attack = false;
/** Whether this sector has any enemy spawns. */ /** Whether this sector has any enemy spawns. */
public boolean hasSpawns = true; public boolean hasSpawns = true;
/** How many times the player has tried to land at this sector with a fresh core. */
public int attempts;
/** Wave # from state */ /** Wave # from state */
public int wave = 1, winWave = -1; public int wave = 1, winWave = -1;
/** Waves this sector can survive if under attack. Based on wave in info. <0 means uncalculated. */ /** Waves this sector can survive if under attack. Based on wave in info. <0 means uncalculated. */
@@ -108,7 +110,7 @@ public class SectorInfo{
/** @return whether the sector was last saved with the same preset. if false, this means the preset changed, and thus the spawn/plan data should be discarded. */ /** @return whether the sector was last saved with the same preset. if false, this means the preset changed, and thus the spawn/plan data should be discarded. */
public boolean sectorDataMatches(Sector sector){ public boolean sectorDataMatches(Sector sector){
if(sector.preset != null && (sector.preset.generator.map.width != lastWidth || sector.preset.generator.map.width != lastHeight)){ if(sector.preset != null && (sector.preset.generator.map.width != lastWidth || sector.preset.generator.map.height != lastHeight)){
return false; return false;
} }
return Structs.eq(sector.preset == null ? null : sector.preset.name, lastPresetName); return Structs.eq(sector.preset == null ? null : sector.preset.name, lastPresetName);

View File

@@ -257,6 +257,7 @@ public class BlockRenderer{
if(other != null){ if(other != null){
darkEvents.add(other.pos()); darkEvents.add(other.pos());
floor.recacheTile(other); floor.recacheTile(other);
renderer.minimap.updatePixel(other);
} }
} }
} }

View File

@@ -110,7 +110,7 @@ public final class FogRenderer{
dynamicFog.getTexture().setFilter(TextureFilter.linear); dynamicFog.getTexture().setFilter(TextureFilter.linear);
Draw.shader(Shaders.fog); Draw.shader(Shaders.fog);
Draw.color(state.rules.dynamicColor, 0.5f); Draw.color(state.rules.dynamicColor, Float.isNaN(state.rules.dynamicColor.a) ? 0.5f : Math.max(0.5f, state.rules.dynamicColor.a));
Draw.fbo(dynamicFog.getTexture(), world.width(), world.height(), tilesize); Draw.fbo(dynamicFog.getTexture(), world.width(), world.height(), tilesize);
//TODO ai check? //TODO ai check?
if(state.rules.staticFog){ if(state.rules.staticFog){

View File

@@ -195,7 +195,7 @@ public class MinimapRenderer{
float wf = world.width() * tilesize; float wf = world.width() * tilesize;
float hf = world.height() * tilesize; float hf = world.height() * tilesize;
Draw.color(state.rules.dynamicColor, 0.5f); Draw.color(state.rules.dynamicColor, Float.isNaN(state.rules.dynamicColor.a) ? 0.5f : Math.max(0.5f, state.rules.dynamicColor.a));
Draw.rect(Tmp.tr1, wf / 2, hf / 2, wf, hf); Draw.rect(Tmp.tr1, wf / 2, hf / 2, wf, hf);
if(state.rules.staticFog){ if(state.rules.staticFog){
@@ -309,6 +309,7 @@ public class MinimapRenderer{
} }
public void updateAll(){ public void updateAll(){
if(pixmap.isDisposed() || texture.isDisposed()) return;
for(Tile tile : world.tiles){ for(Tile tile : world.tiles){
pixmap.set(tile.x, pixmap.height - 1 - tile.y, colorFor(tile)); pixmap.set(tile.x, pixmap.height - 1 - tile.y, colorFor(tile));
} }
@@ -336,7 +337,7 @@ public class MinimapRenderer{
updatePixel(tile); updatePixel(tile);
} }
void updatePixel(Tile tile){ public void updatePixel(Tile tile){
updates.add(tile.pos()); updates.add(tile.pos());
} }

View File

@@ -246,7 +246,7 @@ public class OverlayRenderer{
if(input.canDropItem() && build != null && build.interactable(player.team()) && build.acceptStack(player.unit().item(), player.unit().stack.amount, player.unit()) > 0 && player.within(build, itemTransferRange) && if(input.canDropItem() && build != null && build.interactable(player.team()) && build.acceptStack(player.unit().item(), player.unit().stack.amount, player.unit()) > 0 && player.within(build, itemTransferRange) &&
input.itemDepositCooldown <= 0f){ input.itemDepositCooldown <= 0f){
boolean invalid = (state.rules.onlyDepositCore && !(build instanceof CoreBuild)); boolean invalid = !build.allowDeposit();
Lines.stroke(3f, Pal.gray); Lines.stroke(3f, Pal.gray);
Lines.square(build.x, build.y, build.block.size * tilesize / 2f + 3 + Mathf.absin(Time.time, 5f, 1f)); Lines.square(build.x, build.y, build.block.size * tilesize / 2f + 3 + Mathf.absin(Time.time, 5f, 1f));

View File

@@ -33,7 +33,7 @@ public class Shaders{
public static AtmosphereShader atmosphere; public static AtmosphereShader atmosphere;
public static ShockwaveShader shockwave; public static ShockwaveShader shockwave;
public static MeshShader mesh; public static MeshShader mesh;
public static Shader unlit; public static Shader unlit, unlitWhite;
public static Shader screenspace; public static Shader screenspace;
public static void init(){ public static void init(){
@@ -70,6 +70,7 @@ public class Shaders{
planetGrid = new PlanetGridShader(); planetGrid = new PlanetGridShader();
atmosphere = new AtmosphereShader(); atmosphere = new AtmosphereShader();
unlit = new LoadShader("planet", "unlit"); unlit = new LoadShader("planet", "unlit");
unlitWhite = new LoadShader("planet", "unlitwhite");
screenspace = new LoadShader("screenspace", "screenspace"); screenspace = new LoadShader("screenspace", "screenspace");
//disabled for now... //disabled for now...
@@ -144,6 +145,7 @@ public class Shaders{
camDir.set(renderer.planets.cam.direction).rotate(Vec3.Y, planet.getRotation()); camDir.set(renderer.planets.cam.direction).rotate(Vec3.Y, planet.getRotation());
setUniformf("u_alpha", alpha); setUniformf("u_alpha", alpha);
setUniformf("u_emissive", 0f);
setUniformf("u_lightdir", lightDir); setUniformf("u_lightdir", lightDir);
setUniformf("u_ambientColor", ambientColor.r, ambientColor.g, ambientColor.b); setUniformf("u_ambientColor", ambientColor.r, ambientColor.g, ambientColor.b);
} }

View File

@@ -15,7 +15,7 @@ public class MeshBuilder{
public static Mesh buildIcosphere(int divisions, float radius){ public static Mesh buildIcosphere(int divisions, float radius){
MeshResult result = Icosphere.create(divisions); MeshResult result = Icosphere.create(divisions);
Mesh mesh = begin(result.vertices.size / 3, result.indices.size, false, false); Mesh mesh = begin(result.vertices.size / 3, result.indices.size, false, false, false);
if(result.vertices.size >= 65535) throw new RuntimeException("Due to index size limits, only meshes with a maximum of 65535 vertices are supported. If you want more than that, make your own non-indexed mesh builder."); if(result.vertices.size >= 65535) throw new RuntimeException("Due to index size limits, only meshes with a maximum of 65535 vertices are supported. If you want more than that, make your own non-indexed mesh builder.");
@@ -193,6 +193,10 @@ public class MeshBuilder{
} }
private static Mesh begin(int vertices, int indices, boolean normal, boolean emissive){ private static Mesh begin(int vertices, int indices, boolean normal, boolean emissive){
return begin(vertices, indices, normal, emissive, true);
}
private static Mesh begin(int vertices, int indices, boolean normal, boolean emissive, boolean color){
Seq<VertexAttribute> attributes = Seq.with( Seq<VertexAttribute> attributes = Seq.with(
VertexAttribute.position3 VertexAttribute.position3
); );
@@ -202,7 +206,9 @@ public class MeshBuilder{
attributes.add(packNormals ? VertexAttribute.packedNormal : VertexAttribute.normal); attributes.add(packNormals ? VertexAttribute.packedNormal : VertexAttribute.normal);
} }
if(color){
attributes.add(VertexAttribute.color); attributes.add(VertexAttribute.color);
}
if(emissive){ if(emissive){
attributes.add(new VertexAttribute(4, GL20.GL_UNSIGNED_BYTE, true, "a_emissive")); attributes.add(new VertexAttribute(4, GL20.GL_UNSIGNED_BYTE, true, "a_emissive"));
@@ -269,8 +275,8 @@ public class MeshBuilder{
if(floats.length > 5) floats[5] = emissive; if(floats.length > 5) floats[5] = emissive;
}else{ }else{
floats[3] = normal.x; floats[3] = normal.x;
floats[4] = normal.x; floats[4] = normal.y;
floats[5] = normal.x; floats[5] = normal.z;
floats[6] = color; floats[6] = color;
if(floats.length > 7) floats[7] = emissive; if(floats.length > 7) floats[7] = emissive;

View File

@@ -452,7 +452,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
@Remote(targets = Loc.both, forward = true, called = Loc.server) @Remote(targets = Loc.both, forward = true, called = Loc.server)
public static void transferInventory(Player player, Building build){ public static void transferInventory(Player player, Building build){
if(player == null || build == null || !player.within(build, itemTransferRange) || build.items == null || player.dead() || (state.rules.onlyDepositCore && !(build instanceof CoreBuild))) return; if(player == null || build == null || !player.within(build, itemTransferRange) || build.items == null || player.dead() || !build.allowDeposit()) return;
if(net.server() && (player.unit().stack.amount <= 0 || !Units.canInteract(player, build) || if(net.server() && (player.unit().stack.amount <= 0 || !Units.canInteract(player, build) ||
//to avoid rejecting deposit packets that happen to overlap due to packet speed differences, the actual cap is double the cooldown with 2 deposits. //to avoid rejecting deposit packets that happen to overlap due to packet speed differences, the actual cap is double the cooldown with 2 deposits.
@@ -2089,7 +2089,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
if(build != null && build.acceptStack(stack.item, stack.amount, player.unit()) > 0 && build.interactable(player.team()) && if(build != null && build.acceptStack(stack.item, stack.amount, player.unit()) > 0 && build.interactable(player.team()) &&
build.block.hasItems && player.unit().stack().amount > 0 && build.interactable(player.team())){ build.block.hasItems && player.unit().stack().amount > 0 && build.interactable(player.team())){
if(!(state.rules.onlyDepositCore && !(build instanceof CoreBuild)) && itemDepositCooldown <= 0f){ if(build.allowDeposit() && itemDepositCooldown <= 0f){
Call.transferInventory(player, build); Call.transferInventory(player, build);
itemDepositCooldown = state.rules.itemDepositCooldown; itemDepositCooldown = state.rules.itemDepositCooldown;
} }
@@ -2254,7 +2254,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
Point2 next = i == points.size - 1 ? null : points.get(i + 1); Point2 next = i == points.size - 1 ? null : points.get(i + 1);
line.x = point.x; line.x = point.x;
line.y = point.y; line.y = point.y;
if(!overrideLineRotation || diagonal){ if((!overrideLineRotation || diagonal) && !(block != null && block.ignoreLineRotation)){
int result = baseRotation; int result = baseRotation;
if(next != null){ if(next != null){
result = Tile.relativeTo(point.x, point.y, next.x, next.y); result = Tile.relativeTo(point.x, point.y, next.x, next.y);

View File

@@ -1003,7 +1003,6 @@ public class MobileInput extends InputHandler implements GestureListener{
float attractDst = 15f; float attractDst = 15f;
float speed = unit.speed(); float speed = unit.speed();
float range = unit.hasWeapons() ? unit.range() : 0f; float range = unit.hasWeapons() ? unit.range() : 0f;
float bulletSpeed = unit.hasWeapons() ? type.weapons.first().bullet.speed : 0f;
float mouseAngle = unit.angleTo(unit.aimX(), unit.aimY()); float mouseAngle = unit.angleTo(unit.aimX(), unit.aimY());
boolean aimCursor = omni && player.shooting && type.hasWeapons() && !boosted && type.faceTarget; boolean aimCursor = omni && player.shooting && type.hasWeapons() && !boosted && type.faceTarget;
@@ -1081,7 +1080,7 @@ public class MobileInput extends InputHandler implements GestureListener{
//this may be a bad idea, aiming for a point far in front could work better, test it out //this may be a bad idea, aiming for a point far in front could work better, test it out
unit.aim(Core.input.mouseWorldX(), Core.input.mouseWorldY()); unit.aim(Core.input.mouseWorldX(), Core.input.mouseWorldY());
}else{ }else{
Vec2 intercept = player.unit().type.weapons.contains(w -> w.predictTarget) ? Predict.intercept(unit, target, bulletSpeed) : Tmp.v1.set(target); Vec2 intercept = player.unit().type.weapons.contains(w -> w.predictTarget) ? Predict.intercept(unit, target, type.weapons.first().bullet) : Tmp.v1.set(target);
player.mouseX = intercept.x; player.mouseX = intercept.x;
player.mouseY = intercept.y; player.mouseY = intercept.y;

View File

@@ -97,6 +97,7 @@ public class MapIO{
}; };
ver.readRegion("content", stream, counter, ver::readContentHeader); ver.readRegion("content", stream, counter, ver::readContentHeader);
if(ver.version >= 11) ver.readRegion("content", stream, counter, ver::skipContentPatches);
ver.readRegion("preview_map", stream, counter, in -> ver.readMap(in, new WorldContext(){ ver.readRegion("preview_map", stream, counter, in -> ver.readMap(in, new WorldContext(){
@Override public void resize(int width, int height){} @Override public void resize(int width, int height){}
@Override public boolean isGenerating(){return false;} @Override public boolean isGenerating(){return false;}

View File

@@ -20,8 +20,7 @@ public class SaveIO{
/** Save format header. */ /** Save format header. */
public static final byte[] header = {'M', 'S', 'A', 'V'}; public static final byte[] header = {'M', 'S', 'A', 'V'};
public static final IntMap<SaveVersion> versions = new IntMap<>(); public static final IntMap<SaveVersion> versions = new IntMap<>();
public static final Seq<SaveVersion> versionArray = Seq.with(new Save1(), new Save2(), new Save3(), new Save4(), new Save5(), new Save6(), new Save7(), new Save8(), new Save9(), new Save10()); public static final Seq<SaveVersion> versionArray = Seq.with(new Save1(), new Save2(), new Save3(), new Save4(), new Save5(), new Save6(), new Save7(), new Save8(), new Save9(), new Save10(), new Save11());
static{ static{
for(SaveVersion version : versionArray){ for(SaveVersion version : versionArray){
versions.put(version.version, version); versions.put(version.version, version);

View File

@@ -12,6 +12,7 @@ import mindustry.core.*;
import mindustry.ctype.*; import mindustry.ctype.*;
import mindustry.entities.*; import mindustry.entities.*;
import mindustry.game.*; import mindustry.game.*;
import mindustry.game.EventType.*;
import mindustry.game.Teams.*; import mindustry.game.Teams.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.maps.Map; import mindustry.maps.Map;
@@ -67,6 +68,7 @@ public abstract class SaveVersion extends SaveFileReader{
readRegion("content", stream, counter, this::readContentHeader); readRegion("content", stream, counter, this::readContentHeader);
try{ try{
if(version >= 11) readRegion("patches", stream, counter, this::readContentPatches);
readRegion("map", stream, counter, in -> readMap(in, context)); readRegion("map", stream, counter, in -> readMap(in, context));
readRegion("entities", stream, counter, this::readEntities); readRegion("entities", stream, counter, this::readEntities);
if(version >= 8) readRegion("markers", stream, counter, this::readMarkers); if(version >= 8) readRegion("markers", stream, counter, this::readMarkers);
@@ -79,6 +81,7 @@ public abstract class SaveVersion extends SaveFileReader{
public void write(DataOutputStream stream, StringMap extraTags) throws IOException{ public void write(DataOutputStream stream, StringMap extraTags) throws IOException{
writeRegion("meta", stream, out -> writeMeta(out, extraTags)); writeRegion("meta", stream, out -> writeMeta(out, extraTags));
writeRegion("content", stream, this::writeContentHeader); writeRegion("content", stream, this::writeContentHeader);
writeRegion("patches", stream, this::writeContentPatches);
writeRegion("map", stream, this::writeMap); writeRegion("map", stream, this::writeMap);
writeRegion("entities", stream, this::writeEntities); writeRegion("entities", stream, this::writeEntities);
writeRegion("markers", stream, this::writeMarkers); writeRegion("markers", stream, this::writeMarkers);
@@ -502,8 +505,54 @@ public abstract class SaveVersion extends SaveFileReader{
readWorldEntities(stream, mapping); readWorldEntities(stream, mapping);
} }
public void skipContentPatches(DataInput stream) throws IOException{
int amount = stream.readUnsignedByte();
for(int i = 0; i < amount; i++){
int len = stream.readInt();
stream.skipBytes(len);
}
}
public void readContentPatches(DataInput stream) throws IOException{
Seq<String> patches = new Seq<>();
int amount = stream.readUnsignedByte();
if(amount > 0){
for(int i = 0; i < amount; i++){
int len = stream.readInt();
byte[] bytes = new byte[len];
stream.readFully(bytes);
patches.add(new String(bytes, Strings.utf8));
}
}
Events.fire(new ContentPatchLoadEvent(patches));
if(patches.size > 0){
try{
state.patcher.apply(patches);
}catch(Throwable e){
Log.err("Failed to apply patches: " + patches, e);
}
}
}
public void writeContentPatches(DataOutput stream) throws IOException{
if(state.patcher.patches.size > 0){
var patches = state.patcher.patches;
stream.writeByte(patches.size);
for(var patchset : patches){
byte[] bytes = patchset.patch.getBytes(Strings.utf8);
stream.writeInt(bytes.length);
stream.write(bytes);
}
}else{
stream.writeByte(0);
}
}
public void readContentHeader(DataInput stream) throws IOException{ public void readContentHeader(DataInput stream) throws IOException{
byte mapped = stream.readByte(); int mapped = stream.readUnsignedByte();
MappableContent[][] map = new MappableContent[ContentType.all.length][0]; MappableContent[][] map = new MappableContent[ContentType.all.length][0];
@@ -520,6 +569,21 @@ public abstract class SaveVersion extends SaveFileReader{
} }
content.setTemporaryMapper(map); content.setTemporaryMapper(map);
//HACK: versions below 11 don't read the patch chunk, which means the event for reading patches is never triggered.
//manually fire the event here for older versions.
if(version < 11){
Seq<String> patches = new Seq<>();
Events.fire(new ContentPatchLoadEvent(patches));
if(patches.size > 0){
try{
state.patcher.apply(patches);
}catch(Throwable e){
Log.err("Failed to apply patches: " + patches, e);
}
}
}
} }
public void writeContentHeader(DataOutput stream) throws IOException{ public void writeContentHeader(DataOutput stream) throws IOException{

View File

@@ -0,0 +1,11 @@
package mindustry.io.versions;
import mindustry.io.*;
/** Adds patches in content header. */
public class Save11 extends SaveVersion{
public Save11(){
super(11);
}
}

View File

@@ -131,6 +131,10 @@ public class LCanvas extends Table{
statements.addChild(new StatementElem(statement)); statements.addChild(new StatementElem(statement));
} }
public void addAt(int at, LStatement statement){
statements.addChildAt(at, new StatementElem(statement));
}
public String save(){ public String save(){
Seq<LStatement> st = statements.getChildren().<StatementElem>as().map(s -> s.st); Seq<LStatement> st = statements.getChildren().<StatementElem>as().map(s -> s.st);
st.each(LStatement::saveUI); st.each(LStatement::saveUI);
@@ -433,6 +437,10 @@ public class LCanvas extends Table{
addressLabel = t.add(index + "").style(Styles.outlineLabel).color(color).padRight(8).get(); addressLabel = t.add(index + "").style(Styles.outlineLabel).color(color).padRight(8).get();
//taken from foo's client
t.button(Icon.add, Styles.logici, () -> Vars.ui.logic.showAddDialog(statements.insertPosition + 1))
.disabled(b -> canvas.statements.getChildren().size >= LExecutor.maxInstructions).size(24f).padRight(6);
t.button(Icon.copy, Styles.logici, () -> { t.button(Icon.copy, Styles.logici, () -> {
}).size(24f).padRight(6).get().tapped(this::copy); }).size(24f).padRight(6).get().tapped(this::copy);
@@ -447,6 +455,8 @@ public class LCanvas extends Table{
@Override @Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, KeyCode button){ public boolean touchDown(InputEvent event, float x, float y, int pointer, KeyCode button){
//don't start dragging when pressing the menu buttons
if(event.targetActor instanceof Image) return false;
if(button == KeyCode.mouseMiddle){ if(button == KeyCode.mouseMiddle){
copy(); copy();

View File

@@ -463,7 +463,7 @@ public class LExecutor{
}else{ }else{
Building build = p1.building(); Building build = p1.building();
int dropped = Math.min(unit.stack.amount, p2.numi()); int dropped = Math.min(unit.stack.amount, p2.numi());
if(build != null && build.team == unit.team && build.isValid() && dropped > 0 && unit.within(build, logicItemTransferRange + build.block.size * tilesize/2f)){ if(build != null && build.team == unit.team && build.isValid() && build.allowDeposit() && dropped > 0 && unit.within(build, logicItemTransferRange + build.block.size * tilesize/2f)){
int accepted = build.acceptStack(unit.item(), dropped, unit); int accepted = build.acceptStack(unit.item(), dropped, unit);
if(accepted > 0){ if(accepted > 0){
Call.transferItemTo(unit, unit.item(), accepted, unit.x, unit.y, build); Call.transferItemTo(unit, unit.item(), accepted, unit.x, unit.y, build);
@@ -1689,7 +1689,7 @@ public class LExecutor{
return; return;
} }
String text = exec.textBuffer.toString(); String text = UI.formatIcons(exec.textBuffer.toString());
if(text.startsWith("@")){ if(text.startsWith("@")){
String substr = text.substring(1); String substr = text.substring(1);
if(Core.bundle.has(substr)){ if(Core.bundle.has(substr)){

View File

@@ -254,6 +254,10 @@ public class LogicDialog extends BaseDialog{
} }
public void showAddDialog(){ public void showAddDialog(){
showAddDialog(-1);
}
public void showAddDialog(int position){
BaseDialog dialog = new BaseDialog("@add"); BaseDialog dialog = new BaseDialog("@add");
dialog.cont.table(table -> { dialog.cont.table(table -> {
String[] searchText = {""}; String[] searchText = {""};
@@ -326,7 +330,7 @@ public class LogicDialog extends BaseDialog{
style.font = Fonts.outline; style.font = Fonts.outline;
cat.button(example.name(), style, () -> { cat.button(example.name(), style, () -> {
canvas.add(prov.get()); canvas.addAt(position == -1 ? canvas.statements.getChildren().size : position, prov.get());
dialog.hide(); dialog.hide();
}).size(130f, 50f).self(c -> tooltip(c, "lst." + example.name())).top().left(); }).size(130f, 50f).self(c -> tooltip(c, "lst." + example.name())).top().left();

View File

@@ -27,7 +27,7 @@ public class SectorSubmissions{
registerSerpuloSector(47, "tinport", "https://discord.com/channels/391020510269669376/1379926802591645820/1397649518203371544"); registerSerpuloSector(47, "tinport", "https://discord.com/channels/391020510269669376/1379926802591645820/1397649518203371544");
registerSerpuloSector(225, "Summi", "https://discord.com/channels/391020510269669376/1379926925719376152/1399286858482978900"); registerSerpuloSector(225, "Summi", "https://discord.com/channels/391020510269669376/1379926925719376152/1399286858482978900");
//111 has an alternate submission https://discord.com/channels/391020510269669376/1379926842659569864/1404825715244793938 //111 has an alternate submission https://discord.com/channels/391020510269669376/1379926842659569864/1404825715244793938
registerSerpuloSector(111, "gausofid", "https://discord.com/channels/391020510269669376/1379926842659569864/1399847451527221301"); registerSerpuloSector(111, "gausofid", "https://discord.com/channels/391020510269669376/1379926842659569864/1422257393042985114");
registerSerpuloSector(176, "wpx", "https://discord.com/channels/391020510269669376/1379926887203213353/1390418885081043135"); registerSerpuloSector(176, "wpx", "https://discord.com/channels/391020510269669376/1379926887203213353/1390418885081043135");
registerSerpuloSector(13, "hoijlhj", "https://discord.com/channels/391020510269669376/1379926785164312810/1402569635299065948"); registerSerpuloSector(13, "hoijlhj", "https://discord.com/channels/391020510269669376/1379926785164312810/1402569635299065948");
registerSerpuloSector(259, "tinport", "https://discord.com/channels/391020510269669376/1379928048245280871/1381300770866987049"); registerSerpuloSector(259, "tinport", "https://discord.com/channels/391020510269669376/1379928048245280871/1381300770866987049");
@@ -38,28 +38,30 @@ public class SectorSubmissions{
registerSerpuloSector(16, "Namero", "https://discord.com/channels/391020510269669376/1379926788280680579/1409970152283312352"); registerSerpuloSector(16, "Namero", "https://discord.com/channels/391020510269669376/1379926788280680579/1409970152283312352");
registerSerpuloSector(116, "Jamespire", "https://discord.com/channels/391020510269669376/1379926845058711734/1404131805074034712"); registerSerpuloSector(116, "Jamespire", "https://discord.com/channels/391020510269669376/1379926845058711734/1404131805074034712");
registerSerpuloSector(69, "Oct", "https://discord.com/channels/391020510269669376/1379926831326822610/1406230980120940556"); registerSerpuloSector(69, "Oct", "https://discord.com/channels/391020510269669376/1379926831326822610/1406230980120940556");
registerSerpuloSector(92, "Eggypc/Fish", "https://discord.com/channels/391020510269669376/1379926835621527615/1381929336860442731"); registerSerpuloSector(92, "Eggypc/Fish", "https://discord.com/channels/391020510269669376/1379926835621527615/1422178040489971834");
registerSerpuloSector(197, "Hengryton Luck", "https://discord.com/channels/391020510269669376/1379926916911599676/1411358089759817793"); registerSerpuloSector(197, "Hengryton Luck", "https://discord.com/channels/391020510269669376/1379926916911599676/1411358089759817793");
registerSerpuloSector(67, "Ếch ngồi đáy giếng", "https://discord.com/channels/391020510269669376/1379926828696866898/1389981795386396768"); registerSerpuloSector(67, "Ếch ngồi đáy giếng", "https://discord.com/channels/391020510269669376/1379926828696866898/1389981795386396768");
//180 has an alternate submission that may be more appropriate in terms of difficulty: https://discord.com/channels/391020510269669376/1379926889648619580/1411534650412892185 //180 has an alternate submission that may be more appropriate in terms of difficulty: https://discord.com/channels/391020510269669376/1379926889648619580/1411534650412892185
registerSerpuloSector(180, "Locla^Glass", "https://discord.com/channels/391020510269669376/1379926889648619580/1413522098370117765"); registerSerpuloSector(180, "Locla^Glass", "https://discord.com/channels/391020510269669376/1379926889648619580/1413522098370117765");
registerSerpuloSector(55, "Namero", "https://discord.com/channels/391020510269669376/1379926823277695189/1412588965256761402"); registerSerpuloSector(55, "Namero", "https://discord.com/channels/391020510269669376/1379926823277695189/1412588965256761402");
registerSerpuloSector(19, "Hengryton Luck", "https://discord.com/channels/391020510269669376/1379926792479183019/1411342610525585468"); registerSerpuloSector(19, "Hengryton Luck", "https://discord.com/channels/391020510269669376/1379926792479183019/1411342610525585468");
registerSerpuloSector(200, "Axye", "https://discord.com/channels/391020510269669376/1379926918429806755/1398949995041914933"); registerSerpuloSector(200, "Axye", "https://discord.com/channels/391020510269669376/1379926918429806755/1419180347232485448");
//191 has several alternate submissions //191 has several alternate submissions
registerSerpuloSector(191, "Skeledragon", "https://discord.com/channels/391020510269669376/1379926912004001914/1380025875806027849"); registerSerpuloSector(191, "Skeledragon", "https://discord.com/channels/391020510269669376/1379926912004001914/1380025875806027849");
//alternate, more difficult submission: https://discord.com/channels/391020510269669376/1379926782966497322/1416145231853781022 //alternate, more difficult submission: https://discord.com/channels/391020510269669376/1379926782966497322/1416145231853781022
registerSerpuloSector(6, "Namero", "https://discord.com/channels/391020510269669376/1379926782966497322/1415735385828495464"); registerSerpuloSector(6, "Namero", "https://discord.com/channels/391020510269669376/1379926782966497322/1415735385828495464");
registerSerpuloSector(265, "Dem0", "https://discord.com/channels/391020510269669376/1379928052921929891/1416344658904088641"); registerSerpuloSector(265, "Dem0", "https://discord.com/channels/391020510269669376/1379928052921929891/1420029529619173459");
registerSerpuloSector(161, "Hengryton Luck", "https://discord.com/channels/391020510269669376/1379926882203730024/1416686287204782217"); registerSerpuloSector(161, "Hengryton Luck", "https://discord.com/channels/391020510269669376/1379926882203730024/1416686287204782217");
registerSerpuloSector(24, "Stormrider", "https://discord.com/channels/391020510269669376/1379926797042581716/1399404131520876577"); registerSerpuloSector(24, "Stormrider", "https://discord.com/channels/391020510269669376/1379926797042581716/1419213541512187935");
registerSerpuloSector(263, "ltb12", "https://discord.com/channels/391020510269669376/1379928050010951694/1417750251741249569"); registerSerpuloSector(263, "ltb12", "https://discord.com/channels/391020510269669376/1379928050010951694/1417750251741249569");
registerSerpuloSector(66, "quad", "https://discord.com/channels/391020510269669376/1379926825941078128/1417752983889907755"); registerSerpuloSector(66, "quad", "https://discord.com/channels/391020510269669376/1379926825941078128/1417752983889907755");
registerSerpuloSector(248, "iqtik123", "https://discord.com/channels/391020510269669376/1379926979129774151/1417864622412922890"); registerSerpuloSector(248, "iqtik123", "https://discord.com/channels/391020510269669376/1379926979129774151/1417864622412922890");
registerSerpuloSector(133, "wpx", "https://discord.com/channels/391020510269669376/1379926871227240770/1417920499761156126"); registerSerpuloSector(133, "wpx", "https://discord.com/channels/391020510269669376/1379926871227240770/1417920499761156126");
registerSerpuloSector(185, "quad", "https://discord.com/channels/391020510269669376/1379926892181983283/1419231958336016458"); registerSerpuloSector(185, "quad", "https://discord.com/channels/391020510269669376/1379926892181983283/1419231958336016458");
registerSerpuloSector(254, "wpx", "https://discord.com/channels/391020510269669376/1379928045577703424/1420456601667502193"); registerSerpuloSector(254, "wpx", "https://discord.com/channels/391020510269669376/1379928045577703424/1420456601667502193");
registerSerpuloSector(0, "Jamespire", "https://discord.com/channels/391020510269669376/1379926780860698784/1418590967384117311"); registerSerpuloSector(0, "iqtik123", "https://discord.com/channels/391020510269669376/1379926780860698784/1431356682834940115");
registerSerpuloSector(103, "enwyz", "https://discord.com/channels/391020510269669376/1379926839559979030/1429203869514207255");
registerSerpuloSector(30, "cyan", "https://discord.com/channels/391020510269669376/1379926800854945823/1423932799647481910");
/* UNUSED SECTORS: /* UNUSED SECTORS:
registerHiddenSectors(serpulo, registerHiddenSectors(serpulo,

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